pax_global_header00006660000000000000000000000064151042306550014513gustar00rootroot0000000000000052 comment=e04fb9f6a6ee3c805c66edd3013911f839fe1476 freeRtr-25.11.9/000077500000000000000000000000001510423065500133035ustar00rootroot00000000000000freeRtr-25.11.9/.github/000077500000000000000000000000001510423065500146435ustar00rootroot00000000000000freeRtr-25.11.9/.github/workflows/000077500000000000000000000000001510423065500167005ustar00rootroot00000000000000freeRtr-25.11.9/.github/workflows/codeql.yml000066400000000000000000000026331510423065500206760ustar00rootroot00000000000000name: CodeQL on: push: branches: [ master ] pull_request: branches: [ master ] schedule: - cron: '43 15 * * 3' jobs: analyze: name: Analyze runs-on: ubuntu-latest permissions: actions: read contents: read security-events: write strategy: fail-fast: false matrix: include: - language: cpp build-mode: manual - language: java build-mode: manual - language: python build-mode: none steps: - name: Checkout repository uses: actions/checkout@v4 - name: Initialize CodeQL uses: github/codeql-action/init@v3 with: languages: ${{ matrix.language }} build-mode: ${{ matrix.build-mode }} - if: matrix.language == 'cpp' name: build cpp run: | sudo apt-get -y update || true for a in gcc clang libpcap-dev libssl-dev dpdk-dev libbpf-dev libxdp-dev liburing-dev libmnl-dev ; do sudo apt-get -y install $a || true done cd misc/native ./c.sh - if: matrix.language == 'java' name: build java run: | sudo apt-get update sudo apt-get -y install default-jdk-headless cd src ./d.sh ./cj.sh ./cp.sh - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v3 with: category: "/language:${{matrix.language}}" freeRtr-25.11.9/backup.sh000077500000000000000000000022321510423065500151060ustar00rootroot00000000000000#!/bin/sh chmod -x `find . -executable -name "*.java"` 2> /dev/null chmod -x `find . -executable -name "*.html"` 2> /dev/null chmod -x `find . -executable -name "*.tmpl"` 2> /dev/null chmod -x `find . -executable -name "*.tcl"` 2> /dev/null chmod -x `find . -executable -name "*.tst"` 2> /dev/null chmod -x `find . -executable -name "*.ini"` 2> /dev/null chmod -x `find . -executable -name "*.txt"` 2> /dev/null chmod -x `find . -executable -name "*.p4"` 2> /dev/null chmod -x `find . -executable -name "*.py"` 2> /dev/null chmod -x `find . -executable -name "*.c"` 2> /dev/null chmod -x `find . -executable -name "*.h"` 2> /dev/null echo -n `cd misc/trackmap;./d.sh` echo -n `cd misc/position;./d.sh` echo -n `cd misc/android;./d.sh` echo -n `cd misc/gallery;./d.sh` echo -n `cd misc/applet;./d.sh` echo -n `cd misc/p4bmv2;./d.sh` echo -n `cd misc/player;./d.sh` echo -n `cd misc/temper;./d.sh` echo -n `cd misc/mailer;./d.sh` echo -n `cd misc/paster;./d.sh` echo -n `cd misc/motion;./d.sh` echo -n `cd misc/voice;./d.sh` echo -n `cd misc/rfcs;./d.sh` echo `cd src;./d.sh` rm ipv*.mrt 2> /dev/null rm rtr.zip 2> /dev/null zip -r rtr.zip src cfg misc *.sh *.txt *.md >/dev/null freeRtr-25.11.9/cfg/000077500000000000000000000000001510423065500140425ustar00rootroot00000000000000freeRtr-25.11.9/cfg/basic01.tst000066400000000000000000000010071510423065500160160ustar00rootroot00000000000000description dummy test addrouter r1 ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit ! r1 send sh ver r1 read place r1 read # r1 send sh plat r1 tping 100 5 1.1.1.1 vrf v1 rep 1 r1 output show version r1 output show platform output ../binTmp/basic1.html here is the version information:
show:0
here is the platform information:
show:1
! freeRtr-25.11.9/cfg/basic02.tst000066400000000000000000000004171510423065500160230ustar00rootroot00000000000000description interface with slot addrouter r1 ! vrf def v1 rd 1:1 exit int lo1/1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit int lo0/0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 5 1.1.1.1 vrf v1 rep 1 r1 tping 100 5 2.2.2.2 vrf v1 rep 1 freeRtr-25.11.9/cfg/basic03.tst000066400000000000000000000004661510423065500160300ustar00rootroot00000000000000description subinterface with slot addrouter r1 ! vrf def v1 rd 1:1 exit int lo1/1 exit int lo1/1.1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit int lo0/0 exit int lo0/0.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 5 1.1.1.1 vrf v1 rep 1 r1 tping 100 5 2.2.2.2 vrf v1 rep 1 freeRtr-25.11.9/cfg/conn-amt01.tst000066400000000000000000000020231510423065500164500ustar00rootroot00000000000000description amt over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode amt tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode amt tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full output ../binTmp/conn-amt.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-amt02.tst000066400000000000000000000014701510423065500164560ustar00rootroot00000000000000description amt over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode amt tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode amt tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-amt03.tst000066400000000000000000000021101510423065500164470ustar00rootroot00000000000000description amt over amt addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode amt tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv6 addr 1234::1 ffff:: exit int tun2 tunnel vrf v1 tunnel mode amt tunnel source tun1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode amt tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv6 addr 1234::2 ffff:: exit int tun2 tunnel vrf v1 tunnel mode amt tunnel source tun1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-amt04.tst000066400000000000000000000017411510423065500164610ustar00rootroot00000000000000description amt over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 int tun1 tunnel vrf v1 tunnel mode amt tunnel source lo0 tunnel destination 1.1.1.102 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 int tun1 tunnel vrf v1 tunnel mode amt tunnel source lo0 tunnel destination 1.1.1.101 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-anyconn.tst000066400000000000000000000026651510423065500172070ustar00rootroot00000000000000description ip over anyconnect addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 ipv6 addr 4444::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit aaa userlist usr username c password c exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 ipv6 pool p6 2222::1 ::1 254 int di1 enc raw vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ipv6 addr 2222::0 ffff:ffff:ffff:ffff:: ipv4 pool p4 ipv6 pool p6 exit server http h host * path ./ host * anyconn dialer1 host * authen usr vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc raw vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.0 ipv6 route v1 :: :: 2222::0 vpdn anyconn int di1 proxy p1 tar http://1.1.1.1/ user c pass c prot anyconn exit ! r2 tping 100 60 2.2.2.0 vrf v1 r2 tping 100 60 2222::0 vrf v1 r2 tping 100 5 4.4.4.4 vrf v1 r2 tping 100 5 4444::4 vrf v1 r2 output show inter dia1 full output ../binTmp/conn-anyconn.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-arcnet.tst000066400000000000000000000012771510423065500170140ustar00rootroot00000000000000description arcnet encapsulation addrouter r1 int arcnet1 arc - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int arcnet1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int arcnet1 arc - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int arcnet1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 output show interface arcnet1 full output ../binTmp/conn-arcnet.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-atmdxi.tst000066400000000000000000000014001510423065500170120ustar00rootroot00000000000000description atmdxi encapsulation addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 output show interface ser1 full output ../binTmp/conn-atmdxi.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-atmsar.tst000066400000000000000000000013621510423065500170220ustar00rootroot00000000000000description atmsar encapsulation addrouter r1 int atm1 atm - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int atm1 atmsar vpi 123 atmsar vci 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int atm1 atm - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int atm1 atmsar vpi 123 atmsar vci 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 output show interface atm1 full output ../binTmp/conn-atmsar.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-ax2501.tst000066400000000000000000000022541510423065500164540ustar00rootroot00000000000000description ppp with ax25 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.2 vcid 1234 protocol ax25 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.1 vcid 1234 protocol ax25 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 r2 tping 100 30 4321::1 vrf v1 r1 output show inter dia1 full output ../binTmp/conn-ax25.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-ax2502.tst000066400000000000000000000016171510423065500164570ustar00rootroot00000000000000description hdlc with ax25 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc hdlc vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.2 vcid 1234 protocol ax25 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc hdlc vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.1 vcid 1234 protocol ax25 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 r2 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-ax2503.tst000066400000000000000000000016361510423065500164610ustar00rootroot00000000000000description lapb with ax25 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc lapb vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.2 vcid 1234 protocol ax25 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc lapb lapb mode dce vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.1 vcid 1234 protocol ax25 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 r2 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-ax2504.tst000066400000000000000000000020121510423065500164470ustar00rootroot00000000000000description framerelay with ax25 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.2 vcid 1234 protocol ax25 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc framerelay framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.1 vcid 1234 protocol ax25 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 r2 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-ax2505.tst000066400000000000000000000017151510423065500164610ustar00rootroot00000000000000description atmdxi with ax25 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.2 vcid 1234 protocol ax25 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.1 vcid 1234 protocol ax25 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 r2 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-ax2506.tst000066400000000000000000000016361510423065500164640ustar00rootroot00000000000000description isdn with ax25 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.2 vcid 1234 protocol ax25 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc isdn vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.1 vcid 1234 protocol ax25 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 r2 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-ax2507.tst000066400000000000000000000016141510423065500164610ustar00rootroot00000000000000description sep with ax25 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc sep vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.2 vcid 1234 protocol ax25 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc sep vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.1 vcid 1234 protocol ax25 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 r2 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-bridge01.tst000066400000000000000000000041421510423065500171270ustar00rootroot00000000000000description chain bridged ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1.1.1.4 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1234::3 vrf v1 r1 tping 100 5 1234::4 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.1.3 vrf v1 r2 tping 100 5 1.1.1.4 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1234::4 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1.1.1.4 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1234::2 vrf v1 r3 tping 100 5 1234::4 vrf v1 r4 tping 100 5 1.1.1.1 vrf v1 r4 tping 100 5 1.1.1.2 vrf v1 r4 tping 100 5 1.1.1.3 vrf v1 r4 tping 100 5 1234::1 vrf v1 r4 tping 100 5 1234::2 vrf v1 r4 tping 100 5 1234::3 vrf v1 r2 output show bridge 1 r2 output show inter bvi1 full r2 output show ipv4 arp bvi1 r2 output show ipv6 neigh bvi1 output ../binTmp/conn-bridge.html here is the bridge:
show:0
here is the interface:
show:1
here is the arp:
show:2
here are the neighbors:
show:3
! freeRtr-25.11.9/cfg/conn-bridge02.tst000066400000000000000000000033051510423065500171300ustar00rootroot00000000000000description chain bridged ethernet vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit int eth1.11 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1.11 bridge-gr 1 exit int eth2.12 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1.12 bridge-gr 1 exit int eth2.13 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1.13 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1.1.1.4 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1234::3 vrf v1 r1 tping 100 5 1234::4 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.1.3 vrf v1 r2 tping 100 5 1.1.1.4 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1234::4 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1.1.1.4 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1234::2 vrf v1 r3 tping 100 5 1234::4 vrf v1 r4 tping 100 5 1.1.1.1 vrf v1 r4 tping 100 5 1.1.1.2 vrf v1 r4 tping 100 5 1.1.1.3 vrf v1 r4 tping 100 5 1234::1 vrf v1 r4 tping 100 5 1234::2 vrf v1 r4 tping 100 5 1234::3 vrf v1 freeRtr-25.11.9/cfg/conn-bridge03.tst000066400000000000000000000033151510423065500171320ustar00rootroot00000000000000description star bridged ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $1b$ $1a$ int eth2 eth 0000.0000.4444 $2b$ $2a$ int eth3 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1.1.1.4 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1234::3 vrf v1 r1 tping 100 5 1234::4 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.1.3 vrf v1 r2 tping 100 5 1.1.1.4 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1234::4 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1.1.1.4 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1234::2 vrf v1 r3 tping 100 5 1234::4 vrf v1 r4 tping 100 5 1.1.1.1 vrf v1 r4 tping 100 5 1.1.1.2 vrf v1 r4 tping 100 5 1.1.1.3 vrf v1 r4 tping 100 5 1234::1 vrf v1 r4 tping 100 5 1234::2 vrf v1 r4 tping 100 5 1234::3 vrf v1 freeRtr-25.11.9/cfg/conn-bridge04.tst000066400000000000000000000021161510423065500171310ustar00rootroot00000000000000description bridged ethernet over hdlc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int ser1 ser - $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int ser1 enc hdlc bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int ser1 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int ser1 enc hdlc bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! r2 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.1.3 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1234::3 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1234::2 vrf v1 freeRtr-25.11.9/cfg/conn-bridge05.tst000066400000000000000000000021001510423065500171230ustar00rootroot00000000000000description bridged ethernet over ppp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int ser1 ser - $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int ser1 enc ppp bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int ser1 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 exit int ser1 enc ppp bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! r2 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.1.3 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1234::3 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1234::2 vrf v1 freeRtr-25.11.9/cfg/conn-bridge06.tst000066400000000000000000000022241510423065500171330ustar00rootroot00000000000000description bridged ethernet over framerelay addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int ser1 ser - $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int ser1 enc framerelay framerelay mode dce framerelay dlci 123 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int ser1 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 exit int ser1 enc framerelay framerelay dlci 123 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! r2 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.1.3 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1234::3 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1234::2 vrf v1 freeRtr-25.11.9/cfg/conn-bridge07.tst000066400000000000000000000022011510423065500171270ustar00rootroot00000000000000description bridged ethernet over atmdxi addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int ser1 ser - $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int ser1 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! r2 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.1.3 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1234::3 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1234::2 vrf v1 freeRtr-25.11.9/cfg/conn-bridge08.tst000066400000000000000000000021511510423065500171340ustar00rootroot00000000000000description bridged ethernet over atmsar addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int atm1 atm - $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int atm1 atmsar vpi 1 atmsar vci 2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int atm1 atm - $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 exit int atm1 atmsar vpi 1 atmsar vci 2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! r2 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.1.3 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1234::3 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1234::2 vrf v1 freeRtr-25.11.9/cfg/conn-bridge09.tst000066400000000000000000000026451510423065500171450ustar00rootroot00000000000000description bridged ethernet over ipip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.252 ipv6 addr 9999::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode ipip tunnel source ethernet2 tunnel destination 9999::2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 exit int eth1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.252 ipv6 addr 9999::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode ipip tunnel source ethernet1 tunnel destination 9999::1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! r2 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.1.3 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1234::3 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1234::2 vrf v1 freeRtr-25.11.9/cfg/conn-bridge10.tst000066400000000000000000000033441510423065500171320ustar00rootroot00000000000000description bridged ethernet over ipsec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.252 ipv6 addr 9999::1 ffff:: exit exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet2 tunnel destination 9999::2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 exit int eth1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.252 ipv6 addr 9999::2 ffff:: exit exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 9999::1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! r2 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.1.3 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1234::3 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1234::2 vrf v1 freeRtr-25.11.9/cfg/conn-bridge11.tst000066400000000000000000000026421510423065500171330ustar00rootroot00000000000000description bridged ethernet over gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.252 ipv6 addr 9999::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet2 tunnel destination 9999::2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 exit int eth1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.252 ipv6 addr 9999::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 9999::1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! r2 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.1.3 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1234::3 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1234::2 vrf v1 freeRtr-25.11.9/cfg/conn-bridge12.tst000066400000000000000000000020541510423065500171310ustar00rootroot00000000000000description bridge with spantree addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.1111 $3a$ $3b$ int eth4 eth 0000.0000.1111 $3b$ $3a$ ! vrf def v1 rd 1:1 exit bridge 1 stp-priority 40960 stp-mode ieee mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int eth4 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ int eth3 eth 0000.0000.2222 $4a$ $4b$ int eth4 eth 0000.0000.2222 $4b$ $4a$ ! vrf def v1 rd 1:1 exit bridge 1 stp-priority 20480 stp-mode ieee mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int eth4 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-bridge13.tst000066400000000000000000000022321510423065500171300ustar00rootroot00000000000000description bridged ethernet over bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit bridge 2 mac-learn exit bridge 3 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 2 exit int bvi1 bridge-gr 3 exit int bvi2 bridge-gr 3 exit int bvi3 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.1.3 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1234::3 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1234::2 vrf v1 freeRtr-25.11.9/cfg/conn-bridge14.tst000066400000000000000000000017731510423065500171420ustar00rootroot00000000000000description bridge split horizon addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn private exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.4444 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.1.3 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1234::3 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 0 5 1.1.1.3 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 0 5 1234::3 vrf v1 r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 0 5 1.1.1.1 vrf v1 r3 tping 100 5 1234::2 vrf v1 r3 tping 0 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-bridge15.tst000066400000000000000000000017701510423065500171400ustar00rootroot00000000000000description bridge mac learning addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.4444 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.1.3 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1234::3 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1234::2 vrf v1 freeRtr-25.11.9/cfg/conn-bridge16.tst000066400000000000000000000034011510423065500171320ustar00rootroot00000000000000description bridge mac rewrite addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit int eth1 bridge-gr 1 bridge-ports 0000.1234.1234 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 bridge-macre 0000.1234.1234 exit int eth2 bridge-gr 1 bridge-macre 0000.1234.1234 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1.1.1.4 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1234::3 vrf v1 r1 tping 100 5 1234::4 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.1.3 vrf v1 r2 tping 100 5 1.1.1.4 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1234::4 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1.1.1.4 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1234::2 vrf v1 r3 tping 100 5 1234::4 vrf v1 r4 tping 100 5 1.1.1.1 vrf v1 r4 tping 100 5 1.1.1.2 vrf v1 r4 tping 100 5 1.1.1.3 vrf v1 r4 tping 100 5 1234::1 vrf v1 r4 tping 100 5 1234::2 vrf v1 r4 tping 100 5 1234::3 vrf v1 freeRtr-25.11.9/cfg/conn-bridge17.tst000066400000000000000000000033211510423065500171340ustar00rootroot00000000000000description bridge port security addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 bridge-ports 0000.0000.3333 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 macaddr 0000.0000.3333 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1.1.1.3 vrf v1 r1 tping 0 5 1.1.1.4 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1234::3 vrf v1 r1 tping 0 5 1234::4 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.1.3 vrf v1 r2 tping 0 5 1.1.1.4 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1234::3 vrf v1 r2 tping 0 5 1234::4 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1.1.1.4 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1234::2 vrf v1 r3 tping 100 5 1234::4 vrf v1 r4 tping 0 5 1.1.1.1 vrf v1 r4 tping 0 5 1.1.1.2 vrf v1 r4 tping 100 5 1.1.1.3 vrf v1 r4 tping 0 5 1234::1 vrf v1 r4 tping 0 5 1234::2 vrf v1 r4 tping 100 5 1234::3 vrf v1 freeRtr-25.11.9/cfg/conn-bridge18.tst000066400000000000000000000032711510423065500171410ustar00rootroot00000000000000description bridge static address addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 bridge-stat 0000.0000.4444 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1.1.1.3 vrf v1 r1 tping 0 5 1.1.1.4 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1234::3 vrf v1 r1 tping 0 5 1234::4 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.1.3 vrf v1 r2 tping 0 5 1.1.1.4 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1234::3 vrf v1 r2 tping 0 5 1234::4 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1.1.1.4 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1234::2 vrf v1 r3 tping 100 5 1234::4 vrf v1 r4 tping 0 5 1.1.1.1 vrf v1 r4 tping 0 5 1.1.1.2 vrf v1 r4 tping 100 5 1.1.1.3 vrf v1 r4 tping 0 5 1234::1 vrf v1 r4 tping 0 5 1234::2 vrf v1 r4 tping 100 5 1234::3 vrf v1 freeRtr-25.11.9/cfg/conn-bridge19.tst000066400000000000000000000044311510423065500171410ustar00rootroot00000000000000description bridge port split horizon addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 bridge-fi private exit int eth2 bridge-gr 1 bridge-fi private exit int eth3 bridge-gr 1 exit int eth4 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.4444 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.5555 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: exit ! addrouter r5 int eth1 eth 0000.0000.6666 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.0 ipv6 addr 1234::5 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.1.3 vrf v1 r2 tping 100 5 1.1.1.4 vrf v1 r2 tping 100 5 1.1.1.5 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1234::4 vrf v1 r2 tping 100 5 1234::5 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 0 5 1.1.1.3 vrf v1 r1 tping 0 5 1.1.1.4 vrf v1 r1 tping 0 5 1.1.1.5 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 0 5 1234::3 vrf v1 r1 tping 0 5 1234::4 vrf v1 r1 tping 0 5 1234::5 vrf v1 r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 0 5 1.1.1.1 vrf v1 r3 tping 0 5 1.1.1.4 vrf v1 r3 tping 0 5 1.1.1.5 vrf v1 r3 tping 100 5 1234::2 vrf v1 r3 tping 0 5 1234::1 vrf v1 r3 tping 0 5 1234::4 vrf v1 r3 tping 0 5 1234::5 vrf v1 r4 tping 0 5 1.1.1.1 vrf v1 r4 tping 100 5 1.1.1.2 vrf v1 r4 tping 0 5 1.1.1.3 vrf v1 r4 tping 100 5 1.1.1.5 vrf v1 r4 tping 0 5 1234::1 vrf v1 r4 tping 100 5 1234::2 vrf v1 r4 tping 0 5 1234::3 vrf v1 r4 tping 100 5 1234::5 vrf v1 r5 tping 0 5 1.1.1.1 vrf v1 r5 tping 100 5 1.1.1.2 vrf v1 r5 tping 0 5 1.1.1.3 vrf v1 r5 tping 100 5 1.1.1.4 vrf v1 r5 tping 0 5 1234::1 vrf v1 r5 tping 100 5 1234::2 vrf v1 r5 tping 0 5 1234::3 vrf v1 r5 tping 100 5 1234::4 vrf v1 freeRtr-25.11.9/cfg/conn-bridge20.tst000066400000000000000000000026451510423065500171360ustar00rootroot00000000000000description bridged ethernet over tmux addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.252 ipv6 addr 9999::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode tmux tunnel source ethernet2 tunnel destination 9999::2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 exit int eth1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.252 ipv6 addr 9999::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode tmux tunnel source ethernet1 tunnel destination 9999::1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! r2 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.1.3 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1234::3 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1234::2 vrf v1 freeRtr-25.11.9/cfg/conn-bridge21.tst000066400000000000000000000044401510423065500171320ustar00rootroot00000000000000description bridge port unsplit horizon addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn private exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int eth4 bridge-gr 1 bridge-fi public exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.4444 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.5555 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: exit ! addrouter r5 int eth1 eth 0000.0000.6666 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.0 ipv6 addr 1234::5 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.1.3 vrf v1 r2 tping 100 5 1.1.1.4 vrf v1 r2 tping 100 5 1.1.1.5 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1234::4 vrf v1 r2 tping 100 5 1234::5 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 0 5 1.1.1.3 vrf v1 r1 tping 0 5 1.1.1.4 vrf v1 r1 tping 100 5 1.1.1.5 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 0 5 1234::3 vrf v1 r1 tping 0 5 1234::4 vrf v1 r1 tping 100 5 1234::5 vrf v1 r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 0 5 1.1.1.1 vrf v1 r3 tping 0 5 1.1.1.4 vrf v1 r3 tping 100 5 1.1.1.5 vrf v1 r3 tping 100 5 1234::2 vrf v1 r3 tping 0 5 1234::1 vrf v1 r3 tping 0 5 1234::4 vrf v1 r3 tping 100 5 1234::5 vrf v1 r4 tping 0 5 1.1.1.1 vrf v1 r4 tping 100 5 1.1.1.2 vrf v1 r4 tping 0 5 1.1.1.3 vrf v1 r4 tping 100 5 1.1.1.5 vrf v1 r4 tping 0 5 1234::1 vrf v1 r4 tping 100 5 1234::2 vrf v1 r4 tping 0 5 1234::3 vrf v1 r4 tping 100 5 1234::5 vrf v1 r5 tping 100 5 1.1.1.1 vrf v1 r5 tping 100 5 1.1.1.2 vrf v1 r5 tping 100 5 1.1.1.3 vrf v1 r5 tping 100 5 1.1.1.4 vrf v1 r5 tping 100 5 1234::1 vrf v1 r5 tping 100 5 1234::2 vrf v1 r5 tping 100 5 1234::3 vrf v1 r5 tping 100 5 1234::4 vrf v1 freeRtr-25.11.9/cfg/conn-bridge22.tst000066400000000000000000000027121510423065500171330ustar00rootroot00000000000000description bridged ethernet over l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.252 ipv6 addr 9999::1 ffff:: exit int tun1 tunnel vrf v1 tunnel key 1234 tunnel mode l2tp3 tunnel source ethernet2 tunnel destination 9999::2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 exit int eth1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.252 ipv6 addr 9999::2 ffff:: exit int tun1 tunnel vrf v1 tunnel key 1234 tunnel mode l2tp3 tunnel source ethernet1 tunnel destination 9999::1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! r2 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.1.3 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1234::3 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1234::2 vrf v1 freeRtr-25.11.9/cfg/conn-bstun.tst000066400000000000000000000025441510423065500166710ustar00rootroot00000000000000description ppp over bstun addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit int eth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit aaa userlist usr username c password c username c privilege 14 exit server bstun bs vrf v1 login authen usr group 123 exec int di1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit chat-script login recv 5000 .*ser send c binsend 13 recv 5000 .*ass send c binsend 13 send ppp binsend 13 exit vpdn bs interface di1 proxy p1 script login target 3.3.3.1 vcid 123 protocol bstun exit ! r2 tping 100 30 2.2.2.0 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 output show inter dia1 full output ../binTmp/conn-bstun.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-bundle01.tst000066400000000000000000000017131510423065500171450ustar00rootroot00000000000000description bundle of ethernet port addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bundle 1 exit int eth1 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 output show bundle 1 r1 output show inter bun1 full r1 output show ipv4 arp bun1 r1 output show ipv6 neigh bun1 output ../binTmp/conn-bundle.html here is the bundle:
show:0
here is the interface:
show:1
here is the arp:
show:2
here are the neighbors:
show:3
! freeRtr-25.11.9/cfg/conn-bundle02.tst000066400000000000000000000010171510423065500171430ustar00rootroot00000000000000description bundle of serial port addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit bundle 1 no ether exit int ser1 enc hdlc bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-bundle03.tst000066400000000000000000000013071510423065500171460ustar00rootroot00000000000000description bundle of ethernet ports addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bundle 1 exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bundle 1 exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-bundle04.tst000066400000000000000000000012451510423065500171500ustar00rootroot00000000000000description bundle of serial ports addrouter r1 int ser1 ser - $1a$ $1b$ int ser2 ser - $2a$ $2b$ ! vrf def v1 rd 1:1 exit bundle 1 no ether exit int ser1 bundle-gr 1 exit int ser2 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit bundle 1 no ether exit int ser1 bundle-gr 1 exit int ser2 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-bundle05.tst000066400000000000000000000010751510423065500171520ustar00rootroot00000000000000description bundle over bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bundle 1 exit bridge 1 exit int eth1 bridge-gr 1 exit int bvi1 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-bundle06.tst000066400000000000000000000010751510423065500171530ustar00rootroot00000000000000description bridge over bundle addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bundle 1 exit bridge 1 exit int eth1 bundle-gr 1 exit int bun1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-bundle07.tst000066400000000000000000000013451510423065500171540ustar00rootroot00000000000000description replicating bundle addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bundle 1 repl exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bundle 1 repl exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 400 5 1.1.1.2 vrf v1 multi r2 tping 400 5 1.1.1.1 vrf v1 multi r1 tping 400 5 1234::2 vrf v1 multi r2 tping 400 5 1234::1 vrf v1 multi freeRtr-25.11.9/cfg/conn-bundle08.tst000066400000000000000000000013371510423065500171560ustar00rootroot00000000000000description unreplicating bundle addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bundle 1 repl sequ 8 exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bundle 1 repl sequ 8 exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-bundle09.tst000066400000000000000000000017731510423065500171630ustar00rootroot00000000000000description dejittering bundle addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bundle 1 repl sequ 8 deji 300 exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bundle 1 repl sequ 8 deji 300 exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 tping 0 5 1.1.1.2 vrf v1 tim 100 r2 tping 0 5 1.1.1.1 vrf v1 tim 100 r1 tping 0 5 1234::2 vrf v1 tim 100 r2 tping 0 5 1234::1 vrf v1 tim 100 r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-bundle10.tst000066400000000000000000000024001510423065500171370ustar00rootroot00000000000000description loadbalancing bundle addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ int ser2 ser 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bundle 1 no ethernet loadbalance layer3 exit int ser1 bundle-gr 1 exit int ser2 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 exit ! addrouter r3 int ser1 ser 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 send telnet 1.1.1.2 vrf v1 r1 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::1 vrf v1 r1 send exit r1 read closed r1 send telnet 1234::2 vrf v1 r1 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::1 vrf v1 r1 send exit r1 read closed freeRtr-25.11.9/cfg/conn-bundle11.tst000066400000000000000000000027011510423065500171440ustar00rootroot00000000000000description multichassis bundle addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ int ser2 ser 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bundle 1 no ethernet exit int ser1 bundle-gr 1 exit int ser2 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ int eth1 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bundle 1 no ethernet peer eth1 2 exit int ser1 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 exit ! addrouter r3 int ser1 ser 0000.0000.2222 $2b$ $2a$ int eth1 eth 0000.0000.2222 $3b$ $3a$ ! vrf def v1 rd 1:1 exit bundle 1 no ethernet peer eth1 3 exit int ser1 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 send telnet 1.1.1.2 vrf v1 r1 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::1 vrf v1 r1 send exit r1 read closed r1 send telnet 1234::2 vrf v1 r1 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::1 vrf v1 r1 send exit r1 read closed freeRtr-25.11.9/cfg/conn-bundle12.tst000066400000000000000000000014251510423065500171470ustar00rootroot00000000000000description backup bundle addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ int ser2 ser 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bundle 1 no ethernet backup 3000 exit int ser1 bundle-gr 1 exit int ser2 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int ser1 ser 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r2 tping 100 30 1.1.1.1 vrf v1 r2 tping 100 30 1234::1 vrf v1 r3 tping 100 30 1.1.1.1 vrf v1 r3 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-capwap01.tst000066400000000000000000000025111510423065500171440ustar00rootroot00000000000000description capwap over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 mac-learn exit vpdn vx bridge-group 1 proxy p1 target 1.1.1.2 protocol capwap exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 mac-learn exit vpdn vx bridge-group 1 proxy p1 target 1.1.1.1 protocol capwap exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r2 output show bridge 1 r2 output show inter bvi1 full r2 output show ipv4 arp bvi1 r2 output show ipv6 neigh bvi1 output ../binTmp/conn-capwap.html here is the bridge:
show:0
here is the interface:
show:1
here is the arp:
show:2
here are the neighbors:
show:3
! freeRtr-25.11.9/cfg/conn-capwap02.tst000066400000000000000000000015771510423065500171600ustar00rootroot00000000000000description capwap over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 exit vpdn vx bridge-group 1 proxy p1 target 1234::2 protocol capwap exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 exit vpdn vx bridge-group 1 proxy p1 target 1234::1 protocol capwap exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-capwap03.tst000066400000000000000000000021141510423065500171450ustar00rootroot00000000000000description capwap over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 bridge 1 exit vpdn vx bridge-group 1 proxy p1 target 1.1.1.102 protocol capwap exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 bridge 1 exit vpdn vx bridge-group 1 proxy p1 target 1.1.1.101 protocol capwap exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-capwap04.tst000066400000000000000000000020601510423065500171460ustar00rootroot00000000000000description hdlc tunneling with capwap addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc hdlc xconnect v1 eth1 capwap 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc hdlc xconnect v1 eth1 capwap 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-capwap05.tst000066400000000000000000000021571510423065500171560ustar00rootroot00000000000000description ppp tunneling with capwap addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc ppp xconnect v1 eth1 capwap 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc ppp xconnect v1 eth1 capwap 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-capwap06.tst000066400000000000000000000021161510423065500171520ustar00rootroot00000000000000description lapb tunneling with capwap addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb lapb mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc lapb xconnect v1 eth1 capwap 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc lapb lapb mode dce xconnect v1 eth1 capwap 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-capwap07.tst000066400000000000000000000024401510423065500171530ustar00rootroot00000000000000description framerelay tunneling with capwap addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 capwap 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 capwap 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-capwap08.tst000066400000000000000000000022521510423065500171550ustar00rootroot00000000000000description atmdxi tunneling with capwap addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 capwap 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 capwap 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-capwap09.tst000066400000000000000000000021161510423065500171550ustar00rootroot00000000000000description isdn tunneling with capwap addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc isdn xconnect v1 eth1 capwap 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc isdn xconnect v1 eth1 capwap 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-capwap10.tst000066400000000000000000000020531510423065500171450ustar00rootroot00000000000000description sep tunneling with capwap addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc sep xconnect v1 eth1 capwap 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc sep xconnect v1 eth1 capwap 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-capwap11.tst000066400000000000000000000021001510423065500171370ustar00rootroot00000000000000description ethernet tunneling with capwap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1 xconnect v1 eth2 capwap 1234::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2 xconnect v1 eth1 capwap 1234::1 1234 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-capwap12.tst000066400000000000000000000021141510423065500171450ustar00rootroot00000000000000description vlan tunneling with capwap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.111 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1.111 xconnect v1 eth2 capwap 1234::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2.222 xconnect v1 eth1 capwap 1234::1 1234 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1.222 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-capwap13.tst000066400000000000000000000015721510423065500171550ustar00rootroot00000000000000description tunnel interface with capwap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 1234 tun mod capwap vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 1234 tun mod capwap vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-capwap14.tst000066400000000000000000000015741510423065500171600ustar00rootroot00000000000000description capwap server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 mac-learn exit vpdn er bridge-group 1 proxy p1 target 1.1.1.2 vcid 123 protocol capwap exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 mac-learn exit server capwap cw bridge 1 vrf v1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-dhcp01.tst000066400000000000000000000017561510423065500166210ustar00rootroot00000000000000description dhcp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv6 prefix-suppress exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 ipv6 addr 4444::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server dhcp4 dh4 pool 1.1.1.2 1.1.1.199 gateway 1.1.1.1 netmask 255.255.255.0 interface ethernet1 vrf v1 exit server dhcp6 dh6 netmask ffff:ffff:ffff:ffff:: gateway 1234::1 interface ethernet1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit prefix-list p4 permit 0.0.0.0/0 exit prefix-list p6 permit ::/0 exit int eth1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ipv4 dhcp-client enable ipv4 gateway-prefix p4 ipv6 addr 3333::3 ffff:: ipv6 dhcp-client enable ipv6 gateway-prefix p6 exit ! r2 tping 100 20 1.1.1.1 vrf v1 r2 tping 100 20 1234::1 vrf v1 r2 tping 100 5 4.4.4.4 vrf v1 r2 tping 100 5 4444::4 vrf v1 freeRtr-25.11.9/cfg/conn-dhcp02.tst000066400000000000000000000020531510423065500166110ustar00rootroot00000000000000description dhcp with arp/nd security addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv6 prefix-suppress no ipv4 host-learn no ipv6 host-learn exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 ipv6 addr 4444::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server dhcp4 dh4 pool 1.1.1.2 1.1.1.199 gateway 1.1.1.1 netmask 255.255.255.0 interface ethernet1 vrf v1 exit server dhcp6 dh6 netmask ffff:ffff:ffff:ffff:: gateway 1234::1 interface ethernet1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit prefix-list p4 permit 0.0.0.0/0 exit prefix-list p6 permit ::/0 exit int eth1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ipv4 dhcp-client enable ipv4 gateway-prefix p4 ipv6 addr 3333::3 ffff:: ipv6 dhcp-client enable ipv6 gateway-prefix p6 exit ! r2 tping 100 20 1.1.1.1 vrf v1 r2 tping 100 20 1234::1 vrf v1 r2 tping 100 5 4.4.4.4 vrf v1 r2 tping 100 5 4444::4 vrf v1 freeRtr-25.11.9/cfg/conn-dhcp03.tst000066400000000000000000000022121510423065500166070ustar00rootroot00000000000000description dhcp with static allocation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv6 prefix-suppress exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 ipv6 addr 4444::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server dhcp4 dh4 pool 1.1.1.2 1.1.1.199 gateway 1.1.1.1 netmask 255.255.255.0 static 0000.0000.2222 1.1.1.111 interface ethernet1 vrf v1 exit server dhcp6 dh6 netmask ffff:ffff:ffff:ffff:: gateway 1234::1 static 0000.0000.2222 1234::111 interface ethernet1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit prefix-list p4 permit 0.0.0.0/0 exit prefix-list p6 permit ::/0 exit int eth1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ipv4 dhcp-client enable ipv4 gateway-prefix p4 ipv6 addr 3333::3 ffff:: ipv6 dhcp-client enable ipv6 gateway-prefix p6 exit ! r2 tping 100 20 1.1.1.1 vrf v1 r2 tping 100 20 1234::1 vrf v1 r2 tping 100 5 4.4.4.4 vrf v1 r2 tping 100 5 4444::4 vrf v1 r1 tping 100 20 1.1.1.111 vrf v1 r1 tping 100 20 1234::111 vrf v1 freeRtr-25.11.9/cfg/conn-dhcp04.tst000066400000000000000000000031341510423065500166140ustar00rootroot00000000000000description dhcp with excluded address addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv6 prefix-suppress exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 ipv6 addr 4444::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server dhcp4 dh4 pool 1.1.1.2 1.1.1.199 gateway 1.1.1.1 netmask 255.255.255.0 forbid 0000.0000.2222 interface bvi1 vrf v1 exit server dhcp6 dh6 netmask ffff:ffff:ffff:ffff:: gateway 1234::1 forbid 0000.0000.2222 interface bvi1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit prefix-list p4 permit 0.0.0.0/0 exit prefix-list p6 permit ::/0 exit int eth1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ipv4 dhcp-client enable ipv4 gateway-prefix p4 ipv6 addr 3333::3 ffff:: ipv6 dhcp-client enable ipv6 gateway-prefix p6 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit prefix-list p4 permit 0.0.0.0/0 exit prefix-list p6 permit ::/0 exit int eth1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ipv4 dhcp-client enable ipv4 gateway-prefix p4 ipv6 addr 3333::3 ffff:: ipv6 dhcp-client enable ipv6 gateway-prefix p6 exit ! r3 tping 100 20 1.1.1.1 vrf v1 r3 tping 100 20 1234::1 vrf v1 r3 tping 100 5 4.4.4.4 vrf v1 r3 tping 100 5 4444::4 vrf v1 r2 tping 0 20 1.1.1.1 vrf v1 r2 tping 0 20 1234::1 vrf v1 r2 tping 0 5 4.4.4.4 vrf v1 r2 tping 0 5 4444::4 vrf v1 freeRtr-25.11.9/cfg/conn-dhcp05.tst000066400000000000000000000017551510423065500166240ustar00rootroot00000000000000description dhcp with upgraded server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv6 prefix-suppress exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 ipv6 addr 4444::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server dhcp4 dh4 vrf v1 inter eth1 pool 1.1.1.2 1.1.1.199 gateway 1.1.1.1 netmask 255.255.255.0 exit server dhcp6 dh6 vrf v1 inter eth1 netmask ffff:ffff:ffff:ffff:: gateway 1234::1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit prefix-list p4 permit 0.0.0.0/0 exit prefix-list p6 permit ::/0 exit int eth1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ipv4 dhcp-client enable ipv4 gateway-prefix p4 ipv6 addr 3333::3 ffff:: ipv6 dhcp-client enable ipv6 gateway-prefix p6 exit ! r2 tping 100 20 1.1.1.1 vrf v1 r2 tping 100 20 1234::1 vrf v1 r2 tping 100 5 4.4.4.4 vrf v1 r2 tping 100 5 4444::4 vrf v1 freeRtr-25.11.9/cfg/conn-dhcp06.tst000066400000000000000000000017261510423065500166230ustar00rootroot00000000000000description dhcp with interface server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv6 prefix-suppress dhcp4 enable dhcp4 pool 1.1.1.2 1.1.1.199 dhcp4 gateway 1.1.1.1 dhcp4 netmask 255.255.255.0 dhcp6 enable dhcp6 netmask ffff:ffff:ffff:ffff:: dhcp6 gateway 1234::1 exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 ipv6 addr 4444::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit prefix-list p4 permit 0.0.0.0/0 exit prefix-list p6 permit ::/0 exit int eth1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ipv4 dhcp-client enable ipv4 gateway-prefix p4 ipv6 addr 3333::3 ffff:: ipv6 dhcp-client enable ipv6 gateway-prefix p6 exit ! r2 tping 100 20 1.1.1.1 vrf v1 r2 tping 100 20 1234::1 vrf v1 r2 tping 100 5 4.4.4.4 vrf v1 r2 tping 100 5 4444::4 vrf v1 freeRtr-25.11.9/cfg/conn-dhcp07.tst000066400000000000000000000032051510423065500166160ustar00rootroot00000000000000description dhcp relay addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1112 $2a$ $2b$ ! vrf def v1 rd 1:1 exit server dhcp4 RELAY4 mode relay helper-addresses 1.1.1.2 vrf v1 exit server dhcp6 RELAY6 mode relay helper-addresses 1111::2 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 2222::1 ffff:: ipv4 dhcp-relay RELAY4 ipv6 dhcp-relay RELAY6 exit ! addrouter r2 int eth1 eth 0000.0000.2221 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1111::1 server dhcp4 dh4 pool 2.2.2.100 2.2.2.199 gateway 2.2.2.1 netmask 255.255.255.0 interface ethernet1 vrf v1 exit server dhcp6 dh6 netmask ffff:ffff:ffff:ffff:: gateway 2222::1 dynamic-address interface ethernet1 vrf v1 exit ! addrouter r3 int eth1 eth 0000.0000.c111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit prefix-list p4 sequence 10 permit 0.0.0.0/0 ge 0 le 0 exit prefix-list p6 sequence 10 permit ::/0 ge 0 le 0 exit int eth1 vrf for v1 ipv4 address dynamic dynamic ipv4 gateway-prefix p4 ipv4 dhcp-client enable ipv4 dhcp-client early ipv6 address dynamic dynamic ipv6 enable ipv6 gateway-prefix p6 ipv6 dhcp-client enable ipv6 dhcp-client early exit ! r1 tping 100 20 1.1.1.2 vrf v1 r2 tping 100 20 1.1.1.1 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 1.1.1.2 vrf v1 r1 tping 100 20 1111::2 vrf v1 r2 tping 100 20 1111::1 vrf v1 r3 tping 100 20 2222::1 vrf v1 r3 tping 100 20 1111::2 vrf v1 freeRtr-25.11.9/cfg/conn-dhcp08.tst000066400000000000000000000043761510423065500166310ustar00rootroot00000000000000description dhcp relay multihop/chaining addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1112 $2a$ $2b$ ! vrf def v1 rd 1:1 exit server dhcp4 RELAY4 mode relay helper-addresses 1.1.1.2 vrf v1 exit server dhcp6 RELAY6 mode relay helper-addresses 1111::2 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit int eth2 vrf for v1 ipv4 addr 1.2.0.1 255.255.255.0 ipv6 addr 1201::1 ffff:: ipv4 dhcp-relay RELAY4 ipv6 dhcp-relay RELAY6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1111::2 ! addrouter r2 int eth1 eth 0000.0000.2211 $1b$ $1a$ int eth2 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 exit server dhcp4 RELAY4 mode relay helper-addresses 2.2.2.2 vrf v1 exit server dhcp6 RELAY6 mode relay helper-addresses 2222::2 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: ipv4 dhcp-relay RELAY4 ipv6 dhcp-relay RELAY6 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 2222::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1111::1 ! addrouter r3 int eth1 eth 0000.0000.3331 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 2222::2 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 2222::1 server dhcp4 dh4 pool 1.2.0.100 1.2.0.199 gateway 1.2.0.1 netmask 255.255.255.0 interface ethernet1 vrf v1 exit server dhcp6 dh6 netmask ffff:ffff:ffff:ffff:: gateway 1201::1 interface ethernet1 dynamic-address vrf v1 exit ! addrouter r4 int eth1 eth 0000.0000.c111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit prefix-list p4 sequence 10 permit 0.0.0.0/0 ge 0 le 0 exit prefix-list p6 sequence 10 permit ::/0 ge 0 le 0 exit int eth1 vrf for v1 ipv4 address dynamic dynamic ipv4 gateway-prefix p4 ipv4 dhcp-client enable ipv4 dhcp-client early ipv6 address dynamic dynamic ipv6 enable ipv6 gateway-prefix p6 ipv6 dhcp-client enable ipv6 dhcp-client early exit ! r1 tping 100 20 1.1.1.2 vrf v1 r2 tping 100 20 1.1.1.1 vrf v1 r4 tping 100 20 2.2.2.1 vrf v1 r4 tping 100 20 1.1.1.2 vrf v1 r1 tping 100 20 1111::2 vrf v1 r2 tping 100 20 1111::1 vrf v1 r4 tping 100 20 2222::1 vrf v1 r4 tping 100 20 1111::2 vrf v1 freeRtr-25.11.9/cfg/conn-dhcp09.tst000066400000000000000000000044501510423065500166230ustar00rootroot00000000000000description dhcp relay multihop/chaining max hop count 1 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1112 $2a$ $2b$ ! vrf def v1 rd 1:1 exit server dhcp4 RELAY4 mode relay helper-addresses 1.1.1.2 vrf v1 exit server dhcp6 RELAY6 mode relay helper-addresses 1111::2 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit int eth2 vrf for v1 ipv4 addr 1.2.0.1 255.255.255.0 ipv6 addr 1201::1 ffff:: ipv4 dhcp-relay RELAY4 ipv6 dhcp-relay RELAY6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1111::2 ! addrouter r2 int eth1 eth 0000.0000.2211 $1b$ $1a$ int eth2 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 exit server dhcp4 RELAY4 mode relay helper-addresses 2.2.2.2 max-hop-count 1 vrf v1 exit server dhcp6 RELAY6 mode relay helper-addresses 2222::2 max-hop-count 1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: ipv4 dhcp-relay RELAY4 ipv6 dhcp-relay RELAY6 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 2222::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1111::1 ! addrouter r3 int eth1 eth 0000.0000.3311 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 2222::2 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 2222::1 server dhcp4 dh4 pool 1.2.0.100 1.2.0.199 gateway 1.2.0.1 netmask 255.255.255.0 interface ethernet1 vrf v1 exit server dhcp6 dh6 netmask ffff:ffff:ffff:ffff:: gateway 1201::1 interface ethernet1 dynamic-address vrf v1 exit ! addrouter r4 int eth1 eth 0000.0000.c111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit prefix-list p4 sequence 10 permit 0.0.0.0/0 ge 0 le 0 exit prefix-list p6 sequence 10 permit ::/0 ge 0 le 0 exit int eth1 vrf for v1 ipv4 address dynamic dynamic ipv4 gateway-prefix p4 ipv4 dhcp-client enable ipv4 dhcp-client early ipv6 address dynamic dynamic ipv6 enable ipv6 gateway-prefix p6 ipv6 dhcp-client enable ipv6 dhcp-client early exit ! r1 tping 100 20 1.1.1.2 vrf v1 r2 tping 100 20 1.1.1.1 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 r4 tping 0 20 1.1.1.2 vrf v1 r1 tping 100 20 1111::2 vrf v1 r2 tping 100 20 1111::1 vrf v1 r4 tping 0 20 2222::1 vrf v1 r4 tping 0 20 1111::2 vrf v1 freeRtr-25.11.9/cfg/conn-dhcp10.tst000066400000000000000000000020401510423065500166040ustar00rootroot00000000000000description dhcp with unicast exit addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv6 prefix-suppress exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 ipv6 addr 4444::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server dhcp4 dh4 pool 1.1.1.2 1.1.1.199 gateway 1.1.1.1 netmask 255.255.255.0 interface ethernet1 vrf v1 exit server dhcp6 dh6 netmask ffff:ffff:ffff:ffff:: gateway 1234::1 interface ethernet1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit prefix-list p4 permit 0.0.0.0/0 exit prefix-list p6 permit ::/0 exit int eth1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ipv4 dhcp-client enable no ipv4 dhcp-client broadcast ipv4 gateway-prefix p4 ipv6 addr 3333::3 ffff:: ipv6 dhcp-client enable ipv6 gateway-prefix p6 exit ! r2 tping 100 20 1.1.1.1 vrf v1 r2 tping 100 20 1234::1 vrf v1 r2 tping 100 5 4.4.4.4 vrf v1 r2 tping 100 5 4444::4 vrf v1 freeRtr-25.11.9/cfg/conn-dlsw01.tst000066400000000000000000000025251510423065500166470ustar00rootroot00000000000000description dlsw over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 mac-learn exit vpdn er bridge-group 1 proxy p1 target 1.1.1.2 vcid 123 protocol dlsw exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 mac-learn exit vpdn er bridge-group 1 proxy p1 target 1.1.1.1 vcid 123 protocol dlsw exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r2 output show bridge 1 r2 output show inter bvi1 full r2 output show ipv4 arp bvi1 r2 output show ipv6 neigh bvi1 output ../binTmp/conn-dlsw.html here is the bridge:
show:0
here is the interface:
show:1
here is the arp:
show:2
here are the neighbors:
show:3
! freeRtr-25.11.9/cfg/conn-dlsw02.tst000066400000000000000000000016151510423065500166470ustar00rootroot00000000000000description dlsw over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 exit vpdn er bridge-group 1 proxy p1 target 1234::2 vcid 123 protocol dlsw exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 exit vpdn er bridge-group 1 proxy p1 target 1234::1 vcid 123 protocol dlsw exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-dlsw03.tst000066400000000000000000000021321510423065500166430ustar00rootroot00000000000000description dlsw over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 bridge 1 exit vpdn er bridge-group 1 proxy p1 target 1.1.1.102 vcid 123 protocol dlsw exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 bridge 1 exit vpdn er bridge-group 1 proxy p1 target 1.1.1.101 vcid 123 protocol dlsw exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-dlsw04.tst000066400000000000000000000020501510423065500166430ustar00rootroot00000000000000description hdlc tunneling with dlsw addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc hdlc xconnect v1 eth1 dlsw 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc hdlc xconnect v1 eth1 dlsw 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-dlsw05.tst000066400000000000000000000021471510423065500166530ustar00rootroot00000000000000description ppp tunneling with dlsw addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc ppp xconnect v1 eth1 dlsw 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc ppp xconnect v1 eth1 dlsw 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-dlsw06.tst000066400000000000000000000021061510423065500166470ustar00rootroot00000000000000description lapb tunneling with dlsw addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb lapb mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc lapb xconnect v1 eth1 dlsw 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc lapb lapb mode dce xconnect v1 eth1 dlsw 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-dlsw07.tst000066400000000000000000000024301510423065500166500ustar00rootroot00000000000000description framerelay tunneling with dlsw addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 dlsw 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 dlsw 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-dlsw08.tst000066400000000000000000000022421510423065500166520ustar00rootroot00000000000000description atmdxi tunneling with dlsw addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 dlsw 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 dlsw 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-dlsw09.tst000066400000000000000000000021061510423065500166520ustar00rootroot00000000000000description isdn tunneling with dlsw addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc isdn xconnect v1 eth1 dlsw 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc isdn xconnect v1 eth1 dlsw 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-dlsw10.tst000066400000000000000000000020431510423065500166420ustar00rootroot00000000000000description sep tunneling with dlsw addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc sep xconnect v1 eth1 dlsw 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc sep xconnect v1 eth1 dlsw 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-dlsw11.tst000066400000000000000000000020701510423065500166430ustar00rootroot00000000000000description ethernet tunneling with dlsw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1 xconnect v1 eth2 dlsw 1234::2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2 xconnect v1 eth1 dlsw 1234::1 123 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-dlsw12.tst000066400000000000000000000021041510423065500166420ustar00rootroot00000000000000description vlan tunneling with dlsw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.111 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1.111 xconnect v1 eth2 dlsw 1234::2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2.222 xconnect v1 eth1 dlsw 1234::1 123 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1.222 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-dlsw13.tst000066400000000000000000000015621510423065500166520ustar00rootroot00000000000000description tunnel interface with dlsw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 123 tun mod dlsw vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 123 tun mod dlsw vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-erspan01.tst000066400000000000000000000025351510423065500171670ustar00rootroot00000000000000description erspan over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 mac-learn exit vpdn er bridge-group 1 proxy p1 target 1.1.1.2 vcid 123 protocol erspan exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 mac-learn exit vpdn er bridge-group 1 proxy p1 target 1.1.1.1 vcid 123 protocol erspan exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r2 output show bridge 1 r2 output show inter bvi1 full r2 output show ipv4 arp bvi1 r2 output show ipv6 neigh bvi1 output ../binTmp/conn-erspan.html here is the bridge:
show:0
here is the interface:
show:1
here is the arp:
show:2
here are the neighbors:
show:3
! freeRtr-25.11.9/cfg/conn-erspan02.tst000066400000000000000000000016231510423065500171650ustar00rootroot00000000000000description erspan over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 exit vpdn er bridge-group 1 proxy p1 target 1234::2 vcid 123 protocol erspan exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 exit vpdn er bridge-group 1 proxy p1 target 1234::1 vcid 123 protocol erspan exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-erspan03.tst000066400000000000000000000021401510423065500171610ustar00rootroot00000000000000description erspan over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 bridge 1 exit vpdn er bridge-group 1 proxy p1 target 1.1.1.102 vcid 123 protocol erspan exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 bridge 1 exit vpdn er bridge-group 1 proxy p1 target 1.1.1.101 vcid 123 protocol erspan exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-erspan04.tst000066400000000000000000000020561510423065500171700ustar00rootroot00000000000000description hdlc tunneling with erspan addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc hdlc xconnect v1 eth1 erspan 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc hdlc xconnect v1 eth1 erspan 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-erspan05.tst000066400000000000000000000021551510423065500171710ustar00rootroot00000000000000description ppp tunneling with erspan addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc ppp xconnect v1 eth1 erspan 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc ppp xconnect v1 eth1 erspan 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-erspan06.tst000066400000000000000000000021141510423065500171650ustar00rootroot00000000000000description lapb tunneling with erspan addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb lapb mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc lapb xconnect v1 eth1 erspan 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc lapb lapb mode dce xconnect v1 eth1 erspan 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-erspan07.tst000066400000000000000000000024361510423065500171750ustar00rootroot00000000000000description framerelay tunneling with erspan addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 erspan 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 erspan 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-erspan08.tst000066400000000000000000000022501510423065500171700ustar00rootroot00000000000000description atmdxi tunneling with erspan addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 erspan 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 erspan 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-erspan09.tst000066400000000000000000000021141510423065500171700ustar00rootroot00000000000000description isdn tunneling with erspan addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc isdn xconnect v1 eth1 erspan 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc isdn xconnect v1 eth1 erspan 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-erspan10.tst000066400000000000000000000020511510423065500171600ustar00rootroot00000000000000description sep tunneling with erspan addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc sep xconnect v1 eth1 erspan 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc sep xconnect v1 eth1 erspan 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-erspan11.tst000066400000000000000000000020761510423065500171700ustar00rootroot00000000000000description ethernet tunneling with erspan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1 xconnect v1 eth2 erspan 1234::2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2 xconnect v1 eth1 erspan 1234::1 123 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-erspan12.tst000066400000000000000000000021121510423065500171600ustar00rootroot00000000000000description vlan tunneling with erspan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.111 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1.111 xconnect v1 eth2 erspan 1234::2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2.222 xconnect v1 eth1 erspan 1234::1 123 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1.222 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-erspan13.tst000066400000000000000000000015701510423065500171700ustar00rootroot00000000000000description tunnel interface with erspan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 123 tun mod erspan vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 123 tun mod erspan vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-erspan14.tst000066400000000000000000000016201510423065500171650ustar00rootroot00000000000000description erspan server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 mac-learn exit vpdn er bridge-group 1 proxy p1 target 1.1.1.2 vcid 123 protocol erspan exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 mac-learn exit server erspan er bridge 1 vlan 123 span 123 vrf v1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-eth01.tst000066400000000000000000000015311510423065500164520ustar00rootroot00000000000000description ethernet encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 output show inter eth1 full r1 output show ipv4 arp eth1 r1 output show ipv6 neigh eth1 output ../binTmp/conn-eth.html here is the interface:
show:0
here is the arp:
show:1
here are the neighbors:
show:2
! freeRtr-25.11.9/cfg/conn-eth02.tst000066400000000000000000000010751510423065500164560ustar00rootroot00000000000000description point2point ethernet encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.254 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.254 ipv6 addr 1234::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe exit ! r1 tping 100 5 1.1.1.3 vrf v1 r2 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1234::2 vrf v1 freeRtr-25.11.9/cfg/conn-eth03.tst000066400000000000000000000007671510423065500164660ustar00rootroot00000000000000description ethernet dot1q encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-eth04.tst000066400000000000000000000010711510423065500164540ustar00rootroot00000000000000description ethernet qinq encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit int eth1.11 bridge-gr 1 exit int bvi1.22 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1.11 exit int eth1.11.22 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-eth05.tst000066400000000000000000000010561510423065500164600ustar00rootroot00000000000000description ethernet dot1ad encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 enc dot1ad exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 enc dot1ad exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-eth06.tst000066400000000000000000000010561510423065500164610ustar00rootroot00000000000000description ethernet dot1ah encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 enc dot1ah exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 enc dot1ah exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-eth07.tst000066400000000000000000000010531510423065500164570ustar00rootroot00000000000000description ethernet qinq1 encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 enc qinq1 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 enc qinq1 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-eth08.tst000066400000000000000000000010531510423065500164600ustar00rootroot00000000000000description ethernet qinq2 encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 enc qinq2 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 enc qinq2 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-eth09.tst000066400000000000000000000010531510423065500164610ustar00rootroot00000000000000description ethernet qinq3 encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 enc qinq3 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 enc qinq3 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-eth10.tst000066400000000000000000000015361510423065500164570ustar00rootroot00000000000000description ethernet qinqX encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 enc qinqx exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1.111111 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth1.111111 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit int eth1 enc qinqx exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-eth11.tst000066400000000000000000000016051510423065500164550ustar00rootroot00000000000000description ethernet qinqX custom encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 enc qinqx qinqx eth 1234 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1.111111 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth1.111111 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit int eth1 enc qinqx qinqx eth 1234 exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-eth12.tst000066400000000000000000000010451510423065500164540ustar00rootroot00000000000000description ethernet isl encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 enc isl exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 enc isl exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-eth13.tst000066400000000000000000000027671510423065500164710ustar00rootroot00000000000000description proxy remote arp/nd addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.0 ipv6 addr 1234::5 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc ipv4 proxy-remote ipv6 proxy-remote exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc ipv4 proxy-remote ipv6 proxy-remote exit ! r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1234::2 vrf v1 r3 tping 100 5 1.1.1.6 vrf v1 r3 tping 100 5 1234::6 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1.1.1.5 vrf v1 r3 tping 100 5 1234::5 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1.1.1.6 vrf v1 r1 tping 100 5 1234::6 vrf v1 r1 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::1 vrf v1 r1 tping 100 5 1.1.1.5 vrf v1 r1 tping 100 5 1234::5 vrf v1 r2 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1.1.1.6 vrf v1 r2 tping 100 5 1234::6 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1.1.1.5 vrf v1 r2 tping 100 5 1234::5 vrf v1 freeRtr-25.11.9/cfg/conn-eth14.tst000066400000000000000000000015641510423065500164640ustar00rootroot00000000000000description proxy local arp/nd addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.255 ipv6 addr 1234::9 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 proxy-local ipv6 proxy-local exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::1 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1.1.1.9 vrf v1 r1 tping 100 5 1234::9 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1.1.1.9 vrf v1 r2 tping 100 5 1234::9 vrf v1 freeRtr-25.11.9/cfg/conn-eth15.tst000066400000000000000000000012741510423065500164630ustar00rootroot00000000000000description static arp/nd entry addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 macaddr 0000.0000.1111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 host-static 1.1.1.2 0000.0000.2222 ipv6 host-static 1234::2 0000.0000.2222 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 macaddr 0000.0000.2222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 host-static 1.1.1.1 0000.0000.1111 ipv6 host-static 1234::1 0000.0000.1111 exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-eth16.tst000066400000000000000000000010551510423065500164610ustar00rootroot00000000000000description loss detection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 macaddr 0000.0000.1111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: loss-detect exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 macaddr 0000.0000.2222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: loss-detect exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-eth17.tst000066400000000000000000000010541510423065500164610ustar00rootroot00000000000000description eapol addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: eapol client c c exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit aaa userlist usr username c password c exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: eapol server usr exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-eth18.tst000066400000000000000000000010231510423065500164560ustar00rootroot00000000000000description lacp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: lacp 0000.0000.1234 12345 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: lacp 0000.0000.4321 12345 2 exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-eth19.tst000066400000000000000000000027501510423065500164670ustar00rootroot00000000000000description monitor session rx addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.0 ipv6 addr 1234::5 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc monitor-dir rx monitor-sess eth2 exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc monitor-dir rx monitor-sess eth1 exit ! r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1234::2 vrf v1 r3 tping 100 5 1.1.1.6 vrf v1 r3 tping 100 5 1234::6 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1.1.1.5 vrf v1 r3 tping 100 5 1234::5 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 0 5 1.1.1.6 vrf v1 r1 tping 0 5 1234::6 vrf v1 r1 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::1 vrf v1 r1 tping 100 5 1.1.1.5 vrf v1 r1 tping 100 5 1234::5 vrf v1 r2 tping 0 5 1.1.1.2 vrf v1 r2 tping 0 5 1234::2 vrf v1 r2 tping 100 5 1.1.1.6 vrf v1 r2 tping 100 5 1234::6 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1.1.1.5 vrf v1 r2 tping 100 5 1234::5 vrf v1 freeRtr-25.11.9/cfg/conn-eth20.tst000066400000000000000000000022411510423065500164520ustar00rootroot00000000000000description monitor session tx addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.255 ipv6 addr 1234::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.0 ipv6 addr 1234::5 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc monitor-dir tx monitor-sess eth2 exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc ipv4 proxy-remote ipv6 proxy-remote exit ! r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1234::2 vrf v1 r3 tping 100 5 1.1.1.6 vrf v1 r3 tping 100 5 1234::6 vrf v1 r3 tping 200 5 1.1.1.1 vrf v1 multi r3 tping 200 5 1234::1 vrf v1 multi r3 tping 100 5 1.1.1.5 vrf v1 multi r3 tping 100 5 1234::5 vrf v1 multi freeRtr-25.11.9/cfg/conn-eth21.tst000066400000000000000000000022661510423065500164620ustar00rootroot00000000000000description monitor session sampled addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.255 ipv6 addr 1234::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.0 ipv6 addr 1234::5 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc monitor-dir tx monitor-samp 5 monitor-sess eth2 exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc ipv4 proxy-remote ipv6 proxy-remote exit ! r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1234::2 vrf v1 r3 tping 100 5 1.1.1.6 vrf v1 r3 tping 100 5 1234::6 vrf v1 r3 tping 120 5 1.1.1.1 vrf v1 multi r3 tping 120 5 1234::1 vrf v1 multi r3 tping 100 5 1.1.1.5 vrf v1 multi r3 tping 100 5 1234::5 vrf v1 multi freeRtr-25.11.9/cfg/conn-eth22.tst000066400000000000000000000022711510423065500164570ustar00rootroot00000000000000description monitor session truncated addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.255 ipv6 addr 1234::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.0 ipv6 addr 1234::5 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc monitor-dir tx monitor-trun 16 monitor-sess eth2 exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc ipv4 proxy-remote ipv6 proxy-remote exit ! r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1234::2 vrf v1 r3 tping 100 5 1.1.1.6 vrf v1 r3 tping 100 5 1234::6 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 multi r3 tping 100 5 1234::1 vrf v1 multi r3 tping 100 5 1.1.1.5 vrf v1 multi r3 tping 100 5 1234::5 vrf v1 multi freeRtr-25.11.9/cfg/conn-eth23.tst000066400000000000000000000017161510423065500164630ustar00rootroot00000000000000description secondary addresses over ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 secondary-addr 1.1.1.111 ipv4 secondary-addr 1.1.1.112 ipv4 secondary-addr 1.1.1.113 ipv6 secondary-addr 1234::111 ipv6 secondary-addr 1234::112 ipv6 secondary-addr 1234::113 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1.1.1.111 vrf v1 r2 tping 100 5 1.1.1.112 vrf v1 r2 tping 100 5 1.1.1.113 vrf v1 r2 tping 100 5 1234::111 vrf v1 r2 tping 100 5 1234::112 vrf v1 r2 tping 100 5 1234::113 vrf v1 r1 output show inter eth1 full r1 output show ipv4 arp eth1 r1 output show ipv6 neigh eth1 freeRtr-25.11.9/cfg/conn-eth24.tst000066400000000000000000000017301510423065500164600ustar00rootroot00000000000000description secondary addresses over dot1q vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.123 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 secondary-addr 1.1.1.111 ipv4 secondary-addr 1.1.1.112 ipv4 secondary-addr 1.1.1.113 ipv6 secondary-addr 1234::111 ipv6 secondary-addr 1234::112 ipv6 secondary-addr 1234::113 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1.123 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1.1.1.111 vrf v1 r2 tping 100 5 1.1.1.112 vrf v1 r2 tping 100 5 1.1.1.113 vrf v1 r2 tping 100 5 1234::111 vrf v1 r2 tping 100 5 1234::112 vrf v1 r2 tping 100 5 1234::113 vrf v1 r1 output show inter eth1 full r1 output show ipv4 arp eth1 r1 output show ipv6 neigh eth1 freeRtr-25.11.9/cfg/conn-eth25.tst000066400000000000000000000040121510423065500164550ustar00rootroot00000000000000description monitor session over tunnel addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 mac-learn exit vpdn er bridge-group 1 proxy p1 target 1.1.1.2 vcid 123 protocol erspan exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.0 ipv6 addr 1234::5 ffff:: exit ipv4 route v1 1.1.1.1 255.255.255.252 1.1.1.6 ipv6 route v1 1234::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc 1234::6 ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc ipv4 proxy-remote ipv6 proxy-remote exit int tun1 tun sou eth1 tun dest 1.1.1.1 tun vrf v1 tun key 123 tun mod erspan exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc monitor-dir rx monitor-sess tun1 exit ! r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1234::2 vrf v1 r3 tping 100 5 1.1.1.6 vrf v1 r3 tping 100 5 1234::6 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1.1.1.5 vrf v1 r3 tping 100 5 1234::5 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 multi r1 tping 100 5 1234::2 vrf v1 multi r1 tping 100 5 1.1.1.6 vrf v1 multi r1 tping 100 5 1234::6 vrf v1 multi r1 tping 100 5 1.1.1.1 vrf v1 multi r1 tping 100 5 1234::1 vrf v1 multi r1 tping 200 5 1.1.1.5 vrf v1 multi r1 tping 200 5 1234::5 vrf v1 multi r2 tping 200 5 1.1.1.2 vrf v1 multi r2 tping 200 5 1234::2 vrf v1 multi r2 tping 200 5 1.1.1.6 vrf v1 multi r2 tping 200 5 1234::6 vrf v1 multi r2 tping 200 5 1.1.1.1 vrf v1 multi r2 tping 200 5 1234::1 vrf v1 multi r2 tping 100 5 1.1.1.5 vrf v1 multi r2 tping 100 5 1234::5 vrf v1 multi freeRtr-25.11.9/cfg/conn-eth26.tst000066400000000000000000000037621510423065500164710ustar00rootroot00000000000000description monitor session over pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 mac-learn exit vpdn er bridge-group 1 proxy p1 target 1.1.1.2 vcid 123 protocol erspan exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.0 ipv6 addr 1234::5 ffff:: exit ipv4 route v1 1.1.1.1 255.255.255.252 1.1.1.6 ipv6 route v1 1234::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc 1234::6 ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc ipv4 proxy-remote ipv6 proxy-remote exit int pweth1 vrf for v1 pseudo v1 eth1 erspan 1.1.1.1 123 exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc monitor-dir rx monitor-sess pweth1 exit ! r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1234::2 vrf v1 r3 tping 100 5 1.1.1.6 vrf v1 r3 tping 100 5 1234::6 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1.1.1.5 vrf v1 r3 tping 100 5 1234::5 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 multi r1 tping 100 5 1234::2 vrf v1 multi r1 tping 100 5 1.1.1.6 vrf v1 multi r1 tping 100 5 1234::6 vrf v1 multi r1 tping 100 5 1.1.1.1 vrf v1 multi r1 tping 100 5 1234::1 vrf v1 multi r1 tping 200 5 1.1.1.5 vrf v1 multi r1 tping 200 5 1234::5 vrf v1 multi r2 tping 200 5 1.1.1.2 vrf v1 multi r2 tping 200 5 1234::2 vrf v1 multi r2 tping 200 5 1.1.1.6 vrf v1 multi r2 tping 200 5 1234::6 vrf v1 multi r2 tping 200 5 1.1.1.1 vrf v1 multi r2 tping 200 5 1234::1 vrf v1 multi r2 tping 100 5 1.1.1.5 vrf v1 multi r2 tping 100 5 1234::5 vrf v1 multi freeRtr-25.11.9/cfg/conn-eth27.tst000066400000000000000000000012041510423065500164570ustar00rootroot00000000000000description verify source with ethernet encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.254 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe ipv4 verify rx ipv6 verify rx exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.254 ipv6 addr 1234::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe ipv4 verify rx ipv6 verify rx exit ! r1 tping 100 5 1.1.1.3 vrf v1 r2 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1234::2 vrf v1 freeRtr-25.11.9/cfg/conn-eth28.tst000066400000000000000000000012161510423065500164630ustar00rootroot00000000000000description loose verify source with ethernet encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.254 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe ipv4 verify any ipv6 verify any exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.254 ipv6 addr 1234::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe ipv4 verify any ipv6 verify any exit ! r1 tping 100 5 1.1.1.3 vrf v1 r2 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1234::2 vrf v1 freeRtr-25.11.9/cfg/conn-eth29.tst000066400000000000000000000014111510423065500164610ustar00rootroot00000000000000description secure arp/nd addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: no ipv4 host-learn no ipv6 host-learn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 0 5 1.1.1.2 vrf v1 r1 tping 0 5 1234::2 vrf v1 r2 tping 0 5 1.1.1.1 vrf v1 r2 tping 0 5 1234::1 vrf v1 r1 send conf t r1 send int eth1 r1 send ipv4 host-static 1.1.1.2 0000.0000.2222 r1 send ipv6 host-static 1234::2 0000.0000.2222 r1 send end r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-eth30.tst000066400000000000000000000010641510423065500164550ustar00rootroot00000000000000description ethernet trill-mt encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 enc trill-mt exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 enc trill-mt exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-eth31.tst000066400000000000000000000010671510423065500164610ustar00rootroot00000000000000description ethernet trill-fgl encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 enc trill-fgl exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 enc trill-fgl exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-eth32.tst000066400000000000000000000034561510423065500164660ustar00rootroot00000000000000description secondary networks over ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 secondary-net 1.1.2.111 255.255.255.0 ipv4 secondary-net 1.1.3.112 255.255.255.0 ipv4 secondary-net 1.1.4.113 255.255.255.0 ipv6 secondary-net 1235::111 ffff:: ipv6 secondary-net 1236::112 ffff:: ipv6 secondary-net 1237::113 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $3a$ $3b$ int eth5 eth 0000.0000.2222 $4a$ $4b$ ! vrf def v1 rd 1:1 exit bridge 1 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int eth4 bridge-gr 1 exit int eth5 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1236::4 ffff:: exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.4.5 255.255.255.0 ipv6 addr 1237::5 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1.1.2.111 vrf v1 r4 tping 100 5 1.1.3.112 vrf v1 r5 tping 100 5 1.1.4.113 vrf v1 r3 tping 100 5 1235::111 vrf v1 r4 tping 100 5 1236::112 vrf v1 r5 tping 100 5 1237::113 vrf v1 r1 output show inter eth1 full r1 output show ipv4 arp eth1 r1 output show ipv6 neigh eth1 freeRtr-25.11.9/cfg/conn-eth33.tst000066400000000000000000000034701510423065500164630ustar00rootroot00000000000000description secondary networks over dot1q vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.123 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 secondary-net 1.1.2.111 255.255.255.0 ipv4 secondary-net 1.1.3.112 255.255.255.0 ipv4 secondary-net 1.1.4.113 255.255.255.0 ipv6 secondary-net 1235::111 ffff:: ipv6 secondary-net 1236::112 ffff:: ipv6 secondary-net 1237::113 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $3a$ $3b$ int eth5 eth 0000.0000.2222 $4a$ $4b$ ! vrf def v1 rd 1:1 exit bridge 1 exit int eth1.123 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int eth4 bridge-gr 1 exit int eth5 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1236::4 ffff:: exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.4.5 255.255.255.0 ipv6 addr 1237::5 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1.1.2.111 vrf v1 r4 tping 100 5 1.1.3.112 vrf v1 r5 tping 100 5 1.1.4.113 vrf v1 r3 tping 100 5 1235::111 vrf v1 r4 tping 100 5 1236::112 vrf v1 r5 tping 100 5 1237::113 vrf v1 r1 output show inter eth1 full r1 output show ipv4 arp eth1 r1 output show ipv6 neigh eth1 freeRtr-25.11.9/cfg/conn-etherip01.tst000066400000000000000000000025411510423065500173340ustar00rootroot00000000000000description etherip over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 mac-learn exit vpdn er bridge-group 1 proxy p1 target 1.1.1.2 vcid 123 protocol etherip exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 mac-learn exit vpdn er bridge-group 1 proxy p1 target 1.1.1.1 vcid 123 protocol etherip exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r2 output show bridge 1 r2 output show inter bvi1 full r2 output show ipv4 arp bvi1 r2 output show ipv6 neigh bvi1 output ../binTmp/conn-etherip.html here is the bridge:
show:0
here is the interface:
show:1
here is the arp:
show:2
here are the neighbors:
show:3
! freeRtr-25.11.9/cfg/conn-etherip02.tst000066400000000000000000000016261510423065500173400ustar00rootroot00000000000000description etherip over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 exit vpdn er bridge-group 1 proxy p1 target 1234::2 vcid 123 protocol etherip exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 exit vpdn er bridge-group 1 proxy p1 target 1234::1 vcid 123 protocol etherip exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-etherip03.tst000066400000000000000000000021431510423065500173340ustar00rootroot00000000000000description etherip over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 bridge 1 exit vpdn er bridge-group 1 proxy p1 target 1.1.1.102 vcid 123 protocol etherip exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 bridge 1 exit vpdn er bridge-group 1 proxy p1 target 1.1.1.101 vcid 123 protocol etherip exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-etherip04.tst000066400000000000000000000020611510423065500173340ustar00rootroot00000000000000description hdlc tunneling with etherip addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc hdlc xconnect v1 eth1 etherip 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc hdlc xconnect v1 eth1 etherip 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-etherip05.tst000066400000000000000000000021601510423065500173350ustar00rootroot00000000000000description ppp tunneling with etherip addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc ppp xconnect v1 eth1 etherip 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc ppp xconnect v1 eth1 etherip 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-etherip06.tst000066400000000000000000000021171510423065500173400ustar00rootroot00000000000000description lapb tunneling with etherip addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb lapb mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc lapb xconnect v1 eth1 etherip 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc lapb lapb mode dce xconnect v1 eth1 etherip 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-etherip07.tst000066400000000000000000000024411510423065500173410ustar00rootroot00000000000000description framerelay tunneling with etherip addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 etherip 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 etherip 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-etherip08.tst000066400000000000000000000022531510423065500173430ustar00rootroot00000000000000description atmdxi tunneling with etherip addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 etherip 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 etherip 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-etherip09.tst000066400000000000000000000021171510423065500173430ustar00rootroot00000000000000description isdn tunneling with etherip addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc isdn xconnect v1 eth1 etherip 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc isdn xconnect v1 eth1 etherip 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-etherip10.tst000066400000000000000000000020541510423065500173330ustar00rootroot00000000000000description sep tunneling with etherip addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc sep xconnect v1 eth1 etherip 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc sep xconnect v1 eth1 etherip 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-etherip11.tst000066400000000000000000000021011510423065500173250ustar00rootroot00000000000000description ethernet tunneling with etherip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1 xconnect v1 eth2 etherip 1234::2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2 xconnect v1 eth1 etherip 1234::1 123 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-etherip12.tst000066400000000000000000000021151510423065500173330ustar00rootroot00000000000000description vlan tunneling with etherip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.111 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1.111 xconnect v1 eth2 etherip 1234::2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2.222 xconnect v1 eth1 etherip 1234::1 123 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1.222 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-etherip13.tst000066400000000000000000000015731510423065500173430ustar00rootroot00000000000000description tunnel interface with etherip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 123 tun mod etherip vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 123 tun mod etherip vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-etherip14.tst000066400000000000000000000015771510423065500173500ustar00rootroot00000000000000description etherip server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 mac-learn exit vpdn er bridge-group 1 proxy p1 target 1.1.1.2 vcid 123 protocol etherip exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 mac-learn exit server etherip ei bridge 1 vrf v1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-forti.tst000066400000000000000000000021271510423065500166560ustar00rootroot00000000000000description ppp over forti addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit aaa userlist usr username c password c exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 2222::1 ffff:ffff:ffff:ffff:: exit server http h host * path ./ host * forti dialer1 host * authen usr vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 2222::2 ffff:ffff:ffff:ffff:: exit vpdn forti int di1 proxy p1 tar http://1.1.1.1/ user c pass c prot forti exit ! r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2222::1 vrf v1 r2 output show inter dia1 full output ../binTmp/conn-forti.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-frag01.tst000066400000000000000000000021301510423065500166050ustar00rootroot00000000000000description fragmentation and reassembly addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 mtu 1500 enforce-mtu both vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 reassembly 16 ipv4 fragmentation 1400 ipv6 reassembly 16 ipv6 fragmentation 1400 exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 mtu 1500 enforce-mtu both vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 reassembly 16 ipv4 fragmentation 1400 ipv6 reassembly 16 ipv6 fragmentation 1400 exit ! r1 tping 100 30 1.1.1.2 vrf v1 siz 222 r2 tping 100 30 1.1.1.1 vrf v1 siz 222 r1 tping 100 30 1234::2 vrf v1 siz 222 r2 tping 100 30 1234::1 vrf v1 siz 222 r1 tping 100 30 1.1.1.2 vrf v1 siz 2222 r2 tping 100 30 1.1.1.1 vrf v1 siz 2222 r1 tping 100 30 1234::2 vrf v1 siz 2222 r2 tping 100 30 1234::1 vrf v1 siz 2222 r1 tping -100 30 1.1.1.2 vrf v1 siz 2222 dont error r2 tping -100 30 1.1.1.1 vrf v1 siz 2222 dont error r1 tping -100 30 1234::2 vrf v1 siz 2222 dont error r2 tping -100 30 1234::1 vrf v1 siz 2222 dont error freeRtr-25.11.9/cfg/conn-frag02.tst000066400000000000000000000013161510423065500166130ustar00rootroot00000000000000description no fragmentation nor reassembly addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 mtu 1500 enforce-mtu both vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 mtu 1500 enforce-mtu both vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 siz 222 r2 tping 100 30 1.1.1.1 vrf v1 siz 222 r1 tping 100 30 1234::2 vrf v1 siz 222 r2 tping 100 30 1234::1 vrf v1 siz 222 r1 tping 0 30 1.1.1.2 vrf v1 siz 2222 r2 tping 0 30 1.1.1.1 vrf v1 siz 2222 r1 tping 0 30 1234::2 vrf v1 siz 2222 r2 tping 0 30 1234::1 vrf v1 siz 2222 freeRtr-25.11.9/cfg/conn-frag03.tst000066400000000000000000000013121510423065500166100ustar00rootroot00000000000000description precise mtu enforcement addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 mtu 1500 enforce-mtu both vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 mtu 1500 enforce-mtu both vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 siz 1500 r2 tping 100 30 1.1.1.1 vrf v1 siz 1500 r1 tping 100 30 1234::2 vrf v1 siz 1500 r2 tping 100 30 1234::1 vrf v1 siz 1500 r1 tping 0 30 1.1.1.2 vrf v1 siz 1501 r2 tping 0 30 1.1.1.1 vrf v1 siz 1501 r1 tping 0 30 1234::2 vrf v1 siz 1501 r2 tping 0 30 1234::1 vrf v1 siz 1501 freeRtr-25.11.9/cfg/conn-frag04.tst000066400000000000000000000013671510423065500166230ustar00rootroot00000000000000description pmtud in addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 pmtud-in 1400 ipv6 pmtud-in 1400 exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 pmtud-in 1400 ipv6 pmtud-in 1400 exit ! r1 tping 100 30 1.1.1.2 vrf v1 siz 1400 r2 tping 100 30 1.1.1.1 vrf v1 siz 1400 r1 tping 100 30 1234::2 vrf v1 siz 1400 r2 tping 100 30 1234::1 vrf v1 siz 1400 r1 tping -100 30 1.1.1.2 vrf v1 siz 1401 error r2 tping -100 30 1.1.1.1 vrf v1 siz 1401 error r1 tping -100 30 1234::2 vrf v1 siz 1401 error r2 tping -100 30 1234::1 vrf v1 siz 1401 error freeRtr-25.11.9/cfg/conn-frag05.tst000066400000000000000000000013741510423065500166220ustar00rootroot00000000000000description pmtud out addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 pmtud-out 1400 ipv6 pmtud-out 1400 exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 pmtud-out 1400 ipv6 pmtud-out 1400 exit ! r1 tping 100 30 1.1.1.2 vrf v1 siz 1400 r2 tping 100 30 1.1.1.1 vrf v1 siz 1400 r1 tping 100 30 1234::2 vrf v1 siz 1400 r2 tping 100 30 1234::1 vrf v1 siz 1400 r1 tping -100 30 1.1.1.2 vrf v1 siz 1401 error r2 tping -100 30 1.1.1.1 vrf v1 siz 1401 error r1 tping -100 30 1234::2 vrf v1 siz 1401 error r2 tping -100 30 1234::1 vrf v1 siz 1401 error freeRtr-25.11.9/cfg/conn-frag06.tst000066400000000000000000000026471510423065500166270ustar00rootroot00000000000000description tcp mss in addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 mtu 1500 enforce-mtu both vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 tcp-mss-in 1280 ipv6 tcp-mss-in 1280 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit server pckotcp pou clone di1 vrf v1 exit client tcp-segments 1024 4096 ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int ser1 mtu 1500 enforce-mtu both vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 tcp-mss-in 1280 ipv6 tcp-mss-in 1280 exit int di2 enc ppp vrf for v2 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 exit vpdn di2 interface di2 proxy p1 target 1.1.1.1 vcid 2554 prot pckotcp exit int di3 enc ppp vrf for v3 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 exit vpdn di3 interface di3 proxy p1 target 1234::1 vcid 2554 prot pckotcp exit client tcp-segments 1024 4096 ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 r2 tping 100 30 2.2.2.0 vrf v2 siz 3000 r2 tping 100 30 2.2.2.0 vrf v3 siz 3000 freeRtr-25.11.9/cfg/conn-frag07.tst000066400000000000000000000026541510423065500166260ustar00rootroot00000000000000description tcp mss out addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 mtu 1500 enforce-mtu both vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 tcp-mss-out 1280 ipv6 tcp-mss-out 1280 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit server pckotcp pou clone di1 vrf v1 exit client tcp-segments 1024 4096 ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int ser1 mtu 1500 enforce-mtu both vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 tcp-mss-out 1280 ipv6 tcp-mss-out 1280 exit int di2 enc ppp vrf for v2 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 exit vpdn di2 interface di2 proxy p1 target 1.1.1.1 vcid 2554 prot pckotcp exit int di3 enc ppp vrf for v3 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 exit vpdn di3 interface di3 proxy p1 target 1234::1 vcid 2554 prot pckotcp exit client tcp-segments 1024 4096 ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 r2 tping 100 30 2.2.2.0 vrf v2 siz 3000 r2 tping 100 30 2.2.2.0 vrf v3 siz 3000 freeRtr-25.11.9/cfg/conn-frag08.tst000066400000000000000000000143431510423065500166250ustar00rootroot00000000000000description ip ttl exceed addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.2 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.2.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1235::2 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.2.2 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1235::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1236::1 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1235::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1235::1 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.3.2 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1236::2 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1236::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.3.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1236::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.3.1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1236::1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.3.1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1236::1 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 ttl 3 r1 tping 100 10 4321::2 vrf v1 sou lo0 ttl 3 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 ttl 3 r1 tping 100 10 4321::3 vrf v1 sou lo0 ttl 3 r1 tping 100 10 2.2.2.4 vrf v1 sou lo0 ttl 3 r1 tping 100 10 4321::4 vrf v1 sou lo0 ttl 3 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 ttl 3 r2 tping 100 10 4321::1 vrf v1 sou lo0 ttl 3 r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 ttl 3 r2 tping 100 10 4321::3 vrf v1 sou lo0 ttl 3 r2 tping 100 10 2.2.2.4 vrf v1 sou lo0 ttl 3 r2 tping 100 10 4321::4 vrf v1 sou lo0 ttl 3 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 ttl 3 r3 tping 100 10 4321::1 vrf v1 sou lo0 ttl 3 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 ttl 3 r3 tping 100 10 4321::2 vrf v1 sou lo0 ttl 3 r3 tping 100 10 2.2.2.4 vrf v1 sou lo0 ttl 3 r3 tping 100 10 4321::4 vrf v1 sou lo0 ttl 3 r4 tping 100 10 2.2.2.1 vrf v1 sou lo0 ttl 3 r4 tping 100 10 4321::1 vrf v1 sou lo0 ttl 3 r4 tping 100 10 2.2.2.2 vrf v1 sou lo0 ttl 3 r4 tping 100 10 4321::2 vrf v1 sou lo0 ttl 3 r4 tping 100 10 2.2.2.3 vrf v1 sou lo0 ttl 3 r4 tping 100 10 4321::3 vrf v1 sou lo0 ttl 3 r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 ttl 2 error r1 tping 100 10 4321::2 vrf v1 sou lo0 ttl 2 error r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 ttl 2 error r1 tping 100 10 4321::3 vrf v1 sou lo0 ttl 2 error r1 tping -100 10 2.2.2.4 vrf v1 sou lo0 ttl 2 error r1 tping -100 10 4321::4 vrf v1 sou lo0 ttl 2 error r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 ttl 2 error r2 tping 100 10 4321::1 vrf v1 sou lo0 ttl 2 error r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 ttl 2 error r2 tping 100 10 4321::3 vrf v1 sou lo0 ttl 2 error r2 tping 100 10 2.2.2.4 vrf v1 sou lo0 ttl 2 error r2 tping 100 10 4321::4 vrf v1 sou lo0 ttl 2 error r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 ttl 2 error r3 tping 100 10 4321::1 vrf v1 sou lo0 ttl 2 error r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 ttl 2 error r3 tping 100 10 4321::2 vrf v1 sou lo0 ttl 2 error r3 tping 100 10 2.2.2.4 vrf v1 sou lo0 ttl 2 error r3 tping 100 10 4321::4 vrf v1 sou lo0 ttl 2 error r4 tping -100 10 2.2.2.1 vrf v1 sou lo0 ttl 2 error r4 tping -100 10 4321::1 vrf v1 sou lo0 ttl 2 error r4 tping 100 10 2.2.2.2 vrf v1 sou lo0 ttl 2 error r4 tping 100 10 4321::2 vrf v1 sou lo0 ttl 2 error r4 tping 100 10 2.2.2.3 vrf v1 sou lo0 ttl 2 error r4 tping 100 10 4321::3 vrf v1 sou lo0 ttl 2 error r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 ttl 1 error r1 tping 100 10 4321::2 vrf v1 sou lo0 ttl 1 error r1 tping -100 10 2.2.2.3 vrf v1 sou lo0 ttl 1 error r1 tping -100 10 4321::3 vrf v1 sou lo0 ttl 1 error r1 tping -100 10 2.2.2.4 vrf v1 sou lo0 ttl 1 error r1 tping -100 10 4321::4 vrf v1 sou lo0 ttl 1 error r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 ttl 1 error r2 tping 100 10 4321::1 vrf v1 sou lo0 ttl 1 error r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 ttl 1 error r2 tping 100 10 4321::3 vrf v1 sou lo0 ttl 1 error r2 tping -100 10 2.2.2.4 vrf v1 sou lo0 ttl 1 error r2 tping -100 10 4321::4 vrf v1 sou lo0 ttl 1 error r3 tping -100 10 2.2.2.1 vrf v1 sou lo0 ttl 1 error r3 tping -100 10 4321::1 vrf v1 sou lo0 ttl 1 error r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 ttl 1 error r3 tping 100 10 4321::2 vrf v1 sou lo0 ttl 1 error r3 tping 100 10 2.2.2.4 vrf v1 sou lo0 ttl 1 error r3 tping 100 10 4321::4 vrf v1 sou lo0 ttl 1 error r4 tping -100 10 2.2.2.1 vrf v1 sou lo0 ttl 1 error r4 tping -100 10 4321::1 vrf v1 sou lo0 ttl 1 error r4 tping -100 10 2.2.2.2 vrf v1 sou lo0 ttl 1 error r4 tping -100 10 4321::2 vrf v1 sou lo0 ttl 1 error r4 tping 100 10 2.2.2.3 vrf v1 sou lo0 ttl 1 error r4 tping 100 10 4321::3 vrf v1 sou lo0 ttl 1 error freeRtr-25.11.9/cfg/conn-frag09.tst000066400000000000000000000163041510423065500166250ustar00rootroot00000000000000description mpls ttl exceed addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.2 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.2.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1235::2 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.2.2 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1235::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1236::1 ffff:: mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1235::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1235::1 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.3.2 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1236::2 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1236::2 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.3.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1236::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.3.1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1236::1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.3.1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1236::1 ! r2 tping 0 10 1.1.1.1 vrf v1 r2 tping 0 10 1.1.2.2 vrf v1 r3 tping 0 10 1.1.2.1 vrf v1 r3 tping 0 10 1.1.3.2 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 ttl 3 r1 tping 100 10 4321::2 vrf v1 sou lo0 ttl 3 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 ttl 3 r1 tping 100 10 4321::3 vrf v1 sou lo0 ttl 3 r1 tping 100 10 2.2.2.4 vrf v1 sou lo0 ttl 3 r1 tping 100 10 4321::4 vrf v1 sou lo0 ttl 3 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 ttl 3 r2 tping 100 10 4321::1 vrf v1 sou lo0 ttl 3 r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 ttl 3 r2 tping 100 10 4321::3 vrf v1 sou lo0 ttl 3 r2 tping 100 10 2.2.2.4 vrf v1 sou lo0 ttl 3 r2 tping 100 10 4321::4 vrf v1 sou lo0 ttl 3 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 ttl 3 r3 tping 100 10 4321::1 vrf v1 sou lo0 ttl 3 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 ttl 3 r3 tping 100 10 4321::2 vrf v1 sou lo0 ttl 3 r3 tping 100 10 2.2.2.4 vrf v1 sou lo0 ttl 3 r3 tping 100 10 4321::4 vrf v1 sou lo0 ttl 3 r4 tping 100 10 2.2.2.1 vrf v1 sou lo0 ttl 3 r4 tping 100 10 4321::1 vrf v1 sou lo0 ttl 3 r4 tping 100 10 2.2.2.2 vrf v1 sou lo0 ttl 3 r4 tping 100 10 4321::2 vrf v1 sou lo0 ttl 3 r4 tping 100 10 2.2.2.3 vrf v1 sou lo0 ttl 3 r4 tping 100 10 4321::3 vrf v1 sou lo0 ttl 3 r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 ttl 2 error r1 tping 100 10 4321::2 vrf v1 sou lo0 ttl 2 error r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 ttl 2 error r1 tping 100 10 4321::3 vrf v1 sou lo0 ttl 2 error r1 tping -100 10 2.2.2.4 vrf v1 sou lo0 ttl 2 error r1 tping -100 10 4321::4 vrf v1 sou lo0 ttl 2 error r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 ttl 2 error r2 tping 100 10 4321::1 vrf v1 sou lo0 ttl 2 error r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 ttl 2 error r2 tping 100 10 4321::3 vrf v1 sou lo0 ttl 2 error r2 tping 100 10 2.2.2.4 vrf v1 sou lo0 ttl 2 error r2 tping 100 10 4321::4 vrf v1 sou lo0 ttl 2 error r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 ttl 2 error r3 tping 100 10 4321::1 vrf v1 sou lo0 ttl 2 error r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 ttl 2 error r3 tping 100 10 4321::2 vrf v1 sou lo0 ttl 2 error r3 tping 100 10 2.2.2.4 vrf v1 sou lo0 ttl 2 error r3 tping 100 10 4321::4 vrf v1 sou lo0 ttl 2 error r4 tping -100 10 2.2.2.1 vrf v1 sou lo0 ttl 2 error r4 tping -100 10 4321::1 vrf v1 sou lo0 ttl 2 error r4 tping 100 10 2.2.2.2 vrf v1 sou lo0 ttl 2 error r4 tping 100 10 4321::2 vrf v1 sou lo0 ttl 2 error r4 tping 100 10 2.2.2.3 vrf v1 sou lo0 ttl 2 error r4 tping 100 10 4321::3 vrf v1 sou lo0 ttl 2 error r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 ttl 1 error r1 tping 100 10 4321::2 vrf v1 sou lo0 ttl 1 error r1 tping -100 10 2.2.2.3 vrf v1 sou lo0 ttl 1 error r1 tping -100 10 4321::3 vrf v1 sou lo0 ttl 1 error r1 tping -100 10 2.2.2.4 vrf v1 sou lo0 ttl 1 error r1 tping -100 10 4321::4 vrf v1 sou lo0 ttl 1 error r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 ttl 1 error r2 tping 100 10 4321::1 vrf v1 sou lo0 ttl 1 error r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 ttl 1 error r2 tping 100 10 4321::3 vrf v1 sou lo0 ttl 1 error r2 tping -100 10 2.2.2.4 vrf v1 sou lo0 ttl 1 error r2 tping -100 10 4321::4 vrf v1 sou lo0 ttl 1 error r3 tping -100 10 2.2.2.1 vrf v1 sou lo0 ttl 1 error r3 tping -100 10 4321::1 vrf v1 sou lo0 ttl 1 error r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 ttl 1 error r3 tping 100 10 4321::2 vrf v1 sou lo0 ttl 1 error r3 tping 100 10 2.2.2.4 vrf v1 sou lo0 ttl 1 error r3 tping 100 10 4321::4 vrf v1 sou lo0 ttl 1 error r4 tping -100 10 2.2.2.1 vrf v1 sou lo0 ttl 1 error r4 tping -100 10 4321::1 vrf v1 sou lo0 ttl 1 error r4 tping -100 10 2.2.2.2 vrf v1 sou lo0 ttl 1 error r4 tping -100 10 4321::2 vrf v1 sou lo0 ttl 1 error r4 tping 100 10 2.2.2.3 vrf v1 sou lo0 ttl 1 error r4 tping 100 10 4321::3 vrf v1 sou lo0 ttl 1 error freeRtr-25.11.9/cfg/conn-frag10.tst000066400000000000000000000032051510423065500166110ustar00rootroot00000000000000description bridge tcp mss in addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 mtu 1500 enforce-mtu both vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit server pckotcp pou clone di1 vrf v1 exit client tcp-segments 1024 4096 ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int eth1 mtu 1500 enforce-mtu both vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di2 enc ppp vrf for v2 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 exit vpdn di2 interface di2 proxy p1 target 1.1.1.1 vcid 2554 prot pckotcp exit int di3 enc ppp vrf for v3 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 exit vpdn di3 interface di3 proxy p1 target 1234::1 vcid 2554 prot pckotcp exit client tcp-segments 1024 4096 ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! bridge 1 exit int eth1 bridge-gr 1 bridge-tcp-mss ipv4in 1280 bridge-tcp-mss ipv6in 1280 exit int eth2 bridge-gr 1 bridge-tcp-mss ipv4in 1280 bridge-tcp-mss ipv6in 1280 exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 r2 tping 100 30 2.2.2.0 vrf v2 siz 3000 r2 tping 100 30 2.2.2.0 vrf v3 siz 3000 freeRtr-25.11.9/cfg/conn-frag11.tst000066400000000000000000000032121510423065500166100ustar00rootroot00000000000000description bridge tcp mss out addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 mtu 1500 enforce-mtu both vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit server pckotcp pou clone di1 vrf v1 exit client tcp-segments 1024 4096 ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int eth1 mtu 1500 enforce-mtu both vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di2 enc ppp vrf for v2 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 exit vpdn di2 interface di2 proxy p1 target 1.1.1.1 vcid 2554 prot pckotcp exit int di3 enc ppp vrf for v3 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 exit vpdn di3 interface di3 proxy p1 target 1234::1 vcid 2554 prot pckotcp exit client tcp-segments 1024 4096 ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! bridge 1 exit int eth1 bridge-gr 1 bridge-tcp-mss ipv4out 1280 bridge-tcp-mss ipv6out 1280 exit int eth2 bridge-gr 1 bridge-tcp-mss ipv4out 1280 bridge-tcp-mss ipv6out 1280 exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 r2 tping 100 30 2.2.2.0 vrf v2 siz 3000 r2 tping 100 30 2.2.2.0 vrf v3 siz 3000 freeRtr-25.11.9/cfg/conn-frag12.tst000066400000000000000000000017651510423065500166240ustar00rootroot00000000000000description bridge pmtud in addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! bridge 1 exit int eth1 bridge-gr 1 bridge-pmtud ipv4in 1400 3.3.3.3 bridge-pmtud ipv6in 1400 3333::3 exit int eth2 bridge-gr 1 bridge-pmtud ipv4in 1400 3.3.3.3 bridge-pmtud ipv6in 1400 3333::3 exit ! r1 tping 100 30 1.1.1.2 vrf v1 siz 1400 r2 tping 100 30 1.1.1.1 vrf v1 siz 1400 r1 tping 100 30 1234::2 vrf v1 siz 1400 r2 tping 100 30 1234::1 vrf v1 siz 1400 r1 tping -100 30 1.1.1.2 vrf v1 siz 1401 error r2 tping -100 30 1.1.1.1 vrf v1 siz 1401 error r1 tping -100 30 1234::2 vrf v1 siz 1401 error r2 tping -100 30 1234::1 vrf v1 siz 1401 error freeRtr-25.11.9/cfg/conn-frag13.tst000066400000000000000000000017721510423065500166230ustar00rootroot00000000000000description bridge pmtud out addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! bridge 1 exit int eth1 bridge-gr 1 bridge-pmtud ipv4out 1400 3.3.3.3 bridge-pmtud ipv6out 1400 3333::3 exit int eth2 bridge-gr 1 bridge-pmtud ipv4out 1400 3.3.3.3 bridge-pmtud ipv6out 1400 3333::3 exit ! r1 tping 100 30 1.1.1.2 vrf v1 siz 1400 r2 tping 100 30 1.1.1.1 vrf v1 siz 1400 r1 tping 100 30 1234::2 vrf v1 siz 1400 r2 tping 100 30 1234::1 vrf v1 siz 1400 r1 tping -100 30 1.1.1.2 vrf v1 siz 1401 error r2 tping -100 30 1.1.1.1 vrf v1 siz 1401 error r1 tping -100 30 1234::2 vrf v1 siz 1401 error r2 tping -100 30 1234::1 vrf v1 siz 1401 error freeRtr-25.11.9/cfg/conn-frag14.tst000066400000000000000000000015651510423065500166240ustar00rootroot00000000000000description precise mac enforcement addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 enforce-mac both vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 host-static 1.1.1.3 0000.0000.4321 ipv6 host-static 1234::3 0000.0000.4321 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.3 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::3 ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 0 5 2.2.2.1 vrf v1 r2 tping 0 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-frag15.tst000066400000000000000000000016431510423065500166220ustar00rootroot00000000000000description bridge mac enforcement addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 exit int eth1 enforce-mac both bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 host-static 1.1.1.3 0000.0000.4321 ipv6 host-static 1234::3 0000.0000.4321 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.3 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::3 ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-framerelay01.tst000066400000000000000000000014521510423065500200230ustar00rootroot00000000000000description framerelay ansi addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc frame framerelay mode dce framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc frame framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 output show inter ser1 full output ../binTmp/conn-framerelay.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-framerelay02.tst000066400000000000000000000011131510423065500200160ustar00rootroot00000000000000description framerelay cisco addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc frame framerelay mode dce framerelay lmi cisco framerelay dlci 123 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc frame framerelay lmi cisco framerelay dlci 123 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-framerelay03.tst000066400000000000000000000011101510423065500200140ustar00rootroot00000000000000description framerelay q933 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc frame framerelay mode dce framerelay lmi q933 framerelay dlci 123 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc frame framerelay lmi q933 framerelay dlci 123 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-framerelay04.tst000066400000000000000000000014701510423065500200260ustar00rootroot00000000000000description framerelay fragmentation addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc frame framerelay mode dce framerelay lmi ansi framerelay dlci 123 framerelay frag 256 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc frame framerelay lmi ansi framerelay dlci 123 framerelay frag 256 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 siz 128 r2 tping 100 5 1.1.1.1 vrf v1 siz 128 r1 tping 100 5 1234::2 vrf v1 siz 128 r2 tping 100 5 1234::1 vrf v1 siz 128 r1 tping 100 5 1.1.1.2 vrf v1 siz 1024 r2 tping 100 5 1.1.1.1 vrf v1 siz 1024 r1 tping 100 5 1234::2 vrf v1 siz 1024 r2 tping 100 5 1234::1 vrf v1 siz 1024 freeRtr-25.11.9/cfg/conn-framerelay05.tst000066400000000000000000000014561510423065500200330ustar00rootroot00000000000000description framerelay asymmetric fragmentation addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc frame framerelay mode dce framerelay lmi ansi framerelay dlci 123 framerelay frag 256 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc frame framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 siz 128 r2 tping 100 5 1.1.1.1 vrf v1 siz 128 r1 tping 100 5 1234::2 vrf v1 siz 128 r2 tping 100 5 1234::1 vrf v1 siz 128 r1 tping 100 5 1.1.1.2 vrf v1 siz 1024 r2 tping 100 5 1.1.1.1 vrf v1 siz 1024 r1 tping 100 5 1234::2 vrf v1 siz 1024 r2 tping 100 5 1234::1 vrf v1 siz 1024 freeRtr-25.11.9/cfg/conn-framerelay06.tst000066400000000000000000000010421510423065500200230ustar00rootroot00000000000000description ppp over framerelay addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc frppp framerelay mode dce framerelay dlci 123 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc frppp framerelay dlci 123 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-framerelay07.tst000066400000000000000000000010411510423065500200230ustar00rootroot00000000000000description ip over framerelay addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc frrfc framerelay mode dce framerelay dlci 123 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc frrfc framerelay dlci 123 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-geneve01.tst000066400000000000000000000025351510423065500171500ustar00rootroot00000000000000description geneve over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 mac-learn exit vpdn vx bridge-group 1 proxy p1 target 1.1.1.2 vcid 123 protocol geneve exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 mac-learn exit vpdn vx bridge-group 1 proxy p1 target 1.1.1.1 vcid 123 protocol geneve exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r2 output show bridge 1 r2 output show inter bvi1 full r2 output show ipv4 arp bvi1 r2 output show ipv6 neigh bvi1 output ../binTmp/conn-geneve.html here is the bridge:
show:0
here is the interface:
show:1
here is the arp:
show:2
here are the neighbors:
show:3
! freeRtr-25.11.9/cfg/conn-geneve02.tst000066400000000000000000000016231510423065500171460ustar00rootroot00000000000000description geneve over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 exit vpdn vx bridge-group 1 proxy p1 target 1234::2 vcid 123 protocol geneve exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 exit vpdn vx bridge-group 1 proxy p1 target 1234::1 vcid 123 protocol geneve exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-geneve03.tst000066400000000000000000000021401510423065500171420ustar00rootroot00000000000000description geneve over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 bridge 1 exit vpdn vx bridge-group 1 proxy p1 target 1.1.1.102 vcid 123 protocol geneve exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 bridge 1 exit vpdn vx bridge-group 1 proxy p1 target 1.1.1.101 vcid 123 protocol geneve exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-geneve04.tst000066400000000000000000000020601510423065500171440ustar00rootroot00000000000000description hdlc tunneling with geneve addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc hdlc xconnect v1 eth1 geneve 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc hdlc xconnect v1 eth1 geneve 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-geneve05.tst000066400000000000000000000021571510423065500171540ustar00rootroot00000000000000description ppp tunneling with geneve addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc ppp xconnect v1 eth1 geneve 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc ppp xconnect v1 eth1 geneve 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-geneve06.tst000066400000000000000000000021161510423065500171500ustar00rootroot00000000000000description lapb tunneling with geneve addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb lapb mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc lapb xconnect v1 eth1 geneve 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc lapb lapb mode dce xconnect v1 eth1 geneve 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-geneve07.tst000066400000000000000000000024401510423065500171510ustar00rootroot00000000000000description framerelay tunneling with geneve addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 geneve 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 geneve 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-geneve08.tst000066400000000000000000000022521510423065500171530ustar00rootroot00000000000000description atmdxi tunneling with geneve addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 geneve 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 geneve 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-geneve09.tst000066400000000000000000000021161510423065500171530ustar00rootroot00000000000000description isdn tunneling with geneve addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc isdn xconnect v1 eth1 geneve 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc isdn xconnect v1 eth1 geneve 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-geneve10.tst000066400000000000000000000020531510423065500171430ustar00rootroot00000000000000description sep tunneling with geneve addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc sep xconnect v1 eth1 geneve 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc sep xconnect v1 eth1 geneve 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-geneve11.tst000066400000000000000000000021001510423065500171350ustar00rootroot00000000000000description ethernet tunneling with geneve addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1 xconnect v1 eth2 geneve 1234::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2 xconnect v1 eth1 geneve 1234::1 1234 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-geneve12.tst000066400000000000000000000021141510423065500171430ustar00rootroot00000000000000description vlan tunneling with geneve addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.111 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1.111 xconnect v1 eth2 geneve 1234::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2.222 xconnect v1 eth1 geneve 1234::1 1234 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1.222 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-geneve13.tst000066400000000000000000000015721510423065500171530ustar00rootroot00000000000000description tunnel interface with geneve addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 1234 tun mod geneve vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 1234 tun mod geneve vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-geneve14.tst000066400000000000000000000044071510423065500171540ustar00rootroot00000000000000description multipoint ethernet over geneve addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit bridge 1 mac-learn exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:ffff:: exit server geneve gnv bridge 1 vrf v1 vni 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:ffff:: exit vpdn gnv bridge-gr 1 proxy p1 tar 1.1.1.1 vcid 1234 prot geneve exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.0 ipv6 addr 4321::3 ffff:ffff:: exit vpdn gnv bridge-gr 1 proxy p1 tar 1234:2::1 vcid 1234 prot geneve exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.0 ipv6 addr 4321::4 ffff:ffff:: exit ! r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-gre01.tst000066400000000000000000000020231510423065500164440ustar00rootroot00000000000000description gre over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full output ../binTmp/conn-gre.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-gre02.tst000066400000000000000000000014701510423065500164520ustar00rootroot00000000000000description gre over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-gre03.tst000066400000000000000000000021101510423065500164430ustar00rootroot00000000000000description gre over gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv6 addr 1234::1 ffff:: exit int tun2 tunnel vrf v1 tunnel mode gre tunnel source tun1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv6 addr 1234::2 ffff:: exit int tun2 tunnel vrf v1 tunnel mode gre tunnel source tun1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-gre04.tst000066400000000000000000000017411510423065500164550ustar00rootroot00000000000000description gre over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 int tun1 tunnel vrf v1 tunnel mode gre tunnel source lo0 tunnel destination 1.1.1.102 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 int tun1 tunnel vrf v1 tunnel mode gre tunnel source lo0 tunnel destination 1.1.1.101 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-gre05.tst000066400000000000000000000017231510423065500164560ustar00rootroot00000000000000description ppp with gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.2 vcid 1234 protocol greppp exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.1 vcid 1234 protocol greppp exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 r2 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-gre06.tst000066400000000000000000000016221510423065500164550ustar00rootroot00000000000000description hdlc with gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc hdlc vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.2 vcid 1234 protocol greppp exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc hdlc vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.1 vcid 1234 protocol greppp exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 r2 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-gre07.tst000066400000000000000000000016411510423065500164570ustar00rootroot00000000000000description lapb with gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc lapb vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.2 vcid 1234 protocol greppp exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc lapb lapb mode dce vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.1 vcid 1234 protocol greppp exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 r2 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-gre08.tst000066400000000000000000000020151510423065500164540ustar00rootroot00000000000000description framerelay with gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.2 vcid 1234 protocol greppp exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc framerelay framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.1 vcid 1234 protocol greppp exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 r2 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-gre09.tst000066400000000000000000000017201510423065500164570ustar00rootroot00000000000000description atmdxi with gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.2 vcid 1234 protocol greppp exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.1 vcid 1234 protocol greppp exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 r2 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-gre10.tst000066400000000000000000000016411510423065500164510ustar00rootroot00000000000000description isdn with gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.2 vcid 1234 protocol greppp exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc isdn vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.1 vcid 1234 protocol greppp exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 r2 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-gre11.tst000066400000000000000000000016171510423065500164550ustar00rootroot00000000000000description sep with gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc sep vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.2 vcid 1234 protocol greppp exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc sep vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.1 vcid 1234 protocol greppp exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 r2 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-gre12.tst000066400000000000000000000013321510423065500164500ustar00rootroot00000000000000description gre server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source eth1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int temp1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: shut exit server gre mi clone temp1 vrf v1 exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-gre13.tst000066400000000000000000000015761510423065500164630ustar00rootroot00000000000000description gre with checksum addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel checksum tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel checksum tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full freeRtr-25.11.9/cfg/conn-gre14.tst000066400000000000000000000015761510423065500164640ustar00rootroot00000000000000description gre with sequence addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel sequence tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel sequence tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full freeRtr-25.11.9/cfg/conn-gre15.tst000066400000000000000000000016011510423065500164520ustar00rootroot00000000000000description gre with key addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel key 12345678 tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel key 12345678 tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full freeRtr-25.11.9/cfg/conn-gre16.tst000066400000000000000000000017141510423065500164600ustar00rootroot00000000000000description gre with everything addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel checksum tunnel sequence tunnel key 12345678 tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel checksum tunnel sequence tunnel key 12345678 tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full freeRtr-25.11.9/cfg/conn-gre17.tst000066400000000000000000000016361510423065500164640ustar00rootroot00000000000000description gre with asymmetric key addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel key 12345678 87654321 tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel key 87654321 12345678 tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full freeRtr-25.11.9/cfg/conn-gtp01.tst000066400000000000000000000024311510423065500164640ustar00rootroot00000000000000description ppp over gtp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 ipv6 addr 4444::4 ffff:: exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ipv6 addr 4321::1 ffff:: ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit server gtp gtp clone di1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ipv6 addr 4321::2 ffff:: ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit vpdn gtp int di1 proxy p1 tar 1.1.1.1 called inet calling 4321 dir in prot gtp exit ! r2 tping 100 60 2.2.2.0 vrf v1 r2 tping 100 5 4.4.4.4 vrf v1 r2 tping 100 5 4321::1 vrf v1 r2 output show inter dia1 full output ../binTmp/conn-gtp.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-gtp02.tst000066400000000000000000000016161510423065500164710ustar00rootroot00000000000000description ipv4 over gtp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 ipv6 addr 4444::4 ffff:: exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 ipv6 pool p6 2222::1111 ::1 254 int di1 enc iponly vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ipv4 pool p4 exit server gtp gtp clone di1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc raw vrf for v1 ipv4 addr 3.3.3.3 0.0.0.0 ipv6 addr 3333::3333 :: exit vpdn gtp int di1 proxy p1 tar 1.1.1.1 called inet calling 4321 dir in prot gtp exit ! r2 tping 100 60 4.4.4.4 vrf v1 r2 tping 0 5 4444::4 vrf v1 freeRtr-25.11.9/cfg/conn-gtp03.tst000066400000000000000000000016051510423065500164700ustar00rootroot00000000000000description ipv6 over gtp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 ipv6 addr 4444::4 ffff:: exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 ipv6 pool p6 2222::1111 ::1 254 int di1 enc iponly vrf for v1 ipv6 addr 2222::0 ffff:: ipv6 pool p6 exit server gtp gtp clone di1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc raw vrf for v1 ipv4 addr 3.3.3.3 0.0.0.0 ipv6 addr 3333::3333 :: exit vpdn gtp int di1 proxy p1 tar 1234::1 called inet calling 4321 dir in prot gtp exit ! r2 tping 100 60 4444::4 vrf v1 r2 tping 0 5 4.4.4.4 vrf v1 freeRtr-25.11.9/cfg/conn-gtp04.tst000066400000000000000000000017011510423065500164660ustar00rootroot00000000000000description ipv4 and ipv6 over gtp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 ipv6 addr 4444::4 ffff:: exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 ipv6 pool p6 2222::1111 ::1 254 int di1 enc iponly vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ipv4 pool p4 ipv6 addr 2222::0 ffff:: ipv6 pool p6 exit server gtp gtp clone di1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc raw vrf for v1 ipv4 addr 3.3.3.3 0.0.0.0 ipv6 addr 3333::3333 :: exit vpdn gtp int di1 proxy p1 tar 1.1.1.1 called inet calling 4321 dir in prot gtp exit ! r2 tping 100 60 4.4.4.4 vrf v1 r2 tping 100 5 4444::4 vrf v1 freeRtr-25.11.9/cfg/conn-gtp05.tst000066400000000000000000000016071510423065500164740ustar00rootroot00000000000000description gtp tunnel addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 ipv6 addr 4444::4 ffff:: exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 ipv6 pool p6 2222::1111 ::1 254 int di1 enc iponly vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ipv4 pool p4 ipv6 addr 2222::0 ffff:: ipv6 pool p6 exit server gtp gtp clone di1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gtp tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 3.3.3.3 0.0.0.0 ipv6 addr 3333::3333 :: exit ! r2 tping 100 60 4.4.4.4 vrf v1 r2 tping 100 5 4444::4 vrf v1 freeRtr-25.11.9/cfg/conn-hairpin01.tst000066400000000000000000000012001510423065500173150ustar00rootroot00000000000000description ethernet hairpin addrouter r1 ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit hairpin 1 exit int hairpin11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int hairpin12 vrf for v2 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1.1.1.1 vrf v2 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1234::1 vrf v2 r1 output show inter ha11 full output ../binTmp/conn-hairpin.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-hairpin02.tst000066400000000000000000000006511510423065500173270ustar00rootroot00000000000000description serial hairpin addrouter r1 ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit hairpin 1 no ether exit int hairpin11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int hairpin12 vrf for v2 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1.1.1.1 vrf v2 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1234::1 vrf v2 freeRtr-25.11.9/cfg/conn-hairpin03.tst000066400000000000000000000007121510423065500173260ustar00rootroot00000000000000description bundle hairpin addrouter r1 ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit hairpin 1 exit bundle 1 exit int hairpin11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int hairpin12 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1.1.1.1 vrf v2 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1234::1 vrf v2 freeRtr-25.11.9/cfg/conn-hairpin04.tst000066400000000000000000000011031510423065500173220ustar00rootroot00000000000000description bridge hairpin addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit hairpin 1 exit bridge 1 exit int hairpin11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int hairpin12 bridge-gr 1 exit int eth1 bridge-gr 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-hdlc.tst000066400000000000000000000012621510423065500164440ustar00rootroot00000000000000description hdlc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 r1 output show inter ser1 full output ../binTmp/conn-hdlc.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-hip01.tst000066400000000000000000000020231510423065500164470ustar00rootroot00000000000000description hip over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode hip tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode hip tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full output ../binTmp/conn-hip.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-hip02.tst000066400000000000000000000014701510423065500164550ustar00rootroot00000000000000description hip over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode hip tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode hip tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-hip03.tst000066400000000000000000000021101510423065500164460ustar00rootroot00000000000000description hip over hip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode hip tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv6 addr 1234::1 ffff:: exit int tun2 tunnel vrf v1 tunnel mode hip tunnel source tun1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode hip tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv6 addr 1234::2 ffff:: exit int tun2 tunnel vrf v1 tunnel mode hip tunnel source tun1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-hip04.tst000066400000000000000000000017411510423065500164600ustar00rootroot00000000000000description hip over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 int tun1 tunnel vrf v1 tunnel mode hip tunnel source lo0 tunnel destination 1.1.1.102 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 int tun1 tunnel vrf v1 tunnel mode hip tunnel source lo0 tunnel destination 1.1.1.101 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-hsrp.tst000066400000000000000000000036671510423065500165210ustar00rootroot00000000000000description hsrp over ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.254 ipv6 route v1 :: :: 1234::254 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv4 hsrp address 1.1.1.254 ipv4 hsrp priority 120 ipv4 hsrp preempt ipv6 addr 1234::2 ffff:: ipv6 hsrp address 1234::254 ipv6 hsrp priority 120 ipv6 hsrp preempt exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv4 hsrp address 1.1.1.254 ipv4 hsrp priority 110 ipv4 hsrp preempt ipv6 addr 1234::3 ffff:: ipv6 hsrp address 1234::254 ipv6 hsrp priority 110 ipv6 hsrp preempt exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.0 ipv6 addr 4321::3 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.1.3 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1234::3 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1234::2 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r1 tping 100 5 4321::2 vrf v1 r1 tping 0 5 2.2.2.3 vrf v1 r1 tping 0 5 4321::3 vrf v1 r2 send conf t r2 send int eth1 r2 send shut r2 send end r1 tping 0 5 2.2.2.2 vrf v1 r1 tping 0 5 4321::2 vrf v1 r1 tping 100 5 2.2.2.3 vrf v1 r1 tping 100 5 4321::3 vrf v1 freeRtr-25.11.9/cfg/conn-icmp01.tst000066400000000000000000000017711510423065500166300ustar00rootroot00000000000000description icmptunnel over ipv4 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode icmp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode icmp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full output ../binTmp/conn-icmp.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-icmp02.tst000066400000000000000000000014351510423065500166260ustar00rootroot00000000000000description icmptunnel over ipv6 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode icmp tunnel source ser1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode icmp tunnel source ser1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-icmp03.tst000066400000000000000000000020541510423065500166250ustar00rootroot00000000000000description icmptunnel over icmptunnel addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode icmp tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun2 tunnel vrf v1 tunnel mode icmp tunnel source tun1 tunnel destination 2.2.2.2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode icmp tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun2 tunnel vrf v1 tunnel mode icmp tunnel source tun1 tunnel destination 2.2.2.1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 3.3.3.2 vrf v1 r2 tping 100 5 3.3.3.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-icmp04.tst000066400000000000000000000017521510423065500166320ustar00rootroot00000000000000description icmptunnel over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 int tun1 tunnel vrf v1 tunnel mode icmp tunnel source lo0 tunnel destination 1.1.1.102 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 int tun1 tunnel vrf v1 tunnel mode icmp tunnel source lo0 tunnel destination 1.1.1.101 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-infini.tst000066400000000000000000000012771510423065500170140ustar00rootroot00000000000000description infini encapsulation addrouter r1 int infini1 inf - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int infini1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int infini1 inf - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int infini1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 output show interface infini1 full output ../binTmp/conn-infini.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-ipcomp01.tst000066400000000000000000000020371510423065500171630ustar00rootroot00000000000000description ipcomp over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode ipcomp tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode ipcomp tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full output ../binTmp/conn-ipcomp.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-ipcomp02.tst000066400000000000000000000015011510423065500171570ustar00rootroot00000000000000description ipcomp over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode ipcomp tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode ipcomp tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-ipcomp03.tst000066400000000000000000000021321510423065500171610ustar00rootroot00000000000000description ipcomp over ipcomp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode ipcomp tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv6 addr 1234::1 ffff:: exit int tun2 tunnel vrf v1 tunnel mode ipcomp tunnel source tun1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode ipcomp tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv6 addr 1234::2 ffff:: exit int tun2 tunnel vrf v1 tunnel mode ipcomp tunnel source tun1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-ipcomp04.tst000066400000000000000000000017521510423065500171710ustar00rootroot00000000000000description ipcomp over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 int tun1 tunnel vrf v1 tunnel mode ipcomp tunnel source lo0 tunnel destination 1.1.1.102 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 int tun1 tunnel vrf v1 tunnel mode ipcomp tunnel source lo0 tunnel destination 1.1.1.101 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-ipenc01.tst000066400000000000000000000020331510423065500167660ustar00rootroot00000000000000description ipenc over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode ipenc tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode ipenc tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full output ../binTmp/conn-ipenc.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-ipenc02.tst000066400000000000000000000014761510423065500170010ustar00rootroot00000000000000description ipenc over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode ipenc tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode ipenc tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-ipenc03.tst000066400000000000000000000021241510423065500167710ustar00rootroot00000000000000description ipenc over ipenc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode ipenc tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv6 addr 1234::1 ffff:: exit int tun2 tunnel vrf v1 tunnel mode ipenc tunnel source tun1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode ipenc tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv6 addr 1234::2 ffff:: exit int tun2 tunnel vrf v1 tunnel mode ipenc tunnel source tun1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-ipenc04.tst000066400000000000000000000017471510423065500170040ustar00rootroot00000000000000description ipenc over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 int tun1 tunnel vrf v1 tunnel mode ipenc tunnel source lo0 tunnel destination 1.1.1.102 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 int tun1 tunnel vrf v1 tunnel mode ipenc tunnel source lo0 tunnel destination 1.1.1.101 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-ipip01.tst000066400000000000000000000020271510423065500166340ustar00rootroot00000000000000description ipip over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode ipip tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode ipip tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full output ../binTmp/conn-ipip.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-ipip02.tst000066400000000000000000000014731510423065500166410ustar00rootroot00000000000000description ipip over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode ipip tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode ipip tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-ipip03.tst000066400000000000000000000021161510423065500166350ustar00rootroot00000000000000description ipip over ipip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode ipip tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv6 addr 1234::1 ffff:: exit int tun2 tunnel vrf v1 tunnel mode ipip tunnel source tun1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode ipip tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv6 addr 1234::2 ffff:: exit int tun2 tunnel vrf v1 tunnel mode ipip tunnel source tun1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-ipip04.tst000066400000000000000000000017441510423065500166440ustar00rootroot00000000000000description ipip over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 int tun1 tunnel vrf v1 tunnel mode ipip tunnel source lo0 tunnel destination 1.1.1.102 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 int tun1 tunnel vrf v1 tunnel mode ipip tunnel source lo0 tunnel destination 1.1.1.101 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-iponly.tst000066400000000000000000000012721510423065500170450ustar00rootroot00000000000000description iponly addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc iponly vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc iponly vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 r1 output show inter ser1 full output ../binTmp/conn-iponly.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-isdn.tst000066400000000000000000000013011510423065500164610ustar00rootroot00000000000000description isdn addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 r1 output show inter ser1 full output ../binTmp/conn-isdn.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-l2f01.tst000066400000000000000000000022021510423065500163510ustar00rootroot00000000000000description ppp over l2f addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit server l2f l2f clone di1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit prefix-list p1 permit 0.0.0.0/0 exit int di1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit vpdn l2tp int di1 proxy p1 tar 1.1.1.1 prot l2f exit ! r2 tping 100 60 2.2.2.0 vrf v1 r2 tping 100 5 4.4.4.4 vrf v1 r2 output show inter dia1 full output ../binTmp/conn-l2f.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-l2f02.tst000066400000000000000000000017271510423065500163650ustar00rootroot00000000000000description ppp over authenticated l2f addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit server l2f l2f clone di1 password tester vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit prefix-list p1 permit 0.0.0.0/0 exit int di1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit vpdn l2tp int di1 proxy p1 tar 1.1.1.1 password tester prot l2f exit ! r2 tping 100 60 2.2.2.0 vrf v1 r2 tping 100 5 4.4.4.4 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp01.tst000066400000000000000000000022561510423065500165600ustar00rootroot00000000000000description ppp over l2tp2 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit server l2tp2 l2tp clone di1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit prefix-list p1 permit 0.0.0.0/0 exit int di1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit vpdn l2tp int di1 proxy p1 tar 1.1.1.1 called 1234 calling 4321 dir in prot l2tp2 exit ! r2 tping 100 60 2.2.2.0 vrf v1 r2 tping 100 60 4.4.4.4 vrf v1 r2 output show inter dia1 full output ../binTmp/conn-l2tp.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-l2tp02.tst000066400000000000000000000017561510423065500165650ustar00rootroot00000000000000description ppp over l2tp3 server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit server l2tp3 l2tp clone di1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit prefix-list p1 permit 0.0.0.0/0 exit int di1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit vpdn l2tp int di1 proxy p1 tar 1.1.1.1 called 1234 calling 4321 vcid 1234 dir out pwt ppp prot l2tp3 exit ! r2 tping 100 60 2.2.2.0 vrf v1 r2 tping 100 60 4.4.4.4 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp03.tst000066400000000000000000000014601510423065500165560ustar00rootroot00000000000000description ppp over l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit vpdn l2tp interface di1 proxy p1 tar 1.1.1.2 vcid 1234 dir out pwt ppp prot l2tp3 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit vpdn l2tp interface di1 proxy p1 tar 1.1.1.1 vcid 1234 dir in pwt ppp prot l2tp3 exit ! r2 tping 100 60 2.2.2.1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp04.tst000066400000000000000000000014651510423065500165640ustar00rootroot00000000000000description hdlc over l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc hdlc vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit vpdn l2tp interface di1 proxy p1 tar 1.1.1.2 vcid 1234 dir out pwt hdlc prot l2tp3 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc hdlc vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit vpdn l2tp interface di1 proxy p1 tar 1.1.1.1 vcid 1234 dir in pwt hdlc prot l2tp3 exit ! r2 tping 100 60 2.2.2.1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp05.tst000066400000000000000000000015041510423065500165570ustar00rootroot00000000000000description lapb over l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc lapb lapb mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit vpdn l2tp interface di1 proxy p1 tar 1.1.1.2 vcid 1234 dir out pwt hdlc prot l2tp3 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc lapb vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit vpdn l2tp interface di1 proxy p1 tar 1.1.1.1 vcid 1234 dir in pwt hdlc prot l2tp3 exit ! r2 tping 100 60 2.2.2.1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp06.tst000066400000000000000000000016601510423065500165630ustar00rootroot00000000000000description framerelay over l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit vpdn l2tp interface di1 proxy p1 tar 1.1.1.2 vcid 1234 dir out pwt hdlc prot l2tp3 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc framerelay framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit vpdn l2tp interface di1 proxy p1 tar 1.1.1.1 vcid 1234 dir in pwt hdlc prot l2tp3 exit ! r2 tping 100 60 2.2.2.1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp07.tst000066400000000000000000000015631510423065500165660ustar00rootroot00000000000000description atmdxi over l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit vpdn l2tp interface di1 proxy p1 tar 1.1.1.2 vcid 1234 dir out pwt hdlc prot l2tp3 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit vpdn l2tp interface di1 proxy p1 tar 1.1.1.1 vcid 1234 dir in pwt hdlc prot l2tp3 exit ! r2 tping 100 60 2.2.2.1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp08.tst000066400000000000000000000015041510423065500165620ustar00rootroot00000000000000description isdn over l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit vpdn l2tp interface di1 proxy p1 tar 1.1.1.2 vcid 1234 dir out pwt hdlc prot l2tp3 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc isdn vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit vpdn l2tp interface di1 proxy p1 tar 1.1.1.1 vcid 1234 dir in pwt hdlc prot l2tp3 exit ! r2 tping 100 60 2.2.2.1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp09.tst000066400000000000000000000014621510423065500165660ustar00rootroot00000000000000description sep over l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc sep vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit vpdn l2tp interface di1 proxy p1 tar 1.1.1.2 vcid 1234 dir out pwt hdlc prot l2tp3 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc sep vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit vpdn l2tp interface di1 proxy p1 tar 1.1.1.1 vcid 1234 dir in pwt hdlc prot l2tp3 exit ! r2 tping 100 60 2.2.2.1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp10.tst000066400000000000000000000014741510423065500165610ustar00rootroot00000000000000description port mode ppp over l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit vpdn l2tp interface di1 proxy p1 tar 1.1.1.2 vcid 1234 dir out pwt hdlc prot l2tp3 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit vpdn l2tp interface di1 proxy p1 tar 1.1.1.1 vcid 1234 dir in pwt hdlc prot l2tp3 exit ! r2 tping 100 60 2.2.2.1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp11.tst000066400000000000000000000026531510423065500165620ustar00rootroot00000000000000description ethernet over l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:ffff:: exit vpdn l2tp bridge-gr 1 proxy p1 tar 1.1.1.2 vcid 1234 dir out pwt eth prot l2tp3 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 mac-learn exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:ffff:: exit int eth2 bridge-gr 1 exit vpdn l2tp bridge-gr 1 proxy p1 tar 1.1.1.1 vcid 1234 dir in pwt eth prot l2tp3 exit ! addrouter r3 int eth1 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.0 ipv6 addr 4321::3 ffff:ffff:: exit ! r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp12.tst000066400000000000000000000026651510423065500165660ustar00rootroot00000000000000description vlan over l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 exit int bvi1.111 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:ffff:: exit vpdn l2tp bridge-gr 1 proxy p1 tar 1.1.1.2 vcid 1234 dir out pwt vlan prot l2tp3 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 mac-learn exit int bvi1.111 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:ffff:: exit int eth2 bridge-gr 1 exit vpdn l2tp bridge-gr 1 proxy p1 tar 1.1.1.1 vcid 1234 dir in pwt vlan prot l2tp3 exit ! addrouter r3 int eth1 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1.111 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.0 ipv6 addr 4321::3 ffff:ffff:: exit ! r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp13.tst000066400000000000000000000044401510423065500165600ustar00rootroot00000000000000description multipoint ethernet over l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit bridge 1 mac-learn exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:ffff:: exit server l2tp3 l2tp bridge 1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:ffff:: exit vpdn l2tp bridge-gr 1 proxy p1 tar 1.1.1.1 vcid 1234 dir out pwt eth prot l2tp3 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.0 ipv6 addr 4321::3 ffff:ffff:: exit vpdn l2tp bridge-gr 1 proxy p1 tar 1234:2::1 vcid 4321 dir out pwt eth prot l2tp3 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.0 ipv6 addr 4321::4 ffff:ffff:: exit ! r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 0 60 4321::2 vrf v1 r3 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp14.tst000066400000000000000000000020651510423065500165620ustar00rootroot00000000000000description hdlc tunneling with l2tp3 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc raw xconnect v1 eth1 l2tp3 1.1.1.2 1234 vlan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc raw xconnect v1 eth1 l2tp3 1.1.1.1 1234 vlan exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 60 1.1.1.2 vrf v1 r3 tping 100 60 1.1.1.1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp15.tst000066400000000000000000000021541510423065500165620ustar00rootroot00000000000000description ppp tunneling with l2tp3 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc raw xconnect v1 eth1 l2tp3 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc raw xconnect v1 eth1 l2tp3 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 60 1.1.1.2 vrf v1 r3 tping 100 60 1.1.1.1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp16.tst000066400000000000000000000021041510423065500165560ustar00rootroot00000000000000description lapb tunneling with l2tp3 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb lapb mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc raw xconnect v1 eth1 l2tp3 1.1.1.2 1234 vlan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc raw xconnect v1 eth1 l2tp3 1.1.1.1 1234 vlan exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 60 1.1.1.2 vrf v1 r3 tping 100 60 1.1.1.1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp17.tst000066400000000000000000000022601510423065500165620ustar00rootroot00000000000000description framerelay tunneling with l2tp3 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc raw xconnect v1 eth1 l2tp3 1.1.1.2 1234 vlan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc raw xconnect v1 eth1 l2tp3 1.1.1.1 1234 vlan exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 60 1.1.1.2 vrf v1 r3 tping 100 60 1.1.1.1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp18.tst000066400000000000000000000021631510423065500165650ustar00rootroot00000000000000description atmdxi tunneling with l2tp3 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc raw xconnect v1 eth1 l2tp3 1.1.1.2 1234 vlan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc raw xconnect v1 eth1 l2tp3 1.1.1.1 1234 vlan exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 60 1.1.1.2 vrf v1 r3 tping 100 60 1.1.1.1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp19.tst000066400000000000000000000021041510423065500165610ustar00rootroot00000000000000description isdn tunneling with l2tp3 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc raw xconnect v1 eth1 l2tp3 1.1.1.2 1234 vlan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc raw xconnect v1 eth1 l2tp3 1.1.1.1 1234 vlan exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 60 1.1.1.2 vrf v1 r3 tping 100 60 1.1.1.1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp20.tst000066400000000000000000000020621510423065500165540ustar00rootroot00000000000000description sep tunneling with l2tp3 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc raw xconnect v1 eth1 l2tp3 1.1.1.2 1234 vlan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc raw xconnect v1 eth1 l2tp3 1.1.1.1 1234 vlan exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 60 1.1.1.2 vrf v1 r3 tping 100 60 1.1.1.1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp21.tst000066400000000000000000000020751510423065500165610ustar00rootroot00000000000000description ethernet tunneling with l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ int eth2 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth2 xconnect v1 eth1 l2tp3 1234::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2 xconnect v1 eth1 l2tp3 1234::1 1234 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 60 1234::2 vrf v1 r3 tping 100 60 1234::1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp22.tst000066400000000000000000000021111510423065500165510ustar00rootroot00000000000000description vlan tunneling with l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.111 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ int eth2 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth2.111 xconnect v1 eth1 l2tp3 1234::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2.222 xconnect v1 eth1 l2tp3 1234::1 1234 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1.222 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 60 1234::2 vrf v1 r3 tping 100 60 1234::1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp23.tst000066400000000000000000000015671510423065500165700ustar00rootroot00000000000000description tunnel interface with l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 1234 tun mod l2tp3 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 1234 tun mod l2tp3 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 60 1.1.1.2 vrf v1 r2 tping 100 60 1.1.1.1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp24.tst000066400000000000000000000020021510423065500165520ustar00rootroot00000000000000description ppp over authenticated l2tp2 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit server l2tp2 l2tp clone di1 password tester vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit prefix-list p1 permit 0.0.0.0/0 exit int di1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit vpdn l2tp int di1 proxy p1 tar 1.1.1.1 called 1234 calling 4321 password tester dir in prot l2tp2 exit ! r2 tping 100 60 2.2.2.0 vrf v1 r2 tping 100 60 4.4.4.4 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp25.tst000066400000000000000000000020361510423065500165620ustar00rootroot00000000000000description ppp over authenticated l2tp3 server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit server l2tp3 l2tp clone di1 password tester vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit prefix-list p1 permit 0.0.0.0/0 exit int di1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit vpdn l2tp int di1 proxy p1 tar 1.1.1.1 called 1234 calling 4321 vcid 1234 dir out password tester pwt ppp prot l2tp3 exit ! r2 tping 100 60 2.2.2.0 vrf v1 r2 tping 100 60 4.4.4.4 vrf v1 freeRtr-25.11.9/cfg/conn-l2tp26.tst000066400000000000000000000015401510423065500165620ustar00rootroot00000000000000description ppp over authenticated l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit vpdn l2tp interface di1 proxy p1 tar 1.1.1.2 vcid 1234 dir out password tester pwt ppp prot l2tp3 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit vpdn l2tp interface di1 proxy p1 tar 1.1.1.1 vcid 1234 dir in password tester pwt ppp prot l2tp3 exit ! r2 tping 100 60 2.2.2.1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/conn-lapb01.tst000066400000000000000000000013061510423065500166100ustar00rootroot00000000000000description lapb mod8 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb lapb mode dce vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 r1 output show inter ser1 full output ../binTmp/conn-lapb.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-lapb02.tst000066400000000000000000000010141510423065500166050ustar00rootroot00000000000000description lapb mod128 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb lapb mode dce lapb modul 128 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb lapb modul 128 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-lapb03.tst000066400000000000000000000010221510423065500166050ustar00rootroot00000000000000description lapb mod32768 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb lapb mode dce lapb modul 32768 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb lapb modul 32768 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-lisp01.tst000066400000000000000000000017631510423065500166500ustar00rootroot00000000000000description lisp over ipv4 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode lisp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode lisp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full output ../binTmp/conn-lisp.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-lisp02.tst000066400000000000000000000014271510423065500166460ustar00rootroot00000000000000description lisp over ipv6 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode lisp tunnel source ser1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode lisp tunnel source ser1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-lisp03.tst000066400000000000000000000020401510423065500166370ustar00rootroot00000000000000description lisp over lisp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode lisp tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun2 tunnel vrf v1 tunnel mode lisp tunnel source tun1 tunnel destination 2.2.2.2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode lisp tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun2 tunnel vrf v1 tunnel mode lisp tunnel source tun1 tunnel destination 2.2.2.1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 3.3.3.2 vrf v1 r2 tping 100 5 3.3.3.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-lisp04.tst000066400000000000000000000017441510423065500166520ustar00rootroot00000000000000description lisp over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 int tun1 tunnel vrf v1 tunnel mode lisp tunnel source lo0 tunnel destination 1.1.1.102 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 int tun1 tunnel vrf v1 tunnel mode lisp tunnel source lo0 tunnel destination 1.1.1.101 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-lisp05.tst000066400000000000000000000015171510423065500166510ustar00rootroot00000000000000description lisp over asymmetric ports addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode lisp tunnel key 1234 4321 tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode lisp tunnel key 4321 1234 tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-llcudp01.tst000066400000000000000000000025111510423065500171540ustar00rootroot00000000000000description llcudp over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 mac-learn exit vpdn vx bridge-group 1 proxy p1 target 1.1.1.2 protocol llcudp exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 mac-learn exit vpdn vx bridge-group 1 proxy p1 target 1.1.1.1 protocol llcudp exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r2 output show bridge 1 r2 output show inter bvi1 full r2 output show ipv4 arp bvi1 r2 output show ipv6 neigh bvi1 output ../binTmp/conn-llcudp.html here is the bridge:
show:0
here is the interface:
show:1
here is the arp:
show:2
here are the neighbors:
show:3
! freeRtr-25.11.9/cfg/conn-llcudp02.tst000066400000000000000000000015771510423065500171700ustar00rootroot00000000000000description llcudp over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 exit vpdn vx bridge-group 1 proxy p1 target 1234::2 protocol llcudp exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 exit vpdn vx bridge-group 1 proxy p1 target 1234::1 protocol llcudp exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-llcudp03.tst000066400000000000000000000021141510423065500171550ustar00rootroot00000000000000description llcudp over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 bridge 1 exit vpdn vx bridge-group 1 proxy p1 target 1.1.1.102 protocol llcudp exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 bridge 1 exit vpdn vx bridge-group 1 proxy p1 target 1.1.1.101 protocol llcudp exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-llcudp04.tst000066400000000000000000000020601510423065500171560ustar00rootroot00000000000000description hdlc tunneling with llcudp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc hdlc xconnect v1 eth1 llcudp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc hdlc xconnect v1 eth1 llcudp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-llcudp05.tst000066400000000000000000000021571510423065500171660ustar00rootroot00000000000000description ppp tunneling with llcudp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc ppp xconnect v1 eth1 llcudp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc ppp xconnect v1 eth1 llcudp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-llcudp06.tst000066400000000000000000000021161510423065500171620ustar00rootroot00000000000000description lapb tunneling with llcudp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb lapb mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc lapb xconnect v1 eth1 llcudp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc lapb lapb mode dce xconnect v1 eth1 llcudp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-llcudp07.tst000066400000000000000000000024401510423065500171630ustar00rootroot00000000000000description framerelay tunneling with llcudp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 llcudp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 llcudp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-llcudp08.tst000066400000000000000000000022521510423065500171650ustar00rootroot00000000000000description atmdxi tunneling with llcudp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 llcudp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 llcudp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-llcudp09.tst000066400000000000000000000021161510423065500171650ustar00rootroot00000000000000description isdn tunneling with llcudp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc isdn xconnect v1 eth1 llcudp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc isdn xconnect v1 eth1 llcudp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-llcudp10.tst000066400000000000000000000020531510423065500171550ustar00rootroot00000000000000description sep tunneling with llcudp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc sep xconnect v1 eth1 llcudp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc sep xconnect v1 eth1 llcudp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-llcudp11.tst000066400000000000000000000021001510423065500171470ustar00rootroot00000000000000description ethernet tunneling with llcudp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1 xconnect v1 eth2 llcudp 1234::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2 xconnect v1 eth1 llcudp 1234::1 1234 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-llcudp12.tst000066400000000000000000000021141510423065500171550ustar00rootroot00000000000000description vlan tunneling with llcudp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.111 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1.111 xconnect v1 eth2 llcudp 1234::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2.222 xconnect v1 eth1 llcudp 1234::1 1234 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1.222 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-llcudp13.tst000066400000000000000000000015721510423065500171650ustar00rootroot00000000000000description tunnel interface with llcudp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 1234 tun mod llcudp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 1234 tun mod llcudp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-lwapp01.tst000066400000000000000000000025051510423065500170170ustar00rootroot00000000000000description lwapp over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 mac-learn exit vpdn vx bridge-group 1 proxy p1 target 1.1.1.2 protocol lwapp exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 mac-learn exit vpdn vx bridge-group 1 proxy p1 target 1.1.1.1 protocol lwapp exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r2 output show bridge 1 r2 output show inter bvi1 full r2 output show ipv4 arp bvi1 r2 output show ipv6 neigh bvi1 output ../binTmp/conn-lwapp.html here is the bridge:
show:0
here is the interface:
show:1
here is the arp:
show:2
here are the neighbors:
show:3
! freeRtr-25.11.9/cfg/conn-lwapp02.tst000066400000000000000000000015741510423065500170250ustar00rootroot00000000000000description lwapp over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 exit vpdn vx bridge-group 1 proxy p1 target 1234::2 protocol lwapp exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 exit vpdn vx bridge-group 1 proxy p1 target 1234::1 protocol lwapp exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-lwapp03.tst000066400000000000000000000021111510423065500170120ustar00rootroot00000000000000description lwapp over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 bridge 1 exit vpdn vx bridge-group 1 proxy p1 target 1.1.1.102 protocol lwapp exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 bridge 1 exit vpdn vx bridge-group 1 proxy p1 target 1.1.1.101 protocol lwapp exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-lwapp04.tst000066400000000000000000000020551510423065500170220ustar00rootroot00000000000000description hdlc tunneling with lwapp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc hdlc xconnect v1 eth1 lwapp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc hdlc xconnect v1 eth1 lwapp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-lwapp05.tst000066400000000000000000000021541510423065500170230ustar00rootroot00000000000000description ppp tunneling with lwapp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc ppp xconnect v1 eth1 lwapp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc ppp xconnect v1 eth1 lwapp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-lwapp06.tst000066400000000000000000000021131510423065500170170ustar00rootroot00000000000000description lapb tunneling with lwapp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb lapb mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc lapb xconnect v1 eth1 lwapp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc lapb lapb mode dce xconnect v1 eth1 lwapp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-lwapp07.tst000066400000000000000000000024351510423065500170270ustar00rootroot00000000000000description framerelay tunneling with lwapp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 lwapp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 lwapp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-lwapp08.tst000066400000000000000000000022471510423065500170310ustar00rootroot00000000000000description atmdxi tunneling with lwapp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 lwapp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 lwapp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-lwapp09.tst000066400000000000000000000021131510423065500170220ustar00rootroot00000000000000description isdn tunneling with lwapp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc isdn xconnect v1 eth1 lwapp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc isdn xconnect v1 eth1 lwapp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-lwapp10.tst000066400000000000000000000020501510423065500170120ustar00rootroot00000000000000description sep tunneling with lwapp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc sep xconnect v1 eth1 lwapp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc sep xconnect v1 eth1 lwapp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-lwapp11.tst000066400000000000000000000020751510423065500170220ustar00rootroot00000000000000description ethernet tunneling with lwapp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1 xconnect v1 eth2 lwapp 1234::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2 xconnect v1 eth1 lwapp 1234::1 1234 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-lwapp12.tst000066400000000000000000000021111510423065500170120ustar00rootroot00000000000000description vlan tunneling with lwapp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.111 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1.111 xconnect v1 eth2 lwapp 1234::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2.222 xconnect v1 eth1 lwapp 1234::1 1234 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1.222 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-lwapp13.tst000066400000000000000000000015671510423065500170310ustar00rootroot00000000000000description tunnel interface with lwapp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 1234 tun mod lwapp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 1234 tun mod lwapp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-lwapp14.tst000066400000000000000000000015711510423065500170250ustar00rootroot00000000000000description lwapp server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 mac-learn exit vpdn er bridge-group 1 proxy p1 target 1.1.1.2 vcid 123 protocol lwapp exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 mac-learn exit server lwapp lw bridge 1 vrf v1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-minenc01.tst000066400000000000000000000020371510423065500171450ustar00rootroot00000000000000description minenc over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode minenc tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode minenc tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full output ../binTmp/conn-minenc.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-minenc02.tst000066400000000000000000000015011510423065500171410ustar00rootroot00000000000000description minenc over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode minenc tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode minenc tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-minenc03.tst000066400000000000000000000021321510423065500171430ustar00rootroot00000000000000description minenc over minenc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode minenc tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv6 addr 1234::1 ffff:: exit int tun2 tunnel vrf v1 tunnel mode minenc tunnel source tun1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode minenc tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv6 addr 1234::2 ffff:: exit int tun2 tunnel vrf v1 tunnel mode minenc tunnel source tun1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-minenc04.tst000066400000000000000000000017521510423065500171530ustar00rootroot00000000000000description minenc over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 int tun1 tunnel vrf v1 tunnel mode minenc tunnel source lo0 tunnel destination 1.1.1.102 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 int tun1 tunnel vrf v1 tunnel mode minenc tunnel source lo0 tunnel destination 1.1.1.101 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-modem01.tst000066400000000000000000000012331510423065500167720ustar00rootroot00000000000000description modem with alaw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit server modem sm codec alaw vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit dial-peer 1 codec alaw match-calling .* match-called .* vrf v1 myname 99 target 1.1.1.1 direction out exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 send pack modem 11 22 r2 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/conn-modem02.tst000066400000000000000000000012331510423065500167730ustar00rootroot00000000000000description modem with ulaw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit server modem sm codec ulaw vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit dial-peer 1 codec ulaw match-calling .* match-called .* vrf v1 myname 99 target 1.1.1.1 direction out exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 send pack modem 11 22 r2 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/conn-modem03.tst000066400000000000000000000023041510423065500167740ustar00rootroot00000000000000description modem with alaw through proxy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit server modem sm codec alaw vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 2345::1 ffff:: exit dial-peer 1 codec alaw match-calling .* match-called .* vrf v1 myname 99 target 1.1.1.1 direction out exit server sip sp vrf v1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 2345::2 ffff:: exit dial-peer 1 codec alaw match-calling .* match-called .* vrf v1 myname 99 register 1000 target 1.1.2.1 direction out exit ! r2 tping 100 5 1.1.2.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1.1.2.1 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 r3 send pack modem 11 22 r3 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/conn-modem04.tst000066400000000000000000000023041510423065500167750ustar00rootroot00000000000000description modem with ulaw through proxy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit server modem sm codec ulaw vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 2345::1 ffff:: exit dial-peer 1 codec ulaw match-calling .* match-called .* vrf v1 myname 99 target 1.1.1.1 direction out exit server sip sp vrf v1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 2345::2 ffff:: exit dial-peer 1 codec ulaw match-calling .* match-called .* vrf v1 myname 99 register 1000 target 1.1.2.1 direction out exit ! r2 tping 100 5 1.1.2.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1.1.2.1 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 r3 send pack modem 11 22 r3 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/conn-modem05.tst000066400000000000000000000023601510423065500170000ustar00rootroot00000000000000description modem with alaw through peer addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit server modem sm codec alaw vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 2345::1 ffff:: exit dial-peer 1 codec alaw match-calling .* match-called .* vrf v1 myname 99 target 1.1.1.1 direction out exit dial-peer 2 codec alaw match-calling .* match-called .* vrf v1 myname 77 target 1.1.2.2 port-local 5060 direction in exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 2345::2 ffff:: exit dial-peer 1 codec alaw match-calling .* match-called .* vrf v1 myname 99 target 1.1.2.1 port-local 5060 direction out exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.2.2 vrf v1 r3 send pack modem 11 22 r3 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/conn-modem06.tst000066400000000000000000000023601510423065500170010ustar00rootroot00000000000000description modem with ulaw through peer addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit server modem sm codec ulaw vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 2345::1 ffff:: exit dial-peer 1 codec ulaw match-calling .* match-called .* vrf v1 myname 99 target 1.1.1.1 direction out exit dial-peer 2 codec ulaw match-calling .* match-called .* vrf v1 myname 77 target 1.1.2.2 port-local 5060 direction in exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 2345::2 ffff:: exit dial-peer 1 codec ulaw match-calling .* match-called .* vrf v1 myname 99 target 1.1.2.1 port-local 5060 direction out exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.2.2 vrf v1 r3 send pack modem 11 22 r3 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/conn-modem07.tst000066400000000000000000000023711510423065500170040ustar00rootroot00000000000000description modem with alaw and ulaw through peer addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit server modem sm codec alaw vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 2345::1 ffff:: exit dial-peer 1 codec alaw match-calling .* match-called .* vrf v1 myname 99 target 1.1.1.1 direction out exit dial-peer 2 codec ulaw match-calling .* match-called .* vrf v1 myname 77 target 1.1.2.2 port-local 5060 direction in exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 2345::2 ffff:: exit dial-peer 1 codec ulaw match-calling .* match-called .* vrf v1 myname 99 target 1.1.2.1 port-local 5060 direction out exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.2.2 vrf v1 r3 send pack modem 11 22 r3 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/conn-modem08.tst000066400000000000000000000022731510423065500170060ustar00rootroot00000000000000description modem through ipv4 peer addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit server modem sm vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 2345::1 ffff:: exit dial-peer 1 match-calling .* match-called .* vrf v1 myname 99 target 1.1.1.1 direction out exit dial-peer 2 match-calling .* match-called .* vrf v1 myname 77 target 1.1.2.2 port-local 5060 direction in exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 2345::2 ffff:: exit dial-peer 1 match-calling .* match-called .* vrf v1 myname 99 target 1.1.2.1 port-local 5060 direction out exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.2.2 vrf v1 r3 send pack modem 11 22 r3 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/conn-modem09.tst000066400000000000000000000022731510423065500170070ustar00rootroot00000000000000description modem through ipv6 peer addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit server modem sm vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 2345::1 ffff:: exit dial-peer 1 match-calling .* match-called .* vrf v1 myname 99 target 1.1.1.1 direction out exit dial-peer 2 match-calling .* match-called .* vrf v1 myname 77 target 2345::2 port-local 5060 direction in exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 2345::2 ffff:: exit dial-peer 1 match-calling .* match-called .* vrf v1 myname 99 target 2345::1 port-local 5060 direction out exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 2345::2 vrf v1 r3 send pack modem 11 22 r3 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/conn-modem10.tst000066400000000000000000000024321510423065500167740ustar00rootroot00000000000000description modem through udp peer addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit server modem sm vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 2345::1 ffff:: exit dial-peer 1 match-calling .* match-called .* vrf v1 myname 99 target 1.1.1.1 direction out exit dial-peer 2 match-calling .* match-called .* vrf v1 myname 77 target 1.1.2.2 port-local 5060 protocol sip-udp direction in exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 2345::2 ffff:: exit dial-peer 1 match-calling .* match-called .* vrf v1 myname 99 target 1.1.2.1 port-local 5060 protocol sip-udp direction out exit ! r2 tping 100 5 1.1.2.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1.1.2.1 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 r3 send pack modem 11 22 r3 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/conn-modem11.tst000066400000000000000000000024501510423065500167750ustar00rootroot00000000000000description modem through tcp peer addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit server modem sm vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 2345::1 ffff:: exit dial-peer 1 match-calling .* match-called .* vrf v1 myname 99 target 1.1.1.1 direction out exit dial-peer 2 match-calling .* match-called .* vrf v1 myname 77 target 1.1.2.2 port-local 0 protocol sip-conn direction in exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 2345::2 ffff:: exit dial-peer 1 match-calling .* match-called .* vrf v1 myname 99 target 1.1.2.1 port-local 5060 port-remote 0 protocol sip-list direction out exit ! r2 tping 100 5 1.1.2.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1.1.2.1 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 r3 send pack modem 11 22 r3 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/conn-mplsip01.tst000066400000000000000000000017731510423065500172060ustar00rootroot00000000000000description mplsip over ipv4 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode mplsip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode mplsip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full output ../binTmp/conn-mplsip.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-mplsip02.tst000066400000000000000000000014351510423065500172020ustar00rootroot00000000000000description mplsip over ipv6 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode mplsip tunnel source ser1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode mplsip tunnel source ser1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-mplsip03.tst000066400000000000000000000020541510423065500172010ustar00rootroot00000000000000description mplsip over mplsip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode mplsip tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun2 tunnel vrf v1 tunnel mode mplsip tunnel source tun1 tunnel destination 2.2.2.2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode mplsip tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun2 tunnel vrf v1 tunnel mode mplsip tunnel source tun1 tunnel destination 2.2.2.1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 3.3.3.2 vrf v1 r2 tping 100 5 3.3.3.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-mplsip04.tst000066400000000000000000000017521510423065500172060ustar00rootroot00000000000000description mplsip over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 int tun1 tunnel vrf v1 tunnel mode mplsip tunnel source lo0 tunnel destination 1.1.1.102 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 int tun1 tunnel vrf v1 tunnel mode mplsip tunnel source lo0 tunnel destination 1.1.1.101 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-mplsip05.tst000066400000000000000000000013431510423065500172030ustar00rootroot00000000000000description mplsip server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int tun1 tunnel vrf v1 tunnel mode mplsip tunnel source eth1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int temp1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: shut exit server mplsip mi clone temp1 vrf v1 exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-mplsudp01.tst000066400000000000000000000017771510423065500173720ustar00rootroot00000000000000description mplsudp over ipv4 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode mplsudp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode mplsudp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full output ../binTmp/conn-mplsudp.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-mplsudp02.tst000066400000000000000000000014401510423065500173560ustar00rootroot00000000000000description mplsudp over ipv6 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode mplsudp tunnel source ser1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode mplsudp tunnel source ser1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-mplsudp03.tst000066400000000000000000000020621510423065500173600ustar00rootroot00000000000000description mplsudp over mplsudp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode mplsudp tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun2 tunnel vrf v1 tunnel mode mplsudp tunnel source tun1 tunnel destination 2.2.2.2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode mplsudp tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun2 tunnel vrf v1 tunnel mode mplsudp tunnel source tun1 tunnel destination 2.2.2.1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 3.3.3.2 vrf v1 r2 tping 100 5 3.3.3.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-mplsudp04.tst000066400000000000000000000017551510423065500173710ustar00rootroot00000000000000description mplsudp over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 int tun1 tunnel vrf v1 tunnel mode mplsudp tunnel source lo0 tunnel destination 1.1.1.102 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 int tun1 tunnel vrf v1 tunnel mode mplsudp tunnel source lo0 tunnel destination 1.1.1.101 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-mplsudp05.tst000066400000000000000000000013461510423065500173660ustar00rootroot00000000000000description mplsudp server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int tun1 tunnel vrf v1 tunnel mode mplsudp tunnel source eth1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int temp1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: shut exit server mplsudp mu clone temp1 vrf v1 exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-mplsudp06.tst000066400000000000000000000015301510423065500173620ustar00rootroot00000000000000description mplsudp over asymmetric ports addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel key 1234 4321 tunnel mode mplsudp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel key 4321 1234 tunnel mode mplsudp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-nos01.tst000066400000000000000000000020231510423065500164660ustar00rootroot00000000000000description nos over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode nos tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode nos tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full output ../binTmp/conn-nos.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-nos02.tst000066400000000000000000000014701510423065500164740ustar00rootroot00000000000000description nos over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode nos tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode nos tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-nos03.tst000066400000000000000000000021101510423065500164650ustar00rootroot00000000000000description nos over nos addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode nos tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv6 addr 1234::1 ffff:: exit int tun2 tunnel vrf v1 tunnel mode nos tunnel source tun1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode nos tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv6 addr 1234::2 ffff:: exit int tun2 tunnel vrf v1 tunnel mode nos tunnel source tun1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-nos04.tst000066400000000000000000000017411510423065500164770ustar00rootroot00000000000000description nos over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 int tun1 tunnel vrf v1 tunnel mode nos tunnel source lo0 tunnel destination 1.1.1.102 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 int tun1 tunnel vrf v1 tunnel mode nos tunnel source lo0 tunnel destination 1.1.1.101 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-nvgre01.tst000066400000000000000000000025311510423065500170140ustar00rootroot00000000000000description nvgre over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 mac-learn exit vpdn er bridge-group 1 proxy p1 target 1.1.1.2 vcid 123 protocol nvgre exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 mac-learn exit vpdn er bridge-group 1 proxy p1 target 1.1.1.1 vcid 123 protocol nvgre exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r2 output show bridge 1 r2 output show inter bvi1 full r2 output show ipv4 arp bvi1 r2 output show ipv6 neigh bvi1 output ../binTmp/conn-nvgre.html here is the bridge:
show:0
here is the interface:
show:1
here is the arp:
show:2
here are the neighbors:
show:3
! freeRtr-25.11.9/cfg/conn-nvgre02.tst000066400000000000000000000016201510423065500170130ustar00rootroot00000000000000description nvgre over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 exit vpdn er bridge-group 1 proxy p1 target 1234::2 vcid 123 protocol nvgre exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 exit vpdn er bridge-group 1 proxy p1 target 1234::1 vcid 123 protocol nvgre exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-nvgre03.tst000066400000000000000000000021351510423065500170160ustar00rootroot00000000000000description nvgre over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 bridge 1 exit vpdn er bridge-group 1 proxy p1 target 1.1.1.102 vcid 123 protocol nvgre exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 bridge 1 exit vpdn er bridge-group 1 proxy p1 target 1.1.1.101 vcid 123 protocol nvgre exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-nvgre04.tst000066400000000000000000000020531510423065500170160ustar00rootroot00000000000000description hdlc tunneling with nvgre addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc hdlc xconnect v1 eth1 nvgre 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc hdlc xconnect v1 eth1 nvgre 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-nvgre05.tst000066400000000000000000000021521510423065500170170ustar00rootroot00000000000000description ppp tunneling with nvgre addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc ppp xconnect v1 eth1 nvgre 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc ppp xconnect v1 eth1 nvgre 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-nvgre06.tst000066400000000000000000000021111510423065500170130ustar00rootroot00000000000000description lapb tunneling with nvgre addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb lapb mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc lapb xconnect v1 eth1 nvgre 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc lapb lapb mode dce xconnect v1 eth1 nvgre 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-nvgre07.tst000066400000000000000000000024331510423065500170230ustar00rootroot00000000000000description framerelay tunneling with nvgre addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 nvgre 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 nvgre 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-nvgre08.tst000066400000000000000000000022451510423065500170250ustar00rootroot00000000000000description atmdxi tunneling with nvgre addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 nvgre 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 nvgre 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-nvgre09.tst000066400000000000000000000021111510423065500170160ustar00rootroot00000000000000description isdn tunneling with nvgre addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc isdn xconnect v1 eth1 nvgre 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc isdn xconnect v1 eth1 nvgre 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-nvgre10.tst000066400000000000000000000020461510423065500170150ustar00rootroot00000000000000description sep tunneling with nvgre addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc sep xconnect v1 eth1 nvgre 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc sep xconnect v1 eth1 nvgre 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-nvgre11.tst000066400000000000000000000020731510423065500170160ustar00rootroot00000000000000description ethernet tunneling with nvgre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1 xconnect v1 eth2 nvgre 1234::2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2 xconnect v1 eth1 nvgre 1234::1 123 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-nvgre12.tst000066400000000000000000000021071510423065500170150ustar00rootroot00000000000000description vlan tunneling with nvgre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.111 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1.111 xconnect v1 eth2 nvgre 1234::2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2.222 xconnect v1 eth1 nvgre 1234::1 123 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1.222 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-nvgre13.tst000066400000000000000000000015651510423065500170250ustar00rootroot00000000000000description tunnel interface with nvgre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 123 tun mod nvgre vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 123 tun mod nvgre vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-p4lang01.tst000066400000000000000000000024511510423065500170610ustar00rootroot00000000000000description p4lang demultiplexer addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 exit int eth2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int sdn2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit server p4lang p4 interconnect eth1 export-vrf v1 export-port sdn1 1 export-port sdn2 9 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 exit int eth2 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 exit hair 1 exit hair 2 exit serv pktmux pm cpu eth1 data hair11 1 data hair21 9 control p1 3.3.3.1 9080 exit int hair12 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int hair22 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 3.3.3.2 vrf v1 r2 tping 100 5 3.3.3.1 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-p4lang02.tst000066400000000000000000000034551510423065500170670ustar00rootroot00000000000000description p4lang downlink addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 exit int eth2 exit int eth3 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit server p4lang p4 interconnect eth1 export-vrf v1 export-port sdn1 1 downlink 9 eth2 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $3b$ $3a$ int eth3 eth 0000.0000.2222 $4a$ $4b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 exit int eth2 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int eth3 vrf for v1 ipv4 addr 3.3.3.6 255.255.255.252 exit hair 1 exit hair 2 exit serv pktmux pm cpu eth1 data hair11 1 data hair21 9 control p1 3.3.3.1 9080 control p1 3.3.3.5 9080 exit int hair12 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int hair22 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int eth1 exit int eth2 vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 exit int sdn1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit server p4lang p4 interconnect eth1 export-vrf v1 export-port sdn1 9 vrf v1 exit ! r1 tping 100 5 3.3.3.2 vrf v1 r2 tping 100 5 3.3.3.1 vrf v1 r3 tping 100 5 3.3.3.6 vrf v1 r2 tping 100 5 3.3.3.5 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r3 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r3 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-pckoi01.tst000066400000000000000000000020761510423065500170040ustar00rootroot00000000000000description pckoip over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel key 123 tunnel mode pckoip tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel key 123 tunnel mode pckoip tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full output ../binTmp/conn-pckoi.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-pckoi02.tst000066400000000000000000000015411510423065500170010ustar00rootroot00000000000000description pckoip over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode pckoip tunnel key 123 tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode pckoip tunnel key 123 tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-pckoi03.tst000066400000000000000000000022321510423065500170000ustar00rootroot00000000000000description pckoip over pckoip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel key 123 tunnel mode pckoip tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv6 addr 1234::1 ffff:: exit int tun2 tunnel vrf v1 tunnel key 123 tunnel mode pckoip tunnel source tun1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel key 123 tunnel mode pckoip tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv6 addr 1234::2 ffff:: exit int tun2 tunnel vrf v1 tunnel key 123 tunnel mode pckoip tunnel source tun1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-pckoi04.tst000066400000000000000000000020121510423065500167750ustar00rootroot00000000000000description pckoip over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 int tun1 tunnel vrf v1 tunnel key 123 tunnel mode pckoip tunnel source lo0 tunnel destination 1.1.1.102 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 int tun1 tunnel vrf v1 tunnel key 123 tunnel mode pckoip tunnel source lo0 tunnel destination 1.1.1.101 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-pckot01.tst000066400000000000000000000017101510423065500170110ustar00rootroot00000000000000description ppp with packet over tcp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 enc hdlc ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit server pckotcp pou clone di1 vrf v1 exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int ser1 vrf for v1 enc hdlc ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit vpdn pou int di1 proxy p1 tar 1.1.1.1 vcid 2554 prot pckotcp exit ! r2 tping 100 60 2.2.2.0 vrf v1 r2 tping 100 5 4.4.4.4 vrf v1 freeRtr-25.11.9/cfg/conn-pckot02.tst000066400000000000000000000027321510423065500170170ustar00rootroot00000000000000description ppp with packet over tls addrouter r1 int ser1 ser - $1a$ $1b$ ! crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 crypto certificate dsa generate dsa dsa crypto certificate rsa generate rsa rsa crypto certificate ecdsa generate ecdsa ecdsa crypto certificate mldsa generate mldsa mldsa vrf def v1 rd 1:1 exit int ser1 vrf for v1 enc hdlc ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit server pckotcp pou clone di1 security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa security rsacert rsa security dsacert dsa security ecdsacert ecdsa security mldsacert mldsa security protocol tls vrf v1 exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 security tls exit int ser1 vrf for v1 enc hdlc ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit vpdn pou int di1 proxy p1 tar 1.1.1.1 vcid 2554 prot pckotcp exit ! r2 tping 100 60 2.2.2.0 vrf v1 r2 tping 100 5 4.4.4.4 vrf v1 freeRtr-25.11.9/cfg/conn-pckot03.tst000066400000000000000000000017101510423065500170130ustar00rootroot00000000000000description ppp with packet over txt addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 enc hdlc ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit server pckotxt pou clone di1 vrf v1 exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int ser1 vrf for v1 enc hdlc ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit vpdn pou int di1 proxy p1 tar 1.1.1.1 vcid 2554 prot pckotxt exit ! r2 tping 100 60 2.2.2.0 vrf v1 r2 tping 100 5 4.4.4.4 vrf v1 freeRtr-25.11.9/cfg/conn-pckot04.tst000066400000000000000000000027341510423065500170230ustar00rootroot00000000000000description ppp with packet over txtls addrouter r1 int ser1 ser - $1a$ $1b$ ! crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 crypto certificate dsa generate dsa dsa crypto certificate rsa generate rsa rsa crypto certificate ecdsa generate ecdsa ecdsa crypto certificate mldsa generate mldsa mldsa vrf def v1 rd 1:1 exit int ser1 vrf for v1 enc hdlc ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit server pckotxt pou clone di1 security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa security rsacert rsa security dsacert dsa security ecdsacert ecdsa security mldsacert mldsa security protocol tls vrf v1 exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 security tls exit int ser1 vrf for v1 enc hdlc ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit vpdn pou int di1 proxy p1 tar 1.1.1.1 vcid 2554 prot pckotxt exit ! r2 tping 100 60 2.2.2.0 vrf v1 r2 tping 100 5 4.4.4.4 vrf v1 freeRtr-25.11.9/cfg/conn-pckou01.tst000066400000000000000000000022761510423065500170220ustar00rootroot00000000000000description ppp with packet over udp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.2 vcid 1234 protocol pckoudp exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.1 vcid 1234 protocol pckoudp exit ! r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r2 tping 100 10 4321::1 vrf v1 r1 output show inter dia1 full output ../binTmp/conn-pckou.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-pckou02.tst000066400000000000000000000026411510423065500170170ustar00rootroot00000000000000description ethernet with packet over udp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:ffff:: exit vpdn pou bridge-gr 1 proxy p1 target 1.1.1.2 vcid 1234 protocol pckoudp exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 mac-learn exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:ffff:: exit int eth2 bridge-gr 1 exit vpdn pou bridge-gr 1 proxy p1 target 1.1.1.1 vcid 1234 protocol pckoudp exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.0 ipv6 addr 4321::3 ffff:ffff:: exit ! r3 tping 100 10 2.2.2.2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 r3 tping 100 10 4321::2 vrf v1 r3 tping 100 10 4321::1 vrf v1 r2 tping 100 10 2.2.2.3 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r2 tping 100 10 4321::3 vrf v1 r2 tping 100 10 4321::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 2.2.2.3 vrf v1 r1 tping 100 10 4321::2 vrf v1 r1 tping 100 10 4321::3 vrf v1 freeRtr-25.11.9/cfg/conn-pckou03.tst000066400000000000000000000020731510423065500170170ustar00rootroot00000000000000description hdlc tunneling with packet over udp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc hdlc xconnect v1 eth1 pckoudp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc hdlc xconnect v1 eth1 pckoudp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-pckou04.tst000066400000000000000000000021721510423065500170200ustar00rootroot00000000000000description ppp tunneling with packet over udp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc ppp xconnect v1 eth1 pckoudp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc ppp xconnect v1 eth1 pckoudp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-pckou05.tst000066400000000000000000000021311510423065500170140ustar00rootroot00000000000000description lapb tunneling with packet over udp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb lapb mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc lapb xconnect v1 eth1 pckoudp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc lapb lapb mode dce xconnect v1 eth1 pckoudp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-pckou06.tst000066400000000000000000000024531510423065500170240ustar00rootroot00000000000000description framerelay tunneling with packet over udp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 pckoudp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 pckoudp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-pckou07.tst000066400000000000000000000022651510423065500170260ustar00rootroot00000000000000description atmdxi tunneling with packet over udp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 pckoudp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 pckoudp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-pckou08.tst000066400000000000000000000021311510423065500170170ustar00rootroot00000000000000description isdn tunneling with packet over udp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc isdn xconnect v1 eth1 pckoudp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc isdn xconnect v1 eth1 pckoudp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-pckou09.tst000066400000000000000000000020661510423065500170270ustar00rootroot00000000000000description sep tunneling with packet over udp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc sep xconnect v1 eth1 pckoudp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc sep xconnect v1 eth1 pckoudp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-pckou10.tst000066400000000000000000000021131510423065500170100ustar00rootroot00000000000000description ethernet tunneling with packet over udp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1 xconnect v1 eth2 pckoudp 1234::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2 xconnect v1 eth1 pckoudp 1234::1 1234 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-pckou11.tst000066400000000000000000000021271510423065500170160ustar00rootroot00000000000000description vlan tunneling with packet over udp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.111 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1.111 xconnect v1 eth2 pckoudp 1234::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2.222 xconnect v1 eth1 pckoudp 1234::1 1234 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1.222 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-pckou12.tst000066400000000000000000000016051510423065500170170ustar00rootroot00000000000000description tunnel interface with packet over udp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 1234 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 1234 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-pckou13.tst000066400000000000000000000017031510423065500170170ustar00rootroot00000000000000description ppp over packet over udp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit server pckoudp pou clone di1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit vpdn pou int di1 proxy p1 tar 1.1.1.1 prot pckoudp exit ! r2 tping 100 60 2.2.2.0 vrf v1 r2 tping 100 5 4.4.4.4 vrf v1 freeRtr-25.11.9/cfg/conn-pckou14.tst000066400000000000000000000016251510423065500170230ustar00rootroot00000000000000description ethernet over packet over udp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:ffff:: exit server pckoudp pou bridge 1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:ffff:: exit vpdn pou bridge-gr 1 proxy p1 tar 1.1.1.1 prot pckoudp exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/conn-pckou15.tst000066400000000000000000000015761510423065500170310ustar00rootroot00000000000000description interworking with ethernet over packet over udp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:ffff:: exit server pckoudp pou bridge 1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int pweth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:ffff:: pseudo v1 eth1 pckoudp 1.1.1.1 2554 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/conn-pckou16.tst000066400000000000000000000017161510423065500170260ustar00rootroot00000000000000description interworking with packet over dtls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit server pckodtls pou clone di1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit vpdn pou int di1 proxy p1 tar 1.1.1.1 prot pckoudp exit ! r2 tping 100 60 2.2.2.0 vrf v1 r2 tping 100 5 4.4.4.4 vrf v1 freeRtr-25.11.9/cfg/conn-pckou17.tst000066400000000000000000000031641510423065500170260ustar00rootroot00000000000000description ppp with packet over dtls addrouter r1 int ser1 ser - $1a$ $1b$ ! crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 crypto certificate dsa generate dsa dsa crypto certificate rsa generate rsa rsa crypto certificate ecdsa generate ecdsa ecdsa crypto certificate mldsa generate mldsa mldsa vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit server pckodtls pou clone di1 security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa security rsacert rsa security dsacert dsa security ecdsacert ecdsa security mldsacert mldsa security protocol dtls vrf v1 exit server dns dns zone test.corp defttl 43200 rr www.test.corp ip4a 1.1.1.1 vrf v1 exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 security dtls exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit vpdn pou int di1 proxy p1 tar www.test.corp vcid 2554 prot pckodtls exit proxy-profile p2 vrf v1 exit client proxy p2 client name-server 1.1.1.1 ! r2 tping 100 60 2.2.2.0 vrf v1 r2 tping 100 5 4.4.4.4 vrf v1 freeRtr-25.11.9/cfg/conn-pckou18.tst000066400000000000000000000016251510423065500170270ustar00rootroot00000000000000description packet over udp over asymmetric ports addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tun vrf v1 tunnel key 1234 4321 tun sou eth1 tun dest 1.1.1.2 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tunnel key 4321 1234 tun dest 1.1.1.1 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-pim01.tst000066400000000000000000000020231510423065500164540ustar00rootroot00000000000000description pim over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode pim tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode pim tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full output ../binTmp/conn-pim.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-pim02.tst000066400000000000000000000014701510423065500164620ustar00rootroot00000000000000description pim over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode pim tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode pim tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-pim03.tst000066400000000000000000000021101510423065500164530ustar00rootroot00000000000000description pim over pim addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode pim tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv6 addr 1234::1 ffff:: exit int tun2 tunnel vrf v1 tunnel mode pim tunnel source tun1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode pim tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv6 addr 1234::2 ffff:: exit int tun2 tunnel vrf v1 tunnel mode pim tunnel source tun1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-pim04.tst000066400000000000000000000017411510423065500164650ustar00rootroot00000000000000description pim over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 int tun1 tunnel vrf v1 tunnel mode pim tunnel source lo0 tunnel destination 1.1.1.102 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 int tun1 tunnel vrf v1 tunnel mode pim tunnel source lo0 tunnel destination 1.1.1.101 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-pipe01.tst000066400000000000000000000020271510423065500166300ustar00rootroot00000000000000description pipe over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode pipe tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode pipe tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full output ../binTmp/conn-pipe.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-pipe02.tst000066400000000000000000000014731510423065500166350ustar00rootroot00000000000000description pipe over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode pipe tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode pipe tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-pipe03.tst000066400000000000000000000021161510423065500166310ustar00rootroot00000000000000description pipe over pipe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode pipe tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv6 addr 1234::1 ffff:: exit int tun2 tunnel vrf v1 tunnel mode pipe tunnel source tun1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode pipe tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv6 addr 1234::2 ffff:: exit int tun2 tunnel vrf v1 tunnel mode pipe tunnel source tun1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-pipe04.tst000066400000000000000000000017441510423065500166400ustar00rootroot00000000000000description pipe over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 int tun1 tunnel vrf v1 tunnel mode pipe tunnel source lo0 tunnel destination 1.1.1.102 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 int tun1 tunnel vrf v1 tunnel mode pipe tunnel source lo0 tunnel destination 1.1.1.101 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-ppp01.tst000066400000000000000000000014001510423065500164640ustar00rootroot00000000000000description ppp encapsulation addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 r1 output show inter ser1 full output ../binTmp/conn-ppp.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-ppp02.tst000066400000000000000000000012051510423065500164700ustar00rootroot00000000000000description ppp with local authentication addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close ppp user c ppp pass c vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit aaa userlist usr username c password c exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close ppp auth usr vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-ppp03.tst000066400000000000000000000020511510423065500164710ustar00rootroot00000000000000description ppp with radius authentication addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close ppp user c ppp pass c vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth - $2a$ $2b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit client proxy p1 aaa radius usr secret c server 2.2.2.2 exit int eth1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close ppp auth usr ppp acco usr 11111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth - $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit aaa userlist usr username c password c exit server radius rad authen usr secret c logg vrf v1 exit ! r2 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-ppp04.tst000066400000000000000000000020661510423065500165000ustar00rootroot00000000000000description ppp with tacacs authentication addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close ppp user c ppp pass c vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth - $2a$ $2b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit client proxy p1 aaa tacacs usr secret c server 2.2.2.2 exit int eth1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close ppp refuse chap ppp refuse eap ppp auth usr vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth - $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit aaa userlist usr username c password c exit server tacacs rad authen usr secret c logg vrf v1 exit ! r2 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-ppp05.tst000066400000000000000000000020341510423065500164740ustar00rootroot00000000000000description ppp with ldap authentication addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close ppp user c ppp pass c vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth - $2a$ $2b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit client proxy p1 aaa ldap usr server 2.2.2.2 exit int eth1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close ppp refuse chap ppp refuse eap ppp auth usr vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth - $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit aaa userlist usr username c password c exit server ldap rad authen usr logg vrf v1 exit ! r2 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-ppp06.tst000066400000000000000000000012541510423065500165000ustar00rootroot00000000000000description ppp with pap authentication addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close ppp user c ppp pass c ppp refuseauth eap vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit aaa userlist usr username c password c exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close ppp auth usr ppp refuseauth chap vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-ppp07.tst000066400000000000000000000012541510423065500165010ustar00rootroot00000000000000description ppp with chap authentication addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close ppp user c ppp pass c ppp refuseauth eap vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit aaa userlist usr username c password c exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close ppp auth usr ppp refuseauth pap vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-ppp08.tst000066400000000000000000000012541510423065500165020ustar00rootroot00000000000000description ppp with eap authentication addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close ppp user c ppp pass c ppp refuseauth chap vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit aaa userlist usr username c password c exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close ppp auth usr ppp refuseauth pap vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-ppp09.tst000066400000000000000000000024171510423065500165050ustar00rootroot00000000000000description ppp routes with local authentication addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit prefix-list p4 permit 0.0.0.0/0 exit prefix-list p6 permit ::/0 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc ppp ppp ip4cp open ppp ip4cp local 0.0.0.0 ppp ip6cp open ppp user c ppp pass c vrf for v1 ipv4 addr dynamic dynamic ipv4 gateway-prefix p4 ipv6 addr dynamic dynamic ipv6 gateway-prefix p6 exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit aaa userlist usr username c password c username c ipv4addr 1.1.1.1 username c ipv4route 2.2.2.1/32 dist 123 username c ipv6addr 1234::1 username c ipv6ifid 1234-1234-1234-1234 username c ipv6route 4321::1/128 dist 222 exit int ser1 enc ppp ppp ip4cp local 1.1.1.2 ppp ip6cp open ppp auth usr vrf for v1 ipv4 addr dynamic dynamic ipv6 addr dynamic dynamic exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 r1 tping 100 30 4321::2 vrf v1 sou lo1 r2 tping 100 30 4321::1 vrf v1 sou lo1 freeRtr-25.11.9/cfg/conn-ppp10.tst000066400000000000000000000032371510423065500164760ustar00rootroot00000000000000description ppp routes with radius authentication addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit prefix-list p4 permit 0.0.0.0/0 exit prefix-list p6 permit ::/0 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc ppp ppp ip4cp open ppp ip4cp local 0.0.0.0 ppp ip6cp open ppp user c ppp pass c vrf for v1 ipv4 addr dynamic dynamic ipv4 gateway-prefix p4 ipv6 addr dynamic dynamic ipv6 gateway-prefix p6 exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth - $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 exit client proxy p1 aaa radius usr secret c server 3.3.3.3 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 exit int ser1 enc ppp ppp ip4cp local 1.1.1.2 ppp ip6cp open ppp auth usr vrf for v1 ipv4 addr dynamic dynamic ipv6 addr dynamic dynamic exit ! addrouter r3 int eth1 eth - $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 exit aaa userlist usr username c password c username c ipv4addr 1.1.1.1 username c ipv4route 2.2.2.1/32 dist 123 username c ipv6addr 1234::1 username c ipv6ifid 1234-1234-1234-1234 username c ipv6route 4321::1/128 dist 222 exit server radius rad authen usr secret c logg vrf v1 exit ! r2 tping 100 30 3.3.3.3 vrf v1 r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 r1 tping 100 30 4321::2 vrf v1 sou lo1 r2 tping 100 30 4321::1 vrf v1 sou lo1 freeRtr-25.11.9/cfg/conn-ppp11.tst000066400000000000000000000012461510423065500164750ustar00rootroot00000000000000description ppp with short multilink fragmentation addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close ppp multi 1500 short ppp frag 256 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close ppp multi 1500 short ppp frag 256 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 siz 1111 r2 tping 100 30 1.1.1.1 vrf v1 siz 1111 r1 tping 100 30 1234::2 vrf v1 siz 1111 r2 tping 100 30 1234::1 vrf v1 siz 1111 freeRtr-25.11.9/cfg/conn-ppp12.tst000066400000000000000000000012431510423065500164730ustar00rootroot00000000000000description ppp with long multilink fragmentation addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close ppp multi 1500 long ppp frag 256 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close ppp multi 1500 long ppp frag 256 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 siz 1111 r2 tping 100 30 1.1.1.1 vrf v1 siz 1111 r1 tping 100 30 1234::2 vrf v1 siz 1111 r2 tping 100 30 1234::1 vrf v1 siz 1111 freeRtr-25.11.9/cfg/conn-ppp13.tst000066400000000000000000000012521510423065500164740ustar00rootroot00000000000000description ppp with asymmetric multilink fragmentation addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close ppp multi 1500 short ppp frag 256 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close ppp multi 1500 long ppp frag 256 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 siz 1111 r2 tping 100 30 1.1.1.1 vrf v1 siz 1111 r1 tping 100 30 1234::2 vrf v1 siz 1111 r2 tping 100 30 1234::1 vrf v1 siz 1111 freeRtr-25.11.9/cfg/conn-ppp14.tst000066400000000000000000000011701510423065500164740ustar00rootroot00000000000000description ppp with asymmetric multilink addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close ppp multi 1500 long ppp frag 256 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 siz 1111 r2 tping 100 30 1.1.1.1 vrf v1 siz 1111 r1 tping 100 30 1234::2 vrf v1 siz 1111 r2 tping 100 30 1234::1 vrf v1 siz 1111 freeRtr-25.11.9/cfg/conn-ppp15.tst000066400000000000000000000015401510423065500164760ustar00rootroot00000000000000description ppp address propagation addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit aaa userlist usr username c password c exit int ser1 enc ppp ppp ip4cp open ppp ip6cp open ppp auth usr ppp ip4cp local 1.1.1.1 ppp ip4cp peer 1.1.1.2 ppp ip6cp keep ppp ip6cp local 0000-0000-0000-0001 ppp ip6cp peer 0000-0000-0000-0002 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:ffff:ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp open ppp ip6cp open ppp user c ppp pass c ppp ip4cp local 0.0.0.0 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 slaac ena exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-ppp16.tst000066400000000000000000000031031510423065500164740ustar00rootroot00000000000000description ppp labeled gateway addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit aaa userlist usr username c password c exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 1234:: ffff:: all 1234:: ffff:: all permit all any all any all exit int ser1 enc ppp ppp ip4cp open ppp ip6cp open ppp auth usr ppp ip4cp local 1.1.1.1 ppp ip4cp peer 1.1.1.2 ppp ip6cp keep ppp ip6cp local 0000-0000-0000-0001 ppp ip6cp peer 0000-0000-0000-0002 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:ffff:ffff:: ipv4 gateway-label expli ipv6 gateway-label expli ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 1234:: ffff:: all 1234:: ffff:: all permit all any all any all exit prefix-list p6 permit 1234::1/128 exit int ser1 enc ppp ppp ip4cp open ppp ip6cp open ppp user c ppp pass c ppp ip4cp local 0.0.0.0 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 gateway-label expli ipv6 gateway-label expli ipv6 slaac ena ipv6 gateway-prefix p6 ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-ppp17.tst000066400000000000000000000024131510423065500165000ustar00rootroot00000000000000description ppp no remote address addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit aaa userlist usr username c password c exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 2222::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc ppp ppp ip4cp open ppp ip6cp open ppp auth usr ppp ip4cp local 1.1.1.1 ppp ip4cp peer 1.1.1.2 ppp ip6cp keep ppp ip6cp local 0000-0000-0000-0001 ppp ip6cp peer 0000-0000-0000-0002 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:ffff:ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit prefix-list p4 permit 2.2.2.1/32 exit prefix-list p6 permit 2222::1/128 exit int lo1 vrf for v1 ipv4 addr 1.1.1.0 255.255.255.252 ipv6 addr 1234::0 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00 exit int ser1 enc ppp ppp ip4cp open ppp ip6cp open ppp user c ppp pass c ppp ip4cp local 0.0.0.0 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 slaac ena ipv4 gateway-prefix p4 ipv6 gateway-prefix p6 no ipv4 gateway-remote no ipv6 gateway-remote exit ! r1 tping 100 30 1.1.1.2 vrf v1 sou lo0 r1 tping 100 30 1234::2 vrf v1 sou lo0 r2 tping 0 30 1.1.1.1 vrf v1 r2 tping 0 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-ppp18.tst000066400000000000000000000024721510423065500165060ustar00rootroot00000000000000description ppp no local address addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit aaa userlist usr username c password c exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 2222::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc ppp ppp ip4cp open ppp ip6cp open ppp auth usr ppp ip4cp local 1.1.1.1 ppp ip4cp peer 1.1.1.2 ppp ip6cp keep ppp ip6cp local 0000-0000-0000-0001 ppp ip6cp peer 0000-0000-0000-0002 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:ffff:ffff:: no ipv4 gateway-local no ipv6 gateway-local no ipv4 gateway-connect no ipv6 gateway-connect exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit prefix-list p4 permit 2.2.2.1/32 exit prefix-list p6 permit 2222::1/128 exit int lo1 vrf for v1 ipv4 addr 1.1.1.0 255.255.255.252 ipv6 addr 1234::0 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00 exit int ser1 enc ppp ppp ip4cp open ppp ip6cp open ppp user c ppp pass c ppp ip4cp local 0.0.0.0 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 slaac ena ipv4 gateway-prefix p4 ipv6 gateway-prefix p6 exit ! r1 tping 100 30 1.1.1.2 vrf v1 sou lo0 r1 tping 100 30 1234::2 vrf v1 sou lo0 r2 tping 0 30 1.1.1.1 vrf v1 r2 tping 0 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-ppp19.tst000066400000000000000000000015221510423065500165020ustar00rootroot00000000000000description ppp policy with local authentication addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp user c ppp pass c vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit aaa userlist usr username c password c username c filter rate-limit-in 819 100 exit int ser1 enc ppp ppp auth usr vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 r2 tping 85-95 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 85-95 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1234::2 vrf v1 rep 100 tim 500 siz 100 freeRtr-25.11.9/cfg/conn-ppp20.tst000066400000000000000000000023431510423065500164740ustar00rootroot00000000000000description ppp policy with radius authentication addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp user c ppp pass c vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth - $2a$ $2b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit client proxy p1 aaa radius usr secret c server 3.3.3.3 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 exit int ser1 enc ppp ppp auth usr vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth - $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 exit aaa userlist usr username c password c username c filter rate-limit-out 819 100 exit server radius rad authen usr secret c logg vrf v1 exit ! r2 tping 100 30 3.3.3.3 vrf v1 r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 r2 tping 85-95 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 85-95 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1234::2 vrf v1 rep 100 tim 500 siz 100 freeRtr-25.11.9/cfg/conn-pppoe01.tst000066400000000000000000000016701510423065500170210ustar00rootroot00000000000000description pppoe over ethernet encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit int eth1 p2poe server di1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit int eth1 p2poe client di1 exit ! r2 tping 100 30 2.2.2.0 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r2 output show inter dia1 full output ../binTmp/conn-pppoe.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-pppoe02.tst000066400000000000000000000014571510423065500170250ustar00rootroot00000000000000description pppoe over bridge encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit int eth1 bridge-gr 1 exit int bvi1 p2poe server di1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit bridge 1 exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit int eth1 bridge-gr 1 exit int bvi1 p2poe client di1 exit ! r2 tping 100 30 2.2.2.0 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/conn-pppoe03.tst000066400000000000000000000016621510423065500170240ustar00rootroot00000000000000description ppp relay over pppoe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int eth1 p2poe client di1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int ser1 ser - $2a$ $2b$ ! int eth1 p2poe relay ser1 exit int ser1 enc raw exit ! addrouter r3 int ser1 ser - $2b$ $2a$ int eth1 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 exit int eth1 p2poe relay di1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 exit int eth1 p2poe client di1 exit ! r1 tping 100 30 1.1.1.2 vrf v1 r3 tping 100 30 1.1.1.1 vrf v1 r3 tping 100 30 1.1.1.6 vrf v1 r4 tping 100 30 1.1.1.5 vrf v1 freeRtr-25.11.9/cfg/conn-pptp.tst000066400000000000000000000022341510423065500165150ustar00rootroot00000000000000description ppp over pptp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit server pptp pptp clone di1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit prefix-list p1 permit 0.0.0.0/0 exit int di1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit vpdn pptp int di1 proxy p1 tar 1.1.1.1 called 1234 dir in prot pptp exit ! r2 tping 100 60 2.2.2.0 vrf v1 r2 tping 100 5 4.4.4.4 vrf v1 r2 output show inter dia1 full output ../binTmp/conn-pptp.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-raw.tst000066400000000000000000000012701510423065500163220ustar00rootroot00000000000000description raw encapsulation addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc raw vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc raw vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 output show inter ser1 full output ../binTmp/conn-raw.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-redun01.tst000066400000000000000000000053671510423065500170220ustar00rootroot00000000000000description process redundancy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 2.2.2.0 255.255.255.0 1.1.1.3 ipv6 route v1 4321:: ffff:: 1234::3 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ int eth4 eth 0000.0000.3333 $4a$ $4b$ int eth31 eth 0000.0000.3333 $5a$ $5b$ int eth32 eth 0000.0000.3333 $6a$ $6b$ int eth41 eth 0000.0000.3333 $7a$ $7b$ int eth42 eth 0000.0000.3333 $8a$ $8b$ int eth51 eth 0000.0000.3333 $9a$ $9b$ int eth52 eth 0000.0000.3333 $10a$ $10b$ ! vrf def v1 rd 1:1 exit bridge 1 exit bridge 34 mac-learn block-unicast exit bridge 35 mac-learn block-unicast exit bridge 45 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 shut exit int eth3 bridge-gr 1 exit int eth4 bridge-gr 1 exit int eth31 bridge-gr 34 shut exit int eth41 bridge-gr 34 exit int eth32 bridge-gr 35 shut exit int eth51 bridge-gr 35 exit int eth42 bridge-gr 45 exit int eth52 bridge-gr 45 exit ! addrouter r3 nowrite int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth8 red eth 0000.0000.3333 $5b$ $5a$ int eth9 red eth 0000.0000.3333 $6b$ $6a$ prio 20 ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.0 ipv6 addr 4321::3 ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! addrouter r4 nowrite int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth8 red eth 0000.0000.4444 $7b$ $7a$ int eth9 red eth 0000.0000.4444 $8b$ $8a$ prio 10 ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.0 ipv6 addr 4321::4 ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! addrouter r5 nowrite int eth1 eth 0000.0000.5555 $4b$ $4a$ int eth8 red eth 0000.0000.5555 $9b$ $9a$ int eth9 red eth 0000.0000.5555 $10b$ $10a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.0 ipv6 addr 4321::5 ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! r1 tping 100 10 1.1.1.3 vrf v1 multi r1 tping 100 10 1234::3 vrf v1 multi r1 tping 100 10 2.2.2.4 vrf v1 r1 tping 100 10 4321::4 vrf v1 r2 send conf t r2 send int eth2 r2 send no shut r2 send exit r2 send int eth31 r2 send no shut r2 send exit r2 send int eth32 r2 send no shut r2 send end r1 tping 100 120 1.1.1.3 vrf v1 multi r1 tping 100 120 1234::3 vrf v1 multi r1 tping 100 120 2.2.2.3 vrf v1 r1 tping 100 120 4321::3 vrf v1 r3 send relo forc r1 tping 100 120 1.1.1.3 vrf v1 multi r1 tping 100 120 1234::3 vrf v1 multi r1 tping 100 120 2.2.2.5 vrf v1 r1 tping 100 120 4321::5 vrf v1 freeRtr-25.11.9/cfg/conn-redun02.tst000066400000000000000000000047051510423065500170160ustar00rootroot00000000000000description lsrp with process redundancy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ int eth31 eth 0000.0000.3333 $5a$ $5b$ int eth41 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit bridge 1 exit bridge 34 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int eth31 bridge-gr 34 exit int eth41 bridge-gr 34 exit ! addrouter r3 nowrite int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth8 red eth 0000.0000.3333 $5b$ $5a$ prio 20 ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 red conn ha-mode exit router lsrp6 1 vrf v1 router 6.6.6.3 red conn ha-mode exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r4 nowrite int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth8 red eth 0000.0000.4444 $7b$ $7a$ prio 10 ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.4 red conn ha-mode exit router lsrp6 1 vrf v1 router 6.6.6.4 red conn ha-mode exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 120 1.1.1.3 vrf v1 r1 tping 100 120 1234::3 vrf v1 r1 tping 100 120 2.2.2.3 vrf v1 r1 tping 100 120 4321::3 vrf v1 r3 send clea redun stat r3 tping 100 120 1.1.1.1 vrf v1 r3 tping 100 120 1234::1 vrf v1 r3 tping 100 120 2.2.2.1 vrf v1 r3 tping 100 120 4321::1 vrf v1 r3 send relo forc r1 tping 100 120 1.1.1.3 vrf v1 r1 tping 100 120 1234::3 vrf v1 r1 tping 100 120 2.2.2.4 vrf v1 r1 tping 100 120 4321::4 vrf v1 r4 tping 100 120 1.1.1.1 vrf v1 r4 tping 100 120 1234::1 vrf v1 r4 tping 100 120 2.2.2.1 vrf v1 r4 tping 100 120 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-redun03.tst000066400000000000000000000050511510423065500170120ustar00rootroot00000000000000description ospf with process redundancy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ int eth31 eth 0000.0000.3333 $5a$ $5b$ int eth41 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit bridge 1 exit bridge 34 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int eth31 bridge-gr 34 exit int eth41 bridge-gr 34 exit ! addrouter r3 nowrite int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth8 red eth 0000.0000.3333 $5b$ $5a$ prio 20 ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 0 ena red conn area 0 ha-mode exit router ospf6 1 vrf v1 router 6.6.6.3 area 0 ena red conn area 0 ha-mode exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r4 nowrite int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth8 red eth 0000.0000.4444 $7b$ $7a$ prio 10 ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router ospf4 1 vrf v1 router 4.4.4.4 area 0 ena red conn area 0 ha-mode exit router ospf6 1 vrf v1 router 6.6.6.4 area 0 ena red conn area 0 ha-mode exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 120 1.1.1.3 vrf v1 r1 tping 100 120 1234::3 vrf v1 r1 tping 100 120 2.2.2.3 vrf v1 r1 tping 100 120 4321::3 vrf v1 r3 send clea redun stat r3 tping 100 120 1.1.1.1 vrf v1 r3 tping 100 120 1234::1 vrf v1 r3 tping 100 120 2.2.2.1 vrf v1 r3 tping 100 120 4321::1 vrf v1 r3 send relo forc r1 tping 100 120 1.1.1.3 vrf v1 r1 tping 100 120 1234::3 vrf v1 r1 tping 100 120 2.2.2.4 vrf v1 r1 tping 100 120 4321::4 vrf v1 r4 tping 100 120 1.1.1.1 vrf v1 r4 tping 100 120 1234::1 vrf v1 r4 tping 100 120 2.2.2.1 vrf v1 r4 tping 100 120 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-redun04.tst000066400000000000000000000052001510423065500170070ustar00rootroot00000000000000description isis with process redundancy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth1.22 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ int eth31 eth 0000.0000.3333 $5a$ $5b$ int eth41 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit bridge 1 exit bridge 34 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int eth31 bridge-gr 34 exit int eth41 bridge-gr 34 exit ! addrouter r3 nowrite int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth8 red eth 0000.0000.3333 $5b$ $5a$ prio 20 ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 red conn level2 ha-mode exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 red conn level2 ha-mode exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 router isis4 1 ena exit int eth1.22 vrf for v1 ipv6 addr 1234::3 ffff:: router isis6 1 ena exit ! addrouter r4 nowrite int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth8 red eth 0000.0000.4444 $7b$ $7a$ prio 10 ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router isis4 1 vrf v1 net 48.4444.0000.4444.00 red conn level2 ha-mode exit router isis6 1 vrf v1 net 48.6666.0000.4444.00 red conn level2 ha-mode exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 router isis4 1 ena exit int eth1.22 vrf for v1 ipv6 addr 1234::3 ffff:: router isis6 1 ena exit ! r1 tping 100 120 1.1.1.3 vrf v1 r1 tping 100 120 1234::3 vrf v1 r1 tping 100 120 2.2.2.3 vrf v1 r1 tping 100 120 4321::3 vrf v1 r3 send clea redun stat r3 tping 100 120 1.1.1.1 vrf v1 r3 tping 100 120 1234::1 vrf v1 r3 tping 100 120 2.2.2.1 vrf v1 r3 tping 100 120 4321::1 vrf v1 r3 send relo forc r1 tping 100 120 1.1.1.3 vrf v1 r1 tping 100 120 1234::3 vrf v1 r1 tping 100 120 2.2.2.4 vrf v1 r1 tping 100 120 4321::4 vrf v1 r4 tping 100 120 1.1.1.1 vrf v1 r4 tping 100 120 1234::1 vrf v1 r4 tping 100 120 2.2.2.1 vrf v1 r4 tping 100 120 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-redun05.tst000066400000000000000000000056701510423065500170230ustar00rootroot00000000000000description bgp with process redundancy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 2 neigh 1.1.1.3 connection-mode passive red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 2 neigh 1234::3 connection-mode passive red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ int eth31 eth 0000.0000.3333 $5a$ $5b$ int eth41 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit bridge 1 exit bridge 34 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int eth31 bridge-gr 34 exit int eth41 bridge-gr 34 exit ! addrouter r3 nowrite int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth8 red eth 0000.0000.3333 $5b$ $5a$ prio 20 ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 ha-mode red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 ha-mode red conn exit ! addrouter r4 nowrite int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth8 red eth 0000.0000.4444 $7b$ $7a$ prio 10 ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 ha-mode neigh 1.1.1.1 connection-mode passive red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 ha-mode neigh 1234::1 connection-mode passive red conn exit ! r1 tping 100 120 1.1.1.3 vrf v1 r1 tping 100 120 1234::3 vrf v1 r1 tping 100 120 2.2.2.3 vrf v1 r1 tping 100 120 4321::3 vrf v1 r3 send clea redun stat r3 tping 100 120 1.1.1.1 vrf v1 r3 tping 100 120 1234::1 vrf v1 r3 tping 100 120 2.2.2.1 vrf v1 r3 tping 100 120 4321::1 vrf v1 r3 send relo forc r1 tping 100 120 1.1.1.3 vrf v1 r1 tping 100 120 1234::3 vrf v1 r1 tping 100 120 2.2.2.4 vrf v1 r1 tping 100 120 4321::4 vrf v1 r4 tping 100 120 1.1.1.1 vrf v1 r4 tping 100 120 1234::1 vrf v1 r4 tping 100 120 2.2.2.1 vrf v1 r4 tping 100 120 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-rlogin.tst000066400000000000000000000024761510423065500170340ustar00rootroot00000000000000description ppp over rlogin addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit int eth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit aaa userlist usr username u password p username u privilege 14 exit server tel tel vrf v1 security authen usr security protocol rlogin exec int di1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit chat-script login send ppp binsend 13 exit vpdn tel interface di1 proxy p1 user u pass p script login target 3.3.3.1 vcid 23 protocol rlogin exit ! r2 tping 100 30 2.2.2.0 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 output show inter dia1 full output ../binTmp/conn-rlogin.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-sep.tst000066400000000000000000000012561510423065500163240ustar00rootroot00000000000000description sep addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 r1 output show inter ser1 full output ../binTmp/conn-sep.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-slaac.tst000066400000000000000000000007741510423065500166240ustar00rootroot00000000000000description slaac addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv6 addr 4444::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit prefix-list p6 permit ::/0 exit int eth1 vrf for v1 ipv6 addr 3333::3 ffff:: ipv6 slaac ena ipv6 gateway-prefix p6 exit ! r2 tping 100 20 1234::1 vrf v1 r2 tping 100 5 4444::4 vrf v1 freeRtr-25.11.9/cfg/conn-sreth01.tst000066400000000000000000000025311510423065500170200ustar00rootroot00000000000000description sreth over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 mac-learn exit vpdn er bridge-group 1 proxy p1 target 1.1.1.2 vcid 123 protocol sreth exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 mac-learn exit vpdn er bridge-group 1 proxy p1 target 1.1.1.1 vcid 123 protocol sreth exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r2 output show bridge 1 r2 output show inter bvi1 full r2 output show ipv4 arp bvi1 r2 output show ipv6 neigh bvi1 output ../binTmp/conn-sreth.html here is the bridge:
show:0
here is the interface:
show:1
here is the arp:
show:2
here are the neighbors:
show:3
! freeRtr-25.11.9/cfg/conn-sreth02.tst000066400000000000000000000016201510423065500170170ustar00rootroot00000000000000description sreth over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 exit vpdn er bridge-group 1 proxy p1 target 1234::2 vcid 123 protocol sreth exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 exit vpdn er bridge-group 1 proxy p1 target 1234::1 vcid 123 protocol sreth exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-sreth03.tst000066400000000000000000000021351510423065500170220ustar00rootroot00000000000000description sreth over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 bridge 1 exit vpdn er bridge-group 1 proxy p1 target 1.1.1.102 vcid 123 protocol sreth exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 bridge 1 exit vpdn er bridge-group 1 proxy p1 target 1.1.1.101 vcid 123 protocol sreth exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-sreth04.tst000066400000000000000000000020531510423065500170220ustar00rootroot00000000000000description hdlc tunneling with sreth addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc hdlc xconnect v1 eth1 sreth 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc hdlc xconnect v1 eth1 sreth 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-sreth05.tst000066400000000000000000000021521510423065500170230ustar00rootroot00000000000000description ppp tunneling with sreth addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc ppp xconnect v1 eth1 sreth 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc ppp xconnect v1 eth1 sreth 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-sreth06.tst000066400000000000000000000021111510423065500170170ustar00rootroot00000000000000description lapb tunneling with sreth addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb lapb mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc lapb xconnect v1 eth1 sreth 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc lapb lapb mode dce xconnect v1 eth1 sreth 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-sreth07.tst000066400000000000000000000024331510423065500170270ustar00rootroot00000000000000description framerelay tunneling with sreth addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 sreth 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 sreth 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-sreth08.tst000066400000000000000000000022451510423065500170310ustar00rootroot00000000000000description atmdxi tunneling with sreth addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 sreth 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 sreth 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-sreth09.tst000066400000000000000000000021111510423065500170220ustar00rootroot00000000000000description isdn tunneling with sreth addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc isdn xconnect v1 eth1 sreth 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc isdn xconnect v1 eth1 sreth 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-sreth10.tst000066400000000000000000000020461510423065500170210ustar00rootroot00000000000000description sep tunneling with sreth addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc sep xconnect v1 eth1 sreth 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc sep xconnect v1 eth1 sreth 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-sreth11.tst000066400000000000000000000020731510423065500170220ustar00rootroot00000000000000description ethernet tunneling with sreth addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1 xconnect v1 eth2 sreth 1234::2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2 xconnect v1 eth1 sreth 1234::1 123 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-sreth12.tst000066400000000000000000000021071510423065500170210ustar00rootroot00000000000000description vlan tunneling with sreth addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.111 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1.111 xconnect v1 eth2 sreth 1234::2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2.222 xconnect v1 eth1 sreth 1234::1 123 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1.222 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-sreth13.tst000066400000000000000000000015651510423065500170310ustar00rootroot00000000000000description tunnel interface with sreth addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 123 tun mod sreth vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 123 tun mod sreth vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-sreth14.tst000066400000000000000000000015711510423065500170270ustar00rootroot00000000000000description sreth server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 mac-learn exit vpdn er bridge-group 1 proxy p1 target 1.1.1.2 vcid 123 protocol sreth exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 mac-learn exit server sreth se bridge 1 vrf v1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-ssh.tst000066400000000000000000000030231510423065500163240ustar00rootroot00000000000000description ppp over ssh addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit int eth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit aaa userlist usr username u password p username u privilege 14 exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 server tel tel vrf v1 security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa security protocol ssh security authen usr exec int di1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit chat-script login send ppp binsend 13 exit vpdn tel interface di1 proxy p1 user u pass p script login target 3.3.3.1 vcid 23 protocol ssh exit ! r2 tping 100 40 2.2.2.0 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 output show inter dia1 full output ../binTmp/conn-ssh.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-sstp.tst000066400000000000000000000022461510423065500165260ustar00rootroot00000000000000description ppp over sstp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit server http h host * path ./ host * sstp dialer1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit prefix-list p1 permit 0.0.0.0/0 exit int di1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit vpdn sstp int di1 proxy p1 tar http://1.1.1.1/ prot sstp exit ! r2 tping 100 60 2.2.2.0 vrf v1 r2 tping 100 5 4.4.4.4 vrf v1 r2 output show inter dia1 full output ../binTmp/conn-sstp.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-stp.tst000066400000000000000000000022541510423065500163420ustar00rootroot00000000000000description spantree over ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 stp-mode ieee mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 stp-mode ieee mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 output show bridge 1 r2 output show inter bvi1 full r2 output show ipv4 arp bvi1 r2 output show ipv6 neigh bvi1 output ../binTmp/conn-stp.html here is the bridge:
show:0
here is the interface:
show:1
here is the arp:
show:2
here are the neighbors:
show:3
! freeRtr-25.11.9/cfg/conn-stun.tst000066400000000000000000000022341510423065500165230ustar00rootroot00000000000000description ppp over stun addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit server stun stun clone di1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit prefix-list p1 permit 0.0.0.0/0 exit int di1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit vpdn stun int di1 proxy p1 tar 1.1.1.1 called 1234 dir in prot stun exit ! r2 tping 100 60 2.2.2.0 vrf v1 r2 tping 100 5 4.4.4.4 vrf v1 r2 output show inter dia1 full output ../binTmp/conn-stun.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-tcp01.tst000066400000000000000000000025221510423065500164610ustar00rootroot00000000000000description ppp over tcp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit int eth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit aaa userlist usr username c password c username c privilege 14 exit server tel tel vrf v1 login authen usr exec int di1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit chat-script login recv 5000 .*ser send c binsend 13 recv 5000 .*ass send c binsend 13 send ppp binsend 13 exit vpdn tel interface di1 proxy p1 script login target 3.3.3.1 vcid 23 protocol tcp exit ! r2 tping 100 30 2.2.2.0 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 output show inter dia1 full output ../binTmp/conn-tcp.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-tcp02.tst000066400000000000000000000022521510423065500164620ustar00rootroot00000000000000description ppp over tcp without sack addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! no client tcp-sack vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit int eth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit aaa userlist usr username c password c username c privilege 14 exit server tel tel vrf v1 login authen usr exec int di1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! no client tcp-sack vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit chat-script login recv 5000 .*ser send c binsend 13 recv 5000 .*ass send c binsend 13 send ppp binsend 13 exit vpdn tel interface di1 proxy p1 script login target 3.3.3.1 vcid 23 protocol tcp exit ! r2 tping 100 30 2.2.2.0 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/conn-tcp03.tst000066400000000000000000000022411510423065500164610ustar00rootroot00000000000000description ppp over tcp with sack addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! client tcp-sack vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit int eth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit aaa userlist usr username c password c username c privilege 14 exit server tel tel vrf v1 login authen usr exec int di1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! client tcp-sack vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit chat-script login recv 5000 .*ser send c binsend 13 recv 5000 .*ass send c binsend 13 send ppp binsend 13 exit vpdn tel interface di1 proxy p1 script login target 3.3.3.1 vcid 23 protocol tcp exit ! r2 tping 100 30 2.2.2.0 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/conn-tcp04.tst000066400000000000000000000022571510423065500164710ustar00rootroot00000000000000description ppp over tcp with asymmetric sack addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! no client tcp-sack vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit int eth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit aaa userlist usr username c password c username c privilege 14 exit server tel tel vrf v1 login authen usr exec int di1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! client tcp-sack vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit chat-script login recv 5000 .*ser send c binsend 13 recv 5000 .*ass send c binsend 13 send ppp binsend 13 exit vpdn tel interface di1 proxy p1 script login target 3.3.3.1 vcid 23 protocol tcp exit ! r2 tping 100 30 2.2.2.0 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/conn-tcp05.tst000066400000000000000000000022361510423065500164670ustar00rootroot00000000000000description ppp over tcp with ecn addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! client tcp-ecn vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit int eth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit aaa userlist usr username c password c username c privilege 14 exit server tel tel vrf v1 login authen usr exec int di1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! client tcp-ecn vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit chat-script login recv 5000 .*ser send c binsend 13 recv 5000 .*ass send c binsend 13 send ppp binsend 13 exit vpdn tel interface di1 proxy p1 script login target 3.3.3.1 vcid 23 protocol tcp exit ! r2 tping 100 30 2.2.2.0 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/conn-tcp06.tst000066400000000000000000000022471510423065500164720ustar00rootroot00000000000000description ppp over tcp without ecn addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! no client tcp-ecn vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit int eth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit aaa userlist usr username c password c username c privilege 14 exit server tel tel vrf v1 login authen usr exec int di1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! no client tcp-ecn vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit chat-script login recv 5000 .*ser send c binsend 13 recv 5000 .*ass send c binsend 13 send ppp binsend 13 exit vpdn tel interface di1 proxy p1 script login target 3.3.3.1 vcid 23 protocol tcp exit ! r2 tping 100 30 2.2.2.0 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/conn-tcp07.tst000066400000000000000000000022601510423065500164660ustar00rootroot00000000000000description ppp over tcp with timestamp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! client tcp-timestamp vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit int eth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit aaa userlist usr username c password c username c privilege 14 exit server tel tel vrf v1 login authen usr exec int di1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! client tcp-timestamp vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit chat-script login recv 5000 .*ser send c binsend 13 recv 5000 .*ass send c binsend 13 send ppp binsend 13 exit vpdn tel interface di1 proxy p1 script login target 3.3.3.1 vcid 23 protocol tcp exit ! r2 tping 100 30 2.2.2.0 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/conn-tcp08.tst000066400000000000000000000022711510423065500164710ustar00rootroot00000000000000description ppp over tcp without timestamp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! no client tcp-timestamp vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit int eth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit aaa userlist usr username c password c username c privilege 14 exit server tel tel vrf v1 login authen usr exec int di1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! no client tcp-timestamp vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit chat-script login recv 5000 .*ser send c binsend 13 recv 5000 .*ass send c binsend 13 send ppp binsend 13 exit vpdn tel interface di1 proxy p1 script login target 3.3.3.1 vcid 23 protocol tcp exit ! r2 tping 100 30 2.2.2.0 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/conn-tcp09.tst000066400000000000000000000022611510423065500164710ustar00rootroot00000000000000description ppp over tcp with winscale addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! client tcp-winscale 2 vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit int eth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit aaa userlist usr username c password c username c privilege 14 exit server tel tel vrf v1 login authen usr exec int di1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! client tcp-winscale 2 vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit chat-script login recv 5000 .*ser send c binsend 13 recv 5000 .*ass send c binsend 13 send ppp binsend 13 exit vpdn tel interface di1 proxy p1 script login target 3.3.3.1 vcid 23 protocol tcp exit ! r2 tping 100 30 2.2.2.0 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/conn-tcp10.tst000066400000000000000000000022641510423065500164640ustar00rootroot00000000000000description ppp over tcp without winscale addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! client tcp-winscale 0 vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit int eth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit aaa userlist usr username c password c username c privilege 14 exit server tel tel vrf v1 login authen usr exec int di1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! client tcp-winscale 0 vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit chat-script login recv 5000 .*ser send c binsend 13 recv 5000 .*ass send c binsend 13 send ppp binsend 13 exit vpdn tel interface di1 proxy p1 script login target 3.3.3.1 vcid 23 protocol tcp exit ! r2 tping 100 30 2.2.2.0 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/conn-tdmou01.tst000066400000000000000000000017651510423065500170330ustar00rootroot00000000000000description tdmoudp with middle channels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc hdlc vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.2 vcid 1234 mtu 5009 protocol tdmoudp exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc hdlc vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.1 vcid 1234 mtu 5009 protocol tdmoudp exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 r2 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-tdmou02.tst000066400000000000000000000024041510423065500170230ustar00rootroot00000000000000description ppp with tdmoudp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.2 vcid 1234 mtu 7 protocol tdmoudp exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.1 vcid 1234 mtu 7 protocol tdmoudp exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 r2 tping 100 30 4321::1 vrf v1 r1 output show inter dia1 full output ../binTmp/conn-tdmoudp.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-tdmou03.tst000066400000000000000000000017441510423065500170320ustar00rootroot00000000000000description hdlc with tdmoudp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc hdlc vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.2 vcid 1234 mtu 7 protocol tdmoudp exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc hdlc vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.1 vcid 1234 mtu 7 protocol tdmoudp exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 r2 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-tdmou04.tst000066400000000000000000000017631510423065500170340ustar00rootroot00000000000000description lapb with tdmoudp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc lapb vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.2 vcid 1234 mtu 7 protocol tdmoudp exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc lapb lapb mode dce vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.1 vcid 1234 mtu 7 protocol tdmoudp exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 r2 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-tdmou05.tst000066400000000000000000000021371510423065500170310ustar00rootroot00000000000000description framerelay with tdmoudp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.2 vcid 1234 mtu 7 protocol tdmoudp exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc framerelay framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.1 vcid 1234 mtu 7 protocol tdmoudp exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 r2 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-tdmou06.tst000066400000000000000000000020421510423065500170250ustar00rootroot00000000000000description atmdxi with tdmoudp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.2 vcid 1234 mtu 7 protocol tdmoudp exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.1 vcid 1234 mtu 7 protocol tdmoudp exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 r2 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-tdmou07.tst000066400000000000000000000017631510423065500170370ustar00rootroot00000000000000description isdn with tdmoudp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.2 vcid 1234 mtu 7 protocol tdmoudp exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc isdn vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.1 vcid 1234 mtu 7 protocol tdmoudp exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 r2 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-tdmou08.tst000066400000000000000000000017411510423065500170340ustar00rootroot00000000000000description sep with tdmoudp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int di1 enc sep vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.2 vcid 1234 mtu 7 protocol tdmoudp exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int di1 enc sep vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit vpdn pou interface dialer1 proxy p1 target 1.1.1.1 vcid 1234 mtu 7 protocol tdmoudp exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 r2 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-telnet.tst000066400000000000000000000025651510423065500170340ustar00rootroot00000000000000description ppp over telnet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit int eth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit aaa userlist usr username c password c username c privilege 14 exit server tel tel vrf v1 login authen usr security protocol telnet exec int di1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit chat-script login recv 5000 .*ser send c binsend 13 recv 5000 .*ass send c binsend 13 send ppp binsend 13 exit vpdn tel interface di1 proxy p1 script login target 3.3.3.1 vcid 23 protocol telnet exit ! r2 tping 100 30 2.2.2.0 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 output show inter dia1 full output ../binTmp/conn-telnet.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-tls.tst000066400000000000000000000035261510423065500163410ustar00rootroot00000000000000description ppp over tls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.255 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit int eth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit aaa userlist usr username c password c username c privilege 14 exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 crypto certificate dsa generate dsa dsa crypto certificate rsa generate rsa rsa crypto certificate ecdsa generate ecdsa ecdsa crypto certificate mldsa generate mldsa mldsa server tel tel vrf v1 security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa security rsacert rsa security dsacert dsa security ecdsacert ecdsa security mldsacert mldsa security protocol tls login authen usr exec int di1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp vrf for v1 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit chat-script login recv 5000 .*ser send c binsend 13 recv 5000 .*ass send c binsend 13 send ppp binsend 13 exit vpdn tel interface di1 proxy p1 script login target 3.3.3.1 vcid 23 protocol tls exit ! r2 tping 100 40 2.2.2.0 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 output show inter dia1 full output ../binTmp/conn-tls.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-tmux01.tst000066400000000000000000000020271510423065500166700ustar00rootroot00000000000000description tmux over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode tmux tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode tmux tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full output ../binTmp/conn-tmux.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-tmux02.tst000066400000000000000000000014731510423065500166750ustar00rootroot00000000000000description tmux over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode tmux tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode tmux tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-tmux03.tst000066400000000000000000000021161510423065500166710ustar00rootroot00000000000000description tmux over tmux addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode tmux tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv6 addr 1234::1 ffff:: exit int tun2 tunnel vrf v1 tunnel mode tmux tunnel source tun1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode tmux tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv6 addr 1234::2 ffff:: exit int tun2 tunnel vrf v1 tunnel mode tmux tunnel source tun1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-tmux04.tst000066400000000000000000000017441510423065500167000ustar00rootroot00000000000000description tmux over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 int tun1 tunnel vrf v1 tunnel mode tmux tunnel source lo0 tunnel destination 1.1.1.102 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 int tun1 tunnel vrf v1 tunnel mode tmux tunnel source lo0 tunnel destination 1.1.1.101 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-tzsp01.tst000066400000000000000000000025011510423065500166700ustar00rootroot00000000000000description tzsp over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 mac-learn exit vpdn vx bridge-group 1 proxy p1 target 1.1.1.2 protocol tzsp exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 mac-learn exit vpdn vx bridge-group 1 proxy p1 target 1.1.1.1 protocol tzsp exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r2 output show bridge 1 r2 output show inter bvi1 full r2 output show ipv4 arp bvi1 r2 output show ipv6 neigh bvi1 output ../binTmp/conn-tzsp.html here is the bridge:
show:0
here is the interface:
show:1
here is the arp:
show:2
here are the neighbors:
show:3
! freeRtr-25.11.9/cfg/conn-tzsp02.tst000066400000000000000000000015711510423065500166770ustar00rootroot00000000000000description tzsp over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 exit vpdn vx bridge-group 1 proxy p1 target 1234::2 protocol tzsp exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 exit vpdn vx bridge-group 1 proxy p1 target 1234::1 protocol tzsp exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-tzsp03.tst000066400000000000000000000021061510423065500166730ustar00rootroot00000000000000description tzsp over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 bridge 1 exit vpdn vx bridge-group 1 proxy p1 target 1.1.1.102 protocol tzsp exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 bridge 1 exit vpdn vx bridge-group 1 proxy p1 target 1.1.1.101 protocol tzsp exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-tzsp04.tst000066400000000000000000000020521510423065500166740ustar00rootroot00000000000000description hdlc tunneling with tzsp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc hdlc xconnect v1 eth1 tzsp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc hdlc xconnect v1 eth1 tzsp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-tzsp05.tst000066400000000000000000000021511510423065500166750ustar00rootroot00000000000000description ppp tunneling with tzsp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc ppp xconnect v1 eth1 tzsp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc ppp xconnect v1 eth1 tzsp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-tzsp06.tst000066400000000000000000000021101510423065500166710ustar00rootroot00000000000000description lapb tunneling with tzsp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb lapb mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc lapb xconnect v1 eth1 tzsp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc lapb lapb mode dce xconnect v1 eth1 tzsp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-tzsp07.tst000066400000000000000000000024321510423065500167010ustar00rootroot00000000000000description framerelay tunneling with tzsp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 tzsp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 tzsp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-tzsp08.tst000066400000000000000000000022441510423065500167030ustar00rootroot00000000000000description atmdxi tunneling with tzsp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 tzsp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 tzsp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-tzsp09.tst000066400000000000000000000021101510423065500166740ustar00rootroot00000000000000description isdn tunneling with tzsp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc isdn xconnect v1 eth1 tzsp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc isdn xconnect v1 eth1 tzsp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-tzsp10.tst000066400000000000000000000020451510423065500166730ustar00rootroot00000000000000description sep tunneling with tzsp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc sep xconnect v1 eth1 tzsp 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc sep xconnect v1 eth1 tzsp 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-tzsp11.tst000066400000000000000000000020721510423065500166740ustar00rootroot00000000000000description ethernet tunneling with tzsp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1 xconnect v1 eth2 tzsp 1234::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2 xconnect v1 eth1 tzsp 1234::1 1234 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-tzsp12.tst000066400000000000000000000021061510423065500166730ustar00rootroot00000000000000description vlan tunneling with tzsp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.111 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1.111 xconnect v1 eth2 tzsp 1234::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2.222 xconnect v1 eth1 tzsp 1234::1 1234 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1.222 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-tzsp13.tst000066400000000000000000000015641510423065500167030ustar00rootroot00000000000000description tunnel interface with tzsp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 1234 tun mod tzsp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 1234 tun mod tzsp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-udpgre01.tst000066400000000000000000000020371510423065500171620ustar00rootroot00000000000000description udpgre over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode udpgre tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode udpgre tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full output ../binTmp/conn-udpgre.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/conn-udpgre02.tst000066400000000000000000000015011510423065500171560ustar00rootroot00000000000000description udpgre over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode udpgre tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode udpgre tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-udpgre03.tst000066400000000000000000000021321510423065500171600ustar00rootroot00000000000000description udpgre over udpgre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode udpgre tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv6 addr 1234::1 ffff:: exit int tun2 tunnel vrf v1 tunnel mode udpgre tunnel source tun1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode udpgre tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv6 addr 1234::2 ffff:: exit int tun2 tunnel vrf v1 tunnel mode udpgre tunnel source tun1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-udpgre04.tst000066400000000000000000000017521510423065500171700ustar00rootroot00000000000000description udpgre over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 int tun1 tunnel vrf v1 tunnel mode udpgre tunnel source lo0 tunnel destination 1.1.1.102 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 int tun1 tunnel vrf v1 tunnel mode udpgre tunnel source lo0 tunnel destination 1.1.1.101 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-uti01.tst000066400000000000000000000025211510423065500164730ustar00rootroot00000000000000description uti over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 mac-learn exit vpdn er bridge-group 1 proxy p1 target 1.1.1.2 vcid 123 protocol uti exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 mac-learn exit vpdn er bridge-group 1 proxy p1 target 1.1.1.1 vcid 123 protocol uti exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r2 output show bridge 1 r2 output show inter bvi1 full r2 output show ipv4 arp bvi1 r2 output show ipv6 neigh bvi1 output ../binTmp/conn-uti.html here is the bridge:
show:0
here is the interface:
show:1
here is the arp:
show:2
here are the neighbors:
show:3
! freeRtr-25.11.9/cfg/conn-uti02.tst000066400000000000000000000016121510423065500164740ustar00rootroot00000000000000description uti over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 exit vpdn er bridge-group 1 proxy p1 target 1234::2 vcid 123 protocol uti exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 exit vpdn er bridge-group 1 proxy p1 target 1234::1 vcid 123 protocol uti exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-uti03.tst000066400000000000000000000021271510423065500164770ustar00rootroot00000000000000description uti over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 bridge 1 exit vpdn er bridge-group 1 proxy p1 target 1.1.1.102 vcid 123 protocol uti exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 bridge 1 exit vpdn er bridge-group 1 proxy p1 target 1.1.1.101 vcid 123 protocol uti exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-uti04.tst000066400000000000000000000020451510423065500164770ustar00rootroot00000000000000description hdlc tunneling with uti addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc hdlc xconnect v1 eth1 uti 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc hdlc xconnect v1 eth1 uti 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-uti05.tst000066400000000000000000000021441510423065500165000ustar00rootroot00000000000000description ppp tunneling with uti addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc ppp xconnect v1 eth1 uti 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc ppp xconnect v1 eth1 uti 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-uti06.tst000066400000000000000000000021031510423065500164740ustar00rootroot00000000000000description lapb tunneling with uti addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb lapb mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc lapb xconnect v1 eth1 uti 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc lapb lapb mode dce xconnect v1 eth1 uti 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-uti07.tst000066400000000000000000000024251510423065500165040ustar00rootroot00000000000000description framerelay tunneling with uti addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 uti 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 uti 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-uti08.tst000066400000000000000000000022371510423065500165060ustar00rootroot00000000000000description atmdxi tunneling with uti addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 uti 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 uti 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-uti09.tst000066400000000000000000000021031510423065500164770ustar00rootroot00000000000000description isdn tunneling with uti addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc isdn xconnect v1 eth1 uti 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc isdn xconnect v1 eth1 uti 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-uti10.tst000066400000000000000000000020401510423065500164670ustar00rootroot00000000000000description sep tunneling with uti addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc sep xconnect v1 eth1 uti 1.1.1.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc sep xconnect v1 eth1 uti 1.1.1.1 123 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-uti11.tst000066400000000000000000000020651510423065500164770ustar00rootroot00000000000000description ethernet tunneling with uti addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1 xconnect v1 eth2 uti 1234::2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2 xconnect v1 eth1 uti 1234::1 123 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-uti12.tst000066400000000000000000000021011510423065500164670ustar00rootroot00000000000000description vlan tunneling with uti addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.111 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1.111 xconnect v1 eth2 uti 1234::2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2.222 xconnect v1 eth1 uti 1234::1 123 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1.222 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-uti13.tst000066400000000000000000000015571510423065500165060ustar00rootroot00000000000000description tunnel interface with uti addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 123 tun mod uti vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 123 tun mod uti vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-vdc01.tst000066400000000000000000000013741510423065500164530ustar00rootroot00000000000000description vdc parent interface exit addrouter r1 port 61000 62000 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vdc def a int eth1 exit vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 9.9.9.9 255.255.255.255 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 9.9.9.9 vrf v1 r1 send att vdc a r1 send conf t r1 send vrf def v1 r1 send rd 1:1 r1 send exit r1 send int eth1 r1 send vrf for v1 r1 send ipv4 addr 1.1.1.1 255.255.255.0 r1 send ipv6 addr 1234::1 ffff:: r1 send exit r1 send end r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-vdc02.tst000066400000000000000000000011071510423065500164460ustar00rootroot00000000000000description vdc parent connect exit addrouter r1 port 61000 62000 ! vdc def a loc eth1 exit vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 9.9.9.9 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 9.9.9.9 vrf v1 r1 send att vdc a r1 send conf t r1 send vrf def v1 r1 send rd 1:1 r1 send exit r1 send int eth1 r1 send vrf for v1 r1 send ipv4 addr 1.1.1.1 255.255.255.0 r1 send ipv6 addr 1234::1 ffff:: r1 send exit r1 send end r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 freeRtr-25.11.9/cfg/conn-vdc03.tst000066400000000000000000000015421510423065500164520ustar00rootroot00000000000000description vdc peer connect exit addrouter r1 port 61000 62000 ! vdc def a exit vdc def b conn eth1 a exit vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 9.9.9.9 255.255.255.255 exit ! r1 tping 100 5 9.9.9.9 vrf v1 r1 send att vdc a r1 send conf t r1 send vrf def v1 r1 send rd 1:1 r1 send exit r1 send int eth1 r1 send vrf for v1 r1 send ipv4 addr 1.1.1.1 255.255.255.0 r1 send ipv6 addr 1234::1 ffff:: r1 send exit r1 send end r1 tping 100 5 1.1.1.1 vrf v1 sleep 1000 r1 char 3 sleep 1000 r1 char 24 sleep 1000 r1 read closed r1 tping 100 5 9.9.9.9 vrf v1 r1 send att vdc b r1 send conf t r1 send vrf def v1 r1 send rd 1:1 r1 send exit r1 send int eth1 r1 send vrf for v1 r1 send ipv4 addr 1.1.1.2 255.255.255.0 r1 send ipv6 addr 1234::2 ffff:: r1 send exit r1 send end r1 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/conn-vrrp.tst000066400000000000000000000035531510423065500165300ustar00rootroot00000000000000description vrrp over ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.254 ipv6 route v1 :: :: 1234::254 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv4 vrrp address 1.1.1.254 ipv4 vrrp priority 120 ipv6 addr 1234::2 ffff:: ipv6 vrrp address 1234::254 ipv6 vrrp priority 120 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv4 vrrp address 1.1.1.254 ipv4 vrrp priority 110 ipv6 addr 1234::3 ffff:: ipv6 vrrp address 1234::254 ipv6 vrrp priority 110 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.0 ipv6 addr 4321::3 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1.1.1.3 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1234::3 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1234::2 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r1 tping 100 5 4321::2 vrf v1 r1 tping 0 5 2.2.2.3 vrf v1 r1 tping 0 5 4321::3 vrf v1 r2 send conf t r2 send int eth1 r2 send shut r2 send end r1 tping 0 5 2.2.2.2 vrf v1 r1 tping 0 5 4321::2 vrf v1 r1 tping 100 5 2.2.2.3 vrf v1 r1 tping 100 5 4321::3 vrf v1 freeRtr-25.11.9/cfg/conn-vxlan01.tst000066400000000000000000000025311510423065500170230ustar00rootroot00000000000000description vxlan over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 mac-learn exit vpdn vx bridge-group 1 proxy p1 target 1.1.1.2 vcid 123 protocol vxlan exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 mac-learn exit vpdn vx bridge-group 1 proxy p1 target 1.1.1.1 vcid 123 protocol vxlan exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r2 output show bridge 1 r2 output show inter bvi1 full r2 output show ipv4 arp bvi1 r2 output show ipv6 neigh bvi1 output ../binTmp/conn-vxlan.html here is the bridge:
show:0
here is the interface:
show:1
here is the arp:
show:2
here are the neighbors:
show:3
! freeRtr-25.11.9/cfg/conn-vxlan02.tst000066400000000000000000000016201510423065500170220ustar00rootroot00000000000000description vxlan over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 exit vpdn vx bridge-group 1 proxy p1 target 1234::2 vcid 123 protocol vxlan exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit bridge 1 exit vpdn vx bridge-group 1 proxy p1 target 1234::1 vcid 123 protocol vxlan exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-vxlan03.tst000066400000000000000000000021351510423065500170250ustar00rootroot00000000000000description vxlan over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 bridge 1 exit vpdn vx bridge-group 1 proxy p1 target 1.1.1.102 vcid 123 protocol vxlan exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 bridge 1 exit vpdn vx bridge-group 1 proxy p1 target 1.1.1.101 vcid 123 protocol vxlan exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-vxlan04.tst000066400000000000000000000020551510423065500170270ustar00rootroot00000000000000description hdlc tunneling with vxlan addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc hdlc xconnect v1 eth1 vxlan 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc hdlc xconnect v1 eth1 vxlan 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-vxlan05.tst000066400000000000000000000021541510423065500170300ustar00rootroot00000000000000description ppp tunneling with vxlan addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc ppp xconnect v1 eth1 vxlan 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc ppp xconnect v1 eth1 vxlan 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-vxlan06.tst000066400000000000000000000021131510423065500170240ustar00rootroot00000000000000description lapb tunneling with vxlan addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb lapb mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc lapb xconnect v1 eth1 vxlan 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc lapb lapb mode dce xconnect v1 eth1 vxlan 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-vxlan07.tst000066400000000000000000000024351510423065500170340ustar00rootroot00000000000000description framerelay tunneling with vxlan addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 vxlan 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 xconnect v1 eth1 vxlan 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-vxlan08.tst000066400000000000000000000022471510423065500170360ustar00rootroot00000000000000description atmdxi tunneling with vxlan addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 vxlan 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 xconnect v1 eth1 vxlan 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-vxlan09.tst000066400000000000000000000021131510423065500170270ustar00rootroot00000000000000description isdn tunneling with vxlan addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc isdn xconnect v1 eth1 vxlan 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc isdn xconnect v1 eth1 vxlan 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-vxlan10.tst000066400000000000000000000020501510423065500170170ustar00rootroot00000000000000description sep tunneling with vxlan addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser1 enc sep xconnect v1 eth1 vxlan 1.1.1.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int ser1 enc sep xconnect v1 eth1 vxlan 1.1.1.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-vxlan11.tst000066400000000000000000000020751510423065500170270ustar00rootroot00000000000000description ethernet tunneling with vxlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1 xconnect v1 eth2 vxlan 1234::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2 xconnect v1 eth1 vxlan 1234::1 1234 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-vxlan12.tst000066400000000000000000000021111510423065500170170ustar00rootroot00000000000000description vlan tunneling with vxlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.111 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1.111 xconnect v1 eth2 vxlan 1234::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int eth2.222 xconnect v1 eth1 vxlan 1234::1 1234 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1.222 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1234::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r4 tping 100 10 2.2.2.1 vrf v1 r4 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-vxlan13.tst000066400000000000000000000015671510423065500170360ustar00rootroot00000000000000description tunnel interface with vxlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 1234 tun mod vxlan vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 1234 tun mod vxlan vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-vxlan14.tst000066400000000000000000000044041510423065500170300ustar00rootroot00000000000000description multipoint ethernet over vxlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit bridge 1 mac-learn exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:ffff:: exit server vxlan vxl bridge 1 vrf v1 inst 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:ffff:: exit vpdn vxl bridge-gr 1 proxy p1 tar 1.1.1.1 vcid 1234 prot vxlan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.0 ipv6 addr 4321::3 ffff:ffff:: exit vpdn vxl bridge-gr 1 proxy p1 tar 1234:2::1 vcid 1234 prot vxlan exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.0 ipv6 addr 4321::4 ffff:ffff:: exit ! r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-xconn01.tst000066400000000000000000000011651510423065500170220ustar00rootroot00000000000000description cross connect hdlc interfaces addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2a$ $2b$ ! int ser1 enc hdlc connect ser2 exit int ser2 enc hdlc exit ! addrouter r3 int ser1 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r3 tping 100 30 2.2.2.1 vrf v1 r3 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-xconn02.tst000066400000000000000000000012641510423065500170230ustar00rootroot00000000000000description cross connect ppp interfaces addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2a$ $2b$ ! int ser1 enc ppp connect ser2 exit int ser2 enc ppp exit ! addrouter r3 int ser1 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r3 tping 100 30 2.2.2.1 vrf v1 r3 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-xconn03.tst000066400000000000000000000012231510423065500170170ustar00rootroot00000000000000description cross connect lapb interfaces addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2a$ $2b$ ! int ser1 enc lapb lapb mode dce connect ser2 exit int ser2 enc lapb lapb mode dce exit ! addrouter r3 int ser1 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r3 tping 100 30 2.2.2.1 vrf v1 r3 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-xconn04.tst000066400000000000000000000015451510423065500170270ustar00rootroot00000000000000description cross connect framerelay interfaces addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2a$ $2b$ ! int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 framerelay mode dce connect ser2 exit int ser2 enc framerelay framerelay lmi ansi framerelay dlci 123 framerelay mode dce exit ! addrouter r3 int ser1 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r3 tping 100 30 2.2.2.1 vrf v1 r3 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-xconn05.tst000066400000000000000000000013571510423065500170310ustar00rootroot00000000000000description cross connect atmdxi interfaces addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2a$ $2b$ ! int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 connect ser2 exit int ser2 enc atmdxi atmdxi vpi 1 atmdxi vci 2 exit ! addrouter r3 int ser1 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r3 tping 100 30 2.2.2.1 vrf v1 r3 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-xconn06.tst000066400000000000000000000012231510423065500170220ustar00rootroot00000000000000description cross connect isdn interfaces addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2a$ $2b$ ! int ser1 enc isdn connect ser2 exit int ser2 enc isdn exit ! addrouter r3 int ser1 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r3 tping 100 30 2.2.2.1 vrf v1 r3 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-xconn07.tst000066400000000000000000000011601510423065500170230ustar00rootroot00000000000000description cross connect sep interfaces addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2a$ $2b$ ! int ser1 enc sep connect ser2 exit int ser2 enc sep exit ! addrouter r3 int ser1 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r3 tping 100 30 2.2.2.1 vrf v1 r3 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-xconn08.tst000066400000000000000000000011701510423065500170250ustar00rootroot00000000000000description cross connect ethernet interfaces addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! int eth1 connect eth2 exit int eth2 exit ! addrouter r3 int eth1 eth - $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r3 tping 100 30 2.2.2.1 vrf v1 r3 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-xconn09.tst000066400000000000000000000012061510423065500170260ustar00rootroot00000000000000description cross connect vlan subinterfaces addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! int eth1.11 exit int eth2.22 connect eth1.11 exit ! addrouter r3 int eth1 eth - $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1.22 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r3 tping 100 30 2.2.2.1 vrf v1 r3 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-xconn10.tst000066400000000000000000000011071510423065500170160ustar00rootroot00000000000000description cross connect vlan subinterfaces of same interface addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit int eth1.22 vrf for v2 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! int eth1.11 exit int eth1.22 connect eth1.11 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r1 tping 100 30 2.2.2.1 vrf v2 r1 tping 100 30 4321::1 vrf v2 freeRtr-25.11.9/cfg/conn-xconn11.tst000066400000000000000000000024001510423065500170140ustar00rootroot00000000000000description cross connect tunnel interfaces addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2a$ $2b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int ser2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ser1 tunnel destination 1.1.1.1 exit int tun2 tunnel vrf v1 tunnel mode gre tunnel source ser2 tunnel destination 1.1.2.1 connect tun1 exit ! addrouter r3 int ser1 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ser1 tunnel destination 1.1.2.2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r3 tping 100 30 2.2.2.1 vrf v1 r3 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-xconn12.tst000066400000000000000000000024141510423065500170220ustar00rootroot00000000000000description cross connect different tunnel interfaces addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2a$ $2b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int ser2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ser1 tunnel destination 1.1.1.1 exit int tun2 tunnel vrf v1 tunnel mode ipip tunnel source ser2 tunnel destination 1.1.2.1 connect tun1 exit ! addrouter r3 int ser1 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode ipip tunnel source ser1 tunnel destination 1.1.2.2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r3 tping 100 30 2.2.2.1 vrf v1 r3 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/conn-xotpad.tst000066400000000000000000000007721510423065500170360ustar00rootroot00000000000000description xot pad addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit server xot xot vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit client proxy p1 int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit ! r2 send pack xot 3.3.3.1 11 22 r2 tping 100 5 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/crypt-access01.tst000066400000000000000000000047021510423065500173420ustar00rootroot00000000000000description access class addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit access-list test permit all 1.1.1.3 255.255.255.255 all any all permit all 1234::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit server telnet tel vrf v1 access-class test port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: exit ! r1 tping 100 20 1.1.1.2 vrf v1 r1 tping 100 20 1234::2 vrf v1 r1 tping 100 20 1.1.1.3 vrf v1 r1 tping 100 20 1234::3 vrf v1 r1 tping 100 20 1.1.1.4 vrf v1 r1 tping 100 20 1234::4 vrf v1 r2 tping 100 20 1.1.1.1 vrf v1 r2 tping 100 20 1234::1 vrf v1 r3 tping 100 20 1.1.1.1 vrf v1 r3 tping 100 20 1234::1 vrf v1 r4 tping 100 20 1.1.1.1 vrf v1 r4 tping 100 20 1234::1 vrf v1 r1 tping 100 20 2.2.2.1 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r3 tping 0 20 2.2.2.1 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r2 send telnet 1234::1 666 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r3 send telnet 1.1.1.1 666 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 send exit r3 read closed r3 send telnet 1234::1 666 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 send exit r3 read closed r4 send telnet 1.1.1.1 666 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 r4 send telnet 1234::1 666 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-access02.tst000066400000000000000000000063331510423065500173450ustar00rootroot00000000000000description access map addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 exit router pvrp6 1 vrf v1 router 6.6.6.1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router pvrp4 1 ena router pvrp6 1 ena exit route-map test sequence 10 act permit match network 2.2.2.3/32 sequence 20 act permit match network 4321::3/128 exit server telnet tel vrf v1 access-map test port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 exit router pvrp6 1 vrf v1 router 6.6.6.2 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.3 exit router pvrp6 1 vrf v1 router 6.6.6.3 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.4 exit router pvrp6 1 vrf v1 router 6.6.6.4 exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! r1 tping 100 20 1.1.1.2 vrf v1 r1 tping 100 20 1234::2 vrf v1 r1 tping 100 20 1.1.1.3 vrf v1 r1 tping 100 20 1234::3 vrf v1 r1 tping 100 20 1.1.1.4 vrf v1 r1 tping 100 20 1234::4 vrf v1 r2 tping 100 20 1.1.1.1 vrf v1 sou lo1 r2 tping 100 20 1234::1 vrf v1 sou lo1 r3 tping 100 20 1.1.1.1 vrf v1 sou lo1 r3 tping 100 20 1234::1 vrf v1 sou lo1 r4 tping 100 20 1.1.1.1 vrf v1 sou lo1 r4 tping 100 20 1234::1 vrf v1 sou lo1 r1 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 0 20 2.2.2.1 vrf v1 sou lo1 r3 tping 0 20 2.2.2.1 vrf v1 sou lo1 r4 tping 0 20 2.2.2.1 vrf v1 sou lo1 r2 send telnet 1.1.1.1 666 vrf v1 sou lo1 r2 tping 0 20 2.2.2.1 vrf v1 sou lo1 r2 send telnet 1234::1 666 vrf v1 sou lo1 r2 tping 0 20 2.2.2.1 vrf v1 sou lo1 r3 send telnet 1.1.1.1 666 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 send exit r3 read closed r3 send telnet 1234::1 666 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 send exit r3 read closed r4 send telnet 1.1.1.1 666 vrf v1 sou lo1 r4 tping 0 20 2.2.2.1 vrf v1 sou lo1 r4 send telnet 1234::1 666 vrf v1 sou lo1 r4 tping 0 20 2.2.2.1 vrf v1 sou lo1 freeRtr-25.11.9/cfg/crypt-access03.tst000066400000000000000000000063141510423065500173450ustar00rootroot00000000000000description access policy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 exit router pvrp6 1 vrf v1 router 6.6.6.1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router pvrp4 1 ena router pvrp6 1 ena exit route-policy test if network 2.2.2.3/32 pass enif if network 4321::3/128 pass enif drop exit server telnet tel vrf v1 access-policy test port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 exit router pvrp6 1 vrf v1 router 6.6.6.2 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.3 exit router pvrp6 1 vrf v1 router 6.6.6.3 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.4 exit router pvrp6 1 vrf v1 router 6.6.6.4 exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! r1 tping 100 20 1.1.1.2 vrf v1 r1 tping 100 20 1234::2 vrf v1 r1 tping 100 20 1.1.1.3 vrf v1 r1 tping 100 20 1234::3 vrf v1 r1 tping 100 20 1.1.1.4 vrf v1 r1 tping 100 20 1234::4 vrf v1 r2 tping 100 20 1.1.1.1 vrf v1 sou lo1 r2 tping 100 20 1234::1 vrf v1 sou lo1 r3 tping 100 20 1.1.1.1 vrf v1 sou lo1 r3 tping 100 20 1234::1 vrf v1 sou lo1 r4 tping 100 20 1.1.1.1 vrf v1 sou lo1 r4 tping 100 20 1234::1 vrf v1 sou lo1 r1 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 0 20 2.2.2.1 vrf v1 sou lo1 r3 tping 0 20 2.2.2.1 vrf v1 sou lo1 r4 tping 0 20 2.2.2.1 vrf v1 sou lo1 r2 send telnet 1.1.1.1 666 vrf v1 sou lo1 r2 tping 0 20 2.2.2.1 vrf v1 sou lo1 r2 send telnet 1234::1 666 vrf v1 sou lo1 r2 tping 0 20 2.2.2.1 vrf v1 sou lo1 r3 send telnet 1.1.1.1 666 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 send exit r3 read closed r3 send telnet 1234::1 666 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 send exit r3 read closed r4 send telnet 1.1.1.1 666 vrf v1 sou lo1 r4 tping 0 20 2.2.2.1 vrf v1 sou lo1 r4 send telnet 1234::1 666 vrf v1 sou lo1 r4 tping 0 20 2.2.2.1 vrf v1 sou lo1 freeRtr-25.11.9/cfg/crypt-access04.tst000066400000000000000000000052531510423065500173470ustar00rootroot00000000000000description access subnet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.4 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::4 server telnet tel vrf v1 access-subnet 2 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: exit ! r1 tping 100 20 1.1.1.2 vrf v1 r1 tping 100 20 1234::2 vrf v1 r1 tping 100 20 1.1.1.3 vrf v1 r1 tping 100 20 1234::3 vrf v1 r1 tping 100 20 1.1.1.4 vrf v1 r1 tping 100 20 1234::4 vrf v1 r2 tping 100 20 1.1.1.1 vrf v1 r2 tping 100 20 1234::1 vrf v1 r3 tping 100 20 1.1.1.1 vrf v1 r3 tping 100 20 1234::1 vrf v1 r4 tping 100 20 1.1.1.1 vrf v1 r4 tping 100 20 1234::1 vrf v1 r1 tping 100 20 2.2.2.1 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r3 tping 0 20 2.2.2.1 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r3 send telnet 1.1.1.1 666 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r4 send telnet 1.1.1.1 666 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 r4 send telnet 1.1.1.1 666 vrf v1 sou lo1 r4 tping 100 20 2.2.2.1 vrf v1 r2 send exit r2 read closed r3 send exit r3 read closed r4 send exit r4 read closed r2 send telnet 1234::1 666 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r3 send telnet 1234::1 666 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r4 send telnet 1234::1 666 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 r4 send telnet 1234::1 666 vrf v1 sou lo1 r4 tping 100 20 2.2.2.1 vrf v1 r2 send exit r2 read closed r3 send exit r3 read closed r4 send exit r4 read closed freeRtr-25.11.9/cfg/crypt-access05.tst000066400000000000000000000124111510423065500173420ustar00rootroot00000000000000description remote triggered blackhole access addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.1111 $3a$ $3b$ int eth4 eth 0000.0000.1111 $4a$ $4b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int eth4 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit router blackhole4 1 vrf v2 exit router blackhole6 1 vrf v2 exit router bgp4 1 vrf v1 address vpnuni uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 send-comm both afi-vrf v2 ena afi-vrf v2 red blackhole4 1 red conn exit router bgp6 1 vrf v1 address vpnuni uni local-as 1 router-id 6.6.6.1 neigh 1234::5 remote-as 1 neigh 1234::5 send-comm both afi-vrf v2 ena afi-vrf v2 red blackhole6 1 red conn exit server telnet tel vrf v1 access-subnet 2 access-blackhole4 1 access-blackhole6 1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo1 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.0 ipv6 addr 1234::5 ffff:: exit router blackhole4 1 vrf v2 exit router blackhole6 1 vrf v2 exit router bgp4 1 vrf v1 address vpnuni uni local-as 1 router-id 4.4.4.5 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-vrf v2 ena afi-vrf v2 red blackhole4 1 red conn exit router bgp6 1 vrf v1 address vpnuni uni local-as 1 router-id 6.6.6.5 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both afi-vrf v2 ena afi-vrf v2 red blackhole6 1 red conn exit server telnet tel vrf v1 access-blackhole4 1 access-blackhole6 1 port 666 exit ! r1 tping 100 20 1.1.1.2 vrf v1 r1 tping 100 20 1234::2 vrf v1 r1 tping 100 20 1.1.1.3 vrf v1 r1 tping 100 20 1234::3 vrf v1 r1 tping 100 20 1.1.1.4 vrf v1 r1 tping 100 20 1234::4 vrf v1 r2 tping 100 20 1.1.1.1 vrf v1 r2 tping 100 20 1234::1 vrf v1 r3 tping 100 20 1.1.1.1 vrf v1 r3 tping 100 20 1234::1 vrf v1 r4 tping 100 20 1.1.1.1 vrf v1 r4 tping 100 20 1234::1 vrf v1 r5 tping 100 20 1.1.1.2 vrf v1 r5 tping 100 20 1234::2 vrf v1 r5 tping 100 20 1.1.1.3 vrf v1 r5 tping 100 20 1234::3 vrf v1 r5 tping 100 20 1.1.1.4 vrf v1 r5 tping 100 20 1234::4 vrf v1 r2 tping 100 20 1.1.1.5 vrf v1 r2 tping 100 20 1234::5 vrf v1 r3 tping 100 20 1.1.1.5 vrf v1 r3 tping 100 20 1234::5 vrf v1 r4 tping 100 20 1.1.1.5 vrf v1 r4 tping 100 20 1234::5 vrf v1 r1 tping 100 20 2.2.2.1 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r3 tping 0 20 2.2.2.1 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 r5 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 2.2.2.5 vrf v1 r2 tping 0 20 2.2.2.5 vrf v1 r3 tping 0 20 2.2.2.5 vrf v1 r4 tping 0 20 2.2.2.5 vrf v1 r5 tping 100 20 2.2.2.5 vrf v1 r2 send telnet 1.1.1.5 666 vrf v1 r2 tping 100 20 2.2.2.5 vrf v1 r2 send exit r2 read closed r2 send telnet 1234::5 666 vrf v1 r2 tping 100 20 2.2.2.5 vrf v1 r2 send exit r2 read closed r3 send telnet 1.1.1.5 666 vrf v1 r3 tping 100 20 2.2.2.5 vrf v1 r3 send exit r3 read closed r3 send telnet 1234::5 666 vrf v1 r3 tping 100 20 2.2.2.5 vrf v1 r3 send exit r3 read closed r4 send telnet 1.1.1.5 666 vrf v1 r4 tping 100 20 2.2.2.5 vrf v1 r4 send exit r4 read closed r4 send telnet 1234::5 666 vrf v1 r4 tping 100 20 2.2.2.5 vrf v1 r4 send exit r4 read closed r2 send telnet 1.1.1.1 666 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r3 send telnet 1.1.1.1 666 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r4 send telnet 1.1.1.1 666 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 r2 send exit r2 read closed r3 send exit r3 read closed r2 send telnet 1234::1 666 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r3 send telnet 1234::1 666 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r4 send telnet 1234::1 666 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 r2 send exit r2 read closed r3 send exit r3 read closed r2 send telnet 1.1.1.5 666 vrf v1 r2 tping 0 20 2.2.2.5 vrf v1 r2 send telnet 1234::5 666 vrf v1 r2 tping 0 20 2.2.2.5 vrf v1 r3 send telnet 1.1.1.5 666 vrf v1 r3 tping 0 20 2.2.2.5 vrf v1 r3 send telnet 1234::5 666 vrf v1 r3 tping 0 20 2.2.2.5 vrf v1 r4 send telnet 1.1.1.5 666 vrf v1 r4 tping 0 20 2.2.2.5 vrf v1 r4 send telnet 1234::5 666 vrf v1 r4 tping 0 20 2.2.2.5 vrf v1 freeRtr-25.11.9/cfg/crypt-access06.tst000066400000000000000000000124311510423065500173450ustar00rootroot00000000000000description remote triggered whitelist access addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.1111 $3a$ $3b$ int eth4 eth 0000.0000.1111 $4a$ $4b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int eth4 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit router blackhole4 1 vrf v2 exit router blackhole6 1 vrf v2 exit router bgp4 1 vrf v1 address vpnuni uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 send-comm both afi-vrf v2 ena afi-vrf v2 red blackhole4 1 red conn exit router bgp6 1 vrf v1 address vpnuni uni local-as 1 router-id 6.6.6.1 neigh 1234::5 remote-as 1 neigh 1234::5 send-comm both afi-vrf v2 ena afi-vrf v2 red blackhole6 1 red conn exit server telnet tel vrf v1 access-subnet 2 access-blackhole4 1 access-blackhole6 1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo1 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.0 ipv6 addr 1234::5 ffff:: exit router blackhole4 1 vrf v2 negate exit router blackhole6 1 vrf v2 negate exit router bgp4 1 vrf v1 address vpnuni uni local-as 1 router-id 4.4.4.5 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-vrf v2 ena afi-vrf v2 red blackhole4 1 red conn exit router bgp6 1 vrf v1 address vpnuni uni local-as 1 router-id 6.6.6.5 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both afi-vrf v2 ena afi-vrf v2 red blackhole6 1 red conn exit server telnet tel vrf v1 access-blackhole4 1 access-blackhole6 1 port 666 exit ! r1 tping 100 20 1.1.1.2 vrf v1 r1 tping 100 20 1234::2 vrf v1 r1 tping 100 20 1.1.1.3 vrf v1 r1 tping 100 20 1234::3 vrf v1 r1 tping 100 20 1.1.1.4 vrf v1 r1 tping 100 20 1234::4 vrf v1 r2 tping 100 20 1.1.1.1 vrf v1 r2 tping 100 20 1234::1 vrf v1 r3 tping 100 20 1.1.1.1 vrf v1 r3 tping 100 20 1234::1 vrf v1 r4 tping 100 20 1.1.1.1 vrf v1 r4 tping 100 20 1234::1 vrf v1 r5 tping 100 20 1.1.1.2 vrf v1 r5 tping 100 20 1234::2 vrf v1 r5 tping 100 20 1.1.1.3 vrf v1 r5 tping 100 20 1234::3 vrf v1 r5 tping 100 20 1.1.1.4 vrf v1 r5 tping 100 20 1234::4 vrf v1 r2 tping 100 20 1.1.1.5 vrf v1 r2 tping 100 20 1234::5 vrf v1 r3 tping 100 20 1.1.1.5 vrf v1 r3 tping 100 20 1234::5 vrf v1 r4 tping 100 20 1.1.1.5 vrf v1 r4 tping 100 20 1234::5 vrf v1 r1 tping 100 20 2.2.2.1 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r3 tping 0 20 2.2.2.1 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 r5 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 2.2.2.5 vrf v1 r2 tping 0 20 2.2.2.5 vrf v1 r3 tping 0 20 2.2.2.5 vrf v1 r4 tping 0 20 2.2.2.5 vrf v1 r5 tping 100 20 2.2.2.5 vrf v1 r2 send telnet 1.1.1.5 666 vrf v1 r2 tping 0 20 2.2.2.5 vrf v1 r2 send telnet 1234::5 666 vrf v1 r2 tping 0 20 2.2.2.5 vrf v1 r3 send telnet 1.1.1.5 666 vrf v1 r3 tping 0 20 2.2.2.5 vrf v1 r3 send telnet 1234::5 666 vrf v1 r3 tping 0 20 2.2.2.5 vrf v1 r4 send telnet 1.1.1.5 666 vrf v1 r4 tping 0 20 2.2.2.5 vrf v1 r4 send telnet 1234::5 666 vrf v1 r4 tping 0 20 2.2.2.5 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r3 send telnet 1.1.1.1 666 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r4 send telnet 1.1.1.1 666 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 r2 send exit r2 read closed r3 send exit r3 read closed r2 send telnet 1234::1 666 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r3 send telnet 1234::1 666 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r4 send telnet 1234::1 666 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 r2 send exit r2 read closed r3 send exit r3 read closed r2 send telnet 1.1.1.5 666 vrf v1 r2 tping 100 20 2.2.2.5 vrf v1 r2 send exit r2 read closed r2 send telnet 1234::5 666 vrf v1 r2 tping 100 20 2.2.2.5 vrf v1 r2 send exit r2 read closed r3 send telnet 1.1.1.5 666 vrf v1 r3 tping 100 20 2.2.2.5 vrf v1 r3 send exit r3 read closed r3 send telnet 1234::5 666 vrf v1 r3 tping 100 20 2.2.2.5 vrf v1 r3 send exit r3 read closed r4 send telnet 1.1.1.5 666 vrf v1 r4 tping 100 20 2.2.2.5 vrf v1 r4 send exit r4 read closed r4 send telnet 1234::5 666 vrf v1 r4 tping 100 20 2.2.2.5 vrf v1 r4 send exit r4 read closed freeRtr-25.11.9/cfg/crypt-access07.tst000066400000000000000000000045531510423065500173540ustar00rootroot00000000000000description access total addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit server telnet tel vrf v1 access-total 2 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: exit ! r1 tping 100 20 1.1.1.2 vrf v1 r1 tping 100 20 1234::2 vrf v1 r1 tping 100 20 1.1.1.3 vrf v1 r1 tping 100 20 1234::3 vrf v1 r1 tping 100 20 1.1.1.4 vrf v1 r1 tping 100 20 1234::4 vrf v1 r2 tping 100 20 1.1.1.1 vrf v1 r2 tping 100 20 1234::1 vrf v1 r3 tping 100 20 1.1.1.1 vrf v1 r3 tping 100 20 1234::1 vrf v1 r4 tping 100 20 1.1.1.1 vrf v1 r4 tping 100 20 1234::1 vrf v1 r1 tping 100 20 2.2.2.1 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r3 tping 0 20 2.2.2.1 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r3 send telnet 1.1.1.1 666 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r4 send telnet 1.1.1.1 666 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 r2 send exit r2 read closed r3 send exit r3 read closed r2 send telnet 1234::1 666 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r3 send telnet 1234::1 666 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r4 send telnet 1234::1 666 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 r2 send exit r2 read closed r3 send exit r3 read closed freeRtr-25.11.9/cfg/crypt-access08.tst000066400000000000000000000063571510423065500173610ustar00rootroot00000000000000description access tracker addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit track t vrf v1 targ 2.2.2.4 mod icmp inter 1000 time 500 start exit server telnet tel vrf v1 access-track t port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: exit ! r1 tping 100 20 1.1.1.2 vrf v1 r1 tping 100 20 1234::2 vrf v1 r1 tping 100 20 1.1.1.3 vrf v1 r1 tping 100 20 1234::3 vrf v1 r1 tping 100 20 1.1.1.4 vrf v1 r1 tping 100 20 1234::4 vrf v1 r2 tping 100 20 1.1.1.1 vrf v1 r2 tping 100 20 1234::1 vrf v1 r3 tping 100 20 1.1.1.1 vrf v1 r3 tping 100 20 1234::1 vrf v1 r4 tping 100 20 1.1.1.1 vrf v1 r4 tping 100 20 1234::1 vrf v1 r1 tping 100 20 2.2.2.1 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r3 tping 0 20 2.2.2.1 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r3 send telnet 1.1.1.1 666 vrf v1 r3 tping 0 20 2.2.2.1 vrf v1 r4 send telnet 1.1.1.1 666 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 r2 send telnet 1234::1 666 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r3 send telnet 1234::1 666 vrf v1 r3 tping 0 20 2.2.2.1 vrf v1 r4 send telnet 1234::1 666 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 r1 send conf t r1 send ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.4 r1 send ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::4 r1 send end r1 tping 0 20 1.1.1.2 vrf v1 sou lo1 r1 tping 0 20 1234::2 vrf v1 sou lo1 r1 tping 0 20 1.1.1.3 vrf v1 sou lo1 r1 tping 0 20 1234::3 vrf v1 sou lo1 r1 tping 0 20 1.1.1.4 vrf v1 sou lo1 r1 tping 0 20 1234::4 vrf v1 sou lo1 r2 send telnet 1.1.1.1 666 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r3 send telnet 1.1.1.1 666 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r4 send telnet 1.1.1.1 666 vrf v1 r4 tping 100 20 2.2.2.1 vrf v1 r2 send exit r2 read closed r3 send exit r3 read closed r4 send exit r4 read closed r2 send telnet 1234::1 666 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r3 send telnet 1234::1 666 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r4 send telnet 1234::1 666 vrf v1 r4 tping 100 20 2.2.2.1 vrf v1 r2 send exit r2 read closed r3 send exit r3 read closed r4 send exit r4 read closed freeRtr-25.11.9/cfg/crypt-access09.tst000066400000000000000000000065721510423065500173610ustar00rootroot00000000000000description access negated tracker addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.4 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::4 track t vrf v1 targ 2.2.2.4 mod icmp for neg inter 1000 time 500 start exit server telnet tel vrf v1 access-track t port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: exit ! r1 tping 100 20 1.1.1.2 vrf v1 r1 tping 100 20 1234::2 vrf v1 r1 tping 100 20 1.1.1.3 vrf v1 r1 tping 100 20 1234::3 vrf v1 r1 tping 100 20 1.1.1.4 vrf v1 r1 tping 100 20 1234::4 vrf v1 r2 tping 100 20 1.1.1.1 vrf v1 r2 tping 100 20 1234::1 vrf v1 r3 tping 100 20 1.1.1.1 vrf v1 r3 tping 100 20 1234::1 vrf v1 r4 tping 100 20 1.1.1.1 vrf v1 r4 tping 100 20 1234::1 vrf v1 r1 tping 100 20 2.2.2.1 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r3 tping 0 20 2.2.2.1 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r3 send telnet 1.1.1.1 666 vrf v1 r3 tping 0 20 2.2.2.1 vrf v1 r4 send telnet 1.1.1.1 666 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 r2 send telnet 1234::1 666 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r3 send telnet 1234::1 666 vrf v1 r3 tping 0 20 2.2.2.1 vrf v1 r4 send telnet 1234::1 666 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 r1 send conf t r1 send no ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.4 r1 send no ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::4 r1 send end r1 tping 0 20 1.1.1.2 vrf v1 sou lo1 r1 tping 0 20 1234::2 vrf v1 sou lo1 r1 tping 0 20 1.1.1.3 vrf v1 sou lo1 r1 tping 0 20 1234::3 vrf v1 sou lo1 r1 tping 0 20 1.1.1.4 vrf v1 sou lo1 r1 tping 0 20 1234::4 vrf v1 sou lo1 r2 send telnet 1.1.1.1 666 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r3 send telnet 1.1.1.1 666 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r4 send telnet 1.1.1.1 666 vrf v1 r4 tping 100 20 2.2.2.1 vrf v1 r2 send exit r2 read closed r3 send exit r3 read closed r4 send exit r4 read closed r2 send telnet 1234::1 666 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r3 send telnet 1234::1 666 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r4 send telnet 1234::1 666 vrf v1 r4 tping 100 20 2.2.2.1 vrf v1 r2 send exit r2 read closed r3 send exit r3 read closed r4 send exit r4 read closed freeRtr-25.11.9/cfg/crypt-access10.tst000066400000000000000000000064131510423065500173430ustar00rootroot00000000000000description access follow tracker addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit track t vrf v1 targ 2.2.2.4 mod icmp inter 1000 time 500 start exit scheduler f time 1000 command clear follow-tracker start exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff follow t exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: exit ! r1 tping 100 20 1.1.1.2 vrf v1 r1 tping 100 20 1234::2 vrf v1 r1 tping 100 20 1.1.1.3 vrf v1 r1 tping 100 20 1234::3 vrf v1 r1 tping 100 20 1.1.1.4 vrf v1 r1 tping 100 20 1234::4 vrf v1 r2 tping 100 20 1.1.1.1 vrf v1 r2 tping 100 20 1234::1 vrf v1 r3 tping 100 20 1.1.1.1 vrf v1 r3 tping 100 20 1234::1 vrf v1 r4 tping 100 20 1.1.1.1 vrf v1 r4 tping 100 20 1234::1 vrf v1 r1 tping 0 20 2.2.2.1 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r3 tping 0 20 2.2.2.1 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r3 send telnet 1.1.1.1 666 vrf v1 r3 tping 0 20 2.2.2.1 vrf v1 r4 send telnet 1.1.1.1 666 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 r2 send telnet 1234::1 666 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r3 send telnet 1234::1 666 vrf v1 r3 tping 0 20 2.2.2.1 vrf v1 r4 send telnet 1234::1 666 vrf v1 r4 tping 0 20 2.2.2.1 vrf v1 r1 send conf t r1 send ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.4 r1 send ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::4 r1 send end r1 tping 0 20 1.1.1.2 vrf v1 sou lo1 r1 tping 0 20 1234::2 vrf v1 sou lo1 r1 tping 0 20 1.1.1.3 vrf v1 sou lo1 r1 tping 0 20 1234::3 vrf v1 sou lo1 r1 tping 0 20 1.1.1.4 vrf v1 sou lo1 r2 send telnet 1.1.1.1 666 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r3 send telnet 1.1.1.1 666 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r4 send telnet 1.1.1.1 666 vrf v1 r4 tping 100 20 2.2.2.1 vrf v1 r2 send exit r2 read closed r3 send exit r3 read closed r4 send exit r4 read closed r2 send telnet 1234::1 666 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r3 send telnet 1234::1 666 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r4 send telnet 1234::1 666 vrf v1 r4 tping 100 20 2.2.2.1 vrf v1 r2 send exit r2 read closed r3 send exit r3 read closed r4 send exit r4 read closed freeRtr-25.11.9/cfg/crypt-acl01.tst000066400000000000000000000021111510423065500166300ustar00rootroot00000000000000description ingress protocol matching access list addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r1 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::1 vrf v1 r1 tping 0 5 1.1.1.2 vrf v1 r1 tping 0 5 1234::2 vrf v1 r2 tping -100 5 1.1.1.1 vrf v1 error r2 tping -100 5 1234::1 vrf v1 error r1 output show access-list test4 r1 output show access-list test6 output ../binTmp/crypt-acl.html here is the ipv4 acl:
show:0
here is the ipv6 acl:
show:1
! freeRtr-25.11.9/cfg/crypt-acl02.tst000066400000000000000000000013471510423065500166430ustar00rootroot00000000000000description egress protocol matching access list addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4 ipv6 access-group-out test6 exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r1 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::1 vrf v1 r1 tping -100 5 1.1.1.2 vrf v1 error r1 tping -100 5 1234::2 vrf v1 error freeRtr-25.11.9/cfg/crypt-acl03.tst000066400000000000000000000030621510423065500166400ustar00rootroot00000000000000description ingress destination matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all 2.2.2.102 255.255.255.255 all deny all any all 2.2.2.202 255.255.255.255 all permit all any all any all exit access-list test6 deny all any all 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all deny all any all 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.202 255.255.255.255 ipv6 addr 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234::1 ! r1 tping 100 5 2.2.2.201 vrf v1 sou lo0 r1 tping 100 5 4321::201 vrf v1 sou lo0 r1 tping 0 5 2.2.2.201 vrf v1 sou lo1 r1 tping 0 5 4321::201 vrf v1 sou lo1 freeRtr-25.11.9/cfg/crypt-acl04.tst000066400000000000000000000030631510423065500166420ustar00rootroot00000000000000description egress destination matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all 2.2.2.102 255.255.255.255 all deny all any all 2.2.2.202 255.255.255.255 all permit all any all any all exit access-list test6 deny all any all 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all deny all any all 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4 ipv6 access-group-out test6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.202 255.255.255.255 ipv6 addr 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234::1 ! r1 tping 100 5 2.2.2.201 vrf v1 sou lo0 r1 tping 100 5 4321::201 vrf v1 sou lo0 r1 tping 0 5 2.2.2.202 vrf v1 sou lo0 r1 tping 0 5 4321::202 vrf v1 sou lo0 freeRtr-25.11.9/cfg/crypt-acl05.tst000066400000000000000000000030551510423065500166440ustar00rootroot00000000000000description ingress source matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all 2.2.2.102 255.255.255.255 all any all deny all 2.2.2.202 255.255.255.255 all any all permit all any all any all exit access-list test6 deny all 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all deny all 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all permit all any all any all exit vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.202 255.255.255.255 ipv6 addr 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234::1 ! r1 tping 100 5 2.2.2.201 vrf v1 sou lo0 r1 tping 100 5 4321::201 vrf v1 sou lo0 r1 tping 0 5 2.2.2.202 vrf v1 sou lo0 r1 tping 0 5 4321::202 vrf v1 sou lo0 freeRtr-25.11.9/cfg/crypt-acl06.tst000066400000000000000000000030561510423065500166460ustar00rootroot00000000000000description egress source matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all 2.2.2.102 255.255.255.255 all any all deny all 2.2.2.202 255.255.255.255 all any all permit all any all any all exit access-list test6 deny all 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all deny all 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all permit all any all any all exit vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4 ipv6 access-group-out test6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.202 255.255.255.255 ipv6 addr 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234::1 ! r1 tping 100 5 2.2.2.201 vrf v1 sou lo0 r1 tping 100 5 4321::201 vrf v1 sou lo0 r1 tping 0 5 2.2.2.201 vrf v1 sou lo1 r1 tping 0 5 4321::201 vrf v1 sou lo1 freeRtr-25.11.9/cfg/crypt-acl07.tst000066400000000000000000000025701510423065500166470ustar00rootroot00000000000000description ingress bridged access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! access-list test4 deny all 1.1.1.2 255.255.255.255 all 1.1.1.3 255.255.255.255 all permit all any all any all exit access-list test6 deny all 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 1234::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit bridge 1 exit vrf def v1 rd 1:1 exit int eth1 bridge-gr 1 bridge-fi ipv4in test4 bridge-fi ipv6in test6 exit int eth2 bridge-gr 1 bridge-fi ipv4in test4 bridge-fi ipv6in test6 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 0 5 1.1.1.3 vrf v1 r2 tping 0 5 1234::3 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 0 5 1.1.1.2 vrf v1 r3 tping 0 5 1234::2 vrf v1 freeRtr-25.11.9/cfg/crypt-acl08.tst000066400000000000000000000025731510423065500166530ustar00rootroot00000000000000description egress bridged access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! access-list test4 deny all 1.1.1.2 255.255.255.255 all 1.1.1.3 255.255.255.255 all permit all any all any all exit access-list test6 deny all 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 1234::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit bridge 1 exit vrf def v1 rd 1:1 exit int eth1 bridge-gr 1 bridge-fi ipv4out test4 bridge-fi ipv6out test6 exit int eth2 bridge-gr 1 bridge-fi ipv4out test4 bridge-fi ipv6out test6 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 0 5 1.1.1.3 vrf v1 r2 tping 0 5 1234::3 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 0 5 1.1.1.2 vrf v1 r3 tping 0 5 1234::2 vrf v1 freeRtr-25.11.9/cfg/crypt-acl09.tst000066400000000000000000000020701510423065500166440ustar00rootroot00000000000000description ingress ttl matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any all ttl 110-120 permit all any all any all exit access-list test6 deny all any all any all ttl 110-120 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 ttl 90 r2 tping 100 5 1234::1 vrf v1 ttl 90 r1 tping 100 5 1.1.1.2 vrf v1 ttl 90 r1 tping 100 5 1234::2 vrf v1 ttl 90 r2 tping 0 5 1.1.1.1 vrf v1 ttl 115 r2 tping 0 5 1234::1 vrf v1 ttl 115 r1 tping 100 5 1.1.1.2 vrf v1 ttl 115 r1 tping 100 5 1234::2 vrf v1 ttl 115 r2 tping 100 5 1.1.1.1 vrf v1 ttl 130 r2 tping 100 5 1234::1 vrf v1 ttl 130 r1 tping 100 5 1.1.1.2 vrf v1 ttl 130 r1 tping 100 5 1234::2 vrf v1 ttl 130 freeRtr-25.11.9/cfg/crypt-acl10.tst000066400000000000000000000020711510423065500166350ustar00rootroot00000000000000description egress ttl matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any all ttl 110-120 permit all any all any all exit access-list test6 deny all any all any all ttl 110-120 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4 ipv6 access-group-out test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 ttl 90 r2 tping 100 5 1234::1 vrf v1 ttl 90 r1 tping 100 5 1.1.1.2 vrf v1 ttl 90 r1 tping 100 5 1234::2 vrf v1 ttl 90 r2 tping 100 5 1.1.1.1 vrf v1 ttl 115 r2 tping 100 5 1234::1 vrf v1 ttl 115 r1 tping 0 5 1.1.1.2 vrf v1 ttl 115 r1 tping 0 5 1234::2 vrf v1 ttl 115 r2 tping 100 5 1.1.1.1 vrf v1 ttl 130 r2 tping 100 5 1234::1 vrf v1 ttl 130 r1 tping 100 5 1.1.1.2 vrf v1 ttl 130 r1 tping 100 5 1234::2 vrf v1 ttl 130 freeRtr-25.11.9/cfg/crypt-acl11.tst000066400000000000000000000020641510423065500166400ustar00rootroot00000000000000description ingress tos matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any all tos 110-120 permit all any all any all exit access-list test6 deny all any all any all tos 110-120 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 tos 90 r2 tping 100 5 1234::1 vrf v1 tos 90 r1 tping 100 5 1.1.1.2 vrf v1 tos 90 r1 tping 100 5 1234::2 vrf v1 tos 90 r2 tping 0 5 1.1.1.1 vrf v1 tos 115 r2 tping 0 5 1234::1 vrf v1 tos 115 r1 tping 0 5 1.1.1.2 vrf v1 tos 115 r1 tping 0 5 1234::2 vrf v1 tos 115 r2 tping 100 5 1.1.1.1 vrf v1 tos 130 r2 tping 100 5 1234::1 vrf v1 tos 130 r1 tping 100 5 1.1.1.2 vrf v1 tos 130 r1 tping 100 5 1234::2 vrf v1 tos 130 freeRtr-25.11.9/cfg/crypt-acl12.tst000066400000000000000000000020651510423065500166420ustar00rootroot00000000000000description egress tos matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any all tos 110-120 permit all any all any all exit access-list test6 deny all any all any all tos 110-120 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4 ipv6 access-group-out test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 tos 90 r2 tping 100 5 1234::1 vrf v1 tos 90 r1 tping 100 5 1.1.1.2 vrf v1 tos 90 r1 tping 100 5 1234::2 vrf v1 tos 90 r2 tping 0 5 1.1.1.1 vrf v1 tos 115 r2 tping 0 5 1234::1 vrf v1 tos 115 r1 tping 0 5 1.1.1.2 vrf v1 tos 115 r1 tping 0 5 1234::2 vrf v1 tos 115 r2 tping 100 5 1.1.1.1 vrf v1 tos 130 r2 tping 100 5 1234::1 vrf v1 tos 130 r1 tping 100 5 1.1.1.2 vrf v1 tos 130 r1 tping 100 5 1234::2 vrf v1 tos 130 freeRtr-25.11.9/cfg/crypt-acl13.tst000066400000000000000000000016201510423065500166370ustar00rootroot00000000000000description ingress dscp matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any all dscp 12 permit all any all any all exit access-list test6 deny all any all any all dscp 12 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 tos 47 r2 tping 100 5 1234::1 vrf v1 tos 47 r1 tping 100 5 1.1.1.2 vrf v1 tos 47 r1 tping 100 5 1234::2 vrf v1 tos 47 r2 tping 0 5 1.1.1.1 vrf v1 tos 48 r2 tping 0 5 1234::1 vrf v1 tos 48 r1 tping 0 5 1.1.1.2 vrf v1 tos 48 r1 tping 0 5 1234::2 vrf v1 tos 48 freeRtr-25.11.9/cfg/crypt-acl14.tst000066400000000000000000000016211510423065500166410ustar00rootroot00000000000000description egress dscp matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any all dscp 12 permit all any all any all exit access-list test6 deny all any all any all dscp 12 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4 ipv6 access-group-out test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 tos 47 r2 tping 100 5 1234::1 vrf v1 tos 47 r1 tping 100 5 1.1.1.2 vrf v1 tos 47 r1 tping 100 5 1234::2 vrf v1 tos 47 r2 tping 0 5 1.1.1.1 vrf v1 tos 48 r2 tping 0 5 1234::1 vrf v1 tos 48 r1 tping 0 5 1.1.1.2 vrf v1 tos 48 r1 tping 0 5 1234::2 vrf v1 tos 48 freeRtr-25.11.9/cfg/crypt-acl15.tst000066400000000000000000000016241510423065500166450ustar00rootroot00000000000000description ingress precedence matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any all prec 2 permit all any all any all exit access-list test6 deny all any all any all prec 2 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 tos 63 r2 tping 100 5 1234::1 vrf v1 tos 63 r1 tping 100 5 1.1.1.2 vrf v1 tos 63 r1 tping 100 5 1234::2 vrf v1 tos 63 r2 tping 0 5 1.1.1.1 vrf v1 tos 64 r2 tping 0 5 1234::1 vrf v1 tos 64 r1 tping 0 5 1.1.1.2 vrf v1 tos 64 r1 tping 0 5 1234::2 vrf v1 tos 64 freeRtr-25.11.9/cfg/crypt-acl16.tst000066400000000000000000000016251510423065500166470ustar00rootroot00000000000000description egress precedence matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any all prec 2 permit all any all any all exit access-list test6 deny all any all any all prec 2 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4 ipv6 access-group-out test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 tos 63 r2 tping 100 5 1234::1 vrf v1 tos 63 r1 tping 100 5 1.1.1.2 vrf v1 tos 63 r1 tping 100 5 1234::2 vrf v1 tos 63 r2 tping 0 5 1.1.1.1 vrf v1 tos 64 r2 tping 0 5 1234::1 vrf v1 tos 64 r1 tping 0 5 1.1.1.2 vrf v1 tos 64 r1 tping 0 5 1234::2 vrf v1 tos 64 freeRtr-25.11.9/cfg/crypt-acl17.tst000066400000000000000000000020671510423065500166510ustar00rootroot00000000000000description ingress length matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any all len 100-200 permit all any all any all exit access-list test6 deny all any all any all len 100-200 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 siz 50 r2 tping 100 5 1234::1 vrf v1 siz 50 r1 tping 100 5 1.1.1.2 vrf v1 siz 50 r1 tping 100 5 1234::2 vrf v1 siz 50 r2 tping 0 5 1.1.1.1 vrf v1 siz 110 r2 tping 0 5 1234::1 vrf v1 siz 110 r1 tping 0 5 1.1.1.2 vrf v1 siz 110 r1 tping 0 5 1234::2 vrf v1 siz 110 r2 tping 100 5 1.1.1.1 vrf v1 siz 250 r2 tping 100 5 1234::1 vrf v1 siz 250 r1 tping 100 5 1.1.1.2 vrf v1 siz 250 r1 tping 100 5 1234::2 vrf v1 siz 250 freeRtr-25.11.9/cfg/crypt-acl18.tst000066400000000000000000000020701510423065500166440ustar00rootroot00000000000000description egress length matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any all len 100-200 permit all any all any all exit access-list test6 deny all any all any all len 100-200 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4 ipv6 access-group-out test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 siz 50 r2 tping 100 5 1234::1 vrf v1 siz 50 r1 tping 100 5 1.1.1.2 vrf v1 siz 50 r1 tping 100 5 1234::2 vrf v1 siz 50 r2 tping 0 5 1.1.1.1 vrf v1 siz 110 r2 tping 0 5 1234::1 vrf v1 siz 110 r1 tping 0 5 1.1.1.2 vrf v1 siz 110 r1 tping 0 5 1234::2 vrf v1 siz 110 r2 tping 100 5 1.1.1.1 vrf v1 siz 250 r2 tping 100 5 1234::1 vrf v1 siz 250 r1 tping 100 5 1.1.1.2 vrf v1 siz 250 r1 tping 100 5 1234::2 vrf v1 siz 250 freeRtr-25.11.9/cfg/crypt-acl19.tst000066400000000000000000000031371510423065500166520ustar00rootroot00000000000000description ingress destination matching hybrid access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! object-group net test4 2.2.2.102 255.255.255.255 2.2.2.202 255.255.255.255 exit object-group net test6 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny all any all obj test4 all permit all any all any all exit access-list test6 deny all any all obj test6 all permit all any all any all exit vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.202 255.255.255.255 ipv6 addr 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234::1 ! r1 tping 100 5 2.2.2.201 vrf v1 sou lo0 r1 tping 100 5 4321::201 vrf v1 sou lo0 r1 tping 0 5 2.2.2.201 vrf v1 sou lo1 r1 tping 0 5 4321::201 vrf v1 sou lo1 freeRtr-25.11.9/cfg/crypt-acl20.tst000066400000000000000000000031401510423065500166340ustar00rootroot00000000000000description egress destination matching hybrid access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! object-group net test4 2.2.2.102 255.255.255.255 2.2.2.202 255.255.255.255 exit object-group net test6 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny all any all obj test4 all permit all any all any all exit access-list test6 deny all any all obj test6 all permit all any all any all exit vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4 ipv6 access-group-out test6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.202 255.255.255.255 ipv6 addr 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234::1 ! r1 tping 100 5 2.2.2.201 vrf v1 sou lo0 r1 tping 100 5 4321::201 vrf v1 sou lo0 r1 tping 0 5 2.2.2.202 vrf v1 sou lo0 r1 tping 0 5 4321::202 vrf v1 sou lo0 freeRtr-25.11.9/cfg/crypt-acl21.tst000066400000000000000000000031321510423065500166360ustar00rootroot00000000000000description ingress source matching hybrid access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! object-group net test4 2.2.2.102 255.255.255.255 2.2.2.202 255.255.255.255 exit object-group net test6 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny all obj test4 all any all permit all any all any all exit access-list test6 deny all obj test6 all any all permit all any all any all exit vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.202 255.255.255.255 ipv6 addr 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234::1 ! r1 tping 100 5 2.2.2.201 vrf v1 sou lo0 r1 tping 100 5 4321::201 vrf v1 sou lo0 r1 tping 0 5 2.2.2.202 vrf v1 sou lo0 r1 tping 0 5 4321::202 vrf v1 sou lo0 freeRtr-25.11.9/cfg/crypt-acl22.tst000066400000000000000000000031331510423065500166400ustar00rootroot00000000000000description egress source matching hybrid access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! object-group net test4 2.2.2.102 255.255.255.255 2.2.2.202 255.255.255.255 exit object-group net test6 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny all obj test4 all any all permit all any all any all exit access-list test6 deny all obj test6 all any all permit all any all any all exit vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4 ipv6 access-group-out test6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.202 255.255.255.255 ipv6 addr 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234::1 ! r1 tping 100 5 2.2.2.201 vrf v1 sou lo0 r1 tping 100 5 4321::201 vrf v1 sou lo0 r1 tping 0 5 2.2.2.201 vrf v1 sou lo1 r1 tping 0 5 4321::201 vrf v1 sou lo1 freeRtr-25.11.9/cfg/crypt-acl23.tst000066400000000000000000000013511510423065500166410ustar00rootroot00000000000000description ingress protocol matching common access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-common-in test4 ipv6 access-group-common-in test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r1 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::1 vrf v1 r1 tping 0 5 1.1.1.2 vrf v1 r1 tping 0 5 1234::2 vrf v1 freeRtr-25.11.9/cfg/crypt-acl24.tst000066400000000000000000000013521510423065500166430ustar00rootroot00000000000000description egress protocol matching common access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-common-out test4 ipv6 access-group-common-out test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r1 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::1 vrf v1 r1 tping 0 5 1.1.1.2 vrf v1 r1 tping 0 5 1234::2 vrf v1 freeRtr-25.11.9/cfg/crypt-acl25.tst000066400000000000000000000031071510423065500166440ustar00rootroot00000000000000description ingress destination matching common access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all 2.2.2.102 255.255.255.255 all deny all any all 2.2.2.202 255.255.255.255 all permit all any all any all exit access-list test6 deny all any all 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all deny all any all 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-common-in test4 ipv6 access-group-common-in test6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.202 255.255.255.255 ipv6 addr 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234::1 ! r1 tping 100 5 2.2.2.201 vrf v1 sou lo0 r1 tping 100 5 4321::201 vrf v1 sou lo0 r1 tping 0 5 2.2.2.201 vrf v1 sou lo1 r1 tping 0 5 4321::201 vrf v1 sou lo1 freeRtr-25.11.9/cfg/crypt-acl26.tst000066400000000000000000000031101510423065500166370ustar00rootroot00000000000000description egress destination matching common access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all 2.2.2.102 255.255.255.255 all deny all any all 2.2.2.202 255.255.255.255 all permit all any all any all exit access-list test6 deny all any all 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all deny all any all 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-common-out test4 ipv6 access-group-common-out test6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.202 255.255.255.255 ipv6 addr 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234::1 ! r1 tping 100 5 2.2.2.201 vrf v1 sou lo0 r1 tping 100 5 4321::201 vrf v1 sou lo0 r1 tping 0 5 2.2.2.202 vrf v1 sou lo0 r1 tping 0 5 4321::202 vrf v1 sou lo0 freeRtr-25.11.9/cfg/crypt-acl27.tst000066400000000000000000000031021510423065500166410ustar00rootroot00000000000000description ingress source matching common access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all 2.2.2.102 255.255.255.255 all any all deny all 2.2.2.202 255.255.255.255 all any all permit all any all any all exit access-list test6 deny all 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all deny all 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all permit all any all any all exit vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-common-in test4 ipv6 access-group-common-in test6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.202 255.255.255.255 ipv6 addr 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234::1 ! r1 tping 100 5 2.2.2.201 vrf v1 sou lo0 r1 tping 100 5 4321::201 vrf v1 sou lo0 r1 tping 0 5 2.2.2.202 vrf v1 sou lo0 r1 tping 0 5 4321::202 vrf v1 sou lo0 freeRtr-25.11.9/cfg/crypt-acl28.tst000066400000000000000000000031031510423065500166430ustar00rootroot00000000000000description egress source matching common access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all 2.2.2.102 255.255.255.255 all any all deny all 2.2.2.202 255.255.255.255 all any all permit all any all any all exit access-list test6 deny all 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all deny all 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all permit all any all any all exit vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-common-out test4 ipv6 access-group-common-out test6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.202 255.255.255.255 ipv6 addr 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234::1 ! r1 tping 100 5 2.2.2.201 vrf v1 sou lo0 r1 tping 100 5 4321::201 vrf v1 sou lo0 r1 tping 0 5 2.2.2.201 vrf v1 sou lo1 r1 tping 0 5 4321::201 vrf v1 sou lo1 freeRtr-25.11.9/cfg/crypt-acl29.tst000066400000000000000000000021151510423065500166460ustar00rootroot00000000000000description ingress ttl matching common access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any all ttl 110-120 permit all any all any all exit access-list test6 deny all any all any all ttl 110-120 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-common-in test4 ipv6 access-group-common-in test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 ttl 90 r2 tping 100 5 1234::1 vrf v1 ttl 90 r1 tping 100 5 1.1.1.2 vrf v1 ttl 90 r1 tping 100 5 1234::2 vrf v1 ttl 90 r2 tping 0 5 1.1.1.1 vrf v1 ttl 115 r2 tping 0 5 1234::1 vrf v1 ttl 115 r1 tping 100 5 1.1.1.2 vrf v1 ttl 115 r1 tping 100 5 1234::2 vrf v1 ttl 115 r2 tping 100 5 1.1.1.1 vrf v1 ttl 130 r2 tping 100 5 1234::1 vrf v1 ttl 130 r1 tping 100 5 1.1.1.2 vrf v1 ttl 130 r1 tping 100 5 1234::2 vrf v1 ttl 130 freeRtr-25.11.9/cfg/crypt-acl30.tst000066400000000000000000000021161510423065500166370ustar00rootroot00000000000000description egress ttl matching common access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any all ttl 110-120 permit all any all any all exit access-list test6 deny all any all any all ttl 110-120 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-common-out test4 ipv6 access-group-common-out test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 ttl 90 r2 tping 100 5 1234::1 vrf v1 ttl 90 r1 tping 100 5 1.1.1.2 vrf v1 ttl 90 r1 tping 100 5 1234::2 vrf v1 ttl 90 r2 tping 100 5 1.1.1.1 vrf v1 ttl 115 r2 tping 100 5 1234::1 vrf v1 ttl 115 r1 tping 0 5 1.1.1.2 vrf v1 ttl 115 r1 tping 0 5 1234::2 vrf v1 ttl 115 r2 tping 100 5 1.1.1.1 vrf v1 ttl 130 r2 tping 100 5 1234::1 vrf v1 ttl 130 r1 tping 100 5 1.1.1.2 vrf v1 ttl 130 r1 tping 100 5 1234::2 vrf v1 ttl 130 freeRtr-25.11.9/cfg/crypt-acl31.tst000066400000000000000000000021111510423065500166330ustar00rootroot00000000000000description ingress tos matching common access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any all tos 110-120 permit all any all any all exit access-list test6 deny all any all any all tos 110-120 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-common-in test4 ipv6 access-group-common-in test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 tos 90 r2 tping 100 5 1234::1 vrf v1 tos 90 r1 tping 100 5 1.1.1.2 vrf v1 tos 90 r1 tping 100 5 1234::2 vrf v1 tos 90 r2 tping 0 5 1.1.1.1 vrf v1 tos 115 r2 tping 0 5 1234::1 vrf v1 tos 115 r1 tping 0 5 1.1.1.2 vrf v1 tos 115 r1 tping 0 5 1234::2 vrf v1 tos 115 r2 tping 100 5 1.1.1.1 vrf v1 tos 130 r2 tping 100 5 1234::1 vrf v1 tos 130 r1 tping 100 5 1.1.1.2 vrf v1 tos 130 r1 tping 100 5 1234::2 vrf v1 tos 130 freeRtr-25.11.9/cfg/crypt-acl32.tst000066400000000000000000000021121510423065500166350ustar00rootroot00000000000000description egress tos matching common access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any all tos 110-120 permit all any all any all exit access-list test6 deny all any all any all tos 110-120 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-common-out test4 ipv6 access-group-common-out test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 tos 90 r2 tping 100 5 1234::1 vrf v1 tos 90 r1 tping 100 5 1.1.1.2 vrf v1 tos 90 r1 tping 100 5 1234::2 vrf v1 tos 90 r2 tping 0 5 1.1.1.1 vrf v1 tos 115 r2 tping 0 5 1234::1 vrf v1 tos 115 r1 tping 0 5 1.1.1.2 vrf v1 tos 115 r1 tping 0 5 1234::2 vrf v1 tos 115 r2 tping 100 5 1.1.1.1 vrf v1 tos 130 r2 tping 100 5 1234::1 vrf v1 tos 130 r1 tping 100 5 1.1.1.2 vrf v1 tos 130 r1 tping 100 5 1234::2 vrf v1 tos 130 freeRtr-25.11.9/cfg/crypt-acl33.tst000066400000000000000000000021141510423065500166400ustar00rootroot00000000000000description ingress length matching common access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any all len 100-200 permit all any all any all exit access-list test6 deny all any all any all len 100-200 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-common-in test4 ipv6 access-group-common-in test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 siz 50 r2 tping 100 5 1234::1 vrf v1 siz 50 r1 tping 100 5 1.1.1.2 vrf v1 siz 50 r1 tping 100 5 1234::2 vrf v1 siz 50 r2 tping 0 5 1.1.1.1 vrf v1 siz 110 r2 tping 0 5 1234::1 vrf v1 siz 110 r1 tping 0 5 1.1.1.2 vrf v1 siz 110 r1 tping 0 5 1234::2 vrf v1 siz 110 r2 tping 100 5 1.1.1.1 vrf v1 siz 250 r2 tping 100 5 1234::1 vrf v1 siz 250 r1 tping 100 5 1.1.1.2 vrf v1 siz 250 r1 tping 100 5 1234::2 vrf v1 siz 250 freeRtr-25.11.9/cfg/crypt-acl34.tst000066400000000000000000000021151510423065500166420ustar00rootroot00000000000000description egress length matching common access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any all len 100-200 permit all any all any all exit access-list test6 deny all any all any all len 100-200 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-common-out test4 ipv6 access-group-common-out test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 siz 50 r2 tping 100 5 1234::1 vrf v1 siz 50 r1 tping 100 5 1.1.1.2 vrf v1 siz 50 r1 tping 100 5 1234::2 vrf v1 siz 50 r2 tping 0 5 1.1.1.1 vrf v1 siz 110 r2 tping 0 5 1234::1 vrf v1 siz 110 r1 tping 0 5 1.1.1.2 vrf v1 siz 110 r1 tping 0 5 1234::2 vrf v1 siz 110 r2 tping 100 5 1.1.1.1 vrf v1 siz 250 r2 tping 100 5 1234::1 vrf v1 siz 250 r1 tping 100 5 1.1.1.2 vrf v1 siz 250 r1 tping 100 5 1234::2 vrf v1 siz 250 freeRtr-25.11.9/cfg/crypt-acl35.tst000066400000000000000000000035061510423065500166500ustar00rootroot00000000000000description ingress source port matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any 123 any all permit all any all any all exit access-list test6 deny all any 123 any all permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.1 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.1 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.2 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.2 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.2 255.255.255.0 exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 0 5 2.2.1.2 vrf v1 r1 tping 0 5 2.2.2.2 vrf v1 r1 tping 100 5 2.2.3.2 vrf v1 r1 tping 100 5 2.2.4.2 vrf v1 freeRtr-25.11.9/cfg/crypt-acl36.tst000066400000000000000000000035071510423065500166520ustar00rootroot00000000000000description egress source port matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any 123 any all permit all any all any all exit access-list test6 deny all any 123 any all permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4 ipv6 access-group-out test6 exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.1 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.1 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.2 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.2 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.2 255.255.255.0 exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 0 5 2.2.1.2 vrf v1 r1 tping 0 5 2.2.2.2 vrf v1 r1 tping 100 5 2.2.3.2 vrf v1 r1 tping 100 5 2.2.4.2 vrf v1 freeRtr-25.11.9/cfg/crypt-acl37.tst000066400000000000000000000035131510423065500166500ustar00rootroot00000000000000description ingress destination port matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any 123 permit all any all any all exit access-list test6 deny all any all any 123 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.1 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.1 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.2 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.2 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.2 255.255.255.0 exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 0 5 2.2.1.2 vrf v1 r1 tping 0 5 2.2.2.2 vrf v1 r1 tping 100 5 2.2.3.2 vrf v1 r1 tping 100 5 2.2.4.2 vrf v1 freeRtr-25.11.9/cfg/crypt-acl38.tst000066400000000000000000000035141510423065500166520ustar00rootroot00000000000000description egress destination port matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any 123 permit all any all any all exit access-list test6 deny all any all any 123 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4 ipv6 access-group-out test6 exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.1 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.1 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.2 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.2 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.2 255.255.255.0 exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 0 5 2.2.1.2 vrf v1 r1 tping 0 5 2.2.2.2 vrf v1 r1 tping 100 5 2.2.3.2 vrf v1 r1 tping 100 5 2.2.4.2 vrf v1 freeRtr-25.11.9/cfg/crypt-acl39.tst000066400000000000000000000035711510423065500166560ustar00rootroot00000000000000description ingress source port matching hybrid access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! object-group port test 123 exit access-list test4 deny all any obj test any all permit all any all any all exit access-list test6 deny all any obj test any all permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.1 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.1 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.2 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.2 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.2 255.255.255.0 exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 0 5 2.2.1.2 vrf v1 r1 tping 0 5 2.2.2.2 vrf v1 r1 tping 100 5 2.2.3.2 vrf v1 r1 tping 100 5 2.2.4.2 vrf v1 freeRtr-25.11.9/cfg/crypt-acl40.tst000066400000000000000000000035721510423065500166470ustar00rootroot00000000000000description egress source port matching hybrid access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! object-group port test 123 exit access-list test4 deny all any obj test any all permit all any all any all exit access-list test6 deny all any obj test any all permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4 ipv6 access-group-out test6 exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.1 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.1 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.2 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.2 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.2 255.255.255.0 exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 0 5 2.2.1.2 vrf v1 r1 tping 0 5 2.2.2.2 vrf v1 r1 tping 100 5 2.2.3.2 vrf v1 r1 tping 100 5 2.2.4.2 vrf v1 freeRtr-25.11.9/cfg/crypt-acl41.tst000066400000000000000000000035761510423065500166540ustar00rootroot00000000000000description ingress destination port matching hybrid access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! object-group port test 123 exit access-list test4 deny all any all any obj test permit all any all any all exit access-list test6 deny all any all any obj test permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.1 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.1 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.2 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.2 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.2 255.255.255.0 exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 0 5 2.2.1.2 vrf v1 r1 tping 0 5 2.2.2.2 vrf v1 r1 tping 100 5 2.2.3.2 vrf v1 r1 tping 100 5 2.2.4.2 vrf v1 freeRtr-25.11.9/cfg/crypt-acl42.tst000066400000000000000000000035771510423065500166560ustar00rootroot00000000000000description egress destination port matching hybrid access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! object-group port test 123 exit access-list test4 deny all any all any obj test permit all any all any all exit access-list test6 deny all any all any obj test permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4 ipv6 access-group-out test6 exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.1 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.1 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.2 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.2 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.2 255.255.255.0 exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 0 5 2.2.1.2 vrf v1 r1 tping 0 5 2.2.2.2 vrf v1 r1 tping 100 5 2.2.3.2 vrf v1 r1 tping 100 5 2.2.4.2 vrf v1 freeRtr-25.11.9/cfg/crypt-acl43.tst000066400000000000000000000035331510423065500166470ustar00rootroot00000000000000description ingress source port matching common access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any 123 any all permit all any all any all exit access-list test6 deny all any 123 any all permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-common-in test4 ipv6 access-group-common-in test6 exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.1 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.1 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.2 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.2 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.2 255.255.255.0 exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 0 5 2.2.1.2 vrf v1 r1 tping 0 5 2.2.2.2 vrf v1 r1 tping 100 5 2.2.3.2 vrf v1 r1 tping 100 5 2.2.4.2 vrf v1 freeRtr-25.11.9/cfg/crypt-acl44.tst000066400000000000000000000035341510423065500166510ustar00rootroot00000000000000description egress source port matching common access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any 123 any all permit all any all any all exit access-list test6 deny all any 123 any all permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-common-out test4 ipv6 access-group-common-out test6 exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.1 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.1 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.2 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.2 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.2 255.255.255.0 exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 0 5 2.2.1.2 vrf v1 r1 tping 0 5 2.2.2.2 vrf v1 r1 tping 100 5 2.2.3.2 vrf v1 r1 tping 100 5 2.2.4.2 vrf v1 freeRtr-25.11.9/cfg/crypt-acl45.tst000066400000000000000000000035401510423065500166470ustar00rootroot00000000000000description ingress destination port matching common access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any 123 permit all any all any all exit access-list test6 deny all any all any 123 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-common-in test4 ipv6 access-group-common-in test6 exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.1 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.1 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.2 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.2 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.2 255.255.255.0 exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 0 5 2.2.1.2 vrf v1 r1 tping 0 5 2.2.2.2 vrf v1 r1 tping 100 5 2.2.3.2 vrf v1 r1 tping 100 5 2.2.4.2 vrf v1 freeRtr-25.11.9/cfg/crypt-acl46.tst000066400000000000000000000035411510423065500166510ustar00rootroot00000000000000description egress destination port matching common access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any 123 permit all any all any all exit access-list test6 deny all any all any 123 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-common-out test4 ipv6 access-group-common-out test6 exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.1 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.1 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.2 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.2 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.2 255.255.255.0 exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 0 5 2.2.1.2 vrf v1 r1 tping 0 5 2.2.2.2 vrf v1 r1 tping 100 5 2.2.3.2 vrf v1 r1 tping 100 5 2.2.4.2 vrf v1 freeRtr-25.11.9/cfg/crypt-acl47.tst000066400000000000000000000015071510423065500166520ustar00rootroot00000000000000description ingress protocol matching hierarchical access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4a permit 1 any all any all exit access-list test6a permit 58 any all any all exit access-list test4b evaluate deny test4a permit all any all any all exit access-list test6b evaluate deny test6a permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4b ipv6 access-group-in test6b exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r1 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::1 vrf v1 r1 tping 0 5 1.1.1.2 vrf v1 r1 tping 0 5 1234::2 vrf v1 freeRtr-25.11.9/cfg/crypt-acl48.tst000066400000000000000000000015101510423065500166450ustar00rootroot00000000000000description egress protocol matching hierarchical access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4a permit 1 any all any all exit access-list test6a permit 58 any all any all exit access-list test4b evaluate deny test4a permit all any all any all exit access-list test6b evaluate deny test6a permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4b ipv6 access-group-out test6b exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r1 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::1 vrf v1 r1 tping 0 5 1.1.1.2 vrf v1 r1 tping 0 5 1234::2 vrf v1 freeRtr-25.11.9/cfg/crypt-acl49.tst000066400000000000000000000032511510423065500166520ustar00rootroot00000000000000description ingress destination matching hierarchical access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4a permit all any all 2.2.2.102 255.255.255.255 all permit all any all 2.2.2.202 255.255.255.255 all exit access-list test6a permit all any all 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test4b evaluate deny test4a permit all any all any all exit access-list test6b evaluate deny test6a permit all any all any all exit vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4b ipv6 access-group-in test6b exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.202 255.255.255.255 ipv6 addr 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234::1 ! r1 tping 100 5 2.2.2.201 vrf v1 sou lo0 r1 tping 100 5 4321::201 vrf v1 sou lo0 r1 tping 0 5 2.2.2.201 vrf v1 sou lo1 r1 tping 0 5 4321::201 vrf v1 sou lo1 freeRtr-25.11.9/cfg/crypt-acl50.tst000066400000000000000000000032521510423065500166430ustar00rootroot00000000000000description egress destination matching hierarchical access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4a permit all any all 2.2.2.102 255.255.255.255 all permit all any all 2.2.2.202 255.255.255.255 all exit access-list test6a permit all any all 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test4b evaluate deny test4a permit all any all any all exit access-list test6b evaluate deny test6a permit all any all any all exit vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4b ipv6 access-group-out test6b exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.202 255.255.255.255 ipv6 addr 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234::1 ! r1 tping 100 5 2.2.2.201 vrf v1 sou lo0 r1 tping 100 5 4321::201 vrf v1 sou lo0 r1 tping 0 5 2.2.2.202 vrf v1 sou lo0 r1 tping 0 5 4321::202 vrf v1 sou lo0 freeRtr-25.11.9/cfg/crypt-acl51.tst000066400000000000000000000032441510423065500166450ustar00rootroot00000000000000description ingress source matching hierarchical access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4a permit all 2.2.2.102 255.255.255.255 all any all permit all 2.2.2.202 255.255.255.255 all any all exit access-list test6a permit all 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all permit all 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit access-list test4b evaluate deny test4a permit all any all any all exit access-list test6b evaluate deny test6a permit all any all any all exit vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4b ipv6 access-group-in test6b exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.202 255.255.255.255 ipv6 addr 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234::1 ! r1 tping 100 5 2.2.2.201 vrf v1 sou lo0 r1 tping 100 5 4321::201 vrf v1 sou lo0 r1 tping 0 5 2.2.2.202 vrf v1 sou lo0 r1 tping 0 5 4321::202 vrf v1 sou lo0 freeRtr-25.11.9/cfg/crypt-acl52.tst000066400000000000000000000032451510423065500166470ustar00rootroot00000000000000description egress source matching hierarchical access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4a permit all 2.2.2.102 255.255.255.255 all any all permit all 2.2.2.202 255.255.255.255 all any all exit access-list test6a permit all 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all permit all 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit access-list test4b evaluate deny test4a permit all any all any all exit access-list test6b evaluate deny test6a permit all any all any all exit vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4b ipv6 access-group-out test6b exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.202 255.255.255.255 ipv6 addr 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234::1 ! r1 tping 100 5 2.2.2.201 vrf v1 sou lo0 r1 tping 100 5 4321::201 vrf v1 sou lo0 r1 tping 0 5 2.2.2.201 vrf v1 sou lo1 r1 tping 0 5 4321::201 vrf v1 sou lo1 freeRtr-25.11.9/cfg/crypt-acl53.tst000066400000000000000000000022531510423065500166460ustar00rootroot00000000000000description ingress ttl matching hierarchical access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4a permit all any all any all ttl 110-120 exit access-list test6a permit all any all any all ttl 110-120 exit access-list test4b evaluate deny test4a permit all any all any all exit access-list test6b evaluate deny test6a permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4b ipv6 access-group-in test6b exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 ttl 90 r2 tping 100 5 1234::1 vrf v1 ttl 90 r1 tping 100 5 1.1.1.2 vrf v1 ttl 90 r1 tping 100 5 1234::2 vrf v1 ttl 90 r2 tping 0 5 1.1.1.1 vrf v1 ttl 115 r2 tping 0 5 1234::1 vrf v1 ttl 115 r1 tping 100 5 1.1.1.2 vrf v1 ttl 115 r1 tping 100 5 1234::2 vrf v1 ttl 115 r2 tping 100 5 1.1.1.1 vrf v1 ttl 130 r2 tping 100 5 1234::1 vrf v1 ttl 130 r1 tping 100 5 1.1.1.2 vrf v1 ttl 130 r1 tping 100 5 1234::2 vrf v1 ttl 130 freeRtr-25.11.9/cfg/crypt-acl54.tst000066400000000000000000000022541510423065500166500ustar00rootroot00000000000000description egress ttl matching hierarchical access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4a permit all any all any all ttl 110-120 exit access-list test6a permit all any all any all ttl 110-120 exit access-list test4b evaluate deny test4a permit all any all any all exit access-list test6b evaluate deny test6a permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4b ipv6 access-group-out test6b exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 ttl 90 r2 tping 100 5 1234::1 vrf v1 ttl 90 r1 tping 100 5 1.1.1.2 vrf v1 ttl 90 r1 tping 100 5 1234::2 vrf v1 ttl 90 r2 tping 100 5 1.1.1.1 vrf v1 ttl 115 r2 tping 100 5 1234::1 vrf v1 ttl 115 r1 tping 0 5 1.1.1.2 vrf v1 ttl 115 r1 tping 0 5 1234::2 vrf v1 ttl 115 r2 tping 100 5 1.1.1.1 vrf v1 ttl 130 r2 tping 100 5 1234::1 vrf v1 ttl 130 r1 tping 100 5 1.1.1.2 vrf v1 ttl 130 r1 tping 100 5 1234::2 vrf v1 ttl 130 freeRtr-25.11.9/cfg/crypt-acl55.tst000066400000000000000000000022471510423065500166530ustar00rootroot00000000000000description ingress tos matching hierarchical access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4a permit all any all any all tos 110-120 exit access-list test6a permit all any all any all tos 110-120 exit access-list test4b evaluate deny test4a permit all any all any all exit access-list test6b evaluate deny test6a permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4b ipv6 access-group-in test6b exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 tos 90 r2 tping 100 5 1234::1 vrf v1 tos 90 r1 tping 100 5 1.1.1.2 vrf v1 tos 90 r1 tping 100 5 1234::2 vrf v1 tos 90 r2 tping 0 5 1.1.1.1 vrf v1 tos 115 r2 tping 0 5 1234::1 vrf v1 tos 115 r1 tping 0 5 1.1.1.2 vrf v1 tos 115 r1 tping 0 5 1234::2 vrf v1 tos 115 r2 tping 100 5 1.1.1.1 vrf v1 tos 130 r2 tping 100 5 1234::1 vrf v1 tos 130 r1 tping 100 5 1.1.1.2 vrf v1 tos 130 r1 tping 100 5 1234::2 vrf v1 tos 130 freeRtr-25.11.9/cfg/crypt-acl56.tst000066400000000000000000000022501510423065500166460ustar00rootroot00000000000000description egress tos matching hierarchical access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4a permit all any all any all tos 110-120 exit access-list test6a permit all any all any all tos 110-120 exit access-list test4b evaluate deny test4a permit all any all any all exit access-list test6b evaluate deny test6a permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4b ipv6 access-group-out test6b exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 tos 90 r2 tping 100 5 1234::1 vrf v1 tos 90 r1 tping 100 5 1.1.1.2 vrf v1 tos 90 r1 tping 100 5 1234::2 vrf v1 tos 90 r2 tping 0 5 1.1.1.1 vrf v1 tos 115 r2 tping 0 5 1234::1 vrf v1 tos 115 r1 tping 0 5 1.1.1.2 vrf v1 tos 115 r1 tping 0 5 1234::2 vrf v1 tos 115 r2 tping 100 5 1.1.1.1 vrf v1 tos 130 r2 tping 100 5 1234::1 vrf v1 tos 130 r1 tping 100 5 1.1.1.2 vrf v1 tos 130 r1 tping 100 5 1234::2 vrf v1 tos 130 freeRtr-25.11.9/cfg/crypt-acl57.tst000066400000000000000000000022521510423065500166510ustar00rootroot00000000000000description ingress length matching hierarchical access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4a permit all any all any all len 100-200 exit access-list test6a permit all any all any all len 100-200 exit access-list test4b evaluate deny test4a permit all any all any all exit access-list test6b evaluate deny test6a permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4b ipv6 access-group-in test6b exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 siz 50 r2 tping 100 5 1234::1 vrf v1 siz 50 r1 tping 100 5 1.1.1.2 vrf v1 siz 50 r1 tping 100 5 1234::2 vrf v1 siz 50 r2 tping 0 5 1.1.1.1 vrf v1 siz 110 r2 tping 0 5 1234::1 vrf v1 siz 110 r1 tping 0 5 1.1.1.2 vrf v1 siz 110 r1 tping 0 5 1234::2 vrf v1 siz 110 r2 tping 100 5 1.1.1.1 vrf v1 siz 250 r2 tping 100 5 1234::1 vrf v1 siz 250 r1 tping 100 5 1.1.1.2 vrf v1 siz 250 r1 tping 100 5 1234::2 vrf v1 siz 250 freeRtr-25.11.9/cfg/crypt-acl58.tst000066400000000000000000000022531510423065500166530ustar00rootroot00000000000000description egress length matching hierarchical access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4a permit all any all any all len 100-200 exit access-list test6a permit all any all any all len 100-200 exit access-list test4b evaluate deny test4a permit all any all any all exit access-list test6b evaluate deny test6a permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4b ipv6 access-group-out test6b exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 siz 50 r2 tping 100 5 1234::1 vrf v1 siz 50 r1 tping 100 5 1.1.1.2 vrf v1 siz 50 r1 tping 100 5 1234::2 vrf v1 siz 50 r2 tping 0 5 1.1.1.1 vrf v1 siz 110 r2 tping 0 5 1234::1 vrf v1 siz 110 r1 tping 0 5 1.1.1.2 vrf v1 siz 110 r1 tping 0 5 1234::2 vrf v1 siz 110 r2 tping 100 5 1.1.1.1 vrf v1 siz 250 r2 tping 100 5 1234::1 vrf v1 siz 250 r1 tping 100 5 1.1.1.2 vrf v1 siz 250 r1 tping 100 5 1234::2 vrf v1 siz 250 freeRtr-25.11.9/cfg/crypt-acl59.tst000066400000000000000000000036711510423065500166610ustar00rootroot00000000000000description ingress source port matching hierarchical access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4a permit all any 123 any all exit access-list test6a permit all any 123 any all exit access-list test4b evaluate deny test4a permit all any all any all exit access-list test6b evaluate deny test6a permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4b ipv6 access-group-in test6b exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.1 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.1 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.2 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.2 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.2 255.255.255.0 exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 0 5 2.2.1.2 vrf v1 r1 tping 0 5 2.2.2.2 vrf v1 r1 tping 100 5 2.2.3.2 vrf v1 r1 tping 100 5 2.2.4.2 vrf v1 freeRtr-25.11.9/cfg/crypt-acl60.tst000066400000000000000000000036721510423065500166520ustar00rootroot00000000000000description egress source port matching hierarchical access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4a permit all any 123 any all exit access-list test6a permit all any 123 any all exit access-list test4b evaluate deny test4a permit all any all any all exit access-list test6b evaluate deny test6a permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4b ipv6 access-group-out test6b exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.1 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.1 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.2 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.2 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.2 255.255.255.0 exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 0 5 2.2.1.2 vrf v1 r1 tping 0 5 2.2.2.2 vrf v1 r1 tping 100 5 2.2.3.2 vrf v1 r1 tping 100 5 2.2.4.2 vrf v1 freeRtr-25.11.9/cfg/crypt-acl61.tst000066400000000000000000000036761510423065500166570ustar00rootroot00000000000000description ingress destination port matching hierarchical access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4a permit all any all any 123 exit access-list test6a permit all any all any 123 exit access-list test4b evaluate deny test4a permit all any all any all exit access-list test6b evaluate deny test6a permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4b ipv6 access-group-in test6b exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.1 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.1 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.2 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.2 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.2 255.255.255.0 exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 0 5 2.2.1.2 vrf v1 r1 tping 0 5 2.2.2.2 vrf v1 r1 tping 100 5 2.2.3.2 vrf v1 r1 tping 100 5 2.2.4.2 vrf v1 freeRtr-25.11.9/cfg/crypt-acl62.tst000066400000000000000000000036771510423065500166610ustar00rootroot00000000000000description egress destination port matching hierarchical access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4a permit all any all any 123 exit access-list test6a permit all any all any 123 exit access-list test4b evaluate deny test4a permit all any all any all exit access-list test6b evaluate deny test6a permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4b ipv6 access-group-out test6b exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.1 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.1 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::2 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.1.2 255.255.255.0 exit int tun2 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 123 tun mod pckoudp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun3 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.3.2 255.255.255.0 exit int tun4 tun vrf v1 tun sou eth1 tun dest 1234::1 tun key 321 tun mod pckoudp vrf for v1 ipv4 addr 2.2.4.2 255.255.255.0 exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 0 5 2.2.1.2 vrf v1 r1 tping 0 5 2.2.2.2 vrf v1 r1 tping 100 5 2.2.3.2 vrf v1 r1 tping 100 5 2.2.4.2 vrf v1 freeRtr-25.11.9/cfg/crypt-acl63.tst000066400000000000000000000025401510423065500166460ustar00rootroot00000000000000description reflexive access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list dyn4i hidden exit access-list dyn4o hidden exit access-list dyn6i hidden exit access-list dyn6o hidden exit access-list test4i seq 10 evaluate permit dyn4i seq 20 deny all any all any all exit access-list test6i seq 1 permit 58 fe80:: ffff:: all any all seq 2 permit 58 any all fe80:: ffff:: all seq 10 evaluate permit dyn6i seq 20 deny all any all any all exit access-list test4o seq 10 evaluate permit dyn4o seq 20 permit all any all any all seq 20 reflect dyn4o dyn4i 30000 exit access-list test6o seq 10 evaluate permit dyn6o seq 20 permit all any all any all seq 20 reflect dyn6o dyn6i 30000 exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4i ipv6 access-group-in test6i ipv4 access-group-out test4o ipv6 access-group-out test6o exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r1 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::1 vrf v1 r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1234::2 vrf v1 r2 tping 0 5 1.1.1.1 vrf v1 r2 tping 0 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-acl64.tst000066400000000000000000000043071510423065500166520ustar00rootroot00000000000000description ingress mpls access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test deny all any all 2.2.2.102 255.255.255.255 all deny all any all 2.2.2.202 255.255.255.255 all deny all any all 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all deny all any all 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 mpls label-secu mpls access-group-in test exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.202 255.255.255.255 1.1.1.2 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ipv6 route v1 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.202 255.255.255.255 ipv6 addr 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.102 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv6 route v1 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 2.2.2.201 vrf v1 sou lo0 r1 tping 100 10 4321::201 vrf v1 sou lo0 r1 tping 0 10 2.2.2.201 vrf v1 sou lo1 r1 tping 0 10 4321::201 vrf v1 sou lo1 freeRtr-25.11.9/cfg/crypt-acl65.tst000066400000000000000000000043071510423065500166530ustar00rootroot00000000000000description egress mpls access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test deny all 2.2.2.102 255.255.255.255 all any all deny all 2.2.2.202 255.255.255.255 all any all deny all 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all deny all 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all permit all any all any all exit vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 mpls label-secu mpls access-group-out test exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.202 255.255.255.255 1.1.1.2 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ipv6 route v1 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.202 255.255.255.255 ipv6 addr 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.102 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv6 route v1 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 2.2.2.201 vrf v1 sou lo0 r1 tping 100 10 4321::201 vrf v1 sou lo0 r1 tping 0 10 2.2.2.201 vrf v1 sou lo1 r1 tping 0 10 4321::201 vrf v1 sou lo1 freeRtr-25.11.9/cfg/crypt-acl66.tst000066400000000000000000000043251510423065500166540ustar00rootroot00000000000000description ingress mpls common access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test deny all any all 2.2.2.102 255.255.255.255 all deny all any all 2.2.2.202 255.255.255.255 all deny all any all 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all deny all any all 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 mpls label-secu mpls access-group-common-in test exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.202 255.255.255.255 1.1.1.2 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ipv6 route v1 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.202 255.255.255.255 ipv6 addr 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.102 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv6 route v1 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 2.2.2.201 vrf v1 sou lo0 r1 tping 100 10 4321::201 vrf v1 sou lo0 r1 tping 0 10 2.2.2.201 vrf v1 sou lo1 r1 tping 0 10 4321::201 vrf v1 sou lo1 freeRtr-25.11.9/cfg/crypt-acl67.tst000066400000000000000000000043251510423065500166550ustar00rootroot00000000000000description egress mpls common access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test deny all 2.2.2.102 255.255.255.255 all any all deny all 2.2.2.202 255.255.255.255 all any all deny all 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all deny all 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all permit all any all any all exit vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 mpls label-secu mpls access-group-common-out test exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.202 255.255.255.255 1.1.1.2 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ipv6 route v1 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.202 255.255.255.255 ipv6 addr 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.102 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv6 route v1 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 2.2.2.201 vrf v1 sou lo0 r1 tping 100 10 4321::201 vrf v1 sou lo0 r1 tping 0 10 2.2.2.201 vrf v1 sou lo1 r1 tping 0 10 4321::201 vrf v1 sou lo1 freeRtr-25.11.9/cfg/crypt-acl68.tst000066400000000000000000000021031510423065500166460ustar00rootroot00000000000000description ingress flow matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any all flow 110-120 permit all any all any all exit access-list test6 deny all any all any all flow 110-120 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 flow 90 r2 tping 100 5 1234::1 vrf v1 flow 90 r1 tping 100 5 1.1.1.2 vrf v1 flow 90 r1 tping 100 5 1234::2 vrf v1 flow 90 r2 tping 0 5 1.1.1.1 vrf v1 flow 115 r2 tping 0 5 1234::1 vrf v1 flow 115 r1 tping 0 5 1.1.1.2 vrf v1 flow 115 r1 tping 0 5 1234::2 vrf v1 flow 115 r2 tping 100 5 1.1.1.1 vrf v1 flow 130 r2 tping 100 5 1234::1 vrf v1 flow 130 r1 tping 100 5 1.1.1.2 vrf v1 flow 130 r1 tping 100 5 1234::2 vrf v1 flow 130 freeRtr-25.11.9/cfg/crypt-acl69.tst000066400000000000000000000021041510423065500166500ustar00rootroot00000000000000description egress flow matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any all flow 110-120 permit all any all any all exit access-list test6 deny all any all any all flow 110-120 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4 ipv6 access-group-out test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 flow 90 r2 tping 100 5 1234::1 vrf v1 flow 90 r1 tping 100 5 1.1.1.2 vrf v1 flow 90 r1 tping 100 5 1234::2 vrf v1 flow 90 r2 tping 0 5 1.1.1.1 vrf v1 flow 115 r2 tping 0 5 1234::1 vrf v1 flow 115 r1 tping 0 5 1.1.1.2 vrf v1 flow 115 r1 tping 0 5 1234::2 vrf v1 flow 115 r2 tping 100 5 1.1.1.1 vrf v1 flow 130 r2 tping 100 5 1234::1 vrf v1 flow 130 r1 tping 100 5 1.1.1.2 vrf v1 flow 130 r1 tping 100 5 1234::2 vrf v1 flow 130 freeRtr-25.11.9/cfg/crypt-acl70.tst000066400000000000000000000021301510423065500166370ustar00rootroot00000000000000description ingress flow matching common access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any all flow 110-120 permit all any all any all exit access-list test6 deny all any all any all flow 110-120 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-common-in test4 ipv6 access-group-common-in test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 flow 90 r2 tping 100 5 1234::1 vrf v1 flow 90 r1 tping 100 5 1.1.1.2 vrf v1 flow 90 r1 tping 100 5 1234::2 vrf v1 flow 90 r2 tping 0 5 1.1.1.1 vrf v1 flow 115 r2 tping 0 5 1234::1 vrf v1 flow 115 r1 tping 0 5 1.1.1.2 vrf v1 flow 115 r1 tping 0 5 1234::2 vrf v1 flow 115 r2 tping 100 5 1.1.1.1 vrf v1 flow 130 r2 tping 100 5 1234::1 vrf v1 flow 130 r1 tping 100 5 1.1.1.2 vrf v1 flow 130 r1 tping 100 5 1234::2 vrf v1 flow 130 freeRtr-25.11.9/cfg/crypt-acl71.tst000066400000000000000000000021311510423065500166410ustar00rootroot00000000000000description egress flow matching common access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any all flow 110-120 permit all any all any all exit access-list test6 deny all any all any all flow 110-120 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-common-out test4 ipv6 access-group-common-out test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 flow 90 r2 tping 100 5 1234::1 vrf v1 flow 90 r1 tping 100 5 1.1.1.2 vrf v1 flow 90 r1 tping 100 5 1234::2 vrf v1 flow 90 r2 tping 0 5 1.1.1.1 vrf v1 flow 115 r2 tping 0 5 1234::1 vrf v1 flow 115 r1 tping 0 5 1.1.1.2 vrf v1 flow 115 r1 tping 0 5 1234::2 vrf v1 flow 115 r2 tping 100 5 1.1.1.1 vrf v1 flow 130 r2 tping 100 5 1234::1 vrf v1 flow 130 r1 tping 100 5 1.1.1.2 vrf v1 flow 130 r1 tping 100 5 1234::2 vrf v1 flow 130 freeRtr-25.11.9/cfg/crypt-acl72.tst000066400000000000000000000022661510423065500166530ustar00rootroot00000000000000description ingress flow matching hierarchical access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4a permit all any all any all flow 110-120 exit access-list test6a permit all any all any all flow 110-120 exit access-list test4b evaluate deny test4a permit all any all any all exit access-list test6b evaluate deny test6a permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4b ipv6 access-group-in test6b exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 flow 90 r2 tping 100 5 1234::1 vrf v1 flow 90 r1 tping 100 5 1.1.1.2 vrf v1 flow 90 r1 tping 100 5 1234::2 vrf v1 flow 90 r2 tping 0 5 1.1.1.1 vrf v1 flow 115 r2 tping 0 5 1234::1 vrf v1 flow 115 r1 tping 0 5 1.1.1.2 vrf v1 flow 115 r1 tping 0 5 1234::2 vrf v1 flow 115 r2 tping 100 5 1.1.1.1 vrf v1 flow 130 r2 tping 100 5 1234::1 vrf v1 flow 130 r1 tping 100 5 1.1.1.2 vrf v1 flow 130 r1 tping 100 5 1234::2 vrf v1 flow 130 freeRtr-25.11.9/cfg/crypt-acl73.tst000066400000000000000000000022671510423065500166550ustar00rootroot00000000000000description egress flow matching hierarchical access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4a permit all any all any all flow 110-120 exit access-list test6a permit all any all any all flow 110-120 exit access-list test4b evaluate deny test4a permit all any all any all exit access-list test6b evaluate deny test6a permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4b ipv6 access-group-out test6b exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 flow 90 r2 tping 100 5 1234::1 vrf v1 flow 90 r1 tping 100 5 1.1.1.2 vrf v1 flow 90 r1 tping 100 5 1234::2 vrf v1 flow 90 r2 tping 0 5 1.1.1.1 vrf v1 flow 115 r2 tping 0 5 1234::1 vrf v1 flow 115 r1 tping 0 5 1.1.1.2 vrf v1 flow 115 r1 tping 0 5 1234::2 vrf v1 flow 115 r2 tping 100 5 1.1.1.1 vrf v1 flow 130 r2 tping 100 5 1234::1 vrf v1 flow 130 r1 tping 100 5 1.1.1.2 vrf v1 flow 130 r1 tping 100 5 1234::2 vrf v1 flow 130 freeRtr-25.11.9/cfg/crypt-acl74.tst000066400000000000000000000020711510423065500166470ustar00rootroot00000000000000description ingress mask matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any all len 256&896 permit all any all any all exit access-list test6 deny all any all any all len 256&896 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 siz 100 r2 tping 100 5 1234::1 vrf v1 siz 100 r1 tping 100 5 1.1.1.2 vrf v1 siz 100 r1 tping 100 5 1234::2 vrf v1 siz 100 r2 tping 0 5 1.1.1.1 vrf v1 siz 300 r2 tping 0 5 1234::1 vrf v1 siz 300 r1 tping 0 5 1.1.1.2 vrf v1 siz 300 r1 tping 0 5 1234::2 vrf v1 siz 300 r2 tping 100 5 1.1.1.1 vrf v1 siz 500 r2 tping 100 5 1234::1 vrf v1 siz 500 r1 tping 100 5 1.1.1.2 vrf v1 siz 500 r1 tping 100 5 1234::2 vrf v1 siz 500 freeRtr-25.11.9/cfg/crypt-acl75.tst000066400000000000000000000020731510423065500166520ustar00rootroot00000000000000description egress mask matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any all len 256&896 permit all any all any all exit access-list test6 deny all any all any all len 256&896 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-out test4 ipv6 access-group-out test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 siz 100 r2 tping 100 5 1234::1 vrf v1 siz 100 r1 tping 100 5 1.1.1.2 vrf v1 siz 100 r1 tping 100 5 1234::2 vrf v1 siz 100 r2 tping 0 5 1.1.1.1 vrf v1 siz 300 r2 tping 0 5 1234::1 vrf v1 siz 300 r1 tping 0 5 1.1.1.2 vrf v1 siz 300 r1 tping 0 5 1234::2 vrf v1 siz 300 r2 tping 100 5 1.1.1.1 vrf v1 siz 500 r2 tping 100 5 1234::1 vrf v1 siz 500 r1 tping 100 5 1.1.1.2 vrf v1 siz 500 r1 tping 100 5 1234::2 vrf v1 siz 500 freeRtr-25.11.9/cfg/crypt-acl76.tst000066400000000000000000000025471510423065500166610ustar00rootroot00000000000000description ingress sgt matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list test4 deny all any all any all sgt 123 permit all any all any all exit access-list test6 deny all any all any all sgt 123 permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 sgt ena ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 sgt ena ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit int eth2 vrf for v1 sgt ass 123 ipv4 addr 2.2.2.1 255.255.255.252 ipv6 addr 4321::1 ffff:ffff:: exit ! addrouter r3 int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 ipv6 addr 4321::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r2 tping 100 5 1.1.1.1 vrf v1 ttl 90 r2 tping 100 5 1234::1 vrf v1 ttl 90 r2 tping 100 5 2.2.2.2 vrf v1 ttl 90 r2 tping 100 5 4321::2 vrf v1 ttl 90 r1 tping 100 5 2.2.2.1 vrf v1 ttl 90 r1 tping 100 5 4321::1 vrf v1 ttl 90 r1 tping 0 5 2.2.2.2 vrf v1 ttl 90 r1 tping 0 5 4321::2 vrf v1 ttl 90 freeRtr-25.11.9/cfg/crypt-acl77.tst000066400000000000000000000025501510423065500166540ustar00rootroot00000000000000description egress sgt matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 sgt ena ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny all any all any all sgt 123 permit all any all any all exit access-list test6 deny all any all any all sgt 123 permit all any all any all exit int eth1 vrf for v1 sgt ena ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: ipv4 access-group-out test4 ipv6 access-group-out test6 exit int eth2 vrf for v1 sgt ass 123 ipv4 addr 2.2.2.1 255.255.255.252 ipv6 addr 4321::1 ffff:ffff:: exit ! addrouter r3 int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 ipv6 addr 4321::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r2 tping 100 5 1.1.1.1 vrf v1 ttl 90 r2 tping 100 5 1234::1 vrf v1 ttl 90 r2 tping 100 5 2.2.2.2 vrf v1 ttl 90 r2 tping 100 5 4321::2 vrf v1 ttl 90 r1 tping 100 5 2.2.2.1 vrf v1 ttl 90 r1 tping 100 5 4321::1 vrf v1 ttl 90 r1 tping 0 5 2.2.2.2 vrf v1 ttl 90 r1 tping 0 5 4321::2 vrf v1 ttl 90 freeRtr-25.11.9/cfg/crypt-acl78.tst000066400000000000000000000022001510423065500166450ustar00rootroot00000000000000description ingress fragment matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny all any all any all frag permit all any all any all exit access-list test6 deny all any all any all frag permit all any all any all exit int eth1 mtu 1500 enforce-mtu both vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 reassembly 16 ipv4 fragmentation 1400 ipv6 reassembly 16 ipv6 fragmentation 1400 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 mtu 1500 enforce-mtu both vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 reassembly 16 ipv4 fragmentation 1400 ipv6 reassembly 16 ipv6 fragmentation 1400 exit ! r1 tping 100 30 1.1.1.2 vrf v1 siz 222 r2 tping 100 30 1.1.1.1 vrf v1 siz 222 r1 tping 100 30 1234::2 vrf v1 siz 222 r2 tping 100 30 1234::1 vrf v1 siz 222 r1 tping 0 30 1.1.1.2 vrf v1 siz 2222 r2 tping 0 30 1.1.1.1 vrf v1 siz 2222 r1 tping 0 30 1234::2 vrf v1 siz 2222 r2 tping 0 30 1234::1 vrf v1 siz 2222 freeRtr-25.11.9/cfg/crypt-acl79.tst000066400000000000000000000015711510423065500166600ustar00rootroot00000000000000description ingress alert matching access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny all any all any all alrt permit all any all any all exit access-list test6 deny all any all any all alrt permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 r1 tping 100 30 1.1.1.2 vrf v1 alert 123 r2 tping 0 30 1.1.1.1 vrf v1 alert 123 r1 tping 100 30 1234::2 vrf v1 alert 123 r2 tping 0 30 1234::1 vrf v1 alert 123 freeRtr-25.11.9/cfg/crypt-acl80.tst000066400000000000000000000015431510423065500166470ustar00rootroot00000000000000description gre over ipv4 filtered addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls srv6-secur exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls srv6-secur exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-acl81.tst000066400000000000000000000017211510423065500166460ustar00rootroot00000000000000description sreth over ipv4 filtered addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls srv6-secur exit bridge 1 mac-learn exit vpdn er bridge-group 1 proxy p1 target 1.1.1.2 vcid 123 protocol sreth exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls srv6-secur exit bridge 1 mac-learn exit vpdn er bridge-group 1 proxy p1 target 1.1.1.1 vcid 123 protocol sreth exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-acl82.tst000066400000000000000000000015461510423065500166540ustar00rootroot00000000000000description ipip over ipv4 filtered addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls srv6-secur exit int tun1 tunnel vrf v1 tunnel mode ipip tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls srv6-secur exit int tun1 tunnel vrf v1 tunnel mode ipip tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-acl83.tst000066400000000000000000000015101510423065500166440ustar00rootroot00000000000000description icmptunnel over ipv4 filtered addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls srv6-secur exit int tun1 tunnel vrf v1 tunnel mode icmp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls srv6-secur exit int tun1 tunnel vrf v1 tunnel mode icmp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-acl84.tst000066400000000000000000000022371510423065500166540ustar00rootroot00000000000000description ipv4 in esp over ipv4 filtered addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls srv6-secur exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls srv6-secur exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-acl85.tst000066400000000000000000000015541510423065500166560ustar00rootroot00000000000000description ipcomp over ipv4 filtered addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls srv6-secur exit int tun1 tunnel vrf v1 tunnel mode ipcomp tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls srv6-secur exit int tun1 tunnel vrf v1 tunnel mode ipcomp tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-acl86.tst000066400000000000000000000022621510423065500166540ustar00rootroot00000000000000description swipe over ipv4 filtered addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 send conf t r1 send int ser1 r1 send mpls srv6-secur r1 send end r2 send conf t r2 send int ser1 r2 send mpls srv6-secur r2 send end r1 tping 0 5 2.2.2.2 vrf v1 r2 tping 0 5 2.2.2.1 vrf v1 r1 tping 0 5 4321::2 vrf v1 r2 tping 0 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-acl87.tst000066400000000000000000000015431510423065500166560ustar00rootroot00000000000000description gre over ipv6 filtered addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls srv6-secur exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls srv6-secur exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-acl88.tst000066400000000000000000000017211510423065500166550ustar00rootroot00000000000000description sreth over ipv6 filtered addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls srv6-secur exit bridge 1 mac-learn exit vpdn er bridge-group 1 proxy p1 target 1234::2 vcid 123 protocol sreth exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls srv6-secur exit bridge 1 mac-learn exit vpdn er bridge-group 1 proxy p1 target 1234::1 vcid 123 protocol sreth exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-acl89.tst000066400000000000000000000015461510423065500166630ustar00rootroot00000000000000description ipip over ipv6 filtered addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls srv6-secur exit int tun1 tunnel vrf v1 tunnel mode ipip tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls srv6-secur exit int tun1 tunnel vrf v1 tunnel mode ipip tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-acl90.tst000066400000000000000000000015101510423065500166420ustar00rootroot00000000000000description icmptunnel over ipv6 filtered addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls srv6-secur exit int tun1 tunnel vrf v1 tunnel mode icmp tunnel source ser1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls srv6-secur exit int tun1 tunnel vrf v1 tunnel mode icmp tunnel source ser1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-acl91.tst000066400000000000000000000022371510423065500166520ustar00rootroot00000000000000description ipv4 in esp over ipv6 filtered addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls srv6-secur exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls srv6-secur exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-acl92.tst000066400000000000000000000015541510423065500166540ustar00rootroot00000000000000description ipcomp over ipv6 filtered addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls srv6-secur exit int tun1 tunnel vrf v1 tunnel mode ipcomp tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls srv6-secur exit int tun1 tunnel vrf v1 tunnel mode ipcomp tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-acl93.tst000066400000000000000000000022621510423065500166520ustar00rootroot00000000000000description swipe over ipv6 filtered addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 send conf t r1 send int ser1 r1 send mpls srv6-secur r1 send end r2 send conf t r2 send int ser1 r2 send mpls srv6-secur r2 send end r1 tping 0 5 2.2.2.2 vrf v1 r2 tping 0 5 2.2.2.1 vrf v1 r1 tping 0 5 4321::2 vrf v1 r2 tping 0 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-dtls.tst000066400000000000000000000020661510423065500167070ustar00rootroot00000000000000description dtls test addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 crypto certificate dsa generate dsa dsa crypto certificate rsa generate rsa rsa crypto certificate ecdsa generate ecdsa ecdsa crypto certificate mldsa generate mldsa mldsa server udptn udptn security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa security rsacert rsa security dsacert dsa security ecdsacert ecdsa security mldsacert mldsa security protocol dtls vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 dtls r2 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/crypt-esp01.tst000066400000000000000000000025201510423065500166640ustar00rootroot00000000000000description ipv4 in esp over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full output ../binTmp/crypt-esp.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/crypt-esp02.tst000066400000000000000000000021641510423065500166710ustar00rootroot00000000000000description ipv4 in esp over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-esp03.tst000066400000000000000000000021641510423065500166720ustar00rootroot00000000000000description ipv6 in esp over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-esp04.tst000066400000000000000000000021641510423065500166730ustar00rootroot00000000000000description ipv6 in esp over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-esp05.tst000066400000000000000000000021751510423065500166760ustar00rootroot00000000000000description esp with aes128cfb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher aes128cfb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes128cfb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-esp06.tst000066400000000000000000000021751510423065500166770ustar00rootroot00000000000000description esp with aes192cfb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher aes192cfb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes192cfb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-esp07.tst000066400000000000000000000021751510423065500167000ustar00rootroot00000000000000description esp with aes256cfb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher aes256cfb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes256cfb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-esp08.tst000066400000000000000000000021751510423065500167010ustar00rootroot00000000000000description esp with aes128ecb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher aes128ecb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes128ecb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-esp09.tst000066400000000000000000000021751510423065500167020ustar00rootroot00000000000000description esp with aes192ecb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher aes192ecb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes192ecb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-esp10.tst000066400000000000000000000021751510423065500166720ustar00rootroot00000000000000description esp with aes256ecb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher aes256ecb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes256ecb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-esp11.tst000066400000000000000000000021751510423065500166730ustar00rootroot00000000000000description esp with aes128ofb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher aes128ofb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes128ofb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-esp12.tst000066400000000000000000000021751510423065500166740ustar00rootroot00000000000000description esp with aes192ofb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher aes192ofb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes192ofb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-esp13.tst000066400000000000000000000021751510423065500166750ustar00rootroot00000000000000description esp with aes256ofb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher aes256ofb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes256ofb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-esp14.tst000066400000000000000000000022001510423065500166630ustar00rootroot00000000000000description esp with aes128pcbc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher aes128pcbc hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes128pcbc hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-esp15.tst000066400000000000000000000022001510423065500166640ustar00rootroot00000000000000description esp with aes192pcbc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher aes192pcbc hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes192pcbc hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-esp16.tst000066400000000000000000000022001510423065500166650ustar00rootroot00000000000000description esp with aes256pcbc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher aes256pcbc hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes256pcbc hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike101.tst000066400000000000000000000021651510423065500167330ustar00rootroot00000000000000description ipv4 in ike1 over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike102.tst000066400000000000000000000021651510423065500167340ustar00rootroot00000000000000description ipv4 in ike1 over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike103.tst000066400000000000000000000021651510423065500167350ustar00rootroot00000000000000description ipv6 in ike1 over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv6 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike104.tst000066400000000000000000000021651510423065500167360ustar00rootroot00000000000000description ipv6 in ike1 over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv6 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike105.tst000066400000000000000000000017061510423065500167370ustar00rootroot00000000000000description ike1 with des addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike106.tst000066400000000000000000000017251510423065500167410ustar00rootroot00000000000000description ike1 with blowfish addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher blowfish hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher blowfish hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike107.tst000066400000000000000000000017111510423065500167350ustar00rootroot00000000000000description ike1 with 3des addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher 3des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher 3des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike108.tst000066400000000000000000000017301510423065500167370ustar00rootroot00000000000000description ike1 with aes128cbc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes128cbc hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes128cbc hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike109.tst000066400000000000000000000017301510423065500167400ustar00rootroot00000000000000description ike1 with aes192cbc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes192cbc hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes192cbc hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike110.tst000066400000000000000000000017301510423065500167300ustar00rootroot00000000000000description ike1 with aes256cbc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes256cbc hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes256cbc hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike111.tst000066400000000000000000000017061510423065500167340ustar00rootroot00000000000000description ike1 with md5 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike112.tst000066400000000000000000000017111510423065500167310ustar00rootroot00000000000000description ike1 with sha1 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash sha1 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash sha1 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike113.tst000066400000000000000000000017171510423065500167400ustar00rootroot00000000000000description ike1 with sha256 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash sha256 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash sha256 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike114.tst000066400000000000000000000017171510423065500167410ustar00rootroot00000000000000description ike1 with sha512 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash sha512 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash sha512 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike115.tst000066400000000000000000000017111510423065500167340ustar00rootroot00000000000000description ike1 with group1 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 01 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 01 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike116.tst000066400000000000000000000017111510423065500167350ustar00rootroot00000000000000description ike1 with group2 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike117.tst000066400000000000000000000017111510423065500167360ustar00rootroot00000000000000description ike1 with group5 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 05 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 05 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike118.tst000066400000000000000000000017121510423065500167400ustar00rootroot00000000000000description ike1 with group14 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 14 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 14 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike119.tst000066400000000000000000000017121510423065500167410ustar00rootroot00000000000000description ike1 with group15 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 15 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 15 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike120.tst000066400000000000000000000017121510423065500167310ustar00rootroot00000000000000description ike1 with group16 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 16 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 16 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike121.tst000066400000000000000000000017121510423065500167320ustar00rootroot00000000000000description ike1 with group17 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 17 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 17 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike122.tst000066400000000000000000000017201510423065500167320ustar00rootroot00000000000000description ike1 with group18 exit addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 18 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 18 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike123.tst000066400000000000000000000017121510423065500167340ustar00rootroot00000000000000description ike1 with group22 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 22 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 22 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike124.tst000066400000000000000000000017121510423065500167350ustar00rootroot00000000000000description ike1 with group23 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 23 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 23 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike125.tst000066400000000000000000000017121510423065500167360ustar00rootroot00000000000000description ike1 with group24 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 24 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 24 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike126.tst000066400000000000000000000025051510423065500167400ustar00rootroot00000000000000description ike1 over ipsec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun2 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source tun1 tunnel destination 2.2.2.2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun2 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source tun1 tunnel destination 2.2.2.1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 3.3.3.2 vrf v1 r2 tping 100 10 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike127.tst000066400000000000000000000017121510423065500167400ustar00rootroot00000000000000description ike1 with group25 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 25 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 25 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike128.tst000066400000000000000000000017121510423065500167410ustar00rootroot00000000000000description ike1 with group26 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 26 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 26 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike129.tst000066400000000000000000000017121510423065500167420ustar00rootroot00000000000000description ike1 with group19 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 19 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 19 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike130.tst000066400000000000000000000017121510423065500167320ustar00rootroot00000000000000description ike1 with group20 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 20 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 20 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike131.tst000066400000000000000000000017121510423065500167330ustar00rootroot00000000000000description ike1 with group21 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 21 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 21 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike132.tst000066400000000000000000000017121510423065500167340ustar00rootroot00000000000000description ike1 with group28 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 28 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 28 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike133.tst000066400000000000000000000017121510423065500167350ustar00rootroot00000000000000description ike1 with group29 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 29 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 29 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike134.tst000066400000000000000000000017121510423065500167360ustar00rootroot00000000000000description ike1 with group30 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 30 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 30 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike135.tst000066400000000000000000000017121510423065500167370ustar00rootroot00000000000000description ike1 with group31 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 31 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 31 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike136.tst000066400000000000000000000017121510423065500167400ustar00rootroot00000000000000description ike1 with group35 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 35 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 35 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike137.tst000066400000000000000000000017121510423065500167410ustar00rootroot00000000000000description ike1 with group36 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 36 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 36 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike138.tst000066400000000000000000000017121510423065500167420ustar00rootroot00000000000000description ike1 with group37 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 37 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 37 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike139.tst000066400000000000000000000017061510423065500167460ustar00rootroot00000000000000description ike1 with rc2 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher rc2 hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher rc2 hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike140.tst000066400000000000000000000017171510423065500167400ustar00rootroot00000000000000description ike1 with sha384 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash sha384 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash sha384 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike141.tst000066400000000000000000000017301510423065500167340ustar00rootroot00000000000000description ike1 with aes128ctr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes128ctr hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes128ctr hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike142.tst000066400000000000000000000017301510423065500167350ustar00rootroot00000000000000description ike1 with aes192ctr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes192ctr hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes192ctr hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike143.tst000066400000000000000000000017301510423065500167360ustar00rootroot00000000000000description ike1 with aes256ctr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes256ctr hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes256ctr hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike201.tst000066400000000000000000000022071510423065500167310ustar00rootroot00000000000000description ipv4 in ike2 over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike202.tst000066400000000000000000000022071510423065500167320ustar00rootroot00000000000000description ipv4 in ike2 over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike203.tst000066400000000000000000000022071510423065500167330ustar00rootroot00000000000000description ipv6 in ike2 over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv6 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike204.tst000066400000000000000000000022071510423065500167340ustar00rootroot00000000000000description ipv6 in ike2 over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv6 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike205.tst000066400000000000000000000017301510423065500167350ustar00rootroot00000000000000description ike2 with des addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike206.tst000066400000000000000000000017471510423065500167460ustar00rootroot00000000000000description ike2 with blowfish addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher blowfish hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher blowfish hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike207.tst000066400000000000000000000017331510423065500167420ustar00rootroot00000000000000description ike2 with 3des addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher 3des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher 3des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike208.tst000066400000000000000000000017521510423065500167440ustar00rootroot00000000000000description ike2 with aes128cbc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes128cbc hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes128cbc hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike209.tst000066400000000000000000000017521510423065500167450ustar00rootroot00000000000000description ike2 with aes192cbc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes192cbc hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes192cbc hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike210.tst000066400000000000000000000017521510423065500167350ustar00rootroot00000000000000description ike2 with aes256cbc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes256cbc hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes256cbc hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike211.tst000066400000000000000000000017301510423065500167320ustar00rootroot00000000000000description ike2 with md5 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike212.tst000066400000000000000000000017351510423065500167400ustar00rootroot00000000000000description ike2 with sha1 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash sha1 prf sha1 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash sha1 prf sha1 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike213.tst000066400000000000000000000017471510423065500167440ustar00rootroot00000000000000description ike2 with sha256 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash sha256 prf sha256 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash sha256 prf sha256 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike214.tst000066400000000000000000000017471510423065500167450ustar00rootroot00000000000000description ike2 with sha512 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash sha512 prf sha512 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash sha512 prf sha512 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike215.tst000066400000000000000000000017331510423065500167410ustar00rootroot00000000000000description ike2 with group1 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 01 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 01 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike216.tst000066400000000000000000000017331510423065500167420ustar00rootroot00000000000000description ike2 with group2 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike217.tst000066400000000000000000000017331510423065500167430ustar00rootroot00000000000000description ike2 with group5 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 05 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 05 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike218.tst000066400000000000000000000017341510423065500167450ustar00rootroot00000000000000description ike2 with group14 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 14 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 14 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike219.tst000066400000000000000000000017341510423065500167460ustar00rootroot00000000000000description ike2 with group15 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 15 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 15 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike220.tst000066400000000000000000000017341510423065500167360ustar00rootroot00000000000000description ike2 with group16 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 16 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 16 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike221.tst000066400000000000000000000017341510423065500167370ustar00rootroot00000000000000description ike2 with group17 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 17 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 17 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike222.tst000066400000000000000000000017421510423065500167370ustar00rootroot00000000000000description ike2 with group18 exit addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 18 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 18 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike223.tst000066400000000000000000000017341510423065500167410ustar00rootroot00000000000000description ike2 with group22 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 22 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 22 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike224.tst000066400000000000000000000017341510423065500167420ustar00rootroot00000000000000description ike2 with group23 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 23 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 23 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike225.tst000066400000000000000000000017341510423065500167430ustar00rootroot00000000000000description ike2 with group24 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 24 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 24 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike226.tst000066400000000000000000000025271510423065500167450ustar00rootroot00000000000000description ike2 over ipsec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun2 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source tun1 tunnel destination 2.2.2.2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun2 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source tun1 tunnel destination 2.2.2.1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 3.3.3.2 vrf v1 r2 tping 100 10 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike227.tst000066400000000000000000000017261510423065500167460ustar00rootroot00000000000000description ike2 with aes128gcm addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes128gcm prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes128gcm prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike228.tst000066400000000000000000000017261510423065500167470ustar00rootroot00000000000000description ike2 with aes192gcm addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes192gcm prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes192gcm prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike229.tst000066400000000000000000000017261510423065500167500ustar00rootroot00000000000000description ike2 with aes256gcm addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes256gcm prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes256gcm prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike230.tst000066400000000000000000000017341510423065500167370ustar00rootroot00000000000000description ike2 with group25 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 25 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 25 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike231.tst000066400000000000000000000017341510423065500167400ustar00rootroot00000000000000description ike2 with group26 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 26 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 26 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike232.tst000066400000000000000000000017341510423065500167410ustar00rootroot00000000000000description ike2 with group19 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 19 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 19 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike233.tst000066400000000000000000000017341510423065500167420ustar00rootroot00000000000000description ike2 with group20 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 20 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 20 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike234.tst000066400000000000000000000017341510423065500167430ustar00rootroot00000000000000description ike2 with group21 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 21 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 21 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike235.tst000066400000000000000000000017341510423065500167440ustar00rootroot00000000000000description ike2 with group28 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 28 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 28 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike236.tst000066400000000000000000000017341510423065500167450ustar00rootroot00000000000000description ike2 with group29 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 29 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 29 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike237.tst000066400000000000000000000017341510423065500167460ustar00rootroot00000000000000description ike2 with group30 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 30 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 30 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike238.tst000066400000000000000000000017341510423065500167470ustar00rootroot00000000000000description ike2 with group31 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 31 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 31 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike239.tst000066400000000000000000000017341510423065500167500ustar00rootroot00000000000000description ike2 with group35 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 35 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 35 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike240.tst000066400000000000000000000017341510423065500167400ustar00rootroot00000000000000description ike2 with group36 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 36 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 36 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike241.tst000066400000000000000000000017341510423065500167410ustar00rootroot00000000000000description ike2 with group37 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 37 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 37 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 30 2.2.2.2 vrf v1 r2 tping 100 30 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike242.tst000066400000000000000000000017301510423065500167360ustar00rootroot00000000000000description ike2 with rc2 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher rc2 hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher rc2 hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike243.tst000066400000000000000000000017471510423065500167470ustar00rootroot00000000000000description ike2 with sha384 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash sha384 prf sha384 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher des hash sha384 prf sha384 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike244.tst000066400000000000000000000017521510423065500167440ustar00rootroot00000000000000description ike2 with aes128ctr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes128ctr hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes128ctr hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike245.tst000066400000000000000000000017521510423065500167450ustar00rootroot00000000000000description ike2 with aes192ctr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes192ctr hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes192ctr hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-ike246.tst000066400000000000000000000017521510423065500167460ustar00rootroot00000000000000description ike2 with aes256ctr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes256ctr hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips group 02 cipher aes256ctr hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp01.tst000066400000000000000000000022141510423065500172220ustar00rootroot00000000000000description inlsp over ipv4 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full output ../binTmp/crypt-inlsp.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/crypt-inlsp02.tst000066400000000000000000000016561510423065500172340ustar00rootroot00000000000000description inlsp over ipv6 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp03.tst000066400000000000000000000023341510423065500172270ustar00rootroot00000000000000description inlsp over inlsp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun2 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source tun1 tunnel destination 2.2.2.2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun2 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source tun1 tunnel destination 2.2.2.1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 3.3.3.2 vrf v1 r2 tping 100 5 3.3.3.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp04.tst000066400000000000000000000021731510423065500172310ustar00rootroot00000000000000description inlsp over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source lo0 tunnel destination 1.1.1.102 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source lo0 tunnel destination 1.1.1.101 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp05.tst000066400000000000000000000016551510423065500172360ustar00rootroot00000000000000description inlsp with des addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp06.tst000066400000000000000000000016741510423065500172400ustar00rootroot00000000000000description inlsp with blowfish addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher blowfish hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher blowfish hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp07.tst000066400000000000000000000016601510423065500172340ustar00rootroot00000000000000description inlsp with 3des addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher 3des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher 3des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp08.tst000066400000000000000000000016771510423065500172450ustar00rootroot00000000000000description inlsp with aes128cbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128cbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128cbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp09.tst000066400000000000000000000016771510423065500172460ustar00rootroot00000000000000description inlsp with aes192cbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192cbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192cbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp10.tst000066400000000000000000000016771510423065500172360ustar00rootroot00000000000000description inlsp with aes256cbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256cbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256cbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp11.tst000066400000000000000000000016551510423065500172330ustar00rootroot00000000000000description inlsp with md5 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp12.tst000066400000000000000000000016601510423065500172300ustar00rootroot00000000000000description inlsp with sha1 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha1 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha1 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp13.tst000066400000000000000000000016661510423065500172370ustar00rootroot00000000000000description inlsp with sha256 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha256 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha256 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp14.tst000066400000000000000000000016661510423065500172400ustar00rootroot00000000000000description inlsp with sha512 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha512 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha512 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp15.tst000066400000000000000000000016771510423065500172430ustar00rootroot00000000000000description inlsp with aes128cfb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128cfb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128cfb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp16.tst000066400000000000000000000016771510423065500172440ustar00rootroot00000000000000description inlsp with aes192cfb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192cfb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192cfb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp17.tst000066400000000000000000000016771510423065500172450ustar00rootroot00000000000000description inlsp with aes256cfb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256cfb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256cfb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp18.tst000066400000000000000000000016771510423065500172460ustar00rootroot00000000000000description inlsp with aes128ecb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128ecb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128ecb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp19.tst000066400000000000000000000016771510423065500172470ustar00rootroot00000000000000description inlsp with aes192ecb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192ecb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192ecb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp20.tst000066400000000000000000000016771510423065500172370ustar00rootroot00000000000000description inlsp with aes256ecb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256ecb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256ecb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp21.tst000066400000000000000000000016661510423065500172360ustar00rootroot00000000000000description inlsp with sha224 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha224 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha224 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp22.tst000066400000000000000000000016661510423065500172370ustar00rootroot00000000000000description inlsp with sha384 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha384 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha384 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp23.tst000066400000000000000000000016711510423065500172340ustar00rootroot00000000000000description inlsp with sha3224 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha3224 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha3224 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp24.tst000066400000000000000000000016711510423065500172350ustar00rootroot00000000000000description inlsp with sha3256 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha3256 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha3256 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp25.tst000066400000000000000000000016711510423065500172360ustar00rootroot00000000000000description inlsp with sha3384 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha3384 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha3384 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp26.tst000066400000000000000000000016711510423065500172370ustar00rootroot00000000000000description inlsp with sha3512 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha3512 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha3512 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp27.tst000066400000000000000000000016731510423065500172420ustar00rootroot00000000000000description inlsp with none encryption addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher none hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher none hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp28.tst000066400000000000000000000016651510423065500172440ustar00rootroot00000000000000description inlsp with none hash addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash none key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash none key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp29.tst000066400000000000000000000016551510423065500172440ustar00rootroot00000000000000description inlsp with rc2 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher rc2 hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher rc2 hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp30.tst000066400000000000000000000016771510423065500172400ustar00rootroot00000000000000description inlsp with aes128ctr addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128ctr hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128ctr hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp31.tst000066400000000000000000000016771510423065500172410ustar00rootroot00000000000000description inlsp with aes192ctr addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192ctr hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192ctr hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp32.tst000066400000000000000000000016771510423065500172420ustar00rootroot00000000000000description inlsp with aes256ctr addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256ctr hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256ctr hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp33.tst000066400000000000000000000016771510423065500172430ustar00rootroot00000000000000description inlsp with aes128ofb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128ofb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128ofb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp34.tst000066400000000000000000000016771510423065500172440ustar00rootroot00000000000000description inlsp with aes192ofb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192ofb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192ofb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp35.tst000066400000000000000000000016771510423065500172450ustar00rootroot00000000000000description inlsp with aes256ofb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256ofb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256ofb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp36.tst000066400000000000000000000017021510423065500172330ustar00rootroot00000000000000description inlsp with aes128pcbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128pcbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128pcbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp37.tst000066400000000000000000000017021510423065500172340ustar00rootroot00000000000000description inlsp with aes192pcbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192pcbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192pcbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-inlsp38.tst000066400000000000000000000017021510423065500172350ustar00rootroot00000000000000description inlsp with aes256pcbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256pcbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256pcbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode inlsp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-insp01.tst000066400000000000000000000047261510423065500170600ustar00rootroot00000000000000description route inspection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.2.3 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r1 tping 100 5 2.2.2.3 vrf v1 sou lo0 r1 tping 100 5 4321::3 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 tping 100 5 2.2.2.3 vrf v1 sou lo0 r2 tping 100 5 4321::3 vrf v1 sou lo0 r3 tping 100 5 2.2.2.1 vrf v1 sou lo0 r3 tping 100 5 4321::1 vrf v1 sou lo0 r3 tping 100 5 2.2.2.2 vrf v1 sou lo0 r3 tping 100 5 4321::2 vrf v1 sou lo0 r2 output show ipv4 counter v1 r2 output show ipv6 counter v1 output ../binTmp/crypt-insp01.html here is the ipv4 counters:
show:0
here is the ipv6 counters:
show:1
! freeRtr-25.11.9/cfg/crypt-insp02.tst000066400000000000000000000052231510423065500170520ustar00rootroot00000000000000description flow inspection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit ipv4 flow v1 coll ipv6 flow v1 coll int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.2.3 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r1 tping 100 5 2.2.2.3 vrf v1 sou lo0 r1 tping 100 5 4321::3 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 tping 100 5 2.2.2.3 vrf v1 sou lo0 r2 tping 100 5 4321::3 vrf v1 sou lo0 r3 tping 100 5 2.2.2.1 vrf v1 sou lo0 r3 tping 100 5 4321::1 vrf v1 sou lo0 r3 tping 100 5 2.2.2.2 vrf v1 sou lo0 r3 tping 100 5 4321::2 vrf v1 sou lo0 r2 output show ipv4 flow v1 sess r2 output show ipv6 flow v1 sess r2 output show ipv4 flow v1 top r2 output show ipv6 flow v1 top output ../binTmp/crypt-insp02.html here is the ipv4 flows:
show:0
here is the ipv6 flows:
show:1
here is the ipv4 tops:
show:2
here is the ipv6 tops:
show:3
! freeRtr-25.11.9/cfg/crypt-insp03.tst000066400000000000000000000052141510423065500170530ustar00rootroot00000000000000description interface inspection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 inspect mac ipv6 inspect mac exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.2.3 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r1 tping 100 5 2.2.2.3 vrf v1 sou lo0 r1 tping 100 5 4321::3 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 tping 100 5 2.2.2.3 vrf v1 sou lo0 r2 tping 100 5 4321::3 vrf v1 sou lo0 r3 tping 100 5 2.2.2.1 vrf v1 sou lo0 r3 tping 100 5 4321::1 vrf v1 sou lo0 r3 tping 100 5 2.2.2.2 vrf v1 sou lo0 r3 tping 100 5 4321::2 vrf v1 sou lo0 r2 output show ipv4 insp eth1 r2 output show ipv6 insp eth1 r2 output show ipv4 top eth1 r2 output show ipv6 top eth1 output ../binTmp/crypt-insp03.html here is the ipv4 flows:
show:0
here is the ipv6 flows:
show:1
here is the ipv4 tops:
show:2
here is the ipv6 tops:
show:3
! freeRtr-25.11.9/cfg/crypt-insp04.tst000066400000000000000000000045561510423065500170640ustar00rootroot00000000000000description bridge inspection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 inspect mac exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r1 tping 100 5 2.2.2.3 vrf v1 sou lo0 r1 tping 100 5 4321::3 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 tping 100 5 2.2.2.3 vrf v1 sou lo0 r2 tping 100 5 4321::3 vrf v1 sou lo0 r3 tping 100 5 2.2.2.1 vrf v1 sou lo0 r3 tping 100 5 4321::1 vrf v1 sou lo0 r3 tping 100 5 2.2.2.2 vrf v1 sou lo0 r3 tping 100 5 4321::2 vrf v1 sou lo0 r2 output show bridge 1 output ../binTmp/crypt-insp04.html here is the flows:
show:0
! freeRtr-25.11.9/cfg/crypt-insp05.tst000066400000000000000000000063361510423065500170630ustar00rootroot00000000000000description mpls inspection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 mpls inspect mac exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.2.3 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 r1 tping 100 10 4321::3 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 r2 tping 100 10 4321::3 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 r3 tping 100 10 4321::1 vrf v1 sou lo0 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 r3 tping 100 10 4321::2 vrf v1 sou lo0 r2 output show mpls insp eth1 sess r2 output show mpls insp eth1 top output ../binTmp/crypt-insp05.html here is the flows:
show:0
here is the tops:
show:1
! freeRtr-25.11.9/cfg/crypt-insp06.tst000066400000000000000000000046751510423065500170700ustar00rootroot00000000000000description interface inspection with ingress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 host-static 1234:1::2 0000.0000.2222 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 host-static 1234:1::1 0000.0000.1111 ipv4 inspect mac drop-rx ipv6 inspect mac drop-rx exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.2.3 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 r2 tping 100 10 4321::3 vrf v1 sou lo0 r1 tping 0 10 2.2.2.2 vrf v1 sou lo0 r1 tping 0 10 4321::2 vrf v1 sou lo0 r1 tping 0 10 2.2.2.3 vrf v1 sou lo0 r1 tping 0 10 4321::3 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 r3 tping 100 10 4321::1 vrf v1 sou lo0 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 r3 tping 100 10 4321::2 vrf v1 sou lo0 r2 output show ipv4 insp eth1 r2 output show ipv6 insp eth1 r2 output show ipv4 top eth1 r2 output show ipv6 top eth1 freeRtr-25.11.9/cfg/crypt-insp07.tst000066400000000000000000000046741510423065500170700ustar00rootroot00000000000000description interface inspection with egress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 host-static 1234:1::2 0000.0000.2222 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 host-static 1234:1::1 0000.0000.1111 ipv4 inspect mac drop-tx ipv6 inspect mac drop-tx exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.2.3 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 r1 tping 100 10 4321::3 vrf v1 sou lo0 r2 tping 0 10 2.2.2.1 vrf v1 sou lo0 r2 tping 0 10 4321::1 vrf v1 sou lo0 r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 r2 tping 100 10 4321::3 vrf v1 sou lo0 r3 tping 0 10 2.2.2.1 vrf v1 sou lo0 r3 tping 0 10 4321::1 vrf v1 sou lo0 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 r3 tping 100 10 4321::2 vrf v1 sou lo0 r2 output show ipv4 insp eth1 r2 output show ipv6 insp eth1 r2 output show ipv4 top eth1 r2 output show ipv6 top eth1 freeRtr-25.11.9/cfg/crypt-insp08.tst000066400000000000000000000060141510423065500170570ustar00rootroot00000000000000description mpls inspection with ingress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 mpls inspect mac drop-rx exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.2.3 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 r2 tping 100 10 4321::3 vrf v1 sou lo0 r1 tping 0 10 2.2.2.2 vrf v1 sou lo0 r1 tping 0 10 4321::2 vrf v1 sou lo0 r1 tping 0 10 2.2.2.3 vrf v1 sou lo0 r1 tping 0 10 4321::3 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 r3 tping 100 10 4321::1 vrf v1 sou lo0 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 r3 tping 100 10 4321::2 vrf v1 sou lo0 r2 output show mpls insp eth1 sess r2 output show mpls insp eth1 top freeRtr-25.11.9/cfg/crypt-insp09.tst000066400000000000000000000060131510423065500170570ustar00rootroot00000000000000description mpls inspection with egress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 mpls inspect mac drop-tx exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.2.3 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 r1 tping 100 10 4321::3 vrf v1 sou lo0 r2 tping 0 10 2.2.2.1 vrf v1 sou lo0 r2 tping 0 10 4321::1 vrf v1 sou lo0 r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 r2 tping 100 10 4321::3 vrf v1 sou lo0 r3 tping 0 10 2.2.2.1 vrf v1 sou lo0 r3 tping 0 10 4321::1 vrf v1 sou lo0 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 r3 tping 100 10 4321::2 vrf v1 sou lo0 r2 output show mpls insp eth1 sess r2 output show mpls insp eth1 top freeRtr-25.11.9/cfg/crypt-insp10.tst000066400000000000000000000052251510423065500170530ustar00rootroot00000000000000description interface inspection with selective ingress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 host-static 1234:1::2 0000.0000.2222 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 permit all any all 2.2.2.3 255.255.255.255 all exit access-list test6 permit all any all 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 host-static 1234:1::1 0000.0000.1111 ipv4 inspect mac drop-rx allow-list test4 ipv6 inspect mac drop-rx allow-list test6 exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.2.3 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 r2 tping 100 10 4321::3 vrf v1 sou lo0 r1 tping 0 10 2.2.2.2 vrf v1 sou lo0 r1 tping 0 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 r1 tping 100 10 4321::3 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 r3 tping 100 10 4321::1 vrf v1 sou lo0 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 r3 tping 100 10 4321::2 vrf v1 sou lo0 r2 output show ipv4 insp eth1 r2 output show ipv6 insp eth1 r2 output show ipv4 top eth1 r2 output show ipv6 top eth1 freeRtr-25.11.9/cfg/crypt-insp11.tst000066400000000000000000000052241510423065500170530ustar00rootroot00000000000000description interface inspection with selective egress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 host-static 1234:1::2 0000.0000.2222 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 permit all 2.2.2.3 255.255.255.255 all any all exit access-list test6 permit all 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 host-static 1234:1::1 0000.0000.1111 ipv4 inspect mac drop-tx allow-list test4 ipv6 inspect mac drop-tx allow-list test6 exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.2.3 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 r1 tping 100 10 4321::3 vrf v1 sou lo0 r2 tping 0 10 2.2.2.1 vrf v1 sou lo0 r2 tping 0 10 4321::1 vrf v1 sou lo0 r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 r2 tping 100 10 4321::3 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 r3 tping 100 10 4321::1 vrf v1 sou lo0 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 r3 tping 100 10 4321::2 vrf v1 sou lo0 r2 output show ipv4 insp eth1 r2 output show ipv6 insp eth1 r2 output show ipv4 top eth1 r2 output show ipv6 top eth1 freeRtr-25.11.9/cfg/crypt-insp12.tst000066400000000000000000000062711510423065500170570ustar00rootroot00000000000000description mpls inspection with selective ingress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test permit all any all 2.2.2.3 255.255.255.255 all permit all any all 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 mpls inspect mac drop-rx allow-list test exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.2.3 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 r2 tping 100 10 4321::3 vrf v1 sou lo0 r1 tping 0 10 2.2.2.2 vrf v1 sou lo0 r1 tping 0 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 r1 tping 100 10 4321::3 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 r3 tping 100 10 4321::1 vrf v1 sou lo0 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 r3 tping 100 10 4321::2 vrf v1 sou lo0 r2 output show mpls insp eth1 sess r2 output show mpls insp eth1 top freeRtr-25.11.9/cfg/crypt-insp13.tst000066400000000000000000000062701510423065500170570ustar00rootroot00000000000000description mpls inspection with selective egress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test permit all 2.2.2.3 255.255.255.255 all any all permit all 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 mpls inspect mac drop-tx allow-list test exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.2.3 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 r1 tping 100 10 4321::3 vrf v1 sou lo0 r2 tping 0 10 2.2.2.1 vrf v1 sou lo0 r2 tping 0 10 4321::1 vrf v1 sou lo0 r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 r2 tping 100 10 4321::3 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 r3 tping 100 10 4321::1 vrf v1 sou lo0 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 r3 tping 100 10 4321::2 vrf v1 sou lo0 r2 output show mpls insp eth1 sess r2 output show mpls insp eth1 top freeRtr-25.11.9/cfg/crypt-insp14.tst000066400000000000000000000047701510423065500170630ustar00rootroot00000000000000description interface inspection with member ingress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 host-static 1234:1::2 0000.0000.2222 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit session ins4 drop-rx exit session ins6 drop-rx exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 host-static 1234:1::1 0000.0000.1111 ipv4 inspect memb ins4 ipv6 inspect memb ins6 exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.2.3 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 r2 tping 100 10 4321::3 vrf v1 sou lo0 r1 tping 0 10 2.2.2.2 vrf v1 sou lo0 r1 tping 0 10 4321::2 vrf v1 sou lo0 r1 tping 0 10 2.2.2.3 vrf v1 sou lo0 r1 tping 0 10 4321::3 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 r3 tping 100 10 4321::1 vrf v1 sou lo0 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 r3 tping 100 10 4321::2 vrf v1 sou lo0 r2 output show ipv4 insp eth1 r2 output show ipv6 insp eth1 r2 output show ipv4 top eth1 r2 output show ipv6 top eth1 freeRtr-25.11.9/cfg/crypt-insp15.tst000066400000000000000000000047671510423065500170720ustar00rootroot00000000000000description interface inspection with member egress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 host-static 1234:1::2 0000.0000.2222 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit session ins4 drop-tx exit session ins6 drop-tx exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 host-static 1234:1::1 0000.0000.1111 ipv4 inspect memb ins4 ipv6 inspect memb ins6 exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.2.3 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 r1 tping 100 10 4321::3 vrf v1 sou lo0 r2 tping 0 10 2.2.2.1 vrf v1 sou lo0 r2 tping 0 10 4321::1 vrf v1 sou lo0 r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 r2 tping 100 10 4321::3 vrf v1 sou lo0 r3 tping 0 10 2.2.2.1 vrf v1 sou lo0 r3 tping 0 10 4321::1 vrf v1 sou lo0 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 r3 tping 100 10 4321::2 vrf v1 sou lo0 r2 output show ipv4 insp eth1 r2 output show ipv6 insp eth1 r2 output show ipv4 top eth1 r2 output show ipv6 top eth1 freeRtr-25.11.9/cfg/crypt-macsec01.tst000066400000000000000000000016161510423065500173350ustar00rootroot00000000000000description macsec over ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 r1 output show inter eth1 full output ../binTmp/crypt-macsec.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/crypt-macsec02.tst000066400000000000000000000012721510423065500173340ustar00rootroot00000000000000description macsec over ethernet vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int eth1.11 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int eth1.11 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec03.tst000066400000000000000000000013411510423065500173320ustar00rootroot00000000000000description macsec over ethernet bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec04.tst000066400000000000000000000012451510423065500173360ustar00rootroot00000000000000description macsec over hdlc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int ser1 enc hdlc vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int ser1 enc hdlc vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec05.tst000066400000000000000000000013461510423065500173410ustar00rootroot00000000000000description macsec over ppp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec06.tst000066400000000000000000000013661510423065500173440ustar00rootroot00000000000000description macsec over framerelay addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int ser1 enc framerelay framerelay mode dce framerelay dlci 123 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int ser1 enc framerelay framerelay dlci 123 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec07.tst000066400000000000000000000013431510423065500173400ustar00rootroot00000000000000description macsec over atmdxi addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec08.tst000066400000000000000000000013131510423065500173360ustar00rootroot00000000000000description macsec over atmsar addrouter r1 int atm1 atm - $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int atm1 atmsar vpi 1 atmsar vci 2 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int atm1 atm - $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int atm1 atmsar vpi 1 atmsar vci 2 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec09.tst000066400000000000000000000020041510423065500173350ustar00rootroot00000000000000description macsec over gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int eth1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.252 ipv6 addr 9999::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 9999::2 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int eth1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.252 ipv6 addr 9999::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 9999::1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec10.tst000066400000000000000000000020071510423065500173300ustar00rootroot00000000000000description macsec over ipip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int eth1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.252 ipv6 addr 9999::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode ipip tunnel source ethernet1 tunnel destination 9999::2 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int eth1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.252 ipv6 addr 9999::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode ipip tunnel source ethernet1 tunnel destination 9999::1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec11.tst000066400000000000000000000025121510423065500173320ustar00rootroot00000000000000description macsec over ipsec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int eth1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.252 ipv6 addr 9999::1 ffff:: exit exit crypto ipsec ips2 group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips2 tunnel mode ipsec tunnel source ethernet1 tunnel destination 9999::2 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int eth1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.252 ipv6 addr 9999::2 ffff:: exit exit crypto ipsec ips2 group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips2 tunnel mode ipsec tunnel source ethernet1 tunnel destination 9999::1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec12.tst000066400000000000000000000012341510423065500173330ustar00rootroot00000000000000description macsec with des addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec13.tst000066400000000000000000000012531510423065500173350ustar00rootroot00000000000000description macsec with blowfish addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher blowfish hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher blowfish hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec14.tst000066400000000000000000000012371510423065500173400ustar00rootroot00000000000000description macsec with 3des addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher 3des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher 3des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec15.tst000066400000000000000000000012561510423065500173420ustar00rootroot00000000000000description macsec with aes128cbc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes128cbc hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes128cbc hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec16.tst000066400000000000000000000012561510423065500173430ustar00rootroot00000000000000description macsec with aes192cbc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes192cbc hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes192cbc hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec17.tst000066400000000000000000000012561510423065500173440ustar00rootroot00000000000000description macsec with aes256cbc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec18.tst000066400000000000000000000012341510423065500173410ustar00rootroot00000000000000description macsec with md5 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec19.tst000066400000000000000000000012371510423065500173450ustar00rootroot00000000000000description macsec with sha1 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash sha1 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash sha1 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec20.tst000066400000000000000000000012451510423065500173340ustar00rootroot00000000000000description macsec with sha256 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash sha256 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash sha256 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec21.tst000066400000000000000000000012451510423065500173350ustar00rootroot00000000000000description macsec with sha512 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash sha512 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash sha512 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec22.tst000066400000000000000000000012371510423065500173370ustar00rootroot00000000000000description macsec with group1 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 01 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 01 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec23.tst000066400000000000000000000012371510423065500173400ustar00rootroot00000000000000description macsec with group2 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec24.tst000066400000000000000000000012371510423065500173410ustar00rootroot00000000000000description macsec with group5 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 05 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 05 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec25.tst000066400000000000000000000012401510423065500173340ustar00rootroot00000000000000description macsec with group14 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 14 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 14 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec26.tst000066400000000000000000000012401510423065500173350ustar00rootroot00000000000000description macsec with group15 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 15 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 15 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec27.tst000066400000000000000000000012401510423065500173360ustar00rootroot00000000000000description macsec with group16 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 16 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 16 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec28.tst000066400000000000000000000012401510423065500173370ustar00rootroot00000000000000description macsec with group17 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 17 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 17 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec29.tst000066400000000000000000000012401510423065500173400ustar00rootroot00000000000000description macsec with group18 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 18 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 18 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec30.tst000066400000000000000000000012401510423065500173300ustar00rootroot00000000000000description macsec with group22 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 22 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 22 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec31.tst000066400000000000000000000012401510423065500173310ustar00rootroot00000000000000description macsec with group23 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 23 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 23 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec32.tst000066400000000000000000000012401510423065500173320ustar00rootroot00000000000000description macsec with group24 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 24 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 24 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec33.tst000066400000000000000000000013501510423065500173350ustar00rootroot00000000000000description macsec over ethernet bundle addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bundle 1 ether exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int eth1 bundle-gr 1 exit int bun1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec34.tst000066400000000000000000000014311510423065500173360ustar00rootroot00000000000000description macsec over ethernet hairpin addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit hairpin 1 ether exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int eth1 bridge-gr 1 exit int hair11 bridge-gr 1 exit int hair12 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec35.tst000066400000000000000000000011411510423065500173350ustar00rootroot00000000000000description no macsec over ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int eth1 vrf for v1 macsec ips disable-macsec ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec36.tst000066400000000000000000000012561510423065500173450ustar00rootroot00000000000000description macsec with aes128cfb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes128cfb hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes128cfb hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec37.tst000066400000000000000000000012561510423065500173460ustar00rootroot00000000000000description macsec with aes192cfb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes192cfb hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes192cfb hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec38.tst000066400000000000000000000012561510423065500173470ustar00rootroot00000000000000description macsec with aes256cfb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cfb hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cfb hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec39.tst000066400000000000000000000012561510423065500173500ustar00rootroot00000000000000description macsec with aes128ecb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes128ecb hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes128ecb hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec40.tst000066400000000000000000000012561510423065500173400ustar00rootroot00000000000000description macsec with aes192ecb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes192ecb hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes192ecb hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec41.tst000066400000000000000000000012561510423065500173410ustar00rootroot00000000000000description macsec with aes256ecb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256ecb hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256ecb hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec42.tst000066400000000000000000000012451510423065500173400ustar00rootroot00000000000000description macsec with sha224 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash sha224 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash sha224 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec43.tst000066400000000000000000000012451510423065500173410ustar00rootroot00000000000000description macsec with sha384 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash sha384 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash sha384 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec44.tst000066400000000000000000000012501510423065500173360ustar00rootroot00000000000000description macsec with sha3224 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash sha3224 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash sha3224 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec45.tst000066400000000000000000000012501510423065500173370ustar00rootroot00000000000000description macsec with sha3256 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash sha3256 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash sha3256 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec46.tst000066400000000000000000000012501510423065500173400ustar00rootroot00000000000000description macsec with sha3384 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash sha3384 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash sha3384 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec47.tst000066400000000000000000000012501510423065500173410ustar00rootroot00000000000000description macsec with sha3512 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash sha3512 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash sha3512 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec48.tst000066400000000000000000000012521510423065500173440ustar00rootroot00000000000000description macsec with none encryption addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher none hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher none hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec49.tst000066400000000000000000000012441510423065500173460ustar00rootroot00000000000000description macsec with none hash addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash none key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash none key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec50.tst000066400000000000000000000012671510423065500173430ustar00rootroot00000000000000description macsec with aes128gcm and hash addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes128gcm hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes128gcm hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec51.tst000066400000000000000000000012671510423065500173440ustar00rootroot00000000000000description macsec with aes192gcm and hash addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes192gcm hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes192gcm hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec52.tst000066400000000000000000000012671510423065500173450ustar00rootroot00000000000000description macsec with aes256gcm and hash addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256gcm hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256gcm hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec53.tst000066400000000000000000000012711510423065500173410ustar00rootroot00000000000000description macsec with aes128gcm and aead addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes128gcm hash none key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes128gcm hash none key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec54.tst000066400000000000000000000012711510423065500173420ustar00rootroot00000000000000description macsec with aes192gcm and aead addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes192gcm hash none key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes192gcm hash none key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec55.tst000066400000000000000000000012711510423065500173430ustar00rootroot00000000000000description macsec with aes256gcm and aead addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256gcm hash none key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256gcm hash none key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec56.tst000066400000000000000000000020071510423065500173420ustar00rootroot00000000000000description macsec over tmux addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int eth1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.252 ipv6 addr 9999::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode tmux tunnel source ethernet1 tunnel destination 9999::2 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int eth1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.252 ipv6 addr 9999::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode tmux tunnel source ethernet1 tunnel destination 9999::1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec57.tst000066400000000000000000000020541510423065500173450ustar00rootroot00000000000000description macsec over l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int eth1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.252 ipv6 addr 9999::1 ffff:: exit int tun1 tunnel vrf v1 tunnel key 1234 tunnel mode l2tp3 tunnel source ethernet1 tunnel destination 9999::2 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256cbc hash sha1 key tester exit int eth1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.252 ipv6 addr 9999::2 ffff:: exit int tun1 tunnel vrf v1 tunnel key 1234 tunnel mode l2tp3 tunnel source ethernet1 tunnel destination 9999::1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec58.tst000066400000000000000000000022451510423065500173500ustar00rootroot00000000000000description macsec with static key addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role stat group 02 cipher aes256cbc hash sha1 key 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role stat group 02 cipher aes256cbc hash sha1 key 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec59.tst000066400000000000000000000012401510423065500173430ustar00rootroot00000000000000description macsec with group25 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 25 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 25 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec60.tst000066400000000000000000000012401510423065500173330ustar00rootroot00000000000000description macsec with group26 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 26 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 26 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec61.tst000066400000000000000000000012401510423065500173340ustar00rootroot00000000000000description macsec with group19 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 19 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 19 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec62.tst000066400000000000000000000012401510423065500173350ustar00rootroot00000000000000description macsec with group20 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 20 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 20 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec63.tst000066400000000000000000000012401510423065500173360ustar00rootroot00000000000000description macsec with group21 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 21 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 21 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec64.tst000066400000000000000000000012401510423065500173370ustar00rootroot00000000000000description macsec with group28 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 28 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 28 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec65.tst000066400000000000000000000012401510423065500173400ustar00rootroot00000000000000description macsec with group29 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 29 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 29 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec66.tst000066400000000000000000000012401510423065500173410ustar00rootroot00000000000000description macsec with group30 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 30 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 30 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec67.tst000066400000000000000000000012401510423065500173420ustar00rootroot00000000000000description macsec with group31 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 31 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 31 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec68.tst000066400000000000000000000012401510423065500173430ustar00rootroot00000000000000description macsec with group35 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 35 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 35 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec69.tst000066400000000000000000000012401510423065500173440ustar00rootroot00000000000000description macsec with group36 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 36 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 36 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec70.tst000066400000000000000000000012401510423065500173340ustar00rootroot00000000000000description macsec with group37 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 37 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 37 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec71.tst000066400000000000000000000012401510423065500173350ustar00rootroot00000000000000description macsec with group99 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 99 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 99 cipher des hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec72.tst000066400000000000000000000012341510423065500173410ustar00rootroot00000000000000description macsec with rc2 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher rc2 hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher rc2 hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec73.tst000066400000000000000000000012561510423065500173460ustar00rootroot00000000000000description macsec with aes128ctr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes128ctr hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes128ctr hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec74.tst000066400000000000000000000012561510423065500173470ustar00rootroot00000000000000description macsec with aes192ctr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes192ctr hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes192ctr hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec75.tst000066400000000000000000000012561510423065500173500ustar00rootroot00000000000000description macsec with aes256ctr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256ctr hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256ctr hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec76.tst000066400000000000000000000012561510423065500173510ustar00rootroot00000000000000description macsec with aes128ofb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes128ofb hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes128ofb hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec77.tst000066400000000000000000000012561510423065500173520ustar00rootroot00000000000000description macsec with aes192ofb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes192ofb hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes192ofb hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec78.tst000066400000000000000000000012561510423065500173530ustar00rootroot00000000000000description macsec with aes256ofb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256ofb hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256ofb hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec79.tst000066400000000000000000000012611510423065500173500ustar00rootroot00000000000000description macsec with aes128pcbc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes128pcbc hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes128pcbc hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec80.tst000066400000000000000000000012611510423065500173400ustar00rootroot00000000000000description macsec with aes192pcbc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes192pcbc hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes192pcbc hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-macsec81.tst000066400000000000000000000012611510423065500173410ustar00rootroot00000000000000description macsec with aes256pcbc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256pcbc hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher aes256pcbc hash md5 key tester exit int eth1 vrf for v1 macsec ips ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 30 1.1.1.2 vrf v1 r2 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 1234::2 vrf v1 r2 tping 100 30 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-nat01.tst000066400000000000000000000026261510423065500166660ustar00rootroot00000000000000description source list translation to interface addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit access-list test4 permit all 1.1.1.4 255.255.255.252 all 1.1.1.0 255.255.255.252 all exit access-list test6 permit all 1234:2:: ffff:ffff:: all 1234:1:: ffff:ffff:: all exit ipv4 nat v1 srclist test4 interface ethernet1 ipv6 nat v1 srclist test6 interface ethernet1 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 ! r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1234:1::1 vrf v1 r2 output show ipv4 nat v1 tran r2 output show ipv6 nat v1 tran output ../binTmp/crypt-nat.html here is the translation list:
show:0
here is the ipv6 translation list:
show:1
! freeRtr-25.11.9/cfg/crypt-nat02.tst000066400000000000000000000022021510423065500166550ustar00rootroot00000000000000description source list translation to address addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit access-list test4 permit all 1.1.1.4 255.255.255.252 all 1.1.1.0 255.255.255.252 all exit access-list test6 permit all 1234:2:: ffff:ffff:: all 1234:1:: ffff:ffff:: all exit ipv4 nat v1 srclist test4 1.1.1.2 ipv6 nat v1 srclist test6 1234:1::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 ! r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1234:1::1 vrf v1 r2 output show ipv4 nat v1 tran r2 output show ipv6 nat v1 tran freeRtr-25.11.9/cfg/crypt-nat03.tst000066400000000000000000000026401510423065500166640ustar00rootroot00000000000000description source list translation to pool addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.2 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit int lo1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 gateway-process ipv6 gateway-process exit access-list test4 permit all 1.1.1.4 255.255.255.252 all 1.1.1.0 255.255.255.252 all exit access-list test6 permit all 1234:2:: ffff:ffff:: all 1234:1:: ffff:ffff:: all exit ipv4 pool a4 1.1.2.1 0.0.0.1 222 ipv6 pool a6 1234:3::1 ::1234 222 ipv4 nat v1 srclist test4 pool a4 ipv6 nat v1 srclist test6 pool a6 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 ! r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1234:1::1 vrf v1 r2 output show ipv4 nat v1 tran r2 output show ipv6 nat v1 tran freeRtr-25.11.9/cfg/crypt-nat04.tst000066400000000000000000000023411510423065500166630ustar00rootroot00000000000000description source address translation to interface addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit ipv4 route v1 8.8.8.8 255.255.255.255 1.1.1.6 ipv6 route v1 8888::8 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 nat v1 source 8.8.8.8 interface eth1 ipv6 nat v1 source 8888::8 interface eth1 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int lo1 vrf for v1 ipv4 addr 8.8.8.8 255.255.255.255 ipv6 addr 8888::8 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 ! r3 tping 100 5 1.1.1.1 vrf v1 sou lo1 r3 tping 100 5 1234:1::1 vrf v1 sou lo1 r2 output show ipv4 nat v1 tran r2 output show ipv6 nat v1 tran freeRtr-25.11.9/cfg/crypt-nat05.tst000066400000000000000000000026051510423065500166670ustar00rootroot00000000000000description source address translation to address addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit access-list test4 permit all 1.1.1.4 255.255.255.252 all 1.1.1.0 255.255.255.252 all exit access-list test6 permit all 1234:2:: ffff:ffff:: all 1234:1:: ffff:ffff:: all exit ipv4 route v1 8.8.8.8 255.255.255.255 1.1.1.6 ipv6 route v1 8888::8 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 nat v1 source 8.8.8.8 1.1.1.2 ipv6 nat v1 source 8888::8 1234:1::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int lo1 vrf for v1 ipv4 addr 8.8.8.8 255.255.255.255 ipv6 addr 8888::8 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 ! r3 tping 100 5 1.1.1.1 vrf v1 sou lo1 r3 tping 100 5 1234:1::1 vrf v1 sou lo1 r2 output show ipv4 nat v1 tran r2 output show ipv6 nat v1 tran freeRtr-25.11.9/cfg/crypt-nat06.tst000066400000000000000000000027621510423065500166740ustar00rootroot00000000000000description source address translation to pool addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.2 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit int lo1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 gateway-process ipv6 gateway-process exit ipv4 route v1 8.8.8.8 255.255.255.255 1.1.1.6 ipv6 route v1 8888::8 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 pool a4 1.1.2.1 0.0.0.1 222 ipv6 pool a6 1234:3::1 ::1234 222 ipv4 nat v1 source 8.8.8.8 pool a4 ipv6 nat v1 source 8888::8 pool a6 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int lo1 vrf for v1 ipv4 addr 8.8.8.8 255.255.255.255 ipv6 addr 8888::8 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 ! r3 tping 100 5 1.1.1.1 vrf v1 sou lo1 r3 tping 100 5 1234:1::1 vrf v1 sou lo1 r2 output show ipv4 nat v1 tran r2 output show ipv6 nat v1 tran freeRtr-25.11.9/cfg/crypt-nat07.tst000066400000000000000000000023111510423065500166630ustar00rootroot00000000000000description target address translation to address addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit access-list test4 permit all 1.1.1.4 255.255.255.252 all 1.1.1.0 255.255.255.252 all exit access-list test6 permit all 1234:2:: ffff:ffff:: all 1234:1:: ffff:ffff:: all exit ipv4 nat v1 target 8.8.8.8 1.1.1.1 ipv6 nat v1 target 8888::1 1234:1::1 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 ! r3 tping 100 5 8.8.8.8 vrf v1 r3 tping 100 5 8888::1 vrf v1 r2 output show ipv4 nat v1 tran r2 output show ipv6 nat v1 tran freeRtr-25.11.9/cfg/crypt-nat08.tst000066400000000000000000000036751510423065500167020ustar00rootroot00000000000000description more sources translation to interface addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.129 255.255.255.128 ipv6 addr 1234:2::1 ffff:ffff:: exit access-list test4 permit all 1.1.1.128 255.255.255.128 all 1.1.1.0 255.255.255.128 all exit access-list test6 permit all 1234:2:: ffff:ffff:: all 1234:1:: ffff:ffff:: all exit ipv4 nat v1 srclist test4 interface ethernet1 ipv6 nat v1 srclist test6 interface ethernet1 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ int eth3 eth 0000.0000.3333 $4a$ $4b$ ! vrf def v1 rd 1:1 exit bridge 1 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.130 255.255.255.128 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.129 ipv6 route v1 :: :: 1234:2::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.131 255.255.255.128 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.129 ipv6 route v1 :: :: 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.132 255.255.255.128 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.129 ipv6 route v1 :: :: 1234:2::1 ! r3 tping 100 5 1.1.1.1 vrf v1 r4 tping 100 5 1.1.1.1 vrf v1 r5 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1234:1::1 vrf v1 r4 tping 100 5 1234:1::1 vrf v1 r5 tping 100 5 1234:1::1 vrf v1 r2 output show ipv4 nat v1 tran r2 output show ipv6 nat v1 tran freeRtr-25.11.9/cfg/crypt-nat09.tst000066400000000000000000000020521510423065500166670ustar00rootroot00000000000000description ipv4-ipv6 protocol translation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int eth2 vrf for v1 ipv6 addr 1234::101:106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc exit int tun1 tunnel vrf v1 tunnel key 120 tunnel mode 6to4 tunnel source eth2 tunnel destination 1234::101:101 vrf for v1 ipv4 addr 1.1.1.0 255.255.255.0 ipv6 addr 1234::101:100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv6 addr 1234::101:105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc exit ipv6 route v1 :: :: 1234::101:106 ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::101:105 vrf v1 r1 tping 100 5 1.1.1.5 vrf v1 r3 tping 100 5 1234::101:101 vrf v1 freeRtr-25.11.9/cfg/crypt-nat10.tst000066400000000000000000000027521510423065500166660ustar00rootroot00000000000000description source prefix translation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit ipv4 route v1 7.7.7.0 255.255.255.0 1.1.1.2 ipv6 route v1 7777:: ffff:ffff:: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit access-list test4 permit all 1.1.1.4 255.255.255.252 all 1.1.1.0 255.255.255.252 all exit access-list test6 permit all 1234:2:: ffff:ffff:: all 1234:1:: ffff:ffff:: all exit ipv4 route v1 8.8.8.8 255.255.255.255 1.1.1.6 ipv6 route v1 8888::8 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 nat v1 srcpref 8.8.8.8 7.7.7.7 255.255.255.0 ipv6 nat v1 srcpref 8888::8 7777::7 ffff:ffff:: ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int lo1 vrf for v1 ipv4 addr 8.8.8.8 255.255.255.255 ipv6 addr 8888::8 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 ! r3 tping 100 5 1.1.1.1 vrf v1 sou lo1 r3 tping 100 5 1234:1::1 vrf v1 sou lo1 r2 output show ipv4 nat v1 tran r2 output show ipv6 nat v1 tran freeRtr-25.11.9/cfg/crypt-nat11.tst000066400000000000000000000027301510423065500166630ustar00rootroot00000000000000description target prefix translation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit ipv4 route v1 7.7.7.0 255.255.255.0 1.1.1.2 ipv6 route v1 7777:: ffff:ffff:: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit access-list test4 permit all 1.1.1.4 255.255.255.252 all 1.1.1.0 255.255.255.252 all exit access-list test6 permit all 1234:2:: ffff:ffff:: all 1234:1:: ffff:ffff:: all exit ipv4 route v1 8.8.8.8 255.255.255.255 1.1.1.6 ipv6 route v1 8888::8 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 nat v1 trgpref 7.7.7.7 8.8.8.8 255.255.255.0 ipv6 nat v1 trgpref 7777::7 8888::8 ffff:ffff:: ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int lo1 vrf for v1 ipv4 addr 8.8.8.8 255.255.255.255 ipv6 addr 8888::8 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 ! r1 tping 100 5 7.7.7.8 vrf v1 r1 tping 100 5 7777::8 vrf v1 r2 output show ipv4 nat v1 tran r2 output show ipv6 nat v1 tran freeRtr-25.11.9/cfg/crypt-nat12.tst000066400000000000000000000026321510423065500166650ustar00rootroot00000000000000description nat64 translation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int eth2 vrf for v1 ipv6 addr 1234::1 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234::2 access-list nat deny all fe80:: ffff:: all any all deny all any all fe80:: ffff:: all deny all any all ff00:: ff00:: all deny all 6464:: ffff:ffff:ffff:ffff:: all 6464:: ffff:ffff:ffff:ffff:: all perm all any all 6464:: ffff:ffff:ffff:ffff:: all exit int tun1 tun key 96 tun vrf v1 tun sou eth2 tun des 6464::a01:4042 tun mod 6to4 vrf forwarding v1 ipv4 addr 10.1.64.65 255.255.255.252 ipv6 addr 6464::a01:4042 ffff:ffff:ffff:ffff:ffff:ffff:: exit ipv6 nat v1 srclist nat int tun1 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv6 addr 1234::2 ffff:ffff:: exit int lo1 vrf for v1 ipv6 addr 8888::8 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ipv6 route v1 :: :: 1234::1 ! r1 tping 100 5 1.1.1.2 vrf v1 r3 tping 100 5 1234::1 vrf v1 r3 tping 100 5 6464::0202:0202 vrf v1 sou lo1 freeRtr-25.11.9/cfg/crypt-nat13.tst000066400000000000000000000030111510423065500166560ustar00rootroot00000000000000description source port randomization addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit access-list test4 permit all 1.1.1.4 255.255.255.252 all 1.1.1.0 255.255.255.252 all exit access-list test6 permit all 1234:2:: ffff:ffff:: all 1234:1:: ffff:ffff:: all exit ipv4 nat v1 seq 10 srclist test4 interface ethernet1 ipv4 nat v1 seq 10 random 1024 2048 ipv6 nat v1 seq 10 srclist test6 interface ethernet1 ipv6 nat v1 seq 10 random 1024 2048 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:1::1 vrf v1 r2 tping 100 5 1.1.1.6 vrf v1 r2 tping 100 5 1234:2::2 vrf v1 r3 send telnet 1.1.1.1 666 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 send exit r3 read closed r3 send telnet 1234:1::1 666 vrf v1 r3 tping 100 5 1234:1::1 vrf v1 r3 send exit r3 read closed r2 output show ipv4 nat v1 tran r2 output show ipv6 nat v1 tran freeRtr-25.11.9/cfg/crypt-nat14.tst000066400000000000000000000025211510423065500166640ustar00rootroot00000000000000description source interface translation to address addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit access-list test4 permit all 1.1.1.4 255.255.255.252 all 1.1.1.0 255.255.255.252 all exit access-list test6 permit all 1234:2:: ffff:ffff:: all 1234:1:: ffff:ffff:: all exit ipv4 route v1 8.8.8.8 255.255.255.255 1.1.1.6 ipv6 route v1 8888::8 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 nat v1 source interface eth2 1.1.1.2 ipv6 nat v1 source interface eth2 1234:1::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int lo1 vrf for v1 ipv4 addr 8.8.8.8 255.255.255.255 ipv6 addr 8888::8 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! r3 tping 100 5 1.1.1.5 vrf v1 sou lo1 r3 tping 100 5 1234:2::1 vrf v1 sou lo1 r2 output show ipv4 nat v1 tran r2 output show ipv6 nat v1 tran freeRtr-25.11.9/cfg/crypt-nat15.tst000066400000000000000000000023331510423065500166660ustar00rootroot00000000000000description target interface translation to address addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit access-list test4 permit all 1.1.1.4 255.255.255.252 all 1.1.1.0 255.255.255.252 all exit access-list test6 permit all 1234:2:: ffff:ffff:: all 1234:1:: ffff:ffff:: all exit ipv4 nat v1 target interface eth2 1.1.1.1 ipv6 nat v1 target interface eth2 1234:1::1 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 ! r3 tping 100 5 1.1.1.5 vrf v1 r3 tping 100 5 1234:2::1 vrf v1 r2 output show ipv4 nat v1 tran r2 output show ipv6 nat v1 tran freeRtr-25.11.9/cfg/crypt-nat16.tst000066400000000000000000000034121510423065500166660ustar00rootroot00000000000000description ipv4 target port selection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo1 vrf for v2 ipv4 addr 3.3.3.3 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit int tun1 tun sou eth1 tun dest 1.1.1.2 tun vrf v1 tun dom 1.1.1.2 10000-19999 1.1.1.6 20000-29999 tun mod aplusp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 ipv6 addr 4321::1234 ffff:ffff:: exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234:1::1 client tcp-portrange 12000 13000 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 client tcp-portrange 22000 23000 ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:1::1 vrf v1 r3 tping 100 5 1.1.1.5 vrf v1 r3 tping 100 5 1234:2::1 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 sou lo1 r2 tping 100 5 3.3.3.3 vrf v2 r2 send exit r2 read closed r3 send telnet 1.1.1.1 666 vrf v1 sou lo1 r3 tping 100 5 3.3.3.3 vrf v2 r3 send exit r3 read closed freeRtr-25.11.9/cfg/crypt-nat17.tst000066400000000000000000000034221510423065500166700ustar00rootroot00000000000000description ipv6 target port selection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo1 vrf for v2 ipv4 addr 3.3.3.3 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit int tun1 tun sou eth1 tun dest 1.1.1.2 tun vrf v1 tun dom 1234:1::2 10000-19999 1234:2::2 20000-29999 tun mod aplusp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 ipv6 addr 4321::1234 ffff:ffff:: exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234:1::1 client tcp-portrange 12000 13000 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 client tcp-portrange 22000 23000 ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:1::1 vrf v1 r3 tping 100 5 1.1.1.5 vrf v1 r3 tping 100 5 1234:2::1 vrf v1 r2 send telnet 1234:1::1 666 vrf v1 sou lo1 r2 tping 100 5 3.3.3.3 vrf v2 r2 send exit r2 read closed r3 send telnet 1234:1::1 666 vrf v1 sou lo1 r3 tping 100 5 3.3.3.3 vrf v2 r3 send exit r3 read closed freeRtr-25.11.9/cfg/crypt-openvpn01.tst000066400000000000000000000042101510423065500175600ustar00rootroot00000000000000description openvpn over ipv4 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full output ../binTmp/crypt-openvpn.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/crypt-openvpn02.tst000066400000000000000000000036501510423065500175700ustar00rootroot00000000000000description openvpn over ipv6 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn03.tst000066400000000000000000000067041510423065500175740ustar00rootroot00000000000000description openvpn over openvpn addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips1 cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit crypto ipsec ips2 cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips2 tunnel mode openvpn tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun2 tunnel vrf v1 tunnel prot ips1 tunnel mode openvpn tunnel source tun1 tunnel destination 2.2.2.2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit crypto ipsec ips1 cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit crypto ipsec ips2 cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips2 tunnel mode openvpn tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun2 tunnel vrf v1 tunnel prot ips1 tunnel mode openvpn tunnel source tun1 tunnel destination 2.2.2.1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 3.3.3.2 vrf v1 r2 tping 100 5 3.3.3.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn04.tst000066400000000000000000000041651510423065500175740ustar00rootroot00000000000000description openvpn over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source lo0 tunnel destination 1.1.1.102 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source lo0 tunnel destination 1.1.1.101 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn05.tst000066400000000000000000000036471510423065500176010ustar00rootroot00000000000000description openvpn with des addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn06.tst000066400000000000000000000036661510423065500176030ustar00rootroot00000000000000description openvpn with blowfish addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher blowfish hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher blowfish hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn07.tst000066400000000000000000000036521510423065500175770ustar00rootroot00000000000000description openvpn with 3des addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher 3des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher 3des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn08.tst000066400000000000000000000036711510423065500176010ustar00rootroot00000000000000description openvpn with aes128cbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128cbc hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128cbc hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn09.tst000066400000000000000000000036711510423065500176020ustar00rootroot00000000000000description openvpn with aes192cbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192cbc hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192cbc hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn10.tst000066400000000000000000000036711510423065500175720ustar00rootroot00000000000000description openvpn with aes256cbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256cbc hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256cbc hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn11.tst000066400000000000000000000036471510423065500175760ustar00rootroot00000000000000description openvpn with md5 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn12.tst000066400000000000000000000036521510423065500175730ustar00rootroot00000000000000description openvpn with sha1 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha1 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha1 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn13.tst000066400000000000000000000036601510423065500175730ustar00rootroot00000000000000description openvpn with sha256 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha256 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha256 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn14.tst000066400000000000000000000036601510423065500175740ustar00rootroot00000000000000description openvpn with sha512 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha512 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha512 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn15.tst000066400000000000000000000037401510423065500175740ustar00rootroot00000000000000description openvpn over asymmetric ports addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel key 1234 4321 tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel key 4321 1234 tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn16.tst000066400000000000000000000036711510423065500176000ustar00rootroot00000000000000description openvpn with aes128cfb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128cfb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128cfb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn17.tst000066400000000000000000000036711510423065500176010ustar00rootroot00000000000000description openvpn with aes192cfb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192cfb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192cfb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn18.tst000066400000000000000000000036711510423065500176020ustar00rootroot00000000000000description openvpn with aes256cfb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256cfb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256cfb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn19.tst000066400000000000000000000036711510423065500176030ustar00rootroot00000000000000description openvpn with aes128ecb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128ecb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128ecb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn20.tst000066400000000000000000000036711510423065500175730ustar00rootroot00000000000000description openvpn with aes192ecb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192ecb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192ecb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn21.tst000066400000000000000000000036711510423065500175740ustar00rootroot00000000000000description openvpn with aes256ecb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256ecb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256ecb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn22.tst000066400000000000000000000036601510423065500175730ustar00rootroot00000000000000description openvpn with sha224 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha224 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha224 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn23.tst000066400000000000000000000036601510423065500175740ustar00rootroot00000000000000description openvpn with sha384 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha384 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha384 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn24.tst000066400000000000000000000036631510423065500176000ustar00rootroot00000000000000description openvpn with sha3224 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha3224 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha3224 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn25.tst000066400000000000000000000036631510423065500176010ustar00rootroot00000000000000description openvpn with sha3256 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha3256 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha3256 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn26.tst000066400000000000000000000036631510423065500176020ustar00rootroot00000000000000description openvpn with sha3384 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha3384 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha3384 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn27.tst000066400000000000000000000036631510423065500176030ustar00rootroot00000000000000description openvpn with sha3512 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha3512 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha3512 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn28.tst000066400000000000000000000036651510423065500176060ustar00rootroot00000000000000description openvpn with none encryption addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher none hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher none hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn29.tst000066400000000000000000000036571510423065500176100ustar00rootroot00000000000000description openvpn with none hash addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash none key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash none key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn30.tst000066400000000000000000000036471510423065500175770ustar00rootroot00000000000000description openvpn with rc2 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher rc2 hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher rc2 hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn31.tst000066400000000000000000000036711510423065500175750ustar00rootroot00000000000000description openvpn with aes128ctr addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128ctr hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128ctr hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn32.tst000066400000000000000000000036711510423065500175760ustar00rootroot00000000000000description openvpn with aes192ctr addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192ctr hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192ctr hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn33.tst000066400000000000000000000036711510423065500175770ustar00rootroot00000000000000description openvpn with aes256ctr addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256ctr hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256ctr hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn34.tst000066400000000000000000000036711510423065500176000ustar00rootroot00000000000000description openvpn with aes128ofb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128ofb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128ofb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn35.tst000066400000000000000000000036711510423065500176010ustar00rootroot00000000000000description openvpn with aes192ofb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192ofb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192ofb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn36.tst000066400000000000000000000036711510423065500176020ustar00rootroot00000000000000description openvpn with aes256ofb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256ofb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256ofb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn37.tst000066400000000000000000000036741510423065500176060ustar00rootroot00000000000000description openvpn with aes128pcbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128pcbc hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128pcbc hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn38.tst000066400000000000000000000036741510423065500176070ustar00rootroot00000000000000description openvpn with aes192pcbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192pcbc hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192pcbc hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-openvpn39.tst000066400000000000000000000036741510423065500176100ustar00rootroot00000000000000description openvpn with aes256pcbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256pcbc hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256pcbc hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode openvpn tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-proxy.tst000066400000000000000000000024501510423065500171170ustar00rootroot00000000000000description transparent proxy addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 proxy-profile p1 vrf v1 exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2a$ $2b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int ser1 transproxy p1 exit int ser2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! addrouter r3 int ser1 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.0 ipv6 addr 4321::3 ffff:: exit int lo0 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:: exit server telnet telnet vrf v1 exit ! r2 tping 100 10 2.2.2.3 vrf v1 r1 tping 0 5 3.3.3.3 vrf v1 r1 send telnet 2.2.2.3 prox p1 r1 tping 100 5 3.3.3.3 vrf v1 r1 send exit r1 read closed r1 tping 0 60 3.3.3.3 vrf v1 r1 send telnet 4321::3 prox p1 r1 tping 100 5 3.3.3.3 vrf v1 r1 send exit r1 read closed r1 tping 0 60 3.3.3.3 vrf v1 r2 output show transprox ser1 output ../binTmp/crypt-proxy.html here is the session list:
show:0
! freeRtr-25.11.9/cfg/crypt-satp01.tst000066400000000000000000000022101510423065500170400ustar00rootroot00000000000000description satp over ipv4 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full output ../binTmp/crypt-satp.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/crypt-satp02.tst000066400000000000000000000016531510423065500170530ustar00rootroot00000000000000description satp over ipv6 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp03.tst000066400000000000000000000023261510423065500170520ustar00rootroot00000000000000description satp over satp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun2 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source tun1 tunnel destination 2.2.2.2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun2 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source tun1 tunnel destination 2.2.2.1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 3.3.3.2 vrf v1 r2 tping 100 5 3.3.3.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp04.tst000066400000000000000000000021701510423065500170500ustar00rootroot00000000000000description satp over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source lo0 tunnel destination 1.1.1.102 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source lo0 tunnel destination 1.1.1.101 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp05.tst000066400000000000000000000016521510423065500170550ustar00rootroot00000000000000description satp with des addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp06.tst000066400000000000000000000016711510423065500170570ustar00rootroot00000000000000description satp with blowfish addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher blowfish hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher blowfish hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp07.tst000066400000000000000000000016551510423065500170620ustar00rootroot00000000000000description satp with 3des addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher 3des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher 3des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp08.tst000066400000000000000000000016741510423065500170640ustar00rootroot00000000000000description satp with aes128cbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128cbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128cbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp09.tst000066400000000000000000000016741510423065500170650ustar00rootroot00000000000000description satp with aes192cbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192cbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192cbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp10.tst000066400000000000000000000016741510423065500170550ustar00rootroot00000000000000description satp with aes256cbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256cbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256cbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp11.tst000066400000000000000000000016521510423065500170520ustar00rootroot00000000000000description satp with md5 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp12.tst000066400000000000000000000016551510423065500170560ustar00rootroot00000000000000description satp with sha1 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha1 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha1 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp13.tst000066400000000000000000000016631510423065500170560ustar00rootroot00000000000000description satp with sha256 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha256 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha256 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp14.tst000066400000000000000000000016631510423065500170570ustar00rootroot00000000000000description satp with sha512 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha512 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha512 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp15.tst000066400000000000000000000017431510423065500170570ustar00rootroot00000000000000description satp over asymmetric ports addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel key 1234 4321 tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel key 4321 1234 tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp16.tst000066400000000000000000000016741510423065500170630ustar00rootroot00000000000000description satp with aes128cfb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128cfb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128cfb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp17.tst000066400000000000000000000016741510423065500170640ustar00rootroot00000000000000description satp with aes192cfb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192cfb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192cfb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp18.tst000066400000000000000000000016741510423065500170650ustar00rootroot00000000000000description satp with aes256cfb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256cfb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256cfb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp19.tst000066400000000000000000000016741510423065500170660ustar00rootroot00000000000000description satp with aes128ecb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128ecb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128ecb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp20.tst000066400000000000000000000016741510423065500170560ustar00rootroot00000000000000description satp with aes192ecb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192ecb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192ecb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp21.tst000066400000000000000000000016741510423065500170570ustar00rootroot00000000000000description satp with aes256ecb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256ecb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256ecb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp22.tst000066400000000000000000000016631510423065500170560ustar00rootroot00000000000000description satp with sha224 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha224 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha224 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp23.tst000066400000000000000000000016631510423065500170570ustar00rootroot00000000000000description satp with sha384 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha384 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha384 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp24.tst000066400000000000000000000016661510423065500170630ustar00rootroot00000000000000description satp with sha3224 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha3224 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha3224 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp25.tst000066400000000000000000000016661510423065500170640ustar00rootroot00000000000000description satp with sha3256 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha3256 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha3256 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp26.tst000066400000000000000000000016661510423065500170650ustar00rootroot00000000000000description satp with sha3384 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha3384 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha3384 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp27.tst000066400000000000000000000016661510423065500170660ustar00rootroot00000000000000description satp with sha3512 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha3512 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha3512 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp28.tst000066400000000000000000000016701510423065500170620ustar00rootroot00000000000000description satp with none encryption addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher none hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher none hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp29.tst000066400000000000000000000016621510423065500170640ustar00rootroot00000000000000description satp with none hash addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash none key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash none key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp30.tst000066400000000000000000000016521510423065500170530ustar00rootroot00000000000000description satp with rc2 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher rc2 hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher rc2 hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp31.tst000066400000000000000000000016741510423065500170600ustar00rootroot00000000000000description satp with aes128ctr addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128ctr hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128ctr hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp32.tst000066400000000000000000000016741510423065500170610ustar00rootroot00000000000000description satp with aes192ctr addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192ctr hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192ctr hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp33.tst000066400000000000000000000016741510423065500170620ustar00rootroot00000000000000description satp with aes256ctr addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256ctr hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256ctr hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp34.tst000066400000000000000000000016741510423065500170630ustar00rootroot00000000000000description satp with aes128ofb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128ofb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128ofb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp35.tst000066400000000000000000000016741510423065500170640ustar00rootroot00000000000000description satp with aes192ofb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192ofb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192ofb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp36.tst000066400000000000000000000016741510423065500170650ustar00rootroot00000000000000description satp with aes256ofb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256ofb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256ofb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp37.tst000066400000000000000000000016771510423065500170710ustar00rootroot00000000000000description satp with aes128pcbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128pcbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128pcbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp38.tst000066400000000000000000000016771510423065500170720ustar00rootroot00000000000000description satp with aes192pcbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192pcbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192pcbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-satp39.tst000066400000000000000000000016771510423065500170730ustar00rootroot00000000000000description satp with aes256pcbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256pcbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256pcbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode satp tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-sgt01.tst000066400000000000000000000010011510423065500166630ustar00rootroot00000000000000description sgt ethernet encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: sgt ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: sgt ena exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-sgt02.tst000066400000000000000000000010051510423065500166700ustar00rootroot00000000000000description sgt vlan encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.123 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: sgt ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1.123 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: sgt ena exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-sgt03.tst000066400000000000000000000010521510423065500166730ustar00rootroot00000000000000description sgt bridge encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: sgt ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: sgt ena exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-sgt04.tst000066400000000000000000000010521510423065500166740ustar00rootroot00000000000000description sgt bundle encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bundle 1 exit int eth1 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: sgt ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: sgt ena exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-sgt05.tst000066400000000000000000000007671510423065500167110ustar00rootroot00000000000000description sgt hdlc encapsulation addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 enc hdlc ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: sgt ena exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: sgt ena exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-sgt06.tst000066400000000000000000000007641510423065500167070ustar00rootroot00000000000000description sgt ppp encapsulation addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 enc ppp ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: sgt ena exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: sgt ena exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-sgt07.tst000066400000000000000000000011621510423065500167010ustar00rootroot00000000000000description sgt framerelay encapsulation addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: sgt ena exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: sgt ena exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-sgt08.tst000066400000000000000000000010651510423065500167040ustar00rootroot00000000000000description sgt atmdxi encapsulation addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: sgt ena exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: sgt ena exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-sgt09.tst000066400000000000000000000010061510423065500167000ustar00rootroot00000000000000description sgt isdn encapsulation addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 enc isdn ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: sgt ena exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: sgt ena exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-sgt10.tst000066400000000000000000000007641510423065500167020ustar00rootroot00000000000000description sgt sep encapsulation addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 enc sep ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: sgt ena exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: sgt ena exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-sgt11.tst000066400000000000000000000015431510423065500166770ustar00rootroot00000000000000description sgt gre encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun mod gre sgt ena vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun mod gre sgt ena vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-sgt12.tst000066400000000000000000000015461510423065500167030ustar00rootroot00000000000000description sgt ipip encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun mod ipip sgt ena vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun mod ipip sgt ena vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-sgt13.tst000066400000000000000000000022371510423065500167020ustar00rootroot00000000000000description sgt ipsec encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tun sou eth1 tun dest 1.1.1.2 tun mod ipsec sgt ena vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tun sou eth1 tun dest 1.1.1.1 tun mod ipsec sgt ena vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-sgt14.tst000066400000000000000000000027511510423065500167040ustar00rootroot00000000000000description sgt ethernet chain encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match sgt 123 seq 20 act trans exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 sgt ena vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act trans match length 300-500 set sgt 123 seq 20 act trans set sgt 122 exit int eth1 sgt ena vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: service-policy-out p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 siz 200 r3 tping 100 5 1.1.1.1 vrf v1 siz 200 r1 tping 100 5 4321::2 vrf v1 siz 200 r3 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 0 5 2.2.2.2 vrf v1 siz 400 r3 tping 0 5 1.1.1.1 vrf v1 siz 400 r1 tping 0 5 4321::2 vrf v1 siz 400 r3 tping 0 5 1234::1 vrf v1 siz 400 r1 tping 100 5 2.2.2.2 vrf v1 siz 600 r3 tping 100 5 1.1.1.1 vrf v1 siz 600 r1 tping 100 5 4321::2 vrf v1 siz 600 r3 tping 100 5 1234::1 vrf v1 siz 600 freeRtr-25.11.9/cfg/crypt-sgt15.tst000066400000000000000000000027651510423065500167120ustar00rootroot00000000000000description sgt vlan chain encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match sgt 123 seq 20 act trans exit int eth1.123 sgt ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1.123 sgt ena vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2.123 sgt ena vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act trans match length 300-500 set sgt 123 seq 20 act trans set sgt 122 exit int eth1.123 sgt ena vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: service-policy-out p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 siz 200 r3 tping 100 5 1.1.1.1 vrf v1 siz 200 r1 tping 100 5 4321::2 vrf v1 siz 200 r3 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 0 5 2.2.2.2 vrf v1 siz 400 r3 tping 0 5 1.1.1.1 vrf v1 siz 400 r1 tping 0 5 4321::2 vrf v1 siz 400 r3 tping 0 5 1234::1 vrf v1 siz 400 r1 tping 100 5 2.2.2.2 vrf v1 siz 600 r3 tping 100 5 1.1.1.1 vrf v1 siz 600 r1 tping 100 5 4321::2 vrf v1 siz 600 r3 tping 100 5 1234::1 vrf v1 siz 600 freeRtr-25.11.9/cfg/crypt-sgt16.tst000066400000000000000000000030251510423065500167010ustar00rootroot00000000000000description sgt vlan map out encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match sgt 123 seq 20 act trans exit int eth1.123 sgt ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1.123 sgt ena vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 sgt ena exit int eth2.123 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act trans match length 300-500 set sgt 123 seq 20 act trans set sgt 122 exit int eth1 sgt ena exit int eth1.123 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: service-policy-out p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 siz 200 r3 tping 100 5 1.1.1.1 vrf v1 siz 200 r1 tping 100 5 4321::2 vrf v1 siz 200 r3 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 0 5 2.2.2.2 vrf v1 siz 400 r3 tping 0 5 1.1.1.1 vrf v1 siz 400 r1 tping 0 5 4321::2 vrf v1 siz 400 r3 tping 0 5 1234::1 vrf v1 siz 400 r1 tping 100 5 2.2.2.2 vrf v1 siz 600 r3 tping 100 5 1.1.1.1 vrf v1 siz 600 r1 tping 100 5 4321::2 vrf v1 siz 600 r3 tping 100 5 1234::1 vrf v1 siz 600 freeRtr-25.11.9/cfg/crypt-sgt17.tst000066400000000000000000000034071510423065500167060ustar00rootroot00000000000000description sgt tunnel map out encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match sgt 123 seq 20 act trans exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 3333::1 ffff:: exit int tun1 tun vrf v1 tun sou eth2 tun dest 3.3.3.2 tun mod gre sgt ena vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act trans match length 300-500 set sgt 123 seq 20 act trans set sgt 122 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 3333::2 ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 3.3.3.1 tun mod gre sgt ena vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: service-policy-out p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 siz 200 r3 tping 100 5 1.1.1.1 vrf v1 siz 200 r1 tping 100 5 4321::2 vrf v1 siz 200 r3 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 0 5 2.2.2.2 vrf v1 siz 400 r3 tping 0 5 1.1.1.1 vrf v1 siz 400 r1 tping 0 5 4321::2 vrf v1 siz 400 r3 tping 0 5 1234::1 vrf v1 siz 400 r1 tping 100 5 2.2.2.2 vrf v1 siz 600 r3 tping 100 5 1.1.1.1 vrf v1 siz 600 r1 tping 100 5 4321::2 vrf v1 siz 600 r3 tping 100 5 1234::1 vrf v1 siz 600 freeRtr-25.11.9/cfg/crypt-sgt18.tst000066400000000000000000000032571510423065500167120ustar00rootroot00000000000000description sgt over macsec ethernet encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester exit policy-map p1 seq 10 act drop match sgt 123 seq 20 act trans exit int eth1 macsec ips sgt ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester exit int eth1 macsec ips sgt ena vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 sgt ena vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act trans match length 300-500 set sgt 123 seq 20 act trans set sgt 122 exit int eth1 sgt ena vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: service-policy-out p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 30 2.2.2.2 vrf v1 siz 200 r3 tping 100 30 1.1.1.1 vrf v1 siz 200 r1 tping 100 30 4321::2 vrf v1 siz 200 r3 tping 100 30 1234::1 vrf v1 siz 200 r1 tping 0 30 2.2.2.2 vrf v1 siz 400 r3 tping 0 30 1.1.1.1 vrf v1 siz 400 r1 tping 0 30 4321::2 vrf v1 siz 400 r3 tping 0 30 1234::1 vrf v1 siz 400 r1 tping 100 30 2.2.2.2 vrf v1 siz 600 r3 tping 100 30 1.1.1.1 vrf v1 siz 600 r1 tping 100 30 4321::2 vrf v1 siz 600 r3 tping 100 30 1234::1 vrf v1 siz 600 freeRtr-25.11.9/cfg/crypt-sgt19.tst000066400000000000000000000033211510423065500167030ustar00rootroot00000000000000description sgt over macsec vlan encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester exit policy-map p1 seq 10 act drop match sgt 123 seq 20 act trans exit int eth1 macsec ips exit int eth1.123 sgt ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester exit int eth1 macsec ips exit int eth1.123 sgt ena vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 sgt ena vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act trans match length 300-500 set sgt 123 seq 20 act trans set sgt 122 exit int eth1 sgt ena vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: service-policy-out p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 30 2.2.2.2 vrf v1 siz 200 r3 tping 100 30 1.1.1.1 vrf v1 siz 200 r1 tping 100 30 4321::2 vrf v1 siz 200 r3 tping 100 30 1234::1 vrf v1 siz 200 r1 tping 0 30 2.2.2.2 vrf v1 siz 400 r3 tping 0 30 1.1.1.1 vrf v1 siz 400 r1 tping 0 30 4321::2 vrf v1 siz 400 r3 tping 0 30 1234::1 vrf v1 siz 400 r1 tping 100 30 2.2.2.2 vrf v1 siz 600 r3 tping 100 30 1.1.1.1 vrf v1 siz 600 r1 tping 100 30 4321::2 vrf v1 siz 600 r3 tping 100 30 1234::1 vrf v1 siz 600 freeRtr-25.11.9/cfg/crypt-sgt20.tst000066400000000000000000000011421510423065500166720ustar00rootroot00000000000000description sgt hairpin encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit hairpin 1 ether exit int eth1 bridge-gr 1 exit int hair11 bridge-gr 1 exit int hair12 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: sgt ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: sgt ena exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-sgt21.tst000066400000000000000000000010101510423065500166650ustar00rootroot00000000000000description no sgt ethernet encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: sgt ena disable-sgt exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-sgt22.tst000066400000000000000000000024101510423065500166730ustar00rootroot00000000000000description sgt encapsulation with ingress allow addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 sgt ena sgt allow-in 0 2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 sgt ena vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 sgt ena vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 sgt 0 r3 tping 100 5 1.1.1.1 vrf v1 sgt 0 r1 tping 100 5 4321::2 vrf v1 sgt 0 r3 tping 100 5 1234::1 vrf v1 sgt 0 r1 tping 0 5 2.2.2.2 vrf v1 sgt 1 r3 tping 0 5 1.1.1.1 vrf v1 sgt 1 r1 tping 0 5 4321::2 vrf v1 sgt 1 r3 tping 0 5 1234::1 vrf v1 sgt 1 r1 tping 100 5 2.2.2.2 vrf v1 sgt 2 r3 tping 100 5 1.1.1.1 vrf v1 sgt 2 r1 tping 100 5 4321::2 vrf v1 sgt 2 r3 tping 100 5 1234::1 vrf v1 sgt 2 freeRtr-25.11.9/cfg/crypt-sgt23.tst000066400000000000000000000024101510423065500166740ustar00rootroot00000000000000description sgt encapsulation with egress allow addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 sgt ena sgt allow-out 0 2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 sgt ena vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 sgt ena vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 sgt 0 r3 tping 100 5 1.1.1.1 vrf v1 sgt 0 r1 tping 100 5 4321::2 vrf v1 sgt 0 r3 tping 100 5 1234::1 vrf v1 sgt 0 r1 tping 0 5 2.2.2.2 vrf v1 sgt 1 r3 tping 0 5 1.1.1.1 vrf v1 sgt 1 r1 tping 0 5 4321::2 vrf v1 sgt 1 r3 tping 0 5 1234::1 vrf v1 sgt 1 r1 tping 100 5 2.2.2.2 vrf v1 sgt 2 r3 tping 100 5 1.1.1.1 vrf v1 sgt 2 r1 tping 100 5 4321::2 vrf v1 sgt 2 r3 tping 100 5 1234::1 vrf v1 sgt 2 freeRtr-25.11.9/cfg/crypt-sgt24.tst000066400000000000000000000024101510423065500166750ustar00rootroot00000000000000description sgt encapsulation with ingress forbid addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 sgt ena sgt forbid-in 1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 sgt ena vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 sgt ena vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 sgt 0 r3 tping 100 5 1.1.1.1 vrf v1 sgt 0 r1 tping 100 5 4321::2 vrf v1 sgt 0 r3 tping 100 5 1234::1 vrf v1 sgt 0 r1 tping 0 5 2.2.2.2 vrf v1 sgt 1 r3 tping 0 5 1.1.1.1 vrf v1 sgt 1 r1 tping 0 5 4321::2 vrf v1 sgt 1 r3 tping 0 5 1234::1 vrf v1 sgt 1 r1 tping 100 5 2.2.2.2 vrf v1 sgt 2 r3 tping 100 5 1.1.1.1 vrf v1 sgt 2 r1 tping 100 5 4321::2 vrf v1 sgt 2 r3 tping 100 5 1234::1 vrf v1 sgt 2 freeRtr-25.11.9/cfg/crypt-sgt25.tst000066400000000000000000000024101510423065500166760ustar00rootroot00000000000000description sgt encapsulation with egress forbid addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 sgt ena sgt forbid-out 1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 sgt ena vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 sgt ena vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 sgt 0 r3 tping 100 5 1.1.1.1 vrf v1 sgt 0 r1 tping 100 5 4321::2 vrf v1 sgt 0 r3 tping 100 5 1234::1 vrf v1 sgt 0 r1 tping 0 5 2.2.2.2 vrf v1 sgt 1 r3 tping 0 5 1.1.1.1 vrf v1 sgt 1 r1 tping 0 5 4321::2 vrf v1 sgt 1 r3 tping 0 5 1234::1 vrf v1 sgt 1 r1 tping 100 5 2.2.2.2 vrf v1 sgt 2 r3 tping 100 5 1.1.1.1 vrf v1 sgt 2 r1 tping 100 5 4321::2 vrf v1 sgt 2 r3 tping 100 5 1234::1 vrf v1 sgt 2 freeRtr-25.11.9/cfg/crypt-sgt26.tst000066400000000000000000000015461510423065500167100ustar00rootroot00000000000000description sgt tmux encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun mod tmux sgt ena vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun mod tmux sgt ena vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-sgt27.tst000066400000000000000000000016051510423065500167050ustar00rootroot00000000000000description sgt l2tp3 encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 1234 tun mod l2tp3 sgt ena vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.1 tun key 1234 tun mod l2tp3 sgt ena vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip01.tst000066400000000000000000000022101510423065500170370ustar00rootroot00000000000000description skip over ipv4 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full output ../binTmp/crypt-skip.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/crypt-skip02.tst000066400000000000000000000016531510423065500170520ustar00rootroot00000000000000description skip over ipv6 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip03.tst000066400000000000000000000023261510423065500170510ustar00rootroot00000000000000description skip over skip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun2 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source tun1 tunnel destination 2.2.2.2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun2 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source tun1 tunnel destination 2.2.2.1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 3.3.3.2 vrf v1 r2 tping 100 5 3.3.3.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip04.tst000066400000000000000000000021701510423065500170470ustar00rootroot00000000000000description skip over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source lo0 tunnel destination 1.1.1.102 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source lo0 tunnel destination 1.1.1.101 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip05.tst000066400000000000000000000016521510423065500170540ustar00rootroot00000000000000description skip with des addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip06.tst000066400000000000000000000016711510423065500170560ustar00rootroot00000000000000description skip with blowfish addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher blowfish hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher blowfish hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip07.tst000066400000000000000000000016551510423065500170610ustar00rootroot00000000000000description skip with 3des addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher 3des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher 3des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip08.tst000066400000000000000000000016741510423065500170630ustar00rootroot00000000000000description skip with aes128cbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128cbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128cbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip09.tst000066400000000000000000000016741510423065500170640ustar00rootroot00000000000000description skip with aes192cbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192cbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192cbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip10.tst000066400000000000000000000016741510423065500170540ustar00rootroot00000000000000description skip with aes256cbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256cbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256cbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip11.tst000066400000000000000000000016521510423065500170510ustar00rootroot00000000000000description skip with md5 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip12.tst000066400000000000000000000016551510423065500170550ustar00rootroot00000000000000description skip with sha1 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha1 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha1 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip13.tst000066400000000000000000000016631510423065500170550ustar00rootroot00000000000000description skip with sha256 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha256 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha256 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip14.tst000066400000000000000000000016631510423065500170560ustar00rootroot00000000000000description skip with sha512 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha512 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha512 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip15.tst000066400000000000000000000016741510423065500170610ustar00rootroot00000000000000description skip with aes128cfb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128cfb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128cfb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip16.tst000066400000000000000000000016741510423065500170620ustar00rootroot00000000000000description skip with aes192cfb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192cfb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192cfb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip17.tst000066400000000000000000000016741510423065500170630ustar00rootroot00000000000000description skip with aes256cfb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256cfb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256cfb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip18.tst000066400000000000000000000016741510423065500170640ustar00rootroot00000000000000description skip with aes128ecb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128ecb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128ecb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip19.tst000066400000000000000000000016741510423065500170650ustar00rootroot00000000000000description skip with aes192ecb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192ecb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192ecb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip20.tst000066400000000000000000000016741510423065500170550ustar00rootroot00000000000000description skip with aes256ecb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256ecb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256ecb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip21.tst000066400000000000000000000016631510423065500170540ustar00rootroot00000000000000description skip with sha224 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha224 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha224 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip22.tst000066400000000000000000000016631510423065500170550ustar00rootroot00000000000000description skip with sha384 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha384 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha384 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip23.tst000066400000000000000000000016661510423065500170610ustar00rootroot00000000000000description skip with sha3224 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha3224 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha3224 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip24.tst000066400000000000000000000016661510423065500170620ustar00rootroot00000000000000description skip with sha3256 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha3256 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha3256 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip25.tst000066400000000000000000000016661510423065500170630ustar00rootroot00000000000000description skip with sha3384 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha3384 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha3384 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip26.tst000066400000000000000000000016661510423065500170640ustar00rootroot00000000000000description skip with sha3512 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha3512 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha3512 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip27.tst000066400000000000000000000016701510423065500170600ustar00rootroot00000000000000description skip with none encryption addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher none hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher none hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip28.tst000066400000000000000000000016621510423065500170620ustar00rootroot00000000000000description skip with none hash addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash none key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash none key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip29.tst000066400000000000000000000016521510423065500170620ustar00rootroot00000000000000description skip with rc2 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher rc2 hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher rc2 hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip30.tst000066400000000000000000000016741510423065500170560ustar00rootroot00000000000000description skip with aes128ctr addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128ctr hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128ctr hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip31.tst000066400000000000000000000016741510423065500170570ustar00rootroot00000000000000description skip with aes192ctr addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192ctr hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192ctr hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip32.tst000066400000000000000000000016741510423065500170600ustar00rootroot00000000000000description skip with aes256ctr addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256ctr hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256ctr hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip33.tst000066400000000000000000000016741510423065500170610ustar00rootroot00000000000000description skip with aes128ofb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128ofb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128ofb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip34.tst000066400000000000000000000016741510423065500170620ustar00rootroot00000000000000description skip with aes192ofb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192ofb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192ofb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip35.tst000066400000000000000000000016741510423065500170630ustar00rootroot00000000000000description skip with aes256ofb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256ofb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256ofb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip36.tst000066400000000000000000000016771510423065500170670ustar00rootroot00000000000000description skip with aes128pcbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128pcbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128pcbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip37.tst000066400000000000000000000016771510423065500170700ustar00rootroot00000000000000description skip with aes192pcbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192pcbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192pcbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-skip38.tst000066400000000000000000000016771510423065500170710ustar00rootroot00000000000000description skip with aes256pcbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256pcbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256pcbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode skip tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-ssh01.tst000066400000000000000000000016511510423065500166760ustar00rootroot00000000000000description ssh with everything addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit aaa userlist usr username c password c username c privilege 14 exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 server telnet ssh security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa security authentication usr security protocol ssh port 666 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 ssh r2 send c r2 send c r2 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/crypt-ssh02.tst000066400000000000000000000013661510423065500167020ustar00rootroot00000000000000description ssh with dsa addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit aaa userlist usr username c password c username c privilege 14 exit crypto dsakey dsa generate 1024 server telnet ssh security dsakey dsa security authentication usr security protocol ssh port 666 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 ssh r2 send c r2 send c r2 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/crypt-ssh03.tst000066400000000000000000000013661510423065500167030ustar00rootroot00000000000000description ssh with rsa addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit aaa userlist usr username c password c username c privilege 14 exit crypto rsakey rsa generate 1024 server telnet ssh security rsakey rsa security authentication usr security protocol ssh port 666 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 ssh r2 send c r2 send c r2 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/crypt-ssh04.tst000066400000000000000000000013771510423065500167060ustar00rootroot00000000000000description ssh with ecdsa addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit aaa userlist usr username c password c username c privilege 14 exit crypto ecdsakey ecdsa generate 192 server telnet ssh security ecdsakey ecdsa security authentication usr security protocol ssh port 666 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 ssh r2 send c r2 send c r2 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/crypt-ssh05.tst000066400000000000000000000013761510423065500167060ustar00rootroot00000000000000description ssh with mldsa addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit aaa userlist usr username c password c username c privilege 14 exit crypto mldsakey mldsa generate 44 server telnet ssh security mldsakey mldsa security authentication usr security protocol ssh port 666 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 ssh r2 send c r2 send c r2 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe01.tst000066400000000000000000000022141510423065500172240ustar00rootroot00000000000000description swipe over ipv4 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 r1 output show inter tun1 full output ../binTmp/crypt-swipe.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/crypt-swipe02.tst000066400000000000000000000016561510423065500172360ustar00rootroot00000000000000description swipe over ipv6 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe03.tst000066400000000000000000000023341510423065500172310ustar00rootroot00000000000000description swipe over swipe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun2 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source tun1 tunnel destination 2.2.2.2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun2 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source tun1 tunnel destination 2.2.2.1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 3.3.3.2 vrf v1 r2 tping 100 5 3.3.3.1 vrf v1 r1 tping 100 5 1234::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe04.tst000066400000000000000000000021731510423065500172330ustar00rootroot00000000000000description swipe over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source lo0 tunnel destination 1.1.1.102 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source lo0 tunnel destination 1.1.1.101 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe05.tst000066400000000000000000000016551510423065500172400ustar00rootroot00000000000000description swipe with des addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe06.tst000066400000000000000000000016741510423065500172420ustar00rootroot00000000000000description swipe with blowfish addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher blowfish hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher blowfish hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe07.tst000066400000000000000000000016601510423065500172360ustar00rootroot00000000000000description swipe with 3des addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher 3des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher 3des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe08.tst000066400000000000000000000016771510423065500172470ustar00rootroot00000000000000description swipe with aes128cbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128cbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128cbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe09.tst000066400000000000000000000016771510423065500172500ustar00rootroot00000000000000description swipe with aes192cbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192cbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192cbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe10.tst000066400000000000000000000016771510423065500172400ustar00rootroot00000000000000description swipe with aes256cbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256cbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256cbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe11.tst000066400000000000000000000016551510423065500172350ustar00rootroot00000000000000description swipe with md5 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe12.tst000066400000000000000000000016601510423065500172320ustar00rootroot00000000000000description swipe with sha1 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha1 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha1 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe13.tst000066400000000000000000000016661510423065500172410ustar00rootroot00000000000000description swipe with sha256 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha256 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha256 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe14.tst000066400000000000000000000016661510423065500172420ustar00rootroot00000000000000description swipe with sha512 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha512 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha512 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe15.tst000066400000000000000000000016771510423065500172450ustar00rootroot00000000000000description swipe with aes128cfb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128cfb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128cfb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe16.tst000066400000000000000000000016771510423065500172460ustar00rootroot00000000000000description swipe with aes192cfb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192cfb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192cfb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe17.tst000066400000000000000000000016771510423065500172470ustar00rootroot00000000000000description swipe with aes256cfb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256cfb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256cfb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe18.tst000066400000000000000000000016771510423065500172500ustar00rootroot00000000000000description swipe with aes128ecb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128ecb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128ecb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe19.tst000066400000000000000000000016771510423065500172510ustar00rootroot00000000000000description swipe with aes192ecb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192ecb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192ecb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe20.tst000066400000000000000000000016771510423065500172410ustar00rootroot00000000000000description swipe with aes256ecb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256ecb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256ecb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe21.tst000066400000000000000000000016661510423065500172400ustar00rootroot00000000000000description swipe with sha224 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha224 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha224 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe22.tst000066400000000000000000000016661510423065500172410ustar00rootroot00000000000000description swipe with sha384 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha384 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha384 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe23.tst000066400000000000000000000016711510423065500172360ustar00rootroot00000000000000description swipe with sha3224 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha3224 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha3224 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe24.tst000066400000000000000000000016711510423065500172370ustar00rootroot00000000000000description swipe with sha3256 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha3256 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha3256 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe25.tst000066400000000000000000000016711510423065500172400ustar00rootroot00000000000000description swipe with sha3384 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha3384 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha3384 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe26.tst000066400000000000000000000016711510423065500172410ustar00rootroot00000000000000description swipe with sha3512 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash sha3512 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash sha3512 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe27.tst000066400000000000000000000016731510423065500172440ustar00rootroot00000000000000description swipe with none encryption addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher none hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher none hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe28.tst000066400000000000000000000016651510423065500172460ustar00rootroot00000000000000description swipe with none hash addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher des hash none key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher des hash none key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe29.tst000066400000000000000000000016551510423065500172460ustar00rootroot00000000000000description swipe with rc2 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher rc2 hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher rc2 hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe30.tst000066400000000000000000000016771510423065500172420ustar00rootroot00000000000000description swipe with aes128ctr addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128ctr hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128ctr hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe31.tst000066400000000000000000000016771510423065500172430ustar00rootroot00000000000000description swipe with aes192ctr addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192ctr hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192ctr hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe32.tst000066400000000000000000000016771510423065500172440ustar00rootroot00000000000000description swipe with aes256ctr addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256ctr hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256ctr hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe33.tst000066400000000000000000000016771510423065500172450ustar00rootroot00000000000000description swipe with aes128ofb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128ofb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128ofb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe34.tst000066400000000000000000000016771510423065500172460ustar00rootroot00000000000000description swipe with aes192ofb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192ofb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192ofb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe35.tst000066400000000000000000000016771510423065500172470ustar00rootroot00000000000000description swipe with aes256ofb addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256ofb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256ofb hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe36.tst000066400000000000000000000017021510423065500172350ustar00rootroot00000000000000description swipe with aes128pcbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes128pcbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes128pcbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe37.tst000066400000000000000000000017021510423065500172360ustar00rootroot00000000000000description swipe with aes192pcbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes192pcbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes192pcbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-swipe38.tst000066400000000000000000000017021510423065500172370ustar00rootroot00000000000000description swipe with aes256pcbc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips cipher aes256pcbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips cipher aes256pcbc hash md5 key tester exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode swipe tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 2.2.2.1 vrf v1 r1 tping 100 5 4321::2 vrf v1 r2 tping 100 5 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-tls01.tst000066400000000000000000000020751510423065500167040ustar00rootroot00000000000000description tls with everything addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 crypto certificate dsa generate dsa dsa crypto certificate rsa generate rsa rsa crypto certificate ecdsa generate ecdsa ecdsa crypto certificate mldsa generate mldsa mldsa server telnet tel security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa security rsacert rsa security dsacert dsa security ecdsacert ecdsa security mldsacert mldsa security protocol tls vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 tls r2 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/crypt-tls02.tst000066400000000000000000000021471510423065500167050ustar00rootroot00000000000000description tls version 1.0 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 crypto certificate dsa generate dsa dsa crypto certificate rsa generate rsa rsa crypto certificate ecdsa generate ecdsa ecdsa crypto certificate mldsa generate mldsa mldsa server telnet tel security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa security rsacert rsa security dsacert dsa security ecdsacert ecdsa security mldsacert mldsa security protocol tls vrf v1 port 666 exit client tls-version 1 1 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit client tls-version 1 1 ! r1 tping 100 5 1.1.1.2 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 tls r2 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/crypt-tls03.tst000066400000000000000000000021471510423065500167060ustar00rootroot00000000000000description tls version 1.1 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 crypto certificate dsa generate dsa dsa crypto certificate rsa generate rsa rsa crypto certificate ecdsa generate ecdsa ecdsa crypto certificate mldsa generate mldsa mldsa server telnet tel security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa security rsacert rsa security dsacert dsa security ecdsacert ecdsa security mldsacert mldsa security protocol tls vrf v1 port 666 exit client tls-version 2 2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit client tls-version 2 2 ! r1 tping 100 5 1.1.1.2 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 tls r2 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/crypt-tls04.tst000066400000000000000000000021471510423065500167070ustar00rootroot00000000000000description tls version 1.2 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 crypto certificate dsa generate dsa dsa crypto certificate rsa generate rsa rsa crypto certificate ecdsa generate ecdsa ecdsa crypto certificate mldsa generate mldsa mldsa server telnet tel security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa security rsacert rsa security dsacert dsa security ecdsacert ecdsa security mldsacert mldsa security protocol tls vrf v1 port 666 exit client tls-version 3 3 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit client tls-version 3 3 ! r1 tping 100 5 1.1.1.2 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 tls r2 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/crypt-tls05.tst000066400000000000000000000021471510423065500167100ustar00rootroot00000000000000description tls version 1.3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 crypto certificate dsa generate dsa dsa crypto certificate rsa generate rsa rsa crypto certificate ecdsa generate ecdsa ecdsa crypto certificate mldsa generate mldsa mldsa server telnet tel security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa security rsacert rsa security dsacert dsa security ecdsacert ecdsa security mldsacert mldsa security protocol tls vrf v1 port 666 exit client tls-version 4 4 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit client tls-version 4 4 ! r1 tping 100 5 1.1.1.2 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 tls r2 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/crypt-tls06.tst000066400000000000000000000012741510423065500167110ustar00rootroot00000000000000description tls with dsa addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto dsakey dsa generate 1024 crypto certificate dsa generate dsa dsa server telnet tel security dsakey dsa security dsacert dsa security protocol tls vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 tls r2 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/crypt-tls07.tst000066400000000000000000000012741510423065500167120ustar00rootroot00000000000000description tls with rsa addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto rsakey rsa generate 1024 crypto certificate rsa generate rsa rsa server telnet tel security rsakey rsa security rsacert rsa security protocol tls vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 tls r2 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/crypt-tls08.tst000066400000000000000000000013171510423065500167110ustar00rootroot00000000000000description tls with ecdsa addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ecdsakey ecdsa generate 256 crypto certificate ecdsa generate ecdsa ecdsa server telnet tel security ecdsakey ecdsa security ecdsacert ecdsa security protocol tls vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 tls r2 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/crypt-tls09.tst000066400000000000000000000013161510423065500167110ustar00rootroot00000000000000description tls with mldsa addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto mldsakey mldsa generate 44 crypto certificate mldsa generate mldsa mldsa server telnet tel security mldsakey mldsa security mldsacert mldsa security protocol tls vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 tls r2 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/crypt-wireguard01.tst000066400000000000000000000024301510423065500200660ustar00rootroot00000000000000description wireguard over ipv4 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips key EFw2rJEdqFGDgC80um3fwMmAafwqXno+PsbMHPZ0umM=M6vDV8QdiWDQppVKjKf8xjoKtyGAeRK/Ue48kwKI5Ss= exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode wireguard tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips key 6JhyvKPutQ9DNLupOPmDnQLRWtUWlUjI6PTJ/IZ9l1w=bQMmpCaGVyq9f+v48XGmfH5DMLytkqziID+rBH+qQic= exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode wireguard tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 r1 output show inter tun1 full output ../binTmp/crypt-wireguard.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/crypt-wireguard02.tst000066400000000000000000000020661510423065500200740ustar00rootroot00000000000000description wireguard over ipv6 addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips key EFw2rJEdqFGDgC80um3fwMmAafwqXno+PsbMHPZ0umM=M6vDV8QdiWDQppVKjKf8xjoKtyGAeRK/Ue48kwKI5Ss= exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode wireguard tunnel source ser1 tunnel destination 1234::2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips key 6JhyvKPutQ9DNLupOPmDnQLRWtUWlUjI6PTJ/IZ9l1w=bQMmpCaGVyq9f+v48XGmfH5DMLytkqziID+rBH+qQic= exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode wireguard tunnel source ser1 tunnel destination 1234::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-wireguard03.tst000066400000000000000000000033401510423065500200710ustar00rootroot00000000000000description wireguard over wireguard addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit crypto ipsec ips1 key EFw2rJEdqFGDgC80um3fwMmAafwqXno+PsbMHPZ0umM=M6vDV8QdiWDQppVKjKf8xjoKtyGAeRK/Ue48kwKI5Ss= exit crypto ipsec ips2 key EFw2rJEdqFGDgC80um3fwMmAafwqXno+PsbMHPZ0umM=M6vDV8QdiWDQppVKjKf8xjoKtyGAeRK/Ue48kwKI5Ss= exit int tun1 tunnel vrf v1 tunnel prot ips2 tunnel mode wireguard tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun2 tunnel vrf v1 tunnel prot ips1 tunnel mode wireguard tunnel source tun1 tunnel destination 2.2.2.2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 exit crypto ipsec ips1 key 6JhyvKPutQ9DNLupOPmDnQLRWtUWlUjI6PTJ/IZ9l1w=bQMmpCaGVyq9f+v48XGmfH5DMLytkqziID+rBH+qQic= exit crypto ipsec ips2 key 6JhyvKPutQ9DNLupOPmDnQLRWtUWlUjI6PTJ/IZ9l1w=bQMmpCaGVyq9f+v48XGmfH5DMLytkqziID+rBH+qQic= exit int tun1 tunnel vrf v1 tunnel prot ips2 tunnel mode wireguard tunnel source ethernet1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun2 tunnel vrf v1 tunnel prot ips1 tunnel mode wireguard tunnel source tun1 tunnel destination 2.2.2.1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 3.3.3.2 vrf v1 r2 tping 100 10 3.3.3.1 vrf v1 r1 tping 100 10 1234::2 vrf v1 r2 tping 100 10 1234::1 vrf v1 freeRtr-25.11.9/cfg/crypt-wireguard04.tst000066400000000000000000000024031510423065500200710ustar00rootroot00000000000000description wireguard over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.101 255.255.255.255 exit ipv4 route v1 1.1.1.102 255.255.255.255 1.1.1.2 crypto ipsec ips key EFw2rJEdqFGDgC80um3fwMmAafwqXno+PsbMHPZ0umM=M6vDV8QdiWDQppVKjKf8xjoKtyGAeRK/Ue48kwKI5Ss= exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode wireguard tunnel source lo0 tunnel destination 1.1.1.102 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 exit int lo0 vrf for v1 ipv4 addr 1.1.1.102 255.255.255.255 exit ipv4 route v1 1.1.1.101 255.255.255.255 1.1.1.1 crypto ipsec ips key 6JhyvKPutQ9DNLupOPmDnQLRWtUWlUjI6PTJ/IZ9l1w=bQMmpCaGVyq9f+v48XGmfH5DMLytkqziID+rBH+qQic= exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode wireguard tunnel source lo0 tunnel destination 1.1.1.101 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/crypt-wireguard05.tst000066400000000000000000000021561510423065500200770ustar00rootroot00000000000000description wireguard over asymmetric ports addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips key EFw2rJEdqFGDgC80um3fwMmAafwqXno+PsbMHPZ0umM=M6vDV8QdiWDQppVKjKf8xjoKtyGAeRK/Ue48kwKI5Ss= exit int tun1 tunnel vrf v1 tunnel prot ips tunnel key 1234 4321 tunnel mode wireguard tunnel source ser1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit crypto ipsec ips key 6JhyvKPutQ9DNLupOPmDnQLRWtUWlUjI6PTJ/IZ9l1w=bQMmpCaGVyq9f+v48XGmfH5DMLytkqziID+rBH+qQic= exit int tun1 tunnel vrf v1 tunnel prot ips tunnel key 4321 1234 tunnel mode wireguard tunnel source ser1 tunnel destination 1.1.1.1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 freeRtr-25.11.9/cfg/demo01.tst000066400000000000000000000015001510423065500156570ustar00rootroot00000000000000description empty demo network addrouter r1 int eth1 eth 0000.1111.0001 $1a$ $1b$ int eth2 eth 0000.1111.0002 $2a$ $2b$ ! int eth1 desc r2 e1 lldp ena exit int eth2 desc r3 e2 lldp ena exit ! addrouter r2 int eth1 eth 0000.2222.0001 $1b$ $1a$ int eth2 eth 0000.2222.0002 $3a$ $3b$ ! int eth1 desc r1 e1 lldp ena exit int eth2 desc r4 e2 lldp ena exit ! addrouter r3 int eth1 eth 0000.3333.0001 $4a$ $4b$ int eth2 eth 0000.3333.0002 $2b$ $2a$ ! int eth1 desc r4 e1 lldp ena exit int eth2 desc r1 e2 lldp ena exit ! addrouter r4 int eth1 eth 0000.4444.0001 $4b$ $4a$ int eth2 eth 0000.4444.0002 $3b$ $3a$ ! int eth1 desc r3 e1 lldp ena exit int eth2 desc r2 e2 lldp ena exit ! exit r1----e1----r2 | | | | e2 e2 | | | | r3----e1----r4 freeRtr-25.11.9/cfg/demo02.tst000066400000000000000000000046411510423065500156710ustar00rootroot00000000000000description addressed demo network addrouter r1 int eth1 eth 0000.1111.0001 $1a$ $1b$ int eth2 eth 0000.1111.0002 $2a$ $2b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit server telnet tel security protocol tel vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 desc r2 e1 lldp ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 desc r3 e2 lldp ena vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit client proxy p1 ! addrouter r2 int eth1 eth 0000.2222.0001 $1b$ $1a$ int eth2 eth 0000.2222.0002 $3a$ $3b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit server telnet tel security protocol tel vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 desc r1 e1 lldp ena vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 desc r4 e2 lldp ena vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit client proxy p1 ! addrouter r3 int eth1 eth 0000.3333.0001 $4a$ $4b$ int eth2 eth 0000.3333.0002 $2b$ $2a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit server telnet tel security protocol tel vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 desc r4 e1 lldp ena vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: exit int eth2 desc r1 e2 lldp ena vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit client proxy p1 ! addrouter r4 int eth1 eth 0000.4444.0001 $4b$ $4a$ int eth2 eth 0000.4444.0002 $3b$ $3a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit server telnet tel security protocol tel vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 desc r3 e1 lldp ena vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: exit int eth2 desc r2 e2 lldp ena vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit client proxy p1 ! exit r1----e1----r2 | | | | e2 e2 | | | | r3----e1----r4 freeRtr-25.11.9/cfg/intop1-bgp01.tst000066400000000000000000000022031510423065500167140ustar00rootroot00000000000000description interop1: ebgp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit router bgp 2 address-family ipv4 unicast neighbor 1.1.1.1 remote-as 1 redistribute connected address-family ipv6 unicast neighbor 1234::1 remote-as 1 redistribute connected exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-bgp02.tst000066400000000000000000000021471510423065500167240ustar00rootroot00000000000000description interop1: ibgp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit router bgp 1 address-family ipv4 unicast neighbor 1.1.1.1 remote-as 1 redistribute connected address-family ipv6 unicast neighbor 1234::1 remote-as 1 redistribute connected exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-bgp03.tst000066400000000000000000000033561510423065500167300ustar00rootroot00000000000000description interop1: bgp locpref addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match locpref 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface loopback1 ip addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3/128 exit interface loopback2 ip addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit route-map rm1 permit 10 match interface Loopback1 set local-preference 1234 exit route-map rm1 permit 20 set local-preference 4321 exit router bgp 1 address-family ipv4 unicast neighbor 1.1.1.1 remote-as 1 redistribute connected route-map rm1 address-family ipv6 unicast neighbor 1234::1 remote-as 1 redistribute connected route-map rm1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 r1 tping 0 120 2.2.2.3 vrf v1 sou lo0 r1 tping 0 120 4321::3 vrf v1 sou lo0 r1 tping 100 120 2.2.2.4 vrf v1 sou lo0 r1 tping 100 120 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-bgp04.tst000066400000000000000000000033321510423065500167230ustar00rootroot00000000000000description interop1: bgp origin addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match origin 2 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface loopback1 ip addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3/128 exit interface loopback2 ip addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit route-map rm1 permit 10 match interface Loopback1 set origin incomplete exit route-map rm1 permit 20 set origin igp exit router bgp 1 address-family ipv4 unicast neighbor 1.1.1.1 remote-as 1 redistribute connected route-map rm1 address-family ipv6 unicast neighbor 1234::1 remote-as 1 redistribute connected route-map rm1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 r1 tping 0 120 2.2.2.3 vrf v1 sou lo0 r1 tping 0 120 4321::3 vrf v1 sou lo0 r1 tping 100 120 2.2.2.4 vrf v1 sou lo0 r1 tping 100 120 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-bgp05.tst000066400000000000000000000033301510423065500167220ustar00rootroot00000000000000description interop1: bgp metric addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match metric 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface loopback1 ip addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3/128 exit interface loopback2 ip addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit route-map rm1 permit 10 match interface Loopback1 set metric 1234 exit route-map rm1 permit 20 set metric 4321 exit router bgp 1 address-family ipv4 unicast neighbor 1.1.1.1 remote-as 1 redistribute connected route-map rm1 address-family ipv6 unicast neighbor 1234::1 remote-as 1 redistribute connected route-map rm1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 r1 tping 0 120 2.2.2.3 vrf v1 sou lo0 r1 tping 0 120 4321::3 vrf v1 sou lo0 r1 tping 100 120 2.2.2.4 vrf v1 sou lo0 r1 tping 100 120 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-bgp06.tst000066400000000000000000000035731510423065500167340ustar00rootroot00000000000000description interop1: bgp community addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match stdcomm 1234:4321 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 neigh 1234::2 send-comm both red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface loopback1 ip addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3/128 exit interface loopback2 ip addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit route-map rm1 permit 10 match interface Loopback1 set community 1234:4321 exit route-map rm1 permit 20 set community 1234:1234 exit router bgp 1 address-family ipv4 unicast neighbor 1.1.1.1 remote-as 1 neighbor 1.1.1.1 send-community both redistribute connected route-map rm1 address-family ipv6 unicast neighbor 1234::1 remote-as 1 neighbor 1234::1 send-community both redistribute connected route-map rm1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 r1 tping 0 120 2.2.2.3 vrf v1 sou lo0 r1 tping 0 120 4321::3 vrf v1 sou lo0 r1 tping 100 120 2.2.2.4 vrf v1 sou lo0 r1 tping 100 120 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-bgp07.tst000066400000000000000000000040541510423065500167300ustar00rootroot00000000000000description interop1: bgp aspath addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match aspath .*1234.* sequence 20 act permit exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 route-map-in rm1 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface loopback1 ip addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3/128 exit interface loopback2 ip addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit ip prefix-list pl4 seq 5 permit 2.2.2.3/32 ipv6 prefix-list pl6 seq 5 permit 4321::3/128 route-map rm4 permit 10 match ip address prefix-list pl4 set as-path prepend 1234 exit route-map rm4 permit 20 set as-path prepend 4321 exit route-map rm6 permit 10 match ipv6 address prefix-list pl6 set as-path prepend 1234 exit route-map rm6 permit 20 set as-path prepend 4321 exit router bgp 2 address-family ipv4 unicast neighbor 1.1.1.1 remote-as 1 neighbor 1.1.1.1 route-map rm4 out redistribute connected address-family ipv6 unicast neighbor 1234::1 remote-as 1 neighbor 1234::1 route-map rm6 out redistribute connected exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 r1 tping 0 120 2.2.2.3 vrf v1 sou lo0 r1 tping 0 120 4321::3 vrf v1 sou lo0 r1 tping 100 120 2.2.2.4 vrf v1 sou lo0 r1 tping 100 120 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-bgp08.tst000066400000000000000000000063711510423065500167350ustar00rootroot00000000000000description interop1: bgp with labels addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234:1::2/64 mpls bgp forwarding no shutdown exit interface gigabit2 ip address 1.1.2.2 255.255.255.0 ipv6 address 1234:2::2/64 mpls bgp forwarding no shutdown exit router bgp 2 address-family ipv4 unicast neighbor 1.1.1.1 remote-as 1 neighbor 1.1.1.1 send-label explicit-null neighbor 1.1.2.1 remote-as 3 neighbor 1.1.2.1 send-label explicit-null redistribute connected address-family ipv6 unicast neighbor 1234:1::1 remote-as 1 neighbor 1234:1::1 send-label neighbor 1234:2::1 remote-as 3 neighbor 1234:2::1 send-label redistribute connected exit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 4.4.4.3 neigh 1.1.2.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 6.6.6.3 neigh 1234:2::2 remote-as 2 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit ! r1 tping 0 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 !r1 tping 100 120 4321::2 vrf v1 sou lo0 r3 tping 100 120 2.2.2.2 vrf v1 sou lo0 !r3 tping 100 120 4321::2 vrf v1 sou lo0 r1 tping 100 120 2.2.2.3 vrf v1 sou lo0 !r1 tping 100 120 4321::3 vrf v1 sou lo0 r3 tping 100 120 2.2.2.1 vrf v1 sou lo0 !r3 tping 100 120 4321::1 vrf v1 sou lo0 r1 tping 100 120 3.3.3.2 vrf v1 r3 tping 100 120 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/intop1-bgp09.tst000066400000000000000000000025161510423065500167330ustar00rootroot00000000000000description interop1: bgp addpath addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 additional-path-tx uni neigh 1.1.1.2 additional-path-rx uni red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 additional-path-tx uni neigh 1234::2 additional-path-rx uni red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit router bgp 1 address-family ipv4 unicast bgp additional-paths send receive neighbor 1.1.1.1 remote-as 1 redistribute connected address-family ipv6 unicast bgp additional-paths send receive neighbor 1234::1 remote-as 1 redistribute connected exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-bgp10.tst000066400000000000000000000030101510423065500167110ustar00rootroot00000000000000description interop1: bgp prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit router bgp 1 address-family ipv4 unicast neighbor 1.1.1.1 remote-as 1 redistribute connected address-family ipv6 unicast neighbor 1234::1 remote-as 1 redistribute connected exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router bgp4 1 r1 send no red conn r1 send exit r1 send router bgp6 1 r1 send no red conn r1 send end r1 tping 0 120 2.2.2.2 vrf v1 sou lo0 r1 tping 0 120 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router bgp4 1 r1 send red conn r1 send exit r1 send router bgp6 1 r1 send red conn r1 send end r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-bgp11.tst000066400000000000000000000056331510423065500167270ustar00rootroot00000000000000description interop1: bgp vpnv4 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing mpls ldp explicit-null vrf definition v2 rd 1:2 route-target export 1:2 route-target import 1:2 address-family ipv4 address-family ipv6 exit vrf definition v3 rd 1:3 route-target export 1:3 route-target import 1:3 address-family ipv4 address-family ipv6 exit interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface loopback2 vrf forwarding v2 ip address 9.9.2.2 255.255.255.255 ipv6 address 9992::2/128 exit interface loopback3 vrf forwarding v3 ip address 9.9.3.2 255.255.255.255 ipv6 address 9993::2/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 mpls ip no shutdown exit ip route 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route 4321::1/128 1234::1 router bgp 1 neighbor 2.2.2.1 remote-as 1 neighbor 2.2.2.1 update-source loopback0 neighbor 4321::1 remote-as 1 neighbor 4321::1 update-source loopback0 neighbor 4321::1 shutdown address-family vpnv4 unicast neighbor 2.2.2.1 activate neighbor 2.2.2.1 send-community both address-family vpnv6 unicast neighbor 4321::1 activate neighbor 4321::1 send-community both address-family ipv4 vrf v2 redistribute connected address-family ipv6 vrf v2 redistribute connected address-family ipv4 vrf v3 redistribute connected address-family ipv6 vrf v3 redistribute connected exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 r1 tping 100 120 9.9.2.2 vrf v2 !r1 tping 100 120 9992::2 vrf v2 r1 tping 100 120 9.9.3.2 vrf v3 !r1 tping 100 120 9993::2 vrf v3 freeRtr-25.11.9/cfg/intop1-bgp12.tst000066400000000000000000000023711510423065500167240ustar00rootroot00000000000000description interop1: bgp authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 password tester red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 password tester red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit router bgp 1 address-family ipv4 unicast neighbor 1.1.1.1 remote-as 1 neighbor 1.1.1.1 password tester redistribute connected address-family ipv6 unicast neighbor 1234::1 remote-as 1 neighbor 1234::1 password tester redistribute connected exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-bgp13.tst000066400000000000000000000056451510423065500167340ustar00rootroot00000000000000description interop1: bgp vpnv6 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing mpls ldp explicit-null vrf definition v2 rd 1:2 route-target export 1:2 route-target import 1:2 address-family ipv4 address-family ipv6 exit vrf definition v3 rd 1:3 route-target export 1:3 route-target import 1:3 address-family ipv4 address-family ipv6 exit interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface loopback2 vrf forwarding v2 ip address 9.9.2.2 255.255.255.255 ipv6 address 9992::2/128 exit interface loopback3 vrf forwarding v3 ip address 9.9.3.2 255.255.255.255 ipv6 address 9993::2/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 mpls ip no shutdown exit ip route 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route 4321::1/128 1234::1 router bgp 1 neighbor 2.2.2.1 remote-as 1 neighbor 2.2.2.1 update-source loopback0 neighbor 4321::1 remote-as 1 neighbor 4321::1 update-source loopback0 neighbor 4321::1 shutdown address-family vpnv4 unicast neighbor 4321::1 activate neighbor 4321::1 send-community both address-family vpnv6 unicast neighbor 2.2.2.1 activate neighbor 2.2.2.1 send-community both address-family ipv4 vrf v2 redistribute connected address-family ipv6 vrf v2 redistribute connected address-family ipv4 vrf v3 redistribute connected address-family ipv6 vrf v3 redistribute connected exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 !r1 tping 100 120 9.9.2.2 vrf v2 r1 tping 100 120 9992::2 vrf v2 !r1 tping 100 120 9.9.3.2 vrf v3 r1 tping 100 120 9993::2 vrf v3 freeRtr-25.11.9/cfg/intop1-bgp14.tst000066400000000000000000000043551510423065500167320ustar00rootroot00000000000000description interop1: vpls/ldp over bgp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing mpls ldp explicit-null interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 mpls ip no shutdown exit ip route 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route 4321::1/128 1234::1 router bgp 1 neighbor 2.2.2.1 remote-as 1 neighbor 2.2.2.1 update-source loopback0 neighbor 4321::1 remote-as 1 neighbor 4321::1 update-source loopback0 neighbor 4321::1 shutdown address-family l2vpn vpls neighbor 2.2.2.1 activate neighbor 2.2.2.1 send-community both neighbor 2.2.2.1 prefix-length-size 2 neighbor 4321::1 activate neighbor 4321::1 send-community both neighbor 4321::1 prefix-length-size 2 exit l2vpn vfi context a vpn id 1 autodiscovery bgp signaling ldp vpls-id 1:1 rd 1:1 route-target export 1:1 route-target import 1:1 exit bridge-domain 1 member vfi a exit interface bdi1 ip address 3.3.3.2 255.255.255.252 ipv6 address 4444::2/64 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 r1 tping 100 120 3.3.3.2 vrf v1 r1 tping 100 120 4444::2 vrf v1 freeRtr-25.11.9/cfg/intop1-bgp15.tst000066400000000000000000000045501510423065500167300ustar00rootroot00000000000000description interop1: vpls/bgp over bgp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing mpls ldp explicit-null interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 mpls ip no shutdown exit ip route 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route 4321::1/128 1234::1 router bgp 1 neighbor 2.2.2.1 remote-as 1 neighbor 2.2.2.1 update-source loopback0 neighbor 4321::1 remote-as 1 neighbor 4321::1 update-source loopback0 neighbor 4321::1 shutdown address-family l2vpn vpls neighbor 2.2.2.1 activate neighbor 2.2.2.1 send-community both neighbor 2.2.2.1 prefix-length-size 2 neighbor 2.2.2.1 suppress-signaling-protocol ldp neighbor 4321::1 activate neighbor 4321::1 send-community both neighbor 4321::1 prefix-length-size 2 neighbor 4321::1 suppress-signaling-protocol ldp exit l2vpn vfi context a vpn id 1 autodiscovery bgp signaling bgp ve id 2 rd 1:1 route-target export 1:1 route-target import 1:1 exit bridge-domain 1 member vfi a exit interface bdi1 ip address 3.3.3.2 255.255.255.252 ipv6 address 4444::2/64 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 r1 tping 100 120 3.3.3.2 vrf v1 r1 tping 100 120 4444::2 vrf v1 freeRtr-25.11.9/cfg/intop1-bgp16.tst000066400000000000000000000036371510423065500167360ustar00rootroot00000000000000description interop1: bgp extended community addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match extcomm 17153:33036:1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 neigh 1234::2 send-comm both red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface loopback1 ip addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3/128 exit interface loopback2 ip addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit route-map rm1 permit 10 match interface Loopback1 set extcommunity cost igp 12 1234 exit route-map rm1 permit 20 set extcommunity cost igp 23 4321 exit router bgp 1 address-family ipv4 unicast neighbor 1.1.1.1 remote-as 1 neighbor 1.1.1.1 send-community both redistribute connected route-map rm1 address-family ipv6 unicast neighbor 1234::1 remote-as 1 neighbor 1234::1 send-community both redistribute connected route-map rm1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 r1 tping 0 120 2.2.2.3 vrf v1 sou lo0 r1 tping 0 120 4321::3 vrf v1 sou lo0 r1 tping 100 120 2.2.2.4 vrf v1 sou lo0 r1 tping 100 120 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-bgp17.tst000066400000000000000000000051131510423065500167260ustar00rootroot00000000000000description interop1: evpn/cmac over bgp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 10 bridge 1 afi-evpn 10 encap cmac afi-evpn 10 update lo0 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing mpls ldp explicit-null interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 mpls ip no shutdown exit interface gigabit2 no shutdown service instance 10 ethernet encapsulation dot1q 10 rewrite ingress tag pop 1 symmetric exit ip route 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route 4321::1/128 1234::1 router bgp 1 neighbor 2.2.2.1 remote-as 1 neighbor 2.2.2.1 update-source loopback0 neighbor 4321::1 remote-as 1 neighbor 4321::1 update-source loopback0 neighbor 4321::1 shutdown address-family l2vpn evpn neighbor 2.2.2.1 activate neighbor 2.2.2.1 send-community both neighbor 4321::1 activate neighbor 4321::1 send-community both exit l2vpn evpn replication-type ingress router-id Loopback0 exit l2vpn evpn instance 10 vlan-aware rd 1:1 route-target export 1:1 route-target import 1:1 exit bridge-domain 10 member gigabit2 service-instance 10 member evpn-instance 10 ethernet-tag 10 exit ! addrouter r3 int eth1 eth 0000.0000.1111 $per2$ ! vrf def v1 rd 1:1 exit int eth1.10 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 r3 tping 100 120 3.3.3.1 vrf v1 r3 tping 100 120 4444::1 vrf v1 r1 tping 100 120 3.3.3.2 vrf v1 r1 tping 100 120 4444::2 vrf v1 freeRtr-25.11.9/cfg/intop1-bgp18.tst000066400000000000000000000022321510423065500167260ustar00rootroot00000000000000description interop1: bgp 6pe addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 mpls enable mpls ldp4 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-other ena afi-other red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing mpls ldp explicit-null interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 mpls ip no shutdown exit ip route 2.2.2.1 255.255.255.255 1.1.1.1 router bgp 1 neighbor 2.2.2.1 remote-as 1 neighbor 2.2.2.1 update-source loopback0 address-family ipv6 unicast neighbor 2.2.2.1 activate neighbor 2.2.2.1 send-community both neighbor 2.2.2.1 send-label red conn exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 4321::2 vrf v1 freeRtr-25.11.9/cfg/intop1-bgp19.tst000066400000000000000000000034001510423065500167250ustar00rootroot00000000000000description interop1: bgp aigp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match aigp 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface loopback1 ip addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3/128 exit interface loopback2 ip addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit route-map rm1 permit 10 match interface Loopback1 set aigp 1234 exit route-map rm1 permit 20 set aigp 4321 exit router bgp 1 address-family ipv4 unicast neighbor 1.1.1.1 remote-as 1 neighbor 1.1.1.1 aigp redistribute connected route-map rm1 address-family ipv6 unicast neighbor 1234::1 remote-as 1 neighbor 1234::1 aigp redistribute connected route-map rm1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 r1 tping 0 120 2.2.2.3 vrf v1 sou lo0 r1 tping 0 120 4321::3 vrf v1 sou lo0 r1 tping 100 120 2.2.2.4 vrf v1 sou lo0 r1 tping 100 120 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-bgp20.tst000066400000000000000000000064711510423065500167300ustar00rootroot00000000000000description interop1: bgp with php labels addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 label-pop red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 label-pop red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234:1::2/64 mpls bgp forwarding no shutdown exit interface gigabit2 ip address 1.1.2.2 255.255.255.0 ipv6 address 1234:2::2/64 mpls bgp forwarding no shutdown exit router bgp 2 address-family ipv4 unicast neighbor 1.1.1.1 remote-as 1 neighbor 1.1.1.1 send-label neighbor 1.1.2.1 remote-as 3 neighbor 1.1.2.1 send-label redistribute connected address-family ipv6 unicast neighbor 1234:1::1 remote-as 1 neighbor 1234:1::1 send-label neighbor 1234:2::1 remote-as 3 neighbor 1234:2::1 send-label redistribute connected exit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 4.4.4.3 neigh 1.1.2.2 remote-as 2 neigh 1.1.2.2 label-pop red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 6.6.6.3 neigh 1234:2::2 remote-as 2 neigh 1234:2::2 label-pop red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit ! r1 tping 0 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r1 tping 0 120 2.2.2.2 vrf v1 sou lo0 !r1 tping 0 120 4321::2 vrf v1 sou lo0 r3 tping 0 120 2.2.2.2 vrf v1 sou lo0 !r3 tping 0 120 4321::2 vrf v1 sou lo0 r1 tping 0 120 2.2.2.3 vrf v1 sou lo0 !r1 tping 0 120 4321::3 vrf v1 sou lo0 r3 tping 0 120 2.2.2.1 vrf v1 sou lo0 !r3 tping 0 120 4321::1 vrf v1 sou lo0 r1 tping 100 120 3.3.3.2 vrf v1 r3 tping 100 120 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/intop1-bgp21.tst000066400000000000000000000036201510423065500167220ustar00rootroot00000000000000description interop1: bgp large community addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match lrgcomm 12:34:1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 neigh 1234::2 send-comm both red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface loopback1 ip addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3/128 exit interface loopback2 ip addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit route-map rm1 permit 10 match interface Loopback1 set large-community 12:34:1234 exit route-map rm1 permit 20 set large-community 12:34:4321 exit router bgp 1 address-family ipv4 unicast neighbor 1.1.1.1 remote-as 1 neighbor 1.1.1.1 send-community both redistribute connected route-map rm1 address-family ipv6 unicast neighbor 1234::1 remote-as 1 neighbor 1234::1 send-community both redistribute connected route-map rm1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 r1 tping 0 120 2.2.2.3 vrf v1 sou lo0 r1 tping 0 120 4321::3 vrf v1 sou lo0 r1 tping 100 120 2.2.2.4 vrf v1 sou lo0 r1 tping 100 120 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-bgp22.tst000066400000000000000000000044061510423065500167260ustar00rootroot00000000000000description interop1: vpls/ldp cw over bgp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 control afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing mpls ldp explicit-null interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 mpls ip no shutdown exit ip route 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route 4321::1/128 1234::1 router bgp 1 neighbor 2.2.2.1 remote-as 1 neighbor 2.2.2.1 update-source loopback0 neighbor 4321::1 remote-as 1 neighbor 4321::1 update-source loopback0 neighbor 4321::1 shutdown address-family l2vpn vpls neighbor 2.2.2.1 activate neighbor 2.2.2.1 send-community both neighbor 2.2.2.1 prefix-length-size 2 neighbor 4321::1 activate neighbor 4321::1 send-community both neighbor 4321::1 prefix-length-size 2 exit l2vpn vfi context a vpn id 1 autodiscovery bgp signaling ldp vpls-id 1:1 rd 1:1 route-target export 1:1 route-target import 1:1 exit bridge-domain 1 member vfi a exit interface bdi1 ip address 3.3.3.2 255.255.255.252 ipv6 address 4444::2/64 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 r1 tping 100 120 3.3.3.2 vrf v1 r1 tping 100 120 4444::2 vrf v1 freeRtr-25.11.9/cfg/intop1-bgp23.tst000066400000000000000000000031041510423065500167210ustar00rootroot00000000000000description interop1: bgp ao authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 connection pass neigh 1.1.1.2 authen-type sha1 1 neigh 1.1.1.2 password tester red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 connection pass neigh 1234::2 authen-type sha1 1 neigh 1234::2 password tester red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit key chain kc tcp key 1 send-id 1 recv-id 1 include-tcp-options cryptographic-algorithm hmac-sha-1 key-string tester send-lifetime 00:00:00 Jul 9 2022 infinite exit router bgp 1 address-family ipv4 unicast neighbor 1.1.1.1 remote-as 1 neighbor 1.1.1.1 ao kc include-tcp-options redistribute connected address-family ipv6 unicast neighbor 1234::1 remote-as 1 neighbor 1234::1 ao kc include-tcp-options redistribute connected exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-bgp24.tst000066400000000000000000000070761510423065500167360ustar00rootroot00000000000000description interop1: bgp vpnv4 over srv6 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 2222:: ffff:ffff:: tun sour eth1 tun dest 2222:: tun vrf v1 tun mod srv6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 1111:: ffff:: 1234::2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 segrou afi-ovrf v2 ena afi-ovrf v2 srv6 tun1 afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 srv6 tun1 afi-ovrf v3 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 send-comm both neigh 1234::2 segrou neigh 1234::2 extended-nexthop-current ovpnuni afi-ovrf v2 ena afi-ovrf v2 srv6 tun1 afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 srv6 tun1 afi-ovrf v3 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing vrf definition v2 rd 1:2 route-target export 1:2 route-target import 1:2 address-family ipv4 address-family ipv6 exit vrf definition v3 rd 1:3 route-target export 1:3 route-target import 1:3 address-family ipv4 address-family ipv6 exit interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface loopback2 vrf forwarding v2 ip address 9.9.2.2 255.255.255.255 ipv6 address 9992::2/128 exit interface loopback3 vrf forwarding v3 ip address 9.9.3.2 255.255.255.255 ipv6 address 9993::2/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit segment-routing srv6 encapsulation source-address 4321::2 locators locator a prefix 1111:1111:1111::/48 format usid-f3216 ip route 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route 2222::/48 1234::1 ipv6 route 4321::1/128 1234::1 router bgp 2 neighbor 1234::1 remote-as 1 neighbor 1234::1 disable-connected-check segment-routing srv6 locator a address-family vpnv4 unicast neighbor 1234::1 activate neighbor 1234::1 send-community both neighbor 1234::1 encap srv6 segment-routing srv6 locator a address-family vpnv6 unicast neighbor 1234::1 activate neighbor 1234::1 send-community both neighbor 1234::1 encap srv6 segment-routing srv6 locator a address-family ipv4 vrf v2 redistribute connected segment-routing srv6 locator a alloc-mode per-vrf address-family ipv6 vrf v2 redistribute connected segment-routing srv6 locator a alloc-mode per-vrf address-family ipv4 vrf v3 redistribute connected segment-routing srv6 locator a alloc-mode per-vrf address-family ipv6 vrf v3 redistribute connected segment-routing srv6 locator a alloc-mode per-vrf exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 r1 tping 100 120 9.9.2.2 vrf v2 !r1 tping 100 120 9992::2 vrf v2 r1 tping 100 120 9.9.3.2 vrf v3 !r1 tping 100 120 9993::2 vrf v3 freeRtr-25.11.9/cfg/intop1-bgp25.tst000066400000000000000000000070001510423065500167220ustar00rootroot00000000000000description interop1: bgp vpnv6 over srv6 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 2222:: ffff:ffff:: tun sour eth1 tun dest 2222:: tun vrf v1 tun mod srv6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 1111:: ffff:: 1234::2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 segrou afi-vrf v2 ena afi-vrf v2 srv6 tun1 afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 srv6 tun1 afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 send-comm both neigh 1234::2 segrou afi-vrf v2 ena afi-vrf v2 srv6 tun1 afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 srv6 tun1 afi-vrf v3 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing vrf definition v2 rd 1:2 route-target export 1:2 route-target import 1:2 address-family ipv4 address-family ipv6 exit vrf definition v3 rd 1:3 route-target export 1:3 route-target import 1:3 address-family ipv4 address-family ipv6 exit interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface loopback2 vrf forwarding v2 ip address 9.9.2.2 255.255.255.255 ipv6 address 9992::2/128 exit interface loopback3 vrf forwarding v3 ip address 9.9.3.2 255.255.255.255 ipv6 address 9993::2/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit segment-routing srv6 encapsulation source-address 4321::2 locators locator a prefix 1111:1111:1111::/48 format usid-f3216 ip route 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route 2222::/48 1234::1 ipv6 route 4321::1/128 1234::1 router bgp 2 neighbor 1234::1 remote-as 1 neighbor 1234::1 disable-connected-check segment-routing srv6 locator a address-family vpnv4 unicast neighbor 1234::1 activate neighbor 1234::1 send-community both neighbor 1234::1 encap srv6 segment-routing srv6 locator a address-family vpnv6 unicast neighbor 1234::1 activate neighbor 1234::1 send-community both neighbor 1234::1 encap srv6 segment-routing srv6 locator a address-family ipv4 vrf v2 redistribute connected segment-routing srv6 locator a alloc-mode per-vrf address-family ipv6 vrf v2 redistribute connected segment-routing srv6 locator a alloc-mode per-vrf address-family ipv4 vrf v3 redistribute connected segment-routing srv6 locator a alloc-mode per-vrf address-family ipv6 vrf v3 redistribute connected segment-routing srv6 locator a alloc-mode per-vrf exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 !r1 tping 100 120 9.9.2.2 vrf v2 r1 tping 100 120 9992::2 vrf v2 !r1 tping 100 120 9.9.3.2 vrf v3 r1 tping 100 120 9993::2 vrf v3 freeRtr-25.11.9/cfg/intop1-dhcp01.tst000066400000000000000000000015671510423065500170760ustar00rootroot00000000000000description interop1: dhcp server addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit server dhcp4 dh pool 1.1.1.11 1.1.1.99 gateway 1.1.1.1 netmask 255.255.255.0 interface ethernet1 static 0000.0000.1100 1.1.1.2 vrf v1 exit server dhcp6 dh netmask ffff:ffff:ffff:ffff:: gateway 1234::1 static 0000.0000.1100 1234::2 interface ethernet1 vrf v1 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loop0 ipv6 address fe80::1 link-local ipv6 enable ipv6 address prefix ::/128 exit interface gigabit1 ip address dhcp ipv6 address fe80::1 link-local ipv6 enable ipv6 dhcp client pd hint 1234::2/64 ipv6 dhcp client pd prefix no shutdown exit ! r1 tping 100 30 1.1.1.2 vrf v1 !r1 tping 100 30 1234::2 vrf v1 freeRtr-25.11.9/cfg/intop1-dhcp02.tst000066400000000000000000000016411510423065500170700ustar00rootroot00000000000000description interop1: dhcp client addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit prefix-list p4 permit 0.0.0.0/0 exit prefix-list p6 permit ::/0 exit int eth1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.128 ipv4 dhcp-client enable ipv4 dhcp-client early ipv4 gateway-prefix p4 ipv6 addr 3333::3 ffff:: ipv6 dhcp-client enable ipv6 dhcp-client prefix ipv6 gateway-prefix p6 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing ipv6 local pool dhcpv6 1234:1234:1234::/40 48 ipv6 dhcp pool dhcpv6 prefix-delegation pool dhcpv6 lifetime 1800 1800 exit interface loop0 ipv6 address 4321::1/128 exit interface gigabit1 ip address 1.1.1.1 255.255.255.0 ipv6 enable ipv6 dhcp server dhcpv6 no shutdown exit ip dhcp pool p1 network 1.1.1.0 255.255.255.0 default-router 1.1.1.1 exit ! r1 tping 100 30 1.1.1.1 vrf v1 r1 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/intop1-dns.tst000066400000000000000000000031051510423065500165710ustar00rootroot00000000000000description interop1: dns addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit server dns dns zone test.corp defttl 43200 rr ip4.test.corp ip4a 2.2.2.2 rr ip6.test.corp ip6a 1234::1 vrf v1 exit int lo1 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 exit server tel tel vrf v1 security protocol tel exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit interface gigabit2 ip address 2.2.2.1 255.255.255.0 ipv6 address 4321::1/64 no shutdown exit ip name-server 1.1.1.1 ip domain lookup line vty 0 4 transport input all transport output all no motd-banner no exec-banner no vacant-message no login exit ! addrouter r3 int eth1 eth 0000.0000.1111 $per2$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit int lo1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.255 exit server tel tel vrf v1 security protocol tel exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 r3 tping 100 10 4321::1 vrf v1 r1 send telnet 1.1.1.2 vrf v1 telnet sleep 3000 r1 char 13 r1 read vxe# r1 send telnet ip4.test.corp /ipv4 sleep 3000 r1 tping 100 10 3.3.3.3 vrf v1 r3 send telnet 2.2.2.1 vrf v1 telnet sleep 3000 r3 char 13 r3 read vxe# r3 send telnet ip6.test.corp /ipv6 sleep 3000 r3 tping 100 10 4.4.4.4 vrf v1 freeRtr-25.11.9/cfg/intop1-eigrp01.tst000066400000000000000000000017111510423065500172550ustar00rootroot00000000000000description interop1: eigrp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router eigrp4 1 ena router eigrp6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router eigrp 1 network 1.0.0.0 redistribute connected exit ipv6 router eigrp 1 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ipv6 eigrp 1 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 !r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-eigrp02.tst000066400000000000000000000025611510423065500172620ustar00rootroot00000000000000description interop1: eigrp prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router eigrp4 1 ena router eigrp6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router eigrp 1 network 1.0.0.0 redistribute connected exit ipv6 router eigrp 1 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ipv6 eigrp 1 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 !r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router eigrp4 1 r1 send no red conn r1 send exit r1 send router eigrp6 1 r1 send no red conn r1 send end r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 !r1 tping 0 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router eigrp4 1 r1 send red conn r1 send exit r1 send router eigrp6 1 r1 send red conn r1 send end r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 !r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-eth01.tst000066400000000000000000000007101510423065500167250ustar00rootroot00000000000000description interop1: ethernet encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 freeRtr-25.11.9/cfg/intop1-eth02.tst000066400000000000000000000007771510423065500167430ustar00rootroot00000000000000description interop1: dot1q encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1.123 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 no shutdown exit interface gigabit1.123 encapsulation dot1q 123 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 freeRtr-25.11.9/cfg/intop1-eth03.tst000066400000000000000000000013151510423065500167310ustar00rootroot00000000000000description interop1: spantree nonroot exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit bridge 1 stp-priority 40960 stp-mode ieee mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing bridge irb bridge 1 protocol ieee bridge 1 route ip interface gigabit1 bridge-group 1 no shutdown exit interface gigabit2 bridge-group 1 no shutdown exit interface bvi1 ip address 1.1.1.2 255.255.255.0 no shutdown exit ! r1 tping 100 60 1.1.1.2 vrf v1 freeRtr-25.11.9/cfg/intop1-eth04.tst000066400000000000000000000013111510423065500167260ustar00rootroot00000000000000description interop1: spantree root exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit bridge 1 stp-priority 4096 stp-mode ieee mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing bridge irb bridge 1 protocol ieee bridge 1 route ip interface gigabit1 bridge-group 1 no shutdown exit interface gigabit2 bridge-group 1 no shutdown exit interface bvi1 ip address 1.1.1.2 255.255.255.0 no shutdown exit ! r1 tping 100 60 1.1.1.2 vrf v1 freeRtr-25.11.9/cfg/intop1-eth05.tst000066400000000000000000000007721510423065500167410ustar00rootroot00000000000000description interop1: point2point ethernet encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.254 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.3 255.255.255.254 ipv6 address 1234::3/127 no shutdown exit ! r1 tping 100 10 1.1.1.3 vrf v1 r1 tping 100 10 1234::3 vrf v1 freeRtr-25.11.9/cfg/intop1-eth06.tst000066400000000000000000000010551510423065500167350ustar00rootroot00000000000000description interop1: lacp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 lacp 0000.0000.1111 123 12345 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface port-channel1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit interface gigabit1 lacp rate fast channel-group 1 mode active no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 freeRtr-25.11.9/cfg/intop1-eth07.tst000066400000000000000000000012451510423065500167370ustar00rootroot00000000000000description interop1: fragmentation and reassembly addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 mtu 1500 enforce-mtu both vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 reassembly 16 ipv4 fragmentation 1400 ipv6 reassembly 16 ipv6 fragmentation 1400 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit ! r1 tping 100 30 1.1.1.2 vrf v1 siz 222 r1 tping 100 30 1234::2 vrf v1 siz 222 r1 tping 100 30 1.1.1.2 vrf v1 siz 2222 r1 tping 100 30 1234::2 vrf v1 siz 2222 freeRtr-25.11.9/cfg/intop1-eth08.tst000066400000000000000000000007511510423065500167410ustar00rootroot00000000000000description interop1: sgt encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: sgt ena exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 cts manual propagate sgt no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 !r1 tping 100 10 1234::2 vrf v1 freeRtr-25.11.9/cfg/intop1-eth09.tst000066400000000000000000000007371510423065500167460ustar00rootroot00000000000000description interop1: verify source addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 verify rx ipv6 verify rx exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 freeRtr-25.11.9/cfg/intop1-eth10.tst000066400000000000000000000010541510423065500167270ustar00rootroot00000000000000description interop1: qinq encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1.123 exit int eth1.123.1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 no shutdown exit interface gigabit1.1231234 encapsulation dot1q 123 second-dot1q 1234 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike101.tst000066400000000000000000000024431510423065500170030ustar00rootroot00000000000000description interop1: ike1 with ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 01 cipher des hash md5 seconds 3600 bytes 67108864 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto isakmp policy 10 encryption des hash md5 authentication pre-share group 1 lifetime 3600 exit crypto isakmp key tester address 1.1.1.1 crypto ipsec transform-set ts1 esp-des esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike102.tst000066400000000000000000000024351510423065500170050ustar00rootroot00000000000000description interop1: ike1 with ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 01 cipher des hash md5 seconds 3600 bytes 67108864 key tester role init isakmp 1 protected ipv6 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto isakmp policy 10 encryption des hash md5 authentication pre-share group 1 lifetime 3600 exit crypto isakmp key tester address 1.1.1.1 crypto ipsec transform-set ts1 esp-des esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 exit interface tunnel1 ipv6 address 4321::2/64 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 v6 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 4321::2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike103.tst000066400000000000000000000024461510423065500170100ustar00rootroot00000000000000description interop1: ike1 with 3des addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 01 cipher 3des hash md5 seconds 3600 bytes 67108864 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto isakmp policy 10 encryption 3des hash md5 authentication pre-share group 1 lifetime 3600 exit crypto isakmp key tester address 1.1.1.1 crypto ipsec transform-set ts1 esp-3des esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike104.tst000066400000000000000000000024661510423065500170130ustar00rootroot00000000000000description interop1: ike1 with aes128cbc addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 01 cipher aes128cbc hash md5 seconds 3600 bytes 67108864 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto isakmp policy 10 encryption aes 128 hash md5 authentication pre-share group 1 lifetime 3600 exit crypto isakmp key tester address 1.1.1.1 crypto ipsec transform-set ts1 esp-aes 128 esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike105.tst000066400000000000000000000024661510423065500170140ustar00rootroot00000000000000description interop1: ike1 with aes192cbc addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 01 cipher aes192cbc hash md5 seconds 3600 bytes 67108864 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto isakmp policy 10 encryption aes 192 hash md5 authentication pre-share group 1 lifetime 3600 exit crypto isakmp key tester address 1.1.1.1 crypto ipsec transform-set ts1 esp-aes 192 esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike106.tst000066400000000000000000000024661510423065500170150ustar00rootroot00000000000000description interop1: ike1 with aes256cbc addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 01 cipher aes256cbc hash md5 seconds 3600 bytes 67108864 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto isakmp policy 10 encryption aes 256 hash md5 authentication pre-share group 1 lifetime 3600 exit crypto isakmp key tester address 1.1.1.1 crypto ipsec transform-set ts1 esp-aes 256 esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike107.tst000066400000000000000000000024441510423065500170120ustar00rootroot00000000000000description interop1: ike1 with sha1 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 01 cipher des hash sha1 seconds 3600 bytes 67108864 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto isakmp policy 10 encryption des hash sha authentication pre-share group 1 lifetime 3600 exit crypto isakmp key tester address 1.1.1.1 crypto ipsec transform-set ts1 esp-des esp-sha-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike108.tst000066400000000000000000000024561510423065500170160ustar00rootroot00000000000000description interop1: ike1 with sha256 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 01 cipher des hash sha256 seconds 3600 bytes 67108864 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto isakmp policy 10 encryption des hash sha256 authentication pre-share group 1 lifetime 3600 exit crypto isakmp key tester address 1.1.1.1 crypto ipsec transform-set ts1 esp-des esp-sha256-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike109.tst000066400000000000000000000024561510423065500170170ustar00rootroot00000000000000description interop1: ike1 with sha512 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 01 cipher des hash sha512 seconds 3600 bytes 67108864 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto isakmp policy 10 encryption des hash sha512 authentication pre-share group 1 lifetime 3600 exit crypto isakmp key tester address 1.1.1.1 crypto ipsec transform-set ts1 esp-des esp-sha512-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike110.tst000066400000000000000000000024451510423065500170050ustar00rootroot00000000000000description interop1: ike1 with group2 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 67108864 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto isakmp policy 10 encryption des hash md5 authentication pre-share group 2 lifetime 3600 exit crypto isakmp key tester address 1.1.1.1 crypto ipsec transform-set ts1 esp-des esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike111.tst000066400000000000000000000024451510423065500170060ustar00rootroot00000000000000description interop1: ike1 with group5 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 05 cipher des hash md5 seconds 3600 bytes 67108864 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto isakmp policy 10 encryption des hash md5 authentication pre-share group 5 lifetime 3600 exit crypto isakmp key tester address 1.1.1.1 crypto ipsec transform-set ts1 esp-des esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike112.tst000066400000000000000000000024471510423065500170110ustar00rootroot00000000000000description interop1: ike1 with group14 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 14 cipher des hash md5 seconds 3600 bytes 67108864 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto isakmp policy 10 encryption des hash md5 authentication pre-share group 14 lifetime 3600 exit crypto isakmp key tester address 1.1.1.1 crypto ipsec transform-set ts1 esp-des esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike113.tst000066400000000000000000000024471510423065500170120ustar00rootroot00000000000000description interop1: ike1 with group15 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 15 cipher des hash md5 seconds 3600 bytes 67108864 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto isakmp policy 10 encryption des hash md5 authentication pre-share group 15 lifetime 3600 exit crypto isakmp key tester address 1.1.1.1 crypto ipsec transform-set ts1 esp-des esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike114.tst000066400000000000000000000024471510423065500170130ustar00rootroot00000000000000description interop1: ike1 with group16 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 16 cipher des hash md5 seconds 3600 bytes 67108864 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto isakmp policy 10 encryption des hash md5 authentication pre-share group 16 lifetime 3600 exit crypto isakmp key tester address 1.1.1.1 crypto ipsec transform-set ts1 esp-des esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike115.tst000066400000000000000000000024471510423065500170140ustar00rootroot00000000000000description interop1: ike1 with group24 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 24 cipher des hash md5 seconds 3600 bytes 67108864 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto isakmp policy 10 encryption des hash md5 authentication pre-share group 24 lifetime 3600 exit crypto isakmp key tester address 1.1.1.1 crypto ipsec transform-set ts1 esp-des esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike116.tst000066400000000000000000000024471510423065500170150ustar00rootroot00000000000000description interop1: ike1 with group19 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 19 cipher des hash md5 seconds 3600 bytes 67108864 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto isakmp policy 10 encryption des hash md5 authentication pre-share group 19 lifetime 3600 exit crypto isakmp key tester address 1.1.1.1 crypto ipsec transform-set ts1 esp-des esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike117.tst000066400000000000000000000024471510423065500170160ustar00rootroot00000000000000description interop1: ike1 with group20 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 20 cipher des hash md5 seconds 3600 bytes 67108864 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto isakmp policy 10 encryption des hash md5 authentication pre-share group 20 lifetime 3600 exit crypto isakmp key tester address 1.1.1.1 crypto ipsec transform-set ts1 esp-des esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike118.tst000066400000000000000000000024471510423065500170170ustar00rootroot00000000000000description interop1: ike1 with group21 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 21 cipher des hash md5 seconds 3600 bytes 67108864 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto isakmp policy 10 encryption des hash md5 authentication pre-share group 21 lifetime 3600 exit crypto isakmp key tester address 1.1.1.1 crypto ipsec transform-set ts1 esp-des esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike119.tst000066400000000000000000000024561510423065500170200ustar00rootroot00000000000000description interop1: ike1 with sha384 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 01 cipher des hash sha384 seconds 3600 bytes 67108864 key tester role init isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto isakmp policy 10 encryption des hash sha384 authentication pre-share group 1 lifetime 3600 exit crypto isakmp key tester address 1.1.1.1 crypto ipsec transform-set ts1 esp-des esp-sha384-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike201.tst000066400000000000000000000030571510423065500170060ustar00rootroot00000000000000description interop1: ike2 with ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 01 cipher des hash md5 prf md5 seconds 3600 bytes 67108864 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto ikev2 proposal pr1 encryption des integrity md5 group 1 exit crypto ikev2 policy pl1 proposal pr1 exit crypto ikev2 keyring kr1 peer p1 address 1.1.1.1 pre-shared-key tester exit crypto ikev2 profile pr1 match identity remote address 1.1.1.1 255.255.255.255 authentication local pre-share authentication remote pre-share lifetime 3600 keyring local kr1 exit crypto ipsec transform-set ts1 esp-des esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 set ikev2-profile pr1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike202.tst000066400000000000000000000030511510423065500170010ustar00rootroot00000000000000description interop1: ike2 with ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 01 cipher des hash md5 prf md5 seconds 3600 bytes 67108864 key tester role init isakmp 2 protected ipv6 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto ikev2 proposal pr1 encryption des integrity md5 group 1 exit crypto ikev2 policy pl1 proposal pr1 exit crypto ikev2 keyring kr1 peer p1 address 1.1.1.1 pre-shared-key tester exit crypto ikev2 profile pr1 match identity remote address 1.1.1.1 255.255.255.255 authentication local pre-share authentication remote pre-share lifetime 3600 keyring local kr1 exit crypto ipsec transform-set ts1 esp-des esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 set ikev2-profile pr1 exit interface tunnel1 ipv6 address 4321::2/64 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 v6 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 4321::2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike203.tst000066400000000000000000000030621510423065500170040ustar00rootroot00000000000000description interop1: ike2 with 3des addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 01 cipher 3des hash md5 prf md5 seconds 3600 bytes 67108864 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto ikev2 proposal pr1 encryption 3des integrity md5 group 1 exit crypto ikev2 policy pl1 proposal pr1 exit crypto ikev2 keyring kr1 peer p1 address 1.1.1.1 pre-shared-key tester exit crypto ikev2 profile pr1 match identity remote address 1.1.1.1 255.255.255.255 authentication local pre-share authentication remote pre-share lifetime 3600 keyring local kr1 exit crypto ipsec transform-set ts1 esp-3des esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 set ikev2-profile pr1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike204.tst000066400000000000000000000031061510423065500170040ustar00rootroot00000000000000description interop1: ike2 with aes128cbc addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 01 cipher aes128cbc hash md5 prf md5 seconds 3600 bytes 67108864 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto ikev2 proposal pr1 encryption aes-cbc-128 integrity md5 group 1 exit crypto ikev2 policy pl1 proposal pr1 exit crypto ikev2 keyring kr1 peer p1 address 1.1.1.1 pre-shared-key tester exit crypto ikev2 profile pr1 match identity remote address 1.1.1.1 255.255.255.255 authentication local pre-share authentication remote pre-share lifetime 3600 keyring local kr1 exit crypto ipsec transform-set ts1 esp-aes 128 esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 set ikev2-profile pr1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike205.tst000066400000000000000000000031061510423065500170050ustar00rootroot00000000000000description interop1: ike2 with aes192cbc addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 01 cipher aes192cbc hash md5 prf md5 seconds 3600 bytes 67108864 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto ikev2 proposal pr1 encryption aes-cbc-192 integrity md5 group 1 exit crypto ikev2 policy pl1 proposal pr1 exit crypto ikev2 keyring kr1 peer p1 address 1.1.1.1 pre-shared-key tester exit crypto ikev2 profile pr1 match identity remote address 1.1.1.1 255.255.255.255 authentication local pre-share authentication remote pre-share lifetime 3600 keyring local kr1 exit crypto ipsec transform-set ts1 esp-aes 192 esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 set ikev2-profile pr1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike206.tst000066400000000000000000000031061510423065500170060ustar00rootroot00000000000000description interop1: ike2 with aes256cbc addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 01 cipher aes256cbc hash md5 prf md5 seconds 3600 bytes 67108864 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto ikev2 proposal pr1 encryption aes-cbc-256 integrity md5 group 1 exit crypto ikev2 policy pl1 proposal pr1 exit crypto ikev2 keyring kr1 peer p1 address 1.1.1.1 pre-shared-key tester exit crypto ikev2 profile pr1 match identity remote address 1.1.1.1 255.255.255.255 authentication local pre-share authentication remote pre-share lifetime 3600 keyring local kr1 exit crypto ipsec transform-set ts1 esp-aes 256 esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 set ikev2-profile pr1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike207.tst000066400000000000000000000030621510423065500170100ustar00rootroot00000000000000description interop1: ike2 with sha1 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 01 cipher des hash sha1 prf sha1 seconds 3600 bytes 67108864 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto ikev2 proposal pr1 encryption des integrity sha1 group 1 exit crypto ikev2 policy pl1 proposal pr1 exit crypto ikev2 keyring kr1 peer p1 address 1.1.1.1 pre-shared-key tester exit crypto ikev2 profile pr1 match identity remote address 1.1.1.1 255.255.255.255 authentication local pre-share authentication remote pre-share lifetime 3600 keyring local kr1 exit crypto ipsec transform-set ts1 esp-des esp-sha-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 set ikev2-profile pr1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike208.tst000066400000000000000000000030751510423065500170150ustar00rootroot00000000000000description interop1: ike2 with sha256 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 01 cipher des hash sha256 prf sha256 seconds 3600 bytes 67108864 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto ikev2 proposal pr1 encryption des integrity sha256 group 1 exit crypto ikev2 policy pl1 proposal pr1 exit crypto ikev2 keyring kr1 peer p1 address 1.1.1.1 pre-shared-key tester exit crypto ikev2 profile pr1 match identity remote address 1.1.1.1 255.255.255.255 authentication local pre-share authentication remote pre-share lifetime 3600 keyring local kr1 exit crypto ipsec transform-set ts1 esp-des esp-sha256-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 set ikev2-profile pr1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike209.tst000066400000000000000000000030751510423065500170160ustar00rootroot00000000000000description interop1: ike2 with sha512 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 01 cipher des hash sha512 prf sha512 seconds 3600 bytes 67108864 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto ikev2 proposal pr1 encryption des integrity sha512 group 1 exit crypto ikev2 policy pl1 proposal pr1 exit crypto ikev2 keyring kr1 peer p1 address 1.1.1.1 pre-shared-key tester exit crypto ikev2 profile pr1 match identity remote address 1.1.1.1 255.255.255.255 authentication local pre-share authentication remote pre-share lifetime 3600 keyring local kr1 exit crypto ipsec transform-set ts1 esp-des esp-sha512-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 set ikev2-profile pr1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike210.tst000066400000000000000000000030611510423065500170010ustar00rootroot00000000000000description interop1: ike2 with group2 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 02 cipher des hash md5 prf md5 seconds 3600 bytes 67108864 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto ikev2 proposal pr1 encryption des integrity md5 group 2 exit crypto ikev2 policy pl1 proposal pr1 exit crypto ikev2 keyring kr1 peer p1 address 1.1.1.1 pre-shared-key tester exit crypto ikev2 profile pr1 match identity remote address 1.1.1.1 255.255.255.255 authentication local pre-share authentication remote pre-share lifetime 3600 keyring local kr1 exit crypto ipsec transform-set ts1 esp-des esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 set ikev2-profile pr1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike211.tst000066400000000000000000000030611510423065500170020ustar00rootroot00000000000000description interop1: ike2 with group5 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 05 cipher des hash md5 prf md5 seconds 3600 bytes 67108864 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto ikev2 proposal pr1 encryption des integrity md5 group 5 exit crypto ikev2 policy pl1 proposal pr1 exit crypto ikev2 keyring kr1 peer p1 address 1.1.1.1 pre-shared-key tester exit crypto ikev2 profile pr1 match identity remote address 1.1.1.1 255.255.255.255 authentication local pre-share authentication remote pre-share lifetime 3600 keyring local kr1 exit crypto ipsec transform-set ts1 esp-des esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 set ikev2-profile pr1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike212.tst000066400000000000000000000030631510423065500170050ustar00rootroot00000000000000description interop1: ike2 with group14 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 14 cipher des hash md5 prf md5 seconds 3600 bytes 67108864 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto ikev2 proposal pr1 encryption des integrity md5 group 14 exit crypto ikev2 policy pl1 proposal pr1 exit crypto ikev2 keyring kr1 peer p1 address 1.1.1.1 pre-shared-key tester exit crypto ikev2 profile pr1 match identity remote address 1.1.1.1 255.255.255.255 authentication local pre-share authentication remote pre-share lifetime 3600 keyring local kr1 exit crypto ipsec transform-set ts1 esp-des esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 set ikev2-profile pr1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike213.tst000066400000000000000000000030631510423065500170060ustar00rootroot00000000000000description interop1: ike2 with group15 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 15 cipher des hash md5 prf md5 seconds 3600 bytes 67108864 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto ikev2 proposal pr1 encryption des integrity md5 group 15 exit crypto ikev2 policy pl1 proposal pr1 exit crypto ikev2 keyring kr1 peer p1 address 1.1.1.1 pre-shared-key tester exit crypto ikev2 profile pr1 match identity remote address 1.1.1.1 255.255.255.255 authentication local pre-share authentication remote pre-share lifetime 3600 keyring local kr1 exit crypto ipsec transform-set ts1 esp-des esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 set ikev2-profile pr1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike214.tst000066400000000000000000000030631510423065500170070ustar00rootroot00000000000000description interop1: ike2 with group16 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 16 cipher des hash md5 prf md5 seconds 3600 bytes 67108864 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto ikev2 proposal pr1 encryption des integrity md5 group 16 exit crypto ikev2 policy pl1 proposal pr1 exit crypto ikev2 keyring kr1 peer p1 address 1.1.1.1 pre-shared-key tester exit crypto ikev2 profile pr1 match identity remote address 1.1.1.1 255.255.255.255 authentication local pre-share authentication remote pre-share lifetime 3600 keyring local kr1 exit crypto ipsec transform-set ts1 esp-des esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 set ikev2-profile pr1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike215.tst000066400000000000000000000030631510423065500170100ustar00rootroot00000000000000description interop1: ike2 with group24 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 24 cipher des hash md5 prf md5 seconds 3600 bytes 67108864 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto ikev2 proposal pr1 encryption des integrity md5 group 24 exit crypto ikev2 policy pl1 proposal pr1 exit crypto ikev2 keyring kr1 peer p1 address 1.1.1.1 pre-shared-key tester exit crypto ikev2 profile pr1 match identity remote address 1.1.1.1 255.255.255.255 authentication local pre-share authentication remote pre-share lifetime 3600 keyring local kr1 exit crypto ipsec transform-set ts1 esp-des esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 set ikev2-profile pr1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike216.tst000066400000000000000000000030511510423065500170060ustar00rootroot00000000000000description interop1: ike2 with aes128gcm addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 01 cipher aes128gcm prf md5 seconds 3600 bytes 67108864 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto ikev2 proposal pr1 encryption aes-gcm-128 prf md5 group 1 exit crypto ikev2 policy pl1 proposal pr1 exit crypto ikev2 keyring kr1 peer p1 address 1.1.1.1 pre-shared-key tester exit crypto ikev2 profile pr1 match identity remote address 1.1.1.1 255.255.255.255 authentication local pre-share authentication remote pre-share lifetime 3600 keyring local kr1 exit crypto ipsec transform-set ts1 esp-gcm 128 mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 set ikev2-profile pr1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike217.tst000066400000000000000000000030511510423065500170070ustar00rootroot00000000000000description interop1: ike2 with aes256gcm addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 01 cipher aes256gcm prf md5 seconds 3600 bytes 67108864 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto ikev2 proposal pr1 encryption aes-gcm-256 prf md5 group 1 exit crypto ikev2 policy pl1 proposal pr1 exit crypto ikev2 keyring kr1 peer p1 address 1.1.1.1 pre-shared-key tester exit crypto ikev2 profile pr1 match identity remote address 1.1.1.1 255.255.255.255 authentication local pre-share authentication remote pre-share lifetime 3600 keyring local kr1 exit crypto ipsec transform-set ts1 esp-gcm 256 mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 set ikev2-profile pr1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike218.tst000066400000000000000000000030631510423065500170130ustar00rootroot00000000000000description interop1: ike2 with group19 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 19 cipher des hash md5 prf md5 seconds 3600 bytes 67108864 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto ikev2 proposal pr1 encryption des integrity md5 group 19 exit crypto ikev2 policy pl1 proposal pr1 exit crypto ikev2 keyring kr1 peer p1 address 1.1.1.1 pre-shared-key tester exit crypto ikev2 profile pr1 match identity remote address 1.1.1.1 255.255.255.255 authentication local pre-share authentication remote pre-share lifetime 3600 keyring local kr1 exit crypto ipsec transform-set ts1 esp-des esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 set ikev2-profile pr1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike219.tst000066400000000000000000000030631510423065500170140ustar00rootroot00000000000000description interop1: ike2 with group20 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 20 cipher des hash md5 prf md5 seconds 3600 bytes 67108864 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto ikev2 proposal pr1 encryption des integrity md5 group 20 exit crypto ikev2 policy pl1 proposal pr1 exit crypto ikev2 keyring kr1 peer p1 address 1.1.1.1 pre-shared-key tester exit crypto ikev2 profile pr1 match identity remote address 1.1.1.1 255.255.255.255 authentication local pre-share authentication remote pre-share lifetime 3600 keyring local kr1 exit crypto ipsec transform-set ts1 esp-des esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 set ikev2-profile pr1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike220.tst000066400000000000000000000030631510423065500170040ustar00rootroot00000000000000description interop1: ike2 with group21 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 21 cipher des hash md5 prf md5 seconds 3600 bytes 67108864 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto ikev2 proposal pr1 encryption des integrity md5 group 21 exit crypto ikev2 policy pl1 proposal pr1 exit crypto ikev2 keyring kr1 peer p1 address 1.1.1.1 pre-shared-key tester exit crypto ikev2 profile pr1 match identity remote address 1.1.1.1 255.255.255.255 authentication local pre-share authentication remote pre-share lifetime 3600 keyring local kr1 exit crypto ipsec transform-set ts1 esp-des esp-md5-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 set ikev2-profile pr1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ike221.tst000066400000000000000000000030751510423065500170100ustar00rootroot00000000000000description interop1: ike2 with sha384 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit crypto ipsec ips group 01 cipher des hash sha384 prf sha384 seconds 3600 bytes 67108864 key tester role init isakmp 2 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit crypto ikev2 proposal pr1 encryption des integrity sha384 group 1 exit crypto ikev2 policy pl1 proposal pr1 exit crypto ikev2 keyring kr1 peer p1 address 1.1.1.1 pre-shared-key tester exit crypto ikev2 profile pr1 match identity remote address 1.1.1.1 255.255.255.255 authentication local pre-share authentication remote pre-share lifetime 3600 keyring local kr1 exit crypto ipsec transform-set ts1 esp-des esp-sha384-hmac mode tunnel exit crypto ipsec profile pr1 set security-association lifetime seconds 3600 set security-association lifetime kilobytes 65536 set transform-set ts1 set ikev2-profile pr1 exit interface tunnel1 ip address 2.2.2.2 255.255.255.0 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipsec ipv4 tunnel protection ipsec profile pr1 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-isis01.tst000066400000000000000000000023011510423065500171120ustar00rootroot00000000000000description interop1: point2point isis addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router isis net 48.0000.0000.1234.00 metric-style wide redistribute connected address-family ipv6 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 isis network point-to-point ip router isis no shutdown exit interface gigabit2 ipv6 enable isis network point-to-point ipv6 router isis no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-isis02.tst000066400000000000000000000023411510423065500171170ustar00rootroot00000000000000description interop1: isis dis addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 net broad router isis4 1 pri 50 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena router isis6 1 net broad router isis6 1 pri 50 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router isis net 48.0000.0000.1234.00 metric-style wide redistribute connected address-family ipv6 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ip router isis no shutdown exit interface gigabit2 ipv6 enable ipv6 router isis no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-isis03.tst000066400000000000000000000023441510423065500171230ustar00rootroot00000000000000description interop1: isis nondis addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 net broad router isis4 1 pri 70 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena router isis6 1 net broad router isis6 1 pri 70 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router isis net 48.0000.0000.1234.00 metric-style wide redistribute connected address-family ipv6 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ip router isis no shutdown exit interface gigabit2 ipv6 enable ipv6 router isis no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-isis04.tst000066400000000000000000000023451510423065500171250ustar00rootroot00000000000000description interop1: isis narrow metric addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 no metric-wide red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 no metric-wide red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router isis net 48.0000.0000.1234.00 metric-style narrow redistribute connected address-family ipv6 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 isis network point-to-point ip router isis no shutdown exit interface gigabit2 ipv6 enable isis network point-to-point ipv6 router isis no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-isis05.tst000066400000000000000000000072541510423065500171320ustar00rootroot00000000000000description interop1: isis te addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 traffeng 2.2.2.1 both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 traffeng 6.6.6.1 both traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou eth1 tun dest 2.2.2.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 bandwidth 11 tun sou eth1 tun dest 2.2.2.3 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.9 255.255.255.252 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ int eth3 eth 0000.0000.2233 $per3$ int eth4 eth 0000.0000.2244 $per4$ ! ip routing ipv6 unicast-routing mpls traffic-eng tunnels no mpls traffic-eng signalling advertise implicit-null interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router isis net 48.0000.0000.1234.00 metric-style wide mpls traffic-eng router-id Loopback0 mpls traffic-eng level-2 redistribute connected address-family ipv6 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 isis network point-to-point ip router isis ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit interface gigabit2 ipv6 enable isis network point-to-point ipv6 router isis ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit interface gigabit3 ip address 1.1.2.2 255.255.255.0 isis network point-to-point ip router isis ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit interface gigabit4 ipv6 enable isis network point-to-point ipv6 router isis ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit interface Tunnel1 ip address 3.3.3.2 255.255.255.252 tunnel mode mpls traffic-eng tunnel destination 2.2.2.1 tunnel mpls traffic-eng path-option 1 dynamic exit interface Tunnel2 ip address 3.3.3.6 255.255.255.252 tunnel mode mpls traffic-eng tunnel destination 2.2.2.3 tunnel mpls traffic-eng path-option 1 dynamic exit ! addrouter r3 int eth1 eth 0000.0000.1121 $per3$ int eth2 eth 0000.0000.3343 $per4$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 traffeng 2.2.2.3 both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 traffeng 6.6.6.3 both traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 router isis4 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou eth1 tun dest 2.2.2.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 exit int tun2 bandwidth 11 tun sou eth1 tun dest 2.2.2.1 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.10 255.255.255.252 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 3.3.3.6 vrf v1 r1 tping 100 60 3.3.3.10 vrf v1 r3 tping 100 60 3.3.3.9 vrf v1 freeRtr-25.11.9/cfg/intop1-isis06.tst000066400000000000000000000023451510423065500171270ustar00rootroot00000000000000description interop1: isis multi-topology addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 multi-topology red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router isis net 48.0000.0000.1234.00 metric-style wide redistribute connected address-family ipv6 multi-topology redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 isis network point-to-point ip router isis no shutdown exit interface gigabit2 ipv6 enable isis network point-to-point ipv6 router isis no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-isis07.tst000066400000000000000000000031271510423065500171270ustar00rootroot00000000000000description interop1: isis prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router isis net 48.0000.0000.1234.00 metric-style wide redistribute connected address-family ipv6 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 isis network point-to-point ip router isis no shutdown exit interface gigabit2 ipv6 enable isis network point-to-point ipv6 router isis no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router isis4 1 r1 send no red conn r1 send exit r1 send router isis6 1 r1 send no red conn r1 send end r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router isis4 1 r1 send red conn r1 send exit r1 send router isis6 1 r1 send red conn r1 send end r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-isis08.tst000066400000000000000000000026711510423065500171330ustar00rootroot00000000000000description interop1: isis text authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 password tester exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena router isis6 1 password tester exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router isis net 48.0000.0000.1234.00 metric-style wide redistribute connected address-family ipv6 redistribute connected exit key chain kc key 0 key-string tester exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 isis network point-to-point isis authentication key-chain kc isis authentication mode text ip router isis no shutdown exit interface gigabit2 ipv6 enable isis network point-to-point isis authentication key-chain kc isis authentication mode text ipv6 router isis no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-isis09.tst000066400000000000000000000064151510423065500171340ustar00rootroot00000000000000description interop1: isis p2mp te exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 traffeng 2.2.2.1 both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 traffeng 6.6.6.1 both traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit interface tunnel1 bandwidth 11 tunnel source loopback0 tunnel destination 9.9.9.9 tunnel domain-name 2.2.2.3 tunnel vrf v1 tunnel mode p2mpte vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ int eth3 eth 0000.0000.2233 $per3$ int eth4 eth 0000.0000.2244 $per4$ ! ip routing ipv6 unicast-routing mpls traffic-eng tunnels no mpls traffic-eng signalling advertise implicit-null interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router isis net 48.0000.0000.1234.00 metric-style wide mpls traffic-eng router-id Loopback0 mpls traffic-eng level-2 redistribute connected address-family ipv6 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 isis network point-to-point ip router isis ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit interface gigabit2 ipv6 enable isis network point-to-point ipv6 router isis ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit interface gigabit3 ip address 1.1.2.2 255.255.255.0 isis network point-to-point ip router isis ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit interface gigabit4 ipv6 enable isis network point-to-point ipv6 router isis ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit ! addrouter r3 int eth1 eth 0000.0000.5555 $per3$ int eth2 eth 0000.0000.7777 $per4$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 traffeng 2.2.2.3 both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 traffeng 6.6.6.3 both traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 router isis4 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int eth2 vrf for v1 ipv6 addr fe80::2 ffff:: router isis6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit interface tunnel1 bandwidth 11 tunnel source loopback0 tunnel destination 9.9.9.9 tunnel domain-name 2.2.2.1 tunnel vrf v1 tunnel mode p2mpte vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.3 vrf v1 sou lo0 r3 tping 100 60 3.3.3.1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-isis10.tst000066400000000000000000000101101510423065500171070ustar00rootroot00000000000000description interop1: isis sr addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny all 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 traffeng 2.2.2.1 segrout 10 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 traffeng 6.6.6.1 segrout 10 both segrout red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena mpls enable ipv4 access-group-in test4 ! ipv4 access-group-out test4 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable ipv6 access-group-in test6 ipv6 access-group-out test6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 1 router isis4 1 segrout node exit int lo2 vrf for v1 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 2 router isis6 1 segrout node exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo1 pweompls 2.2.2.3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ int eth3 eth 0000.0000.2233 $per3$ int eth4 eth 0000.0000.2244 $per4$ ! ip routing ipv6 unicast-routing mpls traffic-eng tunnels no mpls traffic-eng signalling advertise implicit-null interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit segment-routing mpls set-attributes address-family ipv4 explicit-null connected-prefix-sid-map address-family ipv4 2.2.2.2/32 index 3 router isis net 48.0000.0000.1234.00 metric-style wide mpls traffic-eng router-id Loopback0 mpls traffic-eng level-2 redistribute connected is-type level-2-only segment-routing mpls address-family ipv6 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 isis network point-to-point ip router isis ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit interface gigabit2 ipv6 enable isis network point-to-point ipv6 router isis ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit interface gigabit3 ip address 1.1.2.2 255.255.255.0 isis network point-to-point ip router isis ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit interface gigabit4 ipv6 enable isis network point-to-point ipv6 router isis ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit ! addrouter r3 int eth1 eth 0000.0000.1121 $per3$ int eth2 eth 0000.0000.3343 $per4$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny all 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 traffeng 2.2.2.3 segrout 10 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 traffeng 6.6.6.3 segrout 10 both segrout red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 router isis4 1 ena mpls enable ipv4 access-group-in test4 ! ipv4 access-group-out test4 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable ipv6 access-group-in test6 ipv6 access-group-out test6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 5 router isis4 1 segrout node exit int lo2 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 6 router isis6 1 segrout node exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo1 pweompls 2.2.2.1 1234 exit ! r1 tping 0 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo1 r1 tping 0 60 4321::2 vrf v1 sou lo2 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 sou lo1 r3 tping 0 60 4321::2 vrf v1 sou lo2 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/intop1-isis11.tst000066400000000000000000000024471510423065500171260ustar00rootroot00000000000000description interop1: isis lsp text authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both lsp-pass tester red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 both lsp-pass tester red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router isis net 48.0000.0000.1234.00 domain-password tester area-password tester metric-style wide redistribute connected address-family ipv6 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 isis network point-to-point ip router isis no shutdown exit interface gigabit2 ipv6 enable isis network point-to-point ipv6 router isis no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-isis12.tst000066400000000000000000000102011510423065500171120ustar00rootroot00000000000000description interop1: isis php sr addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny all 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 traffeng 2.2.2.1 segrout 10 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 traffeng 6.6.6.1 segrout 10 both segrout red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena mpls enable ipv4 access-group-in test4 ! ipv4 access-group-out test4 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable ipv6 access-group-in test6 ipv6 access-group-out test6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 1 router isis4 1 segrout node router isis4 1 segrout pop exit int lo2 vrf for v1 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 2 router isis6 1 segrout node router isis6 1 segrout pop exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo1 pweompls 2.2.2.3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ int eth3 eth 0000.0000.2233 $per3$ int eth4 eth 0000.0000.2244 $per4$ ! ip routing ipv6 unicast-routing mpls traffic-eng tunnels interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit segment-routing mpls set-attributes address-family ipv4 explicit-null connected-prefix-sid-map address-family ipv4 2.2.2.2/32 index 3 router isis net 48.0000.0000.1234.00 metric-style wide mpls traffic-eng router-id Loopback0 mpls traffic-eng level-2 redistribute connected is-type level-2-only segment-routing mpls address-family ipv6 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 isis network point-to-point ip router isis ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit interface gigabit2 ipv6 enable isis network point-to-point ipv6 router isis ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit interface gigabit3 ip address 1.1.2.2 255.255.255.0 isis network point-to-point ip router isis ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit interface gigabit4 ipv6 enable isis network point-to-point ipv6 router isis ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit ! addrouter r3 int eth1 eth 0000.0000.1121 $per3$ int eth2 eth 0000.0000.3343 $per4$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny all 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 traffeng 2.2.2.3 segrout 10 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 traffeng 6.6.6.3 segrout 10 both segrout red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 router isis4 1 ena mpls enable ipv4 access-group-in test4 ! ipv4 access-group-out test4 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable ipv6 access-group-in test6 ipv6 access-group-out test6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 5 router isis4 1 segrout node router isis4 1 segrout pop exit int lo2 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 6 router isis6 1 segrout node router isis6 1 segrout pop exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo1 pweompls 2.2.2.1 1234 exit ! r1 tping 0 10 1.1.1.2 vrf v1 r1 tping 0 60 2.2.2.2 vrf v1 sou lo1 r1 tping 0 60 4321::2 vrf v1 sou lo2 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 sou lo1 r3 tping 0 60 4321::2 vrf v1 sou lo2 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/intop1-isis13.tst000066400000000000000000000114671510423065500171320ustar00rootroot00000000000000description interop1: isis te with pcep addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 traffeng 2.2.2.1 both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 traffeng 6.6.6.1 both traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou eth1 tun dest 2.2.2.2 tun vrf v1 tun dom 1.1.3.2 v1 lo0 tun mod pcete vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 bandwidth 11 tun sou eth1 tun dest 2.2.2.3 tun vrf v1 tun dom 1.1.3.2 v1 lo0 tun mod pcete vrf for v1 ipv4 addr 3.3.3.9 255.255.255.252 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ int eth3 eth 0000.0000.2233 $per3$ int eth4 eth 0000.0000.2244 $per4$ ! ip routing ipv6 unicast-routing mpls traffic-eng tunnels no mpls traffic-eng signalling advertise implicit-null mpls traffic-eng pcc peer 1.1.3.2 interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router isis net 48.0000.0000.1234.00 metric-style wide mpls traffic-eng router-id Loopback0 mpls traffic-eng level-2 redistribute connected address-family ipv6 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 isis network point-to-point ip router isis ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit interface gigabit2 ipv6 enable isis network point-to-point ipv6 router isis ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit interface gigabit3 ip address 1.1.2.2 255.255.255.0 isis network point-to-point ip router isis ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit interface gigabit4 ipv6 enable isis network point-to-point ipv6 router isis ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit interface Tunnel1 ip address 3.3.3.2 255.255.255.252 tunnel mode mpls traffic-eng tunnel destination 2.2.2.1 tunnel mpls traffic-eng path-option 1 dynamic pce exit interface Tunnel2 ip address 3.3.3.6 255.255.255.252 tunnel mode mpls traffic-eng tunnel destination 2.2.2.3 tunnel mpls traffic-eng path-option 1 dynamic pce exit ! addrouter r3 int eth1 eth 0000.0000.1121 $per3$ int eth2 eth 0000.0000.3343 $per4$ int ser1 ser - $1a$ $1b$ int ser2 ser - $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 traffeng 2.2.2.3 both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 traffeng 6.6.6.3 both traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 router isis4 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int ser1 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 router isis4 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int ser2 vrf for v1 ipv6 addr 4444::1 ffff:: router isis6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou eth1 tun dest 2.2.2.2 tun vrf v1 tun dom 1.1.3.2 v1 lo0 tun mod pcete vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 exit int tun2 bandwidth 11 tun sou eth1 tun dest 2.2.2.1 tun vrf v1 tun dom 1.1.3.2 v1 lo0 tun mod pcete vrf for v1 ipv4 addr 3.3.3.10 255.255.255.252 exit ! addrouter r4 int ser1 ser - $1b$ $1a$ int ser2 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit serv pcep p export-vrf v1 vrf v1 exit router isis4 1 vrf v1 net 48.4444.0000.4444.00 traffeng 2.2.2.4 both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.4444.00 traffeng 6.6.6.4 both traff red conn exit int ser1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 router isis4 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int ser2 vrf for v1 ipv6 addr 4444::2 ffff:: router isis6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit ! r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 4321::1 vrf v1 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 3.3.3.6 vrf v1 r1 tping 100 60 3.3.3.10 vrf v1 r3 tping 100 60 3.3.3.9 vrf v1 freeRtr-25.11.9/cfg/intop1-isis14.tst000066400000000000000000000020071510423065500171210ustar00rootroot00000000000000description interop1: integrated isis addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn afi-other enable afi-other red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router isis4 1 ena router isis4 1 other-ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router isis net 48.0000.0000.1234.00 metric-style wide redistribute connected address-family ipv6 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable isis network point-to-point ip router isis ipv6 router isis no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-isis15.tst000066400000000000000000000027661510423065500171360ustar00rootroot00000000000000description interop1: isis md5 authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 password tester router isis4 1 authen-type md5 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena router isis6 1 password tester router isis6 1 authen-type md5 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router isis net 48.0000.0000.1234.00 metric-style wide redistribute connected address-family ipv6 redistribute connected exit key chain kc key 0 key-string tester exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 isis network point-to-point isis authentication key-chain kc isis authentication mode md5 ip router isis no shutdown exit interface gigabit2 ipv6 enable isis network point-to-point isis authentication key-chain kc isis authentication mode md5 ipv6 router isis no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-isis16.tst000066400000000000000000000026041510423065500171260ustar00rootroot00000000000000description interop1: isis lsp md5 authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both lsp-pass tester both authen-type md5 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 both lsp-pass tester both authen-type md5 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit key chain kc1 key 0 key-string tester router isis net 48.0000.0000.1234.00 authentication key-chain kc1 authentication mode md5 metric-style wide redistribute connected address-family ipv6 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 isis network point-to-point ip router isis no shutdown exit interface gigabit2 ipv6 enable isis network point-to-point ipv6 router isis no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-isis17.tst000066400000000000000000000021011510423065500171170ustar00rootroot00000000000000description interop1: integrated isis multi-topology addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn afi-other enable afi-other multi-topology afi-other red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router isis4 1 ena router isis4 1 other-ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router isis net 48.0000.0000.1234.00 metric-style wide redistribute connected address-family ipv6 multi-topology redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable isis network point-to-point ip router isis ipv6 router isis no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-isis18.tst000066400000000000000000000030321510423065500171240ustar00rootroot00000000000000description interop1: isis sha1 authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 password tester router isis4 1 authen-id 1 router isis4 1 authen-type sha1 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena router isis6 1 password tester router isis6 1 authen-id 1 router isis6 1 authen-type sha1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router isis net 48.0000.0000.1234.00 metric-style wide redistribute connected address-family ipv6 redistribute connected exit key chain kc key 1 key-string tester cryptographic-algorithm hmac-sha-1 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 isis network point-to-point isis authentication key-chain kc ip router isis no shutdown exit interface gigabit2 ipv6 enable isis network point-to-point isis authentication key-chain kc ipv6 router isis no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-isis19.tst000066400000000000000000000026671510423065500171420ustar00rootroot00000000000000description interop1: isis lsp sha1 authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both lsp-pass tester both authen-id 1 both authen-type sha1 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 both lsp-pass tester both authen-id 1 both authen-type sha1 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit key chain kc1 key 1 key-string tester cryptographic-algorithm hmac-sha-1 router isis net 48.0000.0000.1234.00 authentication key-chain kc1 metric-style wide redistribute connected address-family ipv6 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 isis network point-to-point ip router isis no shutdown exit interface gigabit2 ipv6 enable isis network point-to-point ipv6 router isis no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-isis20.tst000066400000000000000000000030421510423065500171160ustar00rootroot00000000000000description interop1: isis sha256 authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 password tester router isis4 1 authen-id 1 router isis4 1 authen-type sha256 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena router isis6 1 password tester router isis6 1 authen-id 1 router isis6 1 authen-type sha256 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router isis net 48.0000.0000.1234.00 metric-style wide redistribute connected address-family ipv6 redistribute connected exit key chain kc key 1 key-string tester cryptographic-algorithm hmac-sha-256 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 isis network point-to-point isis authentication key-chain kc ip router isis no shutdown exit interface gigabit2 ipv6 enable isis network point-to-point isis authentication key-chain kc ipv6 router isis no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-isis21.tst000066400000000000000000000026771510423065500171340ustar00rootroot00000000000000description interop1: isis lsp sha256 authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both lsp-pass tester both authen-id 1 both authen-type sha256 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 both lsp-pass tester both authen-id 1 both authen-type sha256 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit key chain kc1 key 1 key-string tester cryptographic-algorithm hmac-sha-256 router isis net 48.0000.0000.1234.00 authentication key-chain kc1 metric-style wide redistribute connected address-family ipv6 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 isis network point-to-point ip router isis no shutdown exit interface gigabit2 ipv6 enable isis network point-to-point ipv6 router isis no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-isis22.tst000066400000000000000000000030421510423065500171200ustar00rootroot00000000000000description interop1: isis sha384 authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 password tester router isis4 1 authen-id 1 router isis4 1 authen-type sha384 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena router isis6 1 password tester router isis6 1 authen-id 1 router isis6 1 authen-type sha384 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router isis net 48.0000.0000.1234.00 metric-style wide redistribute connected address-family ipv6 redistribute connected exit key chain kc key 1 key-string tester cryptographic-algorithm hmac-sha-384 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 isis network point-to-point isis authentication key-chain kc ip router isis no shutdown exit interface gigabit2 ipv6 enable isis network point-to-point isis authentication key-chain kc ipv6 router isis no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-isis23.tst000066400000000000000000000026771510423065500171360ustar00rootroot00000000000000description interop1: isis lsp sha384 authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both lsp-pass tester both authen-id 1 both authen-type sha384 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 both lsp-pass tester both authen-id 1 both authen-type sha384 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit key chain kc1 key 1 key-string tester cryptographic-algorithm hmac-sha-384 router isis net 48.0000.0000.1234.00 authentication key-chain kc1 metric-style wide redistribute connected address-family ipv6 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 isis network point-to-point ip router isis no shutdown exit interface gigabit2 ipv6 enable isis network point-to-point ipv6 router isis no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-isis24.tst000066400000000000000000000030421510423065500171220ustar00rootroot00000000000000description interop1: isis sha512 authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 password tester router isis4 1 authen-id 1 router isis4 1 authen-type sha512 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena router isis6 1 password tester router isis6 1 authen-id 1 router isis6 1 authen-type sha512 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router isis net 48.0000.0000.1234.00 metric-style wide redistribute connected address-family ipv6 redistribute connected exit key chain kc key 1 key-string tester cryptographic-algorithm hmac-sha-512 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 isis network point-to-point isis authentication key-chain kc ip router isis no shutdown exit interface gigabit2 ipv6 enable isis network point-to-point isis authentication key-chain kc ipv6 router isis no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-isis25.tst000066400000000000000000000026771510423065500171400ustar00rootroot00000000000000description interop1: isis lsp sha512 authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both lsp-pass tester both authen-id 1 both authen-type sha512 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 both lsp-pass tester both authen-id 1 both authen-type sha512 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit key chain kc1 key 1 key-string tester cryptographic-algorithm hmac-sha-512 router isis net 48.0000.0000.1234.00 authentication key-chain kc1 metric-style wide redistribute connected address-family ipv6 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 isis network point-to-point ip router isis no shutdown exit interface gigabit2 ipv6 enable isis network point-to-point ipv6 router isis no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-l2tp01.tst000066400000000000000000000017441510423065500170360ustar00rootroot00000000000000description interop1: l2tp2 client addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp ppp ip4cp open vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit vpdn l2tp int di1 proxy p1 tar 1.1.1.2 called 1234 calling 4321 dir in prot l2tp2 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface Loopback0 ip address 2.2.2.1 255.255.255.255 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 no shutdown exit ip local pool p1 2.2.2.11 2.2.2.99 interface virtual-template1 ip unnumbered Loopback0 peer default ip address pool p1 exit vpdn enable vpdn-group 1 accept-dialin protocol l2tp virtual-template 1 no l2tp tunnel authentication exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/intop1-l2tp02.tst000066400000000000000000000015561510423065500170400ustar00rootroot00000000000000description interop1: l2tp2 server exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr fe80::1234 ffff:: ppp ip4cp local 2.2.2.1 ppp ip4cp open ppp ip6cp open exit server l2tp2 l2tp clone di1 vrf v1 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 no shutdown exit vpdn enable pseudowire-class l2tp encapsulation l2tpv2 protocol l2tpv2 ip local interface gigabit1 exit interface virtual-ppp1 ip address 2.2.2.2 255.255.255.0 ipv6 address fe80::4321 link-local pseudowire 1.1.1.1 1234 pw-class l2tp exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 fe80::4321 vrf v1 freeRtr-25.11.9/cfg/intop1-l2tp03.tst000066400000000000000000000016171510423065500170370ustar00rootroot00000000000000description interop1: l2tp3 server exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr fe80::1234 ffff:: ppp ip4cp local 2.2.2.1 ppp ip4cp open ppp ip6cp open exit server l2tp3 l2tp clone di1 vrf v1 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 no shutdown exit vpdn enable l2tp-class l2tpc exit pseudowire-class l2tp encapsulation l2tpv3 protocol l2tpv3ietf l2tpc ip local interface gigabit1 exit interface virtual-ppp1 ip address 2.2.2.2 255.255.255.0 ipv6 address fe80::4321 link-local pseudowire 1.1.1.1 1234 pw-class l2tp exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 fe80::4321 vrf v1 freeRtr-25.11.9/cfg/intop1-l2tp04.tst000066400000000000000000000020701510423065500170320ustar00rootroot00000000000000description interop1: ethernet tunneling with l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 exit bridge 1 mac-learn exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:ffff:: exit server l2tp3 l2tp bridge 1 vrf v1 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 no shutdown exit vpdn enable l2tp-class l2tpc exit pseudowire-class l2tp encapsulation l2tpv3 protocol l2tpv3ietf l2tpc ip local interface gigabit1 exit interface gigabit2 xconnect 1.1.1.1 1234 pw-class l2tp no shutdown exit ! addrouter r3 int eth1 eth 0000.0000.4444 $per2$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/intop1-ldp01.tst000066400000000000000000000053121510423065500167270ustar00rootroot00000000000000description interop1: ldp lsp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ipv6 access-group-out test6 mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing mpls ldp explicit-null interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234:1::2/64 mpls ip no shutdown exit interface gigabit2 ip address 1.1.2.2 255.255.255.0 ipv6 address 1234:2::2/64 mpls ip no shutdown exit ip route 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route 4321::1/128 1234:1::1 ip route 2.2.2.3 255.255.255.255 1.1.2.1 ipv6 route 4321::3/128 1234:2::1 ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ipv6 access-group-out test6 mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 0 10 1.1.2.2 vrf v1 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/intop1-ldp02.tst000066400000000000000000000030011510423065500167210ustar00rootroot00000000000000description interop1: ethernet over mpls addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 bridge 1 mac-learn exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 3333::1 ffff:: exit vpdn eompls bridge-gr 1 proxy p1 target 2.2.2.2 mtu 1500 vcid 1234 pwtype eth protocol pweompls exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing mpls ldp explicit-null interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 mpls ip no shutdown exit interface gigabit2 xconnect 2.2.2.1 1234 encapsulation mpls no shutdown exit ip route 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route 4321::1/128 1234::1 ! addrouter r3 int eth1 eth 0000.0000.4444 $per2$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 3333::2 ffff:: exit ! r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r3 tping 100 60 3333::1 vrf v1 freeRtr-25.11.9/cfg/intop1-ldp03.tst000066400000000000000000000054371510423065500167410ustar00rootroot00000000000000description interop1: ldp p2mp lsp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ipv6 access-group-out test6 mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int tun1 tun sou lo0 tun dest 2.2.2.1 tun vrf v1 tun key 1234 tun mod p2mpldp vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing mpls ldp explicit-null interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 mpls ip no shutdown exit interface gigabit2 ip address 1.1.2.2 255.255.255.0 ipv6 address 1235::2/64 mpls ip no shutdown exit ip route 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route 4321::1/128 1234::1 ip route 2.2.2.3 255.255.255.255 1.1.2.1 ipv6 route 4321::3/128 1235::1 ! addrouter r3 int eth1 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ipv6 access-group-out test6 mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1235::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1235::2 int tun1 tun sou lo0 tun dest 2.2.2.1 tun vrf v1 tun key 1234 tun mod p2mpldp vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.3 vrf v1 sou lo0 r3 tping 0 60 3.3.3.1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-ldp04.tst000066400000000000000000000054441510423065500167400ustar00rootroot00000000000000description interop1: ldp mp2mp lsp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ipv6 access-group-out test6 mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int tun1 tun sou lo0 tun dest 2.2.2.2 tun vrf v1 tun key 1234 tun mod mp2mpldp vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing mpls ldp explicit-null interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 mpls ip no shutdown exit interface gigabit2 ip address 1.1.2.2 255.255.255.0 ipv6 address 1235::2/64 mpls ip no shutdown exit ip route 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route 4321::1/128 1234::1 ip route 2.2.2.3 255.255.255.255 1.1.2.1 ipv6 route 4321::3/128 1235::1 ! addrouter r3 int eth1 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ipv6 access-group-out test6 mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1235::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1235::2 int tun1 tun sou lo0 tun dest 2.2.2.2 tun vrf v1 tun key 1234 tun mod mp2mpldp vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.3 vrf v1 sou lo0 r3 tping 100 60 3.3.3.1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-ldp05.tst000066400000000000000000000053631510423065500167410ustar00rootroot00000000000000description interop1: ldp php lsp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ipv6 access-group-out test6 mpls enable mpls ldp4 mpls label4pop mpls ldp6 mpls label6pop exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234:1::2/64 mpls ip no shutdown exit interface gigabit2 ip address 1.1.2.2 255.255.255.0 ipv6 address 1234:2::2/64 mpls ip no shutdown exit ip route 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route 4321::1/128 1234:1::1 ip route 2.2.2.3 255.255.255.255 1.1.2.1 ipv6 route 4321::3/128 1234:2::1 ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ipv6 access-group-out test6 mpls enable mpls ldp4 mpls label4pop mpls ldp6 mpls label6pop exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit ! r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 sou lo0 r3 tping 0 10 1.1.2.2 vrf v1 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/intop1-ldp06.tst000066400000000000000000000054541510423065500167430ustar00rootroot00000000000000description interop1: ldp over point2point ethernet addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.254 ipv6 addr 1234:1::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ipv6 access-group-out test6 mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.3 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing mpls ldp explicit-null interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit1 ip address 1.1.1.3 255.255.255.254 ipv6 address 1234:1::3/127 mpls ip no shutdown exit interface gigabit2 ip address 1.1.2.2 255.255.255.254 ipv6 address 1234:2::2/127 mpls ip no shutdown exit ip route 2.2.2.1 255.255.255.255 1.1.1.2 ipv6 route 4321::1/128 1234:1::2 ip route 2.2.2.3 255.255.255.255 1.1.2.3 ipv6 route 4321::3/128 1234:2::3 ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.254 ipv6 addr 1234:2::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ipv6 access-group-out test6 mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 10 1.1.1.3 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 0 10 1.1.2.2 vrf v1 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/intop1-ldp07.tst000066400000000000000000000030151510423065500167330ustar00rootroot00000000000000description interop1: ethernet over mpls cw addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 bridge 1 mac-learn exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 3333::1 ffff:: exit vpdn eompls bridge-gr 1 proxy p1 target 2.2.2.2 mtu 1500 vcid 1234 pwtype eth control protocol pweompls exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing mpls ldp explicit-null interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 mpls ip no shutdown exit interface gigabit2 xconnect 2.2.2.1 1234 encapsulation mpls no shutdown exit ip route 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route 4321::1/128 1234::1 ! addrouter r3 int eth1 eth 0000.0000.4444 $per2$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 3333::2 ffff:: exit ! r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r3 tping 100 60 3333::1 vrf v1 freeRtr-25.11.9/cfg/intop1-mcast01.tst000066400000000000000000000025501510423065500172600ustar00rootroot00000000000000description interop1: igmp3/mld2 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 multi host-ena ipv4 multi host-pro ipv6 multi host-ena ipv6 multi host-pro exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: ipv4 multi host-ena ipv4 multi host-pro ipv6 multi host-ena ipv6 multi host-pro exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::2 ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing ip multicast-routing distributed ipv6 multicast-routing ip pim ssm default interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 ip pim sparse-mode ip igmp version 3 ipv6 pim exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ipv6 address fe80::2 link-local ip pim sparse-mode ip igmp version 3 ipv6 pim ip igmp join-group 232.2.2.2 source 2.2.2.1 ipv6 mld join-group ff06::1 4321::1 no shutdown exit ip route 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route 4321::1/128 gigabit1 fe80::1 ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 232.2.2.2 vrf v1 sou lo0 r1 tping 100 60 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-mcast02.tst000066400000000000000000000023611510423065500172610ustar00rootroot00000000000000description interop1: pim addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::2 ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing ip multicast-routing distributed ipv6 multicast-routing ip pim ssm default interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ipv6 address fe80::2 link-local ip pim sparse-mode ip igmp version 3 ipv6 pim no shutdown exit ip route 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route 4321::1/128 gigabit1 fe80::1 interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 ip pim sparse-mode ip igmp version 3 ipv6 pim ip igmp join-group 232.2.2.2 source 2.2.2.1 ipv6 mld join-group ff06::1 4321::1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 232.2.2.2 vrf v1 sou lo0 r1 tping 100 60 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-mcast03.tst000066400000000000000000000065221510423065500172650ustar00rootroot00000000000000description interop1: mgre addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: mpls enable mpls ldp4 mpls ldp6 ipv4 pim ena ipv6 pim ena ipv4 multi static 232.1.1.1 2.2.2.1 exit int tun1 tunnel vrf v1 tunnel mode mgre tunnel source lo0 tunnel domain 2.2.2.2 tunnel destination 232.1.1.1 vrf for v2 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 3333::1 ffff:: no ipv4 resend-packet no ipv6 resend-packet ipv4 pim ena ipv6 pim ena ipv4 multi static 232.2.2.2 9.9.2.1 ipv6 multi static ff06::1 9992::1 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::2 ipv4 mroute v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 mroute v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::2 router bgp4 1 vrf v1 address vpnuni ovpnuni mdt local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 mdt lo0 232.1.1.1 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 mdt lo0 232.1.1.1 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing ip multicast-routing distributed ipv6 multicast-routing ip pim ssm default mpls ldp explicit-null vrf definition v2 rd 1:2 route-target export 1:2 route-target import 1:2 address-family ipv4 mdt default 232.1.1.1 address-family ipv6 mdt default 232.1.1.1 exit ip multicast-routing vrf v2 distributed ipv6 multicast-routing vrf v2 ip pim vrf v2 ssm default interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ipv6 address fe80::2 link-local ip pim sparse-mode ip igmp version 3 ipv6 pim mpls ip no shutdown exit ip route 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route 4321::1/128 gigabit1 fe80::1 ip mroute 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 mroute 4321::1/128 gigabit1 fe80::1 interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 ip pim sparse-mode ip igmp version 3 ipv6 pim exit interface loopback2 vrf forwarding v2 ip address 9.9.2.2 255.255.255.255 ipv6 address 9992::2/128 ip pim sparse-mode ip igmp version 3 ipv6 pim ip igmp join-group 232.2.2.2 source 9.9.2.1 ipv6 mld join-group ff06::1 9992::1 exit router bgp 1 neighbor 2.2.2.1 remote-as 1 neighbor 2.2.2.1 update-source loopback0 address-family ipv4 mdt neighbor 2.2.2.1 activate neighbor 2.2.2.1 send-community both address-family vpnv4 unicast neighbor 2.2.2.1 activate neighbor 2.2.2.1 send-community both address-family vpnv6 unicast neighbor 2.2.2.1 activate neighbor 2.2.2.1 send-community both address-family ipv4 vrf v2 redistribute connected address-family ipv6 vrf v2 redistribute connected exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 sou lo2 r1 tping 100 60 9992::2 vrf v2 sou lo2 r1 tping 100 60 232.2.2.2 vrf v2 sou lo2 r1 tping 100 60 ff06::1 vrf v2 sou lo2 freeRtr-25.11.9/cfg/intop1-modem01.tst000066400000000000000000000045011510423065500172500ustar00rootroot00000000000000description interop1: modem with alaw exit addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit server modem sm codec alaw vrf v1 exit ! addrouter r2 int eth1 eth 0000.1234.2222 $1b$ $1a$ int eth2 eth 0000.1234.2222 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit dial-peer 1 codec alaw match-calling .* match-called .* vrf v1 myname 99 port-local 5060 target 1.1.1.1 direction both exit dial-peer 2 codec alaw match-calling .* match-called .* vrf v1 myname 99 port-local 5060 target 1.1.2.1 direction both exit ! addpersist r3 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.2.1 255.255.255.0 no shutdown exit interface gigabit2 ip address 1.1.3.1 255.255.255.0 no shutdown exit voice service voip no ip address trusted authenticate allow-connections h323 to h323 allow-connections h323 to sip allow-connections sip to h323 allow-connections sip to sip sip-ua connection-reuse dial-peer voice 1 voip destination-pattern 2[0-9] media flow-through session protocol sipv2 session target ipv4:1.1.2.2 session transport udp codec g711alaw no vad dial-peer voice 2 voip destination-pattern 3[0-9] media flow-through session protocol sipv2 session target ipv4:1.1.3.2 session transport udp codec g711alaw no vad ! addrouter r4 int eth1 eth 0000.0000.4444 $per2$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit translation-rule 1 match ^.*.*)@(?.*)>.*$ match ^sip:(?.*)@(?.*)$ match ^(?.*)$ text " variable n text " character 32 text exit dial-peer 1 codec alaw match-calling .* match-called .* port-local 5060 translate-out-calling 1 translate-out-called 1 vrf v1 myname 99 target 1.1.3.1 direction both exit ! r2 tping 100 10 1.1.1.1 vrf v1 r2 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1.1.3.1 vrf v1 r4 send pack modem 22 33 r4 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-modem02.tst000066400000000000000000000045011510423065500172510ustar00rootroot00000000000000description interop1: modem with ulaw exit addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit server modem sm codec ulaw vrf v1 exit ! addrouter r2 int eth1 eth 0000.1234.2222 $1b$ $1a$ int eth2 eth 0000.1234.2222 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit dial-peer 1 codec ulaw match-calling .* match-called .* vrf v1 myname 99 port-local 5060 target 1.1.1.1 direction both exit dial-peer 2 codec ulaw match-calling .* match-called .* vrf v1 myname 99 port-local 5060 target 1.1.2.1 direction both exit ! addpersist r3 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.2.1 255.255.255.0 no shutdown exit interface gigabit2 ip address 1.1.3.1 255.255.255.0 no shutdown exit voice service voip no ip address trusted authenticate allow-connections h323 to h323 allow-connections h323 to sip allow-connections sip to h323 allow-connections sip to sip sip-ua connection-reuse dial-peer voice 1 voip destination-pattern 2[0-9] media flow-through session protocol sipv2 session target ipv4:1.1.2.2 session transport udp codec g711ulaw no vad dial-peer voice 2 voip destination-pattern 3[0-9] media flow-through session protocol sipv2 session target ipv4:1.1.3.2 session transport udp codec g711ulaw no vad ! addrouter r4 int eth1 eth 0000.0000.4444 $per2$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit translation-rule 1 match ^.*.*)@(?.*)>.*$ match ^sip:(?.*)@(?.*)$ match ^(?.*)$ text " variable n text " character 32 text exit dial-peer 1 codec ulaw match-calling .* match-called .* port-local 5060 translate-out-calling 1 translate-out-called 1 vrf v1 myname 99 target 1.1.3.1 direction both exit ! r2 tping 100 10 1.1.1.1 vrf v1 r2 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1.1.3.1 vrf v1 r4 send pack modem 22 33 r4 tping 100 5 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/intop1-ospf01.tst000066400000000000000000000020521510423065500171150ustar00rootroot00000000000000description interop1: point2point ospf addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router ospf 1 redistribute connected subnets exit ipv6 router ospf 1 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ip ospf network point-to-point ip ospf 1 area 0 ipv6 ospf network point-to-point ipv6 ospf 1 area 0 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-ospf02.tst000066400000000000000000000021731510423065500171220ustar00rootroot00000000000000description interop1: ospf dr addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf4 1 net broad router ospf4 1 prio 10 router ospf6 1 ena router ospf6 1 net broad router ospf6 1 prio 10 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router ospf 1 redistribute connected subnets exit ipv6 router ospf 1 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ip ospf network broadcast ip ospf 1 area 0 ipv6 ospf network broadcast ipv6 ospf 1 area 0 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-ospf03.tst000066400000000000000000000021741510423065500171240ustar00rootroot00000000000000description interop1: ospf nondr addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf4 1 net broad router ospf4 1 prio 0 router ospf6 1 ena router ospf6 1 net broad router ospf6 1 prio 0 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router ospf 1 redistribute connected subnets exit ipv6 router ospf 1 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ip ospf network broadcast ip ospf 1 area 0 ipv6 ospf network broadcast ipv6 ospf 1 area 0 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-ospf04.tst000066400000000000000000000020551510423065500171230ustar00rootroot00000000000000description interop1: ospf transit area addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 1 ena exit router ospf6 1 vrf v1 router 6.6.6.1 area 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf6 1 ena exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 ip ospf 1 area 1 ipv6 ospf 1 area 1 exit router ospf 1 exit ipv6 router ospf 1 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ip ospf network point-to-point ip ospf 1 area 1 ipv6 ospf network point-to-point ipv6 ospf 1 area 1 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-ospf05.tst000066400000000000000000000021361510423065500171240ustar00rootroot00000000000000description interop1: ospf stub area addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 1 ena area 1 stub exit router ospf6 1 vrf v1 router 6.6.6.1 area 1 ena area 1 stub exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf6 1 ena exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 ip ospf 1 area 1 ipv6 ospf 1 area 1 exit router ospf 1 area 1 stub exit ipv6 router ospf 1 area 1 stub exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ip ospf network point-to-point ip ospf 1 area 1 ipv6 ospf network point-to-point ipv6 ospf 1 area 1 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-ospf06.tst000066400000000000000000000021361510423065500171250ustar00rootroot00000000000000description interop1: ospf nssa area addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 1 ena area 1 nssa exit router ospf6 1 vrf v1 router 6.6.6.1 area 1 ena area 1 nssa exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf6 1 ena exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 ip ospf 1 area 1 ipv6 ospf 1 area 1 exit router ospf 1 area 1 nssa exit ipv6 router ospf 1 area 1 nssa exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ip ospf network point-to-point ip ospf 1 area 1 ipv6 ospf network point-to-point ipv6 ospf 1 area 1 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-ospf07.tst000066400000000000000000000064331510423065500171320ustar00rootroot00000000000000description interop1: ospf te addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 traffeng 2.2.2.1 area 0 ena area 0 traff red conn exit router ospf6 1 vrf v1 router 6.6.6.1 traffeng 6.6.6.1 area 0 ena area 0 traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou eth1 tun dest 2.2.2.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 bandwidth 11 tun sou eth1 tun dest 2.2.2.3 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.9 255.255.255.252 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing mpls traffic-eng tunnels no mpls traffic-eng signalling advertise implicit-null interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router ospf 1 mpls traffic-eng router-id Loopback0 mpls traffic-eng area 0 redistribute connected subnets exit ipv6 router ospf 1 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ip ospf network point-to-point ip ospf 1 area 0 ipv6 ospf network point-to-point ipv6 ospf 1 area 0 ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit interface gigabit2 ip address 1.1.2.2 255.255.255.0 ipv6 enable ip ospf network point-to-point ip ospf 1 area 0 ipv6 ospf network point-to-point ipv6 ospf 1 area 0 ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit interface Tunnel1 ip address 3.3.3.2 255.255.255.252 tunnel mode mpls traffic-eng tunnel destination 2.2.2.1 tunnel mpls traffic-eng path-option 1 dynamic exit interface Tunnel2 ip address 3.3.3.6 255.255.255.252 tunnel mode mpls traffic-eng tunnel destination 2.2.2.3 tunnel mpls traffic-eng path-option 1 dynamic exit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 traffeng 2.2.2.3 area 0 ena area 0 traff red conn exit router ospf6 1 vrf v1 router 6.6.6.3 traffeng 6.6.6.3 area 0 ena area 0 traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou eth1 tun dest 2.2.2.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 exit int tun2 bandwidth 11 tun sou eth1 tun dest 2.2.2.1 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.10 255.255.255.252 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 3.3.3.6 vrf v1 r1 tping 100 60 3.3.3.10 vrf v1 r3 tping 100 60 3.3.3.9 vrf v1 freeRtr-25.11.9/cfg/intop1-ospf08.tst000066400000000000000000000027001510423065500171240ustar00rootroot00000000000000description interop1: ospf prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router ospf 1 redistribute connected subnets exit ipv6 router ospf 1 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ip ospf network point-to-point ip ospf 1 area 0 ipv6 ospf network point-to-point ipv6 ospf 1 area 0 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router ospf4 1 r1 send no red conn r1 send exit r1 send router ospf6 1 r1 send no red conn r1 send end r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router ospf4 1 r1 send red conn r1 send exit r1 send router ospf6 1 r1 send red conn r1 send end r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-ospf09.tst000066400000000000000000000022151510423065500171260ustar00rootroot00000000000000description interop1: ospf text authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router ospf 1 redistribute connected subnets exit ipv6 router ospf 1 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ip ospf network point-to-point ip ospf authentication ip ospf authentication-key tester ip ospf 1 area 0 ipv6 ospf network point-to-point ipv6 ospf 1 area 0 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-ospf10.tst000066400000000000000000000055741510423065500171310ustar00rootroot00000000000000description interop1: ospf p2mp te exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 traffeng 2.2.2.1 area 0 ena area 0 traff red conn exit router ospf6 1 vrf v1 router 6.6.6.1 traffeng 6.6.6.1 area 0 ena area 0 traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable mpls rsvp4 mpls rsvp6 exit interface tunnel1 bandwidth 11 tunnel source loopback0 tunnel destination 9.9.9.9 tunnel domain-name 2.2.2.3 tunnel vrf v1 tunnel mode p2mpte vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing mpls traffic-eng tunnels no mpls traffic-eng signalling advertise implicit-null interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router ospf 1 mpls traffic-eng router-id Loopback0 mpls traffic-eng area 0 redistribute connected subnets exit ipv6 router ospf 1 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ip ospf network point-to-point ip ospf 1 area 0 ipv6 ospf network point-to-point ipv6 ospf 1 area 0 ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit interface gigabit2 ip address 1.1.2.2 255.255.255.0 ipv6 enable ip ospf network point-to-point ip ospf 1 area 0 ipv6 ospf network point-to-point ipv6 ospf 1 area 0 ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit ! addrouter r3 int eth1 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 traffeng 2.2.2.3 area 0 ena area 0 traff red conn exit router ospf6 1 vrf v1 router 6.6.6.3 traffeng 6.6.6.3 area 0 ena area 0 traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr fe80::3 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable mpls rsvp4 mpls rsvp6 exit interface tunnel1 bandwidth 11 tunnel source loopback0 tunnel destination 9.9.9.9 tunnel domain-name 2.2.2.1 tunnel vrf v1 tunnel mode p2mpte vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.3 vrf v1 sou lo0 r3 tping 100 60 3.3.3.1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-ospf11.tst000066400000000000000000000072721510423065500171270ustar00rootroot00000000000000description interop1: ospf sr addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny all 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.1 traffeng 2.2.2.1 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.1 traffeng 6.6.6.1 segrout 10 area 0 ena area 0 segrout red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable router ospf4 1 ena router ospf4 1 segrout index 1 router ospf4 1 segrout node router ospf6 1 ena router ospf6 1 segrout index 2 router ospf6 1 segrout node exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing mpls traffic-eng tunnels no mpls traffic-eng signalling advertise implicit-null interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit segment-routing mpls set-attributes address-family ipv4 explicit-null connected-prefix-sid-map address-family ipv4 2.2.2.2/32 index 3 router ospf 1 mpls traffic-eng router-id Loopback0 mpls traffic-eng area 0 segment-routing area 0 mpls segment-routing mpls redistribute connected subnets exit ipv6 router ospf 1 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ip ospf network point-to-point ip ospf 1 area 0 ipv6 ospf network point-to-point ipv6 ospf 1 area 0 ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit interface gigabit2 ip address 1.1.2.2 255.255.255.0 ipv6 enable ip ospf network point-to-point ip ospf 1 area 0 ipv6 ospf network point-to-point ipv6 ospf 1 area 0 ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit ! addrouter r3 int eth1 eth 0000.0000.1111 $per2$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny all 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.3 traffeng 2.2.2.3 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.3 traffeng 6.6.6.3 segrout 10 area 0 ena area 0 segrout red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable router ospf4 1 ena router ospf4 1 segrout index 5 router ospf4 1 segrout node router ospf6 1 ena router ospf6 1 segrout index 6 router ospf6 1 segrout node exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit ! r1 tping 0 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 0 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/intop1-ospf12.tst000066400000000000000000000073631510423065500171310ustar00rootroot00000000000000description interop1: ospf php sr addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny all 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.1 traffeng 2.2.2.1 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.1 traffeng 6.6.6.1 segrout 10 area 0 ena area 0 segrout red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable router ospf4 1 ena router ospf4 1 segrout index 1 router ospf4 1 segrout node router ospf4 1 segrout pop router ospf6 1 ena router ospf6 1 segrout index 2 router ospf6 1 segrout node router ospf6 1 segrout pop exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing mpls traffic-eng tunnels interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit segment-routing mpls set-attributes address-family ipv4 explicit-null connected-prefix-sid-map address-family ipv4 2.2.2.2/32 index 3 router ospf 1 mpls traffic-eng router-id Loopback0 mpls traffic-eng area 0 segment-routing area 0 mpls segment-routing mpls redistribute connected subnets exit ipv6 router ospf 1 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ip ospf network point-to-point ip ospf 1 area 0 ipv6 ospf network point-to-point ipv6 ospf 1 area 0 ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit interface gigabit2 ip address 1.1.2.2 255.255.255.0 ipv6 enable ip ospf network point-to-point ip ospf 1 area 0 ipv6 ospf network point-to-point ipv6 ospf 1 area 0 ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit ! addrouter r3 int eth1 eth 0000.0000.1111 $per2$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny all 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.3 traffeng 2.2.2.3 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.3 traffeng 6.6.6.3 segrout 10 area 0 ena area 0 segrout red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable router ospf4 1 ena router ospf4 1 segrout index 5 router ospf4 1 segrout node router ospf4 1 segrout pop router ospf6 1 ena router ospf6 1 segrout index 6 router ospf6 1 segrout node router ospf6 1 segrout pop exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit ! r1 tping 0 10 1.1.1.2 vrf v1 r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 sou lo0 r3 tping 0 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/intop1-ospf13.tst000066400000000000000000000103741510423065500171260ustar00rootroot00000000000000description interop1: ospf te with pcep addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 traffeng 2.2.2.1 area 0 ena area 0 traff red conn exit router ospf6 1 vrf v1 router 6.6.6.1 traffeng 6.6.6.1 area 0 ena area 0 traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou eth1 tun dest 2.2.2.2 tun vrf v1 tun dom 1.1.3.2 v1 lo0 tun mod pcete vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 bandwidth 11 tun sou eth1 tun dest 2.2.2.3 tun vrf v1 tun dom 1.1.3.2 v1 lo0 tun mod pcete vrf for v1 ipv4 addr 3.3.3.9 255.255.255.252 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing mpls traffic-eng tunnels no mpls traffic-eng signalling advertise implicit-null mpls traffic-eng pcc peer 1.1.3.2 interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router ospf 1 mpls traffic-eng router-id Loopback0 mpls traffic-eng area 0 redistribute connected subnets exit ipv6 router ospf 1 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ip ospf network point-to-point ip ospf 1 area 0 ipv6 ospf network point-to-point ipv6 ospf 1 area 0 ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit interface gigabit2 ip address 1.1.2.2 255.255.255.0 ipv6 enable ip ospf network point-to-point ip ospf 1 area 0 ipv6 ospf network point-to-point ipv6 ospf 1 area 0 ip rsvp bandwidth mpls traffic-eng tunnels no shutdown exit interface Tunnel1 ip address 3.3.3.2 255.255.255.252 tunnel mode mpls traffic-eng tunnel destination 2.2.2.1 tunnel mpls traffic-eng path-option 1 dynamic pce exit interface Tunnel2 ip address 3.3.3.6 255.255.255.252 tunnel mode mpls traffic-eng tunnel destination 2.2.2.3 tunnel mpls traffic-eng path-option 1 dynamic pce exit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 traffeng 2.2.2.3 area 0 ena area 0 traff red conn exit router ospf6 1 vrf v1 router 6.6.6.3 traffeng 6.6.6.3 area 0 ena area 0 traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int ser1 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 4444::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou eth1 tun dest 2.2.2.2 tun vrf v1 tun dom 1.1.3.2 v1 lo0 tun mod pcete vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 exit int tun2 bandwidth 11 tun sou eth1 tun dest 2.2.2.1 tun vrf v1 tun dom 1.1.3.2 v1 lo0 tun mod pcete vrf for v1 ipv4 addr 3.3.3.10 255.255.255.252 exit ! addrouter r4 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit serv pcep p export-vrf v1 vrf v1 exit router ospf4 1 vrf v1 router 4.4.4.4 traffeng 2.2.2.4 area 0 ena area 0 traff red conn exit router ospf6 1 vrf v1 router 6.6.6.4 traffeng 6.6.6.4 area 0 ena area 0 traff red conn exit int ser1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 4444::2 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit ! r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 4321::1 vrf v1 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 3.3.3.6 vrf v1 r1 tping 100 60 3.3.3.10 vrf v1 r3 tping 100 60 3.3.3.9 vrf v1 freeRtr-25.11.9/cfg/intop1-ospf14.tst000066400000000000000000000023411510423065500171220ustar00rootroot00000000000000description interop1: ospf md5 authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf4 1 authen-id 123 router ospf4 1 authen-type md5 router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router ospf 1 redistribute connected subnets exit ipv6 router ospf 1 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ip ospf network point-to-point ip ospf authentication message-digest ip ospf message-digest-key 123 md5 tester ip ospf 1 area 0 ipv6 ospf network point-to-point ipv6 ospf 1 area 0 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-ospf15.tst000066400000000000000000000024071510423065500171260ustar00rootroot00000000000000description interop1: ospf sha1 authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf4 1 authen-id 123 router ospf4 1 authen-type sha1 router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router ospf 1 redistribute connected subnets exit ipv6 router ospf 1 redistribute connected exit key chain kc1 key 123 key-string tester cryptographic-algorithm hmac-sha-1 interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ip ospf network point-to-point ip ospf authentication key-chain kc1 ip ospf 1 area 0 ipv6 ospf network point-to-point ipv6 ospf 1 area 0 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-ospf16.tst000066400000000000000000000024151510423065500171260ustar00rootroot00000000000000description interop1: ospf sha256 authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf4 1 authen-id 123 router ospf4 1 authen-type sha256 router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router ospf 1 redistribute connected subnets exit ipv6 router ospf 1 redistribute connected exit key chain kc1 key 123 key-string tester cryptographic-algorithm hmac-sha-256 interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ip ospf network point-to-point ip ospf authentication key-chain kc1 ip ospf 1 area 0 ipv6 ospf network point-to-point ipv6 ospf 1 area 0 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-ospf17.tst000066400000000000000000000024151510423065500171270ustar00rootroot00000000000000description interop1: ospf sha384 authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf4 1 authen-id 123 router ospf4 1 authen-type sha384 router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router ospf 1 redistribute connected subnets exit ipv6 router ospf 1 redistribute connected exit key chain kc1 key 123 key-string tester cryptographic-algorithm hmac-sha-384 interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ip ospf network point-to-point ip ospf authentication key-chain kc1 ip ospf 1 area 0 ipv6 ospf network point-to-point ipv6 ospf 1 area 0 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-ospf18.tst000066400000000000000000000024151510423065500171300ustar00rootroot00000000000000description interop1: ospf sha512 authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf4 1 authen-id 123 router ospf4 1 authen-type sha512 router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router ospf 1 redistribute connected subnets exit ipv6 router ospf 1 redistribute connected exit key chain kc1 key 123 key-string tester cryptographic-algorithm hmac-sha-512 interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ip ospf network point-to-point ip ospf authentication key-chain kc1 ip ospf 1 area 0 ipv6 ospf network point-to-point ipv6 ospf 1 area 0 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-pppoe01.tst000066400000000000000000000013761510423065500173010ustar00rootroot00000000000000description interop1: pppoe client addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit prefix-list p1 permit 0.0.0.0/0 exit int di1 enc ppp ppp ip4cp open vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 ppp ip4cp local 0.0.0.0 ipv4 gateway-prefix p1 exit int eth1 p2poe client di1 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface Loopback0 ip address 2.2.2.1 255.255.255.255 exit ip local pool p1 2.2.2.11 2.2.2.99 interface virtual-template1 ip unnumbered Loopback0 peer default ip address pool p1 exit vpdn enable bba-group pppoe global virtual-template 1 ac name inet exit interface gigabit1 pppoe enable group global no shutdown exit ! r1 tping 100 60 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/intop1-pppoe02.tst000066400000000000000000000012371510423065500172760ustar00rootroot00000000000000description interop1: pppoe server addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr fe80::1234 ffff:: ppp ip4cp local 2.2.2.1 ppp ip4cp open ppp ip6cp open exit int eth1 p2poe server di1 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface dialer1 encapsulation ppp ip address 2.2.2.2 255.255.255.0 ipv6 address fe80::4321 link-local dialer pool 1 dialer persistent exit interface gigabit1 pppoe-client dial-pool-number 1 no shutdown exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 fe80::4321 vrf v1 freeRtr-25.11.9/cfg/intop1-pppoe03.tst000066400000000000000000000013571510423065500173020ustar00rootroot00000000000000description interop1: pppoe with pap addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr fe80::1234 ffff:: ppp ip4cp local 2.2.2.1 ppp ip4cp open ppp ip6cp open ppp user usr ppp pass pwd exit int eth1 p2poe server di1 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing username usr password pwd interface dialer1 encapsulation ppp ip address 2.2.2.2 255.255.255.0 ipv6 address fe80::4321 link-local dialer pool 1 dialer persistent ppp authentication pap exit interface gigabit1 pppoe-client dial-pool-number 1 no shutdown exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 fe80::4321 vrf v1 freeRtr-25.11.9/cfg/intop1-pppoe04.tst000066400000000000000000000013611510423065500172760ustar00rootroot00000000000000description interop1: pppoe with chap addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr fe80::1234 ffff:: ppp ip4cp local 2.2.2.1 ppp ip4cp open ppp ip6cp open ppp user usr ppp pass pwd exit int eth1 p2poe server di1 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing username usr password pwd interface dialer1 encapsulation ppp ip address 2.2.2.2 255.255.255.0 ipv6 address fe80::4321 link-local dialer pool 1 dialer persistent ppp authentication chap exit interface gigabit1 pppoe-client dial-pool-number 1 no shutdown exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 fe80::4321 vrf v1 freeRtr-25.11.9/cfg/intop1-pppoe05.tst000066400000000000000000000013761510423065500173050ustar00rootroot00000000000000description interop1: pppoe with eap addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr fe80::1234 ffff:: ppp ip4cp local 2.2.2.1 ppp ip4cp open ppp ip6cp open ppp user usr ppp pass pwd exit int eth1 p2poe server di1 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing username usr password pwd interface dialer1 encapsulation ppp ip address 2.2.2.2 255.255.255.0 ipv6 address fe80::4321 link-local dialer pool 1 dialer persistent ppp authentication eap ppp eap local exit interface gigabit1 pppoe-client dial-pool-number 1 no shutdown exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 fe80::4321 vrf v1 freeRtr-25.11.9/cfg/intop1-pppoe06.tst000066400000000000000000000015021510423065500172750ustar00rootroot00000000000000description interop1: pppoe with long multilink fragmentation addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr fe80::1234 ffff:: ppp ip4cp local 2.2.2.1 ppp ip4cp open ppp ip6cp open ppp multi 1500 long ppp frag 256 exit int eth1 p2poe server di1 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface dialer1 encapsulation ppp ppp multilink ppp multilink fragment size 111 ppp multilink fragment maximum 16 ip address 2.2.2.2 255.255.255.0 ipv6 address fe80::4321 link-local dialer pool 1 dialer persistent exit interface gigabit1 pppoe-client dial-pool-number 1 no shutdown exit ! r1 tping 100 60 2.2.2.2 vrf v1 siz 1111 r1 tping 100 60 fe80::4321 vrf v1 siz 1111 freeRtr-25.11.9/cfg/intop1-radius.tst000066400000000000000000000026751510423065500173070ustar00rootroot00000000000000description interop1: radius addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit aaa userlist usr username usr password pwd exit server radius rad authen usr secret tester vrf v1 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit interface gigabit2 ip address 2.2.2.1 255.255.255.0 ipv6 address 4321::1/64 no shutdown exit aaa new-model aaa authentication login default group radius radius server radius address ipv4 1.1.1.1 auth-port 1812 acct-port 1813 key tester exit line vty 0 4 transport input all transport output all no motd-banner no exec-banner no vacant-message exit ! addrouter r3 int eth1 eth 0000.0000.1111 $per2$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit int lo1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.255 exit server tel tel vrf v1 security protocol tel exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 r3 tping 100 10 4321::1 vrf v1 r1 send telnet 1.1.1.2 vrf v1 telnet sleep 1000 r1 send usr sleep 1000 r1 send pwd sleep 3000 r1 char 13 r1 read vxe# r1 send telnet 2.2.2.2 sleep 3000 r1 tping 100 10 3.3.3.3 vrf v1 freeRtr-25.11.9/cfg/intop1-rip01.tst000066400000000000000000000016571510423065500167520ustar00rootroot00000000000000description interop1: rip addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router rip4 1 ena router rip6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router rip version 2 redistribute connected no auto-summary network 1.0.0.0 exit ipv6 router rip 1 redistribute connected exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ipv6 rip 1 enable no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-rip02.tst000066400000000000000000000030671510423065500167500ustar00rootroot00000000000000description interop1: rip prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router rip4 1 ena router rip4 1 update-time 5000 router rip4 1 hold-time 15000 router rip4 1 flush-time 15000 router rip6 1 ena router rip6 1 update-time 5000 router rip6 1 hold-time 15000 router rip6 1 flush-time 15000 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router rip version 2 redistribute connected no auto-summary timers basic 5 15 15 15 network 1.0.0.0 exit ipv6 router rip 1 redistribute connected timers 5 15 15 15 exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ipv6 rip 1 enable no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router rip4 1 r1 send no red conn r1 send exit r1 send router rip6 1 r1 send no red conn r1 send end r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router rip4 1 r1 send red conn r1 send exit r1 send router rip6 1 r1 send red conn r1 send end r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-rip03.tst000066400000000000000000000021141510423065500167410ustar00rootroot00000000000000description interop1: rip authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router rip4 1 ena router rip4 1 pass tester router rip6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface loopback0 ip addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router rip version 2 redistribute connected no auto-summary network 1.0.0.0 exit ipv6 router rip 1 redistribute connected exit key chain kc key 0 key-string tester exit interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 enable ip rip authentication key-chain kc ip rip authentication mode text ipv6 rip 1 enable no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop1-ssh.tst000066400000000000000000000024521510423065500166060ustar00rootroot00000000000000description interop1: ssh exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit interface gigabit2 ip address 2.2.2.1 255.255.255.0 ipv6 address 4321::1/64 no shutdown exit ip domain name lab aaa new-model aaa authentication login default local username usr password pwd crypto key generate rsa modulus 2048 line vty 0 4 transport input all transport output all no motd-banner no exec-banner no vacant-message exit ! addrouter r3 int eth1 eth 0000.0000.1111 $per2$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit int lo1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.255 exit server tel tel vrf v1 security protocol tel exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 r3 tping 100 10 4321::1 vrf v1 r1 send telnet 1.1.1.2 vrf v1 ssh r1 send usr r1 send pwd sleep 5000 r1 char 13 r1 read vxe# r1 send telnet 2.2.2.2 sleep 5000 r1 tping 100 10 3.3.3.3 vrf v1 freeRtr-25.11.9/cfg/intop1-tacacs.tst000066400000000000000000000026411510423065500172470ustar00rootroot00000000000000description interop1: tacacs addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit aaa userlist usr username usr password pwd exit server tacacs tac authen usr secret tester vrf v1 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2211 $per2$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit interface gigabit2 ip address 2.2.2.1 255.255.255.0 ipv6 address 4321::1/64 no shutdown exit aaa new-model aaa authentication login default group tacacs+ tacacs server tacacs+ address ipv4 1.1.1.1 key tester exit line vty 0 4 transport input all transport output all no motd-banner no exec-banner no vacant-message exit ! addrouter r3 int eth1 eth 0000.0000.1111 $per2$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit int lo1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.255 exit server tel tel vrf v1 security protocol tel exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 r3 tping 100 10 4321::1 vrf v1 r1 send telnet 1.1.1.2 vrf v1 telnet sleep 1000 r1 send usr sleep 1000 r1 send pwd sleep 3000 r1 char 13 r1 read vxe# r1 send telnet 2.2.2.2 sleep 3000 r1 tping 100 10 3.3.3.3 vrf v1 freeRtr-25.11.9/cfg/intop1-tun01.tst000066400000000000000000000023061510423065500167560ustar00rootroot00000000000000description interop1: gre tunnel addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 2222::1 ffff:: exit int tun2 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 3333::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit interface tunnel1 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode gre ip ip address 2.2.2.2 255.255.255.0 ipv6 address 2222::2/64 exit interface tunnel2 tunnel source gigabit1 tunnel destination 1234::1 tunnel mode gre ipv6 ip address 3.3.3.2 255.255.255.0 ipv6 address 3333::2/64 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 2222::2 vrf v1 r1 tping 100 10 3.3.3.2 vrf v1 r1 tping 100 10 3333::2 vrf v1 freeRtr-25.11.9/cfg/intop1-tun02.tst000066400000000000000000000016401510423065500167570ustar00rootroot00000000000000description interop1: ipip tunnel addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode ipip tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 2222::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit interface tunnel1 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipip ip address 2.2.2.2 255.255.255.0 exit interface tunnel2 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode ipv6ip ipv6 address 2222::2/64 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 2222::2 vrf v1 freeRtr-25.11.9/cfg/intop1-tun03.tst000066400000000000000000000021351510423065500167600ustar00rootroot00000000000000description interop1: vxlan tunnel addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit bridge 1 exit vpdn bvi1 bridge-group 1 proxy p1 target 1.1.1.2 vcid 1111 pwtype atm-port protocol vxlan exit int bvi1 macaddr 0000.0000.1234 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 2222::1 ffff:: ipv4 host-static 2.2.2.2 0000.0000.4321 ipv6 host-static 2222::2 0000.0000.4321 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! ip routing ipv6 unicast-routing interface gigabit1 ip address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit vxlan source-port-range dummy-l2-tunnel-udp 4789 4789 interface Tunnel1 tunnel source gigabit1 tunnel destination 1.1.1.1 tunnel mode vxlan ipv4 0000.0000.4321 0000.0000.1234 tunnel vxlan vni 1111 ip address 2.2.2.2 255.255.255.252 ipv6 address 2222::2/64 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 !r1 tping 100 10 2222::2 vrf v1 freeRtr-25.11.9/cfg/intop1.ini000066400000000000000000000011111510423065500157470ustar00rootroot00000000000000../img/v8k.img -M pc-i440fx-7.1 4096 4 vmxnet3 0 .*Line protocol on Interface GigabitEthernet1, changed state to up enable terminal length 0 configure terminal !!!separator- end configure replace nvram:startup-config force configure terminal !license boot level network-premier addon dna-premier no logging console !not to put into startup config hostname vxe no ip domain lookup cdp run crypto engine compliance shield disable interface gigabit1 cdp enable no shutdown exit line vty 0 4 transport input all transport output all no login privilege level 15 exit freeRtr-25.11.9/cfg/intop2-bgp01.tst000066400000000000000000000024571510423065500167300ustar00rootroot00000000000000description interop2: ebgp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit route-policy all pass end-policy router bgp 2 address-family ipv4 unicast redistribute connected address-family ipv6 unicast redistribute connected neighbor 1.1.1.1 remote-as 1 address-family ipv4 unicast route-policy all in route-policy all out neighbor 1234::1 remote-as 1 address-family ipv6 unicast route-policy all in route-policy all out root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-bgp02.tst000066400000000000000000000022231510423065500167200ustar00rootroot00000000000000description interop2: ibgp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit router bgp 1 address-family ipv4 unicast redistribute connected address-family ipv6 unicast redistribute connected neighbor 1.1.1.1 remote-as 1 address-family ipv4 unicast neighbor 1234::1 remote-as 1 address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-bgp03.tst000066400000000000000000000034551510423065500167310ustar00rootroot00000000000000description interop2: bgp locpref addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match locpref 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface loopback1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3/128 exit interface loopback2 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit route-policy rp1 if destination in (2.2.2.3/32, 4321::3/128) then set local-preference 1234 else set local-preference 4321 endif pass end-policy router bgp 1 address-family ipv4 unicast redistribute connected route-policy rp1 address-family ipv6 unicast redistribute connected route-policy rp1 neighbor 1.1.1.1 remote-as 1 address-family ipv4 unicast neighbor 1234::1 remote-as 1 address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-bgp04.tst000066400000000000000000000034311510423065500167240ustar00rootroot00000000000000description interop2: bgp origin addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match origin 2 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface loopback1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3/128 exit interface loopback2 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit route-policy rp1 if destination in (2.2.2.3/32, 4321::3/128) then set origin incomplete else set origin igp endif pass end-policy router bgp 1 address-family ipv4 unicast redistribute connected route-policy rp1 address-family ipv6 unicast redistribute connected route-policy rp1 neighbor 1.1.1.1 remote-as 1 address-family ipv4 unicast neighbor 1234::1 remote-as 1 address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-bgp05.tst000066400000000000000000000034211510423065500167240ustar00rootroot00000000000000description interop2: bgp metric addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match metric 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface loopback1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3/128 exit interface loopback2 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit route-policy rp1 if destination in (2.2.2.3/32, 4321::3/128) then set med 1234 else set med 4321 endif pass end-policy router bgp 1 address-family ipv4 unicast redistribute connected route-policy rp1 address-family ipv6 unicast redistribute connected route-policy rp1 neighbor 1.1.1.1 remote-as 1 address-family ipv4 unicast neighbor 1234::1 remote-as 1 address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-bgp06.tst000066400000000000000000000035601510423065500167310ustar00rootroot00000000000000description interop2: bgp community addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match stdcomm 1234:4321 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 neigh 1234::2 send-comm both red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface loopback1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3/128 exit interface loopback2 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit route-policy rp1 if destination in (2.2.2.3/32, 4321::3/128) then set community (1234:4321) else set community (1234:1234) endif pass end-policy router bgp 1 address-family ipv4 unicast redistribute connected route-policy rp1 address-family ipv6 unicast redistribute connected route-policy rp1 neighbor 1.1.1.1 remote-as 1 address-family ipv4 unicast neighbor 1234::1 remote-as 1 address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-bgp07.tst000066400000000000000000000037011510423065500167270ustar00rootroot00000000000000description interop2: bgp aspath addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match aspath .*1234.* sequence 20 act permit exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 route-map-in rm1 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface loopback1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3/128 exit interface loopback2 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit route-policy rp1 if destination in (2.2.2.3/32, 4321::3/128) then prepend as-path 1234 else prepend as-path 4321 endif pass end-policy route-policy all pass end-policy router bgp 2 address-family ipv4 unicast redistribute connected route-policy rp1 address-family ipv6 unicast redistribute connected route-policy rp1 neighbor 1.1.1.1 remote-as 1 address-family ipv4 unicast route-policy all in route-policy all out neighbor 1234::1 remote-as 1 address-family ipv6 unicast route-policy all in route-policy all out root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-bgp08.tst000066400000000000000000000075701510423065500167400ustar00rootroot00000000000000description interop2: bgp with labels addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2221 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234:1::2/64 no shutdown exit interface gigabit0/0/0/1 ipv4 address 1.1.2.2 255.255.255.0 ipv6 address 1234:2::2/64 no shutdown exit router static address-family ipv4 unicast 1.1.1.1/32 gigabit0/0/0/0 1.1.1.1 address-family ipv4 unicast 1.1.2.1/32 gigabit0/0/0/1 1.1.2.1 address-family ipv6 unicast 1234:1::1/128 gigabit0/0/0/0 1234:1::1 address-family ipv6 unicast 1234:2::1/128 gigabit0/0/0/1 1234:2::1 route-policy all pass end-policy router bgp 2 mpls activate interface gigabit0/0/0/0 interface gigabit0/0/0/1 address-family ipv4 unicast allocate-label all redistribute connected address-family ipv6 unicast allocate-label all redistribute connected neighbor 1.1.1.1 remote-as 1 ebgp-multihop address-family ipv4 labeled-unicast route-policy all in route-policy all out neighbor 1.1.2.1 remote-as 3 ebgp-multihop address-family ipv4 labeled-unicast route-policy all in route-policy all out ! neighbor 1234:1::1 ! remote-as 1 ! ebgp-multihop ! address-family ipv6 labeled-unicast ! route-policy all in ! route-policy all out ! neighbor 1234:2::1 ! remote-as 3 ! ebgp-multihop ! address-family ipv6 labeled-unicast ! route-policy all in ! route-policy all out root commit ! addrouter r3 int eth1 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 4.4.4.3 neigh 1.1.2.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 6.6.6.3 neigh 1234:2::2 remote-as 2 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit ! r1 tping 0 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 !r1 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 !r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 !r1 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 !r3 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/intop2-bgp09.tst000066400000000000000000000026301510423065500167310ustar00rootroot00000000000000description interop2: bgp addpath addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 additional-path-tx uni neigh 1.1.1.2 additional-path-rx uni red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 additional-path-tx uni neigh 1234::2 additional-path-rx uni red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit router bgp 1 address-family ipv4 unicast additional-paths receive additional-paths send redistribute connected address-family ipv6 unicast additional-paths receive additional-paths send redistribute connected neighbor 1.1.1.1 remote-as 1 address-family ipv4 unicast neighbor 1234::1 remote-as 1 address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-bgp10.tst000066400000000000000000000030601510423065500167170ustar00rootroot00000000000000description interop2: bgp prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit router bgp 1 address-family ipv4 unicast redistribute connected address-family ipv6 unicast redistribute connected neighbor 1.1.1.1 remote-as 1 address-family ipv4 unicast neighbor 1234::1 remote-as 1 address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router bgp4 1 r1 send no red conn r1 send exit r1 send router bgp6 1 r1 send no red conn r1 send end r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router bgp4 1 r1 send red conn r1 send exit r1 send router bgp6 1 r1 send red conn r1 send end r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-bgp11.tst000066400000000000000000000060301510423065500167200ustar00rootroot00000000000000description interop2: bgp vpnv4 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit mpls ldp address-family ipv4 address-family ipv6 interface gigabit0/0/0/0 address-family ipv4 address-family ipv6 router static address-family ipv4 unicast 2.2.2.1/32 1.1.1.1 gigabit0/0/0/0 address-family ipv6 unicast 4321::1/128 1234::1 gigabit0/0/0/0 exit vrf v2 address-family ipv4 unicast import route-target 1:2 export route-target 1:2 address-family ipv6 unicast import route-target 1:2 export route-target 1:2 vrf v3 address-family ipv4 unicast import route-target 1:3 export route-target 1:3 address-family ipv6 unicast import route-target 1:3 export route-target 1:3 interface loopback2 vrf v2 ipv4 address 9.9.2.2 255.255.255.255 ipv6 address 9992::2/128 exit interface loopback3 vrf v3 ipv4 address 9.9.3.2 255.255.255.255 ipv6 address 9993::2/128 exit router bgp 1 address-family vpnv4 unicast address-family vpnv6 unicast neighbor 2.2.2.1 remote-as 1 update-source loopback0 address-family vpnv4 unicast ! neighbor 4321::1 ! remote-as 1 ! update-source loopback0 ! address-family vpnv6 unicast vrf v2 rd 1:2 address-family ipv4 unicast redistribute connected address-family ipv6 unicast redistribute connected vrf v3 rd 1:3 address-family ipv4 unicast redistribute connected address-family ipv6 unicast redistribute connected root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 !r1 tping 100 60 9992::2 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 !r1 tping 100 60 9993::2 vrf v3 freeRtr-25.11.9/cfg/intop2-bgp12.tst000066400000000000000000000024031510423065500167210ustar00rootroot00000000000000description interop2: bgp authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 password tester red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 password tester red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit router bgp 1 address-family ipv4 unicast redistribute connected address-family ipv6 unicast redistribute connected neighbor 1.1.1.1 remote-as 1 password tester address-family ipv4 unicast neighbor 1234::1 remote-as 1 password tester address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-bgp13.tst000066400000000000000000000060421510423065500167250ustar00rootroot00000000000000description interop2: bgp vpnv6 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit mpls ldp address-family ipv4 address-family ipv6 interface gigabit0/0/0/0 address-family ipv4 address-family ipv6 router static address-family ipv4 unicast 2.2.2.1/32 1.1.1.1 gigabit0/0/0/0 address-family ipv6 unicast 4321::1/128 1234::1 gigabit0/0/0/0 exit vrf v2 address-family ipv4 unicast import route-target 1:2 export route-target 1:2 address-family ipv6 unicast import route-target 1:2 export route-target 1:2 vrf v3 address-family ipv4 unicast import route-target 1:3 export route-target 1:3 address-family ipv6 unicast import route-target 1:3 export route-target 1:3 interface loopback2 vrf v2 ipv4 address 9.9.2.2 255.255.255.255 ipv6 address 9992::2/128 exit interface loopback3 vrf v3 ipv4 address 9.9.3.2 255.255.255.255 ipv6 address 9993::2/128 exit router bgp 1 address-family vpnv4 unicast address-family vpnv6 unicast neighbor 2.2.2.1 remote-as 1 update-source loopback0 address-family vpnv6 unicast ! neighbor 4321::1 ! remote-as 1 ! update-source loopback0 ! address-family vpnv4 unicast vrf v2 rd 1:2 address-family ipv4 unicast redistribute connected address-family ipv6 unicast redistribute connected vrf v3 rd 1:3 address-family ipv4 unicast redistribute connected address-family ipv6 unicast redistribute connected root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 !r1 tping 100 60 9.9.2.2 vrf v2 r1 tping 100 60 9992::2 vrf v2 !r1 tping 100 60 9.9.3.2 vrf v3 r1 tping 100 60 9993::2 vrf v3 freeRtr-25.11.9/cfg/intop2-bgp14.tst000066400000000000000000000043331510423065500167270ustar00rootroot00000000000000description interop2: vpls/ldp over bgp exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit mpls ldp address-family ipv4 address-family ipv6 interface gigabit0/0/0/0 address-family ipv4 address-family ipv6 l2vpn bridge group a bridge-domain a vfi a autodiscovery bgp rd 1:1 route-target import 1:1 route-target export 1:1 signaling-protocol ldp vpls-id 1:1 routed interface bvi1 root interface bvi1 ipv4 address 3.3.3.2 255.255.255.252 ipv6 address 4444::2/64 no shutdown exit router static address-family ipv4 unicast 2.2.2.1/32 1.1.1.1 gigabit0/0/0/0 address-family ipv6 unicast 4321::1/128 1234::1 gigabit0/0/0/0 exit router bgp 1 address-family l2vpn vpls-vpws neighbor 2.2.2.1 remote-as 1 update-source loopback0 address-family l2vpn vpls-vpws ! neighbor 4321::1 ! remote-as 1 ! update-source loopback0 ! address-family l2vpn vpls-vpws root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 freeRtr-25.11.9/cfg/intop2-bgp15.tst000066400000000000000000000044011510423065500167240ustar00rootroot00000000000000description interop2: vpls/bgp over bgp exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit mpls ldp address-family ipv4 address-family ipv6 interface gigabit0/0/0/0 address-family ipv4 address-family ipv6 l2vpn bridge group a bridge-domain a vfi a vpn-id 1 autodiscovery bgp rd 1:1 route-target import 1:1 route-target export 1:1 signaling-protocol bgp ve-id 2 routed interface bvi1 root interface bvi1 ipv4 address 3.3.3.2 255.255.255.252 ipv6 address 4444::2/64 no shutdown exit router static address-family ipv4 unicast 2.2.2.1/32 1.1.1.1 gigabit0/0/0/0 address-family ipv6 unicast 4321::1/128 1234::1 gigabit0/0/0/0 exit router bgp 1 address-family l2vpn vpls-vpws neighbor 2.2.2.1 remote-as 1 update-source loopback0 address-family l2vpn vpls-vpws ! neighbor 4321::1 ! remote-as 1 ! update-source loopback0 ! address-family l2vpn vpls-vpws root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 freeRtr-25.11.9/cfg/intop2-bgp16.tst000066400000000000000000000043021510423065500167250ustar00rootroot00000000000000description interop2: evpn/pbb over bgp exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:101 rt-both 1:101 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit mpls ldp address-family ipv4 address-family ipv6 interface gigabit0/0/0/0 address-family ipv4 address-family ipv6 l2vpn bridge group a bridge-domain core pbb core evi 1 bridge-domain edge pbb edge i-sid 101 core-bridge core routed interface bvi1 root interface bvi1 ipv4 address 3.3.3.2 255.255.255.252 ipv6 address 4444::2/64 no shutdown exit router static address-family ipv4 unicast 2.2.2.1/32 1.1.1.1 gigabit0/0/0/0 address-family ipv6 unicast 4321::1/128 1234::1 gigabit0/0/0/0 exit router bgp 1 address-family l2vpn evpn neighbor 2.2.2.1 remote-as 1 update-source loopback0 address-family l2vpn evpn ! neighbor 4321::1 ! remote-as 1 ! update-source loopback0 ! address-family l2vpn evpn root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 freeRtr-25.11.9/cfg/intop2-bgp17.tst000066400000000000000000000036241510423065500167340ustar00rootroot00000000000000description interop2: bgp extended community addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match extcomm 17153:33036:1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 neigh 1234::2 send-comm both red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface loopback1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3/128 exit interface loopback2 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit route-policy rp1 if destination in (2.2.2.3/32, 4321::3/128) then set extcommunity cost (igp:12:1234) else set extcommunity cost (igp:23:4321) endif pass end-policy router bgp 1 address-family ipv4 unicast redistribute connected route-policy rp1 address-family ipv6 unicast redistribute connected route-policy rp1 neighbor 1.1.1.1 remote-as 1 address-family ipv4 unicast neighbor 1234::1 remote-as 1 address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-bgp18.tst000066400000000000000000000036051510423065500167340ustar00rootroot00000000000000description interop2: bgp large community addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match lrgcomm 12:34:1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 neigh 1234::2 send-comm both red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface loopback1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3/128 exit interface loopback2 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit route-policy rp1 if destination in (2.2.2.3/32, 4321::3/128) then set large-community (12:34:1234) else set large-community (23:45:4321) endif pass end-policy router bgp 1 address-family ipv4 unicast redistribute connected route-policy rp1 address-family ipv6 unicast redistribute connected route-policy rp1 neighbor 1.1.1.1 remote-as 1 address-family ipv4 unicast neighbor 1234::1 remote-as 1 address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-bgp19.tst000066400000000000000000000070211510423065500167310ustar00rootroot00000000000000description interop2: bgp vpnv4 over srv6 exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 2222:: ffff:ffff:: tun sour eth1 tun dest 2222:: tun vrf v1 tun mod srv6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 1111:: ffff:: 1234::2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 segrou afi-vrf v2 ena afi-vrf v2 srv6 tun1 afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 srv6 tun1 afi-vrf v3 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 send-comm both neigh 1234::2 segrou neigh 1234::2 extended-nexthop-current ovpnuni afi-ovrf v2 ena afi-ovrf v2 srv6 tun1 afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 srv6 tun1 afi-ovrf v3 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit router static address-family ipv4 unicast 2.2.2.1/32 1.1.1.1 gigabit0/0/0/0 address-family ipv6 unicast 4321::1/128 1234::1 gigabit0/0/0/0 address-family ipv6 unicast 2222::/64 1234::1 gigabit0/0/0/0 exit vrf v2 address-family ipv4 unicast import route-target 1:2 export route-target 1:2 address-family ipv6 unicast import route-target 1:2 export route-target 1:2 vrf v3 address-family ipv4 unicast import route-target 1:3 export route-target 1:3 address-family ipv6 unicast import route-target 1:3 export route-target 1:3 interface loopback2 vrf v2 ipv4 address 9.9.2.2 255.255.255.255 ipv6 address 9992::2/128 exit interface loopback3 vrf v3 ipv4 address 9.9.3.2 255.255.255.255 ipv6 address 9993::2/128 exit segment-routing srv6 locators locator a micro-segment behavior unode psp-usd prefix 1111:1111:1111::/48 segment-routing srv6 encapsulation source-address 4321::2 router bgp 2 segment-routing srv6 locator a address-family vpnv4 unicast segment-routing srv6 locator a address-family vpnv6 unicast segment-routing srv6 locator a neighbor 1234::1 remote-as 1 address-family vpnv4 unicast vrf v2 rd 1:2 address-family ipv4 unicast segment-routing srv6 alloc mode per-ce redistribute connected address-family ipv6 unicast segment-routing srv6 alloc mode per-ce redistribute connected vrf v3 rd 1:3 address-family ipv4 unicast segment-routing srv6 alloc mode per-ce redistribute connected address-family ipv6 unicast segment-routing srv6 alloc mode per-ce redistribute connected root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 !r1 tping 100 60 9992::2 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 !r1 tping 100 60 9993::2 vrf v3 freeRtr-25.11.9/cfg/intop2-bgp20.tst000066400000000000000000000067511510423065500167320ustar00rootroot00000000000000description interop2: bgp vpnv6 over srv6 exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 2222:: ffff:ffff:: tun sour eth1 tun dest 2222:: tun vrf v1 tun mod srv6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 1111:: ffff:: 1234::2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 segrou afi-ovrf v2 ena afi-ovrf v2 srv6 tun1 afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 srv6 tun1 afi-ovrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 send-comm both neigh 1234::2 segrou afi-ovrf v2 ena afi-ovrf v2 srv6 tun1 afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 srv6 tun1 afi-ovrf v3 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit router static address-family ipv4 unicast 2.2.2.1/32 1.1.1.1 gigabit0/0/0/0 address-family ipv6 unicast 4321::1/128 1234::1 gigabit0/0/0/0 address-family ipv6 unicast 2222::/64 1234::1 gigabit0/0/0/0 exit vrf v2 address-family ipv4 unicast import route-target 1:2 export route-target 1:2 address-family ipv6 unicast import route-target 1:2 export route-target 1:2 vrf v3 address-family ipv4 unicast import route-target 1:3 export route-target 1:3 address-family ipv6 unicast import route-target 1:3 export route-target 1:3 interface loopback2 vrf v2 ipv4 address 9.9.2.2 255.255.255.255 ipv6 address 9992::2/128 exit interface loopback3 vrf v3 ipv4 address 9.9.3.2 255.255.255.255 ipv6 address 9993::2/128 exit segment-routing srv6 locators locator a micro-segment behavior unode psp-usd prefix 1111:1111:1111::/48 segment-routing srv6 encapsulation source-address 4321::2 router bgp 1 segment-routing srv6 locator a address-family vpnv4 unicast segment-routing srv6 locator a address-family vpnv6 unicast segment-routing srv6 locator a neighbor 1234::1 remote-as 1 address-family vpnv4 unicast vrf v2 rd 1:2 address-family ipv4 unicast segment-routing srv6 alloc mode per-vrf redistribute connected address-family ipv6 unicast segment-routing srv6 alloc mode per-vrf redistribute connected vrf v3 rd 1:3 address-family ipv4 unicast segment-routing srv6 alloc mode per-vrf redistribute connected address-family ipv6 unicast segment-routing srv6 alloc mode per-vrf redistribute connected root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 !r1 tping 100 60 9.9.2.2 vrf v2 r1 tping 100 60 9992::2 vrf v2 !r1 tping 100 60 9.9.3.2 vrf v3 r1 tping 100 60 9993::2 vrf v3 freeRtr-25.11.9/cfg/intop2-bgp21.tst000066400000000000000000000024541510423065500167270ustar00rootroot00000000000000description interop2: bgp 6pe addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 mpls enable mpls ldp4 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-other ena afi-other red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 no shutdown exit mpls ldp address-family ipv4 interface gigabit0/0/0/0 address-family ipv4 router static address-family ipv4 unicast 2.2.2.1/32 1.1.1.1 gigabit0/0/0/0 exit router bgp 1 address-family ipv4 unicast allocate-label all redistribute connected address-family ipv6 unicast allocate-label all redistribute connected neighbor 2.2.2.1 remote-as 1 update-source loopback0 address-family ipv4 labeled-unicast address-family ipv6 labeled-unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/intop2-bgp22.tst000066400000000000000000000044061510423065500167270ustar00rootroot00000000000000description interop2: evpn/vpws over bgp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 bridge 1 rd 1:101 rt-both 1:101 mac-learn private exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 3333::1 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 101 bridge 1 afi-evpn 101 encap vpws afi-evpn 101 update lo0 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2222 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 ipv6 enable no shutdown exit interface gigabit0/0/0/1 l2transport no shutdown exit mpls ldp address-family ipv4 address-family ipv6 interface gigabit0/0/0/0 address-family ipv4 address-family ipv6 router static address-family ipv4 unicast 2.2.2.1/32 1.1.1.1 gigabit0/0/0/0 address-family ipv6 unicast 4321::1/128 1234::1 gigabit0/0/0/0 exit l2vpn xconnect group a p2p a interface gigabit0/0/0/1 neighbor evpn evi 101 target 101 source 101 exit router bgp 1 address-family l2vpn evpn neighbor 2.2.2.1 remote-as 1 update-source loopback0 address-family l2vpn evpn ! neighbor 4321::1 ! remote-as 1 ! update-source loopback0 ! address-family l2vpn evpn root commit ! addrouter r3 int eth1 eth 0000.0000.4444 $per2$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 3333::2 ffff:: exit ! r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r3 tping 100 60 3333::1 vrf v1 freeRtr-25.11.9/cfg/intop2-bgp23.tst000066400000000000000000000034371510423065500167330ustar00rootroot00000000000000description interop2: bgp aigp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match aigp 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface loopback1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3/128 exit interface loopback2 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit route-policy rp1 if destination in (2.2.2.3/32, 4321::3/128) then set aigp 1234 else set aigp 4321 endif pass end-policy router bgp 1 address-family ipv4 unicast redistribute connected route-policy rp1 address-family ipv6 unicast redistribute connected route-policy rp1 neighbor 1.1.1.1 remote-as 1 address-family ipv4 unicast aigp neighbor 1234::1 remote-as 1 address-family ipv6 unicast aigp root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-bgp24.tst000066400000000000000000000077241510423065500167370ustar00rootroot00000000000000description interop2: bgp with php labels addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 label-pop red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 label-pop red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2221 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234:1::2/64 no shutdown exit interface gigabit0/0/0/1 ipv4 address 1.1.2.2 255.255.255.0 ipv6 address 1234:2::2/64 no shutdown exit router static address-family ipv4 unicast 1.1.1.1/32 gigabit0/0/0/0 1.1.1.1 address-family ipv4 unicast 1.1.2.1/32 gigabit0/0/0/1 1.1.2.1 address-family ipv6 unicast 1234:1::1/128 gigabit0/0/0/0 1234:1::1 address-family ipv6 unicast 1234:2::1/128 gigabit0/0/0/1 1234:2::1 route-policy all pass end-policy router bgp 2 mpls activate interface gigabit0/0/0/0 interface gigabit0/0/0/1 address-family ipv4 unicast allocate-label all redistribute connected address-family ipv6 unicast allocate-label all redistribute connected neighbor 1.1.1.1 remote-as 1 ebgp-multihop address-family ipv4 labeled-unicast route-policy all in route-policy all out neighbor 1.1.2.1 remote-as 3 ebgp-multihop address-family ipv4 labeled-unicast route-policy all in route-policy all out ! neighbor 1234:1::1 ! remote-as 1 ! ebgp-multihop ! address-family ipv6 labeled-unicast ! route-policy all in ! route-policy all out ! neighbor 1234:2::1 ! remote-as 3 ! ebgp-multihop ! address-family ipv6 labeled-unicast ! route-policy all in ! route-policy all out root commit ! addrouter r3 int eth1 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 4.4.4.3 neigh 1.1.2.2 remote-as 2 neigh 1.1.2.2 label-pop red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 6.6.6.3 neigh 1234:2::2 remote-as 2 neigh 1234:2::2 label-pop red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit ! r1 tping 0 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 !r1 tping 0 60 4321::2 vrf v1 sou lo0 r3 tping 0 60 2.2.2.2 vrf v1 sou lo0 !r3 tping 0 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 !r1 tping 0 60 4321::3 vrf v1 sou lo0 r3 tping 0 60 2.2.2.1 vrf v1 sou lo0 !r3 tping 0 60 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/intop2-bgp25.tst000066400000000000000000000030471510423065500167320ustar00rootroot00000000000000description interop2: bgp ao authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 authen-type sha1 1 neigh 1.1.1.2 password tester red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 authen-type sha1 1 neigh 1234::2 password tester red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit tcp ao keychain kc key 1 SendID 1 ReceiveID 1 exit key chain kc key 1 key-string clear tester send-lifetime 00:00:00 july 09 2022 infinite cryptographic-algorithm HMAC-SHA1-96 exit router bgp 1 address-family ipv4 unicast redistribute connected address-family ipv6 unicast redistribute connected neighbor 1.1.1.1 remote-as 1 ao kc include-tcp-options enable address-family ipv4 unicast neighbor 1234::1 remote-as 1 ao kc include-tcp-options enable address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-bgp26.tst000066400000000000000000000021151510423065500167260ustar00rootroot00000000000000description interop2: bgp extended nexthop addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.2.3.4 255.255.255.255 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp6 1 vrf v1 address uni ouni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 extended-nexthop-current ouni red conn afi-other ena no afi-other vpn afi-other red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 forwarding ipv6 address 1234::2/64 no shutdown exit router bgp 1 address-family ipv4 unicast redistribute connected address-family ipv6 unicast redistribute connected neighbor 1234::1 remote-as 1 address-family ipv4 unicast address-family ipv6 unicast root commit ! r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-eigrp01.tst000066400000000000000000000021651510423065500172620ustar00rootroot00000000000000description interop2: eigrp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router eigrp4 1 ena router eigrp6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit route-policy all set eigrp-metric 1000 1 255 1 1500 pass end-policy router eigrp 1 address-family ipv4 redistribute connected route-policy all interface gigabit0/0/0/0 address-family ipv6 redistribute connected route-policy all interface gigabit0/0/0/0 root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-eigrp02.tst000066400000000000000000000030331510423065500172560ustar00rootroot00000000000000description interop2: eigrp prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router eigrp4 1 ena router eigrp6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit route-policy all set eigrp-metric 1000 1 255 1 1500 pass end-policy router eigrp 1 address-family ipv4 redistribute connected route-policy all interface gigabit0/0/0/0 address-family ipv6 redistribute connected route-policy all interface gigabit0/0/0/0 root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router eigrp4 1 r1 send no red conn r1 send exit r1 send router eigrp6 1 r1 send no red conn r1 send end r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router eigrp4 1 r1 send red conn r1 send exit r1 send router eigrp6 1 r1 send red conn r1 send end r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-eth01.tst000066400000000000000000000006741510423065500167370ustar00rootroot00000000000000description interop2: ethernet encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 freeRtr-25.11.9/cfg/intop2-eth02.tst000066400000000000000000000007711510423065500167360ustar00rootroot00000000000000description interop2: dot1q encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1.123 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface gigabit0/0/0/0 no shutdown exit interface gigabit0/0/0/0.123 encapsulation dot1q 123 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 exit root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 freeRtr-25.11.9/cfg/intop2-eth03.tst000066400000000000000000000010261510423065500167310ustar00rootroot00000000000000description interop2: dot1ad encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 enc dot1ad exit int eth1.123 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface gigabit0/0/0/0 no shutdown exit interface gigabit0/0/0/0.123 encapsulation dot1ad 123 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 exit root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 freeRtr-25.11.9/cfg/intop2-eth04.tst000066400000000000000000000007561510423065500167430ustar00rootroot00000000000000description interop2: point2point ethernet encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.254 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface gigabit0/0/0/0 ipv4 address 1.1.1.3 255.255.255.254 ipv6 address 1234::3/127 no shutdown exit root commit ! r1 tping 100 10 1.1.1.3 vrf v1 r1 tping 100 10 1234::3 vrf v1 freeRtr-25.11.9/cfg/intop2-eth05.tst000066400000000000000000000010401510423065500167270ustar00rootroot00000000000000description interop2: lacp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 lacp 0000.0000.1111 123 12345 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface bundle-ether1 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit interface gigabit0/0/0/0 bundle id 1 mode active lacp period short no shutdown exit root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 freeRtr-25.11.9/cfg/intop2-eth06.tst000066400000000000000000000012311510423065500167320ustar00rootroot00000000000000description interop2: fragmentation and reassembly addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 mtu 1500 enforce-mtu both vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 reassembly 16 ipv4 fragmentation 1400 ipv6 reassembly 16 ipv6 fragmentation 1400 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit root commit ! r1 tping 100 30 1.1.1.2 vrf v1 siz 222 r1 tping 100 30 1234::2 vrf v1 siz 222 r1 tping 100 30 1.1.1.2 vrf v1 siz 2222 r1 tping 100 30 1234::2 vrf v1 siz 2222 freeRtr-25.11.9/cfg/intop2-eth07.tst000066400000000000000000000007231510423065500167400ustar00rootroot00000000000000description interop2: verify source addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 verify rx ipv6 verify rx exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 freeRtr-25.11.9/cfg/intop2-eth08.tst000066400000000000000000000010461510423065500167400ustar00rootroot00000000000000description interop2: qinq encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1.123 exit int eth1.123.1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface gigabit0/0/0/0 no shutdown exit interface gigabit0/0/0/0.1231234 encapsulation dot1q 123 second-dot1q 1234 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 exit root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 freeRtr-25.11.9/cfg/intop2-eth09.tst000066400000000000000000000011211510423065500167330ustar00rootroot00000000000000description interop2: dot1q in dot1ad encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 enc dot1ad exit int eth1.123 enc dot1q exit int eth1.123.1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface gigabit0/0/0/0 no shutdown exit interface gigabit0/0/0/0.1231234 encapsulation dot1ad 123 dot1q 1234 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 exit root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 freeRtr-25.11.9/cfg/intop2-isis01.tst000066400000000000000000000024721510423065500171240ustar00rootroot00000000000000description interop2: point2point isis addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 multi-topology red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/1 ipv6 enable no shutdown exit router isis 1 net 48.0000.0000.1234.00 address-family ipv4 unicast metric-style wide redistribute connected address-family ipv6 unicast metric-style wide redistribute connected interface gigabit0/0/0/0 point-to-point address-family ipv4 unicast interface gigabit0/0/0/1 point-to-point address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-isis02.tst000066400000000000000000000025631510423065500171260ustar00rootroot00000000000000description interop2: isis dis addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 multi-topology red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 net broad router isis4 1 pri 50 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena router isis6 1 net broad router isis6 1 pri 50 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/1 ipv6 enable no shutdown exit router isis 1 net 48.0000.0000.1234.00 address-family ipv4 unicast metric-style wide redistribute connected address-family ipv6 unicast metric-style wide redistribute connected interface gigabit0/0/0/0 address-family ipv4 unicast interface gigabit0/0/0/1 address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 !r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-isis03.tst000066400000000000000000000025661510423065500171320ustar00rootroot00000000000000description interop2: isis nondis addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 multi-topology red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 net broad router isis4 1 pri 70 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena router isis6 1 net broad router isis6 1 pri 70 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/1 ipv6 enable no shutdown exit router isis 1 net 48.0000.0000.1234.00 address-family ipv4 unicast metric-style wide redistribute connected address-family ipv6 unicast metric-style wide redistribute connected interface gigabit0/0/0/0 address-family ipv4 unicast interface gigabit0/0/0/1 address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 !r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-isis04.tst000066400000000000000000000024641510423065500171300ustar00rootroot00000000000000description interop2: isis narrow metric addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 no metric-wide red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 no metric-wide multi-topology red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/1 ipv6 enable no shutdown exit router isis 1 net 48.0000.0000.1234.00 address-family ipv4 unicast redistribute connected address-family ipv6 unicast redistribute connected interface gigabit0/0/0/0 point-to-point address-family ipv4 unicast interface gigabit0/0/0/1 point-to-point address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-isis05.tst000066400000000000000000000072331510423065500171300ustar00rootroot00000000000000description interop2: isis te addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 traffeng 2.2.2.1 both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 traffeng 6.6.6.1 both traff multi-topology red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou eth1 tun dest 2.2.2.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 bandwidth 11 tun sou eth1 tun dest 2.2.2.3 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.9 255.255.255.252 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ int eth3 eth 0000.0000.2224 $per3$ int eth4 eth 0000.0000.2225 $per4$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/1 ipv6 enable no shutdown exit interface gigabit0/0/0/2 ipv4 address 1.1.2.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/3 ipv6 enable no shutdown exit interface tunnel-te1 ipv4 address 3.3.3.2 255.255.255.252 destination 2.2.2.1 path-option 1 dynamic exit interface tunnel-te2 ipv4 address 3.3.3.6 255.255.255.252 destination 2.2.2.3 path-option 1 dynamic exit rsvp interface gigabit0/0/0/0 bandwidth interface gigabit0/0/0/2 bandwidth mpls traffic-eng interface gigabit0/0/0/0 interface gigabit0/0/0/2 router isis 1 net 48.0000.0000.1234.00 address-family ipv4 unicast metric-style wide redistribute connected mpls traffic-eng level-1-2 mpls traffic-eng router-id Loopback0 address-family ipv6 unicast metric-style wide redistribute connected interface gigabit0/0/0/0 point-to-point address-family ipv4 unicast interface gigabit0/0/0/1 point-to-point address-family ipv6 unicast interface gigabit0/0/0/2 point-to-point address-family ipv4 unicast interface gigabit0/0/0/3 point-to-point address-family ipv6 unicast root commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per3$ int eth2 eth 0000.0000.1132 $per4$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 traffeng 2.2.2.3 both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 traffeng 6.6.6.3 both traff multi-topology red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 router isis4 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou eth1 tun dest 2.2.2.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 exit int tun2 bandwidth 11 tun sou eth1 tun dest 2.2.2.1 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.10 255.255.255.252 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 3.3.3.6 vrf v1 r1 tping 100 60 3.3.3.10 vrf v1 r3 tping 100 60 3.3.3.9 vrf v1 freeRtr-25.11.9/cfg/intop2-isis06.tst000066400000000000000000000024751510423065500171340ustar00rootroot00000000000000description interop2: isis multi-topology addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 multi-topology red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/1 ipv6 enable no shutdown exit router isis 1 net 48.0000.0000.1234.00 address-family ipv4 unicast metric-style wide redistribute connected address-family ipv6 unicast metric-style wide redistribute connected interface gigabit0/0/0/0 point-to-point address-family ipv4 unicast interface gigabit0/0/0/1 point-to-point address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-isis07.tst000066400000000000000000000033201510423065500171230ustar00rootroot00000000000000description interop2: isis prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 multi-topology red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/1 ipv6 enable no shutdown exit router isis 1 net 48.0000.0000.1234.00 address-family ipv4 unicast metric-style wide redistribute connected address-family ipv6 unicast metric-style wide redistribute connected interface gigabit0/0/0/0 point-to-point address-family ipv4 unicast interface gigabit0/0/0/1 point-to-point address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router isis4 1 r1 send no red conn r1 send exit r1 send router isis6 1 r1 send no red conn r1 send end r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router isis4 1 r1 send red conn r1 send exit r1 send router isis6 1 r1 send red conn r1 send end r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-isis08.tst000066400000000000000000000027101510423065500171260ustar00rootroot00000000000000description interop2: isis text authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 multi-topology red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 password tester exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena router isis6 1 password tester exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/1 ipv6 enable no shutdown exit router isis 1 net 48.0000.0000.1234.00 address-family ipv4 unicast metric-style wide redistribute connected address-family ipv6 unicast metric-style wide redistribute connected interface gigabit0/0/0/0 point-to-point hello-password text clear tester address-family ipv4 unicast interface gigabit0/0/0/1 point-to-point hello-password text clear tester address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-isis09.tst000066400000000000000000000065541510423065500171410ustar00rootroot00000000000000description interop2: isis p2mp te exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 traffeng 2.2.2.1 both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 traffeng 6.6.6.1 multi-topology both traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit interface tunnel1 bandwidth 11 tunnel source loopback0 tunnel destination 9.9.9.9 tunnel domain-name 2.2.2.3 tunnel vrf v1 tunnel mode p2mpte vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ int eth3 eth 0000.0000.2222 $per3$ int eth4 eth 0000.0000.2223 $per4$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/1 ipv6 enable no shutdown exit interface gigabit0/0/0/2 ipv4 address 1.1.2.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/3 ipv6 enable no shutdown exit rsvp interface gigabit0/0/0/0 bandwidth interface gigabit0/0/0/2 bandwidth mpls traffic-eng interface gigabit0/0/0/0 interface gigabit0/0/0/2 router isis 1 net 48.0000.0000.1234.00 address-family ipv4 unicast metric-style wide redistribute connected mpls traffic-eng level-1-2 mpls traffic-eng router-id Loopback0 address-family ipv6 unicast metric-style wide redistribute connected interface gigabit0/0/0/0 point-to-point address-family ipv4 unicast interface gigabit0/0/0/1 point-to-point address-family ipv6 unicast interface gigabit0/0/0/2 point-to-point address-family ipv4 unicast interface gigabit0/0/0/3 point-to-point address-family ipv6 unicast root commit ! addrouter r3 int eth1 eth 0000.0000.5555 $per3$ int eth2 eth 0000.0000.7777 $per4$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 traffeng 2.2.2.3 both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 traffeng 6.6.6.3 multi-topology both traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 router isis4 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int eth2 vrf for v1 ipv6 addr fe80::2 ffff:: router isis6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit interface tunnel1 bandwidth 11 tunnel source loopback0 tunnel destination 9.9.9.9 tunnel domain-name 2.2.2.1 tunnel vrf v1 tunnel mode p2mpte vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.3 vrf v1 sou lo0 r3 tping 100 60 3.3.3.1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-isis10.tst000066400000000000000000000105531510423065500171230ustar00rootroot00000000000000description interop2: isis sr addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny all 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 traffeng 2.2.2.1 segrout 10 is-type level2 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 traffeng 6.6.6.1 segrout 10 is-type level2 multi-topology both segrout red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena mpls enable ipv4 access-group-in test4 ! ipv4 access-group-out test4 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable ipv6 access-group-in test6 ! ipv6 access-group-out test6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 1 router isis4 1 segrout node exit int lo2 vrf for v1 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 2 router isis6 1 segrout node exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo1 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 pseudo v1 lo2 pweompls 4321::3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ int eth3 eth 0000.0000.2224 $per3$ int eth4 eth 0000.0000.2225 $per4$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/1 ipv6 enable no shutdown exit interface gigabit0/0/0/2 ipv4 address 1.1.2.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/3 ipv6 enable no shutdown exit router isis 1 net 48.0000.0000.1234.00 address-family ipv4 unicast metric-style wide mpls traffic-eng level-2-only mpls traffic-eng router-id Loopback0 segment-routing mpls sr-prefer redistribute connected address-family ipv6 unicast metric-style wide segment-routing mpls sr-prefer redistribute connected interface gigabit0/0/0/0 point-to-point address-family ipv4 unicast interface gigabit0/0/0/1 point-to-point address-family ipv6 unicast interface gigabit0/0/0/2 point-to-point address-family ipv4 unicast interface gigabit0/0/0/3 point-to-point address-family ipv6 unicast interface Loopback0 passive address-family ipv4 unicast prefix-sid index 3 address-family ipv6 unicast prefix-sid index 4 root commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per3$ int eth2 eth 0000.0000.1132 $per4$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny all 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 traffeng 2.2.2.3 segrout 10 is-type level2 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 traffeng 6.6.6.3 segrout 10 is-type level2 multi-topology both segrout red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 router isis4 1 ena mpls enable ipv4 access-group-in test4 ! ipv4 access-group-out test4 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable ipv6 access-group-in test6 ! ipv6 access-group-out test6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 5 router isis4 1 segrout node exit int lo2 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 6 router isis6 1 segrout node exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo1 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.3.6 255.255.255.252 pseudo v1 lo2 pweompls 4321::1 1234 exit ! r1 tping 0 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo1 r1 tping 100 60 4321::2 vrf v1 sou lo2 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 sou lo1 r3 tping 100 60 4321::2 vrf v1 sou lo2 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.3.6 vrf v1 r3 tping 100 40 3.3.3.5 vrf v1 freeRtr-25.11.9/cfg/intop2-isis11.tst000066400000000000000000000026221510423065500171220ustar00rootroot00000000000000description interop2: isis lsp text authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both lsp-pass tester red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 both lsp-pass tester multi-topology red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/1 ipv6 enable no shutdown exit router isis 1 net 48.0000.0000.1234.00 lsp-password text clear tester address-family ipv4 unicast metric-style wide redistribute connected address-family ipv6 unicast metric-style wide redistribute connected interface gigabit0/0/0/0 point-to-point address-family ipv4 unicast interface gigabit0/0/0/1 point-to-point address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-isis12.tst000066400000000000000000000107251510423065500171260ustar00rootroot00000000000000description interop2: isis php sr addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny 58 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 traffeng 2.2.2.1 segrout 10 is-type level2 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 traffeng 6.6.6.1 segrout 10 is-type level2 multi-topology both segrout red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena mpls enable ipv4 access-group-in test4 ! ipv4 access-group-out test4 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable ipv6 access-group-in test6 ! ipv6 access-group-out test6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 1 router isis4 1 segrout node router isis4 1 segrout pop exit int lo2 vrf for v1 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 2 router isis6 1 segrout node router isis6 1 segrout pop exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo1 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 pseudo v1 lo2 pweompls 4321::3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ int eth3 eth 0000.0000.2224 $per3$ int eth4 eth 0000.0000.2225 $per4$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/1 ipv6 enable no shutdown exit interface gigabit0/0/0/2 ipv4 address 1.1.2.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/3 ipv6 enable no shutdown exit router isis 1 net 48.0000.0000.1234.00 address-family ipv4 unicast metric-style wide mpls traffic-eng level-2-only mpls traffic-eng router-id Loopback0 segment-routing mpls sr-prefer redistribute connected address-family ipv6 unicast metric-style wide segment-routing mpls sr-prefer redistribute connected interface gigabit0/0/0/0 point-to-point address-family ipv4 unicast interface gigabit0/0/0/1 point-to-point address-family ipv6 unicast interface gigabit0/0/0/2 point-to-point address-family ipv4 unicast interface gigabit0/0/0/3 point-to-point address-family ipv6 unicast interface Loopback0 passive address-family ipv4 unicast prefix-sid index 3 address-family ipv6 unicast prefix-sid index 4 root commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per3$ int eth2 eth 0000.0000.1132 $per4$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny 58 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 traffeng 2.2.2.3 segrout 10 is-type level2 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 traffeng 6.6.6.3 segrout 10 is-type level2 multi-topology both segrout red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 router isis4 1 ena mpls enable ipv4 access-group-in test4 ! ipv4 access-group-out test4 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable ipv6 access-group-in test6 ! ipv6 access-group-out test6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 5 router isis4 1 segrout node router isis4 1 segrout pop exit int lo2 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 6 router isis6 1 segrout node router isis6 1 segrout pop exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo1 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.3.6 255.255.255.252 pseudo v1 lo2 pweompls 4321::1 1234 exit ! r1 tping 0 10 1.1.1.2 vrf v1 r1 tping 0 60 2.2.2.2 vrf v1 sou lo1 r1 tping 0 60 4321::2 vrf v1 sou lo2 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 sou lo1 r3 tping 0 60 4321::2 vrf v1 sou lo2 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.3.6 vrf v1 r3 tping 100 40 3.3.3.5 vrf v1 freeRtr-25.11.9/cfg/intop2-isis13.tst000066400000000000000000000114611510423065500171250ustar00rootroot00000000000000description interop2: isis te with pcep exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 traffeng 2.2.2.1 both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 traffeng 6.6.6.1 both traff multi-topology red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou eth1 tun dest 2.2.2.2 tun vrf v1 tun dom 1.1.3.2 v1 lo0 tun mod pcete vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 bandwidth 11 tun sou eth1 tun dest 2.2.2.3 tun vrf v1 tun dom 1.1.3.2 v1 lo0 tun mod pcete vrf for v1 ipv4 addr 3.3.3.9 255.255.255.252 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ int eth3 eth 0000.0000.2224 $per3$ int eth4 eth 0000.0000.2225 $per4$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/1 ipv6 enable no shutdown exit interface gigabit0/0/0/2 ipv4 address 1.1.2.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/3 ipv6 enable no shutdown exit interface tunnel-te1 ipv4 address 3.3.3.2 255.255.255.252 destination 2.2.2.1 path-option 1 dynamic pce exit interface tunnel-te2 ipv4 address 3.3.3.6 255.255.255.252 destination 2.2.2.3 path-option 1 dynamic pce exit rsvp interface gigabit0/0/0/0 bandwidth interface gigabit0/0/0/2 bandwidth mpls traffic-eng interface gigabit0/0/0/0 interface gigabit0/0/0/2 pce peer ipv4 1.1.3.2 router isis 1 net 48.0000.0000.1234.00 address-family ipv4 unicast metric-style wide redistribute connected mpls traffic-eng level-1-2 mpls traffic-eng router-id Loopback0 address-family ipv6 unicast metric-style wide redistribute connected interface gigabit0/0/0/0 point-to-point address-family ipv4 unicast interface gigabit0/0/0/1 point-to-point address-family ipv6 unicast interface gigabit0/0/0/2 point-to-point address-family ipv4 unicast interface gigabit0/0/0/3 point-to-point address-family ipv6 unicast root commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per3$ int eth2 eth 0000.0000.1132 $per4$ int ser1 ser - $1a$ $1b$ int ser2 ser - $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 traffeng 2.2.2.3 both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 traffeng 6.6.6.3 both traff multi-topology red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 router isis4 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int ser1 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 router isis4 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int ser2 vrf for v1 ipv6 addr 4444::1 ffff:: router isis6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou eth1 tun dest 2.2.2.2 tun vrf v1 tun dom 1.1.3.2 v1 lo0 tun mod pcete vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 exit int tun2 bandwidth 11 tun sou eth1 tun dest 2.2.2.1 tun vrf v1 tun dom 1.1.3.2 v1 lo0 tun mod pcete vrf for v1 ipv4 addr 3.3.3.10 255.255.255.252 exit ! addrouter r4 int ser1 ser - $1b$ $1a$ int ser2 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit serv pcep p export-vrf v1 vrf v1 exit router isis4 1 vrf v1 net 48.4444.0000.4444.00 traffeng 2.2.2.4 both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.4444.00 traffeng 6.6.6.4 both traff multi-topology red conn exit int ser1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 router isis4 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int ser2 vrf for v1 ipv6 addr 4444::2 ffff:: router isis6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit ! r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 4321::1 vrf v1 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 3.3.3.6 vrf v1 r1 tping 100 60 3.3.3.10 vrf v1 r3 tping 100 60 3.3.3.9 vrf v1 freeRtr-25.11.9/cfg/intop2-isis14.tst000066400000000000000000000021561510423065500171270ustar00rootroot00000000000000description interop2: integrated isis addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn afi-other enable afi-other red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router isis4 1 ena router isis4 1 other-ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 enable no shutdown exit router isis 1 net 48.0000.0000.1234.00 address-family ipv4 unicast metric-style wide redistribute connected address-family ipv6 unicast metric-style wide single-topology redistribute connected interface gigabit0/0/0/0 point-to-point address-family ipv4 unicast address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-isis15.tst000066400000000000000000000075611510423065500171350ustar00rootroot00000000000000description interop2: isis bidir te addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 traffeng 2.2.2.1 both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 traffeng 6.6.6.1 both traff multi-topology red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou lo0 tun dest 2.2.2.2 tun vrf v1 tun mod p2pte tun assoc 4.4.1.2 1122 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 bandwidth 11 tun sou lo0 tun dest 2.2.2.3 tun vrf v1 tun assoc 4.4.1.3 1133 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.9 255.255.255.252 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ int eth3 eth 0000.0000.2224 $per3$ int eth4 eth 0000.0000.2225 $per4$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/1 ipv6 enable no shutdown exit interface gigabit0/0/0/2 ipv4 address 1.1.2.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/3 ipv6 enable no shutdown exit interface tunnel-te1 ipv4 address 3.3.3.2 255.255.255.252 destination 2.2.2.1 bidirectional association id 1122 source-address 4.4.1.2 path-option 1 dynamic exit interface tunnel-te2 ipv4 address 3.3.3.6 255.255.255.252 destination 2.2.2.3 bidirectional association id 2233 source-address 4.4.2.3 path-option 1 dynamic exit rsvp interface gigabit0/0/0/0 bandwidth interface gigabit0/0/0/2 bandwidth mpls traffic-eng interface gigabit0/0/0/0 interface gigabit0/0/0/2 router isis 1 net 48.0000.0000.1234.00 address-family ipv4 unicast metric-style wide redistribute connected mpls traffic-eng level-1-2 mpls traffic-eng router-id Loopback0 address-family ipv6 unicast metric-style wide redistribute connected interface gigabit0/0/0/0 point-to-point address-family ipv4 unicast interface gigabit0/0/0/1 point-to-point address-family ipv6 unicast interface gigabit0/0/0/2 point-to-point address-family ipv4 unicast interface gigabit0/0/0/3 point-to-point address-family ipv6 unicast root commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per3$ int eth2 eth 0000.0000.1132 $per4$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 traffeng 2.2.2.3 both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 traffeng 6.6.6.3 both traff multi-topology red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 router isis4 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou lo0 tun dest 2.2.2.2 tun vrf v1 tun assoc 4.4.2.3 2233 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 exit int tun2 bandwidth 11 tun sou lo0 tun dest 2.2.2.1 tun vrf v1 tun assoc 4.4.1.3 1133 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.10 255.255.255.252 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 3.3.3.6 vrf v1 r1 tping 100 60 3.3.3.10 vrf v1 r3 tping 100 60 3.3.3.9 vrf v1 freeRtr-25.11.9/cfg/intop2-isis16.tst000066400000000000000000000030171510423065500171260ustar00rootroot00000000000000description interop2: isis md5 authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 multi-topology red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 password tester router isis4 1 authen-type md5 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena router isis6 1 password tester router isis6 1 authen-type md5 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/1 ipv6 enable no shutdown exit router isis 1 net 48.0000.0000.1234.00 address-family ipv4 unicast metric-style wide redistribute connected address-family ipv6 unicast metric-style wide redistribute connected interface gigabit0/0/0/0 point-to-point hello-password hmac-md5 clear tester address-family ipv4 unicast interface gigabit0/0/0/1 point-to-point hello-password hmac-md5 clear tester address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-isis17.tst000066400000000000000000000027011510423065500171260ustar00rootroot00000000000000description interop2: isis lsp md5 authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both lsp-pass tester both authen-type md5 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 both lsp-pass tester both authen-type md5 multi-topology red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/1 ipv6 enable no shutdown exit router isis 1 net 48.0000.0000.1234.00 lsp-password hmac-md5 clear tester address-family ipv4 unicast metric-style wide redistribute connected address-family ipv6 unicast metric-style wide redistribute connected interface gigabit0/0/0/0 point-to-point address-family ipv4 unicast interface gigabit0/0/0/1 point-to-point address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-isis18.tst000066400000000000000000000022051510423065500171260ustar00rootroot00000000000000description interop2: integrated isis multi-topology addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn afi-other enable afi-other multi-topology afi-other red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router isis4 1 ena router isis4 1 other-ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 enable no shutdown exit router isis 1 net 48.0000.0000.1234.00 address-family ipv4 unicast metric-style wide redistribute connected address-family ipv6 unicast metric-style wide redistribute connected interface gigabit0/0/0/0 point-to-point address-family ipv4 unicast address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-isis19.tst000066400000000000000000000032021510423065500171250ustar00rootroot00000000000000description interop2: isis sha1 authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 multi-topology red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 password tester router isis4 1 authen-type sha1 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena router isis6 1 password tester router isis6 1 authen-type sha1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/1 ipv6 enable no shutdown exit key chain kc1 key 0 send-lifetime 00:00:00 january 01 2000 infinite key-string tester cryptographic-algorithm hmac-sha1-20 router isis 1 net 48.0000.0000.1234.00 address-family ipv4 unicast metric-style wide redistribute connected address-family ipv6 unicast metric-style wide redistribute connected interface gigabit0/0/0/0 point-to-point hello-password keychain kc1 address-family ipv4 unicast interface gigabit0/0/0/1 point-to-point hello-password keychain kc1 address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-isis20.tst000066400000000000000000000030751510423065500171250ustar00rootroot00000000000000description interop2: isis lsp sha1 authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both lsp-pass tester both authen-type sha1 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 both lsp-pass tester both authen-type sha1 multi-topology red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/1 ipv6 enable no shutdown exit key chain kc1 key 0 send-lifetime 00:00:00 january 01 2000 infinite key-string tester cryptographic-algorithm hmac-sha1-20 router isis 1 net 48.0000.0000.1234.00 lsp-password keychain kc1 address-family ipv4 unicast metric-style wide redistribute connected address-family ipv6 unicast metric-style wide redistribute connected interface gigabit0/0/0/0 point-to-point address-family ipv4 unicast interface gigabit0/0/0/1 point-to-point address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-isis21.tst000066400000000000000000000032101510423065500171150ustar00rootroot00000000000000description interop2: isis sha256 authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 multi-topology red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 password tester router isis4 1 authen-type sha256 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena router isis6 1 password tester router isis6 1 authen-type sha256 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/1 ipv6 enable no shutdown exit key chain kc1 key 0 send-lifetime 00:00:00 january 01 2000 infinite key-string tester cryptographic-algorithm hmac-sha-256 router isis 1 net 48.0000.0000.1234.00 address-family ipv4 unicast metric-style wide redistribute connected address-family ipv6 unicast metric-style wide redistribute connected interface gigabit0/0/0/0 point-to-point hello-password keychain kc1 address-family ipv4 unicast interface gigabit0/0/0/1 point-to-point hello-password keychain kc1 address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-isis22.tst000066400000000000000000000031031510423065500171170ustar00rootroot00000000000000description interop2: isis lsp sha256 authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both lsp-pass tester both authen-type sha256 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 both lsp-pass tester both authen-type sha256 multi-topology red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 no shutdown exit interface gigabit0/0/0/1 ipv6 enable no shutdown exit key chain kc1 key 0 send-lifetime 00:00:00 january 01 2000 infinite key-string tester cryptographic-algorithm hmac-sha-256 router isis 1 net 48.0000.0000.1234.00 lsp-password keychain kc1 address-family ipv4 unicast metric-style wide redistribute connected address-family ipv6 unicast metric-style wide redistribute connected interface gigabit0/0/0/0 point-to-point address-family ipv4 unicast interface gigabit0/0/0/1 point-to-point address-family ipv6 unicast root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-ldp01.tst000066400000000000000000000074441510423065500167400ustar00rootroot00000000000000description interop2: ldp lsp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 1111::1111:1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 mpls enable mpls ldp4 mpls ldp6 lo1 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address fe80::2 link-local ipv6 enable no shutdown exit interface gigabit0/0/0/1 ipv4 address 1.1.2.2 255.255.255.0 ipv6 address fe80::2 link-local ipv6 enable no shutdown exit mpls ldp address-family ipv4 address-family ipv6 interface gigabit0/0/0/0 address-family ipv4 address-family ipv6 interface gigabit0/0/0/1 address-family ipv4 address-family ipv6 router static address-family ipv4 unicast 2.2.2.1/32 1.1.1.1 gigabit0/0/0/0 address-family ipv6 unicast 4321::1/128 fe80::1 gigabit0/0/0/0 address-family ipv6 unicast 1111::1111:1111/128 fe80::1 gigabit0/0/0/0 address-family ipv4 unicast 2.2.2.3/32 1.1.2.1 gigabit0/0/0/1 address-family ipv6 unicast 4321::3/128 fe80::1 gigabit0/0/0/1 address-family ipv6 unicast 1111::3333:3333/128 fe80::1 gigabit0/0/0/1 exit root commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 1111::3333:3333 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr fe80::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 mpls enable mpls ldp4 mpls ldp6 lo1 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.3.6 255.255.255.252 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 sou lo0 !r1 tping 0 10 4321::2 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 sou lo0 !r3 tping 0 10 4321::2 vrf v1 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.3.6 vrf v1 r3 tping 100 40 3.3.3.5 vrf v1 freeRtr-25.11.9/cfg/intop2-ldp02.tst000066400000000000000000000033521510423065500167330ustar00rootroot00000000000000description interop2: ethernet over mpls addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 bridge 1 mac-learn exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 3333::1 ffff:: exit vpdn eompls bridge-gr 1 proxy p1 target 2.2.2.2 mtu 1500 vcid 1234 pwtype eth protocol pweompls exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2222 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 ipv6 enable no shutdown exit interface gigabit0/0/0/1 l2transport no shutdown exit mpls ldp address-family ipv4 address-family ipv6 interface gigabit0/0/0/0 address-family ipv4 address-family ipv6 router static address-family ipv4 unicast 2.2.2.1/32 1.1.1.1 gigabit0/0/0/0 address-family ipv6 unicast 4321::1/128 1234::1 gigabit0/0/0/0 exit l2vpn xconnect group a p2p a interface gigabit0/0/0/1 neighbor ipv4 2.2.2.1 pw-id 1234 root commit ! addrouter r3 int eth1 eth 0000.0000.4444 $per2$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 3333::2 ffff:: exit ! r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r3 tping 100 60 3333::1 vrf v1 freeRtr-25.11.9/cfg/intop2-ldp03.tst000066400000000000000000000060511510423065500167330ustar00rootroot00000000000000description interop2: ldp p2mp lsp exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ipv6 access-group-out test6 mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int tun1 tun sou lo0 tun dest 2.2.2.1 tun vrf v1 tun key 1234 tun mod p2mpldp vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2222 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 ipv6 enable no shutdown exit interface gigabit0/0/0/1 ipv4 address 1.1.2.2 255.255.255.0 ipv6 address 1235::2/64 ipv6 enable no shutdown exit mpls ldp address-family ipv4 address-family ipv6 interface gigabit0/0/0/0 address-family ipv4 address-family ipv6 interface gigabit0/0/0/1 address-family ipv4 address-family ipv6 mldp router static address-family ipv4 unicast 2.2.2.1/32 1.1.1.1 gigabit0/0/0/0 2.2.2.3/32 1.1.2.1 gigabit0/0/0/1 address-family ipv6 unicast 4321::1/128 1234::1 gigabit0/0/0/0 4321::3/128 1235::1 gigabit0/0/0/1 exit root commit ! addrouter r3 int eth1 eth 0000.0000.4444 $per2$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ipv6 access-group-out test6 mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1235::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1235::2 int tun1 tun sou lo0 tun dest 2.2.2.1 tun vrf v1 tun key 1234 tun mod p2mpldp vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.3 vrf v1 sou lo0 r3 tping 0 60 3.3.3.1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-ldp04.tst000066400000000000000000000060561510423065500167410ustar00rootroot00000000000000description interop2: ldp mp2mp lsp exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ipv6 access-group-out test6 mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int tun1 tun sou lo0 tun dest 2.2.2.2 tun vrf v1 tun key 1234 tun mod mp2mpldp vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2222 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 ipv6 enable no shutdown exit interface gigabit0/0/0/1 ipv4 address 1.1.2.2 255.255.255.0 ipv6 address 1235::2/64 ipv6 enable no shutdown exit mpls ldp address-family ipv4 address-family ipv6 interface gigabit0/0/0/0 address-family ipv4 address-family ipv6 interface gigabit0/0/0/1 address-family ipv4 address-family ipv6 mldp router static address-family ipv4 unicast 2.2.2.1/32 1.1.1.1 gigabit0/0/0/0 2.2.2.3/32 1.1.2.1 gigabit0/0/0/1 address-family ipv6 unicast 4321::1/128 1234::1 gigabit0/0/0/0 4321::3/128 1235::1 gigabit0/0/0/1 exit root commit ! addrouter r3 int eth1 eth 0000.0000.4444 $per2$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ipv6 access-group-out test6 mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1235::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1235::2 int tun1 tun sou lo0 tun dest 2.2.2.2 tun vrf v1 tun key 1234 tun mod mp2mpldp vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.3 vrf v1 sou lo0 r3 tping 100 60 3.3.3.1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-ldp05.tst000066400000000000000000000075361510423065500167460ustar00rootroot00000000000000description interop2: ldp php lsp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 1111::1111:1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 mpls enable mpls ldp4 mpls label4pop mpls ldp6 lo1 mpls label6pop exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address fe80::2 link-local ipv6 enable no shutdown exit interface gigabit0/0/0/1 ipv4 address 1.1.2.2 255.255.255.0 ipv6 address fe80::2 link-local ipv6 enable no shutdown exit mpls ldp address-family ipv4 address-family ipv6 interface gigabit0/0/0/0 address-family ipv4 address-family ipv6 interface gigabit0/0/0/1 address-family ipv4 address-family ipv6 router static address-family ipv4 unicast 2.2.2.1/32 1.1.1.1 gigabit0/0/0/0 address-family ipv6 unicast 4321::1/128 fe80::1 gigabit0/0/0/0 address-family ipv6 unicast 1111::1111:1111/128 fe80::1 gigabit0/0/0/0 address-family ipv4 unicast 2.2.2.3/32 1.1.2.1 gigabit0/0/0/1 address-family ipv6 unicast 4321::3/128 fe80::1 gigabit0/0/0/1 address-family ipv6 unicast 1111::3333:3333/128 fe80::1 gigabit0/0/0/1 exit root commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 1111::3333:3333 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr fe80::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 mpls enable mpls ldp4 mpls label4pop mpls ldp6 lo1 mpls label6pop exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.3.6 255.255.255.252 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r1 tping 0 60 4321::2 vrf v1 sou lo0 !r1 tping 0 10 4321::2 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 sou lo0 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 sou lo0 !r3 tping 0 10 4321::2 vrf v1 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.3.6 vrf v1 r3 tping 100 40 3.3.3.5 vrf v1 freeRtr-25.11.9/cfg/intop2-ldp06.tst000066400000000000000000000076041510423065500167430ustar00rootroot00000000000000description interop2: ldp over point2point ethernet addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 1111::1111:1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.254 ipv6 addr fe80::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 mpls enable mpls ldp4 mpls ldp6 lo1 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.3 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.3 255.255.255.254 ipv6 address fe80::2 link-local ipv6 enable no shutdown exit interface gigabit0/0/0/1 ipv4 address 1.1.2.2 255.255.255.254 ipv6 address fe80::2 link-local ipv6 enable no shutdown exit mpls ldp address-family ipv4 address-family ipv6 interface gigabit0/0/0/0 address-family ipv4 address-family ipv6 interface gigabit0/0/0/1 address-family ipv4 address-family ipv6 router static address-family ipv4 unicast 2.2.2.1/32 1.1.1.2 gigabit0/0/0/0 address-family ipv6 unicast 4321::1/128 fe80::3 gigabit0/0/0/0 address-family ipv6 unicast 1111::1111:1111/128 fe80::3 gigabit0/0/0/0 address-family ipv4 unicast 2.2.2.3/32 1.1.2.3 gigabit0/0/0/1 address-family ipv6 unicast 4321::3/128 fe80::3 gigabit0/0/0/1 address-family ipv6 unicast 1111::3333:3333/128 fe80::3 gigabit0/0/0/1 exit root commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 1111::3333:3333 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.254 ipv6 addr fe80::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 mpls enable mpls ldp4 mpls ldp6 lo1 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.3.6 255.255.255.252 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 10 1.1.1.3 vrf v1 r1 tping 100 60 4321::2 vrf v1 sou lo0 !r1 tping 0 10 4321::2 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 sou lo0 !r3 tping 0 10 4321::2 vrf v1 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.3.6 vrf v1 r3 tping 100 40 3.3.3.5 vrf v1 freeRtr-25.11.9/cfg/intop2-mcast01.tst000066400000000000000000000033731510423065500172650ustar00rootroot00000000000000description interop2: igmp3/mld2 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 multi host-ena ipv4 multi host-pro ipv6 multi host-ena ipv6 multi host-pro exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 address 1234::1 ffff:: ipv4 multi host-ena ipv4 multi host-pro ipv6 multi host-ena ipv6 multi host-pro exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 addr 1234::2/64 no shutdown exit interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router static address-family ipv4 unicast 2.2.2.1/32 gigabit0/0/0/0 1.1.1.1 address-family ipv6 unicast 4321::1/128 gigabit0/0/0/0 1234::1 multicast-routing address-family ipv4 interface Loopback0 enable interface gigabit0/0/0/0 enable static-rpf 2.2.2.1 32 gigabit0/0/0/0 1.1.1.1 address-family ipv6 interface Loopback0 enable interface gigabit0/0/0/0 enable static-rpf 4321::1 128 gigabit0/0/0/0 1234::1 router pim address-family ipv4 interface Loopback0 enable interface gigabit0/0/0/0 enable address-family ipv6 interface Loopback0 enable interface gigabit0/0/0/0 enable router igmp interface gigabit0/0/0/0 join-group 232.2.2.2 2.2.2.1 version 3 router mld interface gigabit0/0/0/0 join-group ff06::1 4321::1 version 2 router igmp root commit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 232.2.2.2 vrf v1 sou lo0 r1 tping 100 60 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-mcast02.tst000066400000000000000000000031721510423065500172630ustar00rootroot00000000000000description interop2: pim addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 address 1234::1 ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 addr 1234::2/64 no shutdown exit interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit router static address-family ipv4 unicast 2.2.2.1/32 gigabit0/0/0/0 1.1.1.1 address-family ipv6 unicast 4321::1/128 gigabit0/0/0/0 1234::1 multicast-routing address-family ipv4 interface Loopback0 enable interface gigabit0/0/0/0 enable static-rpf 2.2.2.1 32 gigabit0/0/0/0 1.1.1.1 address-family ipv6 interface Loopback0 enable interface gigabit0/0/0/0 enable static-rpf 4321::1 128 gigabit0/0/0/0 1234::1 router pim address-family ipv4 interface Loopback0 enable interface gigabit0/0/0/0 enable address-family ipv6 interface Loopback0 enable interface gigabit0/0/0/0 enable router igmp interface Loopback0 join-group 232.2.2.2 2.2.2.1 version 3 router mld interface Loopback0 join-group ff06::1 4321::1 version 2 router igmp root commit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 232.2.2.2 vrf v1 sou lo0 r1 tping 100 60 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-ospf01.tst000066400000000000000000000020211510423065500171120ustar00rootroot00000000000000description interop2: point2point ospf addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 enable no shutdown exit router ospf 1 redistribute connected area 0 interface gigabit0/0/0/0 network point-to-point router ospfv3 1 redistribute connected area 0 interface gigabit0/0/0/0 network point-to-point root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-ospf02.tst000066400000000000000000000020761510423065500171250ustar00rootroot00000000000000description interop2: ospf dr addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf4 1 net broad router ospf4 1 prio 10 router ospf6 1 ena router ospf6 1 net broad router ospf6 1 prio 10 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 enable no shutdown exit router ospf 1 redistribute connected area 0 interface gigabit0/0/0/0 router ospfv3 1 redistribute connected area 0 interface gigabit0/0/0/0 root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-ospf03.tst000066400000000000000000000020771510423065500171270ustar00rootroot00000000000000description interop2: ospf nondr addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf4 1 net broad router ospf4 1 prio 0 router ospf6 1 ena router ospf6 1 net broad router ospf6 1 prio 0 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 enable no shutdown exit router ospf 1 redistribute connected area 0 interface gigabit0/0/0/0 router ospfv3 1 redistribute connected area 0 interface gigabit0/0/0/0 root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-ospf04.tst000066400000000000000000000020461510423065500171240ustar00rootroot00000000000000description interop2: ospf transit area addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 1 ena exit router ospf6 1 vrf v1 router 6.6.6.1 area 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf6 1 ena exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 enable no shutdown exit router ospf 1 redistribute connected area 1 interface gigabit0/0/0/0 network point-to-point router ospfv3 1 redistribute connected area 1 interface gigabit0/0/0/0 network point-to-point root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-ospf05.tst000066400000000000000000000022331510423065500171230ustar00rootroot00000000000000description interop2: ospf stub area addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 1 ena area 1 stub exit router ospf6 1 vrf v1 router 6.6.6.1 area 1 ena area 1 stub no area 1 host exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf6 1 ena exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 enable no shutdown exit router ospf 1 redistribute connected area 1 stub interface loopback0 passive interface gigabit0/0/0/0 network point-to-point router ospfv3 1 redistribute connected area 1 stub interface loopback0 passive interface gigabit0/0/0/0 network point-to-point root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-ospf06.tst000066400000000000000000000022331510423065500171240ustar00rootroot00000000000000description interop2: ospf nssa area addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 1 ena area 1 nssa exit router ospf6 1 vrf v1 router 6.6.6.1 area 1 ena area 1 nssa no area 1 host exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf6 1 ena exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 enable no shutdown exit router ospf 1 redistribute connected area 1 nssa interface loopback0 passive interface gigabit0/0/0/0 network point-to-point router ospfv3 1 redistribute connected area 1 nssa interface loopback0 passive interface gigabit0/0/0/0 network point-to-point root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-ospf07.tst000066400000000000000000000061741510423065500171350ustar00rootroot00000000000000description interop2: ospf te addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 traffeng 2.2.2.1 area 0 ena area 0 traff red conn exit router ospf6 1 vrf v1 router 6.6.6.1 traffeng 6.6.6.1 area 0 ena area 0 traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou eth1 tun dest 2.2.2.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 bandwidth 11 tun sou eth1 tun dest 2.2.2.3 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.9 255.255.255.252 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 enable no shutdown exit interface gigabit0/0/0/1 ipv4 address 1.1.2.2 255.255.255.0 ipv6 enable no shutdown exit interface tunnel-te1 ipv4 address 3.3.3.2 255.255.255.252 destination 2.2.2.1 path-option 1 dynamic exit interface tunnel-te2 ipv4 address 3.3.3.6 255.255.255.252 destination 2.2.2.3 path-option 1 dynamic exit rsvp interface gigabit0/0/0/0 bandwidth interface gigabit0/0/0/1 bandwidth mpls traffic-eng interface gigabit0/0/0/0 interface gigabit0/0/0/1 router ospf 1 mpls traffic-eng router-id Loopback0 redistribute connected area 0 mpls traffic-eng interface gigabit0/0/0/0 network point-to-point interface gigabit0/0/0/1 network point-to-point router ospfv3 1 redistribute connected area 0 interface gigabit0/0/0/0 network point-to-point interface gigabit0/0/0/1 network point-to-point root commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 traffeng 2.2.2.3 area 0 ena area 0 traff red conn exit router ospf6 1 vrf v1 router 6.6.6.3 traffeng 6.6.6.3 area 0 ena area 0 traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou eth1 tun dest 2.2.2.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 exit int tun2 bandwidth 11 tun sou eth1 tun dest 2.2.2.1 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.10 255.255.255.252 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 3.3.3.6 vrf v1 r1 tping 100 60 3.3.3.10 vrf v1 r3 tping 100 60 3.3.3.9 vrf v1 freeRtr-25.11.9/cfg/intop2-ospf08.tst000066400000000000000000000026471510423065500171370ustar00rootroot00000000000000description interop2: ospf prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 enable no shutdown exit router ospf 1 redistribute connected area 0 interface gigabit0/0/0/0 network point-to-point router ospfv3 1 redistribute connected area 0 interface gigabit0/0/0/0 network point-to-point root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router ospf4 1 r1 send no red conn r1 send exit r1 send router ospf6 1 r1 send no red conn r1 send end r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router ospf4 1 r1 send red conn r1 send exit r1 send router ospf6 1 r1 send red conn r1 send end r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-ospf09.tst000066400000000000000000000021561510423065500171330ustar00rootroot00000000000000description interop2: ospf text authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 enable no shutdown exit router ospf 1 redistribute connected area 0 interface gigabit0/0/0/0 authentication-key clear tester authentication network point-to-point router ospfv3 1 redistribute connected area 0 interface gigabit0/0/0/0 network point-to-point root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-ospf10.tst000066400000000000000000000055151510423065500171250ustar00rootroot00000000000000description interop2: ospf p2mp te exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 traffeng 2.2.2.1 area 0 ena area 0 traff red conn exit router ospf6 1 vrf v1 router 6.6.6.1 traffeng 6.6.6.1 area 0 ena area 0 traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable mpls rsvp4 mpls rsvp6 exit interface tunnel1 bandwidth 11 tunnel source loopback0 tunnel destination 9.9.9.9 tunnel domain-name 2.2.2.3 tunnel vrf v1 tunnel mode p2mpte vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2222 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 enable no shutdown exit interface gigabit0/0/0/1 ipv4 address 1.1.2.2 255.255.255.0 ipv6 enable no shutdown exit rsvp interface gigabit0/0/0/0 bandwidth interface gigabit0/0/0/1 bandwidth mpls traffic-eng interface gigabit0/0/0/0 interface gigabit0/0/0/1 router ospf 1 mpls traffic-eng router-id Loopback0 redistribute connected area 0 mpls traffic-eng interface gigabit0/0/0/0 network point-to-point interface gigabit0/0/0/1 network point-to-point router ospfv3 1 redistribute connected area 0 interface gigabit0/0/0/0 network point-to-point interface gigabit0/0/0/1 network point-to-point root commit ! addrouter r3 int eth1 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 traffeng 2.2.2.3 area 0 ena area 0 traff red conn exit router ospf6 1 vrf v1 router 6.6.6.3 traffeng 6.6.6.3 area 0 ena area 0 traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr fe80::3 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable mpls rsvp4 mpls rsvp6 exit interface tunnel1 bandwidth 11 tunnel source loopback0 tunnel destination 9.9.9.9 tunnel domain-name 2.2.2.1 tunnel vrf v1 tunnel mode p2mpte vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.3 vrf v1 sou lo0 r3 tping 100 60 3.3.3.1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-ospf11.tst000066400000000000000000000066551510423065500171340ustar00rootroot00000000000000description interop2: ospf sr addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny all 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.1 traffeng 2.2.2.1 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.1 traffeng 6.6.6.1 segrout 10 area 0 ena area 0 segrout red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable router ospf4 1 ena router ospf4 1 segrout index 1 router ospf4 1 segrout node router ospf6 1 ena router ospf6 1 segrout index 2 router ospf6 1 segrout node exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 enable no shutdown exit interface gigabit0/0/0/1 ipv4 address 1.1.2.2 255.255.255.0 ipv6 enable no shutdown exit router ospf 1 redistribute connected mpls traffic-eng router-id Loopback0 area 0 segment-routing forwarding mpls mpls traffic-eng segment-routing mpls interface Loopback0 passive enable prefix-sid index 3 interface gigabit0/0/0/0 network point-to-point interface gigabit0/0/0/1 network point-to-point router ospfv3 1 redistribute connected area 0 interface gigabit0/0/0/0 network point-to-point interface gigabit0/0/0/1 network point-to-point root commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny all 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.3 traffeng 2.2.2.3 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.3 traffeng 6.6.6.3 segrout 10 area 0 ena area 0 segrout red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable router ospf4 1 ena router ospf4 1 segrout index 5 router ospf4 1 segrout node router ospf6 1 ena router ospf6 1 segrout index 6 router ospf6 1 segrout node exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit ! r1 tping 0 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 0 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/intop2-ospf12.tst000066400000000000000000000070351510423065500171260ustar00rootroot00000000000000description interop2: ospf php sr addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny all 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.1 traffeng 2.2.2.1 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.1 traffeng 6.6.6.1 segrout 10 area 0 ena area 0 segrout red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable router ospf4 1 ena router ospf4 1 segrout index 1 router ospf4 1 segrout node router ospf4 1 segrout pop router ospf6 1 ena router ospf6 1 segrout index 2 router ospf6 1 segrout node router ospf6 1 segrout pop exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 enable no shutdown exit interface gigabit0/0/0/1 ipv4 address 1.1.2.2 255.255.255.0 ipv6 enable no shutdown exit router ospf 1 redistribute connected mpls traffic-eng router-id Loopback0 area 0 segment-routing forwarding mpls mpls traffic-eng segment-routing mpls interface Loopback0 passive enable prefix-sid index 3 interface gigabit0/0/0/0 network point-to-point interface gigabit0/0/0/1 network point-to-point router ospfv3 1 redistribute connected area 0 interface gigabit0/0/0/0 network point-to-point interface gigabit0/0/0/1 network point-to-point root commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny all 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.3 traffeng 2.2.2.3 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.3 traffeng 6.6.6.3 segrout 10 area 0 ena area 0 segrout red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable router ospf4 1 ena router ospf4 1 segrout index 5 router ospf4 1 segrout node router ospf4 1 segrout pop router ospf6 1 ena router ospf6 1 segrout index 6 router ospf6 1 segrout node router ospf6 1 segrout pop exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit ! r1 tping 0 10 1.1.1.2 vrf v1 r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 sou lo0 r3 tping 0 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/intop2-ospf13.tst000066400000000000000000000101301510423065500171150ustar00rootroot00000000000000description interop2: ospf te with pcep exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 traffeng 2.2.2.1 area 0 ena area 0 traff red conn exit router ospf6 1 vrf v1 router 6.6.6.1 traffeng 6.6.6.1 area 0 ena area 0 traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou eth1 tun dest 2.2.2.2 tun vrf v1 tun dom 1.1.3.2 v1 lo0 tun mod pcete vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 bandwidth 11 tun sou eth1 tun dest 2.2.2.3 tun vrf v1 tun dom 1.1.3.2 v1 lo0 tun mod pcete vrf for v1 ipv4 addr 3.3.3.9 255.255.255.252 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 enable no shutdown exit interface gigabit0/0/0/1 ipv4 address 1.1.2.2 255.255.255.0 ipv6 enable no shutdown exit interface tunnel-te1 ipv4 address 3.3.3.2 255.255.255.252 destination 2.2.2.1 path-option 1 dynamic pce exit interface tunnel-te2 ipv4 address 3.3.3.6 255.255.255.252 destination 2.2.2.3 path-option 1 dynamic pce exit rsvp interface gigabit0/0/0/0 bandwidth interface gigabit0/0/0/1 bandwidth mpls traffic-eng interface gigabit0/0/0/0 interface gigabit0/0/0/1 pce peer ipv4 1.1.3.2 router ospf 1 mpls traffic-eng router-id Loopback0 redistribute connected area 0 mpls traffic-eng interface gigabit0/0/0/0 network point-to-point interface gigabit0/0/0/1 network point-to-point router ospfv3 1 redistribute connected area 0 interface gigabit0/0/0/0 network point-to-point interface gigabit0/0/0/1 network point-to-point root commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 traffeng 2.2.2.3 area 0 ena area 0 traff red conn exit router ospf6 1 vrf v1 router 6.6.6.3 traffeng 6.6.6.3 area 0 ena area 0 traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int ser1 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 4444::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou eth1 tun dest 2.2.2.2 tun vrf v1 tun dom 1.1.3.2 v1 lo0 tun mod pcete vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 exit int tun2 bandwidth 11 tun sou eth1 tun dest 2.2.2.1 tun vrf v1 tun dom 1.1.3.2 v1 lo0 tun mod pcete vrf for v1 ipv4 addr 3.3.3.10 255.255.255.252 exit ! addrouter r4 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit serv pcep p export-vrf v1 vrf v1 exit router ospf4 1 vrf v1 router 4.4.4.4 traffeng 2.2.2.4 area 0 ena area 0 traff red conn exit router ospf6 1 vrf v1 router 6.6.6.4 traffeng 6.6.6.4 area 0 ena area 0 traff red conn exit int ser1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 4444::2 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit ! r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 4321::1 vrf v1 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 3.3.3.6 vrf v1 r1 tping 100 60 3.3.3.10 vrf v1 r3 tping 100 60 3.3.3.9 vrf v1 freeRtr-25.11.9/cfg/intop2-ospf14.tst000066400000000000000000000065221510423065500171300ustar00rootroot00000000000000description interop2: ospf bidir te addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 traffeng 2.2.2.1 area 0 ena area 0 traff red conn exit router ospf6 1 vrf v1 router 6.6.6.1 traffeng 6.6.6.1 area 0 ena area 0 traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou lo0 tun dest 2.2.2.2 tun vrf v1 tun assoc 4.4.1.2 1122 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 bandwidth 11 tun sou lo0 tun dest 2.2.2.3 tun vrf v1 tun assoc 4.4.1.3 1133 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.9 255.255.255.252 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 enable no shutdown exit interface gigabit0/0/0/1 ipv4 address 1.1.2.2 255.255.255.0 ipv6 enable no shutdown exit interface tunnel-te1 ipv4 address 3.3.3.2 255.255.255.252 destination 2.2.2.1 bidirectional association id 1122 source-address 4.4.1.2 path-option 1 dynamic exit interface tunnel-te2 ipv4 address 3.3.3.6 255.255.255.252 destination 2.2.2.3 bidirectional association id 2233 source-address 4.4.2.3 path-option 1 dynamic exit rsvp interface gigabit0/0/0/0 bandwidth interface gigabit0/0/0/1 bandwidth mpls traffic-eng interface gigabit0/0/0/0 interface gigabit0/0/0/1 router ospf 1 mpls traffic-eng router-id Loopback0 redistribute connected area 0 mpls traffic-eng interface gigabit0/0/0/0 network point-to-point interface gigabit0/0/0/1 network point-to-point router ospfv3 1 redistribute connected area 0 interface gigabit0/0/0/0 network point-to-point interface gigabit0/0/0/1 network point-to-point root commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 traffeng 2.2.2.3 area 0 ena area 0 traff red conn exit router ospf6 1 vrf v1 router 6.6.6.3 traffeng 6.6.6.3 area 0 ena area 0 traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou lo0 tun dest 2.2.2.2 tun vrf v1 tun assoc 4.4.2.3 2233 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 exit int tun2 bandwidth 11 tun sou lo0 tun dest 2.2.2.1 tun vrf v1 tun assoc 4.4.1.3 1133 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.10 255.255.255.252 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 3.3.3.6 vrf v1 r1 tping 100 60 3.3.3.10 vrf v1 r3 tping 100 60 3.3.3.9 vrf v1 freeRtr-25.11.9/cfg/intop2-ospf15.tst000066400000000000000000000023101510423065500171200ustar00rootroot00000000000000description interop2: ospf md5 authentication exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf4 1 authen-id 123 router ospf4 1 authen-type md5 router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 enable no shutdown exit router ospf 1 redistribute connected area 0 interface gigabit0/0/0/0 authentication message-digest message-digest-key 123 md5 clear tester network point-to-point router ospfv3 1 redistribute connected area 0 interface gigabit0/0/0/0 network point-to-point root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-ospf16.tst000066400000000000000000000024421510423065500171270ustar00rootroot00000000000000description interop2: ospf sha1 authentication exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf4 1 authen-id 123 router ospf4 1 authen-type sha1 router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 enable no shutdown exit key chain kc1 key 123 send-lifetime 00:00:00 january 01 2000 infinite key-string tester cryptographic-algorithm hmac-sha1-20 router ospf 1 redistribute connected area 0 interface gigabit0/0/0/0 authentication keychain kc1 network point-to-point router ospfv3 1 redistribute connected area 0 interface gigabit0/0/0/0 network point-to-point root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-ospf17.tst000066400000000000000000000024461510423065500171340ustar00rootroot00000000000000description interop2: ospf sha256 authentication exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf4 1 authen-id 123 router ospf4 1 authen-type sha256 router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 enable no shutdown exit key chain kc1 key 123 send-lifetime 00:00:00 january 01 2000 infinite key-string tester cryptographic-algorithm hmac-sha-256 router ospf 1 redistribute connected area 0 interface gigabit0/0/0/0 authentication keychain kc1 network point-to-point router ospfv3 1 redistribute connected area 0 interface gigabit0/0/0/0 network point-to-point root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-pppoe01.tst000066400000000000000000000033401510423065500172730ustar00rootroot00000000000000description interop2: pppoe with pap exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int di1 enc ppp vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr fe80::1234 ffff:: ppp ip4cp local 0.0.0.0 ppp ip4cp open ppp ip6cp open ppp user usr ppp pass pwd exit int eth1 vrf for v1 ipv4 address 2.2.2.2 255.255.255.0 exit int eth1.123 p2poe client di1 exit aaa userlist aaa username usr password pwd exit server radius v1 authentication aaa secret tester vrf v1 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! aaa authorization subscriber default group radius aaa authentication subscriber default group radius radius-server host 2.2.2.2 auth-port 1812 acct-port 1813 key tester pool vrf default ipv4 p1 address-range 1.1.1.201 1.1.1.255 dynamic-template type ppp dt1 ppp authentication pap ppp ipcp peer-address pool p1 ipv4 unnumbered Loopback0 ipv6 enable pppoe bba-group bg1 ac name inet service selection disable class-map type control subscriber match-any cm1 match protocol ppp end-class-map policy-map type control subscriber pm1 event session-start match-first class type control subscriber cm1 do-until-failure 10 activate dynamic-template dt1 event session-activate match-first class type control subscriber cm1 do-until-failure 10 authenticate aaa list default end-policy-map interface Loopback0 ipv4 address 1.1.1.111 255.255.255.255 ipv6 address 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 2.2.2.1 255.255.255.0 no shutdown exit interface gigabit0/0/0/0.123 encapsulation dot1q 123 service-policy type control subscriber pm1 pppoe enable bba-group bg1 exit root commit ! r1 tping 100 60 2.2.2.1 vrf v1 r1 tping 100 60 1.1.1.111 vrf v1 freeRtr-25.11.9/cfg/intop2-pppoe02.tst000066400000000000000000000033421510423065500172760ustar00rootroot00000000000000description interop2: pppoe with chap exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int di1 enc ppp vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr fe80::1234 ffff:: ppp ip4cp local 0.0.0.0 ppp ip4cp open ppp ip6cp open ppp user usr ppp pass pwd exit int eth1 vrf for v1 ipv4 address 2.2.2.2 255.255.255.0 exit int eth1.123 p2poe client di1 exit aaa userlist aaa username usr password pwd exit server radius v1 authentication aaa secret tester vrf v1 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! aaa authorization subscriber default group radius aaa authentication subscriber default group radius radius-server host 2.2.2.2 auth-port 1812 acct-port 1813 key tester pool vrf default ipv4 p1 address-range 1.1.1.201 1.1.1.255 dynamic-template type ppp dt1 ppp authentication chap ppp ipcp peer-address pool p1 ipv4 unnumbered Loopback0 ipv6 enable pppoe bba-group bg1 ac name inet service selection disable class-map type control subscriber match-any cm1 match protocol ppp end-class-map policy-map type control subscriber pm1 event session-start match-first class type control subscriber cm1 do-until-failure 10 activate dynamic-template dt1 event session-activate match-first class type control subscriber cm1 do-until-failure 10 authenticate aaa list default end-policy-map interface Loopback0 ipv4 address 1.1.1.111 255.255.255.255 ipv6 address 4321::2/128 exit interface gigabit0/0/0/0 ipv4 address 2.2.2.1 255.255.255.0 no shutdown exit interface gigabit0/0/0/0.123 encapsulation dot1q 123 service-policy type control subscriber pm1 pppoe enable bba-group bg1 exit root commit ! r1 tping 100 60 2.2.2.1 vrf v1 r1 tping 100 60 1.1.1.111 vrf v1 freeRtr-25.11.9/cfg/intop2-rip01.tst000066400000000000000000000016371510423065500167510ustar00rootroot00000000000000description interop2: rip addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router rip4 1 ena router rip6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address fe80::2 link-local no shutdown exit interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit route-policy a set rip-metric 5 pass end-policy router rip redistribute connected route-policy a interface gigabit0/0/0/0 root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 !r1 tping 100 120 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-rip02.tst000066400000000000000000000030261510423065500167440ustar00rootroot00000000000000description interop2: rip prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router rip4 1 ena router rip4 1 update-time 5000 router rip4 1 hold-time 15000 router rip4 1 flush-time 15000 router rip6 1 ena router rip6 1 update-time 5000 router rip6 1 hold-time 15000 router rip6 1 flush-time 15000 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address fe80::2 link-local no shutdown exit interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit route-policy a set rip-metric 5 pass end-policy router rip timers basic 5 15 15 16 redistribute connected route-policy a interface gigabit0/0/0/0 root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 !r1 tping 100 120 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router rip4 1 r1 send no red conn r1 send exit r1 send router rip6 1 r1 send no red conn r1 send end r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 !r1 tping 0 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router rip4 1 r1 send red conn r1 send exit r1 send router rip6 1 r1 send red conn r1 send end r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 !r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-rip03.tst000066400000000000000000000020411510423065500167410ustar00rootroot00000000000000description interop2: rip authentication exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router rip4 1 ena router rip4 1 pass tester router rip6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address fe80::2 link-local no shutdown exit interface loopback0 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2/128 exit route-policy a set rip-metric 5 pass end-policy key chain kc1 key 0 key-string clear tester router rip redistribute connected route-policy a interface gigabit0/0/0/0 authentication keychain kc1 mode text root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 !r1 tping 100 120 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop2-tun01.tst000066400000000000000000000023221510423065500167550ustar00rootroot00000000000000description interop2: gre tunnel addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 2222::1 ffff:: exit int tun2 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 3333::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit interface tunnel-ip1 tunnel source gigabit0/0/0/0 tunnel destination 1.1.1.1 tunnel mode gre ipv4 ipv4 address 2.2.2.2 255.255.255.0 ipv6 address 2222::2/64 exit interface tunnel-ip2 tunnel source gigabit0/0/0/0 tunnel destination 1234::1 tunnel mode gre ipv6 ipv4 address 3.3.3.2 255.255.255.0 ipv6 address 3333::2/64 exit root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 2222::2 vrf v1 r1 tping 100 10 3.3.3.2 vrf v1 r1 tping 100 10 3333::2 vrf v1 freeRtr-25.11.9/cfg/intop2-tun02.tst000066400000000000000000000023151510423065500167600ustar00rootroot00000000000000description interop2: ipip tunnel addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode ipip tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 2222::1 ffff:: exit int tun2 tunnel vrf v1 tunnel mode ipip tunnel source ethernet1 tunnel destination 1234::2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 3333::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! interface gigabit0/0/0/0 ipv4 address 1.1.1.2 255.255.255.0 ipv6 address 1234::2/64 no shutdown exit interface tunnel-ip1 tunnel source gigabit0/0/0/0 tunnel destination 1.1.1.1 tunnel mode ipv4 ipv4 address 2.2.2.2 255.255.255.0 ipv6 address 2222::2/64 exit interface tunnel-ip2 tunnel source gigabit0/0/0/0 tunnel destination 1234::1 tunnel mode ipv6 ipv4 address 3.3.3.2 255.255.255.0 ipv6 address 3333::2/64 exit root commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 2222::2 vrf v1 r1 tping 100 10 3.3.3.2 vrf v1 r1 tping 100 10 3333::2 vrf v1 freeRtr-25.11.9/cfg/intop2.ini000066400000000000000000000010631510423065500157560ustar00rootroot00000000000000../img/v9k.img -M pc-i440fx-7.1 -drive if=pflash,format=raw,readonly,file=/usr/share/OVMF/OVMF_CODE_4M.fd 16384 4 virtio-net-pci 3 .*Interface GigabitEthernet0/0/0/0, changed state to Up mc36 cisco configure terminal !!!separator- hostname v9k lldp cdp username mc36 group root-lr group cisco-support secret 10 $6$LkHh21wI9lpGA21.$iVcg5e0Pu5YIMpmnT8cXimPZBu1fBvPp5XI5skNNuZtuioXTjVvonoJKS0L6BkQcrCw2h8kWGsbN12ZPKSLK31 exit interface gigabit0/0/0/0 cdp no shutdown exit telnet ipv4 server max-servers 10 telnet ipv6 server max-servers 10 commit replace yes freeRtr-25.11.9/cfg/intop8-babel01.tst000066400000000000000000000015761510423065500172340ustar00rootroot00000000000000description interop8: wired babel addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel6 1 vrf v1 router 1111-2222-3333-0001 afi-other enable afi-other red conn red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router babel6 1 ena router babel6 1 other-ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit router babel redistribute ipv4 connected redistribute ipv6 connected network ens3 exit interface ens3 ip address 1.1.1.2/24 babel wired no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-bgp01.tst000066400000000000000000000026041510423065500167300ustar00rootroot00000000000000description interop8: ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 red conn exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit interface ens3 ip address 1.1.1.2/24 ipv6 address 1234::2/64 no shutdown exit route-map all permit 10 exit router bgp 2 neighbor 1.1.1.1 remote-as 1 neighbor 1234::1 remote-as 1 address-family ipv4 unicast neighbor 1.1.1.1 activate neighbor 1.1.1.1 route-map all in neighbor 1.1.1.1 route-map all out no neighbor 1234::1 activate redistribute connected address-family ipv6 unicast no neighbor 1.1.1.1 activate neighbor 1234::1 activate neighbor 1234::1 route-map all in neighbor 1234::1 route-map all out redistribute connected exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-bgp02.tst000066400000000000000000000022701510423065500167300ustar00rootroot00000000000000description interop8: ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 red conn exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit interface ens3 ip address 1.1.1.2/24 ipv6 address 1234::2/64 no shutdown exit router bgp 1 neighbor 1.1.1.1 remote-as 1 neighbor 1234::1 remote-as 1 address-family ipv4 unicast neighbor 1.1.1.1 activate no neighbor 1234::1 activate redistribute connected address-family ipv6 unicast no neighbor 1.1.1.1 activate neighbor 1234::1 activate redistribute connected exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-bgp03.tst000066400000000000000000000037131510423065500167340ustar00rootroot00000000000000description interop8: bgp locpref addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match locpref 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 red conn exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ip addr 2.2.2.3/32 ip addr 2.2.2.4/32 ipv6 addr 4321::2/128 ipv6 addr 4321::3/128 ipv6 addr 4321::4/128 exit interface ens3 ip address 1.1.1.2/24 ipv6 address 1234::2/64 no shutdown exit ip prefix-list pl1 seq 5 permit 2.2.2.3/32 route-map rm1 permit 10 match ip address prefix-list pl1 set local-preference 1234 route-map rm1 permit 20 set local-preference 4321 ipv6 prefix-list pl2 seq 5 permit 4321::3/128 route-map rm2 permit 10 match ipv6 address prefix-list pl2 set local-preference 1234 route-map rm2 permit 20 set local-preference 4321 router bgp 1 neighbor 1.1.1.1 remote-as 1 neighbor 1234::1 remote-as 1 address-family ipv4 unicast neighbor 1.1.1.1 activate no neighbor 1234::1 activate redistribute connected route-map rm1 address-family ipv6 unicast no neighbor 1.1.1.1 activate neighbor 1234::1 activate redistribute connected route-map rm2 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-bgp04.tst000066400000000000000000000036501510423065500167350ustar00rootroot00000000000000description interop8: bgp origin addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match origin 2 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 red conn exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ip addr 2.2.2.3/32 ip addr 2.2.2.4/32 ipv6 addr 4321::2/128 ipv6 addr 4321::3/128 ipv6 addr 4321::4/128 exit interface ens3 ip address 1.1.1.2/24 ipv6 address 1234::2/64 no shutdown exit ip prefix-list pl1 seq 5 permit 2.2.2.3/32 route-map rm1 permit 10 match ip address prefix-list pl1 set origin incomplete route-map rm1 permit 20 set origin igp ipv6 prefix-list pl2 seq 5 permit 4321::3/128 route-map rm2 permit 10 match ipv6 address prefix-list pl2 set origin incomplete route-map rm2 permit 20 set origin igp router bgp 1 neighbor 1.1.1.1 remote-as 1 neighbor 1234::1 remote-as 1 address-family ipv4 unicast neighbor 1.1.1.1 activate no neighbor 1234::1 activate redistribute connected route-map rm1 address-family ipv6 unicast no neighbor 1.1.1.1 activate neighbor 1234::1 activate redistribute connected route-map rm2 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-bgp05.tst000066400000000000000000000036411510423065500167360ustar00rootroot00000000000000description interop8: bgp metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match metric 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 red conn exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ip addr 2.2.2.3/32 ip addr 2.2.2.4/32 ipv6 addr 4321::2/128 ipv6 addr 4321::3/128 ipv6 addr 4321::4/128 exit interface ens3 ip address 1.1.1.2/24 ipv6 address 1234::2/64 no shutdown exit ip prefix-list pl1 seq 5 permit 2.2.2.3/32 route-map rm1 permit 10 match ip address prefix-list pl1 set metric 1234 route-map rm1 permit 20 set metric 4321 ipv6 prefix-list pl2 seq 5 permit 4321::3/128 route-map rm2 permit 10 match ipv6 address prefix-list pl2 set metric 1234 route-map rm2 permit 20 set metric 4321 router bgp 1 neighbor 1.1.1.1 remote-as 1 neighbor 1234::1 remote-as 1 address-family ipv4 unicast neighbor 1.1.1.1 activate no neighbor 1234::1 activate redistribute connected route-map rm1 address-family ipv6 unicast no neighbor 1.1.1.1 activate neighbor 1234::1 activate redistribute connected route-map rm2 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-bgp06.tst000066400000000000000000000037121510423065500167360ustar00rootroot00000000000000description interop8: bgp community addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match stdcomm 1234:4321 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 red conn exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ip addr 2.2.2.3/32 ip addr 2.2.2.4/32 ipv6 addr 4321::2/128 ipv6 addr 4321::3/128 ipv6 addr 4321::4/128 exit interface ens3 ip address 1.1.1.2/24 ipv6 address 1234::2/64 no shutdown exit ip prefix-list pl1 seq 5 permit 2.2.2.3/32 route-map rm1 permit 10 match ip address prefix-list pl1 set community 1234:4321 route-map rm1 permit 20 set community 1234:1234 ipv6 prefix-list pl2 seq 5 permit 4321::3/128 route-map rm2 permit 10 match ipv6 address prefix-list pl2 set community 1234:4321 route-map rm2 permit 20 set community 1234:1234 router bgp 1 neighbor 1.1.1.1 remote-as 1 neighbor 1234::1 remote-as 1 address-family ipv4 unicast neighbor 1.1.1.1 activate no neighbor 1234::1 activate redistribute connected route-map rm1 address-family ipv6 unicast no neighbor 1.1.1.1 activate neighbor 1234::1 activate redistribute connected route-map rm2 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-bgp07.tst000066400000000000000000000037111510423065500167360ustar00rootroot00000000000000description interop8: bgp aspath addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match aspath .*1234.* sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 red conn exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ip addr 2.2.2.3/32 ip addr 2.2.2.4/32 ipv6 addr 4321::2/128 ipv6 addr 4321::3/128 ipv6 addr 4321::4/128 exit interface ens3 ip address 1.1.1.2/24 ipv6 address 1234::2/64 no shutdown exit ip prefix-list pl1 seq 5 permit 2.2.2.3/32 route-map rm1 permit 10 match ip address prefix-list pl1 set as-path prepend 1234 route-map rm1 permit 20 set as-path prepend 4321 ipv6 prefix-list pl2 seq 5 permit 4321::3/128 route-map rm2 permit 10 match ipv6 address prefix-list pl2 set as-path prepend 1234 route-map rm2 permit 20 set as-path prepend 4321 router bgp 1 neighbor 1.1.1.1 remote-as 1 neighbor 1234::1 remote-as 1 address-family ipv4 unicast neighbor 1.1.1.1 activate no neighbor 1234::1 activate redistribute connected route-map rm1 address-family ipv6 unicast no neighbor 1.1.1.1 activate neighbor 1234::1 activate redistribute connected route-map rm2 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-bgp08.tst000066400000000000000000000104411510423065500167350ustar00rootroot00000000000000description interop8: bgp with labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addother r2 int eth1 eth 0000.0000.2211 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit interface ens3 ip address 1.1.1.2/24 ipv6 address 1234:1::2/64 no shutdown exit interface ens4 ip address 1.1.2.2/24 ipv6 address 1234:2::2/64 no shutdown exit route-map all permit 10 exit router bgp 2 neighbor 1.1.1.1 remote-as 1 neighbor 1234:1::1 remote-as 1 neighbor 1.1.2.1 remote-as 3 neighbor 1234:2::1 remote-as 3 address-family ipv4 unicast no neighbor 1.1.1.1 activate no neighbor 1234:1::1 activate no neighbor 1.1.2.1 activate no neighbor 1234:2::1 activate neighbor 1.1.1.1 route-map all in neighbor 1.1.1.1 route-map all out neighbor 1.1.2.1 route-map all in neighbor 1.1.2.1 route-map all out address-family ipv6 unicast no neighbor 1.1.1.1 activate no neighbor 1234:1::1 activate no neighbor 1.1.2.1 activate no neighbor 1234:2::1 activate neighbor 1234:1::1 route-map all in neighbor 1234:1::1 route-map all out neighbor 1234:2::1 route-map all in neighbor 1234:2::1 route-map all out address-family ipv4 label neighbor 1.1.1.1 activate neighbor 1.1.1.1 route-map all in neighbor 1.1.1.1 route-map all out neighbor 1.1.2.1 activate neighbor 1.1.2.1 route-map all in neighbor 1.1.2.1 route-map all out redistribute connected address-family ipv6 label neighbor 1234:1::1 activate neighbor 1234:1::1 route-map all in neighbor 1234:1::1 route-map all out neighbor 1234:2::1 activate neighbor 1234:2::1 route-map all in neighbor 1234:2::1 route-map all out redistribute connected exit ! addrouter r3 int eth1 eth 0000.0000.1131 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 4.4.4.3 neigh 1.1.2.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 6.6.6.3 neigh 1234:2::2 remote-as 2 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 0 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 !r1 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 !r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/intop8-bgp09.tst000066400000000000000000000026331510423065500167420ustar00rootroot00000000000000description interop8: bgp addpath addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 additional-path-tx uni neigh 1.1.1.2 additional-path-rx uni red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 additional-path-tx uni neigh 1234::2 additional-path-rx uni red conn exit ! addother r2 int eth1 eth 0000.0000.2211 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit interface ens3 ip address 1.1.1.2/24 ipv6 address 1234::2/64 no shutdown exit router bgp 1 neighbor 1.1.1.1 remote-as 1 neighbor 1234::1 remote-as 1 address-family ipv4 unicast neighbor 1.1.1.1 activate no neighbor 1234::1 activate neighbor 1.1.1.1 addpath-tx-all redistribute connected address-family ipv6 unicast no neighbor 1.1.1.1 activate neighbor 1234::1 activate neighbor 1234::1 addpath-tx-all redistribute connected exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-bgp10.tst000066400000000000000000000031251510423065500167270ustar00rootroot00000000000000description interop8: bgp prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 red conn exit ! addother r2 int eth1 eth 0000.0000.2211 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit interface ens3 ip address 1.1.1.2/24 ipv6 address 1234::2/64 no shutdown exit router bgp 1 neighbor 1.1.1.1 remote-as 1 neighbor 1234::1 remote-as 1 address-family ipv4 unicast neighbor 1.1.1.1 activate no neighbor 1234::1 activate redistribute connected address-family ipv6 unicast no neighbor 1.1.1.1 activate neighbor 1234::1 activate redistribute connected exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router bgp4 1 r1 send no red conn r1 send exit r1 send router bgp6 1 r1 send no red conn r1 send end r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router bgp4 1 r1 send red conn r1 send exit r1 send router bgp6 1 r1 send red conn r1 send end r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-bgp11.tst000066400000000000000000000025101510423065500167250ustar00rootroot00000000000000description interop8: bgp authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 password tester red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 password tester red conn exit ! addother r2 int eth1 eth 0000.0000.2211 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit interface ens3 ip address 1.1.1.2/24 ipv6 address 1234::2/64 no shutdown exit router bgp 1 neighbor 1.1.1.1 remote-as 1 neighbor 1234::1 remote-as 1 neighbor 1.1.1.1 password tester neighbor 1234::1 password tester address-family ipv4 unicast neighbor 1.1.1.1 activate no neighbor 1234::1 activate redistribute connected address-family ipv6 unicast no neighbor 1.1.1.1 activate neighbor 1234::1 activate redistribute connected exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-bgp12.tst000066400000000000000000000037551510423065500167420ustar00rootroot00000000000000description interop8: bgp extended community addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match extcomm 2:1234:4321 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 red conn exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ip addr 2.2.2.3/32 ip addr 2.2.2.4/32 ipv6 addr 4321::2/128 ipv6 addr 4321::3/128 ipv6 addr 4321::4/128 exit interface ens3 ip address 1.1.1.2/24 ipv6 address 1234::2/64 no shutdown exit ip prefix-list pl1 seq 5 permit 2.2.2.3/32 route-map rm1 permit 10 match ip address prefix-list pl1 set extcommunity rt 1234:4321 route-map rm1 permit 20 set extcommunity rt 1234:1234 ipv6 prefix-list pl2 seq 5 permit 4321::3/128 route-map rm2 permit 10 match ipv6 address prefix-list pl2 set extcommunity rt 1234:4321 route-map rm2 permit 20 set extcommunity rt 1234:1234 router bgp 1 neighbor 1.1.1.1 remote-as 1 neighbor 1234::1 remote-as 1 address-family ipv4 unicast neighbor 1.1.1.1 activate no neighbor 1234::1 activate redistribute connected route-map rm1 address-family ipv6 unicast no neighbor 1.1.1.1 activate neighbor 1234::1 activate redistribute connected route-map rm2 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-bgp13.tst000066400000000000000000000040011510423065500167240ustar00rootroot00000000000000description interop8: bgp large community addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match lrgcomm 1234:1234:4321 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 red conn exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ip addr 2.2.2.3/32 ip addr 2.2.2.4/32 ipv6 addr 4321::2/128 ipv6 addr 4321::3/128 ipv6 addr 4321::4/128 exit interface ens3 ip address 1.1.1.2/24 ipv6 address 1234::2/64 no shutdown exit ip prefix-list pl1 seq 5 permit 2.2.2.3/32 route-map rm1 permit 10 match ip address prefix-list pl1 set large-community 1234:1234:4321 route-map rm1 permit 20 set large-community 1234:1234:1234 ipv6 prefix-list pl2 seq 5 permit 4321::3/128 route-map rm2 permit 10 match ipv6 address prefix-list pl2 set large-community 1234:1234:4321 route-map rm2 permit 20 set large-community 1234:1234:1234 router bgp 1 neighbor 1.1.1.1 remote-as 1 neighbor 1234::1 remote-as 1 address-family ipv4 unicast neighbor 1.1.1.1 activate no neighbor 1234::1 activate redistribute connected route-map rm1 address-family ipv6 unicast no neighbor 1.1.1.1 activate neighbor 1234::1 activate redistribute connected route-map rm2 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-bgp14.tst000066400000000000000000000105751510423065500167420ustar00rootroot00000000000000description interop8: bgp with php labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 label-pop red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 label-pop red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addother r2 int eth1 eth 0000.0000.2211 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit interface ens3 ip address 1.1.1.2/24 ipv6 address 1234:1::2/64 no shutdown exit interface ens4 ip address 1.1.2.2/24 ipv6 address 1234:2::2/64 no shutdown exit route-map all permit 10 exit router bgp 2 neighbor 1.1.1.1 remote-as 1 neighbor 1234:1::1 remote-as 1 neighbor 1.1.2.1 remote-as 3 neighbor 1234:2::1 remote-as 3 address-family ipv4 unicast no neighbor 1.1.1.1 activate no neighbor 1234:1::1 activate no neighbor 1.1.2.1 activate no neighbor 1234:2::1 activate neighbor 1.1.1.1 route-map all in neighbor 1.1.1.1 route-map all out neighbor 1.1.2.1 route-map all in neighbor 1.1.2.1 route-map all out address-family ipv6 unicast no neighbor 1.1.1.1 activate no neighbor 1234:1::1 activate no neighbor 1.1.2.1 activate no neighbor 1234:2::1 activate neighbor 1234:1::1 route-map all in neighbor 1234:1::1 route-map all out neighbor 1234:2::1 route-map all in neighbor 1234:2::1 route-map all out address-family ipv4 label neighbor 1.1.1.1 activate neighbor 1.1.1.1 route-map all in neighbor 1.1.1.1 route-map all out neighbor 1.1.2.1 activate neighbor 1.1.2.1 route-map all in neighbor 1.1.2.1 route-map all out redistribute connected address-family ipv6 label neighbor 1234:1::1 activate neighbor 1234:1::1 route-map all in neighbor 1234:1::1 route-map all out neighbor 1234:2::1 activate neighbor 1234:2::1 route-map all in neighbor 1234:2::1 route-map all out redistribute connected exit ! addrouter r3 int eth1 eth 0000.0000.1131 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 4.4.4.3 neigh 1.1.2.2 remote-as 2 neigh 1.1.2.2 label-pop red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 6.6.6.3 neigh 1234:2::2 remote-as 2 neigh 1234:2::2 label-pop red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 0 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 !r1 tping 0 60 4321::2 vrf v1 sou lo0 r3 tping 0 60 2.2.2.2 vrf v1 sou lo0 !r3 tping 0 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r3 tping 0 60 2.2.2.1 vrf v1 sou lo0 r3 tping 0 60 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/intop8-bgp15.tst000066400000000000000000000030541510423065500167350ustar00rootroot00000000000000description interop8: ebgp peer role addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 leak-role peer enforce red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 leak-role peer enforce red conn exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit interface ens3 ip address 1.1.1.2/24 ipv6 address 1234::2/64 no shutdown exit route-map all permit 10 exit router bgp 2 neighbor 1.1.1.1 remote-as 1 neighbor 1.1.1.1 local-role peer strict neighbor 1234::1 remote-as 1 neighbor 1234::1 local-role peer strict address-family ipv4 unicast neighbor 1.1.1.1 activate neighbor 1.1.1.1 route-map all in neighbor 1.1.1.1 route-map all out no neighbor 1234::1 activate redistribute connected address-family ipv6 unicast no neighbor 1.1.1.1 activate neighbor 1234::1 activate neighbor 1234::1 route-map all in neighbor 1234::1 route-map all out redistribute connected exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-bgp16.tst000066400000000000000000000030761510423065500167420ustar00rootroot00000000000000description interop8: ebgp ix role addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 leak-role ix-client enforce red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 leak-role ix-client enforce red conn exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit interface ens3 ip address 1.1.1.2/24 ipv6 address 1234::2/64 no shutdown exit route-map all permit 10 exit router bgp 2 neighbor 1.1.1.1 remote-as 1 neighbor 1.1.1.1 local-role rs-server strict neighbor 1234::1 remote-as 1 neighbor 1234::1 local-role rs-server strict address-family ipv4 unicast neighbor 1.1.1.1 activate neighbor 1.1.1.1 route-map all in neighbor 1.1.1.1 route-map all out no neighbor 1234::1 activate redistribute connected address-family ipv6 unicast no neighbor 1.1.1.1 activate neighbor 1234::1 activate neighbor 1234::1 route-map all in neighbor 1234::1 route-map all out redistribute connected exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-bgp17.tst000066400000000000000000000021671510423065500167430ustar00rootroot00000000000000description interop8: bgp extended nexthop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.2.3.4 255.255.255.255 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp6 1 vrf v1 address uni ouni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 extended-nexthop-current ouni red conn afi-other ena no afi-other vpn afi-other red conn exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit interface ens3 ip address 1.2.3.4/32 ipv6 address 1234::2/64 no shutdown exit router bgp 1 neighbor 1234::1 remote-as 1 neighbor 1234::1 capability extended-nexthop address-family ipv4 unicast neighbor 1234::1 activate redistribute connected address-family ipv6 unicast neighbor 1234::1 activate redistribute connected exit ! r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-eigrp01.tst000066400000000000000000000015321510423065500172650ustar00rootroot00000000000000description interop8: eigrp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router eigrp4 1 ena router eigrp6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit router eigrp 1 network 1.1.1.0/24 network 2.2.2.0/24 exit interface ens3 ip address 1.1.1.2/24 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 !r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-eth01.tst000066400000000000000000000012311510423065500167330ustar00rootroot00000000000000description interop8: fragmentation and reassembly addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 mtu 1500 enforce-mtu both vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 reassembly 16 ipv4 fragmentation 1400 ipv6 reassembly 16 ipv6 fragmentation 1400 exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface ens3 ip address 1.1.1.2/24 ipv6 address 1234::2/64 no shutdown exit ! r1 tping 100 30 1.1.1.2 vrf v1 siz 222 r1 tping 100 30 1234::2 vrf v1 siz 222 r1 tping 100 30 1.1.1.2 vrf v1 siz 2222 r1 tping 100 30 1234::2 vrf v1 siz 2222 freeRtr-25.11.9/cfg/intop8-eth02.tst000066400000000000000000000007231510423065500167410ustar00rootroot00000000000000description interop8: verify source addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 verify rx ipv6 verify rx exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface ens3 ip address 1.1.1.2/24 ipv6 address 1234::2/64 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 freeRtr-25.11.9/cfg/intop8-isis01.tst000066400000000000000000000022371510423065500171310ustar00rootroot00000000000000description interop8: point2point isis addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.3333 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addother r2 int eth1 eth 0000.0000.2211 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit router isis 1 net 48.0000.0000.1234.00 metric-style wide redistribute ipv4 connected level-2 redistribute ipv6 connected level-2 exit interface ens3 ip address 1.1.1.2/24 ip router isis 1 isis network point-to-point no shutdown exit interface ens4 ipv6 router isis 1 isis network point-to-point no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-isis02.tst000066400000000000000000000022771510423065500171360ustar00rootroot00000000000000description interop8: isis dis addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.3333 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 net broad router isis4 1 pri 50 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena router isis6 1 net broad router isis6 1 pri 50 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addother r2 int eth1 eth 0000.0000.2211 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit router isis 1 net 48.0000.0000.1234.00 metric-style wide redistribute ipv4 connected level-2 redistribute ipv6 connected level-2 exit interface ens3 ip address 1.1.1.2/24 ip router isis 1 no shutdown exit interface ens4 ipv6 router isis 1 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-isis03.tst000066400000000000000000000023021510423065500171240ustar00rootroot00000000000000description interop8: isis nondis addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.3333 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 net broad router isis4 1 pri 70 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena router isis6 1 net broad router isis6 1 pri 70 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addother r2 int eth1 eth 0000.0000.2211 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit router isis 1 net 48.0000.0000.1234.00 metric-style wide redistribute ipv4 connected level-2 redistribute ipv6 connected level-2 exit interface ens3 ip address 1.1.1.2/24 ip router isis 1 no shutdown exit interface ens4 ipv6 router isis 1 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-isis04.tst000066400000000000000000000023111510423065500171250ustar00rootroot00000000000000description interop8: isis narrow metric exit addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.3333 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 no metric-wide red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 no metric-wide red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addother r2 int eth1 eth 0000.0000.2211 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit router isis 1 net 48.0000.0000.1234.00 metric-style narrow redistribute ipv4 connected level-2 redistribute ipv6 connected level-2 exit interface ens3 ip address 1.1.1.2/24 ip router isis 1 isis network point-to-point no shutdown exit interface ens4 ipv6 router isis 1 isis network point-to-point no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-isis05.tst000066400000000000000000000030651510423065500171350ustar00rootroot00000000000000description interop8: isis prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.3333 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addother r2 int eth1 eth 0000.0000.2211 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit router isis 1 net 48.0000.0000.1234.00 metric-style wide redistribute ipv4 connected level-2 redistribute ipv6 connected level-2 exit interface ens3 ip address 1.1.1.2/24 ip router isis 1 isis network point-to-point no shutdown exit interface ens4 ipv6 router isis 1 isis network point-to-point no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router isis4 1 r1 send no red conn r1 send exit r1 send router isis6 1 r1 send no red conn r1 send end r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router isis4 1 r1 send red conn r1 send exit r1 send router isis6 1 r1 send red conn r1 send end r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-isis06.tst000066400000000000000000000024371510423065500171400ustar00rootroot00000000000000description interop8: isis text authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.3333 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 password tester exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena router isis6 1 password tester exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addother r2 int eth1 eth 0000.0000.2211 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit router isis 1 net 48.0000.0000.1234.00 metric-style wide redistribute ipv4 connected level-2 redistribute ipv6 connected level-2 exit interface ens3 ip address 1.1.1.2/24 ip router isis 1 isis network point-to-point isis password clear tester no shutdown exit interface ens4 ipv6 router isis 1 isis network point-to-point isis password clear tester no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-isis07.tst000066400000000000000000000017431510423065500171400ustar00rootroot00000000000000description interop8: integrated isis addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn afi-other enable afi-other red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router isis4 1 ena router isis4 1 other-ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addother r2 int eth1 eth 0000.0000.2211 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit router isis 1 net 48.0000.0000.1234.00 metric-style wide redistribute ipv4 connected level-2 redistribute ipv6 connected level-2 exit interface ens3 ip address 1.1.1.2/24 ip router isis 1 ipv6 router isis 1 isis network point-to-point no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-isis08.tst000066400000000000000000000023651510423065500171420ustar00rootroot00000000000000description interop8: isis lsp text authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.3333 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both lsp-pass tester red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 both lsp-pass tester red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addother r2 int eth1 eth 0000.0000.2211 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit router isis 1 net 48.0000.0000.1234.00 domain-password clear tester metric-style wide redistribute ipv4 connected level-2 redistribute ipv6 connected level-2 exit interface ens3 ip address 1.1.1.2/24 ip router isis 1 isis network point-to-point no shutdown exit interface ens4 ipv6 router isis 1 isis network point-to-point no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-isis09.tst000066400000000000000000000024361510423065500171420ustar00rootroot00000000000000description interop8: isis lsp md5 authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.3333 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both lsp-pass tester both authen-type md5 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 both lsp-pass tester both authen-type md5 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addother r2 int eth1 eth 0000.0000.2211 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit router isis 1 net 48.0000.0000.1234.00 domain-password md5 tester metric-style wide redistribute ipv4 connected level-2 redistribute ipv6 connected level-2 exit interface ens3 ip address 1.1.1.2/24 ip router isis 1 isis network point-to-point no shutdown exit interface ens4 ipv6 router isis 1 isis network point-to-point no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-isis10.tst000066400000000000000000000025321510423065500171270ustar00rootroot00000000000000description interop8: isis md5 authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.3333 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 password tester router isis4 1 authen-type md5 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena router isis6 1 password tester router isis6 1 authen-type md5 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addother r2 int eth1 eth 0000.0000.2211 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit router isis 1 net 48.0000.0000.1234.00 metric-style wide redistribute ipv4 connected level-2 redistribute ipv6 connected level-2 exit interface ens3 ip address 1.1.1.2/24 ip router isis 1 isis network point-to-point isis password md5 tester no shutdown exit interface ens4 ipv6 router isis 1 isis network point-to-point isis password md5 tester no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-isis11.tst000066400000000000000000000023111510423065500171230ustar00rootroot00000000000000description interop8: isis multi-topology addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.3333 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 multi-topology red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addother r2 int eth1 eth 0000.0000.2211 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit router isis 1 net 48.0000.0000.1234.00 metric-style wide redistribute ipv4 connected level-2 redistribute ipv6 connected level-2 topology ipv6-unicast exit interface ens3 ip address 1.1.1.2/24 ip router isis 1 isis network point-to-point no shutdown exit interface ens4 ipv6 router isis 1 isis network point-to-point no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-isis12.tst000066400000000000000000000020431510423065500171260ustar00rootroot00000000000000description interop8: integrated isis multi-topology addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn afi-other enable afi-other multi-topology afi-other red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router isis4 1 ena router isis4 1 other-ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addother r2 int eth1 eth 0000.0000.2211 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit router isis 1 net 48.0000.0000.1234.00 metric-style wide redistribute ipv4 connected level-2 redistribute ipv6 connected level-2 topology ipv6-unicast exit interface ens3 ip address 1.1.1.2/24 ip router isis 1 ipv6 router isis 1 isis network point-to-point no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-ldp01.tst000066400000000000000000000063221510423065500167400ustar00rootroot00000000000000description interop8: ldp lsp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321::1111:0 ffff:: all 4321::1111:0 ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::202:201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 mpls enable mpls ldp4 mpls ldp6 lo0 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::200:ff:fe00:2222 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::202:203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::200:ff:fe00:2222 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.252 pseudo v1 lo0 pweompls 4321::202:203 1234 exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2211 $2b$ $2a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4444::2/128 exit interface ens3 ip address 1.1.1.2/24 no shutdown exit interface ens4 ip address 1.1.2.2/24 no shutdown exit ip route 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route 4321::202:201/128 fe80::1 ens3 ip route 2.2.2.3 255.255.255.255 1.1.2.1 ipv6 route 4321::202:203/128 fe80::4 ens4 mpls ldp address-family ipv4 discovery transport-address 2.2.2.2 ttl-security disable interface ens3 interface ens4 exit address-family ipv6 discovery transport-address 4444::2 ttl-security disable interface ens3 interface ens4 exit ! addrouter r3 int eth1 eth 0000.0000.1131 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321::1111:0 ffff:: all 4321::1111:0 ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::202:203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr fe80::4 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 mpls enable mpls ldp4 mpls ldp6 lo0 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv6 route v1 4321::202:201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::200:ff:fe00:2211 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::200:ff:fe00:2211 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.252 pseudo v1 lo0 pweompls 4321::202:201 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 0 10 1.1.2.2 vrf v1 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 !r1 tping 100 40 3.3.4.2 vrf v1 !r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/intop8-ldp02.tst000066400000000000000000000064221510423065500167420ustar00rootroot00000000000000description interop8: ldp php lsp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321::1111:0 ffff:: all 4321::1111:0 ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::202:201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 mpls enable mpls ldp4 mpls label4pop mpls ldp6 lo0 mpls label6pop exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::200:ff:fe00:2222 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::202:203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::200:ff:fe00:2222 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.252 pseudo v1 lo0 pweompls 4321::202:203 1234 exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2211 $2b$ $2a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4444::2/128 exit interface ens3 ip address 1.1.1.2/24 no shutdown exit interface ens4 ip address 1.1.2.2/24 no shutdown exit ip route 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route 4321::202:201/128 fe80::1 ens3 ip route 2.2.2.3 255.255.255.255 1.1.2.1 ipv6 route 4321::202:203/128 fe80::4 ens4 mpls ldp address-family ipv4 discovery transport-address 2.2.2.2 ttl-security disable interface ens3 interface ens4 exit address-family ipv6 discovery transport-address 4444::2 ttl-security disable interface ens3 interface ens4 exit ! addrouter r3 int eth1 eth 0000.0000.1131 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321::1111:0 ffff:: all 4321::1111:0 ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::202:203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr fe80::4 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 mpls enable mpls ldp4 mpls label4pop mpls ldp6 lo0 mpls label6pop exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv6 route v1 4321::202:201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::200:ff:fe00:2211 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::200:ff:fe00:2211 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.252 pseudo v1 lo0 pweompls 4321::202:201 1234 exit ! r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 sou lo0 r3 tping 0 10 1.1.2.2 vrf v1 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 !r1 tping 100 40 3.3.4.2 vrf v1 !r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/intop8-mcast01.tst000066400000000000000000000030111510423065500172600ustar00rootroot00000000000000description interop8: igmp3/mld2 exit addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:ffff:ffff:: ipv4 multi host-ena ipv4 multi host-pro ipv6 multi host-ena ipv6 multi host-pro exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::2 ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! ip forwarding ipv6 forwarding interface ens3 ip address 1.1.1.2/24 ipv6 address 1234:1::2/64 ip igmp ipv6 mld no shutdown exit interface ens4 ip address 1.1.2.2/24 ipv6 address 1234:2::2/64 ip igmp ipv6 mld no shutdown exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:ffff:ffff:: ipv4 multi host-ena ipv4 multi host-pro ipv6 multi host-ena ipv6 multi host-pro exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.2 ipv6 route v1 1234:1::1 ffff:ffff:ffff:ffff:: 1234:2::2 ipv4 mroute v1 1.1.1.0 255.255.255.0 1.1.2.2 ipv6 mroute v1 1234:1::1 ffff:ffff:ffff:ffff:: 1234:2::2 ipv4 multi v1 join 232.2.2.2 1.1.1.1 ipv6 multi v1 join ff06::1 1234:1::1 ! r1 tping 100 60 1.1.1.1 vrf v1 sou eth1 r1 tping 100 60 1234:1::1 vrf v1 sou eth1 r3 tping 100 60 1.1.2.1 vrf v1 sou eth1 r3 tping 100 60 1234:2::1 vrf v1 sou eth1 r1 tping 100 60 232.2.2.2 vrf v1 sou eth1 !r1 tping 100 60 ff06::1 vrf v1 sou eth1 freeRtr-25.11.9/cfg/intop8-mcast02.tst000066400000000000000000000026121510423065500172670ustar00rootroot00000000000000description interop8: pim addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80::2 ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! ip forwarding ipv6 forwarding interface ens3 ip address 1.1.1.2/24 ipv6 address 1234:1::2/64 ip pim ipv6 pim no shutdown exit interface ens4 ip address 1.1.2.2/24 ipv6 address 1234:2::2/64 ip pim ipv6 pim no shutdown exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.2 ipv6 route v1 1234:1::1 ffff:ffff:ffff:ffff:: 1234:2::2 ipv4 mroute v1 1.1.1.0 255.255.255.0 1.1.2.2 ipv6 mroute v1 1234:1::1 ffff:ffff:ffff:ffff:: 1234:2::2 ipv4 multi v1 join 232.2.2.2 1.1.1.1 ipv6 multi v1 join ff06::1 1234:1::1 ! r1 tping 100 60 1.1.1.1 vrf v1 sou eth1 r1 tping 100 60 1234:1::1 vrf v1 sou eth1 r3 tping 100 60 1.1.2.1 vrf v1 sou eth1 r3 tping 100 60 1234:2::1 vrf v1 sou eth1 r1 tping 100 60 232.2.2.2 vrf v1 sou eth1 !r1 tping 100 60 ff06::1 vrf v1 sou eth1 freeRtr-25.11.9/cfg/intop8-ospf01.tst000066400000000000000000000020111510423065500171170ustar00rootroot00000000000000description interop8: point2point ospf addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena no area 0 host red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena no area 0 host red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit router ospf redistribute connected exit router ospf6 redistribute connected exit interface ens3 ip address 1.1.1.2/24 ip ospf area 0 ipv6 ospf area 0 ip ospf network point-to-point ipv6 ospf6 network point-to-point no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-ospf02.tst000066400000000000000000000020411510423065500171230ustar00rootroot00000000000000description interop8: ospf dr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena no area 0 host red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena no area 0 host red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf4 1 net broad router ospf4 1 prio 10 router ospf6 1 ena router ospf6 1 net broad router ospf6 1 prio 10 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit router ospf redistribute connected exit router ospf6 redistribute connected exit interface ens3 ip address 1.1.1.2/24 ip ospf area 0 ipv6 ospf area 0 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-ospf03.tst000066400000000000000000000020421510423065500171250ustar00rootroot00000000000000description interop8: ospf nondr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena no area 0 host red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena no area 0 host red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf4 1 net broad router ospf4 1 prio 0 router ospf6 1 ena router ospf6 1 net broad router ospf6 1 prio 0 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit router ospf redistribute connected exit router ospf6 redistribute connected exit interface ens3 ip address 1.1.1.2/24 ip ospf area 0 ipv6 ospf area 0 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-ospf04.tst000066400000000000000000000020121510423065500171230ustar00rootroot00000000000000description interop8: ospf transit area addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 1 ena no area 1 host red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 1 ena no area 1 host red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit router ospf redistribute connected exit router ospf6 redistribute connected exit interface ens3 ip address 1.1.1.2/24 ip ospf area 1 ipv6 ospf area 1 ip ospf network point-to-point ipv6 ospf6 network point-to-point no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-ospf05.tst000066400000000000000000000021011510423065500171230ustar00rootroot00000000000000description interop8: ospf stub area addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 1 ena no area 1 host area 1 stub exit router ospf6 1 vrf v1 router 6.6.6.1 area 1 ena no area 1 host area 1 stub exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf6 1 ena exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding router ospf area 1 stub exit router ospf6 area 1 stub exit interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 ip ospf area 1 ipv6 ospf area 1 exit interface ens3 ip address 1.1.1.2/24 ip ospf area 1 ipv6 ospf area 1 ip ospf network point-to-point ipv6 ospf6 network point-to-point no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-ospf06.tst000066400000000000000000000021071510423065500171320ustar00rootroot00000000000000description interop8: ospf nssa area exit addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 1 ena no area 1 host area 1 nssa exit router ospf6 1 vrf v1 router 6.6.6.1 area 1 ena no area 1 host area 1 nssa exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf6 1 ena exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding router ospf area 1 nssa exit router ospf6 area 1 nssa exit interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 ip ospf area 1 ipv6 ospf area 1 exit interface ens3 ip address 1.1.1.2/24 ip ospf area 1 ipv6 ospf area 1 ip ospf network point-to-point ipv6 ospf6 network point-to-point no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-ospf07.tst000066400000000000000000000026371510423065500171430ustar00rootroot00000000000000description interop8: ospf prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena no area 0 host red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena no area 0 host red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit router ospf redistribute connected exit router ospf6 redistribute connected exit interface ens3 ip address 1.1.1.2/24 ip ospf area 0 ipv6 ospf area 0 ip ospf network point-to-point ipv6 ospf6 network point-to-point no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router ospf4 1 r1 send no red conn r1 send exit r1 send router ospf6 1 r1 send no red conn r1 send end r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router ospf4 1 r1 send red conn r1 send exit r1 send router ospf6 1 r1 send red conn r1 send end r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-ospf08.tst000066400000000000000000000021541510423065500171360ustar00rootroot00000000000000description interop8: ospf text authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena no area 0 host red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena no area 0 host red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit router ospf redistribute connected exit router ospf6 redistribute connected exit interface ens3 ip address 1.1.1.2/24 ip ospf area 0 ipv6 ospf area 0 ip ospf network point-to-point ip ospf authentication ip ospf authentication-key tester ipv6 ospf6 network point-to-point no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-ospf09.tst000066400000000000000000000023001510423065500171300ustar00rootroot00000000000000description interop8: ospf md5 authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena no area 0 host red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena no area 0 host red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf4 1 authen-id 123 router ospf4 1 authen-type md5 router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit router ospf redistribute connected exit router ospf6 redistribute connected exit interface ens3 ip address 1.1.1.2/24 ip ospf area 0 ipv6 ospf area 0 ip ospf network point-to-point ip ospf authentication message-digest ip ospf message-digest-key 123 md5 tester ipv6 ospf6 network point-to-point no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8-rip01.tst000066400000000000000000000015301510423065500167470ustar00rootroot00000000000000description interop8: rip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router rip4 1 ena router rip6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! ip forwarding ipv6 forwarding interface lo ip addr 2.2.2.2/32 ipv6 addr 4321::2/128 exit router rip redistribute connected network ens3 exit router ripng redistribute connected network ens3 exit interface ens3 ip address 1.1.1.2/24 no shutdown exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop8.ini000066400000000000000000000006531510423065500157700ustar00rootroot00000000000000frr qemu-img create -f qcow2 -o backing_file=../img/frr.img,backing_fmt=raw $fn$ qemu-system-x86_64 -monitor none -serial stdio -nographic -no-reboot -enable-kvm -cpu host -smp cores=2,threads=1,sockets=1 -drive file=$fn$,format=qcow2,cache=unsafe -m 1024 $nc$ 0 -netdev socket,id=n$id$,udp=:$rp$,localaddr=:$lp$ -device virtio-net-pci,netdev=n$id$,mac=$ad$ Hello, this is FRRouting.* !!!separator- enable configure terminal freeRtr-25.11.9/cfg/intop9-bgp01.tst000066400000000000000000000024751510423065500167370ustar00rootroot00000000000000description interop9: ebgp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234::2/64 set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set routing-options autonomous-system 2 set policy-options policy-statement ps1 from protocol direct set policy-options policy-statement ps1 then accept set protocols bgp export ps1 set protocols bgp group peers type external set protocols bgp group peers peer-as 1 set protocols bgp group peers neighbor 1.1.1.1 set protocols bgp group peers neighbor 1234::1 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-bgp02.tst000066400000000000000000000024411510423065500167310ustar00rootroot00000000000000description interop9: ibgp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234::2/64 set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set routing-options autonomous-system 1 set policy-options policy-statement ps1 from protocol direct set policy-options policy-statement ps1 then accept set protocols bgp export ps1 set protocols bgp group peers type internal set protocols bgp group peers peer-as 1 set protocols bgp group peers neighbor 1.1.1.1 set protocols bgp group peers neighbor 1234::1 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-bgp03.tst000066400000000000000000000041321510423065500167310ustar00rootroot00000000000000description interop9: bgp locpref addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match locpref 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234::2/64 set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.0 family inet address 2.2.2.3/32 set interfaces lo0.0 family inet6 address 4321::3/128 set interfaces lo0.0 family inet address 2.2.2.4/32 set interfaces lo0.0 family inet6 address 4321::4/128 set routing-options autonomous-system 1 set policy-options policy-statement ps1 term 1 from interface [ 2.2.2.3 4321::3 ] set policy-options policy-statement ps1 term 1 then local-preference 1234 set policy-options policy-statement ps1 term 1 then accept set policy-options policy-statement ps1 term 2 from protocol direct set policy-options policy-statement ps1 term 2 then local-preference 4321 set policy-options policy-statement ps1 term 2 then accept set protocols bgp export ps1 set protocols bgp group peers type internal set protocols bgp group peers peer-as 1 set protocols bgp group peers neighbor 1.1.1.1 set protocols bgp group peers neighbor 1234::1 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-bgp04.tst000066400000000000000000000041061510423065500167330ustar00rootroot00000000000000description interop9: bgp origin addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match origin 2 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234::2/64 set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.0 family inet address 2.2.2.3/32 set interfaces lo0.0 family inet6 address 4321::3/128 set interfaces lo0.0 family inet address 2.2.2.4/32 set interfaces lo0.0 family inet6 address 4321::4/128 set routing-options autonomous-system 1 set policy-options policy-statement ps1 term 1 from interface [ 2.2.2.3 4321::3 ] set policy-options policy-statement ps1 term 1 then origin incomplete set policy-options policy-statement ps1 term 1 then accept set policy-options policy-statement ps1 term 2 from protocol direct set policy-options policy-statement ps1 term 2 then origin igp set policy-options policy-statement ps1 term 2 then accept set protocols bgp export ps1 set protocols bgp group peers type internal set protocols bgp group peers peer-as 1 set protocols bgp group peers neighbor 1.1.1.1 set protocols bgp group peers neighbor 1234::1 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-bgp05.tst000066400000000000000000000041041510423065500167320ustar00rootroot00000000000000description interop9: bgp metric addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match metric 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234::2/64 set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.0 family inet address 2.2.2.3/32 set interfaces lo0.0 family inet6 address 4321::3/128 set interfaces lo0.0 family inet address 2.2.2.4/32 set interfaces lo0.0 family inet6 address 4321::4/128 set routing-options autonomous-system 1 set policy-options policy-statement ps1 term 1 from interface [ 2.2.2.3 4321::3 ] set policy-options policy-statement ps1 term 1 then metric 1234 set policy-options policy-statement ps1 term 1 then accept set policy-options policy-statement ps1 term 2 from protocol direct set policy-options policy-statement ps1 term 2 then metric 4321 set policy-options policy-statement ps1 term 2 then accept set protocols bgp export ps1 set protocols bgp group peers type internal set protocols bgp group peers peer-as 1 set protocols bgp group peers neighbor 1.1.1.1 set protocols bgp group peers neighbor 1234::1 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-bgp06.tst000066400000000000000000000043671510423065500167460ustar00rootroot00000000000000description interop9: bgp community addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match stdcomm 1234:4321 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 neigh 1234::2 send-comm both red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234::2/64 set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.0 family inet address 2.2.2.3/32 set interfaces lo0.0 family inet6 address 4321::3/128 set interfaces lo0.0 family inet address 2.2.2.4/32 set interfaces lo0.0 family inet6 address 4321::4/128 set routing-options autonomous-system 1 set policy-options community c1 members 1234:4321 set policy-options community c2 members 1234:1234 set policy-options policy-statement ps1 term 1 from interface [ 2.2.2.3 4321::3 ] set policy-options policy-statement ps1 term 1 then community set c1 set policy-options policy-statement ps1 term 1 then accept set policy-options policy-statement ps1 term 2 from protocol direct set policy-options policy-statement ps1 term 2 then community set c2 set policy-options policy-statement ps1 term 2 then accept set protocols bgp export ps1 set protocols bgp group peers type internal set protocols bgp group peers peer-as 1 set protocols bgp group peers neighbor 1.1.1.1 set protocols bgp group peers neighbor 1234::1 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-bgp07.tst000066400000000000000000000041661510423065500167440ustar00rootroot00000000000000description interop9: bgp aspath addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match aspath .*1234.* sequence 20 act permit exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 route-map-in rm1 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234::2/64 set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.0 family inet address 2.2.2.3/32 set interfaces lo0.0 family inet6 address 4321::3/128 set interfaces lo0.0 family inet address 2.2.2.4/32 set interfaces lo0.0 family inet6 address 4321::4/128 set routing-options autonomous-system 2 set policy-options policy-statement ps1 term 1 from interface [ 2.2.2.3 4321::3 ] set policy-options policy-statement ps1 term 1 then as-path-prepend 1234 set policy-options policy-statement ps1 term 1 then accept set policy-options policy-statement ps1 term 2 from protocol direct set policy-options policy-statement ps1 term 2 then as-path-prepend 4321 set policy-options policy-statement ps1 term 2 then accept set protocols bgp export ps1 set protocols bgp group peers type external set protocols bgp group peers peer-as 1 set protocols bgp group peers neighbor 1.1.1.1 set protocols bgp group peers neighbor 1234::1 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-bgp08.tst000066400000000000000000000074341510423065500167460ustar00rootroot00000000000000description interop9: bgp with labels addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234:1::2/64 set interfaces ge-0/0/0.0 family mpls set interfaces ge-0/0/1.0 family inet address 1.1.2.2/24 set interfaces ge-0/0/1.0 family inet6 address 1234:2::2/64 set interfaces ge-0/0/1.0 family mpls set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set routing-options autonomous-system 2 set policy-options policy-statement ps1 from protocol direct set policy-options policy-statement ps1 then accept set protocols bgp export ps1 set protocols bgp group peer4 type external set protocols bgp group peer4 family inet labeled-unicast set protocols bgp group peer4 neighbor 1.1.1.1 peer-as 1 set protocols bgp group peer4 neighbor 1.1.2.1 peer-as 3 set protocols bgp group peer6 type external set protocols bgp group peer6 family inet6 labeled-unicast set protocols bgp group peer6 neighbor 1234:1::1 peer-as 1 set protocols bgp group peer6 neighbor 1234:2::1 peer-as 3 commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 4.4.4.3 neigh 1.1.2.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 6.6.6.3 neigh 1234:2::2 remote-as 2 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.3.6 255.255.255.252 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 0 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 !r1 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 !r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.3.6 vrf v1 r3 tping 100 40 3.3.3.5 vrf v1 freeRtr-25.11.9/cfg/intop9-bgp09.tst000066400000000000000000000032771510423065500167500ustar00rootroot00000000000000description interop9: bgp addpath addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 additional-path-tx uni neigh 1.1.1.2 additional-path-rx uni red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 additional-path-tx uni neigh 1234::2 additional-path-rx uni red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234::2/64 set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set routing-options autonomous-system 1 set policy-options policy-statement ps1 from protocol direct set policy-options policy-statement ps1 then accept set protocols bgp export ps1 set protocols bgp group peer4 type internal set protocols bgp group peer4 peer-as 1 set protocols bgp group peer4 family inet unicast add-path receive send path-count 4 set protocols bgp group peer4 neighbor 1.1.1.1 set protocols bgp group peer6 type internal set protocols bgp group peer6 peer-as 1 set protocols bgp group peer6 family inet6 unicast add-path receive send path-count 4 set protocols bgp group peer6 neighbor 1234::1 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-bgp10.tst000066400000000000000000000032761510423065500167370ustar00rootroot00000000000000description interop9: bgp prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234::2/64 set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set routing-options autonomous-system 1 set policy-options policy-statement ps1 from protocol direct set policy-options policy-statement ps1 then accept set protocols bgp export ps1 set protocols bgp group peers type internal set protocols bgp group peers peer-as 1 set protocols bgp group peers neighbor 1.1.1.1 set protocols bgp group peers neighbor 1234::1 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router bgp4 1 r1 send no red conn r1 send exit r1 send router bgp6 1 r1 send no red conn r1 send end r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router bgp4 1 r1 send red conn r1 send exit r1 send router bgp6 1 r1 send red conn r1 send end r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-bgp11.tst000066400000000000000000000057061510423065500167400ustar00rootroot00000000000000description interop9: bgp vpnv4 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234::2/64 set interfaces ge-0/0/0.0 family mpls set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.2 family inet address 9.9.2.2/32 set interfaces lo0.2 family inet6 address 9992::2/128 set interfaces lo0.3 family inet address 9.9.3.2/32 set interfaces lo0.3 family inet6 address 9993::2/128 set protocols ldp interface ge-0/0/0.0 set protocols mpls interface ge-0/0/0.0 set routing-options rib inet.0 static route 2.2.2.1/32 next-hop 1.1.1.1 set routing-options rib inet6.0 static route 4321::1/128 next-hop 1234::1 set routing-options autonomous-system 1 set protocols bgp group peers type internal set protocols bgp group peers peer-as 1 set protocols bgp group peers neighbor 2.2.2.1 set protocols bgp group peers local-address 2.2.2.2 set protocols bgp group peers family inet-vpn unicast set routing-instances v2 instance-type vrf set routing-instances v2 interface lo0.2 set routing-instances v2 route-distinguisher 1:2 set routing-instances v2 vrf-target target:1:2 set routing-instances v2 vrf-table-label set routing-instances v3 instance-type vrf set routing-instances v3 interface lo0.3 set routing-instances v3 route-distinguisher 1:3 set routing-instances v3 vrf-target target:1:3 set routing-instances v3 vrf-table-label commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 !r1 tping 100 60 9992::2 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 !r1 tping 100 60 9993::2 vrf v3 freeRtr-25.11.9/cfg/intop9-bgp12.tst000066400000000000000000000026451510423065500167400ustar00rootroot00000000000000description interop9: bgp authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 password tester red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 password tester red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234::2/64 set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set routing-options autonomous-system 1 set policy-options policy-statement ps1 from protocol direct set policy-options policy-statement ps1 then accept set protocols bgp export ps1 set protocols bgp group peers type internal set protocols bgp group peers peer-as 1 set protocols bgp group peers authentication-key tester set protocols bgp group peers neighbor 1.1.1.1 set protocols bgp group peers neighbor 1234::1 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-bgp13.tst000066400000000000000000000057631510423065500167450ustar00rootroot00000000000000description interop9: bgp vpnv6 addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234::2/64 set interfaces ge-0/0/0.0 family mpls set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.2 family inet address 9.9.2.2/32 set interfaces lo0.2 family inet6 address 9992::2/128 set interfaces lo0.3 family inet address 9.9.3.2/32 set interfaces lo0.3 family inet6 address 9993::2/128 set protocols ldp interface ge-0/0/0.0 set protocols mpls interface ge-0/0/0.0 set protocols mpls ipv6-tunneling set routing-options rib inet.0 static route 2.2.2.1/32 next-hop 1.1.1.1 set routing-options rib inet6.0 static route 4321::1/128 next-hop 1234::1 set routing-options autonomous-system 1 set protocols bgp group peers type internal set protocols bgp group peers peer-as 1 set protocols bgp group peers neighbor 2.2.2.1 set protocols bgp group peers local-address 2.2.2.2 set protocols bgp group peers family inet6-vpn unicast set routing-instances v2 instance-type vrf set routing-instances v2 interface lo0.2 set routing-instances v2 route-distinguisher 1:2 set routing-instances v2 vrf-target target:1:2 set routing-instances v2 vrf-table-label set routing-instances v3 instance-type vrf set routing-instances v3 interface lo0.3 set routing-instances v3 route-distinguisher 1:3 set routing-instances v3 vrf-target target:1:3 set routing-instances v3 vrf-table-label commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 !r1 tping 100 60 9.9.2.2 vrf v2 r1 tping 100 60 9992::2 vrf v2 !r1 tping 100 60 9.9.3.2 vrf v3 r1 tping 100 60 9993::2 vrf v3 freeRtr-25.11.9/cfg/intop9-bgp14.tst000066400000000000000000000053011510423065500167320ustar00rootroot00000000000000description interop9: vpls/ldp over bgp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234::2/64 set interfaces ge-0/0/0.0 family mpls set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set protocols ldp interface ge-0/0/0.0 set protocols ldp interface lo0.0 set protocols mpls interface ge-0/0/0.0 set routing-options rib inet.0 static route 2.2.2.1/32 next-hop 1.1.1.1 set routing-options rib inet6.0 static route 4321::1/128 next-hop 1234::1 set routing-options autonomous-system 1 set protocols bgp group peers type internal set protocols bgp group peers peer-as 1 set protocols bgp group peers neighbor 2.2.2.1 set protocols bgp group peers local-address 2.2.2.2 set protocols bgp group peers family l2vpn auto-discovery-only set interfaces ge-0/0/1 encapsulation ethernet-vpls set interfaces ge-0/0/1.0 family vpls set routing-instances b1 instance-type vpls set routing-instances b1 vlan-id none set routing-instances b1 interface ge-0/0/1.0 set routing-instances b1 route-distinguisher 1:1 set routing-instances b1 vrf-target target:1:1 set routing-instances b1 l2vpn-id l2vpn-id:1:1 set routing-instances b1 protocols vpls no-tunnel-services commit ! addrouter r3 int eth1 eth 0000.0000.4444 $per2$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 3333::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r3 tping 100 60 3333::1 vrf v1 freeRtr-25.11.9/cfg/intop9-bgp15.tst000066400000000000000000000053701510423065500167410ustar00rootroot00000000000000description interop9: vpls/bgp over bgp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234::2/64 set interfaces ge-0/0/0.0 family mpls set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set protocols ldp interface ge-0/0/0.0 set protocols mpls interface ge-0/0/0.0 set routing-options rib inet.0 static route 2.2.2.1/32 next-hop 1.1.1.1 set routing-options rib inet6.0 static route 4321::1/128 next-hop 1234::1 set routing-options autonomous-system 1 set protocols bgp group peers type internal set protocols bgp group peers peer-as 1 set protocols bgp group peers neighbor 2.2.2.1 set protocols bgp group peers local-address 2.2.2.2 set protocols bgp group peers family l2vpn signaling set interfaces ge-0/0/1 encapsulation ethernet-vpls set interfaces ge-0/0/1.0 family vpls set routing-instances b1 instance-type vpls set routing-instances b1 vlan-id none set routing-instances b1 interface ge-0/0/1.0 set routing-instances b1 route-distinguisher 1:1 set routing-instances b1 vrf-target target:1:1 set routing-instances b1 protocols vpls no-tunnel-services set routing-instances b1 protocols vpls site-range 10 set routing-instances b1 protocols vpls site s2 site-identifier 2 commit ! addrouter r3 int eth1 eth 0000.0000.4444 $per2$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 3333::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r3 tping 100 60 3333::1 vrf v1 freeRtr-25.11.9/cfg/intop9-bgp16.tst000066400000000000000000000044201510423065500167350ustar00rootroot00000000000000description interop9: bgp extended community addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match extcomm 2:1234:4321 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 neigh 1234::2 send-comm both red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234::2/64 set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.0 family inet address 2.2.2.3/32 set interfaces lo0.0 family inet6 address 4321::3/128 set interfaces lo0.0 family inet address 2.2.2.4/32 set interfaces lo0.0 family inet6 address 4321::4/128 set routing-options autonomous-system 1 set policy-options community c1 members target:1234:4321 set policy-options community c2 members target:1234:1234 set policy-options policy-statement ps1 term 1 from interface [ 2.2.2.3 4321::3 ] set policy-options policy-statement ps1 term 1 then community set c1 set policy-options policy-statement ps1 term 1 then accept set policy-options policy-statement ps1 term 2 from protocol direct set policy-options policy-statement ps1 term 2 then community set c2 set policy-options policy-statement ps1 term 2 then accept set protocols bgp export ps1 set protocols bgp group peers type internal set protocols bgp group peers peer-as 1 set protocols bgp group peers neighbor 1.1.1.1 set protocols bgp group peers neighbor 1234::1 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-bgp17.tst000066400000000000000000000044141510423065500167410ustar00rootroot00000000000000description interop9: bgp large community addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match lrgcomm 12:34:4321 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm1 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-map-in rm1 neigh 1234::2 send-comm both red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234::2/64 set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.0 family inet address 2.2.2.3/32 set interfaces lo0.0 family inet6 address 4321::3/128 set interfaces lo0.0 family inet address 2.2.2.4/32 set interfaces lo0.0 family inet6 address 4321::4/128 set routing-options autonomous-system 1 set policy-options community c1 members large:12:34:4321 set policy-options community c2 members large:12:34:1234 set policy-options policy-statement ps1 term 1 from interface [ 2.2.2.3 4321::3 ] set policy-options policy-statement ps1 term 1 then community set c1 set policy-options policy-statement ps1 term 1 then accept set policy-options policy-statement ps1 term 2 from protocol direct set policy-options policy-statement ps1 term 2 then community set c2 set policy-options policy-statement ps1 term 2 then accept set protocols bgp export ps1 set protocols bgp group peers type internal set protocols bgp group peers peer-as 1 set protocols bgp group peers neighbor 1.1.1.1 set protocols bgp group peers neighbor 1234::1 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-bgp18.tst000066400000000000000000000075701510423065500167500ustar00rootroot00000000000000description interop9: bgp with php labels addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 label-pop red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 label-pop red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234:1::2/64 set interfaces ge-0/0/0.0 family mpls set interfaces ge-0/0/1.0 family inet address 1.1.2.2/24 set interfaces ge-0/0/1.0 family inet6 address 1234:2::2/64 set interfaces ge-0/0/1.0 family mpls set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set routing-options autonomous-system 2 set policy-options policy-statement ps1 from protocol direct set policy-options policy-statement ps1 then accept set protocols bgp export ps1 set protocols bgp group peer4 type external set protocols bgp group peer4 family inet labeled-unicast set protocols bgp group peer4 neighbor 1.1.1.1 peer-as 1 set protocols bgp group peer4 neighbor 1.1.2.1 peer-as 3 set protocols bgp group peer6 type external set protocols bgp group peer6 family inet6 labeled-unicast set protocols bgp group peer6 neighbor 1234:1::1 peer-as 1 set protocols bgp group peer6 neighbor 1234:2::1 peer-as 3 commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 4.4.4.3 neigh 1.1.2.2 remote-as 2 neigh 1.1.2.2 label-pop red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 6.6.6.3 neigh 1234:2::2 remote-as 2 neigh 1234:2::2 label-pop red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.3.6 255.255.255.252 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 0 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r3 tping 0 60 2.2.2.2 vrf v1 sou lo0 r3 tping 0 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r3 tping 0 60 2.2.2.1 vrf v1 sou lo0 r3 tping 0 60 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 !r1 tping 100 40 3.3.3.6 vrf v1 !r3 tping 100 40 3.3.3.5 vrf v1 freeRtr-25.11.9/cfg/intop9-bgp19.tst000066400000000000000000000041671510423065500167500ustar00rootroot00000000000000description interop9: bgp ao authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 authen-type sha1 1 neigh 1.1.1.2 password tester red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 authen-type sha1 1 neigh 1234::2 password tester red conn exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234::2/64 set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set routing-options autonomous-system 1 set policy-options policy-statement ps1 from protocol direct set policy-options policy-statement ps1 then accept set security authentication-key-chains key-chain kc key 1 secret tester set security authentication-key-chains key-chain kc key 1 start-time 2022-7-9.00:00 set security authentication-key-chains key-chain kc key 1 algorithm ao set security authentication-key-chains key-chain kc key 1 ao-attribute send-id 1 set security authentication-key-chains key-chain kc key 1 ao-attribute recv-id 1 set security authentication-key-chains key-chain kc key 1 ao-attribute tcp-ao-option enabled set security authentication-key-chains key-chain kc key 1 ao-attribute cryptographic-algorithm hmac-sha-1-96 set protocols bgp export ps1 set protocols bgp group peers type internal set protocols bgp group peers peer-as 1 set protocols bgp group peers authentication-algorithm ao set protocols bgp group peers authentication-key-chain kc set protocols bgp group peers neighbor 1.1.1.1 set protocols bgp group peers neighbor 1234::1 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-bgp20.tst000066400000000000000000000101461510423065500167320ustar00rootroot00000000000000description interop9: bgp with ctp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit route-map rm1 set extcomm 779:0:100 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both red conn route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both red conn route-map rm1 exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234:1::2/64 set interfaces ge-0/0/0.0 family mpls set interfaces ge-0/0/1.0 family inet address 1.1.2.2/24 set interfaces ge-0/0/1.0 family inet6 address 1234:2::2/64 set interfaces ge-0/0/1.0 family mpls set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set routing-options autonomous-system 2 set routing-options route-distinguisher-id 2.2.2.2 set routing-options transport-class name col color 100 set policy-options policy-statement ps1 then accept set policy-options policy-statement ps2 then next-hop self set policy-options policy-statement ps2 then accept set policy-options community col members color:0:100 set protocols bgp import ps1 set protocols bgp export ps2 set protocols bgp group peer4 type external set protocols bgp group peer4 family inet transport set protocols bgp group peer4 neighbor 1.1.1.1 peer-as 1 set protocols bgp group peer4 neighbor 1.1.2.1 peer-as 3 set protocols bgp group peer6 type external set protocols bgp group peer6 family inet6 transport set protocols bgp group peer6 neighbor 1234:1::1 peer-as 1 set protocols bgp group peer6 neighbor 1234:2::1 peer-as 3 commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit route-map rm1 set extcomm 779:0:100 exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 3 router-id 4.4.4.3 neigh 1.1.2.2 remote-as 2 neigh 1.1.2.2 send-comm both red conn route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 3 router-id 6.6.6.3 neigh 1234:2::2 remote-as 2 neigh 1234:2::2 send-comm both red conn route-map rm1 exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.3.6 255.255.255.252 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 0 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.3.6 vrf v1 r3 tping 100 40 3.3.3.5 vrf v1 freeRtr-25.11.9/cfg/intop9-bgp21.tst000066400000000000000000000103141510423065500167300ustar00rootroot00000000000000description interop9: bgp with php ctp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit route-map rm1 set extcomm 779:0:100 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 label-pop neigh 1.1.1.2 send-comm both red conn route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 label-pop neigh 1234:1::2 send-comm both red conn route-map rm1 exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234:1::2/64 set interfaces ge-0/0/0.0 family mpls set interfaces ge-0/0/1.0 family inet address 1.1.2.2/24 set interfaces ge-0/0/1.0 family inet6 address 1234:2::2/64 set interfaces ge-0/0/1.0 family mpls set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set routing-options autonomous-system 2 set routing-options route-distinguisher-id 2.2.2.2 set routing-options transport-class name col color 100 set policy-options policy-statement ps1 then accept set policy-options policy-statement ps2 then next-hop self set policy-options policy-statement ps2 then accept set policy-options community col members color:0:100 set protocols bgp import ps1 set protocols bgp export ps2 set protocols bgp group peer4 type external set protocols bgp group peer4 family inet transport set protocols bgp group peer4 neighbor 1.1.1.1 peer-as 1 set protocols bgp group peer4 neighbor 1.1.2.1 peer-as 3 set protocols bgp group peer6 type external set protocols bgp group peer6 family inet6 transport set protocols bgp group peer6 neighbor 1234:1::1 peer-as 1 set protocols bgp group peer6 neighbor 1234:2::1 peer-as 3 commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit route-map rm1 set extcomm 779:0:100 exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 3 router-id 4.4.4.3 neigh 1.1.2.2 remote-as 2 neigh 1.1.2.2 label-pop neigh 1.1.2.2 send-comm both red conn route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 3 router-id 6.6.6.3 neigh 1234:2::2 remote-as 2 neigh 1234:2::2 label-pop neigh 1234:2::2 send-comm both red conn route-map rm1 exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.3.6 255.255.255.252 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 0 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r3 tping 0 60 2.2.2.1 vrf v1 sou lo0 r3 tping 0 60 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 !r1 tping 100 40 3.3.3.6 vrf v1 !r3 tping 100 40 3.3.3.5 vrf v1 freeRtr-25.11.9/cfg/intop9-eth01.tst000066400000000000000000000007011510423065500167350ustar00rootroot00000000000000description interop9: ethernet encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234::2/64 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 freeRtr-25.11.9/cfg/intop9-eth02.tst000066400000000000000000000010231510423065500167340ustar00rootroot00000000000000description interop9: dot1q encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1.123 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0 vlan-tagging set interfaces ge-0/0/0.123 vlan-id 123 set interfaces ge-0/0/0.123 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.123 family inet6 address 1234::2/64 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 freeRtr-25.11.9/cfg/intop9-eth03.tst000066400000000000000000000012361510423065500167430ustar00rootroot00000000000000description interop9: fragmentation and reassembly addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 mtu 1500 enforce-mtu both vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 reassembly 16 ipv4 fragmentation 1400 ipv6 reassembly 16 ipv6 fragmentation 1400 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234::2/64 commit ! r1 tping 100 30 1.1.1.2 vrf v1 siz 222 r1 tping 100 30 1234::2 vrf v1 siz 222 r1 tping 100 30 1.1.1.2 vrf v1 siz 2222 r1 tping 100 30 1234::2 vrf v1 siz 2222 freeRtr-25.11.9/cfg/intop9-eth04.tst000066400000000000000000000007301510423065500167420ustar00rootroot00000000000000description interop9: verify source addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 verify rx ipv6 verify rx exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234::2/64 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 freeRtr-25.11.9/cfg/intop9-eth05.tst000066400000000000000000000011541510423065500167440ustar00rootroot00000000000000description interop9: qinq encapsulation addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int eth1.123 exit int eth1.123.1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0 flexible-vlan-tagging set interfaces ge-0/0/0.123 vlan-tags outer 123 set interfaces ge-0/0/0.123 vlan-tags inner 1234 set interfaces ge-0/0/0.123 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.123 family inet6 address 1234::2/64 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 freeRtr-25.11.9/cfg/intop9-isis01.tst000066400000000000000000000023341510423065500171300ustar00rootroot00000000000000description interop9: point2point isis addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family iso set interfaces ge-0/0/1.0 family inet6 set interfaces ge-0/0/1.0 family iso set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.0 family iso address 48.0000.0000.1234.00 set protocols isis interface ge-0/0/0.0 point-to-point set protocols isis interface ge-0/0/1.0 point-to-point set protocols isis interface lo0.0 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-isis02.tst000066400000000000000000000024301510423065500171260ustar00rootroot00000000000000description interop9: isis dis addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 net broad router isis4 1 pri 50 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena router isis6 1 net broad router isis6 1 pri 50 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family iso set interfaces ge-0/0/1.0 family inet6 set interfaces ge-0/0/1.0 family iso set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.0 family iso address 48.0000.0000.1234.00 set protocols isis interface ge-0/0/0.0 set protocols isis interface ge-0/0/1.0 set protocols isis interface lo0.0 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-isis03.tst000066400000000000000000000024331510423065500171320ustar00rootroot00000000000000description interop9: isis nondis addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 net broad router isis4 1 pri 70 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena router isis6 1 net broad router isis6 1 pri 70 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family iso set interfaces ge-0/0/1.0 family inet6 set interfaces ge-0/0/1.0 family iso set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.0 family iso address 48.0000.0000.1234.00 set protocols isis interface ge-0/0/0.0 set protocols isis interface ge-0/0/1.0 set protocols isis interface lo0.0 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-isis04.tst000066400000000000000000000075511510423065500171410ustar00rootroot00000000000000description interop9: isis te addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 traffeng 2.2.2.1 both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 traffeng 6.6.6.1 both traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou eth1 tun dest 2.2.2.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 bandwidth 11 tun sou eth1 tun dest 2.2.2.3 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.9 255.255.255.252 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ int eth3 eth 0000.0000.2224 $per3$ int eth4 eth 0000.0000.2225 $per4$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family iso set interfaces ge-0/0/0.0 family mpls set interfaces ge-0/0/1.0 family inet6 set interfaces ge-0/0/1.0 family iso set interfaces ge-0/0/1.0 family mpls set interfaces ge-0/0/2.0 family inet address 1.1.2.2/24 set interfaces ge-0/0/2.0 family iso set interfaces ge-0/0/2.0 family mpls set interfaces ge-0/0/3.0 family inet6 set interfaces ge-0/0/3.0 family iso set interfaces ge-0/0/3.0 family mpls set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.0 family iso address 48.0000.0000.1234.00 set interfaces lo0.0 family inet address 3.3.3.2/32 set interfaces lo0.0 family inet address 3.3.3.6/32 set protocols rsvp interface lo0.0 set protocols rsvp interface ge-0/0/0.0 set protocols rsvp interface ge-0/0/1.0 set protocols rsvp interface ge-0/0/2.0 set protocols rsvp interface ge-0/0/3.0 set protocols mpls interface ge-0/0/0.0 set protocols mpls interface ge-0/0/1.0 set protocols mpls interface ge-0/0/2.0 set protocols mpls interface ge-0/0/3.0 set protocols isis interface ge-0/0/0.0 point-to-point set protocols isis interface ge-0/0/1.0 point-to-point set protocols isis interface ge-0/0/2.0 point-to-point set protocols isis interface ge-0/0/3.0 point-to-point set protocols isis interface lo0.0 set protocols isis traffic-engineering family inet shortcuts set protocols isis traffic-engineering family inet6 shortcuts commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per3$ int eth2 eth 0000.0000.1132 $per4$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 traffeng 2.2.2.3 both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 traffeng 6.6.6.3 both traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 router isis4 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou eth1 tun dest 2.2.2.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 exit int tun2 bandwidth 11 tun sou eth1 tun dest 2.2.2.1 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.10 255.255.255.252 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 sou lo0 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 3.3.3.6 vrf v1 sou lo0 r1 tping 100 60 3.3.3.10 vrf v1 r3 tping 100 60 3.3.3.9 vrf v1 freeRtr-25.11.9/cfg/intop9-isis05.tst000066400000000000000000000031621510423065500171340ustar00rootroot00000000000000description interop9: isis prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family iso set interfaces ge-0/0/1.0 family inet6 set interfaces ge-0/0/1.0 family iso set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.0 family iso address 48.0000.0000.1234.00 set protocols isis interface ge-0/0/0.0 point-to-point set protocols isis interface ge-0/0/1.0 point-to-point set protocols isis interface lo0.0 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router isis4 1 r1 send no red conn r1 send exit r1 send router isis6 1 r1 send no red conn r1 send end r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router isis4 1 r1 send red conn r1 send exit r1 send router isis6 1 r1 send red conn r1 send end r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-isis06.tst000066400000000000000000000067451510423065500171470ustar00rootroot00000000000000description interop9: isis p2mp te addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 traffeng 2.2.2.1 both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 traffeng 6.6.6.1 both traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou eth1 tun dest 9.9.9.9 tun domain 2.2.2.2 2.2.2.3 tun vrf v1 tun mod p2mpte vrf for v1 ipv4 addr 3.3.3.9 255.255.255.252 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ int eth3 eth 0000.0000.2224 $per3$ int eth4 eth 0000.0000.2225 $per4$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family iso set interfaces ge-0/0/0.0 family mpls set interfaces ge-0/0/1.0 family inet6 set interfaces ge-0/0/1.0 family iso set interfaces ge-0/0/1.0 family mpls set interfaces ge-0/0/2.0 family inet address 1.1.2.2/24 set interfaces ge-0/0/2.0 family iso set interfaces ge-0/0/2.0 family mpls set interfaces ge-0/0/3.0 family inet6 set interfaces ge-0/0/3.0 family iso set interfaces ge-0/0/3.0 family mpls set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.0 family iso address 48.0000.0000.1234.00 set protocols rsvp interface lo0.0 set protocols rsvp interface ge-0/0/0.0 set protocols rsvp interface ge-0/0/1.0 set protocols rsvp interface ge-0/0/2.0 set protocols rsvp interface ge-0/0/3.0 set protocols mpls interface ge-0/0/0.0 set protocols mpls interface ge-0/0/1.0 set protocols mpls interface ge-0/0/2.0 set protocols mpls interface ge-0/0/3.0 set protocols isis interface ge-0/0/0.0 point-to-point set protocols isis interface ge-0/0/1.0 point-to-point set protocols isis interface ge-0/0/2.0 point-to-point set protocols isis interface ge-0/0/3.0 point-to-point set protocols isis interface lo0.0 set protocols isis traffic-engineering family inet shortcuts set protocols isis traffic-engineering family inet6 shortcuts commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per3$ int eth2 eth 0000.0000.1132 $per4$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 traffeng 2.2.2.3 both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 traffeng 6.6.6.3 both traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 router isis4 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou eth1 tun dest 9.9.9.99 tun domain 2.2.2.2 2.2.2.1 tun vrf v1 tun mod p2mpte vrf for v1 ipv4 addr 3.3.3.10 255.255.255.252 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.10 vrf v1 r3 tping 100 60 3.3.3.9 vrf v1 freeRtr-25.11.9/cfg/intop9-isis07.tst000066400000000000000000000103261510423065500171360ustar00rootroot00000000000000description interop9: isis sr addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny all 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 traffeng 2.2.2.1 segrout 10 is-type level2 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 traffeng 6.6.6.1 segrout 10 is-type level2 both segrout red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena mpls enable ipv4 access-group-in test4 ! ipv4 access-group-out test4 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable ipv6 access-group-in test6 ! ipv6 access-group-out test6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 1 router isis4 1 segrout node exit int lo2 vrf for v1 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 2 router isis6 1 segrout node exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo1 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 pseudo v1 lo2 pweompls 4321::3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ int eth3 eth 0000.0000.2224 $per3$ int eth4 eth 0000.0000.2225 $per4$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family iso set interfaces ge-0/0/0.0 family mpls set interfaces ge-0/0/1.0 family inet6 set interfaces ge-0/0/1.0 family iso set interfaces ge-0/0/1.0 family mpls set interfaces ge-0/0/2.0 family inet address 1.1.2.2/24 set interfaces ge-0/0/2.0 family iso set interfaces ge-0/0/2.0 family mpls set interfaces ge-0/0/3.0 family inet6 set interfaces ge-0/0/3.0 family iso set interfaces ge-0/0/3.0 family mpls set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.0 family iso address 48.0000.0000.1234.00 set protocols mpls interface ge-0/0/0.0 set protocols mpls interface ge-0/0/1.0 set protocols mpls interface ge-0/0/2.0 set protocols mpls interface ge-0/0/3.0 set protocols isis interface ge-0/0/0.0 point-to-point set protocols isis interface ge-0/0/1.0 point-to-point set protocols isis interface ge-0/0/2.0 point-to-point set protocols isis interface ge-0/0/3.0 point-to-point set protocols isis interface lo0.0 set protocols isis source-packet-routing node-segment ipv4-index 3 set protocols isis source-packet-routing node-segment ipv6-index 4 commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per3$ int eth2 eth 0000.0000.1132 $per4$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny all 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 traffeng 2.2.2.3 segrout 10 is-type level2 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 traffeng 6.6.6.3 segrout 10 is-type level2 both segrout red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 router isis4 1 ena mpls enable ipv4 access-group-in test4 ! ipv4 access-group-out test4 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable ipv6 access-group-in test6 ! ipv6 access-group-out test6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 5 router isis4 1 segrout node exit int lo2 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 6 router isis6 1 segrout node exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo1 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.3.6 255.255.255.252 pseudo v1 lo2 pweompls 4321::1 1234 exit ! r1 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r1 tping 100 60 3.3.3.6 vrf v1 r3 tping 100 60 3.3.3.5 vrf v1 freeRtr-25.11.9/cfg/intop9-isis08.tst000066400000000000000000000030521510423065500171350ustar00rootroot00000000000000description interop9: isis lsp text authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both lsp-pass tester red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 both lsp-pass tester red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 password tester exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena router isis6 1 password tester exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family iso set interfaces ge-0/0/1.0 family inet6 set interfaces ge-0/0/1.0 family iso set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.0 family iso address 48.0000.0000.1234.00 set protocols isis level 1 authentication-key tester set protocols isis level 1 authentication-type simple set protocols isis level 2 authentication-key tester set protocols isis level 2 authentication-type simple set protocols isis interface ge-0/0/0.0 point-to-point set protocols isis interface ge-0/0/1.0 point-to-point set protocols isis interface lo0.0 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-isis09.tst000066400000000000000000000105101510423065500171330ustar00rootroot00000000000000description interop9: isis php sr addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny 58 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 traffeng 2.2.2.1 segrout 10 is-type level2 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 traffeng 6.6.6.1 segrout 10 is-type level2 both segrout red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena mpls enable ipv4 access-group-in test4 ! ipv4 access-group-out test4 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable ipv6 access-group-in test6 ! ipv6 access-group-out test6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 1 router isis4 1 segrout node router isis4 1 segrout pop exit int lo2 vrf for v1 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 2 router isis6 1 segrout node router isis6 1 segrout pop exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo1 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 pseudo v1 lo2 pweompls 4321::3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ int eth3 eth 0000.0000.2224 $per3$ int eth4 eth 0000.0000.2225 $per4$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family iso set interfaces ge-0/0/0.0 family mpls set interfaces ge-0/0/1.0 family inet6 set interfaces ge-0/0/1.0 family iso set interfaces ge-0/0/1.0 family mpls set interfaces ge-0/0/2.0 family inet address 1.1.2.2/24 set interfaces ge-0/0/2.0 family iso set interfaces ge-0/0/2.0 family mpls set interfaces ge-0/0/3.0 family inet6 set interfaces ge-0/0/3.0 family iso set interfaces ge-0/0/3.0 family mpls set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.0 family iso address 48.0000.0000.1234.00 set protocols mpls interface ge-0/0/0.0 set protocols mpls interface ge-0/0/1.0 set protocols mpls interface ge-0/0/2.0 set protocols mpls interface ge-0/0/3.0 set protocols isis interface ge-0/0/0.0 point-to-point set protocols isis interface ge-0/0/1.0 point-to-point set protocols isis interface ge-0/0/2.0 point-to-point set protocols isis interface ge-0/0/3.0 point-to-point set protocols isis interface lo0.0 set protocols isis source-packet-routing node-segment ipv4-index 3 set protocols isis source-packet-routing node-segment ipv6-index 4 commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per3$ int eth2 eth 0000.0000.1132 $per4$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny 58 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 traffeng 2.2.2.3 segrout 10 is-type level2 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 traffeng 6.6.6.3 segrout 10 is-type level2 both segrout red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 router isis4 1 ena mpls enable ipv4 access-group-in test4 ! ipv4 access-group-out test4 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable ipv6 access-group-in test6 ! ipv6 access-group-out test6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 5 router isis4 1 segrout node router isis4 1 segrout pop exit int lo2 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 6 router isis6 1 segrout node router isis6 1 segrout pop exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo1 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.3.6 255.255.255.252 pseudo v1 lo2 pweompls 4321::1 1234 exit ! r1 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r1 tping 100 60 3.3.3.6 vrf v1 r3 tping 100 60 3.3.3.5 vrf v1 freeRtr-25.11.9/cfg/intop9-isis10.tst000066400000000000000000000020111510423065500171200ustar00rootroot00000000000000description interop9: integrated isis addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn afi-other enable afi-other red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router isis4 1 ena router isis4 1 other-ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 set interfaces ge-0/0/0.0 family iso set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.0 family iso address 48.0000.0000.1234.00 set protocols isis interface ge-0/0/0.0 point-to-point set protocols isis interface lo0.0 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-isis11.tst000066400000000000000000000107541510423065500171360ustar00rootroot00000000000000description interop9: isis bier exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny all 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 traffeng 2.2.2.1 bier 256 10 is-type level2 both bier red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 traffeng 6.6.6.1 bier 256 10 is-type level2 both bier red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena mpls enable ipv4 access-group-in test4 ! ipv4 access-group-out test4 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable ipv6 access-group-in test6 ! ipv6 access-group-out test6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 router isis4 1 ena router isis4 1 bier index 1 exit int lo2 vrf for v1 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 bier index 2 exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 tun sou lo2 tun dest 9999::9 tun doma 4321::3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ int eth3 eth 0000.0000.2224 $per3$ int eth4 eth 0000.0000.2225 $per4$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family iso set interfaces ge-0/0/0.0 family mpls set interfaces ge-0/0/1.0 family inet6 set interfaces ge-0/0/1.0 family iso set interfaces ge-0/0/1.0 family mpls set interfaces ge-0/0/2.0 family inet address 1.1.2.2/24 set interfaces ge-0/0/2.0 family iso set interfaces ge-0/0/2.0 family mpls set interfaces ge-0/0/3.0 family inet6 set interfaces ge-0/0/3.0 family iso set interfaces ge-0/0/3.0 family mpls set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.0 family iso address 48.0000.0000.1234.00 set protocols mpls interface ge-0/0/0.0 set protocols mpls interface ge-0/0/1.0 set protocols mpls interface ge-0/0/2.0 set protocols mpls interface ge-0/0/3.0 set protocols isis interface ge-0/0/0.0 point-to-point set protocols isis interface ge-0/0/1.0 point-to-point set protocols isis interface ge-0/0/2.0 point-to-point set protocols isis interface ge-0/0/3.0 point-to-point set protocols isis interface lo0.0 set protocols isis traffic-engineering shortcuts set protocols isis bier-sub-domain 0 set protocols bier sub-domain 0 bfr-id 3 set protocols bier sub-domain 0 bfr-prefix 2.2.2.2 set protocols bier sub-domain 0 encapsulation mpls set protocols bier sub-domain 0 encapsulation bitstringlen 256 set protocols bier sub-domain 0 encapsulation number-sets 4 commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per3$ int eth2 eth 0000.0000.1132 $per4$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny all 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 traffeng 2.2.2.3 bier 256 10 is-type level2 both bier red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 traffeng 6.6.6.3 bier 256 10 is-type level2 both bier red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 router isis4 1 ena mpls enable ipv4 access-group-in test4 ! ipv4 access-group-out test4 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena mpls enable ipv6 access-group-in test6 ! ipv6 access-group-out test6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 bier index 5 exit int lo2 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 bier index 6 exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int tun2 tun sou lo2 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv4 addr 3.3.3.6 255.255.255.252 exit ! r1 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r1 tping 100 60 3.3.3.6 vrf v1 r3 tping 100 60 3.3.3.5 vrf v1 freeRtr-25.11.9/cfg/intop9-isis12.tst000066400000000000000000000032171510423065500171330ustar00rootroot00000000000000description interop9: isis lsp md5 authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both lsp-pass tester both authen-type md5 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 both lsp-pass tester both authen-type md5 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 password tester router isis4 1 authen-type md5 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena router isis6 1 password tester router isis6 1 authen-type md5 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family iso set interfaces ge-0/0/1.0 family inet6 set interfaces ge-0/0/1.0 family iso set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.0 family iso address 48.0000.0000.1234.00 set protocols isis level 1 authentication-key tester set protocols isis level 1 authentication-type md5 set protocols isis level 2 authentication-key tester set protocols isis level 2 authentication-type md5 set protocols isis interface ge-0/0/0.0 point-to-point set protocols isis interface ge-0/0/1.0 point-to-point set protocols isis interface lo0.0 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-isis13.tst000066400000000000000000000036501510423065500171350ustar00rootroot00000000000000description interop9: isis text authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 password tester exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena router isis6 1 password tester exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family iso set interfaces ge-0/0/1.0 family inet6 set interfaces ge-0/0/1.0 family iso set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.0 family iso address 48.0000.0000.1234.00 set protocols isis interface ge-0/0/0.0 level 1 hello-authentication-key tester set protocols isis interface ge-0/0/0.0 level 2 hello-authentication-key tester set protocols isis interface ge-0/0/1.0 level 1 hello-authentication-key tester set protocols isis interface ge-0/0/1.0 level 2 hello-authentication-key tester set protocols isis interface ge-0/0/0.0 level 1 hello-authentication-type simple set protocols isis interface ge-0/0/0.0 level 2 hello-authentication-type simple set protocols isis interface ge-0/0/1.0 level 1 hello-authentication-type simple set protocols isis interface ge-0/0/1.0 level 2 hello-authentication-type simple set protocols isis interface ge-0/0/0.0 point-to-point set protocols isis interface ge-0/0/1.0 point-to-point set protocols isis interface lo0.0 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-isis14.tst000066400000000000000000000037331510423065500171400ustar00rootroot00000000000000description interop9: isis md5 authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 password tester router isis4 1 authen-type md5 exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena router isis6 1 password tester router isis6 1 authen-type md5 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family iso set interfaces ge-0/0/1.0 family inet6 set interfaces ge-0/0/1.0 family iso set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.0 family iso address 48.0000.0000.1234.00 set protocols isis interface ge-0/0/0.0 level 1 hello-authentication-key tester set protocols isis interface ge-0/0/0.0 level 2 hello-authentication-key tester set protocols isis interface ge-0/0/1.0 level 1 hello-authentication-key tester set protocols isis interface ge-0/0/1.0 level 2 hello-authentication-key tester set protocols isis interface ge-0/0/0.0 level 1 hello-authentication-type md5 set protocols isis interface ge-0/0/0.0 level 2 hello-authentication-type md5 set protocols isis interface ge-0/0/1.0 level 1 hello-authentication-type md5 set protocols isis interface ge-0/0/1.0 level 2 hello-authentication-type md5 set protocols isis interface ge-0/0/0.0 point-to-point set protocols isis interface ge-0/0/1.0 point-to-point set protocols isis interface lo0.0 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-isis15.tst000066400000000000000000000024321510423065500171340ustar00rootroot00000000000000description interop9: isis multi-topology addrouter r1 int eth1 eth 0000.0000.1111 $per1$ int eth2 eth 0000.0000.1112 $per2$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 multi-topology red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr fe80::1 ffff:: router isis6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family iso set interfaces ge-0/0/1.0 family inet6 set interfaces ge-0/0/1.0 family iso set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.0 family iso address 48.0000.0000.1234.00 set protocols isis interface ge-0/0/0.0 point-to-point set protocols isis interface ge-0/0/1.0 point-to-point set protocols isis interface lo0.0 set protocols isis topologies ipv6-unicast commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-isis16.tst000066400000000000000000000021351510423065500171350ustar00rootroot00000000000000description interop9: integrated isis multi-topology addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn afi-other enable afi-other multi-topology afi-other red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router isis4 1 ena router isis4 1 other-ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 set interfaces ge-0/0/0.0 family iso set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.0 family iso address 48.0000.0000.1234.00 set protocols isis interface ge-0/0/0.0 point-to-point set protocols isis interface lo0.0 set protocols isis topologies ipv6-unicast commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-ldp01.tst000066400000000000000000000065451510423065500167500ustar00rootroot00000000000000description interop9: ldp lsp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:: mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234:1::2/64 set interfaces ge-0/0/0.0 family mpls set interfaces ge-0/0/1.0 family inet address 1.1.2.2/24 set interfaces ge-0/0/1.0 family inet6 address 1234:2::2/64 set interfaces ge-0/0/1.0 family mpls set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set protocols ldp interface ge-0/0/0.0 set protocols ldp interface ge-0/0/1.0 set protocols mpls interface ge-0/0/0.0 set protocols mpls interface ge-0/0/1.0 set routing-options rib inet.0 static route 2.2.2.1/32 next-hop 1.1.1.1 set routing-options rib inet.0 static route 2.2.2.3/32 next-hop 1.1.2.1 set routing-options rib inet6.0 static route 4321::1/128 next-hop 1234:1::1 set routing-options rib inet6.0 static route 4321::3/128 next-hop 1234:2::1 commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:: mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit ! r1 tping 0 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 0 10 2.2.2.2 vrf v1 sou lo0 r1 tping 0 10 4321::2 vrf v1 sou lo0 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 0 10 2.2.2.2 vrf v1 sou lo0 r3 tping 0 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 r1 tping 0 10 4321::3 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 r3 tping 0 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/intop9-ldp02.tst000066400000000000000000000037101510423065500167400ustar00rootroot00000000000000description interop9: ethernet over mpls addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 bridge 1 mac-learn exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 3333::1 ffff:: exit vpdn eompls bridge-gr 1 proxy p1 target 2.2.2.2 mtu 1500 vcid 1234 pwtype eth protocol pweompls exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234:1::2/64 set interfaces ge-0/0/0.0 family mpls set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set protocols ldp interface ge-0/0/0.0 set protocols ldp interface lo0.0 set protocols mpls interface ge-0/0/0.0 set routing-options rib inet.0 static route 2.2.2.1/32 next-hop 1.1.1.1 set routing-options rib inet6.0 static route 4321::1/128 next-hop 1234:1::1 set interfaces ge-0/0/1 encapsulation ethernet-ccc set interfaces ge-0/0/1.0 family ccc set protocols l2circuit neighbor 2.2.2.1 interface ge-0/0/1.0 virtual-circuit-id 1234 commit ! addrouter r3 int eth1 eth 0000.0000.4444 $per2$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 3333::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r3 tping 100 60 3333::1 vrf v1 freeRtr-25.11.9/cfg/intop9-ldp03.tst000066400000000000000000000057021510423065500167440ustar00rootroot00000000000000description interop9: ldp p2mp lsp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 int tun1 tun sou lo0 tun dest 2.2.2.1 tun vrf v1 tun key 1234 tun mod p2mpldp vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234:1::2/64 set interfaces ge-0/0/0.0 family mpls set interfaces ge-0/0/1.0 family inet address 1.1.2.2/24 set interfaces ge-0/0/1.0 family inet6 address 1234:2::2/64 set interfaces ge-0/0/1.0 family mpls set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set protocols ldp interface ge-0/0/0.0 set protocols ldp interface ge-0/0/1.0 set protocols ldp interface lo0.0 set protocols ldp p2mp set protocols mpls interface ge-0/0/0.0 set protocols mpls interface ge-0/0/1.0 set routing-options rib inet.0 static route 2.2.2.1/32 next-hop 1.1.1.1 set routing-options rib inet.0 static route 2.2.2.3/32 next-hop 1.1.2.1 set routing-options rib inet6.0 static route 4321::1/128 next-hop 1234:1::1 set routing-options rib inet6.0 static route 4321::3/128 next-hop 1234:2::1 commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 int tun1 tun sou lo0 tun dest 2.2.2.1 tun vrf v1 tun key 1234 tun mod p2mpldp vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 r3 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 r1 tping 100 10 4321::3 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 r3 tping 100 10 4321::1 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou tun1 r1 tping 100 10 3.3.3.3 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-ldp04.tst000066400000000000000000000057141510423065500167500ustar00rootroot00000000000000description interop9: ldp mp2mp lsp exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 int tun1 tun sou lo0 tun dest 2.2.2.2 tun vrf v1 tun key 1234 tun mod mp2mpldp vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234:1::2/64 set interfaces ge-0/0/0.0 family mpls set interfaces ge-0/0/1.0 family inet address 1.1.2.2/24 set interfaces ge-0/0/1.0 family inet6 address 1234:2::2/64 set interfaces ge-0/0/1.0 family mpls set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set protocols ldp interface ge-0/0/0.0 set protocols ldp interface ge-0/0/1.0 set protocols ldp interface lo0.0 set protocols ldp p2mp set protocols mpls interface ge-0/0/0.0 set protocols mpls interface ge-0/0/1.0 set routing-options rib inet.0 static route 2.2.2.1/32 next-hop 1.1.1.1 set routing-options rib inet.0 static route 2.2.2.3/32 next-hop 1.1.2.1 set routing-options rib inet6.0 static route 4321::1/128 next-hop 1234:1::1 set routing-options rib inet6.0 static route 4321::3/128 next-hop 1234:2::1 commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 int tun1 tun sou lo0 tun dest 2.2.2.2 tun vrf v1 tun key 1234 tun mod mp2mpldp vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 r3 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 r1 tping 100 10 4321::3 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 r3 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 10 3.3.3.3 vrf v1 sou tun1 r3 tping 100 10 3.3.3.1 vrf v1 sou tun1 freeRtr-25.11.9/cfg/intop9-ldp05.tst000066400000000000000000000066451510423065500167550ustar00rootroot00000000000000description interop9: ldp php lsp addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:: mpls enable mpls ldp4 mpls label4pop mpls ldp6 mpls label6pop ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 address 1234:1::2/64 set interfaces ge-0/0/0.0 family mpls set interfaces ge-0/0/1.0 family inet address 1.1.2.2/24 set interfaces ge-0/0/1.0 family inet6 address 1234:2::2/64 set interfaces ge-0/0/1.0 family mpls set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set protocols ldp interface ge-0/0/0.0 set protocols ldp interface ge-0/0/1.0 set protocols mpls interface ge-0/0/0.0 set protocols mpls interface ge-0/0/1.0 set routing-options rib inet.0 static route 2.2.2.1/32 next-hop 1.1.1.1 set routing-options rib inet.0 static route 2.2.2.3/32 next-hop 1.1.2.1 set routing-options rib inet6.0 static route 4321::1/128 next-hop 1234:1::1 set routing-options rib inet6.0 static route 4321::3/128 next-hop 1234:2::1 commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:: mpls enable mpls ldp4 mpls label4pop mpls ldp6 mpls label6pop ipv4 access-group-in test4 ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit ! r1 tping 0 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 0 10 2.2.2.2 vrf v1 sou lo0 r1 tping 0 10 4321::2 vrf v1 sou lo0 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 0 10 2.2.2.2 vrf v1 sou lo0 r3 tping 0 10 4321::2 vrf v1 sou lo0 r1 tping 0 10 2.2.2.3 vrf v1 sou lo0 r1 tping 0 10 4321::3 vrf v1 sou lo0 r3 tping 0 10 2.2.2.1 vrf v1 sou lo0 r3 tping 0 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/intop9-ospf01.tst000066400000000000000000000021011510423065500171200ustar00rootroot00000000000000description interop9: point2point ospf addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set protocols ospf area 0 interface ge-0/0/0.0 interface-type p2p set protocols ospf area 0 interface lo0.0 set protocols ospf3 area 0 interface ge-0/0/0.0 interface-type p2p set protocols ospf3 area 0 interface lo0.0 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-ospf02.tst000066400000000000000000000021661510423065500171340ustar00rootroot00000000000000description interop9: ospf dr addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf4 1 net broad router ospf4 1 prio 10 router ospf6 1 ena router ospf6 1 net broad router ospf6 1 prio 10 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set protocols ospf area 0 interface ge-0/0/0.0 set protocols ospf area 0 interface lo0.0 set protocols ospf3 area 0 interface ge-0/0/0.0 set protocols ospf3 area 0 interface lo0.0 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-ospf03.tst000066400000000000000000000021671510423065500171360ustar00rootroot00000000000000description interop9: ospf nondr addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf4 1 net broad router ospf4 1 prio 0 router ospf6 1 ena router ospf6 1 net broad router ospf6 1 prio 0 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set protocols ospf area 0 interface ge-0/0/0.0 set protocols ospf area 0 interface lo0.0 set protocols ospf3 area 0 interface ge-0/0/0.0 set protocols ospf3 area 0 interface lo0.0 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-ospf04.tst000066400000000000000000000021261510423065500171320ustar00rootroot00000000000000description interop9: ospf transit area addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 1 ena exit router ospf6 1 vrf v1 router 6.6.6.1 area 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf6 1 ena exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set protocols ospf area 1 interface ge-0/0/0.0 interface-type p2p set protocols ospf area 1 interface lo0.0 set protocols ospf3 area 1 interface ge-0/0/0.0 interface-type p2p set protocols ospf3 area 1 interface lo0.0 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-ospf05.tst000066400000000000000000000022541510423065500171350ustar00rootroot00000000000000description interop9: ospf stub area addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 1 ena area 1 stub exit router ospf6 1 vrf v1 router 6.6.6.1 area 1 ena area 1 stub exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf6 1 ena exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set protocols ospf area 1 interface ge-0/0/0.0 interface-type p2p set protocols ospf area 1 interface lo0.0 set protocols ospf area 1 stub set protocols ospf3 area 1 interface ge-0/0/0.0 interface-type p2p set protocols ospf3 area 1 interface lo0.0 set protocols ospf3 area 1 stub commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-ospf06.tst000066400000000000000000000022541510423065500171360ustar00rootroot00000000000000description interop9: ospf nssa area addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 1 ena area 1 nssa exit router ospf6 1 vrf v1 router 6.6.6.1 area 1 ena area 1 nssa exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf6 1 ena exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set protocols ospf area 1 interface ge-0/0/0.0 interface-type p2p set protocols ospf area 1 interface lo0.0 set protocols ospf area 1 nssa set protocols ospf3 area 1 interface ge-0/0/0.0 interface-type p2p set protocols ospf3 area 1 interface lo0.0 set protocols ospf3 area 1 nssa commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-ospf07.tst000066400000000000000000000064201510423065500171360ustar00rootroot00000000000000description interop9: ospf te addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 traffeng 2.2.2.1 area 0 ena area 0 traff red conn exit router ospf6 1 vrf v1 router 6.6.6.1 traffeng 6.6.6.1 area 0 ena area 0 traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou eth1 tun dest 2.2.2.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 bandwidth 11 tun sou eth1 tun dest 2.2.2.3 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.9 255.255.255.252 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 set interfaces ge-0/0/0.0 family mpls set interfaces ge-0/0/1.0 family inet address 1.1.2.2/24 set interfaces ge-0/0/1.0 family inet6 set interfaces ge-0/0/1.0 family mpls set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set interfaces lo0.0 family inet address 3.3.3.2/32 set interfaces lo0.0 family inet address 3.3.3.6/32 set protocols rsvp interface lo0.0 set protocols rsvp interface ge-0/0/0.0 set protocols rsvp interface ge-0/0/1.0 set protocols mpls interface ge-0/0/0.0 set protocols mpls interface ge-0/0/1.0 set protocols ospf area 0 interface ge-0/0/0.0 interface-type p2p set protocols ospf area 0 interface ge-0/0/1.0 interface-type p2p set protocols ospf area 0 interface lo0.0 set protocols ospf traffic-engineering shortcuts set protocols ospf3 area 0 interface ge-0/0/0.0 interface-type p2p set protocols ospf3 area 0 interface ge-0/0/1.0 interface-type p2p set protocols ospf3 area 0 interface lo0.0 set protocols ospf3 traffic-engineering shortcuts commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 traffeng 2.2.2.3 area 0 ena area 0 traff red conn exit router ospf6 1 vrf v1 router 6.6.6.3 traffeng 6.6.6.3 area 0 ena area 0 traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr fe80::3 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou eth1 tun dest 2.2.2.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 exit int tun2 bandwidth 11 tun sou eth1 tun dest 2.2.2.1 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.10 255.255.255.252 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 sou lo0 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 3.3.3.6 vrf v1 sou lo0 r1 tping 100 60 3.3.3.10 vrf v1 r3 tping 100 60 3.3.3.9 vrf v1 freeRtr-25.11.9/cfg/intop9-ospf08.tst000066400000000000000000000027271510423065500171450ustar00rootroot00000000000000description interop9: ospf prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set protocols ospf area 0 interface ge-0/0/0.0 interface-type p2p set protocols ospf area 0 interface lo0.0 set protocols ospf3 area 0 interface ge-0/0/0.0 interface-type p2p set protocols ospf3 area 0 interface lo0.0 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router ospf4 1 r1 send no red conn r1 send exit r1 send router ospf6 1 r1 send no red conn r1 send end r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r1 send conf t r1 send router ospf4 1 r1 send red conn r1 send exit r1 send router ospf6 1 r1 send red conn r1 send end r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-ospf09.tst000066400000000000000000000056141510423065500171440ustar00rootroot00000000000000description interop9: ospf p2mp te addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 traffeng 2.2.2.1 area 0 ena area 0 traff red conn exit router ospf6 1 vrf v1 router 6.6.6.1 traffeng 6.6.6.1 area 0 ena area 0 traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou eth1 tun dest 9.9.9.9 tun domain 2.2.2.2 2.2.2.3 tun vrf v1 tun mod p2mpte vrf for v1 ipv4 addr 3.3.3.9 255.255.255.252 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 set interfaces ge-0/0/0.0 family mpls set interfaces ge-0/0/1.0 family inet address 1.1.2.2/24 set interfaces ge-0/0/1.0 family inet6 set interfaces ge-0/0/1.0 family mpls set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set protocols rsvp interface lo0.0 set protocols rsvp interface ge-0/0/0.0 set protocols rsvp interface ge-0/0/1.0 set protocols mpls interface ge-0/0/0.0 set protocols mpls interface ge-0/0/1.0 set protocols ospf area 0 interface ge-0/0/0.0 interface-type p2p set protocols ospf area 0 interface ge-0/0/1.0 interface-type p2p set protocols ospf area 0 interface lo0.0 set protocols ospf traffic-engineering shortcuts set protocols ospf3 area 0 interface ge-0/0/0.0 interface-type p2p set protocols ospf3 area 0 interface ge-0/0/1.0 interface-type p2p set protocols ospf3 area 0 interface lo0.0 set protocols ospf3 traffic-engineering shortcuts commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 traffeng 2.2.2.3 area 0 ena area 0 traff red conn exit router ospf6 1 vrf v1 router 6.6.6.3 traffeng 6.6.6.3 area 0 ena area 0 traff red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr fe80::3 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 bandwidth 11 tun sou eth1 tun dest 9.9.9.99 tun domain 2.2.2.2 2.2.2.1 tun vrf v1 tun mod p2mpte vrf for v1 ipv4 addr 3.3.3.10 255.255.255.252 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.10 vrf v1 r3 tping 100 60 3.3.3.9 vrf v1 freeRtr-25.11.9/cfg/intop9-ospf10.tst000066400000000000000000000065321510423065500171340ustar00rootroot00000000000000description interop9: ospf sr addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny all 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.1 traffeng 2.2.2.1 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.1 traffeng 6.6.6.1 segrout 10 area 0 ena area 0 segrout red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable ipv4 access-group-in test4 ! ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable router ospf4 1 ena router ospf4 1 segrout index 1 router ospf4 1 segrout node router ospf6 1 ena router ospf6 1 segrout index 2 router ospf6 1 segrout node exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 set interfaces ge-0/0/0.0 family mpls set interfaces ge-0/0/1.0 family inet address 1.1.2.2/24 set interfaces ge-0/0/1.0 family inet6 set interfaces ge-0/0/1.0 family mpls set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set protocols mpls interface ge-0/0/0.0 set protocols mpls interface ge-0/0/1.0 set protocols ospf area 0 interface ge-0/0/0.0 interface-type p2p set protocols ospf area 0 interface ge-0/0/1.0 interface-type p2p set protocols ospf area 0 interface lo0.0 set protocols ospf source-packet-routing node-segment ipv4-index 3 set protocols ospf3 area 0 interface ge-0/0/0.0 interface-type p2p set protocols ospf3 area 0 interface ge-0/0/1.0 interface-type p2p set protocols ospf3 area 0 interface lo0.0 commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny all 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.3 traffeng 2.2.2.3 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.3 traffeng 6.6.6.3 segrout 10 area 0 ena area 0 segrout red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable ipv4 access-group-in test4 ! ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable router ospf4 1 ena router ospf4 1 segrout index 5 router ospf4 1 segrout node router ospf6 1 ena router ospf6 1 segrout index 6 router ospf6 1 segrout node exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit ! r1 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/intop9-ospf11.tst000066400000000000000000000067161510423065500171410ustar00rootroot00000000000000description interop9: ospf php sr addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny all 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.1 traffeng 2.2.2.1 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.1 traffeng 6.6.6.1 segrout 10 area 0 ena area 0 segrout red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable ipv4 access-group-in test4 ! ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable router ospf4 1 ena router ospf4 1 segrout index 1 router ospf4 1 segrout node router ospf4 1 segrout pop router ospf6 1 ena router ospf6 1 segrout index 2 router ospf6 1 segrout node router ospf6 1 segrout pop exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 set interfaces ge-0/0/0.0 family mpls set interfaces ge-0/0/1.0 family inet address 1.1.2.2/24 set interfaces ge-0/0/1.0 family inet6 set interfaces ge-0/0/1.0 family mpls set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set protocols mpls interface ge-0/0/0.0 set protocols mpls interface ge-0/0/1.0 set protocols ospf area 0 interface ge-0/0/0.0 interface-type p2p set protocols ospf area 0 interface ge-0/0/1.0 interface-type p2p set protocols ospf area 0 interface lo0.0 set protocols ospf source-packet-routing node-segment ipv4-index 3 set protocols ospf3 area 0 interface ge-0/0/0.0 interface-type p2p set protocols ospf3 area 0 interface ge-0/0/1.0 interface-type p2p set protocols ospf3 area 0 interface lo0.0 commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny all 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.3 traffeng 2.2.2.3 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.3 traffeng 6.6.6.3 segrout 10 area 0 ena area 0 segrout red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable ipv4 access-group-in test4 ! ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable router ospf4 1 ena router ospf4 1 segrout index 5 router ospf4 1 segrout node router ospf4 1 segrout pop router ospf6 1 ena router ospf6 1 segrout index 6 router ospf6 1 segrout node router ospf6 1 segrout pop exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit ! r1 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/intop9-ospf12.tst000066400000000000000000000076771510423065500171510ustar00rootroot00000000000000description interop9: ospf bier exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny all 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.1 traffeng 2.2.2.1 bier 256 10 area 0 ena area 0 bier red conn exit router ospf6 1 vrf v1 router 6.6.6.1 traffeng 6.6.6.1 bier 256 10 area 0 ena area 0 bier red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable ipv4 access-group-in test4 ! ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable router ospf4 1 ena router ospf4 1 bier index 1 router ospf6 1 ena router ospf6 1 bier index 2 exit int tun1 tun sou lo0 tun dest 9.9.9.9 tun doma 2.2.2.3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 tun sou lo0 tun dest 9999::9 tun doma 4321::3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 set interfaces ge-0/0/0.0 family mpls set interfaces ge-0/0/1.0 family inet address 1.1.2.2/24 set interfaces ge-0/0/1.0 family inet6 set interfaces ge-0/0/1.0 family mpls set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set protocols mpls interface ge-0/0/0.0 set protocols mpls interface ge-0/0/1.0 set protocols ospf area 0 interface ge-0/0/0.0 interface-type p2p set protocols ospf area 0 interface ge-0/0/1.0 interface-type p2p set protocols ospf area 0 interface lo0.0 set protocols ospf bier-sub-domain 0 set protocols ospf traffic-engineering shortcuts set protocols ospf3 area 0 interface ge-0/0/0.0 interface-type p2p set protocols ospf3 area 0 interface ge-0/0/1.0 interface-type p2p set protocols ospf3 area 0 interface lo0.0 set protocols ospf3 area 0 bier-subdomain 0 set protocols ospf3 traffic-engineering shortcuts set protocols bier sub-domain 0 bfr-id 3 set protocols bier sub-domain 0 bfr-prefix 2.2.2.2 set protocols bier sub-domain 0 encapsulation mpls set protocols bier sub-domain 0 bitstringlen 256 set protocols bier sub-domain 0 number-sets 4 commit ! addrouter r3 int eth1 eth 0000.0000.1131 $per2$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 deny 1 any all any all sequence 20 permit all any all any all exit access-list test6 sequence 10 deny all 4321:: ffff:: all 4321:: ffff:: all sequence 20 permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.3 traffeng 2.2.2.3 bier 256 10 area 0 ena area 0 bier red conn exit router ospf6 1 vrf v1 router 6.6.6.3 traffeng 6.6.6.3 bier 256 10 area 0 ena area 0 bier red conn exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf6 1 ena mpls enable ipv4 access-group-in test4 ! ipv6 access-group-in test6 ! ipv4 access-group-out test4 ! ipv6 access-group-out test6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls enable router ospf4 1 ena router ospf4 1 bier index 5 router ospf6 1 ena router ospf6 1 bier index 6 exit int tun1 tun sou lo0 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int tun2 tun sou lo0 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv4 addr 3.3.3.6 255.255.255.252 exit ! r1 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/intop9-ospf13.tst000066400000000000000000000022761510423065500171400ustar00rootroot00000000000000description interop9: ospf text authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set protocols ospf area 0 interface ge-0/0/0.0 interface-type p2p set protocols ospf area 0 interface ge-0/0/0.0 authentication simple-password tester set protocols ospf area 0 interface lo0.0 set protocols ospf3 area 0 interface ge-0/0/0.0 interface-type p2p set protocols ospf3 area 0 interface lo0.0 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-ospf14.tst000066400000000000000000000023671510423065500171420ustar00rootroot00000000000000description interop9: ospf md5 authentication addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf4 1 authen-id 123 router ospf4 1 authen-type md5 router ospf6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set protocols ospf area 0 interface ge-0/0/0.0 interface-type p2p set protocols ospf area 0 interface ge-0/0/0.0 authentication md5 123 key tester set protocols ospf area 0 interface lo0.0 set protocols ospf3 area 0 interface ge-0/0/0.0 interface-type p2p set protocols ospf3 area 0 interface lo0.0 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-pppoe01.tst000066400000000000000000000013031510423065500172770ustar00rootroot00000000000000description interop9: pppoe client addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int di1 enc ppp ppp ip4cp open ppp ip6cp open ppp ip4cp local 1.1.1.1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:ffff:ffff:: exit int eth1 p2poe client di1 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 encapsulation ppp-over-ether set interfaces pp0.0 pppoe-options underlying-interface ge-0/0/0.0 set interfaces pp0.0 pppoe-options server set interfaces pp0.0 family inet address 1.1.1.2/24 set interfaces pp0.0 family inet6 address 1234::2/64 commit ! r1 tping 100 30 1.1.1.2 vrf v1 !r1 tping 100 30 1234::2 vrf v1 freeRtr-25.11.9/cfg/intop9-pppoe02.tst000066400000000000000000000014511510423065500173040ustar00rootroot00000000000000description interop9: pppoe server addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit int di1 enc ppp ppp ip4cp open ppp ip6cp open ppp ip4cp local 1.1.1.1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:ffff:ffff:: exit int eth1 p2poe server di1 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 encapsulation ppp-over-ether set interfaces pp0.0 pppoe-options underlying-interface ge-0/0/0.0 set interfaces pp0.0 pppoe-options idle-timeout 0 set interfaces pp0.0 pppoe-options auto-reconnect 1 set interfaces pp0.0 pppoe-options client set interfaces pp0.0 family inet address 1.1.1.2/24 set interfaces pp0.0 family inet6 address 1234::2/64 commit ! r1 tping 100 30 1.1.1.2 vrf v1 !r1 tping 100 30 1234::2 vrf v1 freeRtr-25.11.9/cfg/intop9-pppoe03.tst000066400000000000000000000070451510423065500173120ustar00rootroot00000000000000description interop9: mpls over pppoe addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int di1 enc ppp ppp ip4cp open ppp ip6cp open ppp mplscp open ppp ip4cp local 1.1.1.1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth1 p2poe server di1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ int eth2 eth 0000.0000.2223 $per2$ ! set interfaces ge-0/0/0.0 encapsulation ppp-over-ether set interfaces ge-0/0/1.0 encapsulation ppp-over-ether set interfaces pp0.0 pppoe-options underlying-interface ge-0/0/0.0 set interfaces pp0.0 pppoe-options idle-timeout 0 set interfaces pp0.0 pppoe-options auto-reconnect 1 set interfaces pp0.0 pppoe-options client set interfaces pp0.0 family inet address 1.1.1.2/24 set interfaces pp0.0 family inet6 address 1234::1:2/64 set interfaces pp0.0 family mpls set interfaces pp0.1 pppoe-options underlying-interface ge-0/0/1.0 set interfaces pp0.1 pppoe-options idle-timeout 0 set interfaces pp0.1 pppoe-options auto-reconnect 1 set interfaces pp0.1 pppoe-options client set interfaces pp0.1 family inet address 1.1.2.2/24 set interfaces pp0.1 family inet6 address 1234::2:2/64 set interfaces pp0.1 family mpls set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set protocols ldp interface pp0.0 set protocols ldp interface pp0.1 set protocols mpls interface pp0.0 set protocols mpls interface pp0.1 set routing-options rib inet.0 static route 2.2.2.1/32 next-hop 1.1.1.1 set routing-options rib inet.0 static route 2.2.2.3/32 next-hop 1.1.2.1 set routing-options rib inet6.0 static route 4321::1/128 next-hop 1234:1::1 set routing-options rib inet6.0 static route 4321::3/128 next-hop 1234:2::1 commit ! addrouter r3 int eth1 eth 0000.0000.3333 $per2$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int di1 enc ppp ppp ip4cp open ppp ip6cp open ppp mplscp open ppp ip4cp local 1.1.2.1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth1 p2poe server di1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit ! r1 tping 100 30 1.1.1.2 vrf v1 !r1 tping 100 30 1234:1::2 vrf v1 r3 tping 100 30 1.1.2.2 vrf v1 !r3 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 2.2.2.2 vrf v1 sou lo0 r1 tping 100 30 2.2.2.3 vrf v1 sou lo0 !r1 tping 100 30 4321::2 vrf v1 sou lo0 !r1 tping 100 30 4321::3 vrf v1 sou lo0 r3 tping 100 30 2.2.2.2 vrf v1 sou lo0 r3 tping 100 30 2.2.2.1 vrf v1 sou lo0 !r3 tping 100 30 4321::2 vrf v1 sou lo0 !r3 tping 100 30 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/intop9-rift01.tst000066400000000000000000000021301510423065500171170ustar00rootroot00000000000000description interop9: point2point rift exit addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 41 red conn exit router rift6 1 vrf v1 router 61 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router rift4 1 ena router rift6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set policy-options policy-statement ps1 from protocol direct set policy-options policy-statement ps1 then accept set protocols rift node-id 12345678 set protocols rift level top-of-fabric set protocols rift export northbound ps1 set protocols rift interface ge-0/0/0.0 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9-rip01.tst000066400000000000000000000020771510423065500167570ustar00rootroot00000000000000description interop9: rip addrouter r1 int eth1 eth 0000.0000.1111 $per1$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr fe80::1 ffff:: router rip4 1 ena router rip6 1 ena exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addpersist r2 int eth1 eth 0000.0000.2222 $per1$ ! set interfaces ge-0/0/0.0 family inet address 1.1.1.2/24 set interfaces ge-0/0/0.0 family inet6 set interfaces lo0.0 family inet address 2.2.2.2/32 set interfaces lo0.0 family inet6 address 4321::2/128 set policy-options policy-statement ps1 from protocol direct set policy-options policy-statement ps1 then accept set protocols rip group g1 neighbor ge-0/0/0.0 set protocols rip group g1 export ps1 set protocols ripng group g1 neighbor ge-0/0/0.0 set protocols ripng group g1 export ps1 commit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 120 2.2.2.2 vrf v1 sou lo0 r1 tping 100 120 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/intop9.ini000066400000000000000000000015371510423065500157730ustar00rootroot00000000000000../img/vsrx.img -M pc-i440fx-7.1 4096 4 vmxnet3 1 FreeBSD/amd64 .vsrx. .ttyu0. mc36 juniper configure private ###separator- load factory-default set system root-authentication encrypted-password "$6$y/4jUhkd$cq3c/a3rdNKYmzTTuwhBgeXFbikioGc3UdmmQmbxRqxktMCUdLVfxa73cIV1ihrTlte03KOm6G9kqX2h1XcLy." delete security policies delete security zones set system host-name vsrx set system services telnet set protocols lldp interface all set security forwarding-options family inet mode packet-based set security forwarding-options family inet6 mode packet-based set security forwarding-options family mpls mode packet-based set security forwarding-options family iso mode packet-based set system login user mc36 class super-user authentication encrypted-password "$6$y/4jUhkd$cq3c/a3rdNKYmzTTuwhBgeXFbikioGc3UdmmQmbxRqxktMCUdLVfxa73cIV1ihrTlte03KOm6G9kqX2h1XcLy." commit freeRtr-25.11.9/cfg/mpls-bier01.tst000066400000000000000000000105411510423065500166320ustar00rootroot00000000000000description bier in chain addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 bier 256 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 bier 256 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1236::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1236::4 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv6 addr 4321::1114 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 2.2.2.4 vrf v1 sou lo1 r1 tping 100 20 4321::4 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.4 vrf v1 sou lo1 r2 tping 100 20 4321::4 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r3 tping 100 20 2.2.2.4 vrf v1 sou lo1 r3 tping 100 20 4321::4 vrf v1 sou lo1 r4 tping 100 20 2.2.2.1 vrf v1 sou lo1 r4 tping 100 20 4321::1 vrf v1 sou lo1 r4 tping 100 20 2.2.2.2 vrf v1 sou lo1 r4 tping 100 20 4321::2 vrf v1 sou lo1 r4 tping 100 20 2.2.2.3 vrf v1 sou lo1 r4 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 3.3.3.4 vrf v1 sou lo1 r1 tping 100 20 4321::1114 vrf v1 sou lo1 r4 tping 100 20 3.3.3.1 vrf v1 sou lo1 r4 tping 100 20 4321::1111 vrf v1 sou lo1 r1 output show mpls forw r2 output show mpls forw r3 output show mpls forw r4 output show mpls forw output ../binTmp/mpls-bier.html here is the lib:
show:0
here is the lib:
show:1
here is the lib:
show:2
here is the lib:
show:3
! freeRtr-25.11.9/cfg/mpls-bier02.tst000066400000000000000000000077151510423065500166440ustar00rootroot00000000000000description bier in star addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 bier 256 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 bier 256 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth3 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1236::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1236::4 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv6 addr 4321::1114 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 2.2.2.4 vrf v1 sou lo1 r1 tping 100 20 4321::4 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.4 vrf v1 sou lo1 r2 tping 100 20 4321::4 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r3 tping 100 20 2.2.2.4 vrf v1 sou lo1 r3 tping 100 20 4321::4 vrf v1 sou lo1 r4 tping 100 20 2.2.2.1 vrf v1 sou lo1 r4 tping 100 20 4321::1 vrf v1 sou lo1 r4 tping 100 20 2.2.2.2 vrf v1 sou lo1 r4 tping 100 20 4321::2 vrf v1 sou lo1 r4 tping 100 20 2.2.2.3 vrf v1 sou lo1 r4 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 3.3.3.4 vrf v1 sou lo1 r1 tping 100 20 4321::1114 vrf v1 sou lo1 r4 tping 100 20 3.3.3.1 vrf v1 sou lo1 r4 tping 100 20 4321::1111 vrf v1 sou lo1 freeRtr-25.11.9/cfg/mpls-bier03.tst000066400000000000000000000151731510423065500166420ustar00rootroot00000000000000description bier in dense chain addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit access-list test4 permit all 2.2.2.1 255.255.255.255 all any all exit access-list test6 permit all 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 2.2.2.2 2.2.2.3 2.2.2.4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv4 access-group-out test4 no ipv4 unreachables exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 4321::2 4321::3 4321::4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 ipv6 access-group-out test6 no ipv6 unreachables exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 bier 256 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 bier 256 10 2 red conn exit access-list test4 permit all 2.2.2.2 255.255.255.255 all any all exit access-list test6 permit all 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 2.2.2.2 2.2.2.3 2.2.2.4 tun vrf v1 tun key 2 tun mod bier vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv4 access-group-out test4 no ipv4 unreachables exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 4321::2 4321::3 4321::4 tun vrf v1 tun key 2 tun mod bier vrf for v1 ipv6 addr 4321::1112 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 ipv6 access-group-out test6 no ipv6 unreachables exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit access-list test4 permit all 2.2.2.3 255.255.255.255 all any all exit access-list test6 permit all 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1236::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 2.2.2.2 2.2.2.3 2.2.2.4 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 ipv4 access-group-out test4 no ipv4 unreachables exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 4321::2 4321::3 4321::4 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv6 addr 4321::1113 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 ipv6 access-group-out test6 no ipv6 unreachables exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit access-list test4 permit all 2.2.2.4 255.255.255.255 all any all exit access-list test6 permit all 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1236::4 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 2.2.2.2 2.2.2.3 2.2.2.4 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 ipv4 access-group-out test4 no ipv4 unreachables exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 4321::2 4321::3 4321::4 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv6 addr 4321::1114 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 ipv6 access-group-out test6 no ipv6 unreachables exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 2.2.2.4 vrf v1 sou lo1 r1 tping 100 20 4321::4 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.4 vrf v1 sou lo1 r2 tping 100 20 4321::4 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r3 tping 100 20 2.2.2.4 vrf v1 sou lo1 r3 tping 100 20 4321::4 vrf v1 sou lo1 r4 tping 100 20 2.2.2.1 vrf v1 sou lo1 r4 tping 100 20 4321::1 vrf v1 sou lo1 r4 tping 100 20 2.2.2.2 vrf v1 sou lo1 r4 tping 100 20 4321::2 vrf v1 sou lo1 r4 tping 100 20 2.2.2.3 vrf v1 sou lo1 r4 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 3.3.3.2 vrf v1 sou lo1 r1 tping 100 20 4321::1112 vrf v1 sou lo1 r1 tping 100 20 3.3.3.3 vrf v1 sou lo1 r1 tping 100 20 4321::1113 vrf v1 sou lo1 r1 tping 100 20 3.3.3.4 vrf v1 sou lo1 r1 tping 100 20 4321::1114 vrf v1 sou lo1 r2 tping 100 20 3.3.3.1 vrf v1 sou lo1 r2 tping 100 20 4321::1111 vrf v1 sou lo1 r2 tping 100 20 3.3.3.3 vrf v1 sou lo1 r2 tping 100 20 4321::1113 vrf v1 sou lo1 r2 tping 100 20 3.3.3.4 vrf v1 sou lo1 r2 tping 100 20 4321::1114 vrf v1 sou lo1 r3 tping 100 20 3.3.3.1 vrf v1 sou lo1 r3 tping 100 20 4321::1111 vrf v1 sou lo1 r3 tping 100 20 3.3.3.2 vrf v1 sou lo1 r3 tping 100 20 4321::1112 vrf v1 sou lo1 r3 tping 100 20 3.3.3.4 vrf v1 sou lo1 r3 tping 100 20 4321::1114 vrf v1 sou lo1 r4 tping 100 20 3.3.3.1 vrf v1 sou lo1 r4 tping 100 20 4321::1111 vrf v1 sou lo1 r4 tping 100 20 3.3.3.2 vrf v1 sou lo1 r4 tping 100 20 4321::1112 vrf v1 sou lo1 r4 tping 100 20 3.3.3.3 vrf v1 sou lo1 r4 tping 100 20 4321::1113 vrf v1 sou lo1 freeRtr-25.11.9/cfg/mpls-bier04.tst000066400000000000000000000151721510423065500166420ustar00rootroot00000000000000description bier in dense star addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit access-list test4 permit all 2.2.2.1 255.255.255.255 all any all exit access-list test6 permit all 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth3 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1236::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 2.2.2.2 2.2.2.3 2.2.2.4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv4 access-group-out test4 no ipv4 unreachables exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 4321::2 4321::3 4321::4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 ipv6 access-group-out test6 no ipv6 unreachables exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 bier 256 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 bier 256 10 2 red conn exit access-list test4 permit all 2.2.2.2 255.255.255.255 all any all exit access-list test6 permit all 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 2.2.2.2 2.2.2.3 2.2.2.4 tun vrf v1 tun key 2 tun mod bier vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv4 access-group-out test4 no ipv4 unreachables exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 4321::2 4321::3 4321::4 tun vrf v1 tun key 2 tun mod bier vrf for v1 ipv6 addr 4321::1112 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 ipv6 access-group-out test6 no ipv6 unreachables exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit access-list test4 permit all 2.2.2.3 255.255.255.255 all any all exit access-list test6 permit all 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 2.2.2.2 2.2.2.3 2.2.2.4 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 ipv4 access-group-out test4 no ipv4 unreachables exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 4321::2 4321::3 4321::4 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv6 addr 4321::1113 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 ipv6 access-group-out test6 no ipv6 unreachables exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit access-list test4 permit all 2.2.2.4 255.255.255.255 all any all exit access-list test6 permit all 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1236::4 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 2.2.2.2 2.2.2.3 2.2.2.4 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 ipv4 access-group-out test4 no ipv4 unreachables exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 4321::2 4321::3 4321::4 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv6 addr 4321::1114 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 ipv6 access-group-out test6 no ipv6 unreachables exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 2.2.2.4 vrf v1 sou lo1 r1 tping 100 20 4321::4 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.4 vrf v1 sou lo1 r2 tping 100 20 4321::4 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r3 tping 100 20 2.2.2.4 vrf v1 sou lo1 r3 tping 100 20 4321::4 vrf v1 sou lo1 r4 tping 100 20 2.2.2.1 vrf v1 sou lo1 r4 tping 100 20 4321::1 vrf v1 sou lo1 r4 tping 100 20 2.2.2.2 vrf v1 sou lo1 r4 tping 100 20 4321::2 vrf v1 sou lo1 r4 tping 100 20 2.2.2.3 vrf v1 sou lo1 r4 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 3.3.3.2 vrf v1 sou lo1 r1 tping 100 20 4321::1112 vrf v1 sou lo1 r1 tping 100 20 3.3.3.3 vrf v1 sou lo1 r1 tping 100 20 4321::1113 vrf v1 sou lo1 r1 tping 100 20 3.3.3.4 vrf v1 sou lo1 r1 tping 100 20 4321::1114 vrf v1 sou lo1 r2 tping 100 20 3.3.3.1 vrf v1 sou lo1 r2 tping 100 20 4321::1111 vrf v1 sou lo1 r2 tping 100 20 3.3.3.3 vrf v1 sou lo1 r2 tping 100 20 4321::1113 vrf v1 sou lo1 r2 tping 100 20 3.3.3.4 vrf v1 sou lo1 r2 tping 100 20 4321::1114 vrf v1 sou lo1 r3 tping 100 20 3.3.3.1 vrf v1 sou lo1 r3 tping 100 20 4321::1111 vrf v1 sou lo1 r3 tping 100 20 3.3.3.2 vrf v1 sou lo1 r3 tping 100 20 4321::1112 vrf v1 sou lo1 r3 tping 100 20 3.3.3.4 vrf v1 sou lo1 r3 tping 100 20 4321::1114 vrf v1 sou lo1 r4 tping 100 20 3.3.3.1 vrf v1 sou lo1 r4 tping 100 20 4321::1111 vrf v1 sou lo1 r4 tping 100 20 3.3.3.2 vrf v1 sou lo1 r4 tping 100 20 4321::1112 vrf v1 sou lo1 r4 tping 100 20 3.3.3.3 vrf v1 sou lo1 r4 tping 100 20 4321::1113 vrf v1 sou lo1 freeRtr-25.11.9/cfg/mpls-bier05.tst000066400000000000000000000152331510423065500166410ustar00rootroot00000000000000description bier on multiple si addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 1000 100 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 1000 100 red conn exit access-list test4 permit all 2.2.2.1 255.255.255.255 all any all exit access-list test6 permit all 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth3 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1236::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 2.2.2.2 2.2.2.3 2.2.2.4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv4 access-group-out test4 no ipv4 unreachables exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 4321::2 4321::3 4321::4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 ipv6 access-group-out test6 no ipv6 unreachables exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 bier 256 1000 400 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 bier 256 1000 400 red conn exit access-list test4 permit all 2.2.2.2 255.255.255.255 all any all exit access-list test6 permit all 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 2.2.2.2 2.2.2.3 2.2.2.4 tun vrf v1 tun key 2 tun mod bier vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv4 access-group-out test4 no ipv4 unreachables exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 4321::2 4321::3 4321::4 tun vrf v1 tun key 2 tun mod bier vrf for v1 ipv6 addr 4321::1112 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 ipv6 access-group-out test6 no ipv6 unreachables exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 1000 600 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 1000 600 red conn exit access-list test4 permit all 2.2.2.3 255.255.255.255 all any all exit access-list test6 permit all 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 2.2.2.2 2.2.2.3 2.2.2.4 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 ipv4 access-group-out test4 no ipv4 unreachables exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 4321::2 4321::3 4321::4 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv6 addr 4321::1113 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 ipv6 access-group-out test6 no ipv6 unreachables exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 1000 900 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 1000 900 red conn exit access-list test4 permit all 2.2.2.4 255.255.255.255 all any all exit access-list test6 permit all 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1236::4 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 2.2.2.2 2.2.2.3 2.2.2.4 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 ipv4 access-group-out test4 no ipv4 unreachables exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 4321::2 4321::3 4321::4 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv6 addr 4321::1114 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 ipv6 access-group-out test6 no ipv6 unreachables exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 2.2.2.4 vrf v1 sou lo1 r1 tping 100 20 4321::4 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.4 vrf v1 sou lo1 r2 tping 100 20 4321::4 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r3 tping 100 20 2.2.2.4 vrf v1 sou lo1 r3 tping 100 20 4321::4 vrf v1 sou lo1 r4 tping 100 20 2.2.2.1 vrf v1 sou lo1 r4 tping 100 20 4321::1 vrf v1 sou lo1 r4 tping 100 20 2.2.2.2 vrf v1 sou lo1 r4 tping 100 20 4321::2 vrf v1 sou lo1 r4 tping 100 20 2.2.2.3 vrf v1 sou lo1 r4 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 3.3.3.2 vrf v1 sou lo1 r1 tping 100 20 4321::1112 vrf v1 sou lo1 r1 tping 100 20 3.3.3.3 vrf v1 sou lo1 r1 tping 100 20 4321::1113 vrf v1 sou lo1 r1 tping 100 20 3.3.3.4 vrf v1 sou lo1 r1 tping 100 20 4321::1114 vrf v1 sou lo1 r2 tping 100 20 3.3.3.1 vrf v1 sou lo1 r2 tping 100 20 4321::1111 vrf v1 sou lo1 r2 tping 100 20 3.3.3.3 vrf v1 sou lo1 r2 tping 100 20 4321::1113 vrf v1 sou lo1 r2 tping 100 20 3.3.3.4 vrf v1 sou lo1 r2 tping 100 20 4321::1114 vrf v1 sou lo1 r3 tping 100 20 3.3.3.1 vrf v1 sou lo1 r3 tping 100 20 4321::1111 vrf v1 sou lo1 r3 tping 100 20 3.3.3.2 vrf v1 sou lo1 r3 tping 100 20 4321::1112 vrf v1 sou lo1 r3 tping 100 20 3.3.3.4 vrf v1 sou lo1 r3 tping 100 20 4321::1114 vrf v1 sou lo1 r4 tping 100 20 3.3.3.1 vrf v1 sou lo1 r4 tping 100 20 4321::1111 vrf v1 sou lo1 r4 tping 100 20 3.3.3.2 vrf v1 sou lo1 r4 tping 100 20 4321::1112 vrf v1 sou lo1 r4 tping 100 20 3.3.3.3 vrf v1 sou lo1 r4 tping 100 20 4321::1113 vrf v1 sou lo1 freeRtr-25.11.9/cfg/mpls-bier06.tst000066400000000000000000000152301510423065500166370ustar00rootroot00000000000000description bier on mixed si addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 1000 100 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 1000 100 red conn exit access-list test4 permit all 2.2.2.1 255.255.255.255 all any all exit access-list test6 permit all 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth3 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1236::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 2.2.2.2 2.2.2.3 2.2.2.4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv4 access-group-out test4 no ipv4 unreachables exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 4321::2 4321::3 4321::4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 ipv6 access-group-out test6 no ipv6 unreachables exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 bier 256 1000 400 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 bier 256 1000 400 red conn exit access-list test4 permit all 2.2.2.2 255.255.255.255 all any all exit access-list test6 permit all 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 2.2.2.2 2.2.2.3 2.2.2.4 tun vrf v1 tun key 2 tun mod bier vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv4 access-group-out test4 no ipv4 unreachables exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 4321::2 4321::3 4321::4 tun vrf v1 tun key 2 tun mod bier vrf for v1 ipv6 addr 4321::1112 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 ipv6 access-group-out test6 no ipv6 unreachables exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 1000 600 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 1000 600 red conn exit access-list test4 permit all 2.2.2.3 255.255.255.255 all any all exit access-list test6 permit all 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 2.2.2.2 2.2.2.3 2.2.2.4 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 ipv4 access-group-out test4 no ipv4 unreachables exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 4321::2 4321::3 4321::4 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv6 addr 4321::1113 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 ipv6 access-group-out test6 no ipv6 unreachables exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 1000 150 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 1000 150 red conn exit access-list test4 permit all 2.2.2.4 255.255.255.255 all any all exit access-list test6 permit all 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1236::4 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 2.2.2.2 2.2.2.3 2.2.2.4 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 ipv4 access-group-out test4 no ipv4 unreachables exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 4321::2 4321::3 4321::4 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv6 addr 4321::1114 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 ipv6 access-group-out test6 no ipv6 unreachables exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 2.2.2.4 vrf v1 sou lo1 r1 tping 100 20 4321::4 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.4 vrf v1 sou lo1 r2 tping 100 20 4321::4 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r3 tping 100 20 2.2.2.4 vrf v1 sou lo1 r3 tping 100 20 4321::4 vrf v1 sou lo1 r4 tping 100 20 2.2.2.1 vrf v1 sou lo1 r4 tping 100 20 4321::1 vrf v1 sou lo1 r4 tping 100 20 2.2.2.2 vrf v1 sou lo1 r4 tping 100 20 4321::2 vrf v1 sou lo1 r4 tping 100 20 2.2.2.3 vrf v1 sou lo1 r4 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 3.3.3.2 vrf v1 sou lo1 r1 tping 100 20 4321::1112 vrf v1 sou lo1 r1 tping 100 20 3.3.3.3 vrf v1 sou lo1 r1 tping 100 20 4321::1113 vrf v1 sou lo1 r1 tping 100 20 3.3.3.4 vrf v1 sou lo1 r1 tping 100 20 4321::1114 vrf v1 sou lo1 r2 tping 100 20 3.3.3.1 vrf v1 sou lo1 r2 tping 100 20 4321::1111 vrf v1 sou lo1 r2 tping 100 20 3.3.3.3 vrf v1 sou lo1 r2 tping 100 20 4321::1113 vrf v1 sou lo1 r2 tping 100 20 3.3.3.4 vrf v1 sou lo1 r2 tping 100 20 4321::1114 vrf v1 sou lo1 r3 tping 100 20 3.3.3.1 vrf v1 sou lo1 r3 tping 100 20 4321::1111 vrf v1 sou lo1 r3 tping 100 20 3.3.3.2 vrf v1 sou lo1 r3 tping 100 20 4321::1112 vrf v1 sou lo1 r3 tping 100 20 3.3.3.4 vrf v1 sou lo1 r3 tping 100 20 4321::1114 vrf v1 sou lo1 r4 tping 100 20 3.3.3.1 vrf v1 sou lo1 r4 tping 100 20 4321::1111 vrf v1 sou lo1 r4 tping 100 20 3.3.3.2 vrf v1 sou lo1 r4 tping 100 20 4321::1112 vrf v1 sou lo1 r4 tping 100 20 3.3.3.3 vrf v1 sou lo1 r4 tping 100 20 4321::1113 vrf v1 sou lo1 freeRtr-25.11.9/cfg/mpls-bier07.tst000066400000000000000000000077121510423065500166460ustar00rootroot00000000000000description bier with 64b bsl addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 64 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 64 10 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 bier 64 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 bier 64 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 64 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 64 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1236::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 64 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 64 10 4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1236::4 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv6 addr 4321::1114 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 2.2.2.4 vrf v1 sou lo1 r1 tping 100 20 4321::4 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.4 vrf v1 sou lo1 r2 tping 100 20 4321::4 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r3 tping 100 20 2.2.2.4 vrf v1 sou lo1 r3 tping 100 20 4321::4 vrf v1 sou lo1 r4 tping 100 20 2.2.2.1 vrf v1 sou lo1 r4 tping 100 20 4321::1 vrf v1 sou lo1 r4 tping 100 20 2.2.2.2 vrf v1 sou lo1 r4 tping 100 20 4321::2 vrf v1 sou lo1 r4 tping 100 20 2.2.2.3 vrf v1 sou lo1 r4 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 3.3.3.4 vrf v1 sou lo1 r1 tping 100 20 4321::1114 vrf v1 sou lo1 r4 tping 100 20 3.3.3.1 vrf v1 sou lo1 r4 tping 100 20 4321::1111 vrf v1 sou lo1 freeRtr-25.11.9/cfg/mpls-bier08.tst000066400000000000000000000077231510423065500166510ustar00rootroot00000000000000description bier with 128b bsl addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 128 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 128 10 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 bier 128 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 bier 128 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 128 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 128 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1236::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 128 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 128 10 4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1236::4 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv6 addr 4321::1114 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 2.2.2.4 vrf v1 sou lo1 r1 tping 100 20 4321::4 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.4 vrf v1 sou lo1 r2 tping 100 20 4321::4 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r3 tping 100 20 2.2.2.4 vrf v1 sou lo1 r3 tping 100 20 4321::4 vrf v1 sou lo1 r4 tping 100 20 2.2.2.1 vrf v1 sou lo1 r4 tping 100 20 4321::1 vrf v1 sou lo1 r4 tping 100 20 2.2.2.2 vrf v1 sou lo1 r4 tping 100 20 4321::2 vrf v1 sou lo1 r4 tping 100 20 2.2.2.3 vrf v1 sou lo1 r4 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 3.3.3.4 vrf v1 sou lo1 r1 tping 100 20 4321::1114 vrf v1 sou lo1 r4 tping 100 20 3.3.3.1 vrf v1 sou lo1 r4 tping 100 20 4321::1111 vrf v1 sou lo1 freeRtr-25.11.9/cfg/mpls-bier09.tst000066400000000000000000000077231510423065500166520ustar00rootroot00000000000000description bier with 256b bsl addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 bier 256 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 bier 256 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1236::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1236::4 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv6 addr 4321::1114 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 2.2.2.4 vrf v1 sou lo1 r1 tping 100 20 4321::4 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.4 vrf v1 sou lo1 r2 tping 100 20 4321::4 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r3 tping 100 20 2.2.2.4 vrf v1 sou lo1 r3 tping 100 20 4321::4 vrf v1 sou lo1 r4 tping 100 20 2.2.2.1 vrf v1 sou lo1 r4 tping 100 20 4321::1 vrf v1 sou lo1 r4 tping 100 20 2.2.2.2 vrf v1 sou lo1 r4 tping 100 20 4321::2 vrf v1 sou lo1 r4 tping 100 20 2.2.2.3 vrf v1 sou lo1 r4 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 3.3.3.4 vrf v1 sou lo1 r1 tping 100 20 4321::1114 vrf v1 sou lo1 r4 tping 100 20 3.3.3.1 vrf v1 sou lo1 r4 tping 100 20 4321::1111 vrf v1 sou lo1 freeRtr-25.11.9/cfg/mpls-bier10.tst000066400000000000000000000077231510423065500166420ustar00rootroot00000000000000description bier with 512b bsl addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 512 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 512 10 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 bier 512 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 bier 512 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 512 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 512 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1236::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 512 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 512 10 4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1236::4 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv6 addr 4321::1114 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 2.2.2.4 vrf v1 sou lo1 r1 tping 100 20 4321::4 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.4 vrf v1 sou lo1 r2 tping 100 20 4321::4 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r3 tping 100 20 2.2.2.4 vrf v1 sou lo1 r3 tping 100 20 4321::4 vrf v1 sou lo1 r4 tping 100 20 2.2.2.1 vrf v1 sou lo1 r4 tping 100 20 4321::1 vrf v1 sou lo1 r4 tping 100 20 2.2.2.2 vrf v1 sou lo1 r4 tping 100 20 4321::2 vrf v1 sou lo1 r4 tping 100 20 2.2.2.3 vrf v1 sou lo1 r4 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 3.3.3.4 vrf v1 sou lo1 r1 tping 100 20 4321::1114 vrf v1 sou lo1 r4 tping 100 20 3.3.3.1 vrf v1 sou lo1 r4 tping 100 20 4321::1111 vrf v1 sou lo1 freeRtr-25.11.9/cfg/mpls-bier11.tst000066400000000000000000000077311510423065500166420ustar00rootroot00000000000000description bier with 1k bsl addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 1024 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 1024 10 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 bier 1024 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 bier 1024 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 1024 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 1024 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1236::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 1024 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 1024 10 4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1236::4 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv6 addr 4321::1114 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 2.2.2.4 vrf v1 sou lo1 r1 tping 100 20 4321::4 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.4 vrf v1 sou lo1 r2 tping 100 20 4321::4 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r3 tping 100 20 2.2.2.4 vrf v1 sou lo1 r3 tping 100 20 4321::4 vrf v1 sou lo1 r4 tping 100 20 2.2.2.1 vrf v1 sou lo1 r4 tping 100 20 4321::1 vrf v1 sou lo1 r4 tping 100 20 2.2.2.2 vrf v1 sou lo1 r4 tping 100 20 4321::2 vrf v1 sou lo1 r4 tping 100 20 2.2.2.3 vrf v1 sou lo1 r4 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 3.3.3.4 vrf v1 sou lo1 r1 tping 100 20 4321::1114 vrf v1 sou lo1 r4 tping 100 20 3.3.3.1 vrf v1 sou lo1 r4 tping 100 20 4321::1111 vrf v1 sou lo1 freeRtr-25.11.9/cfg/mpls-bier12.tst000066400000000000000000000077311510423065500166430ustar00rootroot00000000000000description bier with 2k bsl addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 2048 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 2048 10 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 bier 2048 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 bier 2048 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 2048 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 2048 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1236::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 2048 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 2048 10 4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1236::4 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv6 addr 4321::1114 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 2.2.2.4 vrf v1 sou lo1 r1 tping 100 20 4321::4 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.4 vrf v1 sou lo1 r2 tping 100 20 4321::4 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r3 tping 100 20 2.2.2.4 vrf v1 sou lo1 r3 tping 100 20 4321::4 vrf v1 sou lo1 r4 tping 100 20 2.2.2.1 vrf v1 sou lo1 r4 tping 100 20 4321::1 vrf v1 sou lo1 r4 tping 100 20 2.2.2.2 vrf v1 sou lo1 r4 tping 100 20 4321::2 vrf v1 sou lo1 r4 tping 100 20 2.2.2.3 vrf v1 sou lo1 r4 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 3.3.3.4 vrf v1 sou lo1 r1 tping 100 20 4321::1114 vrf v1 sou lo1 r4 tping 100 20 3.3.3.1 vrf v1 sou lo1 r4 tping 100 20 4321::1111 vrf v1 sou lo1 freeRtr-25.11.9/cfg/mpls-bier13.tst000066400000000000000000000077311510423065500166440ustar00rootroot00000000000000description bier with 4k bsl addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 4096 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 4096 10 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 bier 4096 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 bier 4096 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 4096 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 4096 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1236::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 4096 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 4096 10 4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1236::4 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv6 addr 4321::1114 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 2.2.2.4 vrf v1 sou lo1 r1 tping 100 20 4321::4 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.4 vrf v1 sou lo1 r2 tping 100 20 4321::4 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r3 tping 100 20 2.2.2.4 vrf v1 sou lo1 r3 tping 100 20 4321::4 vrf v1 sou lo1 r4 tping 100 20 2.2.2.1 vrf v1 sou lo1 r4 tping 100 20 4321::1 vrf v1 sou lo1 r4 tping 100 20 2.2.2.2 vrf v1 sou lo1 r4 tping 100 20 4321::2 vrf v1 sou lo1 r4 tping 100 20 2.2.2.3 vrf v1 sou lo1 r4 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 3.3.3.4 vrf v1 sou lo1 r1 tping 100 20 4321::1114 vrf v1 sou lo1 r4 tping 100 20 3.3.3.1 vrf v1 sou lo1 r4 tping 100 20 4321::1111 vrf v1 sou lo1 freeRtr-25.11.9/cfg/mpls-bier14.tst000066400000000000000000000147321510423065500166440ustar00rootroot00000000000000description bier over broadcast subnet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit access-list test4 permit all 2.2.2.1 255.255.255.255 all any all exit access-list test6 permit all 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 2.2.2.2 2.2.2.3 2.2.2.4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv4 access-group-out test4 no ipv4 unreachables exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 4321::2 4321::3 4321::4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 ipv6 access-group-out test6 no ipv6 unreachables exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 bier 256 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 bier 256 10 2 red conn exit access-list test4 permit all 2.2.2.2 255.255.255.255 all any all exit access-list test6 permit all 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 2.2.2.2 2.2.2.3 2.2.2.4 tun vrf v1 tun key 2 tun mod bier vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv4 access-group-out test4 no ipv4 unreachables exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 4321::2 4321::3 4321::4 tun vrf v1 tun key 2 tun mod bier vrf for v1 ipv6 addr 4321::1112 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 ipv6 access-group-out test6 no ipv6 unreachables exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit access-list test4 permit all 2.2.2.3 255.255.255.255 all any all exit access-list test6 permit all 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 2.2.2.2 2.2.2.3 2.2.2.4 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 ipv4 access-group-out test4 no ipv4 unreachables exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 4321::2 4321::3 4321::4 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv6 addr 4321::1113 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 ipv6 access-group-out test6 no ipv6 unreachables exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit access-list test4 permit all 2.2.2.4 255.255.255.255 all any all exit access-list test6 permit all 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 2.2.2.2 2.2.2.3 2.2.2.4 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 ipv4 access-group-out test4 no ipv4 unreachables exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 4321::2 4321::3 4321::4 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv6 addr 4321::1114 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 ipv6 access-group-out test6 no ipv6 unreachables exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 2.2.2.4 vrf v1 sou lo1 r1 tping 100 20 4321::4 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.4 vrf v1 sou lo1 r2 tping 100 20 4321::4 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r3 tping 100 20 2.2.2.4 vrf v1 sou lo1 r3 tping 100 20 4321::4 vrf v1 sou lo1 r4 tping 100 20 2.2.2.1 vrf v1 sou lo1 r4 tping 100 20 4321::1 vrf v1 sou lo1 r4 tping 100 20 2.2.2.2 vrf v1 sou lo1 r4 tping 100 20 4321::2 vrf v1 sou lo1 r4 tping 100 20 2.2.2.3 vrf v1 sou lo1 r4 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 3.3.3.2 vrf v1 sou lo1 r1 tping 100 20 4321::1112 vrf v1 sou lo1 r1 tping 100 20 3.3.3.3 vrf v1 sou lo1 r1 tping 100 20 4321::1113 vrf v1 sou lo1 r1 tping 100 20 3.3.3.4 vrf v1 sou lo1 r1 tping 100 20 4321::1114 vrf v1 sou lo1 r2 tping 100 20 3.3.3.1 vrf v1 sou lo1 r2 tping 100 20 4321::1111 vrf v1 sou lo1 r2 tping 100 20 3.3.3.3 vrf v1 sou lo1 r2 tping 100 20 4321::1113 vrf v1 sou lo1 r2 tping 100 20 3.3.3.4 vrf v1 sou lo1 r2 tping 100 20 4321::1114 vrf v1 sou lo1 r3 tping 100 20 3.3.3.1 vrf v1 sou lo1 r3 tping 100 20 4321::1111 vrf v1 sou lo1 r3 tping 100 20 3.3.3.2 vrf v1 sou lo1 r3 tping 100 20 4321::1112 vrf v1 sou lo1 r3 tping 100 20 3.3.3.4 vrf v1 sou lo1 r3 tping 100 20 4321::1114 vrf v1 sou lo1 r4 tping 100 20 3.3.3.1 vrf v1 sou lo1 r4 tping 100 20 4321::1111 vrf v1 sou lo1 r4 tping 100 20 3.3.3.2 vrf v1 sou lo1 r4 tping 100 20 4321::1112 vrf v1 sou lo1 r4 tping 100 20 3.3.3.3 vrf v1 sou lo1 r4 tping 100 20 4321::1113 vrf v1 sou lo1 freeRtr-25.11.9/cfg/mpls-bier15.tst000066400000000000000000000077311510423065500166460ustar00rootroot00000000000000description mixed protocol over bier addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 bier 256 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 bier 256 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1236::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1236::4 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv6 addr 4321::1114 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 2.2.2.4 vrf v1 sou lo1 r1 tping 100 20 4321::4 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.4 vrf v1 sou lo1 r2 tping 100 20 4321::4 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r3 tping 100 20 2.2.2.4 vrf v1 sou lo1 r3 tping 100 20 4321::4 vrf v1 sou lo1 r4 tping 100 20 2.2.2.1 vrf v1 sou lo1 r4 tping 100 20 4321::1 vrf v1 sou lo1 r4 tping 100 20 2.2.2.2 vrf v1 sou lo1 r4 tping 100 20 4321::2 vrf v1 sou lo1 r4 tping 100 20 2.2.2.3 vrf v1 sou lo1 r4 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 3.3.3.4 vrf v1 sou lo1 r1 tping 100 20 4321::1114 vrf v1 sou lo1 r4 tping 100 20 3.3.3.1 vrf v1 sou lo1 r4 tping 100 20 4321::1111 vrf v1 sou lo1 freeRtr-25.11.9/cfg/mpls-bier16.tst000066400000000000000000000112601510423065500166370ustar00rootroot00000000000000description mpls over bier addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4321::2221 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 mpls enable exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 mpls enable exit ipv4 route v1 4.4.4.2 255.255.255.255 3.3.3.2 mplsexp ipv6 route v1 4321::2222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 4321::1112 mplsexp ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 bier 256 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 bier 256 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1236::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4321::2222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1236::4 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 mpls enable exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 4 tun mod bier vrf for v1 ipv6 addr 4321::1114 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 mpls enable exit ipv4 route v1 4.4.4.1 255.255.255.255 3.3.3.1 mplsexp ipv6 route v1 4321::2221 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 4321::1111 mplsexp ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 2.2.2.4 vrf v1 sou lo1 r1 tping 100 20 4321::4 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.4 vrf v1 sou lo1 r2 tping 100 20 4321::4 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r3 tping 100 20 2.2.2.4 vrf v1 sou lo1 r3 tping 100 20 4321::4 vrf v1 sou lo1 r4 tping 100 20 2.2.2.1 vrf v1 sou lo1 r4 tping 100 20 4321::1 vrf v1 sou lo1 r4 tping 100 20 2.2.2.2 vrf v1 sou lo1 r4 tping 100 20 4321::2 vrf v1 sou lo1 r4 tping 100 20 2.2.2.3 vrf v1 sou lo1 r4 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 3.3.3.4 vrf v1 sou lo1 r1 tping 100 20 4321::1114 vrf v1 sou lo1 r4 tping 100 20 3.3.3.1 vrf v1 sou lo1 r4 tping 100 20 4321::1111 vrf v1 sou lo1 r1 tping 100 20 4.4.4.1 vrf v1 sou lo2 r1 tping 100 20 4321::2221 vrf v1 sou lo2 r4 tping 100 20 4.4.4.2 vrf v1 sou lo2 r4 tping 100 20 4321::2222 vrf v1 sou lo2 freeRtr-25.11.9/cfg/mpls-bier17.tst000066400000000000000000000032541510423065500166440ustar00rootroot00000000000000description mpls over multicast ethertype addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ethert multi mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ethert multi mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/mpls-bier18.tst000066400000000000000000000032451510423065500166450ustar00rootroot00000000000000description mpls over bier ethertype addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ethert bier mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ethert bier mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/mpls-evc01.tst000066400000000000000000000031621510423065500164670ustar00rootroot00000000000000description bridged evcs over ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit int eth1.12 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1112::1 ffff:: exit int eth1.13 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1113::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit bridge 1 exit bridge 2 exit bridge 3 exit int eth1 service-inst 11 bri 1 service-inst 12 bri 2 service-inst 13 bri 3 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1112::2 ffff:: exit int bvi3 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1113::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1112::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1113::2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r2 tping 100 10 1111::1 vrf v1 r2 tping 100 10 1.1.2.1 vrf v1 r2 tping 100 10 1112::1 vrf v1 r2 tping 100 10 1.1.3.1 vrf v1 r2 tping 100 10 1113::1 vrf v1 r2 output show inter eth1 full r2 output show bridge 1 r2 output show bridge 2 r2 output show bridge 3 output ../binTmp/mpls-evc.html here is the interface:
show:0
here is the bridge:
show:1
here is the bridge:
show:2
here is the bridge:
show:3
! freeRtr-25.11.9/cfg/mpls-evc02.tst000066400000000000000000000025351510423065500164730ustar00rootroot00000000000000description bridged evcs over hdlc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit bridge 2 exit bridge 3 exit int ser1 enc hdlc exit int ser1.11 bridge-group 1 exit int ser1.12 bridge-group 2 exit int ser1.13 bridge-group 3 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1112::1 ffff:: exit int bvi3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1113::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit bridge 1 exit bridge 2 exit bridge 3 exit int ser1 enc hdlc service-inst 11 bri 1 service-inst 12 bri 2 service-inst 13 bri 3 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1112::2 ffff:: exit int bvi3 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1113::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1112::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1113::2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r2 tping 100 10 1111::1 vrf v1 r2 tping 100 10 1.1.2.1 vrf v1 r2 tping 100 10 1112::1 vrf v1 r2 tping 100 10 1.1.3.1 vrf v1 r2 tping 100 10 1113::1 vrf v1 freeRtr-25.11.9/cfg/mpls-evc03.tst000066400000000000000000000031721510423065500164720ustar00rootroot00000000000000description bridged evcs over gre addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit bridge 2 exit bridge 3 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source serial1 tunnel destination 2.2.2.2 exit int tun1.11 bridge-group 1 exit int tun1.12 bridge-group 2 exit int tun1.13 bridge-group 3 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1112::1 ffff:: exit int bvi3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1113::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit bridge 1 exit bridge 2 exit bridge 3 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source serial1 tunnel destination 2.2.2.1 service-inst 11 bri 1 service-inst 12 bri 2 service-inst 13 bri 3 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1112::2 ffff:: exit int bvi3 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1113::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1112::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1113::2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r2 tping 100 10 1111::1 vrf v1 r2 tping 100 10 1.1.2.1 vrf v1 r2 tping 100 10 1112::1 vrf v1 r2 tping 100 10 1.1.3.1 vrf v1 r2 tping 100 10 1113::1 vrf v1 freeRtr-25.11.9/cfg/mpls-evc04.tst000066400000000000000000000022471510423065500164750ustar00rootroot00000000000000description bridged evcs and subif addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit int eth1.12 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1112::1 ffff:: exit int eth1.13 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1113::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit bridge 1 exit bridge 3 exit int eth1 service-inst 11 bri 1 service-inst 13 bri 3 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit int eth1.12 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1112::2 ffff:: exit int bvi3 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1113::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1112::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1113::2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r2 tping 100 10 1111::1 vrf v1 r2 tping 100 10 1.1.2.1 vrf v1 r2 tping 100 10 1112::1 vrf v1 r2 tping 100 10 1.1.3.1 vrf v1 r2 tping 100 10 1113::1 vrf v1 freeRtr-25.11.9/cfg/mpls-evc05.tst000066400000000000000000000022211510423065500164660ustar00rootroot00000000000000description bridged evcs and main addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1112::1 ffff:: exit int eth1.13 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1113::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit bridge 1 exit bridge 3 exit int eth1 service-inst 11 bri 1 service-inst 13 bri 3 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1112::2 ffff:: exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit int bvi3 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1113::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1112::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1113::2 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r2 tping 100 10 1111::1 vrf v1 r2 tping 100 10 1.1.2.1 vrf v1 r2 tping 100 10 1112::1 vrf v1 r2 tping 100 10 1.1.3.1 vrf v1 r2 tping 100 10 1113::1 vrf v1 freeRtr-25.11.9/cfg/mpls-evc06.tst000066400000000000000000000035061510423065500164760ustar00rootroot00000000000000description xconnect evcs terminated on xconnects addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit int eth1.12 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1112::1 ffff:: exit int eth1.13 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1113::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 2222::1 ffff:: exit int eth1 service-inst 11 xconn v1 eth2 vxlan 2.2.2.2 123 service-inst 12 xconn v1 eth2 geneve 2.2.2.2 123 service-inst 13 xconn v1 eth2 etherip 2.2.2.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 2222::2 ffff:: exit int eth2.11 xconn v1 eth1 vxlan 2.2.2.1 123 exit int eth2.12 xconn v1 eth1 geneve 2.2.2.1 123 exit int eth2.13 xconn v1 eth1 etherip 2.2.2.1 123 exit exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit int eth1.12 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1112::2 ffff:: exit int eth1.13 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1113::2 ffff:: exit exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1112::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1113::2 vrf v1 r4 tping 100 10 1.1.1.1 vrf v1 r4 tping 100 10 1111::1 vrf v1 r4 tping 100 10 1.1.2.1 vrf v1 r4 tping 100 10 1112::1 vrf v1 r4 tping 100 10 1.1.3.1 vrf v1 r4 tping 100 10 1113::1 vrf v1 freeRtr-25.11.9/cfg/mpls-evc07.tst000066400000000000000000000032241510423065500164740ustar00rootroot00000000000000description xconnect evcs terminated on pwhes addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit int eth1.12 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1112::1 ffff:: exit int eth1.13 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1113::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 2222::1 ffff:: exit int eth1 service-inst 11 xconn v1 eth2 vxlan 2.2.2.2 123 service-inst 12 xconn v1 eth2 geneve 2.2.2.2 123 service-inst 13 xconn v1 eth2 etherip 2.2.2.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 2222::2 ffff:: exit int pweth11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: pseudo v1 eth1 vxlan 2.2.2.1 123 exit int pweth12 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1112::2 ffff:: pseudo v1 eth1 geneve 2.2.2.1 123 exit int pweth13 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1113::2 ffff:: pseudo v1 eth1 etherip 2.2.2.1 123 exit exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1112::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1113::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1111::1 vrf v1 r3 tping 100 10 1.1.2.1 vrf v1 r3 tping 100 10 1112::1 vrf v1 r3 tping 100 10 1.1.3.1 vrf v1 r3 tping 100 10 1113::1 vrf v1 freeRtr-25.11.9/cfg/mpls-evc08.tst000066400000000000000000000027601510423065500165010ustar00rootroot00000000000000description xconnect terminated on pwhe subifs addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit int eth1.12 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1112::1 ffff:: exit int eth1.13 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1113::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 2222::1 ffff:: exit int eth1 xconn v1 eth2 vxlan 2.2.2.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 2222::2 ffff:: exit int pweth1 pseudo v1 eth1 vxlan 2.2.2.1 123 exit int pweth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit int pweth1.12 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1112::2 ffff:: exit int pweth1.13 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1113::2 ffff:: exit exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1112::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1113::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1111::1 vrf v1 r3 tping 100 10 1.1.2.1 vrf v1 r3 tping 100 10 1112::1 vrf v1 r3 tping 100 10 1.1.3.1 vrf v1 r3 tping 100 10 1113::1 vrf v1 freeRtr-25.11.9/cfg/mpls-evc09.tst000066400000000000000000000031311510423065500164730ustar00rootroot00000000000000description xconnect terminated on pwhe bridged evcs addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit int eth1.12 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1112::1 ffff:: exit int eth1.13 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1113::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 2222::1 ffff:: exit int eth1 xconn v1 eth2 vxlan 2.2.2.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 exit bridge 2 exit bridge 3 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 2222::2 ffff:: exit int pweth1 service-inst 11 bri 1 service-inst 12 bri 2 service-inst 13 bri 3 pseudo v1 eth1 vxlan 2.2.2.1 123 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1112::2 ffff:: exit int bvi3 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1113::2 ffff:: exit exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1112::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1113::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1111::1 vrf v1 r3 tping 100 10 1.1.2.1 vrf v1 r3 tping 100 10 1112::1 vrf v1 r3 tping 100 10 1.1.3.1 vrf v1 r3 tping 100 10 1113::1 vrf v1 freeRtr-25.11.9/cfg/mpls-evc10.tst000066400000000000000000000040301510423065500164620ustar00rootroot00000000000000description xconnect terminated on pwhe xconnect evcs addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit int eth1.12 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1112::1 ffff:: exit int eth1.13 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1113::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 2222::1 ffff:: exit int eth1 xconn v1 eth2 vxlan 2.2.2.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 2222::2 ffff:: exit int eth2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 3333::1 ffff:: exit int pweth1 service-inst 11 xconn v1 eth2 vxlan 3.3.3.2 123 service-inst 12 xconn v1 eth2 geneve 3.3.3.2 123 service-inst 13 xconn v1 eth2 etherip 3.3.3.2 123 pseudo v1 eth1 vxlan 2.2.2.1 123 exit exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 3333::2 ffff:: exit int pweth11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: pseudo v1 eth1 vxlan 3.3.3.1 123 exit int pweth12 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1112::2 ffff:: pseudo v1 eth1 geneve 3.3.3.1 123 exit int pweth13 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1113::2 ffff:: pseudo v1 eth1 etherip 3.3.3.1 123 exit exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1112::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1113::2 vrf v1 r4 tping 100 10 1.1.1.1 vrf v1 r4 tping 100 10 1111::1 vrf v1 r4 tping 100 10 1.1.2.1 vrf v1 r4 tping 100 10 1112::1 vrf v1 r4 tping 100 10 1.1.3.1 vrf v1 r4 tping 100 10 1113::1 vrf v1 freeRtr-25.11.9/cfg/mpls-evc11.tst000066400000000000000000000035461510423065500164760ustar00rootroot00000000000000description xconnect evcs terminated on vpdns addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit int eth1.12 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1112::1 ffff:: exit int eth1.13 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1113::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 2222::1 ffff:: exit int eth1 service-inst 11 xconn v1 eth2 vxlan 2.2.2.2 123 service-inst 12 xconn v1 eth2 geneve 2.2.2.2 123 service-inst 13 xconn v1 eth2 etherip 2.2.2.2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 2222::2 ffff:: exit bridge 11 exit bridge 12 exit bridge 13 exit vpdn bvi11 bridge 11 proxy p1 target 2.2.2.1 vcid 123 protocol vxlan exit vpdn bvi12 bridge 12 proxy p1 target 2.2.2.1 vcid 123 protocol geneve exit vpdn bvi13 bridge 13 proxy p1 target 2.2.2.1 vcid 123 protocol etherip exit int bvi11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit int bvi12 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1112::2 ffff:: exit int bvi13 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1113::2 ffff:: exit exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1112::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1113::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1111::1 vrf v1 r3 tping 100 10 1.1.2.1 vrf v1 r3 tping 100 10 1112::1 vrf v1 r3 tping 100 10 1.1.3.1 vrf v1 r3 tping 100 10 1113::1 vrf v1 freeRtr-25.11.9/cfg/mpls-ldp01.tst000066400000000000000000000043071510423065500164730ustar00rootroot00000000000000description ldp over ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 r1 output show mpls forw r1 output show ipv4 ldp v1 sum r1 output show ipv6 ldp v1 sum r1 output show ipv4 ldp v1 dat r1 output show ipv6 ldp v1 dat output ../binTmp/mpls-ldp.html here is the lib:
show:0
here is the ipv4 neighbor:
show:1
here is the ipv6 neighbor:
show:2
here is the ipv4 database:
show:3
here is the ipv6 database:
show:4
! freeRtr-25.11.9/cfg/mpls-ldp02.tst000066400000000000000000000032771510423065500165010ustar00rootroot00000000000000description ldp over ethernet vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-ldp03.tst000066400000000000000000000034271510423065500164770ustar00rootroot00000000000000description ldp over ethernet bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 exit int eth1.11 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 exit int eth1.11 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-ldp04.tst000066400000000000000000000032521510423065500164740ustar00rootroot00000000000000description ldp over hdlc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc hdlc vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc hdlc vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-ldp05.tst000066400000000000000000000033531510423065500164770ustar00rootroot00000000000000description ldp over ppp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-ldp06.tst000066400000000000000000000034201510423065500164730ustar00rootroot00000000000000description ldp over framerelay addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc framerelay framerelay mode dce framerelay dlci 123 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc framerelay framerelay mode dte framerelay dlci 123 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-ldp07.tst000066400000000000000000000033501510423065500164760ustar00rootroot00000000000000description ldp over atmdxi addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-ldp08.tst000066400000000000000000000037031510423065500165010ustar00rootroot00000000000000description ldp over gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv6 addr 1111::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 1111::2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv6 addr 1111::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 1111::1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-ldp09.tst000066400000000000000000000037061510423065500165050ustar00rootroot00000000000000description ldp over ipip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv6 addr 1111::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode ipip tunnel source ethernet1 tunnel destination 1111::2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv6 addr 1111::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode ipip tunnel source ethernet1 tunnel destination 1111::1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-ldp10.tst000066400000000000000000000043711510423065500164740ustar00rootroot00000000000000description ldp over ipsec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv6 addr 1111::1 ffff:: exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1111::2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv6 addr 1111::2 ffff:: exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source ethernet1 tunnel destination 1111::1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-ldp11.tst000066400000000000000000000064351510423065500165000ustar00rootroot00000000000000description ldp over broadcast subnet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::3 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 mac-learn exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::3 ! addrouter r3 int eth1 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 4321::3 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r2 tping 100 10 4321::3 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 r3 tping 100 10 4321::1 vrf v1 sou lo0 r3 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r1 tping 0 10 1.1.1.3 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 r2 tping 0 10 1.1.1.3 vrf v1 r3 tping 0 10 1.1.1.1 vrf v1 r3 tping 0 10 1.1.1.2 vrf v1 freeRtr-25.11.9/cfg/mpls-ldp12.tst000066400000000000000000000064411510423065500164760ustar00rootroot00000000000000description ldp over hub and spoke subnet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::3 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 mac-learn exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! addrouter r3 int eth1 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 4321::3 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r2 tping 100 10 4321::3 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 r3 tping 100 10 4321::1 vrf v1 sou lo0 r3 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r1 tping 0 10 1.1.1.3 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 r2 tping 0 10 1.1.1.3 vrf v1 r3 tping 0 10 1.1.1.1 vrf v1 r3 tping 0 10 1.1.1.2 vrf v1 freeRtr-25.11.9/cfg/mpls-ldp13.tst000066400000000000000000000042341510423065500164750ustar00rootroot00000000000000description ldp over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 lo1 mpls ldp6 lo1 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 3.3.3.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ipv6 route v1 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 lo1 mpls ldp6 lo1 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 3.3.3.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv6 route v1 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-ldp14.tst000066400000000000000000000072611510423065500165010ustar00rootroot00000000000000description p2p ldp tunnel addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 int tun1 tun sou lo0 tun dest 2.2.2.3 tun vrf v1 tun mod p2pldp vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::3 tun vrf v1 tun mod p2pldp vrf for v1 ipv6 addr 3333::1 ffff:ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 int tun1 tun sou lo0 tun dest 2.2.2.1 tun vrf v1 tun mod p2pldp vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::1 tun vrf v1 tun mod p2pldp vrf for v1 ipv6 addr 3333::3 ffff:ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 4321::3 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r2 tping 100 10 4321::3 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 r3 tping 100 10 4321::1 vrf v1 sou lo0 r3 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 3.3.3.3 vrf v1 sou tun1 r1 tping 100 10 3333::3 vrf v1 sou tun2 r3 tping 100 10 3.3.3.1 vrf v1 sou tun1 r3 tping 100 10 3333::1 vrf v1 sou tun2 r1 output show mpls forw r1 output show ipv4 ldp v1 sum r1 output show ipv6 ldp v1 sum r1 output show ipv4 ldp v1 dat r1 output show ipv6 ldp v1 dat r1 output show inter tun1 full r1 output show inter tun2 full output ../binTmp/mpls-ldp-p2p.html here is the lib:
show:0
here is the ipv4 neighbor:
show:1
here is the ipv6 neighbor:
show:2
here is the ipv4 database:
show:3
here is the ipv6 database:
show:4
here is the ipv4 interface:
show:5
here is the ipv6 interface:
show:6
! freeRtr-25.11.9/cfg/mpls-ldp15.tst000066400000000000000000000113471510423065500165020ustar00rootroot00000000000000description p2mp ldp tunnel addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 int tun1 tun sou lo0 tun dest 2.2.2.1 tun vrf v1 tun key 1234 tun mod p2mpldp vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::1 tun vrf v1 tun key 1234 tun mod p2mpldp vrf for v1 ipv6 addr 3333::1 ffff:ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.3.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 route v1 :: :: 1234:2::1 int tun1 tun sou lo0 tun dest 2.2.2.1 tun vrf v1 tun key 1234 tun mod p2mpldp vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::1 tun vrf v1 tun key 1234 tun mod p2mpldp vrf for v1 ipv6 addr 3333::3 ffff:ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 route v1 :: :: 1234:3::1 int tun1 tun sou lo0 tun dest 2.2.2.1 tun vrf v1 tun key 1234 tun mod p2mpldp vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::1 tun vrf v1 tun key 1234 tun mod p2mpldp vrf for v1 ipv6 addr 3333::4 ffff:ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 r1 tping 100 10 2.2.2.4 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 4321::3 vrf v1 sou lo0 r1 tping 100 10 4321::4 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 r2 tping 100 10 2.2.2.4 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r2 tping 100 10 4321::3 vrf v1 sou lo0 r2 tping 100 10 4321::4 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 r3 tping 100 10 2.2.2.4 vrf v1 sou lo0 r3 tping 100 10 4321::1 vrf v1 sou lo0 r3 tping 100 10 4321::2 vrf v1 sou lo0 r3 tping 100 10 4321::4 vrf v1 sou lo0 r4 tping 100 10 2.2.2.1 vrf v1 sou lo0 r4 tping 100 10 2.2.2.2 vrf v1 sou lo0 r4 tping 100 10 2.2.2.3 vrf v1 sou lo0 r4 tping 100 10 4321::1 vrf v1 sou lo0 r4 tping 100 10 4321::2 vrf v1 sou lo0 r4 tping 100 10 4321::3 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou tun1 r3 tping 100 10 4321::1 vrf v1 sou tun2 r4 tping 100 10 2.2.2.1 vrf v1 sou tun1 r4 tping 100 10 4321::1 vrf v1 sou tun2 r3 output show mpls forw r3 output show ipv4 ldp v1 sum r3 output show ipv6 ldp v1 sum r3 output show ipv4 ldp v1 mpdat r3 output show ipv6 ldp v1 mpdat r3 output show inter tun1 full r3 output show inter tun2 full output ../binTmp/mpls-ldp-p2mp.html here is the lib:
show:0
here is the ipv4 neighbor:
show:1
here is the ipv6 neighbor:
show:2
here is the ipv4 database:
show:3
here is the ipv6 database:
show:4
here is the ipv4 interface:
show:5
here is the ipv6 interface:
show:6
! freeRtr-25.11.9/cfg/mpls-ldp16.tst000066400000000000000000000106131510423065500164760ustar00rootroot00000000000000description p2mp ldp tunnel head+mid addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 int tun1 tun sou lo0 tun dest 2.2.2.1 tun vrf v1 tun key 1234 tun mod p2mpldp vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::1 tun vrf v1 tun key 1234 tun mod p2mpldp vrf for v1 ipv6 addr 3333::1 ffff:ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.3.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 int tun1 tun sou lo0 tun dest 2.2.2.1 tun vrf v1 tun key 1234 tun mod p2mpldp vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::1 tun vrf v1 tun key 1234 tun mod p2mpldp vrf for v1 ipv6 addr 3333::2 ffff:ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 route v1 :: :: 1234:2::1 int tun1 tun sou lo0 tun dest 2.2.2.1 tun vrf v1 tun key 1234 tun mod p2mpldp vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::1 tun vrf v1 tun key 1234 tun mod p2mpldp vrf for v1 ipv6 addr 3333::3 ffff:ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 route v1 :: :: 1234:3::1 int tun1 tun sou lo0 tun dest 2.2.2.1 tun vrf v1 tun key 1234 tun mod p2mpldp vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::1 tun vrf v1 tun key 1234 tun mod p2mpldp vrf for v1 ipv6 addr 3333::4 ffff:ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 r1 tping 100 10 2.2.2.4 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 4321::3 vrf v1 sou lo0 r1 tping 100 10 4321::4 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 r2 tping 100 10 2.2.2.4 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r2 tping 100 10 4321::3 vrf v1 sou lo0 r2 tping 100 10 4321::4 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 r3 tping 100 10 2.2.2.4 vrf v1 sou lo0 r3 tping 100 10 4321::1 vrf v1 sou lo0 r3 tping 100 10 4321::2 vrf v1 sou lo0 r3 tping 100 10 4321::4 vrf v1 sou lo0 r4 tping 100 10 2.2.2.1 vrf v1 sou lo0 r4 tping 100 10 2.2.2.2 vrf v1 sou lo0 r4 tping 100 10 2.2.2.3 vrf v1 sou lo0 r4 tping 100 10 4321::1 vrf v1 sou lo0 r4 tping 100 10 4321::2 vrf v1 sou lo0 r4 tping 100 10 4321::3 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou tun1 r2 tping 100 10 4321::1 vrf v1 sou tun2 r3 tping 100 10 2.2.2.1 vrf v1 sou tun1 r3 tping 100 10 4321::1 vrf v1 sou tun2 r4 tping 100 10 2.2.2.1 vrf v1 sou tun1 r4 tping 100 10 4321::1 vrf v1 sou tun2 freeRtr-25.11.9/cfg/mpls-ldp17.tst000066400000000000000000000120441510423065500164770ustar00rootroot00000000000000description mp2mp ldp tunnel addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 int tun1 tun sou lo0 tun dest 2.2.2.2 tun vrf v1 tun key 1234 tun mod mp2mpldp vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::2 tun vrf v1 tun key 1234 tun mod mp2mpldp vrf for v1 ipv6 addr 3333::1 ffff:ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.3.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 route v1 :: :: 1234:2::1 int tun1 tun sou lo0 tun dest 2.2.2.2 tun vrf v1 tun key 1234 tun mod mp2mpldp vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::2 tun vrf v1 tun key 1234 tun mod mp2mpldp vrf for v1 ipv6 addr 3333::3 ffff:ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 route v1 :: :: 1234:3::1 int tun1 tun sou lo0 tun dest 2.2.2.2 tun vrf v1 tun key 1234 tun mod mp2mpldp vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::2 tun vrf v1 tun key 1234 tun mod mp2mpldp vrf for v1 ipv6 addr 3333::4 ffff:ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 r1 tping 100 10 2.2.2.4 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 4321::3 vrf v1 sou lo0 r1 tping 100 10 4321::4 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 r2 tping 100 10 2.2.2.4 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r2 tping 100 10 4321::3 vrf v1 sou lo0 r2 tping 100 10 4321::4 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 r3 tping 100 10 2.2.2.4 vrf v1 sou lo0 r3 tping 100 10 4321::1 vrf v1 sou lo0 r3 tping 100 10 4321::2 vrf v1 sou lo0 r3 tping 100 10 4321::4 vrf v1 sou lo0 r4 tping 100 10 2.2.2.1 vrf v1 sou lo0 r4 tping 100 10 2.2.2.2 vrf v1 sou lo0 r4 tping 100 10 2.2.2.3 vrf v1 sou lo0 r4 tping 100 10 4321::1 vrf v1 sou lo0 r4 tping 100 10 4321::2 vrf v1 sou lo0 r4 tping 100 10 4321::3 vrf v1 sou lo0 r1 tping 100 10 3.3.3.3 vrf v1 sou lo0 r1 tping 100 10 3.3.3.4 vrf v1 sou lo0 r1 tping 100 10 3333::3 vrf v1 sou lo0 r1 tping 100 10 3333::4 vrf v1 sou lo0 r3 tping 100 10 3.3.3.1 vrf v1 sou lo0 r3 tping 100 10 3.3.3.4 vrf v1 sou lo0 r3 tping 100 10 3333::1 vrf v1 sou lo0 r3 tping 100 10 3333::4 vrf v1 sou lo0 r4 tping 100 10 3.3.3.1 vrf v1 sou lo0 r4 tping 100 10 3.3.3.3 vrf v1 sou lo0 r4 tping 100 10 3333::1 vrf v1 sou lo0 r4 tping 100 10 3333::3 vrf v1 sou lo0 r3 output show mpls forw r3 output show ipv4 ldp v1 sum r3 output show ipv6 ldp v1 sum r3 output show ipv4 ldp v1 mpdat r3 output show ipv6 ldp v1 mpdat r3 output show inter tun1 full r3 output show inter tun2 full output ../binTmp/mpls-ldp-mp2mp.html here is the lib:
show:0
here is the ipv4 neighbor:
show:1
here is the ipv6 neighbor:
show:2
here is the ipv4 database:
show:3
here is the ipv6 database:
show:4
here is the ipv4 interface:
show:5
here is the ipv6 interface:
show:6
! freeRtr-25.11.9/cfg/mpls-ldp18.tst000066400000000000000000000145251510423065500165060ustar00rootroot00000000000000description mp2mp ldp tunnel mid+head addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 access-list test4 permit all 2.2.2.1 255.255.255.255 all any all deny all any all any all exit access-list test6 permit all 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all deny all any all any all exit int tun1 tun sou lo0 tun dest 2.2.2.2 tun vrf v1 tun key 1234 tun mod mp2mpldp vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv4 access-group-out test4 no ipv4 unreachables exit int tun2 tun sou lo0 tun dest 4321::2 tun vrf v1 tun key 1234 tun mod mp2mpldp vrf for v1 ipv6 addr 3333::1 ffff:ffff:: ipv6 access-group-out test6 no ipv6 unreachables exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.3.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 access-list test4 permit all 2.2.2.2 255.255.255.255 all any all deny all any all any all exit access-list test6 permit all 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all deny all any all any all exit int tun1 tun sou lo0 tun dest 2.2.2.2 tun vrf v1 tun key 1234 tun mod mp2mpldp vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv4 access-group-out test4 no ipv4 unreachables exit int tun2 tun sou lo0 tun dest 4321::2 tun vrf v1 tun key 1234 tun mod mp2mpldp vrf for v1 ipv6 addr 3333::2 ffff:ffff:: ipv6 access-group-out test6 no ipv6 unreachables exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 route v1 :: :: 1234:2::1 access-list test4 permit all 2.2.2.3 255.255.255.255 all any all deny all any all any all exit access-list test6 permit all 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all deny all any all any all exit int tun1 tun sou lo0 tun dest 2.2.2.2 tun vrf v1 tun key 1234 tun mod mp2mpldp vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 ipv4 access-group-out test4 no ipv4 unreachables exit int tun2 tun sou lo0 tun dest 4321::2 tun vrf v1 tun key 1234 tun mod mp2mpldp vrf for v1 ipv6 addr 3333::3 ffff:ffff:: ipv6 access-group-out test6 no ipv6 unreachables exit ! addrouter r4 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 route v1 :: :: 1234:3::1 access-list test4 permit all 2.2.2.4 255.255.255.255 all any all deny all any all any all exit access-list test6 permit all 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all deny all any all any all exit int tun1 tun sou lo0 tun dest 2.2.2.2 tun vrf v1 tun key 1234 tun mod mp2mpldp vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 ipv4 access-group-out test4 no ipv4 unreachables exit int tun2 tun sou lo0 tun dest 4321::2 tun vrf v1 tun key 1234 tun mod mp2mpldp vrf for v1 ipv6 addr 3333::4 ffff:ffff:: ipv6 access-group-out test6 no ipv6 unreachables exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 r1 tping 100 10 2.2.2.4 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 4321::3 vrf v1 sou lo0 r1 tping 100 10 4321::4 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 r2 tping 100 10 2.2.2.4 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r2 tping 100 10 4321::3 vrf v1 sou lo0 r2 tping 100 10 4321::4 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 r3 tping 100 10 2.2.2.4 vrf v1 sou lo0 r3 tping 100 10 4321::1 vrf v1 sou lo0 r3 tping 100 10 4321::2 vrf v1 sou lo0 r3 tping 100 10 4321::4 vrf v1 sou lo0 r4 tping 100 10 2.2.2.1 vrf v1 sou lo0 r4 tping 100 10 2.2.2.2 vrf v1 sou lo0 r4 tping 100 10 2.2.2.3 vrf v1 sou lo0 r4 tping 100 10 4321::1 vrf v1 sou lo0 r4 tping 100 10 4321::2 vrf v1 sou lo0 r4 tping 100 10 4321::3 vrf v1 sou lo0 r1 tping 100 10 3.3.3.2 vrf v1 sou lo0 r1 tping 100 10 3.3.3.3 vrf v1 sou lo0 r1 tping 100 10 3.3.3.4 vrf v1 sou lo0 r1 tping 100 10 3333::2 vrf v1 sou lo0 r1 tping 100 10 3333::3 vrf v1 sou lo0 r1 tping 100 10 3333::4 vrf v1 sou lo0 r2 tping 100 10 3.3.3.1 vrf v1 sou lo0 r2 tping 100 10 3.3.3.3 vrf v1 sou lo0 r2 tping 100 10 3.3.3.4 vrf v1 sou lo0 r2 tping 100 10 3333::1 vrf v1 sou lo0 r2 tping 100 10 3333::3 vrf v1 sou lo0 r2 tping 100 10 3333::4 vrf v1 sou lo0 r3 tping 100 10 3.3.3.1 vrf v1 sou lo0 r3 tping 100 10 3.3.3.2 vrf v1 sou lo0 r3 tping 100 10 3.3.3.4 vrf v1 sou lo0 r3 tping 100 10 3333::1 vrf v1 sou lo0 r3 tping 100 10 3333::2 vrf v1 sou lo0 r3 tping 100 10 3333::4 vrf v1 sou lo0 r4 tping 100 10 3.3.3.1 vrf v1 sou lo0 r4 tping 100 10 3.3.3.2 vrf v1 sou lo0 r4 tping 100 10 3.3.3.3 vrf v1 sou lo0 r4 tping 100 10 3333::1 vrf v1 sou lo0 r4 tping 100 10 3333::2 vrf v1 sou lo0 r4 tping 100 10 3333::3 vrf v1 sou lo0 freeRtr-25.11.9/cfg/mpls-ldp19.tst000066400000000000000000000033431510423065500165030ustar00rootroot00000000000000description targeted ldp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldptarget 1.1.1.2 mpls ldptarget 1234::2 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldptarget 1.1.1.1 mpls ldptarget 1234::1 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-ldp20.tst000066400000000000000000000034431510423065500164740ustar00rootroot00000000000000description ldp password addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 mpls ldppass 1.1.1.2 tester mpls ldppass 1234::2 tester exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 mpls ldppass 1.1.1.1 tester mpls ldppass 1234::1 tester exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-ldp21.tst000066400000000000000000000035401510423065500164730ustar00rootroot00000000000000description targeted ldp password addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldptarget 1.1.1.2 mpls ldptarget 1234::2 mpls ldppass 1.1.1.2 tester mpls ldppass 1234::2 tester exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldptarget 1.1.1.1 mpls ldptarget 1234::1 mpls ldppass 1.1.1.1 tester mpls ldppass 1234::1 tester exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-ldp22.tst000066400000000000000000000050001510423065500164650ustar00rootroot00000000000000description ingress label filtering with ldp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit prefix-list p4 sequence 10 deny 2.2.2.3/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::3/128 sequence 20 permit ::/0 le 128 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 mpls label4in p4 mpls label6in p6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.2 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 0 10 2.2.2.3 vrf v1 sou lo0 r1 tping 0 10 4321::3 vrf v1 sou lo0 r1 tping 100 10 2.2.2.4 vrf v1 sou lo0 r1 tping 100 10 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/mpls-ldp23.tst000066400000000000000000000050011510423065500164670ustar00rootroot00000000000000description egress label filtering with ldp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.2 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit prefix-list p4 sequence 10 deny 2.2.2.3/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::3/128 sequence 20 permit ::/0 le 128 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 mpls label4out p4 mpls label6out p6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 0 10 2.2.2.3 vrf v1 sou lo0 r1 tping 0 10 4321::3 vrf v1 sou lo0 r1 tping 100 10 2.2.2.4 vrf v1 sou lo0 r1 tping 100 10 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/mpls-ldp24.tst000066400000000000000000000047721510423065500165060ustar00rootroot00000000000000description vrf label filtering with ldp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.2 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! prefix-list p4 sequence 10 deny 2.2.2.3/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::3/128 sequence 20 permit ::/0 le 128 exit vrf def v1 rd 1:1 label-mode per-prefix label4filter p4 label6filter p6 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 0 10 2.2.2.3 vrf v1 sou lo0 r1 tping 0 10 4321::3 vrf v1 sou lo0 r1 tping 100 10 2.2.2.4 vrf v1 sou lo0 r1 tping 100 10 4321::4 vrf v1 sou lo0 freeRtr-25.11.9/cfg/mpls-ldp25.tst000066400000000000000000000061341510423065500165010ustar00rootroot00000000000000description mpls expbundle addrouter r1 int ser1 ser - $1a$ $1b$ int ser2 ser - $2a$ $2b$ int ser3 ser - $3a$ $3b$ int ser4 ser - $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc hdlc vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int ser2 enc hdlc vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int ser3 enc hdlc vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int ser4 enc hdlc vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2b$ $2a$ int ser3 ser - $3b$ $3a$ int ser4 ser - $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc hdlc vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int ser2 enc hdlc vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int ser3 enc hdlc vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int ser4 enc hdlc vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int tun1 tunnel vrf v1 tunnel source ser1 tunnel destination 1.1.1.1 tunnel domain-name 1:ser1 2:ser2 4:ser3 5:ser4 tunnel mode expbun vrf forwarding v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 no shutdown no log-link-change exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.5.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 tos 32 r1 tping 100 10 4321::2 vrf v1 sou lo0 tos 32 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 tos 32 r2 tping 100 10 4321::1 vrf v1 sou lo0 tos 32 r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 tos 64 r1 tping 100 10 4321::2 vrf v1 sou lo0 tos 64 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 tos 64 r2 tping 100 10 4321::1 vrf v1 sou lo0 tos 64 r1 tping 0 10 2.2.2.2 vrf v1 sou lo0 tos 96 r1 tping 0 10 4321::2 vrf v1 sou lo0 tos 96 r2 tping 0 10 2.2.2.1 vrf v1 sou lo0 tos 96 r2 tping 0 10 4321::1 vrf v1 sou lo0 tos 96 r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 tos 128 r1 tping 100 10 4321::2 vrf v1 sou lo0 tos 128 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 tos 128 r2 tping 100 10 4321::1 vrf v1 sou lo0 tos 128 r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 tos 160 r1 tping 100 10 4321::2 vrf v1 sou lo0 tos 160 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 tos 160 r2 tping 100 10 4321::1 vrf v1 sou lo0 tos 160 freeRtr-25.11.9/cfg/mpls-ldp26.tst000066400000000000000000000042471510423065500165050ustar00rootroot00000000000000description mpls redirection addrouter r1 int ser1 ser - $1a$ $1b$ int ser2 ser - $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc hdlc vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit int ser2 enc hdlc vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables no mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc hdlc vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit int ser2 enc hdlc vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls redir ser1 mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/mpls-ldp27.tst000066400000000000000000000077601510423065500165110ustar00rootroot00000000000000description ldp php addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 mpls label4pop mpls label6pop exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 mpls label4pop mpls label6pop exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 mpls label4pop mpls label6pop exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.2.3 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 mpls label4pop mpls label6pop exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 r2 tping 0 10 1.1.2.3 vrf v1 r3 tping 0 10 1.1.2.2 vrf v1 r1 tping 0 10 2.2.2.2 vrf v1 sou lo0 r1 tping 0 10 4321::2 vrf v1 sou lo0 r1 tping 0 10 2.2.2.3 vrf v1 sou lo0 r1 tping 0 10 4321::3 vrf v1 sou lo0 r2 tping 0 10 2.2.2.1 vrf v1 sou lo0 r2 tping 0 10 4321::1 vrf v1 sou lo0 r2 tping 0 10 2.2.2.3 vrf v1 sou lo0 r2 tping 0 10 4321::3 vrf v1 sou lo0 r3 tping 0 10 2.2.2.1 vrf v1 sou lo0 r3 tping 0 10 4321::1 vrf v1 sou lo0 r3 tping 0 10 2.2.2.2 vrf v1 sou lo0 r3 tping 0 10 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/mpls-ldp28.tst000066400000000000000000000034061510423065500165030ustar00rootroot00000000000000description ldp over point2point ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.254 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.3 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::3 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.254 ipv6 addr 1234::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.3 vrf v1 r2 tping 0 10 1.1.1.2 vrf v1 freeRtr-25.11.9/cfg/mpls-ldp29.tst000066400000000000000000000034471510423065500165110ustar00rootroot00000000000000description static labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls static-label 2.2.2.2/32 1.1.1.2 0 mpls static-label 4321::2/128 1234::2 2 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls static-label 2.2.2.1/32 1.1.1.1 0 mpls static-label 4321::1/128 1234::1 2 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-ldp30.tst000066400000000000000000000042671510423065500165020ustar00rootroot00000000000000description static labels with ldp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 mpls static-label 2.2.2.2/32 1.1.1.2 10 mpls static-label 4321::2/128 1234::2 12 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 mpls static-label 2.2.2.1/32 1.1.1.1 0 mpls static-label 4321::1/128 1234::1 2 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 0 10 2.2.2.2 vrf v1 sou lo0 r1 tping 0 10 4321::2 vrf v1 sou lo0 r2 tping 0 10 2.2.2.1 vrf v1 sou lo0 r2 tping 0 10 4321::1 vrf v1 sou lo0 r1 send conf t r1 send int eth1 r1 send mpls static-label 2.2.2.2/32 1.1.1.2 0 r1 send mpls static-label 4321::2/128 1234::2 2 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-ldp31.tst000066400000000000000000000042451510423065500164770ustar00rootroot00000000000000description labels from peer addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls use4peer 1.1.2.2 1.1.1.2 mpls use6peer 1235::2 1234::2 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls use4peer 1.1.2.1 1.1.1.1 mpls use6peer 1235::1 1234::1 exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1235::2 vrf v1 r2 tping 100 10 1.1.2.1 vrf v1 r2 tping 100 10 1235::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-ldp32.tst000066400000000000000000000104671510423065500165030ustar00rootroot00000000000000description ldp te addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 tunnel mode teldp vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::2 tunnel mode teldp vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls ldp4 mpls ldp6 mpls label4peer test4 mpls label6peer test6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.2.3 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls ldp4 mpls ldp6 mpls label4peer test4 mpls label6peer test6 exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 tunnel mode teldp vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 tunnel mode teldp vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 r1 tping 100 10 4321::3 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 r2 tping 100 10 4321::3 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 r3 tping 100 10 4321::1 vrf v1 sou lo0 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 r3 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 r2 tping 0 10 1.1.2.3 vrf v1 r3 tping 0 10 1.1.2.2 vrf v1 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-ldp33.tst000066400000000000000000000033311510423065500164740ustar00rootroot00000000000000description ldp with entropy label addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 mpls flow 1234 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 mpls flow 1234 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-ldp34.tst000066400000000000000000000033351510423065500165010ustar00rootroot00000000000000description ldp with alternate marking addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 mpls mark 1234 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 mpls mark 1234 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-nsh01.tst000066400000000000000000000027231510423065500165040ustar00rootroot00000000000000description nsh over ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! int eth1 nsh ena nsh xconn 2 255 exit int eth2 nsh ena exit nsh 2 255 int eth2 0000.1111.2222 nsh 3 254 int eth1 0000.1111.2222 rawpack keephdr ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! int eth1 nsh ena exit int eth2 nsh ena nsh xconn 3 255 exit nsh 3 255 int eth1 0000.1111.2222 nsh 2 254 int eth2 0000.1111.2222 rawpack keephdr ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r4 tping 100 10 1.1.1.1 vrf v1 r4 tping 100 10 1111::1 vrf v1 r2 output show inter eth1 full r2 output show inter eth2 full r2 output show nsh for r2 output show nsh for 2 255 r2 output show nsh for 3 254 output ../binTmp/mpls-nsh.html here is the interface:
show:0
here is the interface:
show:1
here is the fib:
show:2
here is the detailed fib:
show:3
here is the detailed fib:
show:4
! freeRtr-25.11.9/cfg/mpls-nsh02.tst000066400000000000000000000017411510423065500165040ustar00rootroot00000000000000description nsh over ethernet vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! int eth1 nsh ena nsh xconn 2 255 exit int eth2.11 nsh ena exit nsh 2 255 int eth2.11 0000.1111.2222 nsh 3 254 int eth1 0000.1111.2222 rawpack keephdr ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! int eth1.11 nsh ena exit int eth2 nsh ena nsh xconn 3 255 exit nsh 3 255 int eth1.11 0000.1111.2222 nsh 2 254 int eth2 0000.1111.2222 rawpack keephdr ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r4 tping 100 10 1.1.1.1 vrf v1 r4 tping 100 10 1111::1 vrf v1 freeRtr-25.11.9/cfg/mpls-nsh03.tst000066400000000000000000000020631510423065500165030ustar00rootroot00000000000000description nsh over ethernet bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! int eth1 nsh ena nsh xconn 2 255 exit bridge 1 exit int eth2.11 bridge-gr 1 exit int bvi1 nsh ena exit nsh 2 255 int bvi1 0000.1111.2222 nsh 3 254 int eth1 0000.1111.2222 rawpack keephdr ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! bridge 1 exit int eth1.11 bridge-gr 1 exit int bvi1 nsh ena exit int eth2 nsh ena nsh xconn 3 255 exit nsh 3 255 int bvi1 0000.1111.2222 nsh 2 254 int eth2 0000.1111.2222 rawpack keephdr ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r4 tping 100 10 1.1.1.1 vrf v1 r4 tping 100 10 1111::1 vrf v1 freeRtr-25.11.9/cfg/mpls-nsh04.tst000066400000000000000000000017401510423065500165050ustar00rootroot00000000000000description nsh over hdlc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int ser1 ser 0000.0000.2222 $2a$ $2b$ ! int eth1 nsh ena nsh xconn 2 255 exit int ser1 enc hdlc nsh ena exit nsh 2 255 int ser1 0000.1111.2222 nsh 3 254 int eth1 0000.1111.2222 rawpack keephdr ! addrouter r3 int ser1 ser 0000.0000.3333 $2b$ $2a$ int eth1 eth 0000.0000.3333 $3a$ $3b$ ! int ser1 enc hdlc nsh ena exit int eth1 nsh ena nsh xconn 3 255 exit nsh 3 255 int ser1 0000.1111.2222 nsh 2 254 int eth1 0000.1111.2222 rawpack keephdr ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r4 tping 100 10 1.1.1.1 vrf v1 r4 tping 100 10 1111::1 vrf v1 freeRtr-25.11.9/cfg/mpls-nsh05.tst000066400000000000000000000017351510423065500165120ustar00rootroot00000000000000description nsh over ppp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int ser1 ser 0000.0000.2222 $2a$ $2b$ ! int eth1 nsh ena nsh xconn 2 255 exit int ser1 enc ppp nsh ena exit nsh 2 255 int ser1 0000.1111.2222 nsh 3 254 int eth1 0000.1111.2222 rawpack keephdr ! addrouter r3 int ser1 ser 0000.0000.3333 $2b$ $2a$ int eth1 eth 0000.0000.3333 $3a$ $3b$ ! int ser1 enc ppp nsh ena exit int eth1 nsh ena nsh xconn 3 255 exit nsh 3 255 int ser1 0000.1111.2222 nsh 2 254 int eth1 0000.1111.2222 rawpack keephdr ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r4 tping 100 10 1.1.1.1 vrf v1 r4 tping 100 10 1111::1 vrf v1 freeRtr-25.11.9/cfg/mpls-nsh06.tst000066400000000000000000000021061510423065500165040ustar00rootroot00000000000000description nsh over framerelay addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int ser1 ser 0000.0000.2222 $2a$ $2b$ ! int eth1 nsh ena nsh xconn 2 255 exit int ser1 enc framerelay framerelay mode dce framerelay dlci 123 nsh ena exit nsh 2 255 int ser1 0000.1111.2222 nsh 3 254 int eth1 0000.1111.2222 rawpack keephdr ! addrouter r3 int ser1 ser 0000.0000.3333 $2b$ $2a$ int eth1 eth 0000.0000.3333 $3a$ $3b$ ! int ser1 enc framerelay framerelay mode dte framerelay dlci 123 nsh ena exit int eth1 nsh ena nsh xconn 3 255 exit nsh 3 255 int ser1 0000.1111.2222 nsh 2 254 int eth1 0000.1111.2222 rawpack keephdr ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r4 tping 100 10 1.1.1.1 vrf v1 r4 tping 100 10 1111::1 vrf v1 freeRtr-25.11.9/cfg/mpls-nsh07.tst000066400000000000000000000020361510423065500165070ustar00rootroot00000000000000description nsh over atmdxi addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int ser1 ser 0000.0000.2222 $2a$ $2b$ ! int eth1 nsh ena nsh xconn 2 255 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 nsh ena exit nsh 2 255 int ser1 0000.1111.2222 nsh 3 254 int eth1 0000.1111.2222 rawpack keephdr ! addrouter r3 int ser1 ser 0000.0000.3333 $2b$ $2a$ int eth1 eth 0000.0000.3333 $3a$ $3b$ ! int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 nsh ena exit int eth1 nsh ena nsh xconn 3 255 exit nsh 3 255 int ser1 0000.1111.2222 nsh 2 254 int eth1 0000.1111.2222 rawpack keephdr ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r4 tping 100 10 1.1.1.1 vrf v1 r4 tping 100 10 1111::1 vrf v1 freeRtr-25.11.9/cfg/mpls-nsh08.tst000066400000000000000000000024071510423065500165120ustar00rootroot00000000000000description nsh over gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 nsh ena nsh xconn 2 255 exit int eth2 vrf for v1 ipv6 addr 1111::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source eth2 tunnel destination 1111::2 nsh ena exit nsh 2 255 int tun1 0000.1111.2222 nsh 3 254 int eth1 0000.1111.2222 rawpack keephdr ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv6 addr 1111::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source eth1 tunnel destination 1111::1 nsh ena exit int eth2 nsh ena nsh xconn 3 255 exit nsh 3 255 int tun1 0000.1111.2222 nsh 2 254 int eth2 0000.1111.2222 rawpack keephdr ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r4 tping 100 10 1.1.1.1 vrf v1 r4 tping 100 10 1111::1 vrf v1 freeRtr-25.11.9/cfg/mpls-nsh09.tst000066400000000000000000000024121510423065500165070ustar00rootroot00000000000000description nsh over ipip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 nsh ena nsh xconn 2 255 exit int eth2 vrf for v1 ipv6 addr 1111::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode ipip tunnel source eth2 tunnel destination 1111::2 nsh ena exit nsh 2 255 int tun1 0000.1111.2222 nsh 3 254 int eth1 0000.1111.2222 rawpack keephdr ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv6 addr 1111::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode ipip tunnel source eth1 tunnel destination 1111::1 nsh ena exit int eth2 nsh ena nsh xconn 3 255 exit nsh 3 255 int tun1 0000.1111.2222 nsh 2 254 int eth2 0000.1111.2222 rawpack keephdr ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r4 tping 100 10 1.1.1.1 vrf v1 r4 tping 100 10 1111::1 vrf v1 freeRtr-25.11.9/cfg/mpls-nsh10.tst000066400000000000000000000030751510423065500165050ustar00rootroot00000000000000description nsh over ipsec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 nsh ena nsh xconn 2 255 exit int eth2 vrf for v1 ipv6 addr 1111::1 ffff:: exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source eth2 tunnel destination 1111::2 nsh ena exit nsh 2 255 int tun1 0000.1111.2222 nsh 3 254 int eth1 0000.1111.2222 rawpack keephdr ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv6 addr 1111::2 ffff:: exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel source eth1 tunnel destination 1111::1 nsh ena exit int eth2 nsh ena nsh xconn 3 255 exit nsh 3 255 int tun1 0000.1111.2222 nsh 2 254 int eth2 0000.1111.2222 rawpack keephdr ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r4 tping 100 10 1.1.1.1 vrf v1 r4 tping 100 10 1111::1 vrf v1 freeRtr-25.11.9/cfg/mpls-nsh11.tst000066400000000000000000000022321510423065500165000ustar00rootroot00000000000000description nsh chain addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! int eth1 nsh ena nsh xconn 2 255 exit int eth2 nsh ena exit nsh 2 255 int eth2 0000.1111.2222 nsh 3 253 int eth1 0000.1111.2222 rawpack keephdr ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! int eth1 nsh ena exit int eth2 nsh ena exit nsh 3 254 int eth1 0000.1111.2222 nsh 2 254 int eth2 0000.1111.2222 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! int eth1 nsh ena exit int eth2 nsh ena nsh xconn 3 255 exit nsh 3 255 int eth1 0000.1111.2222 nsh 2 253 int eth2 0000.1111.2222 rawpack keephdr ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r5 tping 100 10 1.1.1.1 vrf v1 r5 tping 100 10 1111::1 vrf v1 freeRtr-25.11.9/cfg/mpls-nsh12.tst000066400000000000000000000023271510423065500165060ustar00rootroot00000000000000description nsh loop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! int eth1 nsh ena nsh xconn 2 255 exit int eth2 nsh ena exit nsh 2 255 int eth2 0000.1111.2222 nsh 2 253 int eth2 0000.1111.2222 nsh 2 251 int eth2 0000.1111.2222 nsh 3 254 int eth2 0000.1111.2222 nsh 3 252 int eth2 0000.1111.2222 nsh 3 250 int eth1 0000.1111.2222 rawpack keephdr ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! int eth1 nsh ena exit int eth2 nsh ena nsh xconn 3 255 exit nsh 3 255 int eth1 0000.1111.2222 nsh 3 253 int eth1 0000.1111.2222 nsh 3 251 int eth1 0000.1111.2222 nsh 2 254 int eth1 0000.1111.2222 nsh 2 252 int eth1 0000.1111.2222 nsh 2 250 int eth2 0000.1111.2222 rawpack keephdr ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r4 tping 100 10 1.1.1.1 vrf v1 r4 tping 100 10 1111::1 vrf v1 freeRtr-25.11.9/cfg/mpls-nsh13.tst000066400000000000000000000022651510423065500165100ustar00rootroot00000000000000description nsh switch addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! int eth1 nsh ena nsh xconn 2 255 exit int eth2 nsh ena exit nsh 2 255 int eth2 0000.1111.2222 nsh 5 252 int eth1 0000.1111.2222 rawpack keephdr ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! int eth1 nsh ena exit int eth2 nsh ena exit nsh 3 254 int eth1 0000.1111.2222 switch 5 252 nsh 2 254 int eth2 0000.1111.2222 switch 4 252 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! int eth1 nsh ena exit int eth2 nsh ena nsh xconn 3 255 exit nsh 3 255 int eth1 0000.1111.2222 nsh 4 252 int eth2 0000.1111.2222 rawpack keephdr ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r5 tping 100 10 1.1.1.1 vrf v1 r5 tping 100 10 1111::1 vrf v1 freeRtr-25.11.9/cfg/mpls-nsh14.tst000066400000000000000000000025771510423065500165170ustar00rootroot00000000000000description nsh ip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 permit all 1.1.1.1 255.255.255.255 all any all exit access-list test6 sequence 10 permit all 1111::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int lo1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:ffff:: exit int eth1 nsh ena exit ipv4 pbr v1 sequence 10 test4 v1 nsh 2 255 ipv6 pbr v1 sequence 10 test6 v1 nsh 2 255 nsh 2 255 int eth1 0000.1111.2222 nsh 3 253 route v1 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! int eth1 nsh ena exit int eth2 nsh ena exit nsh 3 254 int eth1 0000.1111.2222 nsh 2 254 int eth2 0000.1111.2222 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 permit all 1.1.1.2 255.255.255.255 all any all exit access-list test6 sequence 10 permit all 1111::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int lo1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:ffff:: exit int eth1 nsh ena exit ipv4 pbr v1 sequence 10 test4 v1 nsh 3 255 ipv6 pbr v1 sequence 10 test6 v1 nsh 3 255 nsh 3 255 int eth1 0000.1111.2222 nsh 2 253 route v1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1111::1 vrf v1 freeRtr-25.11.9/cfg/mpls-nsh15.tst000066400000000000000000000025611510423065500165110ustar00rootroot00000000000000description nsh mix of ip and ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 sequence 10 permit all 1.1.1.1 255.255.255.255 all any all exit access-list test6 sequence 10 permit all 1111::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all any all exit int lo1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:ffff:: exit int eth1 nsh ena exit ipv4 pbr v1 sequence 10 test4 v1 nsh 2 255 ipv6 pbr v1 sequence 10 test6 v1 nsh 2 255 nsh 2 255 int eth1 0000.1111.2222 nsh 3 253 route v1 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! int eth1 nsh ena exit int eth2 nsh ena exit nsh 3 254 int eth1 0000.1111.2222 nsh 2 254 int eth2 0000.1111.2222 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! int eth1 nsh ena exit int eth2 nsh ena nsh xconn 3 255 exit nsh 3 255 int eth1 0000.1111.2222 nsh 2 253 int eth2 0000.1111.2222 rawpack keephdr ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: ipv4 host-static 1.1.1.1 0000.1111.2222 ipv6 host-static 1111::1 0000.1111.2222 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r4 tping 100 10 1.1.1.1 vrf v1 r4 tping 100 10 1111::1 vrf v1 freeRtr-25.11.9/cfg/mpls-nsh16.tst000066400000000000000000000024761510423065500165170ustar00rootroot00000000000000description nsh over ipv4 tunnel addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int ser1 ser 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 nsh ena nsh xconn 2 255 exit int ser1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 2222::1 ffff:ffff:: ipv4 nsh ena ipv6 nsh ena exit nsh 2 255 tunnel v1 ser1 2.2.2.2 nsh 3 254 int eth1 0000.1111.2222 rawpack keephdr ! addrouter r3 int ser1 ser 0000.0000.3333 $2b$ $2a$ int eth1 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 2222::2 ffff:ffff:: ipv4 nsh ena ipv6 nsh ena exit int eth1 nsh ena nsh xconn 3 255 exit nsh 3 255 tunnel v1 ser1 2.2.2.1 nsh 2 254 int eth1 0000.1111.2222 rawpack keephdr ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit ! r2 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2222::2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 r3 tping 100 10 2222::1 vrf v1 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r4 tping 100 10 1.1.1.1 vrf v1 r4 tping 100 10 1111::1 vrf v1 freeRtr-25.11.9/cfg/mpls-nsh17.tst000066400000000000000000000024761510423065500165200ustar00rootroot00000000000000description nsh over ipv6 tunnel addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1111::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int ser1 ser 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 nsh ena nsh xconn 2 255 exit int ser1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 2222::1 ffff:ffff:: ipv4 nsh ena ipv6 nsh ena exit nsh 2 255 tunnel v1 ser1 2222::2 nsh 3 254 int eth1 0000.1111.2222 rawpack keephdr ! addrouter r3 int ser1 ser 0000.0000.3333 $2b$ $2a$ int eth1 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 2222::2 ffff:ffff:: ipv4 nsh ena ipv6 nsh ena exit int eth1 nsh ena nsh xconn 3 255 exit nsh 3 255 tunnel v1 ser1 2222::1 nsh 2 254 int eth1 0000.1111.2222 rawpack keephdr ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1111::2 ffff:: exit ! r2 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2222::2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 r3 tping 100 10 2222::1 vrf v1 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1111::2 vrf v1 r4 tping 100 10 1.1.1.1 vrf v1 r4 tping 100 10 1111::1 vrf v1 freeRtr-25.11.9/cfg/mpls-polka01.tst000066400000000000000000000061271510423065500170240ustar00rootroot00000000000000description polka over ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo0 r1 tping 100 20 4321::2 vrf v1 sou lo0 r1 tping 100 20 2.2.2.3 vrf v1 sou lo0 r1 tping 100 20 4321::3 vrf v1 sou lo0 r2 tping 100 20 2.2.2.1 vrf v1 sou lo0 r2 tping 100 20 4321::1 vrf v1 sou lo0 r2 tping 100 20 2.2.2.3 vrf v1 sou lo0 r2 tping 100 20 4321::3 vrf v1 sou lo0 r3 tping 100 20 2.2.2.2 vrf v1 sou lo0 r3 tping 100 20 4321::2 vrf v1 sou lo0 r3 tping 100 20 2.2.2.3 vrf v1 sou lo0 r3 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r3 tping 100 20 3333::1 vrf v1 sou tun2 freeRtr-25.11.9/cfg/mpls-polka02.tst000066400000000000000000000061501510423065500170210ustar00rootroot00000000000000description polka over ethernet vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo0 r1 tping 100 20 4321::2 vrf v1 sou lo0 r1 tping 100 20 2.2.2.3 vrf v1 sou lo0 r1 tping 100 20 4321::3 vrf v1 sou lo0 r2 tping 100 20 2.2.2.1 vrf v1 sou lo0 r2 tping 100 20 4321::1 vrf v1 sou lo0 r2 tping 100 20 2.2.2.3 vrf v1 sou lo0 r2 tping 100 20 4321::3 vrf v1 sou lo0 r3 tping 100 20 2.2.2.2 vrf v1 sou lo0 r3 tping 100 20 4321::2 vrf v1 sou lo0 r3 tping 100 20 2.2.2.3 vrf v1 sou lo0 r3 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r3 tping 100 20 3333::1 vrf v1 sou tun2 freeRtr-25.11.9/cfg/mpls-polka03.tst000066400000000000000000000063531510423065500170270ustar00rootroot00000000000000description polka over ethernet bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 exit int eth1.11 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 exit int eth1.11 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 exit int eth1.22 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo0 r1 tping 100 20 4321::2 vrf v1 sou lo0 r1 tping 100 20 2.2.2.3 vrf v1 sou lo0 r1 tping 100 20 4321::3 vrf v1 sou lo0 r2 tping 100 20 2.2.2.1 vrf v1 sou lo0 r2 tping 100 20 4321::1 vrf v1 sou lo0 r2 tping 100 20 2.2.2.3 vrf v1 sou lo0 r2 tping 100 20 4321::3 vrf v1 sou lo0 r3 tping 100 20 2.2.2.2 vrf v1 sou lo0 r3 tping 100 20 4321::2 vrf v1 sou lo0 r3 tping 100 20 2.2.2.3 vrf v1 sou lo0 r3 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r3 tping 100 20 3333::1 vrf v1 sou tun2 freeRtr-25.11.9/cfg/mpls-polka04.tst000066400000000000000000000061071510423065500170250ustar00rootroot00000000000000description polka over hdlc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc hdlc vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc hdlc vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int ser2 enc hdlc vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int ser1 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc hdlc vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo0 r1 tping 100 20 4321::2 vrf v1 sou lo0 r1 tping 100 20 2.2.2.3 vrf v1 sou lo0 r1 tping 100 20 4321::3 vrf v1 sou lo0 r2 tping 100 20 2.2.2.1 vrf v1 sou lo0 r2 tping 100 20 4321::1 vrf v1 sou lo0 r2 tping 100 20 2.2.2.3 vrf v1 sou lo0 r2 tping 100 20 4321::3 vrf v1 sou lo0 r3 tping 100 20 2.2.2.2 vrf v1 sou lo0 r3 tping 100 20 4321::2 vrf v1 sou lo0 r3 tping 100 20 2.2.2.3 vrf v1 sou lo0 r3 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r3 tping 100 20 3333::1 vrf v1 sou tun2 freeRtr-25.11.9/cfg/mpls-polka05.tst000066400000000000000000000061021510423065500170210ustar00rootroot00000000000000description polka over ppp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc ppp vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int ser2 enc ppp vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int ser1 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc ppp vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo0 r1 tping 100 20 4321::2 vrf v1 sou lo0 r1 tping 100 20 2.2.2.3 vrf v1 sou lo0 r1 tping 100 20 4321::3 vrf v1 sou lo0 r2 tping 100 20 2.2.2.1 vrf v1 sou lo0 r2 tping 100 20 4321::1 vrf v1 sou lo0 r2 tping 100 20 2.2.2.3 vrf v1 sou lo0 r2 tping 100 20 4321::3 vrf v1 sou lo0 r3 tping 100 20 2.2.2.2 vrf v1 sou lo0 r3 tping 100 20 4321::2 vrf v1 sou lo0 r3 tping 100 20 2.2.2.3 vrf v1 sou lo0 r3 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r3 tping 100 20 3333::1 vrf v1 sou tun2 freeRtr-25.11.9/cfg/mpls-polka06.tst000066400000000000000000000064151510423065500170310ustar00rootroot00000000000000description polka over framerelay addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc framerelay framerelay mode dce framerelay dlci 123 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc framerelay framerelay mode dte framerelay dlci 123 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int ser2 enc framerelay framerelay mode dce framerelay dlci 123 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int ser1 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc framerelay framerelay mode dte framerelay dlci 123 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo0 r1 tping 100 20 4321::2 vrf v1 sou lo0 r1 tping 100 20 2.2.2.3 vrf v1 sou lo0 r1 tping 100 20 4321::3 vrf v1 sou lo0 r2 tping 100 20 2.2.2.1 vrf v1 sou lo0 r2 tping 100 20 4321::1 vrf v1 sou lo0 r2 tping 100 20 2.2.2.3 vrf v1 sou lo0 r2 tping 100 20 4321::3 vrf v1 sou lo0 r3 tping 100 20 2.2.2.2 vrf v1 sou lo0 r3 tping 100 20 4321::2 vrf v1 sou lo0 r3 tping 100 20 2.2.2.3 vrf v1 sou lo0 r3 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r3 tping 100 20 3333::1 vrf v1 sou tun2 freeRtr-25.11.9/cfg/mpls-polka07.tst000066400000000000000000000063011510423065500170240ustar00rootroot00000000000000description polka over atmdxi addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int ser2 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int ser1 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo0 r1 tping 100 20 4321::2 vrf v1 sou lo0 r1 tping 100 20 2.2.2.3 vrf v1 sou lo0 r1 tping 100 20 4321::3 vrf v1 sou lo0 r2 tping 100 20 2.2.2.1 vrf v1 sou lo0 r2 tping 100 20 4321::1 vrf v1 sou lo0 r2 tping 100 20 2.2.2.3 vrf v1 sou lo0 r2 tping 100 20 4321::3 vrf v1 sou lo0 r3 tping 100 20 2.2.2.2 vrf v1 sou lo0 r3 tping 100 20 4321::2 vrf v1 sou lo0 r3 tping 100 20 2.2.2.3 vrf v1 sou lo0 r3 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r3 tping 100 20 3333::1 vrf v1 sou tun2 freeRtr-25.11.9/cfg/mpls-polka08.tst000066400000000000000000000065461510423065500170400ustar00rootroot00000000000000description polka over gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv6 addr 1111::1 ffff:: exit int tun9 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 1111::2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv6 addr 1111::2 ffff:: exit int tun9 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 1111::1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo0 r1 tping 100 20 4321::2 vrf v1 sou lo0 r1 tping 100 20 2.2.2.3 vrf v1 sou lo0 r1 tping 100 20 4321::3 vrf v1 sou lo0 r2 tping 100 20 2.2.2.1 vrf v1 sou lo0 r2 tping 100 20 4321::1 vrf v1 sou lo0 r2 tping 100 20 2.2.2.3 vrf v1 sou lo0 r2 tping 100 20 4321::3 vrf v1 sou lo0 r3 tping 100 20 2.2.2.2 vrf v1 sou lo0 r3 tping 100 20 4321::2 vrf v1 sou lo0 r3 tping 100 20 2.2.2.3 vrf v1 sou lo0 r3 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r3 tping 100 20 3333::1 vrf v1 sou tun2 freeRtr-25.11.9/cfg/mpls-polka09.tst000066400000000000000000000060061510423065500170300ustar00rootroot00000000000000description polka over broadcast subnet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo0 r1 tping 100 20 4321::2 vrf v1 sou lo0 r1 tping 100 20 2.2.2.3 vrf v1 sou lo0 r1 tping 100 20 4321::3 vrf v1 sou lo0 r2 tping 100 20 2.2.2.1 vrf v1 sou lo0 r2 tping 100 20 4321::1 vrf v1 sou lo0 r2 tping 100 20 2.2.2.3 vrf v1 sou lo0 r2 tping 100 20 4321::3 vrf v1 sou lo0 r3 tping 100 20 2.2.2.2 vrf v1 sou lo0 r3 tping 100 20 4321::2 vrf v1 sou lo0 r3 tping 100 20 2.2.2.3 vrf v1 sou lo0 r3 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r3 tping 100 20 3333::1 vrf v1 sou tun2 freeRtr-25.11.9/cfg/mpls-polka10.tst000066400000000000000000000104431510423065500170200ustar00rootroot00000000000000description polka over ethernet chain addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.4 tunnel domain-name 2.2.2.2 2.2.2.3 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::4 tunnel domain-name 4321::2 4321::3 tunnel mode polka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.3.10 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.11 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: mpls enable polka enable 4 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.3 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::3 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo0 r1 tping 100 20 4321::2 vrf v1 sou lo0 r1 tping 100 20 2.2.2.3 vrf v1 sou lo0 r1 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 100 20 2.2.2.4 vrf v1 sou lo0 r1 tping 100 20 4321::4 vrf v1 sou lo0 r2 tping 100 20 2.2.2.1 vrf v1 sou lo0 r2 tping 100 20 4321::1 vrf v1 sou lo0 r2 tping 100 20 2.2.2.3 vrf v1 sou lo0 r2 tping 100 20 4321::3 vrf v1 sou lo0 r2 tping 100 20 2.2.2.4 vrf v1 sou lo0 r2 tping 100 20 4321::4 vrf v1 sou lo0 r3 tping 100 20 2.2.2.2 vrf v1 sou lo0 r3 tping 100 20 4321::2 vrf v1 sou lo0 r3 tping 100 20 2.2.2.3 vrf v1 sou lo0 r3 tping 100 20 4321::3 vrf v1 sou lo0 r3 tping 100 20 2.2.2.4 vrf v1 sou lo0 r3 tping 100 20 4321::4 vrf v1 sou lo0 r4 tping 100 20 2.2.2.1 vrf v1 sou lo0 r4 tping 100 20 4321::1 vrf v1 sou lo0 r4 tping 100 20 2.2.2.2 vrf v1 sou lo0 r4 tping 100 20 4321::2 vrf v1 sou lo0 r4 tping 100 20 2.2.2.3 vrf v1 sou lo0 r4 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r4 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r4 tping 100 20 3333::1 vrf v1 sou tun2 freeRtr-25.11.9/cfg/mpls-polka11.tst000066400000000000000000000074761510423065500170350ustar00rootroot00000000000000description pwe over polka addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 mpls enable exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::1 ffff:: mpls enable exit int tun3 tun sou tun1 tun dest 3.3.3.2 tun vrf v1 tun key 4321 tun mod pweompls vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 exit int tun4 tun sou tun2 tun dest 3333::2 tun vrf v1 tun key 4321 tun mod pweompls vrf for v1 ipv6 addr 4444::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 mpls enable ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 mpls enable ipv6 address 3333::2 ffff:: exit int tun3 tun sou tun1 tun dest 3.3.3.1 tun vrf v1 tun key 4321 tun mod pweompls vrf for v1 ipv4 addr 3.3.3.6 255.255.255.252 exit int tun4 tun sou tun2 tun dest 3333::1 tun vrf v1 tun key 4321 tun mod pweompls vrf for v1 ipv6 addr 4444::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo0 r1 tping 100 20 4321::2 vrf v1 sou lo0 r1 tping 100 20 2.2.2.3 vrf v1 sou lo0 r1 tping 100 20 4321::3 vrf v1 sou lo0 r2 tping 100 20 2.2.2.1 vrf v1 sou lo0 r2 tping 100 20 4321::1 vrf v1 sou lo0 r2 tping 100 20 2.2.2.3 vrf v1 sou lo0 r2 tping 100 20 4321::3 vrf v1 sou lo0 r3 tping 100 20 2.2.2.2 vrf v1 sou lo0 r3 tping 100 20 4321::2 vrf v1 sou lo0 r3 tping 100 20 2.2.2.3 vrf v1 sou lo0 r3 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r3 tping 100 20 3333::1 vrf v1 sou tun2 r1 tping 100 20 3.3.3.6 vrf v1 sou tun3 r3 tping 100 20 3.3.3.5 vrf v1 sou tun3 r1 tping 100 20 4444::2 vrf v1 sou tun4 r3 tping 100 20 4444::1 vrf v1 sou tun4 freeRtr-25.11.9/cfg/mpls-polka12.tst000066400000000000000000000127561510423065500170330ustar00rootroot00000000000000description bgp vpns over polka addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 mpls enable exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::1 ffff:: mpls enable exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 3.3.3.2 remote-as 1 neigh 3.3.3.2 update tun1 neigh 3.3.3.2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 3333::2 remote-as 1 neigh 3333::2 update tun2 neigh 3333::2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 mpls enable exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::2 ffff:: mpls enable exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 3.3.3.1 remote-as 1 neigh 3.3.3.1 update tun1 neigh 3.3.3.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 3333::1 remote-as 1 neigh 3333::1 update tun2 neigh 3333::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo0 r1 tping 100 20 4321::2 vrf v1 sou lo0 r1 tping 100 20 2.2.2.3 vrf v1 sou lo0 r1 tping 100 20 4321::3 vrf v1 sou lo0 r2 tping 100 20 2.2.2.1 vrf v1 sou lo0 r2 tping 100 20 4321::1 vrf v1 sou lo0 r2 tping 100 20 2.2.2.3 vrf v1 sou lo0 r2 tping 100 20 4321::3 vrf v1 sou lo0 r3 tping 100 20 2.2.2.2 vrf v1 sou lo0 r3 tping 100 20 4321::2 vrf v1 sou lo0 r3 tping 100 20 2.2.2.3 vrf v1 sou lo0 r3 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r3 tping 100 20 3333::1 vrf v1 sou tun2 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r3 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r3 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r3 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/mpls-polka13.tst000066400000000000000000000116771510423065500170350ustar00rootroot00000000000000description mpolka over ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 2.2.2.3 2.2.2.4 , 2.2.2.3 2.2.2.3 , 2.2.2.4 2.2.2.4 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::2 4321::3 4321::4 , 4321::3 4321::3 , 4321::4 4321::4 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int eth3 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 2.2.2.1 , 2.2.2.1 2.2.2.1 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 4321::1 , 4321::1 4321::1 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: mpls enable polka enable 4 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 2.2.2.1 , 2.2.2.1 2.2.2.1 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 4321::1 , 4321::1 4321::1 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo0 r1 tping 100 20 4321::2 vrf v1 sou lo0 r1 tping 100 20 2.2.2.3 vrf v1 sou lo0 r1 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 100 20 2.2.2.4 vrf v1 sou lo0 r1 tping 100 20 4321::4 vrf v1 sou lo0 r2 tping 100 20 2.2.2.1 vrf v1 sou lo0 r2 tping 100 20 4321::1 vrf v1 sou lo0 r2 tping 100 20 2.2.2.3 vrf v1 sou lo0 r2 tping 100 20 4321::3 vrf v1 sou lo0 r2 tping 100 20 2.2.2.4 vrf v1 sou lo0 r2 tping 100 20 4321::4 vrf v1 sou lo0 r3 tping 100 20 2.2.2.2 vrf v1 sou lo0 r3 tping 100 20 4321::2 vrf v1 sou lo0 r3 tping 100 20 2.2.2.3 vrf v1 sou lo0 r3 tping 100 20 4321::3 vrf v1 sou lo0 r3 tping 100 20 2.2.2.4 vrf v1 sou lo0 r3 tping 100 20 4321::4 vrf v1 sou lo0 r4 tping 100 20 2.2.2.1 vrf v1 sou lo0 r4 tping 100 20 4321::1 vrf v1 sou lo0 r4 tping 100 20 2.2.2.2 vrf v1 sou lo0 r4 tping 100 20 4321::2 vrf v1 sou lo0 r4 tping 100 20 2.2.2.3 vrf v1 sou lo0 r4 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 200 20 3.3.3.2 vrf v1 sou tun1 multi r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 multi r4 tping 100 20 3.3.3.1 vrf v1 sou tun1 multi r1 tping 200 20 3333::2 vrf v1 sou tun2 multi r3 tping 100 20 3333::1 vrf v1 sou tun2 multi r4 tping 100 20 3333::1 vrf v1 sou tun2 multi freeRtr-25.11.9/cfg/mpls-polka14.tst000066400000000000000000000117261510423065500170310ustar00rootroot00000000000000description mpolka over ethernet vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 2.2.2.3 2.2.2.4 , 2.2.2.3 2.2.2.3 , 2.2.2.4 2.2.2.4 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::2 4321::3 4321::4 , 4321::3 4321::3 , 4321::4 4321::4 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int eth3.33 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 2.2.2.1 , 2.2.2.1 2.2.2.1 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 4321::1 , 4321::1 4321::1 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.33 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: mpls enable polka enable 4 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 2.2.2.1 , 2.2.2.1 2.2.2.1 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 4321::1 , 4321::1 4321::1 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo0 r1 tping 100 20 4321::2 vrf v1 sou lo0 r1 tping 100 20 2.2.2.3 vrf v1 sou lo0 r1 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 100 20 2.2.2.4 vrf v1 sou lo0 r1 tping 100 20 4321::4 vrf v1 sou lo0 r2 tping 100 20 2.2.2.1 vrf v1 sou lo0 r2 tping 100 20 4321::1 vrf v1 sou lo0 r2 tping 100 20 2.2.2.3 vrf v1 sou lo0 r2 tping 100 20 4321::3 vrf v1 sou lo0 r2 tping 100 20 2.2.2.4 vrf v1 sou lo0 r2 tping 100 20 4321::4 vrf v1 sou lo0 r3 tping 100 20 2.2.2.2 vrf v1 sou lo0 r3 tping 100 20 4321::2 vrf v1 sou lo0 r3 tping 100 20 2.2.2.3 vrf v1 sou lo0 r3 tping 100 20 4321::3 vrf v1 sou lo0 r3 tping 100 20 2.2.2.4 vrf v1 sou lo0 r3 tping 100 20 4321::4 vrf v1 sou lo0 r4 tping 100 20 2.2.2.1 vrf v1 sou lo0 r4 tping 100 20 4321::1 vrf v1 sou lo0 r4 tping 100 20 2.2.2.2 vrf v1 sou lo0 r4 tping 100 20 4321::2 vrf v1 sou lo0 r4 tping 100 20 2.2.2.3 vrf v1 sou lo0 r4 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 200 20 3.3.3.2 vrf v1 sou tun1 multi r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 multi r4 tping 100 20 3.3.3.1 vrf v1 sou tun1 multi r1 tping 200 20 3333::2 vrf v1 sou tun2 multi r3 tping 100 20 3333::1 vrf v1 sou tun2 multi r4 tping 100 20 3333::1 vrf v1 sou tun2 multi freeRtr-25.11.9/cfg/mpls-polka15.tst000066400000000000000000000117611510423065500170310ustar00rootroot00000000000000description mpolka over ethernet bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 2.2.2.3 2.2.2.4 , 2.2.2.3 2.2.2.3 , 2.2.2.4 2.2.2.4 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::2 4321::3 4321::4 , 4321::3 4321::3 , 4321::4 4321::4 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int eth3 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 2.2.2.1 , 2.2.2.1 2.2.2.1 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 4321::1 , 4321::1 4321::1 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: mpls enable polka enable 4 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 2.2.2.1 , 2.2.2.1 2.2.2.1 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 4321::1 , 4321::1 4321::1 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo0 r1 tping 100 20 4321::2 vrf v1 sou lo0 r1 tping 100 20 2.2.2.3 vrf v1 sou lo0 r1 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 100 20 2.2.2.4 vrf v1 sou lo0 r1 tping 100 20 4321::4 vrf v1 sou lo0 r2 tping 100 20 2.2.2.1 vrf v1 sou lo0 r2 tping 100 20 4321::1 vrf v1 sou lo0 r2 tping 100 20 2.2.2.3 vrf v1 sou lo0 r2 tping 100 20 4321::3 vrf v1 sou lo0 r2 tping 100 20 2.2.2.4 vrf v1 sou lo0 r2 tping 100 20 4321::4 vrf v1 sou lo0 r3 tping 100 20 2.2.2.2 vrf v1 sou lo0 r3 tping 100 20 4321::2 vrf v1 sou lo0 r3 tping 100 20 2.2.2.3 vrf v1 sou lo0 r3 tping 100 20 4321::3 vrf v1 sou lo0 r3 tping 100 20 2.2.2.4 vrf v1 sou lo0 r3 tping 100 20 4321::4 vrf v1 sou lo0 r4 tping 100 20 2.2.2.1 vrf v1 sou lo0 r4 tping 100 20 4321::1 vrf v1 sou lo0 r4 tping 100 20 2.2.2.2 vrf v1 sou lo0 r4 tping 100 20 4321::2 vrf v1 sou lo0 r4 tping 100 20 2.2.2.3 vrf v1 sou lo0 r4 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 200 20 3.3.3.2 vrf v1 sou tun1 multi r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 multi r4 tping 100 20 3.3.3.1 vrf v1 sou tun1 multi r1 tping 200 20 3333::2 vrf v1 sou tun2 multi r3 tping 100 20 3333::1 vrf v1 sou tun2 multi r4 tping 100 20 3333::1 vrf v1 sou tun2 multi freeRtr-25.11.9/cfg/mpls-polka16.tst000066400000000000000000000116511510423065500170300ustar00rootroot00000000000000description mpolka over hdlc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc hdlc vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 2.2.2.3 2.2.2.4 , 2.2.2.3 2.2.2.3 , 2.2.2.4 2.2.2.4 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::2 4321::3 4321::4 , 4321::3 4321::3 , 4321::4 4321::4 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2a$ $2b$ int ser3 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc hdlc vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int ser2 enc hdlc vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int ser3 enc hdlc vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int ser1 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc hdlc vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 2.2.2.1 , 2.2.2.1 2.2.2.1 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 4321::1 , 4321::1 4321::1 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc hdlc vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: mpls enable polka enable 4 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 2.2.2.1 , 2.2.2.1 2.2.2.1 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 4321::1 , 4321::1 4321::1 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo0 r1 tping 100 20 4321::2 vrf v1 sou lo0 r1 tping 100 20 2.2.2.3 vrf v1 sou lo0 r1 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 100 20 2.2.2.4 vrf v1 sou lo0 r1 tping 100 20 4321::4 vrf v1 sou lo0 r2 tping 100 20 2.2.2.1 vrf v1 sou lo0 r2 tping 100 20 4321::1 vrf v1 sou lo0 r2 tping 100 20 2.2.2.3 vrf v1 sou lo0 r2 tping 100 20 4321::3 vrf v1 sou lo0 r2 tping 100 20 2.2.2.4 vrf v1 sou lo0 r2 tping 100 20 4321::4 vrf v1 sou lo0 r3 tping 100 20 2.2.2.2 vrf v1 sou lo0 r3 tping 100 20 4321::2 vrf v1 sou lo0 r3 tping 100 20 2.2.2.3 vrf v1 sou lo0 r3 tping 100 20 4321::3 vrf v1 sou lo0 r3 tping 100 20 2.2.2.4 vrf v1 sou lo0 r3 tping 100 20 4321::4 vrf v1 sou lo0 r4 tping 100 20 2.2.2.1 vrf v1 sou lo0 r4 tping 100 20 4321::1 vrf v1 sou lo0 r4 tping 100 20 2.2.2.2 vrf v1 sou lo0 r4 tping 100 20 4321::2 vrf v1 sou lo0 r4 tping 100 20 2.2.2.3 vrf v1 sou lo0 r4 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 200 20 3.3.3.2 vrf v1 sou tun1 multi r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 multi r4 tping 100 20 3.3.3.1 vrf v1 sou tun1 multi r1 tping 200 20 3333::2 vrf v1 sou tun2 multi r3 tping 100 20 3333::1 vrf v1 sou tun2 multi r4 tping 100 20 3333::1 vrf v1 sou tun2 multi freeRtr-25.11.9/cfg/mpls-polka17.tst000066400000000000000000000116421510423065500170310ustar00rootroot00000000000000description mpolka over ppp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc ppp vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 2.2.2.3 2.2.2.4 , 2.2.2.3 2.2.2.3 , 2.2.2.4 2.2.2.4 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::2 4321::3 4321::4 , 4321::3 4321::3 , 4321::4 4321::4 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2a$ $2b$ int ser3 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int ser2 enc ppp vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int ser3 enc ppp vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int ser1 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc ppp vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 2.2.2.1 , 2.2.2.1 2.2.2.1 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 4321::1 , 4321::1 4321::1 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc ppp vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: mpls enable polka enable 4 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 2.2.2.1 , 2.2.2.1 2.2.2.1 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 4321::1 , 4321::1 4321::1 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo0 r1 tping 100 20 4321::2 vrf v1 sou lo0 r1 tping 100 20 2.2.2.3 vrf v1 sou lo0 r1 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 100 20 2.2.2.4 vrf v1 sou lo0 r1 tping 100 20 4321::4 vrf v1 sou lo0 r2 tping 100 20 2.2.2.1 vrf v1 sou lo0 r2 tping 100 20 4321::1 vrf v1 sou lo0 r2 tping 100 20 2.2.2.3 vrf v1 sou lo0 r2 tping 100 20 4321::3 vrf v1 sou lo0 r2 tping 100 20 2.2.2.4 vrf v1 sou lo0 r2 tping 100 20 4321::4 vrf v1 sou lo0 r3 tping 100 20 2.2.2.2 vrf v1 sou lo0 r3 tping 100 20 4321::2 vrf v1 sou lo0 r3 tping 100 20 2.2.2.3 vrf v1 sou lo0 r3 tping 100 20 4321::3 vrf v1 sou lo0 r3 tping 100 20 2.2.2.4 vrf v1 sou lo0 r3 tping 100 20 4321::4 vrf v1 sou lo0 r4 tping 100 20 2.2.2.1 vrf v1 sou lo0 r4 tping 100 20 4321::1 vrf v1 sou lo0 r4 tping 100 20 2.2.2.2 vrf v1 sou lo0 r4 tping 100 20 4321::2 vrf v1 sou lo0 r4 tping 100 20 2.2.2.3 vrf v1 sou lo0 r4 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 200 20 3.3.3.2 vrf v1 sou tun1 multi r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 multi r4 tping 100 20 3.3.3.1 vrf v1 sou tun1 multi r1 tping 200 20 3333::2 vrf v1 sou tun2 multi r3 tping 100 20 3333::1 vrf v1 sou tun2 multi r4 tping 100 20 3333::1 vrf v1 sou tun2 multi freeRtr-25.11.9/cfg/mpls-polka18.tst000066400000000000000000000123171510423065500170320ustar00rootroot00000000000000description mpolka over framerelay addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc framerelay framerelay mode dce framerelay dlci 123 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 2.2.2.3 2.2.2.4 , 2.2.2.3 2.2.2.3 , 2.2.2.4 2.2.2.4 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::2 4321::3 4321::4 , 4321::3 4321::3 , 4321::4 4321::4 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2a$ $2b$ int ser3 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc framerelay framerelay mode dte framerelay dlci 123 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int ser2 enc framerelay framerelay mode dce framerelay dlci 123 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int ser3 enc framerelay framerelay mode dce framerelay dlci 123 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int ser1 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc framerelay framerelay mode dte framerelay dlci 123 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 2.2.2.1 , 2.2.2.1 2.2.2.1 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 4321::1 , 4321::1 4321::1 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc framerelay framerelay mode dte framerelay dlci 123 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: mpls enable polka enable 4 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 2.2.2.1 , 2.2.2.1 2.2.2.1 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 4321::1 , 4321::1 4321::1 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo0 r1 tping 100 20 4321::2 vrf v1 sou lo0 r1 tping 100 20 2.2.2.3 vrf v1 sou lo0 r1 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 100 20 2.2.2.4 vrf v1 sou lo0 r1 tping 100 20 4321::4 vrf v1 sou lo0 r2 tping 100 20 2.2.2.1 vrf v1 sou lo0 r2 tping 100 20 4321::1 vrf v1 sou lo0 r2 tping 100 20 2.2.2.3 vrf v1 sou lo0 r2 tping 100 20 4321::3 vrf v1 sou lo0 r2 tping 100 20 2.2.2.4 vrf v1 sou lo0 r2 tping 100 20 4321::4 vrf v1 sou lo0 r3 tping 100 20 2.2.2.2 vrf v1 sou lo0 r3 tping 100 20 4321::2 vrf v1 sou lo0 r3 tping 100 20 2.2.2.3 vrf v1 sou lo0 r3 tping 100 20 4321::3 vrf v1 sou lo0 r3 tping 100 20 2.2.2.4 vrf v1 sou lo0 r3 tping 100 20 4321::4 vrf v1 sou lo0 r4 tping 100 20 2.2.2.1 vrf v1 sou lo0 r4 tping 100 20 4321::1 vrf v1 sou lo0 r4 tping 100 20 2.2.2.2 vrf v1 sou lo0 r4 tping 100 20 4321::2 vrf v1 sou lo0 r4 tping 100 20 2.2.2.3 vrf v1 sou lo0 r4 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 200 20 3.3.3.2 vrf v1 sou tun1 multi r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 multi r4 tping 100 20 3.3.3.1 vrf v1 sou tun1 multi r1 tping 200 20 3333::2 vrf v1 sou tun2 multi r3 tping 100 20 3333::1 vrf v1 sou tun2 multi r4 tping 100 20 3333::1 vrf v1 sou tun2 multi freeRtr-25.11.9/cfg/mpls-polka19.tst000066400000000000000000000121371510423065500170330ustar00rootroot00000000000000description mpolka over atmdxi addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 2.2.2.3 2.2.2.4 , 2.2.2.3 2.2.2.3 , 2.2.2.4 2.2.2.4 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::2 4321::3 4321::4 , 4321::3 4321::3 , 4321::4 4321::4 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2a$ $2b$ int ser3 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int ser2 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int ser3 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int ser1 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 2.2.2.1 , 2.2.2.1 2.2.2.1 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 4321::1 , 4321::1 4321::1 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: mpls enable polka enable 4 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 2.2.2.1 , 2.2.2.1 2.2.2.1 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 4321::1 , 4321::1 4321::1 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo0 r1 tping 100 20 4321::2 vrf v1 sou lo0 r1 tping 100 20 2.2.2.3 vrf v1 sou lo0 r1 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 100 20 2.2.2.4 vrf v1 sou lo0 r1 tping 100 20 4321::4 vrf v1 sou lo0 r2 tping 100 20 2.2.2.1 vrf v1 sou lo0 r2 tping 100 20 4321::1 vrf v1 sou lo0 r2 tping 100 20 2.2.2.3 vrf v1 sou lo0 r2 tping 100 20 4321::3 vrf v1 sou lo0 r2 tping 100 20 2.2.2.4 vrf v1 sou lo0 r2 tping 100 20 4321::4 vrf v1 sou lo0 r3 tping 100 20 2.2.2.2 vrf v1 sou lo0 r3 tping 100 20 4321::2 vrf v1 sou lo0 r3 tping 100 20 2.2.2.3 vrf v1 sou lo0 r3 tping 100 20 4321::3 vrf v1 sou lo0 r3 tping 100 20 2.2.2.4 vrf v1 sou lo0 r3 tping 100 20 4321::4 vrf v1 sou lo0 r4 tping 100 20 2.2.2.1 vrf v1 sou lo0 r4 tping 100 20 4321::1 vrf v1 sou lo0 r4 tping 100 20 2.2.2.2 vrf v1 sou lo0 r4 tping 100 20 4321::2 vrf v1 sou lo0 r4 tping 100 20 2.2.2.3 vrf v1 sou lo0 r4 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 200 20 3.3.3.2 vrf v1 sou tun1 multi r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 multi r4 tping 100 20 3.3.3.1 vrf v1 sou tun1 multi r1 tping 200 20 3333::2 vrf v1 sou tun2 multi r3 tping 100 20 3333::1 vrf v1 sou tun2 multi r4 tping 100 20 3333::1 vrf v1 sou tun2 multi freeRtr-25.11.9/cfg/mpls-polka20.tst000066400000000000000000000123161510423065500170220ustar00rootroot00000000000000description mpolka over gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv6 addr 1111::1 ffff:: exit int tun9 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 1111::2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 2.2.2.3 2.2.2.4 , 2.2.2.3 2.2.2.3 , 2.2.2.4 2.2.2.4 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::2 4321::3 4321::4 , 4321::3 4321::3 , 4321::4 4321::4 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv6 addr 1111::2 ffff:: exit int tun9 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 1111::1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int eth3 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 2.2.2.1 , 2.2.2.1 2.2.2.1 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 4321::1 , 4321::1 4321::1 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: mpls enable polka enable 4 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 2.2.2.1 , 2.2.2.1 2.2.2.1 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::2 4321::1 , 4321::1 4321::1 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo0 r1 tping 100 20 4321::2 vrf v1 sou lo0 r1 tping 100 20 2.2.2.3 vrf v1 sou lo0 r1 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 100 20 2.2.2.4 vrf v1 sou lo0 r1 tping 100 20 4321::4 vrf v1 sou lo0 r2 tping 100 20 2.2.2.1 vrf v1 sou lo0 r2 tping 100 20 4321::1 vrf v1 sou lo0 r2 tping 100 20 2.2.2.3 vrf v1 sou lo0 r2 tping 100 20 4321::3 vrf v1 sou lo0 r2 tping 100 20 2.2.2.4 vrf v1 sou lo0 r2 tping 100 20 4321::4 vrf v1 sou lo0 r3 tping 100 20 2.2.2.2 vrf v1 sou lo0 r3 tping 100 20 4321::2 vrf v1 sou lo0 r3 tping 100 20 2.2.2.3 vrf v1 sou lo0 r3 tping 100 20 4321::3 vrf v1 sou lo0 r3 tping 100 20 2.2.2.4 vrf v1 sou lo0 r3 tping 100 20 4321::4 vrf v1 sou lo0 r4 tping 100 20 2.2.2.1 vrf v1 sou lo0 r4 tping 100 20 4321::1 vrf v1 sou lo0 r4 tping 100 20 2.2.2.2 vrf v1 sou lo0 r4 tping 100 20 4321::2 vrf v1 sou lo0 r4 tping 100 20 2.2.2.3 vrf v1 sou lo0 r4 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 200 20 3.3.3.2 vrf v1 sou tun1 multi r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 multi r4 tping 100 20 3.3.3.1 vrf v1 sou tun1 multi r1 tping 200 20 3333::2 vrf v1 sou tun2 multi r3 tping 100 20 3333::1 vrf v1 sou tun2 multi r4 tping 100 20 3333::1 vrf v1 sou tun2 multi freeRtr-25.11.9/cfg/mpls-polka21.tst000066400000000000000000000111321510423065500170160ustar00rootroot00000000000000description mpolka over bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.3 2.2.2.3 , 2.2.2.4 2.2.2.4 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::3 4321::3 , 4321::4 4321::4 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.1 2.2.2.1 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::1 4321::1 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable polka enable 4 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.1 2.2.2.1 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::1 4321::1 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo0 r1 tping 100 20 4321::2 vrf v1 sou lo0 r1 tping 100 20 2.2.2.3 vrf v1 sou lo0 r1 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 100 20 2.2.2.4 vrf v1 sou lo0 r1 tping 100 20 4321::4 vrf v1 sou lo0 r2 tping 100 20 2.2.2.1 vrf v1 sou lo0 r2 tping 100 20 4321::1 vrf v1 sou lo0 r2 tping 100 20 2.2.2.3 vrf v1 sou lo0 r2 tping 100 20 4321::3 vrf v1 sou lo0 r2 tping 100 20 2.2.2.4 vrf v1 sou lo0 r2 tping 100 20 4321::4 vrf v1 sou lo0 r3 tping 100 20 2.2.2.2 vrf v1 sou lo0 r3 tping 100 20 4321::2 vrf v1 sou lo0 r3 tping 100 20 2.2.2.3 vrf v1 sou lo0 r3 tping 100 20 4321::3 vrf v1 sou lo0 r3 tping 100 20 2.2.2.4 vrf v1 sou lo0 r3 tping 100 20 4321::4 vrf v1 sou lo0 r4 tping 100 20 2.2.2.1 vrf v1 sou lo0 r4 tping 100 20 4321::1 vrf v1 sou lo0 r4 tping 100 20 2.2.2.2 vrf v1 sou lo0 r4 tping 100 20 4321::2 vrf v1 sou lo0 r4 tping 100 20 2.2.2.3 vrf v1 sou lo0 r4 tping 100 20 4321::3 vrf v1 sou lo0 r1 tping 200 20 3.3.3.2 vrf v1 sou tun1 multi r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 multi r4 tping 100 20 3.3.3.1 vrf v1 sou tun1 multi r1 tping 200 20 3333::2 vrf v1 sou tun2 multi r3 tping 100 20 3333::1 vrf v1 sou tun2 multi r4 tping 100 20 3333::1 vrf v1 sou tun2 multi freeRtr-25.11.9/cfg/mpls-pwe01.tst000066400000000000000000000031441510423065500165050ustar00rootroot00000000000000description ppp over mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int di1 enc ppp vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit vpdn atom interface di1 proxy p1 target 2.2.2.2 mtu 1500 vcid 1234 pwtype ppp control-word protocol pweompls exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int di1 enc ppp vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 exit vpdn atom interface di1 proxy p1 target 2.2.2.1 mtu 1500 vcid 1234 pwtype ppp control-word protocol pweompls exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwe02.tst000066400000000000000000000031511510423065500165040ustar00rootroot00000000000000description hdlc over mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int di1 enc hdlc vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit vpdn atom interface di1 proxy p1 target 2.2.2.2 mtu 1500 vcid 1234 pwtype hdlc control-word protocol pweompls exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int di1 enc hdlc vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 exit vpdn atom interface di1 proxy p1 target 2.2.2.1 mtu 1500 vcid 1234 pwtype hdlc control-word protocol pweompls exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwe03.tst000066400000000000000000000031701510423065500165060ustar00rootroot00000000000000description lapb over mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int di1 enc lapb lapb mode dce vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit vpdn atom interface di1 proxy p1 target 2.2.2.2 mtu 1500 vcid 1234 pwtype hdlc control-word protocol pweompls exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int di1 enc lapb vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 exit vpdn atom interface di1 proxy p1 target 2.2.2.1 mtu 1500 vcid 1234 pwtype hdlc control-word protocol pweompls exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwe04.tst000066400000000000000000000033441510423065500165120ustar00rootroot00000000000000description framerelay over mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int di1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit vpdn atom interface di1 proxy p1 target 2.2.2.2 mtu 1500 vcid 1234 pwtype hdlc control-word protocol pweompls exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int di1 enc framerelay framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 exit vpdn atom interface di1 proxy p1 target 2.2.2.1 mtu 1500 vcid 1234 pwtype hdlc control-word protocol pweompls exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwe05.tst000066400000000000000000000032471510423065500165150ustar00rootroot00000000000000description atmdxi over mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int di1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit vpdn atom interface di1 proxy p1 target 2.2.2.2 mtu 1500 vcid 1234 pwtype hdlc control-word protocol pweompls exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int di1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 exit vpdn atom interface di1 proxy p1 target 2.2.2.1 mtu 1500 vcid 1234 pwtype hdlc control-word protocol pweompls exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwe06.tst000066400000000000000000000031701510423065500165110ustar00rootroot00000000000000description isdn over mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int di1 enc isdn isdn mode dce vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit vpdn atom interface di1 proxy p1 target 2.2.2.2 mtu 1500 vcid 1234 pwtype hdlc control-word protocol pweompls exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int di1 enc isdn vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 exit vpdn atom interface di1 proxy p1 target 2.2.2.1 mtu 1500 vcid 1234 pwtype hdlc control-word protocol pweompls exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwe07.tst000066400000000000000000000031461510423065500165150ustar00rootroot00000000000000description sep over mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int di1 enc sep vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit vpdn atom interface di1 proxy p1 target 2.2.2.2 mtu 1500 vcid 1234 pwtype hdlc control-word protocol pweompls exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int di1 enc sep vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 exit vpdn atom interface di1 proxy p1 target 2.2.2.1 mtu 1500 vcid 1234 pwtype hdlc control-word protocol pweompls exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwe08.tst000066400000000000000000000031601510423065500165120ustar00rootroot00000000000000description port mode ppp over mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int di1 enc ppp vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit vpdn atom interface di1 proxy p1 target 2.2.2.2 mtu 1500 vcid 1234 pwtype hdlc control-word protocol pweompls exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int di1 enc ppp vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 exit vpdn atom interface di1 proxy p1 target 2.2.2.1 mtu 1500 vcid 1234 pwtype hdlc control-word protocol pweompls exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwe09.tst000066400000000000000000000044121510423065500165140ustar00rootroot00000000000000description ethernet over mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 bridge 1 mac-learn exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit vpdn eompls bridge-gr 1 proxy p1 target 2.2.2.2 mtu 1500 vcid 1234 pwtype eth protocol pweompls exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 bridge 1 mac-learn exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 exit vpdn eompls bridge-gr 1 proxy p1 target 2.2.2.1 mtu 1500 vcid 1234 pwtype eth protocol pweompls exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 r1 output show mpls forw r1 output show ipv4 ldp v1 sum r1 output show ipv6 ldp v1 sum r1 output show bridge 1 r1 output show inter bvi1 full r1 output show ipv4 arp bvi1 r1 output show ipv6 neigh bvi1 output ../binTmp/mpls-pwe.html here is the lib:
show:0
here is the ipv4 neighbor:
show:1
here is the ipv6 neighbor:
show:2
here is the ipv4 bridge:
show:3
here is the interface:
show:4
here is the arp:
show:5
here are the neighbors:
show:6
! freeRtr-25.11.9/cfg/mpls-pwe10.tst000066400000000000000000000031411510423065500165020ustar00rootroot00000000000000description vlan over mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 bridge 1 exit int bvi1.111 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit vpdn eompls bridge-gr 1 proxy p1 target 2.2.2.2 mtu 1500 vcid 1234 pwtype vlan protocol pweompls exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 bridge 1 exit int bvi1.111 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 exit vpdn eompls bridge-gr 1 proxy p1 target 2.2.2.1 mtu 1500 vcid 1234 pwtype vlan protocol pweompls exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwe11.tst000066400000000000000000000064241510423065500165120ustar00rootroot00000000000000description multipoint ethernet over mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 bridge 1 mac-learn exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit vpdn eompls1 bridge-gr 1 proxy p1 target 2.2.2.2 mtu 1500 vcid 1234 pwtype eth protocol pweompls exit vpdn eompls2 bridge-gr 1 proxy p1 target 4321::3 mtu 1500 vcid 1234 pwtype eth protocol pweompls exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 bridge 1 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 exit vpdn eompls bridge-gr 1 proxy p1 target 2.2.2.1 mtu 1500 vcid 1234 pwtype eth protocol pweompls exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 bridge 1 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 exit vpdn eompls bridge-gr 1 proxy p1 target 4321::1 mtu 1500 vcid 1234 pwtype eth protocol pweompls exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 r1 tping 100 10 4321::3 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 r3 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r1 tping 100 40 3.3.3.3 vrf v1 r1 tping 100 40 3.3.3.4 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 r2 tping 0 40 3.3.3.3 vrf v1 r2 tping 100 40 3.3.3.4 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r3 tping 0 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.4 vrf v1 freeRtr-25.11.9/cfg/mpls-pwe12.tst000066400000000000000000000064311510423065500165110ustar00rootroot00000000000000description interworking between l2tp3 and ethernet over mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 bridge 1 mac-learn exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit vpdn eompls bridge-gr 1 proxy p1 target 2.2.2.2 mtu 1500 vcid 1234 pwtype eth protocol pweompls exit vpdn l2tp bridge-gr 1 proxy p1 target 2.2.2.3 vcid 1234 pwtype eth dir in protocol l2tp3 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 bridge 1 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 exit vpdn eompls bridge-gr 1 proxy p1 target 2.2.2.1 mtu 1500 vcid 1234 pwtype eth protocol pweompls exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 bridge 1 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 exit vpdn l2tp bridge-gr 1 proxy p1 target 2.2.2.1 vcid 1234 pwtype eth dir out protocol l2tp3 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 r1 tping 100 10 4321::3 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 r3 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r1 tping 100 40 3.3.3.3 vrf v1 r1 tping 100 40 3.3.3.4 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 r2 tping 0 40 3.3.3.3 vrf v1 r2 tping 100 40 3.3.3.4 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r3 tping 0 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.4 vrf v1 freeRtr-25.11.9/cfg/mpls-pwe13.tst000066400000000000000000000032041510423065500165050ustar00rootroot00000000000000description hdlc tunneling with mpls addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int ser1 enc raw xconnect v1 lo0 pweompls 2.2.2.2 1234 vlan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int ser1 enc raw xconnect v1 lo0 pweompls 2.2.2.1 1234 vlan exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc hdlc vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 2.2.2.2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r4 tping 100 30 2.2.2.1 vrf v1 r4 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwe14.tst000066400000000000000000000032731510423065500165140ustar00rootroot00000000000000description ppp tunneling with mpls addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int ser1 enc raw xconnect v1 lo0 pweompls 2.2.2.2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int ser1 enc raw xconnect v1 lo0 pweompls 2.2.2.1 1234 exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 2.2.2.2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r4 tping 100 30 2.2.2.1 vrf v1 r4 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwe15.tst000066400000000000000000000032231510423065500165100ustar00rootroot00000000000000description lapb tunneling with mpls addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb lapb mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int ser1 enc raw xconnect v1 lo0 pweompls 2.2.2.2 1234 vlan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int ser1 enc raw xconnect v1 lo0 pweompls 2.2.2.1 1234 vlan exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc lapb vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 2.2.2.2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r4 tping 100 30 2.2.2.1 vrf v1 r4 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwe16.tst000066400000000000000000000033771510423065500165230ustar00rootroot00000000000000description framerelay tunneling with mpls addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay mode dce framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int ser1 enc raw xconnect v1 lo0 pweompls 2.2.2.2 1234 vlan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int ser1 enc raw xconnect v1 lo0 pweompls 2.2.2.1 1234 vlan exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc framerelay framerelay lmi ansi framerelay dlci 123 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 2.2.2.2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r4 tping 100 30 2.2.2.1 vrf v1 r4 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwe17.tst000066400000000000000000000033021510423065500165100ustar00rootroot00000000000000description atmdxi tunneling with mpls addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int ser1 enc raw xconnect v1 lo0 pweompls 2.2.2.2 1234 vlan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int ser1 enc raw xconnect v1 lo0 pweompls 2.2.2.1 1234 vlan exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 2.2.2.2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r4 tping 100 30 2.2.2.1 vrf v1 r4 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwe18.tst000066400000000000000000000032231510423065500165130ustar00rootroot00000000000000description isdn tunneling with mpls addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn isdn mode dce vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int ser1 enc raw xconnect v1 lo0 pweompls 2.2.2.2 1234 vlan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int ser1 enc raw xconnect v1 lo0 pweompls 2.2.2.1 1234 vlan exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc isdn vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 2.2.2.2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r4 tping 100 30 2.2.2.1 vrf v1 r4 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwe19.tst000066400000000000000000000032011510423065500165100ustar00rootroot00000000000000description sep tunneling with mpls addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int ser1 enc raw xconnect v1 lo0 pweompls 2.2.2.2 1234 vlan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int ser1 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int ser1 enc raw xconnect v1 lo0 pweompls 2.2.2.1 1234 vlan exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int ser1 enc sep vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 10 2.2.2.2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r4 tping 100 30 2.2.2.1 vrf v1 r4 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwe20.tst000066400000000000000000000032141510423065500165040ustar00rootroot00000000000000description ethernet tunneling with mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int eth1 xconnect v1 lo0 pweompls 4321::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int eth2 xconnect v1 lo0 pweompls 4321::1 1234 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 30 4321::2 vrf v1 r3 tping 100 30 4321::1 vrf v1 r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r4 tping 100 30 2.2.2.1 vrf v1 r4 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwe21.tst000066400000000000000000000032301510423065500165030ustar00rootroot00000000000000description vlan tunneling with mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1.111 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int eth1.111 xconnect v1 lo0 pweompls 4321::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int eth2.222 xconnect v1 lo0 pweompls 4321::1 1234 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1.222 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 30 4321::2 vrf v1 r3 tping 100 30 4321::1 vrf v1 r1 tping 100 30 2.2.2.2 vrf v1 r1 tping 100 30 4321::2 vrf v1 r4 tping 100 30 2.2.2.1 vrf v1 r4 tping 100 30 4321::1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwe22.tst000066400000000000000000000027261510423065500165150ustar00rootroot00000000000000description tunnel interface with mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int tun1 tun vrf v1 tun sou lo0 tun dest 2.2.2.2 tun key 1234 tun mod pweompls vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int tun1 tun vrf v1 tun sou lo0 tun dest 2.2.2.1 tun key 1234 tun mod pweompls vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 3333::2 ffff:: exit ! r1 tping 100 30 2.2.2.2 vrf v1 sou lo0 r2 tping 100 30 2.2.2.1 vrf v1 sou lo0 r1 tping 100 30 3.3.3.2 vrf v1 r1 tping 100 30 3333::2 vrf v1 r2 tping 100 30 3.3.3.1 vrf v1 r2 tping 100 30 3333::1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwe23.tst000066400000000000000000000032131510423065500165060ustar00rootroot00000000000000description ethernet over mpls with cw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 bridge 1 mac-learn exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit vpdn eompls bridge-gr 1 proxy p1 target 2.2.2.2 mtu 1500 vcid 1234 control pwtype eth protocol pweompls exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 bridge 1 mac-learn exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 exit vpdn eompls bridge-gr 1 proxy p1 target 2.2.2.1 mtu 1500 vcid 1234 control pwtype eth protocol pweompls exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwhe01.tst000066400000000000000000000027401510423065500166560ustar00rootroot00000000000000description ppp over packet over udp pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int virt1 enc ppp vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pckoudp 2.2.2.2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int virt1 enc ppp vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pckoudp 2.2.2.1 1234 exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 r1 output show inter virt1 full output ../binTmp/mpls-virtppp.html here is the interface:
show:0
! freeRtr-25.11.9/cfg/mpls-pwhe02.tst000066400000000000000000000031531510423065500166560ustar00rootroot00000000000000description ethernet over packet over udp pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pckoudp 2.2.2.2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pckoudp 2.2.2.1 1234 exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 r1 output show inter pweth1 full r1 output show ipv4 arp pweth1 r1 output show ipv6 neigh pweth1 output ../binTmp/mpls-pweth.html here is the interface:
show:0
here is the arp:
show:1
here are the neighbors:
show:2
! freeRtr-25.11.9/cfg/mpls-pwhe03.tst000066400000000000000000000023471510423065500166630ustar00rootroot00000000000000description ethernet over vxlan pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 vxlan 2.2.2.2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 vxlan 2.2.2.1 1234 exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwhe04.tst000066400000000000000000000023521510423065500166600ustar00rootroot00000000000000description ethernet over geneve pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 geneve 2.2.2.2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 geneve 2.2.2.1 1234 exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwhe05.tst000066400000000000000000000023501510423065500166570ustar00rootroot00000000000000description ethernet over erspan pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 erspan 2.2.2.2 123 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 erspan 2.2.2.1 123 exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwhe06.tst000066400000000000000000000023441510423065500166630ustar00rootroot00000000000000description ethernet over dlsw pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 dlsw 2.2.2.2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 dlsw 2.2.2.1 1234 exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwhe07.tst000066400000000000000000000023551510423065500166660ustar00rootroot00000000000000description ethernet over etherip pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 etherip 2.2.2.2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 etherip 2.2.2.1 1234 exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwhe08.tst000066400000000000000000000023411510423065500166620ustar00rootroot00000000000000description ethernet over uti pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 uti 2.2.2.2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 uti 2.2.2.1 1234 exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwhe09.tst000066400000000000000000000023471510423065500166710ustar00rootroot00000000000000description ethernet over nvgre pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 nvgre 2.2.2.2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 nvgre 2.2.2.1 1234 exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwhe10.tst000066400000000000000000000023651510423065500166610ustar00rootroot00000000000000description ppp over greppp pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int virt1 enc ppp vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 greppp 2.2.2.2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int virt1 enc ppp vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 greppp 2.2.2.1 1234 exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwhe11.tst000066400000000000000000000023571510423065500166630ustar00rootroot00000000000000description ppp over ax25 pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int virt1 enc ppp vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 ax25 2.2.2.2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int virt1 enc ppp vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 ax25 2.2.2.1 1234 exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwhe12.tst000066400000000000000000000025261510423065500166620ustar00rootroot00000000000000description ppp over l2f pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int virt1 enc ppp ppp ip4cp open ppp ip4cp local 0.0.0.0 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 l2f 2.2.2.2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv4 pool p4 3.3.3.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 3.3.3.0 255.255.255.255 ppp ip4cp open ppp ip4cp local 3.3.3.0 ipv4 pool p4 exit server l2f l2f clone di1 vrf v1 exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.0 vrf v1 freeRtr-25.11.9/cfg/mpls-pwhe13.tst000066400000000000000000000025321510423065500166600ustar00rootroot00000000000000description ppp over pptp pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int virt1 enc ppp ppp ip4cp open ppp ip4cp local 0.0.0.0 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pptp 2.2.2.2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv4 pool p4 3.3.3.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 3.3.3.0 255.255.255.255 ppp ip4cp local 3.3.3.0 ppp ip4cp open ipv4 pool p4 exit server pptp pptp clone di1 vrf v1 exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.0 vrf v1 freeRtr-25.11.9/cfg/mpls-pwhe14.tst000066400000000000000000000025351510423065500166640ustar00rootroot00000000000000description ppp over l2tp2 pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int virt1 enc ppp ppp ip4cp open ppp ip4cp local 0.0.0.0 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 l2tp2 2.2.2.2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv4 pool p4 3.3.3.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 3.3.3.0 255.255.255.255 ppp ip4cp local 3.3.3.0 ppp ip4cp open ipv4 pool p4 exit server l2tp2 l2tp clone di1 vrf v1 exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.0 vrf v1 freeRtr-25.11.9/cfg/mpls-pwhe15.tst000066400000000000000000000023621510423065500166630ustar00rootroot00000000000000description ppp over l2tp3 pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int virt1 enc ppp vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 l2tp3 2.2.2.2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int virt1 enc ppp vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 l2tp3 2.2.2.1 1234 exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwhe16.tst000066400000000000000000000023471510423065500166670ustar00rootroot00000000000000description ethernet over l2tp3 pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 l2tp3 2.2.2.2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 l2tp3 2.2.2.1 1234 exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwhe17.tst000066400000000000000000000025531510423065500166670ustar00rootroot00000000000000description ppp over mpls pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int virt1 enc ppp vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int virt1 enc ppp vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwhe18.tst000066400000000000000000000025401510423065500166640ustar00rootroot00000000000000description ethernet over mpls pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwhe19.tst000066400000000000000000000025701510423065500166700ustar00rootroot00000000000000description ethernet over mpls pwhe with cw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.2 1234 control exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 control exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwhe20.tst000066400000000000000000000023521510423065500166560ustar00rootroot00000000000000description ethernet over gretap pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 gretap 2.2.2.2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 gretap 2.2.2.1 1234 exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-pwhe21.tst000066400000000000000000000023471510423065500166630ustar00rootroot00000000000000description ethernet over sreth pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 sreth 2.2.2.2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 sreth 2.2.2.1 1234 exit ! r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 freeRtr-25.11.9/cfg/mpls-sr01.tst000066400000000000000000000110701510423065500163330ustar00rootroot00000000000000description sr in chain addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1236::3 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1236::4 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 2.2.2.4 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 4321::4 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.4 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 4321::4 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 2.2.2.4 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r3 tping 100 20 4321::4 vrf v1 sou lo1 r4 tping 100 20 2.2.2.1 vrf v1 sou lo1 r4 tping 100 20 2.2.2.2 vrf v1 sou lo1 r4 tping 100 20 2.2.2.3 vrf v1 sou lo1 r4 tping 100 20 4321::1 vrf v1 sou lo1 r4 tping 100 20 4321::2 vrf v1 sou lo1 r4 tping 100 20 4321::3 vrf v1 sou lo1 r1 output show mpls forw r2 output show mpls forw r3 output show mpls forw r4 output show mpls forw output ../binTmp/mpls-sr.html here is the lib:
show:0
here is the lib:
show:1
here is the lib:
show:2
here is the lib:
show:3
! freeRtr-25.11.9/cfg/mpls-sr02.tst000066400000000000000000000102461510423065500163400ustar00rootroot00000000000000description sr in star addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth3 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1236::3 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1236::4 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 2.2.2.4 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 4321::4 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.4 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 4321::4 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 2.2.2.4 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r3 tping 100 20 4321::4 vrf v1 sou lo1 r4 tping 100 20 2.2.2.1 vrf v1 sou lo1 r4 tping 100 20 2.2.2.2 vrf v1 sou lo1 r4 tping 100 20 2.2.2.3 vrf v1 sou lo1 r4 tping 100 20 4321::1 vrf v1 sou lo1 r4 tping 100 20 4321::2 vrf v1 sou lo1 r4 tping 100 20 4321::3 vrf v1 sou lo1 freeRtr-25.11.9/cfg/mpls-sr03.tst000066400000000000000000000055741510423065500163510ustar00rootroot00000000000000description te over sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls rsvp4 mpls rsvp6 router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 2.2.2.3 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 tun sou lo1 tun dest 4321::3 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable mpls rsvp4 mpls rsvp6 router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable mpls rsvp4 mpls rsvp6 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable mpls rsvp4 mpls rsvp6 router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 2.2.2.1 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int tun2 tun sou lo1 tun dest 4321::1 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::1112 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 3.3.3.2 vrf v1 r1 tping 100 20 4321::1112 vrf v1 r3 tping 100 20 3.3.3.1 vrf v1 r3 tping 100 20 4321::1111 vrf v1 freeRtr-25.11.9/cfg/mpls-sr04.tst000066400000000000000000000054311510423065500163420ustar00rootroot00000000000000description pwe over sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 2.2.2.3 tun vrf v1 tun key 4321 tun mod pweompls vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 tun sou lo1 tun dest 4321::3 tun vrf v1 tun key 4321 tun mod pweompls vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 2.2.2.1 tun vrf v1 tun key 4321 tun mod pweompls vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int tun2 tun sou lo1 tun dest 4321::1 tun vrf v1 tun key 4321 tun mod pweompls vrf for v1 ipv6 addr 4321::1112 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 3.3.3.2 vrf v1 r1 tping 100 20 4321::1112 vrf v1 r3 tping 100 20 3.3.3.1 vrf v1 r3 tping 100 20 4321::1111 vrf v1 freeRtr-25.11.9/cfg/mpls-sr05.tst000066400000000000000000000060241510423065500163420ustar00rootroot00000000000000description bgp over sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo1 red conn exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 60 2.2.2.13 vrf v1 sou lo2 r1 tping 100 60 4321::13 vrf v1 sou lo2 r3 tping 100 60 2.2.2.11 vrf v1 sou lo2 r3 tping 100 60 4321::11 vrf v1 sou lo2 freeRtr-25.11.9/cfg/mpls-sr06.tst000066400000000000000000000070551510423065500163500ustar00rootroot00000000000000description bgp with labels over sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo1 red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo1 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo2 pweompls 2.2.2.13 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo2 pweompls 4321::13 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo1 red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo1 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo2 pweompls 2.2.2.11 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo2 pweompls 4321::11 1234 exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 60 2.2.2.13 vrf v1 sou lo2 r1 tping 100 60 4321::13 vrf v1 sou lo2 r3 tping 100 60 2.2.2.11 vrf v1 sou lo2 r3 tping 100 60 4321::11 vrf v1 sou lo2 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/mpls-sr07.tst000066400000000000000000000107141510423065500163450ustar00rootroot00000000000000description vpns over bgp over sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo1 neigh 2.2.2.3 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo1 neigh 4321::3 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo1 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo1 neigh 4321::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r3 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r3 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r3 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/mpls-sr08.tst000066400000000000000000000107551510423065500163530ustar00rootroot00000000000000description othervpns over bgp over sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo1 neigh 2.2.2.3 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo1 neigh 4321::3 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo1 neigh 2.2.2.1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo1 neigh 4321::1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r3 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r3 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r3 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/mpls-sr09.tst000066400000000000000000000076341510423065500163560ustar00rootroot00000000000000description sr over broadcast subnet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 2.2.2.4 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 4321::4 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.4 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 4321::4 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 2.2.2.4 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r3 tping 100 20 4321::4 vrf v1 sou lo1 r4 tping 100 20 2.2.2.1 vrf v1 sou lo1 r4 tping 100 20 2.2.2.2 vrf v1 sou lo1 r4 tping 100 20 2.2.2.3 vrf v1 sou lo1 r4 tping 100 20 4321::1 vrf v1 sou lo1 r4 tping 100 20 4321::2 vrf v1 sou lo1 r4 tping 100 20 4321::3 vrf v1 sou lo1 freeRtr-25.11.9/cfg/mpls-sr10.tst000066400000000000000000000104201510423065500163310ustar00rootroot00000000000000description sr te over mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $4a$ $4b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.4.5 255.255.255.0 ipv6 addr 1237::5 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback1 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 tunnel mode srmpls vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback1 tunnel destination 4321::3 tunnel domain-name 4321::2 tunnel mode srmpls vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp4 1 metric 100 router lsrp6 1 ena router lsrp6 1 metric 100 exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp4 1 metric 100 router lsrp6 1 ena router lsrp6 1 metric 100 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1236::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback1 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 tunnel mode srmpls vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback1 tunnel destination 4321::1 tunnel domain-name 4321::2 tunnel mode srmpls vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1236::4 ffff:: no mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.4.4 255.255.255.0 ipv6 addr 1237::4 ffff:: no mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 0 20 2.2.2.3 vrf v1 sou lo1 r1 tping 0 20 2.2.2.4 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 0 20 4321::3 vrf v1 sou lo1 r1 tping 0 20 4321::4 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 0 20 2.2.2.4 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 0 20 4321::4 vrf v1 sou lo1 r3 tping 0 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 0 20 2.2.2.4 vrf v1 sou lo1 r3 tping 0 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r3 tping 0 20 4321::4 vrf v1 sou lo1 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r3 tping 100 20 3333::1 vrf v1 sou tun2 freeRtr-25.11.9/cfg/mpls-sr11.tst000066400000000000000000000040751510423065500163430ustar00rootroot00000000000000description sr te over exthdr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! access-list all permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 srh enable ipv6 srh enable exit interface tun1 tunnel vrf v1 tunnel source ethernet1 tunnel destination 1.1.2.3 tunnel domain-name 1.1.1.2 tunnel mode srext vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source ethernet1 tunnel destination 1235::3 tunnel domain-name 1234::2 tunnel mode srext vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! access-list all permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 srh enable ipv6 srh enable exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: ipv4 srh enable ipv6 srh enable exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! access-list all permit all any all any all exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: ipv4 srh enable ipv6 srh enable exit interface tun1 tunnel vrf v1 tunnel source ethernet1 tunnel destination 1.1.1.1 tunnel domain-name 1.1.2.2 tunnel mode srext vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source ethernet1 tunnel destination 1234::1 tunnel domain-name 1235::2 tunnel mode srext vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 1.1.1.2 vrf v1 r1 tping 100 20 1234::2 vrf v1 r2 tping 100 20 1.1.1.1 vrf v1 r2 tping 100 20 1234::1 vrf v1 r2 tping 100 20 1.1.2.3 vrf v1 r2 tping 100 20 1235::3 vrf v1 r3 tping 100 20 1.1.2.2 vrf v1 r3 tping 100 20 1235::2 vrf v1 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r3 tping 100 20 3333::1 vrf v1 sou tun2 freeRtr-25.11.9/cfg/mpls-sr12.tst000066400000000000000000000072251510423065500163440ustar00rootroot00000000000000description bgp with php labels over sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 label-pop neigh 2.2.2.3 update lo1 red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 label-pop neigh 4321::3 update lo1 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo2 pweompls 2.2.2.13 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo2 pweompls 4321::13 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 label-pop neigh 2.2.2.1 update lo1 red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 label-pop neigh 4321::1 update lo1 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo2 pweompls 2.2.2.11 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo2 pweompls 4321::11 1234 exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 60 2.2.2.13 vrf v1 sou lo2 r1 tping 100 60 4321::13 vrf v1 sou lo2 r3 tping 100 60 2.2.2.11 vrf v1 sou lo2 r3 tping 100 60 4321::11 vrf v1 sou lo2 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/mpls-sr13.tst000066400000000000000000000060341510423065500163420ustar00rootroot00000000000000description sr te with pcep addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback1 tunnel destination 2.2.2.3 tunnel domain-name 1.1.1.2 v1 eth1 tunnel mode pcesr vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback1 tunnel destination 4321::3 tunnel domain-name 1.1.1.2 v1 eth1 tunnel mode pcesr vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit serv pcep p export-vrf v1 vrf v1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback1 tunnel destination 2.2.2.1 tunnel domain-name 1.1.1.2 v1 eth1 tunnel mode pcesr vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback1 tunnel destination 4321::1 tunnel domain-name 1.1.1.2 v1 eth1 tunnel mode pcesr vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r3 tping 100 20 3333::1 vrf v1 sou tun2 freeRtr-25.11.9/cfg/mpls-sr14.tst000066400000000000000000000070521510423065500163440ustar00rootroot00000000000000description bgp with ctp over sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit router bgp4 1 vrf v1 address ctp local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo1 red conn exit router bgp6 1 vrf v1 address ctp local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo1 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo2 pweompls 2.2.2.13 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo2 pweompls 4321::13 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit router bgp4 1 vrf v1 address ctp local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo1 red conn exit router bgp6 1 vrf v1 address ctp local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo1 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo2 pweompls 2.2.2.11 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo2 pweompls 4321::11 1234 exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 60 2.2.2.13 vrf v1 sou lo2 r1 tping 100 60 4321::13 vrf v1 sou lo2 r3 tping 100 60 2.2.2.11 vrf v1 sou lo2 r3 tping 100 60 4321::11 vrf v1 sou lo2 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/mpls-sr15.tst000066400000000000000000000072221510423065500163440ustar00rootroot00000000000000description bgp with php ctp over sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit router bgp4 1 vrf v1 address ctp local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 label-pop neigh 2.2.2.3 update lo1 red conn exit router bgp6 1 vrf v1 address ctp local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 label-pop neigh 4321::3 update lo1 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo2 pweompls 2.2.2.13 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo2 pweompls 4321::13 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit router bgp4 1 vrf v1 address ctp local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 label-pop neigh 2.2.2.1 update lo1 red conn exit router bgp6 1 vrf v1 address ctp local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 label-pop neigh 4321::1 update lo1 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo2 pweompls 2.2.2.11 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo2 pweompls 4321::11 1234 exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 60 2.2.2.13 vrf v1 sou lo2 r1 tping 100 60 4321::13 vrf v1 sou lo2 r3 tping 100 60 2.2.2.11 vrf v1 sou lo2 r3 tping 100 60 4321::11 vrf v1 sou lo2 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/mpls-sr16.tst000066400000000000000000000070521510423065500163460ustar00rootroot00000000000000description bgp with car over sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit router bgp4 1 vrf v1 address car local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo1 red conn exit router bgp6 1 vrf v1 address car local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo1 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo2 pweompls 2.2.2.13 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo2 pweompls 4321::13 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit router bgp4 1 vrf v1 address car local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo1 red conn exit router bgp6 1 vrf v1 address car local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo1 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo2 pweompls 2.2.2.11 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo2 pweompls 4321::11 1234 exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 60 2.2.2.13 vrf v1 sou lo2 r1 tping 100 60 4321::13 vrf v1 sou lo2 r3 tping 100 60 2.2.2.11 vrf v1 sou lo2 r3 tping 100 60 4321::11 vrf v1 sou lo2 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/mpls-sr17.tst000066400000000000000000000072221510423065500163460ustar00rootroot00000000000000description bgp with php car over sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit router bgp4 1 vrf v1 address car local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 label-pop neigh 2.2.2.3 update lo1 red conn exit router bgp6 1 vrf v1 address car local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 label-pop neigh 4321::3 update lo1 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo2 pweompls 2.2.2.13 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo2 pweompls 4321::13 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit router bgp4 1 vrf v1 address car local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 label-pop neigh 2.2.2.1 update lo1 red conn exit router bgp6 1 vrf v1 address car local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 label-pop neigh 4321::1 update lo1 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo2 pweompls 2.2.2.11 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo2 pweompls 4321::11 1234 exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 60 2.2.2.13 vrf v1 sou lo2 r1 tping 100 60 4321::13 vrf v1 sou lo2 r3 tping 100 60 2.2.2.11 vrf v1 sou lo2 r3 tping 100 60 4321::11 vrf v1 sou lo2 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/mpls-te01.tst000066400000000000000000000035751510423065500163320ustar00rootroot00000000000000description te over ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou eth1 tun dest 1.1.1.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit int tun2 tun sou eth1 tun dest 1234::2 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou eth1 tun dest 1.1.1.1 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit int tun2 tun sou eth1 tun dest 1234::1 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 r1 output show mpls forw r1 output show ipv4 rsvp v1 sum r1 output show ipv6 rsvp v1 sum output ../binTmp/mpls-te.html here is the lib:
show:0
here is the ipv4 database:
show:1
here is the ipv6 database:
show:2
! freeRtr-25.11.9/cfg/mpls-te02.tst000066400000000000000000000030421510423065500163200ustar00rootroot00000000000000description te over ethernet vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou eth1.11 tun dest 1.1.1.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit int tun2 tun sou eth1.11 tun dest 1234::2 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou eth1.11 tun dest 1.1.1.1 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit int tun2 tun sou eth1.11 tun dest 1234::1 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-te03.tst000066400000000000000000000031561510423065500163270ustar00rootroot00000000000000description te over ethernet bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit bridge 1 exit int eth1.11 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou bvi1 tun dest 1.1.1.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit int tun2 tun sou bvi1 tun dest 1234::2 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit bridge 1 exit int eth1.11 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou bvi1 tun dest 1.1.1.1 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit int tun2 tun sou bvi1 tun dest 1234::1 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-te04.tst000066400000000000000000000030011510423065500163150ustar00rootroot00000000000000description te over hdlc addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int ser1 enc hdlc vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou ser1 tun dest 1.1.1.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit int tun2 tun sou ser1 tun dest 1234::2 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int ser1 enc hdlc vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou ser1 tun dest 1.1.1.1 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit int tun2 tun sou ser1 tun dest 1234::1 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-te05.tst000066400000000000000000000031021510423065500163200ustar00rootroot00000000000000description te over ppp addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou ser1 tun dest 1.1.1.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit int tun2 tun sou ser1 tun dest 1234::2 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou ser1 tun dest 1.1.1.1 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit int tun2 tun sou ser1 tun dest 1234::1 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-te06.tst000066400000000000000000000031471510423065500163320ustar00rootroot00000000000000description te over framerelay addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int ser1 enc framerelay framerelay mode dce framerelay dlci 123 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou ser1 tun dest 1.1.1.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit int tun2 tun sou ser1 tun dest 1234::2 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int ser1 enc framerelay framerelay mode dte framerelay dlci 123 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou ser1 tun dest 1.1.1.1 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit int tun2 tun sou ser1 tun dest 1234::1 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-te07.tst000066400000000000000000000030771510423065500163350ustar00rootroot00000000000000description te over atmdxi addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou ser1 tun dest 1.1.1.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit int tun2 tun sou ser1 tun dest 1234::2 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou ser1 tun dest 1.1.1.1 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit int tun2 tun sou ser1 tun dest 1234::1 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-te08.tst000066400000000000000000000033721510423065500163340ustar00rootroot00000000000000description te over gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv6 addr 1111::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mod gre tunnel sou eth1 tunnel dest 1111::2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun2 tun sou tun1 tun dest 1.1.1.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit int tun3 tun sou tun1 tun dest 1234::2 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv6 addr 1111::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mod gre tunnel sou eth1 tunnel dest 1111::1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun2 tun sou tun1 tun dest 1.1.1.1 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit int tun3 tun sou tun1 tun dest 1234::1 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-te09.tst000066400000000000000000000033751510423065500163400ustar00rootroot00000000000000description te over ipip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv6 addr 1111::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mod ipip tunnel sou eth1 tunnel dest 1111::2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun2 tun sou tun1 tun dest 1.1.1.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit int tun3 tun sou tun1 tun dest 1234::2 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv6 addr 1111::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mod ipip tunnel sou eth1 tunnel dest 1111::1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun2 tun sou tun1 tun dest 1.1.1.1 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit int tun3 tun sou tun1 tun dest 1234::1 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-te10.tst000066400000000000000000000040761510423065500163270ustar00rootroot00000000000000description te over ipsec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv6 addr 1111::1 ffff:: exit exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel sou eth1 tunnel dest 1111::2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun2 tun sou tun1 tun dest 1.1.1.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit int tun3 tun sou tun1 tun dest 1234::2 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv6 addr 1111::2 ffff:: exit exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 exit int tun1 tunnel vrf v1 tunnel prot ips tunnel mode ipsec tunnel sou eth1 tunnel dest 1111::1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun2 tun sou tun1 tun dest 1.1.1.1 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit int tun3 tun sou tun1 tun dest 1234::1 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-te11.tst000066400000000000000000000045551510423065500163320ustar00rootroot00000000000000description te in chain addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.2 ipv6 route v1 2345::0 ffff:: 1234::2 int tun1 tun sou eth1 tun dest 1.1.2.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit int tun2 tun sou eth1 tun dest 2345::2 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 2345::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 2345::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234::0 ffff:: 2345::1 int tun1 tun sou eth1 tun dest 1.1.1.1 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit int tun2 tun sou eth1 tun dest 1234::1 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r3 tping 100 10 4321::1 vrf v1 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 r2 tping 0 10 1.1.2.2 vrf v1 r3 tping 0 10 1.1.2.1 vrf v1 freeRtr-25.11.9/cfg/mpls-te12.tst000066400000000000000000000045721510423065500163320ustar00rootroot00000000000000description ldp over te addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou eth1 tun dest 1.1.1.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 mpls enable mpls ldp4 ipv4 access-group-in test4 exit int tun2 tun sou eth1 tun dest 1234::2 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 2345::1 ffff:: mpls enable mpls ldp6 ipv6 access-group-in test6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2345::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou eth1 tun dest 1.1.1.1 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 mpls enable mpls ldp4 ipv4 access-group-in test4 exit int tun2 tun sou eth1 tun dest 1234::1 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 2345::2 ffff:: mpls enable mpls ldp6 ipv6 access-group-in test6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2345::1 ! r1 tping 100 10 1.1.2.2 vrf v1 r2 tping 100 10 1.1.2.1 vrf v1 r1 tping 100 10 2345::2 vrf v1 r2 tping 100 10 2345::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-te13.tst000066400000000000000000000062101510423065500163220ustar00rootroot00000000000000description pwe over te addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou eth1 tun dest 1.1.1.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 mpls enable mpls ldp4 exit int tun2 tun sou eth1 tun dest 1234::2 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 2345::1 ffff:: mpls enable mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2345::2 int tun3 tun vrf v1 tun sou lo0 tun dest 2.2.2.2 tun key 1234 tun mod pweompls vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 3333::1 ffff:: exit int tun4 tun vrf v1 tun sou lo0 tun dest 4321::2 tun key 4321 tun mod pweompls vrf for v1 ipv4 addr 4.4.4.1 255.255.255.0 ipv6 addr 4444::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou eth1 tun dest 1.1.1.1 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 mpls enable mpls ldp4 exit int tun2 tun sou eth1 tun dest 1234::1 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 2345::2 ffff:: mpls enable mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2345::1 int tun3 tun vrf v1 tun sou lo0 tun dest 2.2.2.1 tun key 1234 tun mod pweompls vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 3333::2 ffff:: exit int tun4 tun vrf v1 tun sou lo0 tun dest 4321::1 tun key 4321 tun mod pweompls vrf for v1 ipv4 addr 4.4.4.2 255.255.255.0 ipv6 addr 4444::2 ffff:: exit ! r1 tping 100 10 1.1.2.2 vrf v1 r2 tping 100 10 1.1.2.1 vrf v1 r1 tping 100 10 2345::2 vrf v1 r2 tping 100 10 2345::1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 10 3.3.3.2 vrf v1 r1 tping 100 10 3333::2 vrf v1 r2 tping 100 10 3.3.3.1 vrf v1 r2 tping 100 10 3333::1 vrf v1 r1 tping 100 10 4.4.4.2 vrf v1 r1 tping 100 10 4444::2 vrf v1 r2 tping 100 10 4.4.4.1 vrf v1 r2 tping 100 10 4444::1 vrf v1 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-te14.tst000066400000000000000000000070231510423065500163260ustar00rootroot00000000000000description ldp and te addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 mpls rsvp4 mpls rsvp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int tun1 tun sou lo0 tun dest 2.2.2.2 tun vrf v1 tun key 1234 tun mod pweompls vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int tun2 tun sou lo0 tun dest 4321::2 tun vrf v1 tun key 4321 tun mod pweompls vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit int tun3 tun sou lo0 tun dest 2.2.2.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 5.5.5.1 255.255.255.252 exit int tun4 tun sou lo0 tun dest 4321::2 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 5555::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable mpls ldp4 mpls ldp6 mpls rsvp4 mpls rsvp6 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 2345::1 ffff:: mpls enable mpls ldp4 mpls ldp6 mpls rsvp4 mpls rsvp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.2.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2345::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 2345::2 ffff:: mpls enable mpls ldp4 mpls ldp6 mpls rsvp4 mpls rsvp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.2.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2345::1 int tun1 tun sou lo0 tun dest 2.2.2.1 tun vrf v1 tun key 1234 tun mod pweompls vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int tun2 tun sou lo0 tun dest 4321::1 tun vrf v1 tun key 4321 tun mod pweompls vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit int tun3 tun sou lo0 tun dest 2.2.2.1 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 5.5.5.2 255.255.255.252 exit int tun4 tun sou lo0 tun dest 4321::1 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 5555::2 ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234::2 vrf v1 r3 tping 100 10 1.1.2.1 vrf v1 r3 tping 100 10 2345::1 vrf v1 r2 tping 100 10 1.1.1.1 vrf v1 r2 tping 100 10 1234::1 vrf v1 r2 tping 100 10 1.1.2.2 vrf v1 r2 tping 100 10 2345::2 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r3 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 100 10 3.3.3.2 vrf v1 r3 tping 100 10 3.3.3.1 vrf v1 r1 tping 100 10 3333::2 vrf v1 r3 tping 100 10 3333::1 vrf v1 r1 tping 100 10 4.4.4.2 vrf v1 r3 tping 100 10 4.4.4.1 vrf v1 r1 tping 100 10 4444::2 vrf v1 r3 tping 100 10 4444::1 vrf v1 r1 tping 100 10 5.5.5.2 vrf v1 r3 tping 100 10 5.5.5.1 vrf v1 r1 tping 100 10 5555::2 vrf v1 r3 tping 100 10 5555::1 vrf v1 freeRtr-25.11.9/cfg/mpls-te15.tst000066400000000000000000000123451510423065500163320ustar00rootroot00000000000000description p2mp te addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.11.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.11.2 ipv6 route v1 :: :: 1234:1::2 interface tunnel1 tunnel source loopback0 tunnel destination 9.9.9.9 tunnel domain-name 2.2.2.2 2.2.2.3 tunnel vrf v1 tunnel mode p2mpte vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit interface tunnel2 tunnel source loopback0 tunnel destination 9999::9 tunnel domain-name 4321::2 4321::3 tunnel vrf v1 tunnel mode p2mpte vrf for v1 ipv6 addr 3333::1 ffff:ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.12.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.12.2 ipv6 route v1 :: :: 1234:2::2 int tun1 tun sou lo0 tun dest 2.2.2.1 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::1 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 3333::2 ffff:ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.13.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.13.2 ipv6 route v1 :: :: 1234:3::2 int tun1 tun sou lo0 tun dest 2.2.2.1 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::1 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 3333::3 ffff:ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $1b$ $1a$ int eth2 eth 0000.0000.4444 $2b$ $2a$ int eth3 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.11.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.11.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 int eth2 vrf for v1 ipv4 addr 1.1.12.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.12.1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 int eth3 vrf for v1 ipv4 addr 1.1.13.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.13.1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r4 tping 100 10 2.2.2.1 vrf v1 sou lo0 r4 tping 100 10 4321::1 vrf v1 sou lo0 r4 tping 100 10 2.2.2.2 vrf v1 sou lo0 r4 tping 100 10 4321::2 vrf v1 sou lo0 r4 tping 100 10 2.2.2.3 vrf v1 sou lo0 r4 tping 100 10 4321::3 vrf v1 sou lo0 r1 tping 100 10 2.2.2.4 vrf v1 sou lo0 r1 tping 100 10 4321::4 vrf v1 sou lo0 r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 r1 tping 100 10 4321::3 vrf v1 sou lo0 r2 tping 100 10 2.2.2.4 vrf v1 sou lo0 r2 tping 100 10 4321::4 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 r2 tping 100 10 4321::3 vrf v1 sou lo0 r3 tping 100 10 2.2.2.4 vrf v1 sou lo0 r3 tping 100 10 4321::4 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 r3 tping 100 10 4321::1 vrf v1 sou lo0 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 r3 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 3.3.3.1 vrf v1 r1 tping 100 10 3.3.3.2 vrf v1 r1 tping 100 10 3.3.3.3 vrf v1 r1 tping 100 10 3333::1 vrf v1 r1 tping 100 10 3333::2 vrf v1 r1 tping 100 10 3333::3 vrf v1 r2 tping 100 10 3.3.3.1 vrf v1 r2 tping 100 10 3.3.3.2 vrf v1 r2 tping 100 10 3.3.3.3 vrf v1 r2 tping 100 10 3333::1 vrf v1 r2 tping 100 10 3333::2 vrf v1 r2 tping 100 10 3333::3 vrf v1 r3 tping 100 10 3.3.3.1 vrf v1 r3 tping 100 10 3.3.3.2 vrf v1 r3 tping 100 10 3.3.3.3 vrf v1 r3 tping 100 10 3333::1 vrf v1 r3 tping 100 10 3333::2 vrf v1 r3 tping 100 10 3333::3 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 r1 output show mpls forw r1 output show ipv4 rsvp v1 sum r1 output show ipv6 rsvp v1 sum output ../binTmp/mpls-te-p2mp.html here is the lib:
show:0
here is the ipv4 database:
show:1
here is the ipv6 database:
show:2
! freeRtr-25.11.9/cfg/mpls-te16.tst000066400000000000000000000106341510423065500163320ustar00rootroot00000000000000description p2mp te tail+mid addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.11.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.11.2 ipv6 route v1 :: :: 1234:1::2 interface tunnel1 tunnel source loopback0 tunnel destination 9.9.9.9 tunnel domain-name 2.2.2.2 2.2.2.3 2.2.2.4 tunnel vrf v1 tunnel mode p2mpte vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit interface tunnel2 tunnel source loopback0 tunnel destination 9999::9 tunnel domain-name 4321::2 4321::3 4321::4 tunnel vrf v1 tunnel mode p2mpte vrf for v1 ipv6 addr 3333::1 ffff:ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.12.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.12.2 ipv6 route v1 :: :: 1234:2::2 int lo1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addrouter r3 int eth1 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.13.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.13.2 ipv6 route v1 :: :: 1234:3::2 int lo1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! addrouter r4 int eth1 eth 0000.0000.4444 $1b$ $1a$ int eth2 eth 0000.0000.4444 $2b$ $2a$ int eth3 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.11.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.11.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 int eth2 vrf for v1 ipv4 addr 1.1.12.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.12.1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 int eth3 vrf for v1 ipv4 addr 1.1.13.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.13.1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 int lo1 vrf for v1 ipv4 addr 3.3.3.4 255.255.255.255 ipv6 addr 3333::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit ! r4 tping 100 10 2.2.2.1 vrf v1 sou lo0 r4 tping 100 10 4321::1 vrf v1 sou lo0 r4 tping 100 10 2.2.2.2 vrf v1 sou lo0 r4 tping 100 10 4321::2 vrf v1 sou lo0 r4 tping 100 10 2.2.2.3 vrf v1 sou lo0 r4 tping 100 10 4321::3 vrf v1 sou lo0 r1 tping 100 10 2.2.2.4 vrf v1 sou lo0 r1 tping 100 10 4321::4 vrf v1 sou lo0 r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 2.2.2.3 vrf v1 sou lo0 r1 tping 100 10 4321::3 vrf v1 sou lo0 r2 tping 100 10 2.2.2.4 vrf v1 sou lo0 r2 tping 100 10 4321::4 vrf v1 sou lo0 r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r2 tping 100 10 2.2.2.3 vrf v1 sou lo0 r2 tping 100 10 4321::3 vrf v1 sou lo0 r3 tping 100 10 2.2.2.4 vrf v1 sou lo0 r3 tping 100 10 4321::4 vrf v1 sou lo0 r3 tping 100 10 2.2.2.1 vrf v1 sou lo0 r3 tping 100 10 4321::1 vrf v1 sou lo0 r3 tping 100 10 2.2.2.2 vrf v1 sou lo0 r3 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 100 10 3.3.3.1 vrf v1 sou lo0 multi r1 tping 100 10 3.3.3.2 vrf v1 sou lo0 multi r1 tping 100 10 3.3.3.3 vrf v1 sou lo0 multi r1 tping 300 10 3.3.3.4 vrf v1 sou lo0 multi r1 tping 100 10 3333::1 vrf v1 sou lo0 multi r1 tping 100 10 3333::2 vrf v1 sou lo0 multi r1 tping 100 10 3333::3 vrf v1 sou lo0 multi r1 tping 300 10 3333::4 vrf v1 sou lo0 multi freeRtr-25.11.9/cfg/mpls-te17.tst000066400000000000000000000032241510423065500163300ustar00rootroot00000000000000description te with pcep addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou eth1 tun dest 1.1.1.2 tun vrf v1 tun dom 1.1.1.2 v1 eth1 tun mod pcete vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit int tun2 tun sou eth1 tun dest 1234::2 tun vrf v1 tun dom 1.1.1.2 v1 eth1 tun mod pcete vrf for v1 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit serv pcep p export-vrf v1 vrf v1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou eth1 tun dest 1.1.1.1 tun vrf v1 tun dom 1.1.1.2 v1 eth1 tun mod pcete vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit int tun2 tun sou eth1 tun dest 1234::1 tun vrf v1 tun dom 1.1.1.2 v1 eth1 tun mod pcete vrf for v1 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-te18.tst000066400000000000000000000031351510423065500163320ustar00rootroot00000000000000description te over point2point ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.254 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou eth1 tun dest 1.1.1.3 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit int tun2 tun sou eth1 tun dest 1234::3 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.254 ipv6 addr 1234::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou eth1 tun dest 1.1.1.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit int tun2 tun sou eth1 tun dest 1234::2 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 r1 tping 0 10 1.1.1.3 vrf v1 r2 tping 0 10 1.1.1.2 vrf v1 freeRtr-25.11.9/cfg/mpls-te19.tst000066400000000000000000000031731510423065500163350ustar00rootroot00000000000000description bidir te without global id addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou eth1 tun dest 1.1.1.2 tun vrf v1 tun assoc 4.3.2.1 1234 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit int tun2 tun sou eth1 tun dest 1234::2 tun vrf v1 tun assoc 4444::5555 1234 tun mod p2pte vrf for v1 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou eth1 tun dest 1.1.1.1 tun vrf v1 tun assoc 4.3.2.1 1234 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit int tun2 tun sou eth1 tun dest 1234::1 tun vrf v1 tun assoc 4444::5555 1234 tun mod p2pte vrf for v1 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-te20.tst000066400000000000000000000032341510423065500163230ustar00rootroot00000000000000description bidir te with global id addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou eth1 tun dest 1.1.1.2 tun vrf v1 tun assoc 4.3.2.1 1234 12345678 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit int tun2 tun sou eth1 tun dest 1234::2 tun vrf v1 tun assoc 4444::5555 1234 12345678 tun mod p2pte vrf for v1 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int tun1 tun sou eth1 tun dest 1.1.1.1 tun vrf v1 tun assoc 4.3.2.1 1234 12345678 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit int tun2 tun sou eth1 tun dest 1234::1 tun vrf v1 tun assoc 4444::5555 1234 12345678 tun mod p2pte vrf for v1 ipv6 addr 4321::2 ffff:: exit ! r1 tping 100 10 2.2.2.2 vrf v1 r2 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r2 tping 100 10 4321::1 vrf v1 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 freeRtr-25.11.9/cfg/mpls-te21.tst000066400000000000000000000107551510423065500163320ustar00rootroot00000000000000description te explicit path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $4a$ $4b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls rsvp4 mpls rsvp6 router pvrp4 1 ena router pvrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.4.5 255.255.255.0 ipv6 addr 1237::5 ffff:: mpls enable mpls rsvp4 mpls rsvp6 router pvrp4 1 ena router pvrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback1 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 tunnel mode p2pte vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback1 tunnel destination 4321::3 tunnel domain-name 4321::2 tunnel mode p2pte vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable mpls rsvp4 mpls rsvp6 router pvrp4 1 ena router pvrp4 1 metric-out 100 router pvrp6 1 ena router pvrp6 1 metric-out 100 exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable mpls rsvp4 mpls rsvp6 router pvrp4 1 ena router pvrp4 1 metric-out 100 router pvrp6 1 ena router pvrp6 1 metric-out 100 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.3 red conn exit router pvrp6 1 vrf v1 router 6.6.6.3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable mpls rsvp4 mpls rsvp6 router pvrp4 1 ena router pvrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1236::3 ffff:: mpls enable mpls rsvp4 mpls rsvp6 router pvrp4 1 ena router pvrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback1 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 tunnel mode p2pte vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback1 tunnel destination 4321::1 tunnel domain-name 4321::2 tunnel mode p2pte vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.4 red conn exit router pvrp6 1 vrf v1 router 6.6.6.4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1236::4 ffff:: no mpls enable no mpls rsvp4 no mpls rsvp6 router pvrp4 1 ena router pvrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.4.4 255.255.255.0 ipv6 addr 1237::4 ffff:: no mpls enable no mpls rsvp4 no mpls rsvp6 router pvrp4 1 ena router pvrp6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 2.2.2.4 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 4321::4 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.4 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 4321::4 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 2.2.2.4 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r3 tping 100 20 4321::4 vrf v1 sou lo1 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r3 tping 100 20 3333::1 vrf v1 sou tun2 freeRtr-25.11.9/cfg/mpls-te22.tst000066400000000000000000000062571510423065500163350ustar00rootroot00000000000000description bgp over te addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.2 ipv6 route v1 2345::0 ffff:: 1234::2 int tun1 tun sou eth1 tun dest 1.1.2.2 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.1 255.255.255.252 exit int tun2 tun sou eth1 tun dest 2345::2 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::1 ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 2345::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 2345::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234::0 ffff:: 2345::1 int tun1 tun sou eth1 tun dest 1.1.1.1 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 2.2.2.2 255.255.255.252 exit int tun2 tun sou eth1 tun dest 1234::1 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 4321::2 ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 red conn exit ! r1 tping 100 10 2.2.2.2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r3 tping 100 10 4321::1 vrf v1 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 r2 tping 0 10 1.1.2.2 vrf v1 r3 tping 0 10 1.1.2.1 vrf v1 r1 tping 100 60 3.3.3.3 vrf v1 sou lo1 r3 tping 100 60 3.3.3.1 vrf v1 sou lo1 r1 tping 100 60 3333::3 vrf v1 sou lo1 r3 tping 100 60 3333::1 vrf v1 sou lo1 freeRtr-25.11.9/cfg/mpls-xconn01.tst000066400000000000000000000025271510423065500170430ustar00rootroot00000000000000description cross connect with pwe over mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit int tun1 tunnel vrf v1 tunnel mode pweompls tunnel key 1234 tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable exit xconnect con side1 v1 eth1 pweompls 1.1.1.1 1234 side2 v1 eth2 pweompls 1234:2::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable exit int tun1 tunnel vrf v1 tunnel mode pweompls tunnel key 1234 tunnel source ethernet1 tunnel destination 1234:2::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:2::2 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/mpls-xconn02.tst000066400000000000000000000024371510423065500170440ustar00rootroot00000000000000description cross connect with packet over udp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode pckoudp tunnel key 1234 tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit xconnect con side1 v1 eth1 pckoudp 1.1.1.1 1234 side2 v1 eth2 pckoudp 1234:2::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode pckoudp tunnel key 1234 tunnel source ethernet1 tunnel destination 1234:2::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:2::2 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r3 tping 100 5 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/mpls-xconn03.tst000066400000000000000000000024151510423065500170410ustar00rootroot00000000000000description cross connect with vxlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode vxlan tunnel key 1234 tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit xconnect con side1 v1 eth1 vxlan 1.1.1.1 1234 side2 v1 eth2 vxlan 1234:2::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode vxlan tunnel key 1234 tunnel source ethernet1 tunnel destination 1234:2::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:2::2 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r3 tping 100 5 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/mpls-xconn04.tst000066400000000000000000000024221510423065500170400ustar00rootroot00000000000000description cross connect with geneve addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode geneve tunnel key 1234 tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit xconnect con side1 v1 eth1 geneve 1.1.1.1 1234 side2 v1 eth2 geneve 1234:2::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode geneve tunnel key 1234 tunnel source ethernet1 tunnel destination 1234:2::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:2::2 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r3 tping 100 5 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/mpls-xconn05.tst000066400000000000000000000024161510423065500170440ustar00rootroot00000000000000description cross connect with erspan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode erspan tunnel key 123 tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit xconnect con side1 v1 eth1 erspan 1.1.1.1 123 side2 v1 eth2 erspan 1234:2::2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode erspan tunnel key 123 tunnel source ethernet1 tunnel destination 1234:2::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:2::2 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r3 tping 100 5 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/mpls-xconn06.tst000066400000000000000000000024231510423065500170430ustar00rootroot00000000000000description cross connect with etherip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode etherip tunnel key 123 tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit xconnect con side1 v1 eth1 etherip 1.1.1.1 123 side2 v1 eth2 etherip 1234:2::2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode etherip tunnel key 123 tunnel source ethernet1 tunnel destination 1234:2::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:2::2 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r3 tping 100 5 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/mpls-xconn07.tst000066400000000000000000000024111510423065500170410ustar00rootroot00000000000000description cross connect with sreth addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode sreth tunnel key 123 tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit xconnect con side1 v1 eth1 sreth 1.1.1.1 123 side2 v1 eth2 sreth 1234:2::2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode sreth tunnel key 123 tunnel source ethernet1 tunnel destination 1234:2::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:2::2 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r3 tping 100 5 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/mpls-xconn08.tst000066400000000000000000000024111510423065500170420ustar00rootroot00000000000000description cross connect with nvgre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode nvgre tunnel key 123 tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit xconnect con side1 v1 eth1 nvgre 1.1.1.1 123 side2 v1 eth2 nvgre 1234:2::2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode nvgre tunnel key 123 tunnel source ethernet1 tunnel destination 1234:2::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:2::2 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r3 tping 100 5 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/mpls-xconn09.tst000066400000000000000000000023771510423065500170560ustar00rootroot00000000000000description cross connect with uti addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode uti tunnel key 123 tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit xconnect con side1 v1 eth1 uti 1.1.1.1 123 side2 v1 eth2 uti 1234:2::2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode uti tunnel key 123 tunnel source ethernet1 tunnel destination 1234:2::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:2::2 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 r3 tping 100 5 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/mpls-xconn10.tst000066400000000000000000000026111510423065500170350ustar00rootroot00000000000000description cross connect with pwe over mpls with cw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit int tun1 tunnel vrf v1 tunnel mode pweompls tunnel key 1234 tunnel sequ tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable exit xconnect con side1 v1 eth1 pweompls 1.1.1.1 1234 control side2 v1 eth2 pweompls 1234:2::2 1234 control exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable exit int tun1 tunnel vrf v1 tunnel mode pweompls tunnel key 1234 tunnel sequ tunnel source ethernet1 tunnel destination 1234:2::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:2::2 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/mpls-xconn11.tst000066400000000000000000000025121510423065500170360ustar00rootroot00000000000000description cross connect interworking with packet over udp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit int tun1 tunnel vrf v1 tunnel mode pweompls tunnel key 1234 tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit xconnect con side1 v1 eth1 pweompls 1.1.1.1 1234 side2 v1 eth2 pckoudp 1234:2::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode pckoudp tunnel key 1234 tunnel source ethernet1 tunnel destination 1234:2::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:2::2 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/mpls-xconn12.tst000066400000000000000000000024741510423065500170460ustar00rootroot00000000000000description cross connect interworking with vxlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit int tun1 tunnel vrf v1 tunnel mode pweompls tunnel key 1234 tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit xconnect con side1 v1 eth1 pweompls 1.1.1.1 1234 side2 v1 eth2 vxlan 1234:2::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode vxlan tunnel key 1234 tunnel source ethernet1 tunnel destination 1234:2::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:2::2 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/mpls-xconn13.tst000066400000000000000000000024771510423065500170520ustar00rootroot00000000000000description cross connect interworking with geneve addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit int tun1 tunnel vrf v1 tunnel mode pweompls tunnel key 1234 tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit xconnect con side1 v1 eth1 pweompls 1.1.1.1 1234 side2 v1 eth2 geneve 1234:2::2 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode geneve tunnel key 1234 tunnel source ethernet1 tunnel destination 1234:2::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:2::2 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/mpls-xconn14.tst000066400000000000000000000024731510423065500170470ustar00rootroot00000000000000description cross connect interworking with erspan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit int tun1 tunnel vrf v1 tunnel mode pweompls tunnel key 123 tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit xconnect con side1 v1 eth1 pweompls 1.1.1.1 123 side2 v1 eth2 erspan 1234:2::2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode erspan tunnel key 123 tunnel source ethernet1 tunnel destination 1234:2::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:2::2 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/mpls-xconn15.tst000066400000000000000000000024761510423065500170530ustar00rootroot00000000000000description cross connect interworking with etherip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit int tun1 tunnel vrf v1 tunnel mode pweompls tunnel key 123 tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit xconnect con side1 v1 eth1 pweompls 1.1.1.1 123 side2 v1 eth2 etherip 1234:2::2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode etherip tunnel key 123 tunnel source ethernet1 tunnel destination 1234:2::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:2::2 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/mpls-xconn16.tst000066400000000000000000000024701510423065500170460ustar00rootroot00000000000000description cross connect interworking with sreth addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit int tun1 tunnel vrf v1 tunnel mode pweompls tunnel key 123 tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit xconnect con side1 v1 eth1 pweompls 1.1.1.1 123 side2 v1 eth2 sreth 1234:2::2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode sreth tunnel key 123 tunnel source ethernet1 tunnel destination 1234:2::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:2::2 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/mpls-xconn17.tst000066400000000000000000000024701510423065500170470ustar00rootroot00000000000000description cross connect interworking with nvgre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit int tun1 tunnel vrf v1 tunnel mode pweompls tunnel key 123 tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit xconnect con side1 v1 eth1 pweompls 1.1.1.1 123 side2 v1 eth2 nvgre 1234:2::2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode nvgre tunnel key 123 tunnel source ethernet1 tunnel destination 1234:2::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:2::2 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/mpls-xconn18.tst000066400000000000000000000024621510423065500170510ustar00rootroot00000000000000description cross connect interworking with uti addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit int tun1 tunnel vrf v1 tunnel mode pweompls tunnel key 123 tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit xconnect con side1 v1 eth1 pweompls 1.1.1.1 123 side2 v1 eth2 uti 1234:2::2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode uti tunnel key 123 tunnel source ethernet1 tunnel destination 1234:2::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:2::2 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/mpls-xconn19.tst000066400000000000000000000024651510423065500170550ustar00rootroot00000000000000description cross connect interworking with dlsw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit int tun1 tunnel vrf v1 tunnel mode pweompls tunnel key 123 tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit xconnect con side1 v1 eth1 pweompls 1.1.1.1 123 side2 v1 eth2 dlsw 1234:2::2 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tunnel vrf v1 tunnel mode dlsw tunnel key 123 tunnel source ethernet1 tunnel destination 1234:2::1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:2::2 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r3 tping 100 10 2.2.2.1 vrf v1 freeRtr-25.11.9/cfg/mpls-xconn20.tst000066400000000000000000000213561510423065500170450ustar00rootroot00000000000000description cross connect with everything addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ int eth4 eth 0000.0000.4444 $4a$ $4b$ int eth5 eth 0000.0000.5555 $5a$ $5b$ int eth6 eth 0000.0000.6666 $6a$ $6b$ int eth7 eth 0000.0000.7777 $7a$ $7b$ int eth8 eth 0000.0000.8888 $8a$ $8b$ int eth9 eth 0000.0000.9999 $9a$ $9b$ int eth10 eth 0000.0000.aaaa $10a$ $10b$ int eth11 eth 0000.0000.bbbb $11a$ $11b$ int eth12 eth 0000.0000.cccc $12a$ $12b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p2 vrf v1 source lo0 exit proxy-profile p1 vrf v1 exit bridge 1 mac-learn exit int bvi1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit vpdn l2tp bridge-gr 1 proxy p1 tar 1.1.1.2 vcid 1234 dir out pwt eth prot l2tp3 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 3.3.3.3 255.255.255.255 1.1.1.6 ipv6 route v1 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 vpdn eompls bridge-gr 1 proxy p2 target 3.3.3.3 mtu 1500 vcid 1234 pwtype eth protocol pweompls exit int eth3 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit vpdn pou bridge-gr 1 proxy p1 target 1.1.1.10 vcid 1234 protocol pckoudp exit int eth4 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: exit vpdn vxl bridge-gr 1 proxy p1 tar 1.1.1.14 vcid 1234 prot vxlan exit int eth5 vrf for v1 ipv4 addr 1.1.1.17 255.255.255.252 ipv6 addr 1234:5::1 ffff:ffff:: exit vpdn gnv bridge-gr 1 proxy p1 tar 1.1.1.18 vcid 1234 prot geneve exit int eth6 vrf for v1 ipv4 addr 1.1.1.21 255.255.255.252 ipv6 addr 1234:6::1 ffff:ffff:: exit vpdn rspn bridge-gr 1 proxy p1 tar 1.1.1.22 vcid 123 prot erspan exit int eth7 vrf for v1 ipv4 addr 1.1.1.25 255.255.255.252 ipv6 addr 1234:7::1 ffff:ffff:: exit vpdn eip bridge-gr 1 proxy p1 tar 1.1.1.26 vcid 1234 prot etherip exit int eth8 vrf for v1 ipv4 addr 1.1.1.29 255.255.255.252 ipv6 addr 1234:8::1 ffff:ffff:: exit vpdn ngr bridge-gr 1 proxy p1 tar 1.1.1.30 vcid 1234 prot nvgre exit int eth9 vrf for v1 ipv4 addr 1.1.1.33 255.255.255.252 ipv6 addr 1234:9::1 ffff:ffff:: exit vpdn uti bridge-gr 1 proxy p1 tar 1.1.1.34 vcid 1234 prot uti exit int eth10 vrf for v1 ipv4 addr 1.1.1.37 255.255.255.252 ipv6 addr 1234:10::1 ffff:ffff:: exit vpdn dlsw bridge-gr 1 proxy p1 tar 1.1.1.38 vcid 1234 prot dlsw exit int eth11 vrf for v1 ipv4 addr 1.1.1.41 255.255.255.252 ipv6 addr 1234:11::1 ffff:ffff:: exit vpdn capwap bridge-gr 1 proxy p1 tar 1.1.1.42 prot capwap exit int eth12 vrf for v1 ipv4 addr 1.1.1.45 255.255.255.252 ipv6 addr 1234:12::1 ffff:ffff:: exit vpdn lwapp bridge-gr 1 proxy p1 tar 1.1.1.46 prot lwapp exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:ffff:: exit vpdn l2tp bridge-gr 1 proxy p1 tar 1.1.1.1 vcid 1234 dir in pwt eth prot l2tp3 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit proxy-profile p1 vrf v1 source lo0 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.0 ipv6 addr 4321::3 ffff:ffff:: exit ipv4 route v1 3.3.3.1 255.255.255.255 1.1.1.5 ipv6 route v1 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 vpdn eompls bridge-gr 1 proxy p1 target 3.3.3.1 mtu 1500 vcid 1234 pwtype eth protocol pweompls exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.0 ipv6 addr 4321::4 ffff:ffff:: exit vpdn pou bridge-gr 1 proxy p1 target 1.1.1.9 vcid 1234 protocol pckoudp exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.0 ipv6 addr 4321::5 ffff:ffff:: exit server vxlan vxl bridge 1 vrf v1 inst 1234 exit ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.18 255.255.255.252 ipv6 addr 1234:5::2 ffff:ffff:: exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.6 255.255.255.0 ipv6 addr 4321::6 ffff:ffff:: exit server geneve gnv bridge 1 vrf v1 vni 1234 exit ! addrouter r7 int eth1 eth 0000.0000.7777 $6b$ $6a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.22 255.255.255.252 ipv6 addr 1234:6::2 ffff:ffff:: exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.7 255.255.255.0 ipv6 addr 4321::7 ffff:ffff:: exit vpdn rspn bridge-gr 1 proxy p1 tar 1.1.1.21 vcid 123 prot erspan exit ! addrouter r8 int eth1 eth 0000.0000.8888 $7b$ $7a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.26 255.255.255.252 ipv6 addr 1234:7::2 ffff:ffff:: exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.8 255.255.255.0 ipv6 addr 4321::8 ffff:ffff:: exit vpdn eip bridge-gr 1 proxy p1 tar 1.1.1.25 vcid 1234 prot etherip exit ! addrouter r9 int eth1 eth 0000.0000.9999 $8b$ $8a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.30 255.255.255.252 ipv6 addr 1234:8::2 ffff:ffff:: exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.9 255.255.255.0 ipv6 addr 4321::9 ffff:ffff:: exit vpdn ngr bridge-gr 1 proxy p1 tar 1.1.1.29 vcid 1234 prot nvgre exit ! addrouter r10 int eth1 eth 0000.0000.aaaa $9b$ $9a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.34 255.255.255.252 ipv6 addr 1234:9::2 ffff:ffff:: exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.10 255.255.255.0 ipv6 addr 4321::10 ffff:ffff:: exit vpdn uti bridge-gr 1 proxy p1 tar 1.1.1.33 vcid 1234 prot uti exit ! addrouter r11 int eth1 eth 0000.0000.bbbb $10b$ $10a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.38 255.255.255.252 ipv6 addr 1234:10::2 ffff:ffff:: exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.0 ipv6 addr 4321::11 ffff:ffff:: exit vpdn uti bridge-gr 1 proxy p1 tar 1.1.1.37 vcid 1234 prot dlsw exit ! addrouter r12 int eth1 eth 0000.0000.cccc $11b$ $11a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.42 255.255.255.252 ipv6 addr 1234:11::2 ffff:ffff:: exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.0 ipv6 addr 4321::12 ffff:ffff:: exit vpdn uti bridge-gr 1 proxy p1 tar 1.1.1.41 prot capwap exit ! addrouter r13 int eth1 eth 0000.0000.dddd $12b$ $12a$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.46 255.255.255.252 ipv6 addr 1234:12::2 ffff:ffff:: exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.0 ipv6 addr 4321::13 ffff:ffff:: exit vpdn uti bridge-gr 1 proxy p1 tar 1.1.1.45 prot lwapp exit ! r1 tping 100 10 2.2.2.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 r1 tping 100 10 2.2.2.3 vrf v1 r1 tping 100 10 2.2.2.4 vrf v1 r1 tping 100 10 2.2.2.5 vrf v1 r1 tping 100 10 2.2.2.6 vrf v1 r1 tping 100 10 2.2.2.7 vrf v1 r1 tping 100 10 2.2.2.8 vrf v1 r1 tping 100 10 2.2.2.9 vrf v1 r1 tping 100 10 2.2.2.10 vrf v1 r1 tping 100 10 2.2.2.11 vrf v1 r1 tping 100 10 2.2.2.12 vrf v1 r1 tping 100 10 2.2.2.13 vrf v1 r1 tping 100 10 4321::1 vrf v1 r1 tping 100 10 4321::2 vrf v1 r1 tping 100 10 4321::3 vrf v1 r1 tping 100 10 4321::4 vrf v1 r1 tping 100 10 4321::5 vrf v1 r1 tping 100 10 4321::6 vrf v1 r1 tping 100 10 4321::7 vrf v1 r1 tping 100 10 4321::8 vrf v1 r1 tping 100 10 4321::9 vrf v1 r1 tping 100 10 4321::10 vrf v1 r1 tping 100 10 4321::11 vrf v1 r1 tping 100 10 4321::12 vrf v1 r1 tping 100 10 4321::13 vrf v1 freeRtr-25.11.9/cfg/opnflw-rout01.tst000066400000000000000000000233371510423065500172430ustar00rootroot00000000000000description openflow: software routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name ovs static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: exit server openflow of no export-vrf v1 export-port sdn1 1 export-port sdn2 2 export-port sdn3 3 export-port sdn4 4 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 output show version r1 output show platform r1 send tclsh r1 output exec "telnet 10.11.12.111 2323 vrf v9 sou lo9" output ../binTmp/opnflw-rout01.html here are the flows:
show:2
! output ../binTmp/basic2.html here is the version information:
show:0
here is the platform information:
show:1
! freeRtr-25.11.9/cfg/opnflw-rout02.tst000066400000000000000000000213771510423065500172460ustar00rootroot00000000000000description openflow: bridging and routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name ovs static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit int sdn1 bridge-gr 1 exit int sdn2 bridge-gr 1 exit int sdn3 bridge-gr 1 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: exit server openflow of export-vrf v1 export-port sdn1 1 export-port sdn2 2 export-port sdn3 3 export-port sdn4 4 export-port bvi1 0 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.3 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.3 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.3 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.1.3 vrf v1 r1 tping 100 10 1234:1::3 vrf v1 r1 tping 100 10 1.1.1.4 vrf v1 r1 tping 100 10 1234:1::4 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.3 vrf v1 r3 tping 100 10 1234:1::3 vrf v1 r3 tping 100 10 1.1.1.4 vrf v1 r3 tping 100 10 1234:1::4 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.1.3 vrf v1 r4 tping 100 10 1234:1::3 vrf v1 r4 tping 100 10 1.1.1.4 vrf v1 r4 tping 100 10 1234:1::4 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.1.3 vrf v1 r5 tping 100 10 1234:1::3 vrf v1 r5 tping 100 10 1.1.1.4 vrf v1 r5 tping 100 10 1234:1::4 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.1.3 vrf v1 r6 tping 100 10 1234:1::3 vrf v1 r6 tping 100 10 1.1.1.4 vrf v1 r6 tping 100 10 1234:1::4 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 r1 send tclsh r1 output exec "telnet 10.11.12.111 2323 vrf v9 sou lo9" output ../binTmp/opnflw-rout02.html here are the flows:
show:0
! freeRtr-25.11.9/cfg/opnflw-rout03.tst000066400000000000000000000230001510423065500172300ustar00rootroot00000000000000description openflow: ip routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name ovs static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: exit server openflow of export-vrf v1 export-port sdn1 1 export-port sdn2 2 export-port sdn3 3 export-port sdn4 4 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 r1 send tclsh r1 output exec "telnet 10.11.12.111 2323 vrf v9 sou lo9" output ../binTmp/opnflw-rout03.html here are the flows:
show:0
! freeRtr-25.11.9/cfg/opnflw-rout04.tst000066400000000000000000000233201510423065500172360ustar00rootroot00000000000000description openflow: mpls routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name ovs static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit server openflow of export-vrf v1 export-port sdn1 1 export-port sdn2 2 export-port sdn3 3 export-port sdn4 4 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 r1 send tclsh r1 output exec "telnet 10.11.12.111 2323 vrf v9 sou lo9" output ../binTmp/opnflw-rout04.html here are the flows:
show:0
! freeRtr-25.11.9/cfg/opnflw-rout05.tst000066400000000000000000000251461510423065500172470ustar00rootroot00000000000000description openflow: multicast routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name ovs static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 multi static 232.2.2.2 2.2.2.103 ipv6 multi static ff06::1 4321::103 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 multi static 232.2.2.2 2.2.2.103 ipv6 multi static ff06::1 4321::103 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv4 multi static 232.2.2.2 2.2.2.103 ipv6 multi static ff06::1 4321::103 exit server openflow of export-vrf v1 export-port sdn1 1 export-port sdn2 2 export-port sdn3 3 export-port sdn4 4 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 mroute v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 mroute v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 multi static 232.2.2.2 2.2.2.103 ipv6 multi static ff06::1 4321::103 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 mroute v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv6 mroute v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 mroute v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv6 mroute v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 300 10 232.2.2.2 vrf v1 sou lo0 multi r3 tping 300 10 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r3 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r3 ff06::1 vrf v1 sou lo0 r1 send tclsh r1 output exec "telnet 10.11.12.111 2323 vrf v9 sou lo9" output ../binTmp/opnflw-rout05.html here are the flows:
show:0
! freeRtr-25.11.9/cfg/opnflw-rout06.tst000066400000000000000000000253051510423065500172450ustar00rootroot00000000000000description openflow: mldp routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name ovs static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit server openflow of export-vrf v1 export-port sdn1 1 export-port sdn2 2 export-port sdn3 3 export-port sdn4 4 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 mroute v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv6 mroute v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 mroute v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv6 mroute v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 300 10 232.2.2.2 vrf v1 sou lo0 multi r3 tping 300 10 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r3 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r3 ff06::1 vrf v1 sou lo0 r1 send tclsh r1 output exec "telnet 10.11.12.111 2323 vrf v9 sou lo9" output ../binTmp/opnflw-rout06.html here are the flows:
show:0
! freeRtr-25.11.9/cfg/opnflw-rout07.tst000066400000000000000000000247551510423065500172560ustar00rootroot00000000000000description openflow: ip routing over backplane addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $13a$ $13b$ int eth3 eth 0000.0000.1111 $14a$ $14b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name ovs static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int eth2 vrf for v9 ipv4 addr 10.12.13.254 255.255.255.0 exit server dhcp4 eth2 pool 10.12.13.1 10.12.13.99 gateway 10.12.13.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name ovs static 0000.0000.3333 10.12.13.111 interface eth2 vrf v9 exit int eth3 vrf for v9 ipv4 addr 10.13.14.254 255.255.255.0 exit server dhcp4 eth3 pool 10.13.14.1 10.13.14.99 gateway 10.13.14.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name ovs static 0000.0000.4444 10.13.14.111 interface eth3 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit int sdn12 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: exit int sdn13 vrf for v1 mpls enable exit int sdn14 vrf for v1 mpls enable exit int sdn21 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: exit int sdn22 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: exit int sdn23 vrf for v1 mpls enable exit int sdn24 vrf for v1 mpls enable exit int sdn31 vrf for v1 mpls enable exit int sdn32 vrf for v1 mpls enable exit int sdn33 vrf for v1 mpls enable exit int sdn34 vrf for v1 mpls enable exit server openflow a export-vrf v1 export-port sdn11 1 export-port sdn12 2 export-port sdn13 3 export-port sdn14 4 exit server openflow b export-vrf v1 export-port sdn21 1 export-port sdn22 2 export-port sdn23 3 export-port sdn24 4 exit server openflow c export-vrf v1 export-port sdn31 1 export-port sdn32 2 export-port sdn33 3 export-port sdn34 4 exit server stack s dataplanes 4 forwarder 1 openflow a forwarder 1 backplane sdn13 1 forwarder 1 backplane sdn14 1 forwarder 1 remote 10.11.12.111 forwarder 2 openflow b forwarder 2 backplane sdn23 1 forwarder 2 backplane sdn24 1 forwarder 2 remote 10.12.13.111 forwarder 3 openflow c forwarder 3 backplane sdn31 1 forwarder 3 backplane sdn32 1 forwarder 3 backplane sdn33 1 forwarder 3 backplane sdn34 1 forwarder 3 remote 10.13.14.111 port 6653 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $7a$ $7b$ int eth5 eth 0000.0000.2222 $8a$ $8b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addother r3 int eth1 eth 0000.0000.3333 $13b$ $13a$ int eth2 eth 0000.0000.3333 $4a$ $4b$ int eth3 eth 0000.0000.3333 $5a$ $5b$ int eth4 eth 0000.0000.3333 $10a$ $10b$ int eth5 eth 0000.0000.3333 $11a$ $11b$ int eth6 eth 0000.0000.3333 $9a$ $9b$ ! ! addother r4 int eth1 eth 0000.0000.4444 $14b$ $14a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ int eth3 eth 0000.0000.4444 $8b$ $8a$ int eth4 eth 0000.0000.4444 $10b$ $10a$ int eth5 eth 0000.0000.4444 $11b$ $11a$ int eth6 eth 0000.0000.4444 $12a$ $12b$ ! ! addrouter r5 int eth1 eth 0000.0000.5555 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r7 int eth1 eth 0000.0000.7777 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r8 int eth1 eth 0000.0000.8888 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r8 tping 100 10 2.2.2.101 vrf v1 sou lo0 r8 tping 100 10 4321::101 vrf v1 sou lo0 r8 tping 100 10 2.2.2.103 vrf v1 sou lo0 r8 tping 100 10 4321::103 vrf v1 sou lo0 r8 tping 100 10 2.2.2.104 vrf v1 sou lo0 r8 tping 100 10 4321::104 vrf v1 sou lo0 r8 tping 100 10 2.2.2.105 vrf v1 sou lo0 r8 tping 100 10 4321::105 vrf v1 sou lo0 r8 tping 100 10 2.2.2.106 vrf v1 sou lo0 r8 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r8 2.2.2.103 vrf v1 sou lo0 r1 dping sdn . r8 4321::103 vrf v1 sou lo0 r1 send tclsh r1 output exec "telnet 10.11.12.111 2323 vrf v9 sou lo9" output ../binTmp/opnflw-rout07.html here are the flows:
show:0
! freeRtr-25.11.9/cfg/opnflw-rout08.tst000066400000000000000000000275171510423065500172560ustar00rootroot00000000000000description openflow: mpls routing over backplane addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $13a$ $13b$ int eth3 eth 0000.0000.1111 $14a$ $14b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name ovs static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int eth2 vrf for v9 ipv4 addr 10.12.13.254 255.255.255.0 exit server dhcp4 eth2 pool 10.12.13.1 10.12.13.99 gateway 10.12.13.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name ovs static 0000.0000.3333 10.12.13.111 interface eth2 vrf v9 exit int eth3 vrf for v9 ipv4 addr 10.13.14.254 255.255.255.0 exit server dhcp4 eth3 pool 10.13.14.1 10.13.14.99 gateway 10.13.14.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name ovs static 0000.0000.4444 10.13.14.111 interface eth3 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int sdn12 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int sdn13 vrf for v1 mpls enable exit int sdn14 vrf for v1 mpls enable exit int sdn21 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int sdn22 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int sdn23 vrf for v1 mpls enable exit int sdn24 vrf for v1 mpls enable exit int sdn31 vrf for v1 mpls enable exit int sdn32 vrf for v1 mpls enable exit int sdn33 vrf for v1 mpls enable exit int sdn34 vrf for v1 mpls enable exit server openflow a export-vrf v1 export-port sdn11 1 export-port sdn12 2 export-port sdn13 3 export-port sdn14 4 exit server openflow b export-vrf v1 export-port sdn21 1 export-port sdn22 2 export-port sdn23 3 export-port sdn24 4 exit server openflow c export-vrf v1 export-port sdn31 1 export-port sdn32 2 export-port sdn33 3 export-port sdn34 4 exit server stack s dataplanes 4 forwarder 1 openflow a forwarder 1 backplane sdn13 1 forwarder 1 backplane sdn14 1 forwarder 1 remote 10.11.12.111 forwarder 2 openflow b forwarder 2 backplane sdn23 1 forwarder 2 backplane sdn24 1 forwarder 2 remote 10.12.13.111 forwarder 3 openflow c forwarder 3 backplane sdn31 1 forwarder 3 backplane sdn32 1 forwarder 3 backplane sdn33 1 forwarder 3 backplane sdn34 1 forwarder 3 remote 10.13.14.111 port 6653 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $7a$ $7b$ int eth5 eth 0000.0000.2222 $8a$ $8b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addother r3 int eth1 eth 0000.0000.3333 $13b$ $13a$ int eth2 eth 0000.0000.3333 $4a$ $4b$ int eth3 eth 0000.0000.3333 $5a$ $5b$ int eth4 eth 0000.0000.3333 $10a$ $10b$ int eth5 eth 0000.0000.3333 $11a$ $11b$ int eth6 eth 0000.0000.3333 $9a$ $9b$ ! ! addother r4 int eth1 eth 0000.0000.4444 $14b$ $14a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ int eth3 eth 0000.0000.4444 $8b$ $8a$ int eth4 eth 0000.0000.4444 $10b$ $10a$ int eth5 eth 0000.0000.4444 $11b$ $11a$ int eth6 eth 0000.0000.4444 $12a$ $12b$ ! ! addrouter r5 int eth1 eth 0000.0000.5555 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r7 int eth1 eth 0000.0000.7777 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r8 int eth1 eth 0000.0000.8888 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r8 tping 100 10 2.2.2.101 vrf v1 sou lo0 r8 tping 100 10 4321::101 vrf v1 sou lo0 r8 tping 100 10 2.2.2.103 vrf v1 sou lo0 r8 tping 100 10 4321::103 vrf v1 sou lo0 r8 tping 100 10 2.2.2.104 vrf v1 sou lo0 r8 tping 100 10 4321::104 vrf v1 sou lo0 r8 tping 100 10 2.2.2.105 vrf v1 sou lo0 r8 tping 100 10 4321::105 vrf v1 sou lo0 r8 tping 100 10 2.2.2.106 vrf v1 sou lo0 r8 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r8 2.2.2.103 vrf v1 sou lo0 r1 dping sdn . r8 4321::103 vrf v1 sou lo0 r1 send tclsh r1 output exec "telnet 10.11.12.111 2323 vrf v9 sou lo9" output ../binTmp/opnflw-rout08.html here are the flows:
show:0
! freeRtr-25.11.9/cfg/opnflw-rout09.tst000066400000000000000000000271231510423065500172500ustar00rootroot00000000000000description openflow: multicast routing over backplane addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $13a$ $13b$ int eth3 eth 0000.0000.1111 $14a$ $14b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name ovs static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int eth2 vrf for v9 ipv4 addr 10.12.13.254 255.255.255.0 exit server dhcp4 eth2 pool 10.12.13.1 10.12.13.99 gateway 10.12.13.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name ovs static 0000.0000.3333 10.12.13.111 interface eth2 vrf v9 exit int eth3 vrf for v9 ipv4 addr 10.13.14.254 255.255.255.0 exit server dhcp4 eth3 pool 10.13.14.1 10.13.14.99 gateway 10.13.14.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name ovs static 0000.0000.4444 10.13.14.111 interface eth3 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit int sdn12 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 multi static 232.2.2.2 2.2.2.103 ipv6 multi static ff06::1 4321::103 exit int sdn13 vrf for v1 mpls enable exit int sdn14 vrf for v1 mpls enable exit int sdn21 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 multi static 232.2.2.2 2.2.2.103 ipv6 multi static ff06::1 4321::103 exit int sdn22 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv4 multi static 232.2.2.2 2.2.2.103 ipv6 multi static ff06::1 4321::103 exit int sdn23 vrf for v1 mpls enable exit int sdn24 vrf for v1 mpls enable exit int sdn31 vrf for v1 mpls enable exit int sdn32 vrf for v1 mpls enable exit int sdn33 vrf for v1 mpls enable exit int sdn34 vrf for v1 mpls enable exit server openflow a export-vrf v1 export-port sdn11 1 export-port sdn12 2 export-port sdn13 3 export-port sdn14 4 exit server openflow b export-vrf v1 export-port sdn21 1 export-port sdn22 2 export-port sdn23 3 export-port sdn24 4 exit server openflow c export-vrf v1 export-port sdn31 1 export-port sdn32 2 export-port sdn33 3 export-port sdn34 4 exit server stack s dataplanes 4 forwarder 1 openflow a forwarder 1 backplane sdn13 1 forwarder 1 backplane sdn14 1 forwarder 1 remote 10.11.12.111 forwarder 2 openflow b forwarder 2 backplane sdn23 1 forwarder 2 backplane sdn24 1 forwarder 2 remote 10.12.13.111 forwarder 3 openflow c forwarder 3 backplane sdn31 1 forwarder 3 backplane sdn32 1 forwarder 3 backplane sdn33 1 forwarder 3 backplane sdn34 1 forwarder 3 remote 10.13.14.111 port 6653 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 mroute v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 mroute v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $7a$ $7b$ int eth5 eth 0000.0000.2222 $8a$ $8b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addother r3 int eth1 eth 0000.0000.3333 $13b$ $13a$ int eth2 eth 0000.0000.3333 $4a$ $4b$ int eth3 eth 0000.0000.3333 $5a$ $5b$ int eth4 eth 0000.0000.3333 $10a$ $10b$ int eth5 eth 0000.0000.3333 $11a$ $11b$ int eth6 eth 0000.0000.3333 $9a$ $9b$ ! ! addother r4 int eth1 eth 0000.0000.4444 $14b$ $14a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ int eth3 eth 0000.0000.4444 $8b$ $8a$ int eth4 eth 0000.0000.4444 $10b$ $10a$ int eth5 eth 0000.0000.4444 $11b$ $11a$ int eth6 eth 0000.0000.4444 $12a$ $12b$ ! ! addrouter r5 int eth1 eth 0000.0000.5555 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 multi static 232.2.2.2 2.2.2.103 ipv6 multi static ff06::1 4321::103 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 mroute v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! addrouter r7 int eth1 eth 0000.0000.7777 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv6 mroute v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! addrouter r8 int eth1 eth 0000.0000.8888 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 mroute v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv6 mroute v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r8 tping 100 10 2.2.2.101 vrf v1 sou lo0 r8 tping 100 10 4321::101 vrf v1 sou lo0 r8 tping 100 10 2.2.2.103 vrf v1 sou lo0 r8 tping 100 10 4321::103 vrf v1 sou lo0 r8 tping 100 10 2.2.2.104 vrf v1 sou lo0 r8 tping 100 10 4321::104 vrf v1 sou lo0 r8 tping 100 10 2.2.2.105 vrf v1 sou lo0 r8 tping 100 10 4321::105 vrf v1 sou lo0 r8 tping 100 10 2.2.2.106 vrf v1 sou lo0 r8 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 300 10 232.2.2.2 vrf v1 sou lo0 multi r5 tping 300 10 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r5 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r5 ff06::1 vrf v1 sou lo0 r1 send tclsh r1 output exec "telnet 10.11.12.111 2323 vrf v9 sou lo9" output ../binTmp/opnflw-rout09.html here are the flows:
show:0
! freeRtr-25.11.9/cfg/opnflw.ini000066400000000000000000000006401510423065500160500ustar00rootroot00000000000000openflow qemu-img create -f qcow2 -o backing_file=../img/opnflw.img,backing_fmt=raw $fn$ qemu-system-x86_64 -monitor none -serial stdio -nographic -no-reboot -enable-kvm -cpu host -smp cores=2,threads=1,sockets=1 -drive file=$fn$,format=qcow2,cache=unsafe -m 1024 $nc$ 0 -netdev socket,id=n$id$,udp=:$rp$,localaddr=:$lp$ -device virtio-net-pci,netdev=n$id$,mac=$ad$ Router> !!!separator- enable configure terminal freeRtr-25.11.9/cfg/p4lang-acl001.tst000066400000000000000000000233311510423065500167430ustar00rootroot00000000000000description p4lang: copp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.101 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-copp4 v1 test4 export-copp6 v1 test6 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature copp int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 0 10 2.2.2.104 vrf v1 sou lo0 r1 tping 0 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 0 10 2.2.2.101 vrf v1 sou lo0 r4 tping 0 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl002.tst000066400000000000000000000233611510423065500167470ustar00rootroot00000000000000description p4lang: ingress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl003.tst000066400000000000000000000233621510423065500167510ustar00rootroot00000000000000description p4lang: egress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl004.tst000066400000000000000000000247551510423065500167610ustar00rootroot00000000000000description p4lang: nat addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 access-list test4 permit 17 2.2.2.0 255.255.255.0 all 2.2.2.0 255.255.255.0 all permit 6 2.2.2.0 255.255.255.0 all 2.2.2.0 255.255.255.0 all deny all any all any all exit access-list test6 permit 17 4321:: ffff:: all 4321:: ffff:: all permit 6 4321:: ffff:: all 4321:: ffff:: all deny all any all any all exit ipv4 nat v1 srclist test4 interface lo0 ipv6 nat v1 srclist test6 interface lo0 ! addother r2 controller r1 v9 9080 - feature nat int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 pool p4 3.3.3.1 0.0.0.1 254 int di1 enc ppp vrf for v1 ipv4 addr 3.3.3.0 255.255.255.255 ppp ip4cp local 3.3.3.0 ipv4 pool p4 ppp ip4cp open exit server pckoudp pou clone di1 port 4552 vrf v1 exit server pckotcp pou clone di1 port 4552 vrf v1 exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit vrf def v4 rd 1:1 exit vrf def v5 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 proxy-profile p1 vrf v1 sou lo0 exit int di1 enc ppp vrf for v2 ipv4 addr 3.3.3.3 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 exit vpdn di1 int di1 proxy p1 tar 2.2.2.105 vcid 4552 prot pckoudp exit int di2 enc ppp vrf for v3 ipv4 addr 3.3.3.3 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 exit vpdn di2 int di2 proxy p1 tar 4321::105 vcid 4552 prot pckoudp exit int di3 enc ppp vrf for v4 ipv4 addr 3.3.3.3 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 exit vpdn di3 int di3 proxy p1 tar 2.2.2.105 vcid 4552 prot pckotcp exit int di4 enc ppp vrf for v5 ipv4 addr 3.3.3.3 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 exit vpdn di4 int di4 proxy p1 tar 4321::105 vcid 4552 prot pckotcp exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 3.3.3.0 vrf v2 r6 tping 100 10 3.3.3.0 vrf v3 r6 tping 100 10 3.3.3.0 vrf v4 r6 tping 100 10 3.3.3.0 vrf v5 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 0 10 2.2.2.106 vrf v1 sou lo0 r5 tping 0 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.0 vrf v2 r6 tping 100 10 3.3.3.0 vrf v3 r6 tping 100 10 3.3.3.0 vrf v4 r6 tping 100 10 3.3.3.0 vrf v5 r1 dping sdn . r6 3.3.3.0 vrf v2 r1 dping sdn . r6 3.3.3.0 vrf v3 !r1 dping sdn . r6 3.3.3.0 vrf v4 !r1 dping sdn . r6 3.3.3.0 vrf v5 r1 output show ipv4 nat v1 tra r1 output show ipv6 nat v1 tra freeRtr-25.11.9/cfg/p4lang-acl005.tst000066400000000000000000000234221510423065500167500ustar00rootroot00000000000000description p4lang: vlan ingress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl006.tst000066400000000000000000000234231510423065500167520ustar00rootroot00000000000000description p4lang: vlan egress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 exit int sdn4.111 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl007.tst000066400000000000000000000161761510423065500167620ustar00rootroot00000000000000description p4lang: bundle ingress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit access-list test4 deny 1 2.2.2.105 255.255.255.255 all 2.2.2.104 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature acl bundle int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 0 10 2.2.2.105 vrf v1 sou lo0 r4 tping 0 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 0 10 2.2.2.104 vrf v1 sou lo0 r5 tping 0 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl008.tst000066400000000000000000000161771510423065500167640ustar00rootroot00000000000000description p4lang: bundle egress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.105 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 access-group-out test4 ipv6 access-group-out test6 ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature acl bundle int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 0 10 2.2.2.105 vrf v1 sou lo0 r4 tping 0 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 0 10 2.2.2.104 vrf v1 sou lo0 r5 tping 0 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl009.tst000066400000000000000000000162161510423065500167570ustar00rootroot00000000000000description p4lang: bundle vlan ingress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit access-list test4 deny 1 2.2.2.105 255.255.255.255 all 2.2.2.104 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.11 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature acl bundle vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.11 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 0 10 2.2.2.105 vrf v1 sou lo0 r4 tping 0 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 0 10 2.2.2.104 vrf v1 sou lo0 r5 tping 0 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl010.tst000066400000000000000000000162171510423065500167500ustar00rootroot00000000000000description p4lang: bundle vlan egress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.105 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.11 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 access-group-out test4 ipv6 access-group-out test6 ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature acl bundle vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.11 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 0 10 2.2.2.105 vrf v1 sou lo0 r4 tping 0 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 0 10 2.2.2.104 vrf v1 sou lo0 r5 tping 0 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl011.tst000066400000000000000000000217761510423065500167570ustar00rootroot00000000000000description p4lang: bridge ingress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit access-list test4 deny 1 2.2.2.105 255.255.255.255 all 2.2.2.104 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 bridge-gr 1 exit int sdn4 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.3 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.4 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ! addother r2 controller r1 v9 9080 - feature acl bridge int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.2.3 vrf v1 r1 tping 100 10 1234:2::3 vrf v1 r1 tping 100 10 1.1.2.4 vrf v1 r1 tping 100 10 1234:2::4 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.2.3 vrf v1 r3 tping 100 10 1234:2::3 vrf v1 r3 tping 100 10 1.1.2.4 vrf v1 r3 tping 100 10 1234:2::4 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.2.3 vrf v1 r4 tping 100 10 1234:2::3 vrf v1 r4 tping 100 10 1.1.2.4 vrf v1 r4 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.2.3 vrf v1 r5 tping 100 10 1234:2::3 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.2.3 vrf v1 r6 tping 100 10 1234:2::3 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 0 10 2.2.2.105 vrf v1 sou lo0 r4 tping 0 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 0 10 2.2.2.104 vrf v1 sou lo0 r5 tping 0 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.106 vrf v1 sou lo0 r1 dping sdn . r4 4321::106 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl012.tst000066400000000000000000000217771510423065500167610ustar00rootroot00000000000000description p4lang: bridge egress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.105 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 bridge-gr 1 exit int sdn4 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 access-group-out test4 ipv6 access-group-out test6 ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.3 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.4 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ! addother r2 controller r1 v9 9080 - feature acl bridge int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.2.3 vrf v1 r1 tping 100 10 1234:2::3 vrf v1 r1 tping 100 10 1.1.2.4 vrf v1 r1 tping 100 10 1234:2::4 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.2.3 vrf v1 r3 tping 100 10 1234:2::3 vrf v1 r3 tping 100 10 1.1.2.4 vrf v1 r3 tping 100 10 1234:2::4 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.2.3 vrf v1 r4 tping 100 10 1234:2::3 vrf v1 r4 tping 100 10 1.1.2.4 vrf v1 r4 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.2.3 vrf v1 r5 tping 100 10 1234:2::3 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.2.3 vrf v1 r6 tping 100 10 1234:2::3 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 0 10 2.2.2.105 vrf v1 sou lo0 r4 tping 0 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 0 10 2.2.2.104 vrf v1 sou lo0 r5 tping 0 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.106 vrf v1 sou lo0 r1 dping sdn . r4 4321::106 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl013.tst000066400000000000000000000220661510423065500167520ustar00rootroot00000000000000description p4lang: vlan bridge ingress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit access-list test4 deny 1 2.2.2.105 255.255.255.255 all 2.2.2.104 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 exit int sdn3.111 bridge-gr 1 exit int sdn4 exit int sdn4.222 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.3 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.4 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ! addother r2 controller r1 v9 9080 - feature acl bridge vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.2.3 vrf v1 r1 tping 100 10 1234:2::3 vrf v1 r1 tping 100 10 1.1.2.4 vrf v1 r1 tping 100 10 1234:2::4 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.2.3 vrf v1 r3 tping 100 10 1234:2::3 vrf v1 r3 tping 100 10 1.1.2.4 vrf v1 r3 tping 100 10 1234:2::4 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.2.3 vrf v1 r4 tping 100 10 1234:2::3 vrf v1 r4 tping 100 10 1.1.2.4 vrf v1 r4 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.2.3 vrf v1 r5 tping 100 10 1234:2::3 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.2.3 vrf v1 r6 tping 100 10 1234:2::3 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 0 10 2.2.2.105 vrf v1 sou lo0 r4 tping 0 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 0 10 2.2.2.104 vrf v1 sou lo0 r5 tping 0 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.106 vrf v1 sou lo0 r1 dping sdn . r4 4321::106 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl014.tst000066400000000000000000000220671510423065500167540ustar00rootroot00000000000000description p4lang: vlan bridge egress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.105 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 exit int sdn3.111 bridge-gr 1 exit int sdn4 exit int sdn4.222 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 access-group-out test4 ipv6 access-group-out test6 ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.3 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.4 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ! addother r2 controller r1 v9 9080 - feature acl bridge vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.2.3 vrf v1 r1 tping 100 10 1234:2::3 vrf v1 r1 tping 100 10 1.1.2.4 vrf v1 r1 tping 100 10 1234:2::4 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.2.3 vrf v1 r3 tping 100 10 1234:2::3 vrf v1 r3 tping 100 10 1.1.2.4 vrf v1 r3 tping 100 10 1234:2::4 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.2.3 vrf v1 r4 tping 100 10 1234:2::3 vrf v1 r4 tping 100 10 1.1.2.4 vrf v1 r4 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.2.3 vrf v1 r5 tping 100 10 1234:2::3 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.2.3 vrf v1 r6 tping 100 10 1234:2::3 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 0 10 2.2.2.105 vrf v1 sou lo0 r4 tping 0 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 0 10 2.2.2.104 vrf v1 sou lo0 r5 tping 0 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.106 vrf v1 sou lo0 r1 dping sdn . r4 4321::106 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl015.tst000066400000000000000000000235251510423065500167550ustar00rootroot00000000000000description p4lang: ingress pppoe access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int di1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 p2poe client di1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl pppoe int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth1 p2poe relay di1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl016.tst000066400000000000000000000235261510423065500167570ustar00rootroot00000000000000description p4lang: egress pppoe access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int di1 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn4 p2poe relay di1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl pppoe int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit int eth1 p2poe client di1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl017.tst000066400000000000000000000235661510423065500167640ustar00rootroot00000000000000description p4lang: ingress vlan pppoe access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int di1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 exit int sdn2.111 p2poe client di1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl pppoe vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth1.111 p2poe relay di1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl018.tst000066400000000000000000000235671510423065500167660ustar00rootroot00000000000000description p4lang: egress vlan pppoe access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int di1 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn4 exit int sdn4.111 p2poe relay di1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl pppoe vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit int eth1.111 p2poe client di1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl019.tst000066400000000000000000000320201510423065500167470ustar00rootroot00000000000000description p4lang: hairpin ingress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.104 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit int hair11 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int hair12 vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic vrf v9 exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:4:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.3.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:3:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl hairpin int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 1.1.5.1 vrf v2 r1 tping 100 10 1234:5::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl020.tst000066400000000000000000000320211510423065500167400ustar00rootroot00000000000000description p4lang: hairpin egress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.104 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit int hair11 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena exit int hair12 vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic vrf v9 exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:4:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.3.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:3:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl hairpin int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 1.1.5.1 vrf v2 r1 tping 100 10 1234:5::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl021.tst000066400000000000000000000320421510423065500167440ustar00rootroot00000000000000description p4lang: hairpin vlan ingress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.104 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit int hair11.111 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int hair12.111 vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic vrf v9 exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:4:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.3.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:3:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl hairpin vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 1.1.5.1 vrf v2 r1 tping 100 10 1234:5::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl022.tst000066400000000000000000000320431510423065500167460ustar00rootroot00000000000000description p4lang: hairpin vlan egress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.104 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit int hair11.111 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena exit int hair12.111 vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic vrf v9 exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:4:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.3.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:3:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl hairpin vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 1.1.5.1 vrf v2 r1 tping 100 10 1234:5::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl023.tst000066400000000000000000000322371510423065500167540ustar00rootroot00000000000000description p4lang: hairpin pppoe ingress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.104 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int di2 enc ppp vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena exit int hair11 p2poe client di1 exit int hair12 p2poe relay di2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port di1 dynamic export-port di2 dynamic vrf v9 exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:4:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.3.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:3:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl hairpin pppoe int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.5.2 vrf v1 r1 tping 100 30 1234:5::2 vrf v1 r1 tping 100 30 1.1.5.1 vrf v2 r1 tping 100 30 1234:5::1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r1 tping 100 30 1.1.1.2 vrf v2 r1 tping 100 30 1234:1::2 vrf v2 r1 tping 100 30 1.1.2.2 vrf v2 r1 tping 100 30 1234:2::2 vrf v2 r1 tping 100 30 1.1.3.2 vrf v2 r1 tping 100 30 1234:3::2 vrf v2 r1 tping 100 30 1.1.4.2 vrf v2 r1 tping 100 30 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl024.tst000066400000000000000000000322401510423065500167470ustar00rootroot00000000000000description p4lang: hairpin pppoe egress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.104 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena exit int di2 enc ppp vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int hair11 p2poe client di1 exit int hair12 p2poe relay di2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port di1 dynamic export-port di2 dynamic vrf v9 exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:4:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.3.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:3:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl hairpin pppoe int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.5.2 vrf v1 r1 tping 100 30 1234:5::2 vrf v1 r1 tping 100 30 1.1.5.1 vrf v2 r1 tping 100 30 1234:5::1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r1 tping 100 30 1.1.1.2 vrf v2 r1 tping 100 30 1234:1::2 vrf v2 r1 tping 100 30 1.1.2.2 vrf v2 r1 tping 100 30 1234:2::2 vrf v2 r1 tping 100 30 1.1.3.2 vrf v2 r1 tping 100 30 1234:3::2 vrf v2 r1 tping 100 30 1.1.4.2 vrf v2 r1 tping 100 30 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl025.tst000066400000000000000000000322611510423065500167530ustar00rootroot00000000000000description p4lang: hairpin vlan pppoe ingress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.104 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int di2 enc ppp vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena exit int hair11.111 p2poe client di1 exit int hair12.111 p2poe relay di2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port di1 dynamic export-port di2 dynamic vrf v9 exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:4:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.3.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:3:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl hairpin pppoe vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.5.2 vrf v1 r1 tping 100 30 1234:5::2 vrf v1 r1 tping 100 30 1.1.5.1 vrf v2 r1 tping 100 30 1234:5::1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r1 tping 100 30 1.1.1.2 vrf v2 r1 tping 100 30 1234:1::2 vrf v2 r1 tping 100 30 1.1.2.2 vrf v2 r1 tping 100 30 1234:2::2 vrf v2 r1 tping 100 30 1.1.3.2 vrf v2 r1 tping 100 30 1234:3::2 vrf v2 r1 tping 100 30 1.1.4.2 vrf v2 r1 tping 100 30 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl026.tst000066400000000000000000000322621510423065500167550ustar00rootroot00000000000000description p4lang: hairpin vlan pppoe egress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.104 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena exit int di2 enc ppp vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int hair11.111 p2poe client di1 exit int hair12.111 p2poe relay di2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port di1 dynamic export-port di2 dynamic vrf v9 exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:4:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.3.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:3:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl hairpin pppoe vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.5.2 vrf v1 r1 tping 100 30 1234:5::2 vrf v1 r1 tping 100 30 1.1.5.1 vrf v2 r1 tping 100 30 1234:5::1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r1 tping 100 30 1.1.1.2 vrf v2 r1 tping 100 30 1234:1::2 vrf v2 r1 tping 100 30 1.1.2.2 vrf v2 r1 tping 100 30 1234:2::2 vrf v2 r1 tping 100 30 1.1.3.2 vrf v2 r1 tping 100 30 1234:3::2 vrf v2 r1 tping 100 30 1.1.4.2 vrf v2 r1 tping 100 30 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl027.tst000066400000000000000000000243301510423065500167530ustar00rootroot00000000000000description p4lang: ingress gre access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl gre int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl028.tst000066400000000000000000000243311510423065500167550ustar00rootroot00000000000000description p4lang: egress gre access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.103 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl gre int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl029.tst000066400000000000000000000244011510423065500167540ustar00rootroot00000000000000description p4lang: ingress vlan gre access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1.222 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl gre vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1.222 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl030.tst000066400000000000000000000244021510423065500167450ustar00rootroot00000000000000description p4lang: egress vlan gre access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.103 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1.222 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl gre vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1.222 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl031.tst000066400000000000000000000242641510423065500167540ustar00rootroot00000000000000description p4lang: ingress l2tp access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl l2tp int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl032.tst000066400000000000000000000242651510423065500167560ustar00rootroot00000000000000description p4lang: egress l2tp access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.103 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl l2tp int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl033.tst000066400000000000000000000243311510423065500167510ustar00rootroot00000000000000description p4lang: ingress vlan l2tp access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1.222 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl l2tp vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl034.tst000066400000000000000000000243321510423065500167530ustar00rootroot00000000000000description p4lang: egress vlan l2tp access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.103 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1.222 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl l2tp vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl035.tst000066400000000000000000000243341510423065500167560ustar00rootroot00000000000000description p4lang: ingress ipip access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl ipip int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl036.tst000066400000000000000000000243351510423065500167600ustar00rootroot00000000000000description p4lang: egress ipip access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.103 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl ipip int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl037.tst000066400000000000000000000244051510423065500167570ustar00rootroot00000000000000description p4lang: ingress vlan ipip access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1.222 tun destination 9.9.9.2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl ipip vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1.222 tun destination 9.9.9.1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl038.tst000066400000000000000000000244061510423065500167610ustar00rootroot00000000000000description p4lang: egress vlan ipip access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.103 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1.222 tun destination 9.9.9.2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl ipip vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1.222 tun destination 9.9.9.1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl039.tst000066400000000000000000000234061510423065500167610ustar00rootroot00000000000000description p4lang: ingress common access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 access-group-common-in test4 ipv6 access-group-common-in test6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl040.tst000066400000000000000000000234071510423065500167520ustar00rootroot00000000000000description p4lang: egress common access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 access-group-common-out test4 ipv6 access-group-common-out test6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl041.tst000066400000000000000000000235361510423065500167560ustar00rootroot00000000000000description p4lang: ingress hybrid access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit object-group net test4 2.2.2.104 255.255.255.255 2.2.2.106 255.255.255.255 exit object-group net test6 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 obj test4 all obj test4 all permit all any all any all exit access-list test6 deny 58 obj test6 all obj test6 all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl042.tst000066400000000000000000000235371510423065500167600ustar00rootroot00000000000000description p4lang: egress hybrid access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit object-group net test4 2.2.2.104 255.255.255.255 2.2.2.106 255.255.255.255 exit object-group net test6 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 obj test4 all obj test4 all permit all any all any all exit access-list test6 deny 58 obj test6 all obj test6 all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl043.tst000066400000000000000000000235441510423065500167570ustar00rootroot00000000000000description p4lang: ingress hierarchical access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4a permit 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all exit access-list test6a permit 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test4b evaluate deny test4a permit all any all any all exit access-list test6b evaluate deny test6a permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4b ipv6 access-group-in test6b exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl044.tst000066400000000000000000000235451510423065500167610ustar00rootroot00000000000000description p4lang: egress hierarchical access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4a permit 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all exit access-list test6a permit 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test4b evaluate deny test4a permit all any all any all exit access-list test6b evaluate deny test6a permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4b ipv6 access-group-out test6b exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl045.tst000066400000000000000000000240621510423065500167550ustar00rootroot00000000000000description p4lang: ingress policer addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list a1 permit 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit policy-map p1 seq 10 act pol access-rate 81920 match access a1 seq 20 act trans exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena service-policy-in p1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route qos int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 100 10 4321::105 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 5-95 10 2.2.2.106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 5-95 10 4321::106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl046.tst000066400000000000000000000240621510423065500167560ustar00rootroot00000000000000description p4lang: egress policer addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list a1 permit 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit policy-map p1 seq 10 act pol access-rate 81920 match access a1 seq 20 act trans exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena service-policy-out p1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route qos int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 100 10 4321::105 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 5-95 10 2.2.2.106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 5-95 10 4321::106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl047.tst000066400000000000000000000241231510423065500167550ustar00rootroot00000000000000description p4lang: vlan ingress policer addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list a1 permit 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit policy-map p1 seq 10 act pol access-rate 81920 match access a1 seq 20 act trans exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena service-policy-in p1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route vlan qos int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 100 10 4321::105 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 5-95 10 2.2.2.106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 5-95 10 4321::106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl048.tst000066400000000000000000000241231510423065500167560ustar00rootroot00000000000000description p4lang: vlan egress policer addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list a1 permit 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit policy-map p1 seq 10 act pol access-rate 81920 match access a1 seq 20 act trans exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 exit int sdn4.111 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena service-policy-out p1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route vlan qos int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 100 10 4321::105 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 5-95 10 2.2.2.106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 5-95 10 4321::106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl049.tst000066400000000000000000000243301510423065500167570ustar00rootroot00000000000000description p4lang: transmit flowspec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list a4 permit 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all exit access-list a6 permit 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit policy-map p4 seq 10 act trans match access-group a4 exit policy-map p6 seq 10 act trans match access-group a6 exit router bgp4 1 vrf v1 flowspec-install flowspec-advert p4 exit router bgp6 1 vrf v1 flowspec-install flowspec-advert p6 exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route flwspc int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 100 10 4321::105 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 100 10 4321::106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl050.tst000066400000000000000000000240601510423065500167470ustar00rootroot00000000000000description p4lang: drop flowspec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list a4 permit 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all exit access-list a6 permit 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit policy-map p4 seq 10 act drop match access-group a4 exit policy-map p6 seq 10 act drop match access-group a6 exit router bgp4 1 vrf v1 flowspec-install flowspec-advert p4 exit router bgp6 1 vrf v1 flowspec-install flowspec-advert p6 exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route flwspc int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 100 10 4321::105 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 0-95 10 2.2.2.106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 0-95 10 4321::106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl051.tst000066400000000000000000000243751510423065500167610ustar00rootroot00000000000000description p4lang: policer flowspec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list a4 permit 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all exit access-list a6 permit 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit policy-map p4 seq 10 act pol access-rate 81920 match access-group a4 exit policy-map p6 seq 10 act pol access-rate 81920 match access-group a6 exit router bgp4 1 vrf v1 flowspec-install flowspec-advert p4 exit router bgp6 1 vrf v1 flowspec-install flowspec-advert p6 exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route flwspc int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 100 10 4321::105 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 5-95 10 2.2.2.106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 5-95 10 4321::106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl052.tst000066400000000000000000000243761510423065500167630ustar00rootroot00000000000000description p4lang: priority flowspec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list a4 permit 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all exit access-list a6 permit 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit policy-map p4 seq 10 act pri access-rate 81920 match access-group a4 exit policy-map p6 seq 10 act pri access-rate 81920 match access-group a6 exit router bgp4 1 vrf v1 flowspec-install flowspec-advert p4 exit router bgp6 1 vrf v1 flowspec-install flowspec-advert p6 exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route flwspc int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 100 10 4321::105 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 5-95 10 2.2.2.106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 5-95 10 4321::106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl053.tst000066400000000000000000000243301510423065500167520ustar00rootroot00000000000000description p4lang: ingress amt access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode amt vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl amt int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode amt vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl054.tst000066400000000000000000000243311510423065500167540ustar00rootroot00000000000000description p4lang: egress amt access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.103 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode amt vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl amt int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode amt vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl055.tst000066400000000000000000000255151510423065500167620ustar00rootroot00000000000000description p4lang: ingress reflexive access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list dyn4i hidden exit access-list dyn4o hidden exit access-list dyn6i hidden exit access-list dyn6o hidden exit access-list test4o seq 1 permit 1 any all any all seq 10 evaluate permit dyn4o seq 20 deny all any all any all exit access-list test6o seq 1 permit 58 any all any all seq 10 evaluate permit dyn6o seq 20 deny all any all any all exit access-list test4i seq 10 evaluate permit dyn4i seq 20 permit all any all any all seq 20 reflect dyn4i dyn4o 30000 exit access-list test6i seq 10 evaluate permit dyn6i seq 20 permit all any all any all seq 20 reflect dyn6i dyn6o 30000 exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4i ipv6 access-group-in test6i ipv4 access-group-out test4o ipv6 access-group-out test6o exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature racl int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 0 10 3.3.1.2 vrf v1 r3 tping 0 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl056.tst000066400000000000000000000255141510423065500167620ustar00rootroot00000000000000description p4lang: egress reflexive access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list dyn4i hidden exit access-list dyn4o hidden exit access-list dyn6i hidden exit access-list dyn6o hidden exit access-list test4i seq 1 permit 1 any all any all seq 10 evaluate permit dyn4i seq 20 deny all any all any all exit access-list test6i seq 1 permit 58 any all any all seq 10 evaluate permit dyn6i seq 20 deny all any all any all exit access-list test4o seq 10 evaluate permit dyn4o seq 20 permit all any all any all seq 20 reflect dyn4o dyn4i 30000 exit access-list test6o seq 10 evaluate permit dyn6o seq 20 permit all any all any all seq 20 reflect dyn6o dyn6i 30000 exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4i ipv6 access-group-in test6i ipv4 access-group-out test4o ipv6 access-group-out test6o exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature racl int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 0 10 3.3.1.1 vrf v1 r4 tping 0 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl057.tst000066400000000000000000000244721510423065500167650ustar00rootroot00000000000000description p4lang: interface inspection with egress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit access-list test4 seq 10 permit 1 any all any all exit access-list test6 seq 10 permit 58 any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 inspect drop-tx allow-list test4 ipv6 inspect drop-tx allow-list test6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature inspect int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 0 10 3.3.1.2 vrf v1 r3 tping 0 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl058.tst000066400000000000000000000244731510423065500167670ustar00rootroot00000000000000description p4lang: interface inspection with ingress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit access-list test4 seq 10 permit 1 any all any all exit access-list test6 seq 10 permit 58 any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 inspect drop-rx allow-list test4 ipv6 inspect drop-rx allow-list test6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature inspect int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 0 10 3.3.1.1 vrf v1 r4 tping 0 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl059.tst000066400000000000000000000245331510423065500167650ustar00rootroot00000000000000description p4lang: vlan interface inspection with egress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit access-list test4 seq 10 permit 1 any all any all exit access-list test6 seq 10 permit 58 any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 inspect drop-tx allow-list test4 ipv6 inspect drop-tx allow-list test6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan inspect int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 0 10 3.3.1.2 vrf v1 r3 tping 0 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl060.tst000066400000000000000000000245341510423065500167560ustar00rootroot00000000000000description p4lang: vlan interface inspection with ingress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit access-list test4 seq 10 permit 1 any all any all exit access-list test6 seq 10 permit 58 any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 inspect drop-rx allow-list test4 ipv6 inspect drop-rx allow-list test6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan inspect int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 0 10 3.3.1.1 vrf v1 r4 tping 0 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl061.tst000066400000000000000000000231421510423065500167510ustar00rootroot00000000000000description p4lang: bridge interface inspection with ingress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit access-list test4 seq 10 permit 1 any all any all exit access-list test6 seq 10 permit 58 any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 bridge-gr 1 exit int sdn4 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 resend ipv6 resend ipv4 inspect drop-rx allow-list test4 ipv6 inspect drop-rx allow-list test6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.3 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.4 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ! addother r2 controller r1 v9 9080 - feature bridge inspect int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.2.3 vrf v1 r1 tping 100 10 1234:2::3 vrf v1 r1 tping 100 10 1.1.2.4 vrf v1 r1 tping 100 10 1234:2::4 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.2.3 vrf v1 r3 tping 100 10 1234:2::3 vrf v1 r3 tping 100 10 1.1.2.4 vrf v1 r3 tping 100 10 1234:2::4 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.2.3 vrf v1 r4 tping 100 10 1234:2::3 vrf v1 r4 tping 100 10 1.1.2.4 vrf v1 r4 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.2.3 vrf v1 r5 tping 100 10 1234:2::3 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.2.3 vrf v1 r6 tping 100 10 1234:2::3 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 0 10 3.3.1.1 vrf v1 r4 tping 0 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl062.tst000066400000000000000000000231421510423065500167520ustar00rootroot00000000000000description p4lang: bridge interface inspection with egress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit access-list test4 seq 10 permit 1 any all any all exit access-list test6 seq 10 permit 58 any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 bridge-gr 1 exit int sdn4 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 resend ipv6 resend ipv4 inspect drop-tx allow-list test4 ipv6 inspect drop-tx allow-list test6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.3 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.4 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ! addother r2 controller r1 v9 9080 - feature bridge inspect int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.2.3 vrf v1 r1 tping 100 10 1234:2::3 vrf v1 r1 tping 100 10 1.1.2.4 vrf v1 r1 tping 100 10 1234:2::4 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.2.3 vrf v1 r3 tping 100 10 1234:2::3 vrf v1 r3 tping 100 10 1.1.2.4 vrf v1 r3 tping 100 10 1234:2::4 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.2.3 vrf v1 r4 tping 100 10 1234:2::3 vrf v1 r4 tping 100 10 1.1.2.4 vrf v1 r4 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.2.3 vrf v1 r5 tping 100 10 1234:2::3 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.2.3 vrf v1 r6 tping 100 10 1234:2::3 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 0 10 3.3.1.2 vrf v1 r3 tping 0 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl063.tst000066400000000000000000000246371510423065500167650ustar00rootroot00000000000000description p4lang: pppoe interface inspection with ingress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 seq 10 permit 1 any all any all exit access-list test6 seq 10 permit 58 any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int di1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 inspect drop-rx allow-list test4 ipv6 inspect drop-rx allow-list test6 exit int sdn2 p2poe client di1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pppoe inspect int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth1 p2poe relay di1 exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 0 10 3.3.1.1 vrf v1 r4 tping 0 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl064.tst000066400000000000000000000246361510423065500167650ustar00rootroot00000000000000description p4lang: pppoe interface inspection with egress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 seq 10 permit 1 any all any all exit access-list test6 seq 10 permit 58 any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int di1 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 inspect drop-tx allow-list test4 ipv6 inspect drop-tx allow-list test6 exit int sdn4 p2poe relay di1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pppoe inspect int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.106 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::106 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit int eth1 p2poe client di1 exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 0 10 3.3.1.2 vrf v1 r3 tping 0 10 3.3.2.2 vrf v1 r6 tping 100 10 3.3.1.1 vrf v1 r6 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r1 dping sdn . r6 3.3.1.1 vrf v1 r1 dping sdn . r6 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl065.tst000066400000000000000000000254421510423065500167620ustar00rootroot00000000000000description p4lang: gre interface inspection with ingress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 seq 10 permit 1 any all any all exit access-list test6 seq 10 permit 58 any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 inspect drop-rx allow-list test4 ipv6 inspect drop-rx allow-list test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre inspect int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun2 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun3 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 0 10 3.3.1.2 vrf v1 r3 tping 0 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl066.tst000066400000000000000000000254411510423065500167620ustar00rootroot00000000000000description p4lang: gre interface inspection with egress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 seq 10 permit 1 any all any all exit access-list test6 seq 10 permit 58 any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 inspect drop-tx allow-list test4 ipv6 inspect drop-tx allow-list test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre inspect int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun2 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun3 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 0 10 3.3.1.1 vrf v1 r4 tping 0 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl067.tst000066400000000000000000000253761510423065500167720ustar00rootroot00000000000000description p4lang: l2tp interface inspection with ingress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 seq 10 permit 1 any all any all exit access-list test6 seq 10 permit 58 any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 inspect drop-rx allow-list test4 ipv6 inspect drop-rx allow-list test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp inspect int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit server l2tp2 l clone dialer1 vrf v2 exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 0 10 3.3.1.2 vrf v1 r3 tping 0 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl068.tst000066400000000000000000000253751510423065500167720ustar00rootroot00000000000000description p4lang: l2tp interface inspection with egress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 seq 10 permit 1 any all any all exit access-list test6 seq 10 permit 58 any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 inspect drop-tx allow-list test4 ipv6 inspect drop-tx allow-list test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp inspect int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit server l2tp2 l clone dialer1 vrf v2 exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 0 10 3.3.1.1 vrf v1 r4 tping 0 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl069.tst000066400000000000000000000254421510423065500167660ustar00rootroot00000000000000description p4lang: interface verify source addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 verify rx ipv6 verify rx exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vrfysrc int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.1 255.255.255.0 ipv6 addr 1234:99::1 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.199 255.255.255.255 1.1.99.2 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:99::2 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.199 255.255.255.255 ipv6 addr 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.2 255.255.255.0 ipv6 addr 1234:99::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r3 tping 100 10 2.2.2.199 vrf v1 r3 tping 100 10 4321::199 vrf v1 r3 tping 0 10 2.2.2.199 vrf v1 sou lo0 r3 tping 0 10 4321::199 vrf v1 sou lo0 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl070.tst000066400000000000000000000255031510423065500167540ustar00rootroot00000000000000description p4lang: vlan interface verify source addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 verify rx ipv6 verify rx exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan vrfysrc int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.1 255.255.255.0 ipv6 addr 1234:99::1 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.199 255.255.255.255 1.1.99.2 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:99::2 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.199 255.255.255.255 ipv6 addr 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.2 255.255.255.0 ipv6 addr 1234:99::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r3 tping 100 10 2.2.2.199 vrf v1 r3 tping 100 10 4321::199 vrf v1 r3 tping 0 10 2.2.2.199 vrf v1 sou lo0 r3 tping 0 10 4321::199 vrf v1 sou lo0 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl071.tst000066400000000000000000000240571510423065500167600ustar00rootroot00000000000000description p4lang: bridge interface verify source addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 bridge-gr 1 exit int sdn4 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 verify rx ipv6 verify rx exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.3 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.4 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ! addother r2 controller r1 v9 9080 - feature bridge vrfysrc int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.1 255.255.255.0 ipv6 addr 1234:99::1 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.199 255.255.255.255 1.1.99.2 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:99::2 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.199 255.255.255.255 ipv6 addr 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.2 255.255.255.0 ipv6 addr 1234:99::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.2.3 vrf v1 r1 tping 100 10 1234:2::3 vrf v1 r1 tping 100 10 1.1.2.4 vrf v1 r1 tping 100 10 1234:2::4 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.2.3 vrf v1 r3 tping 100 10 1234:2::3 vrf v1 r3 tping 100 10 1.1.2.4 vrf v1 r3 tping 100 10 1234:2::4 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.2.3 vrf v1 r4 tping 100 10 1234:2::3 vrf v1 r4 tping 100 10 1.1.2.4 vrf v1 r4 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.2.3 vrf v1 r5 tping 100 10 1234:2::3 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.2.3 vrf v1 r6 tping 100 10 1234:2::3 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 2.2.2.199 vrf v1 r3 tping 100 10 4321::199 vrf v1 r3 tping 0 10 2.2.2.199 vrf v1 sou lo0 r3 tping 0 10 4321::199 vrf v1 sou lo0 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl072.tst000066400000000000000000000256061510423065500167620ustar00rootroot00000000000000description p4lang: pppoe interface verify source addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int di1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 verify rx ipv6 verify rx exit int sdn2 p2poe client di1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pppoe vrfysrc int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.1 255.255.255.0 ipv6 addr 1234:99::1 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.199 255.255.255.255 1.1.99.2 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:99::2 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.199 255.255.255.255 ipv6 addr 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth1 p2poe relay di1 exit int eth2 vrf for v1 ipv4 addr 1.1.99.2 255.255.255.0 ipv6 addr 1234:99::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 2.2.2.199 vrf v1 r3 tping 100 10 4321::199 vrf v1 r3 tping 0 10 2.2.2.199 vrf v1 sou lo0 r3 tping 0 10 4321::199 vrf v1 sou lo0 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl073.tst000066400000000000000000000264111510423065500167560ustar00rootroot00000000000000description p4lang: gre interface verify source addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 verify rx ipv6 verify rx exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre vrfysrc int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.199 255.255.255.255 ipv6 addr 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int eth2 vrf for v1 ipv4 addr 1.1.99.1 255.255.255.0 ipv6 addr 1234:99::1 ffff:ffff:: exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun2 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun3 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.2 255.255.255.0 ipv6 addr 1234:99::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.199 255.255.255.255 1.1.99.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:99::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 2.2.2.199 vrf v1 r4 tping 100 10 4321::199 vrf v1 r4 tping 0 10 2.2.2.199 vrf v1 sou lo0 r4 tping 0 10 4321::199 vrf v1 sou lo0 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl074.tst000066400000000000000000000263451510423065500167650ustar00rootroot00000000000000description p4lang: l2tp interface verify source addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 verify rx ipv6 verify rx exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp vrfysrc int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.199 255.255.255.255 ipv6 addr 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int eth2 vrf for v1 ipv4 addr 1.1.99.1 255.255.255.0 ipv6 addr 1234:99::1 ffff:ffff:: exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit server l2tp2 l clone dialer1 vrf v2 exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.2 255.255.255.0 ipv6 addr 1234:99::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.199 255.255.255.255 1.1.99.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:99::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 2.2.2.199 vrf v1 r4 tping 100 10 4321::199 vrf v1 r4 tping 0 10 2.2.2.199 vrf v1 sou lo0 r4 tping 0 10 4321::199 vrf v1 sou lo0 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl075.tst000066400000000000000000000254521510423065500167640ustar00rootroot00000000000000description p4lang: interface loose verify source addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 verify any ipv6 verify any exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vrfysrc int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.1 255.255.255.0 ipv6 addr 1234:99::1 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.199 255.255.255.255 1.1.99.2 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:99::2 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.199 255.255.255.255 ipv6 addr 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.2 255.255.255.0 ipv6 addr 1234:99::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r3 tping 100 10 2.2.2.199 vrf v1 r3 tping 100 10 4321::199 vrf v1 r3 tping 0 10 2.2.2.199 vrf v1 sou lo0 r3 tping 0 10 4321::199 vrf v1 sou lo0 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl076.tst000066400000000000000000000255131510423065500167630ustar00rootroot00000000000000description p4lang: vlan interface loose verify source addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 verify any ipv6 verify any exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan vrfysrc int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.1 255.255.255.0 ipv6 addr 1234:99::1 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.199 255.255.255.255 1.1.99.2 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:99::2 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.199 255.255.255.255 ipv6 addr 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.2 255.255.255.0 ipv6 addr 1234:99::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r3 tping 100 10 2.2.2.199 vrf v1 r3 tping 100 10 4321::199 vrf v1 r3 tping 0 10 2.2.2.199 vrf v1 sou lo0 r3 tping 0 10 4321::199 vrf v1 sou lo0 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl077.tst000066400000000000000000000240671510423065500167670ustar00rootroot00000000000000description p4lang: bridge interface loose verify source addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 bridge-gr 1 exit int sdn4 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 verify any ipv6 verify any exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.3 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.4 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ! addother r2 controller r1 v9 9080 - feature bridge vrfysrc int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.1 255.255.255.0 ipv6 addr 1234:99::1 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.199 255.255.255.255 1.1.99.2 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:99::2 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.199 255.255.255.255 ipv6 addr 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.2 255.255.255.0 ipv6 addr 1234:99::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.2.3 vrf v1 r1 tping 100 10 1234:2::3 vrf v1 r1 tping 100 10 1.1.2.4 vrf v1 r1 tping 100 10 1234:2::4 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.2.3 vrf v1 r3 tping 100 10 1234:2::3 vrf v1 r3 tping 100 10 1.1.2.4 vrf v1 r3 tping 100 10 1234:2::4 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.2.3 vrf v1 r4 tping 100 10 1234:2::3 vrf v1 r4 tping 100 10 1.1.2.4 vrf v1 r4 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.2.3 vrf v1 r5 tping 100 10 1234:2::3 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.2.3 vrf v1 r6 tping 100 10 1234:2::3 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 2.2.2.199 vrf v1 r3 tping 100 10 4321::199 vrf v1 r3 tping 0 10 2.2.2.199 vrf v1 sou lo0 r3 tping 0 10 4321::199 vrf v1 sou lo0 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl078.tst000066400000000000000000000256161510423065500167710ustar00rootroot00000000000000description p4lang: pppoe interface loose verify source addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int di1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 verify any ipv6 verify any exit int sdn2 p2poe client di1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pppoe vrfysrc int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.1 255.255.255.0 ipv6 addr 1234:99::1 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.199 255.255.255.255 1.1.99.2 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:99::2 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.199 255.255.255.255 ipv6 addr 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth1 p2poe relay di1 exit int eth2 vrf for v1 ipv4 addr 1.1.99.2 255.255.255.0 ipv6 addr 1234:99::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 2.2.2.199 vrf v1 r3 tping 100 10 4321::199 vrf v1 r3 tping 0 10 2.2.2.199 vrf v1 sou lo0 r3 tping 0 10 4321::199 vrf v1 sou lo0 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl079.tst000066400000000000000000000264211510423065500167650ustar00rootroot00000000000000description p4lang: gre interface loose verify source addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 verify any ipv6 verify any exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre vrfysrc int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.199 255.255.255.255 ipv6 addr 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int eth2 vrf for v1 ipv4 addr 1.1.99.1 255.255.255.0 ipv6 addr 1234:99::1 ffff:ffff:: exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun2 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun3 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.2 255.255.255.0 ipv6 addr 1234:99::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.199 255.255.255.255 1.1.99.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:99::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 2.2.2.199 vrf v1 r4 tping 100 10 4321::199 vrf v1 r4 tping 0 10 2.2.2.199 vrf v1 sou lo0 r4 tping 0 10 4321::199 vrf v1 sou lo0 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl080.tst000066400000000000000000000263551510423065500167630ustar00rootroot00000000000000description p4lang: l2tp interface loose verify source addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 verify any ipv6 verify any exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp vrfysrc int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.199 255.255.255.255 ipv6 addr 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int eth2 vrf for v1 ipv4 addr 1.1.99.1 255.255.255.0 ipv6 addr 1234:99::1 ffff:ffff:: exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit server l2tp2 l clone dialer1 vrf v2 exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.2 255.255.255.0 ipv6 addr 1234:99::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.199 255.255.255.255 1.1.99.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:99::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 2.2.2.199 vrf v1 r4 tping 100 10 4321::199 vrf v1 r4 tping 0 10 2.2.2.199 vrf v1 sou lo0 r4 tping 0 10 4321::199 vrf v1 sou lo0 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl081.tst000066400000000000000000000244471510423065500167640ustar00rootroot00000000000000description p4lang: ingress gtp access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode gtp vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl gtp int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit ipv4 pool p4 1.1.1.111 0.0.0.1 111 ipv6 pool p6 1234:1::111 ::1 111 int di1 enc iponly vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv4 pool p4 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 pool p6 exit server gtp gtp clone di1 vrf v2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl082.tst000066400000000000000000000244501510423065500167570ustar00rootroot00000000000000description p4lang: egress gtp access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.103 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode gtp vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl gtp int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit ipv4 pool p4 1.1.1.111 0.0.0.1 111 ipv6 pool p6 1234:1::111 ::1 111 int di1 enc iponly vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv4 pool p4 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 pool p6 exit server gtp gtp clone di1 vrf v2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl083.tst000066400000000000000000000242561510423065500167640ustar00rootroot00000000000000description p4lang: ingress l2tp3 access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp3 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl l3tp int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bvi1 l2tp3 9.9.9.1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl084.tst000066400000000000000000000242571510423065500167660ustar00rootroot00000000000000description p4lang: egress l2tp3 access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.103 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp3 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl l3tp int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bvi1 l2tp3 9.9.9.1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl085.tst000066400000000000000000000243271510423065500167650ustar00rootroot00000000000000description p4lang: ingress vlan l2tp3 access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1.222 l2tp3 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl l3tp vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bvi1.222 l2tp3 9.9.9.1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl086.tst000066400000000000000000000243301510423065500167600ustar00rootroot00000000000000description p4lang: egress vlan l2tp3 access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.103 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1.222 l2tp3 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl l3tp vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bvi1.222 l2tp3 9.9.9.1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl087.tst000066400000000000000000000253701510423065500167660ustar00rootroot00000000000000description p4lang: l2tp3 interface inspection with ingress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 seq 10 permit 1 any all any all exit access-list test6 seq 10 permit 58 any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp3 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 inspect drop-rx allow-list test4 ipv6 inspect drop-rx allow-list test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l3tp inspect int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bvi1 l2tp3 9.9.9.1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 0 10 3.3.1.2 vrf v1 r3 tping 0 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl088.tst000066400000000000000000000253671510423065500167750ustar00rootroot00000000000000description p4lang: l2tp3 interface inspection with egress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 seq 10 permit 1 any all any all exit access-list test6 seq 10 permit 58 any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp3 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 inspect drop-tx allow-list test4 ipv6 inspect drop-tx allow-list test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l3tp inspect int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bvi1 l2tp3 9.9.9.1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 0 10 3.3.1.1 vrf v1 r4 tping 0 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl089.tst000066400000000000000000000263371510423065500167740ustar00rootroot00000000000000description p4lang: l2tp3 interface verify source addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp3 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 verify rx ipv6 verify rx exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l3tp vrfysrc int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.199 255.255.255.255 ipv6 addr 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int eth2 vrf for v1 ipv4 addr 1.1.99.1 255.255.255.0 ipv6 addr 1234:99::1 ffff:ffff:: exit int virt1 enc ppp pseudo v2 bvi1 l2tp3 9.9.9.1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.2 255.255.255.0 ipv6 addr 1234:99::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.199 255.255.255.255 1.1.99.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:99::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 2.2.2.199 vrf v1 r4 tping 100 10 4321::199 vrf v1 r4 tping 0 10 2.2.2.199 vrf v1 sou lo0 r4 tping 0 10 4321::199 vrf v1 sou lo0 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl090.tst000066400000000000000000000263471510423065500167650ustar00rootroot00000000000000description p4lang: l2tp3 interface loose verify source addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp3 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 verify any ipv6 verify any exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l3tp vrfysrc int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.199 255.255.255.255 ipv6 addr 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int eth2 vrf for v1 ipv4 addr 1.1.99.1 255.255.255.0 ipv6 addr 1234:99::1 ffff:ffff:: exit int virt1 enc ppp pseudo v2 bvi1 l2tp3 9.9.9.1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.2 255.255.255.0 ipv6 addr 1234:99::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.199 255.255.255.255 1.1.99.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:99::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 2.2.2.199 vrf v1 r4 tping 100 10 4321::199 vrf v1 r4 tping 0 10 2.2.2.199 vrf v1 sou lo0 r4 tping 0 10 4321::199 vrf v1 sou lo0 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl091.tst000066400000000000000000000243341510423065500167600ustar00rootroot00000000000000description p4lang: ingress tmux access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl tmux int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl092.tst000066400000000000000000000243351510423065500167620ustar00rootroot00000000000000description p4lang: egress tmux access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.103 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl tmux int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl093.tst000066400000000000000000000244051510423065500167610ustar00rootroot00000000000000description p4lang: ingress vlan tmux access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1.222 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl tmux vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1.222 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl094.tst000066400000000000000000000244061510423065500167630ustar00rootroot00000000000000description p4lang: egress vlan tmux access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.103 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1.222 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl tmux vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1.222 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl095.tst000066400000000000000000000254461510423065500167710ustar00rootroot00000000000000description p4lang: tmux interface inspection with ingress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 seq 10 permit 1 any all any all exit access-list test6 seq 10 permit 58 any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 inspect drop-rx allow-list test4 ipv6 inspect drop-rx allow-list test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux inspect int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun2 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun3 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 0 10 3.3.1.2 vrf v1 r3 tping 0 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl096.tst000066400000000000000000000254451510423065500167710ustar00rootroot00000000000000description p4lang: tmux interface inspection with egress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 seq 10 permit 1 any all any all exit access-list test6 seq 10 permit 58 any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 inspect drop-tx allow-list test4 ipv6 inspect drop-tx allow-list test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux inspect int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun2 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun3 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 0 10 3.3.1.1 vrf v1 r4 tping 0 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl097.tst000066400000000000000000000264151510423065500167700ustar00rootroot00000000000000description p4lang: tmux interface verify source addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 verify rx ipv6 verify rx exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux vrfysrc int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.199 255.255.255.255 ipv6 addr 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int eth2 vrf for v1 ipv4 addr 1.1.99.1 255.255.255.0 ipv6 addr 1234:99::1 ffff:ffff:: exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun2 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun3 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.2 255.255.255.0 ipv6 addr 1234:99::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.199 255.255.255.255 1.1.99.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:99::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 2.2.2.199 vrf v1 r4 tping 100 10 4321::199 vrf v1 r4 tping 0 10 2.2.2.199 vrf v1 sou lo0 r4 tping 0 10 4321::199 vrf v1 sou lo0 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl098.tst000066400000000000000000000264251510423065500167720ustar00rootroot00000000000000description p4lang: tmux interface loose verify source addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 verify any ipv6 verify any exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux vrfysrc int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.199 255.255.255.255 ipv6 addr 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int eth2 vrf for v1 ipv4 addr 1.1.99.1 255.255.255.0 ipv6 addr 1234:99::1 ffff:ffff:: exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun2 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun3 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.2 255.255.255.0 ipv6 addr 1234:99::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.199 255.255.255.255 1.1.99.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:99::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 2.2.2.199 vrf v1 r4 tping 100 10 4321::199 vrf v1 r4 tping 0 10 2.2.2.199 vrf v1 sou lo0 r4 tping 0 10 4321::199 vrf v1 sou lo0 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl099.tst000066400000000000000000000235001510423065500167620ustar00rootroot00000000000000description p4lang: qinq ingress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 exit int sdn2.111.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl100.tst000066400000000000000000000235011510423065500167420ustar00rootroot00000000000000description p4lang: qinq egress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 exit int sdn4.111 exit int sdn4.111.222 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl101.tst000066400000000000000000000162701510423065500167500ustar00rootroot00000000000000description p4lang: bundle qinq ingress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit access-list test4 deny 1 2.2.2.105 255.255.255.255 all 2.2.2.104 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.11 exit int bun1.11.22 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature acl bundle vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.11 exit int bun1.11.22 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 0 10 2.2.2.105 vrf v1 sou lo0 r4 tping 0 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 0 10 2.2.2.104 vrf v1 sou lo0 r5 tping 0 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl102.tst000066400000000000000000000162711510423065500167520ustar00rootroot00000000000000description p4lang: bundle qinq egress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.105 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.11 exit int bun1.11.22 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 access-group-out test4 ipv6 access-group-out test6 ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature acl bundle vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.11 exit int bun1.11.22 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 0 10 2.2.2.105 vrf v1 sou lo0 r4 tping 0 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 0 10 2.2.2.104 vrf v1 sou lo0 r5 tping 0 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl103.tst000066400000000000000000000222221510423065500167440ustar00rootroot00000000000000description p4lang: qinq bridge ingress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit access-list test4 deny 1 2.2.2.105 255.255.255.255 all 2.2.2.104 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 exit int sdn3.111 exit int sdn3.111.222 bridge-gr 1 exit int sdn4 exit int sdn4.222 exit int sdn4.222.333 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.3 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.4 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ! addother r2 controller r1 v9 9080 - feature acl bridge vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 exit int eth1.222.333 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.2.3 vrf v1 r1 tping 100 10 1234:2::3 vrf v1 r1 tping 100 10 1.1.2.4 vrf v1 r1 tping 100 10 1234:2::4 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.2.3 vrf v1 r3 tping 100 10 1234:2::3 vrf v1 r3 tping 100 10 1.1.2.4 vrf v1 r3 tping 100 10 1234:2::4 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.2.3 vrf v1 r4 tping 100 10 1234:2::3 vrf v1 r4 tping 100 10 1.1.2.4 vrf v1 r4 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.2.3 vrf v1 r5 tping 100 10 1234:2::3 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.2.3 vrf v1 r6 tping 100 10 1234:2::3 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 0 10 2.2.2.105 vrf v1 sou lo0 r4 tping 0 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 0 10 2.2.2.104 vrf v1 sou lo0 r5 tping 0 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.106 vrf v1 sou lo0 r1 dping sdn . r4 4321::106 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl104.tst000066400000000000000000000222231510423065500167460ustar00rootroot00000000000000description p4lang: qinq bridge egress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.105 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 exit int sdn3.111 exit int sdn3.111.222 bridge-gr 1 exit int sdn4 exit int sdn4.222 exit int sdn4.222.333 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 access-group-out test4 ipv6 access-group-out test6 ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.3 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.4 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ! addother r2 controller r1 v9 9080 - feature acl bridge vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 exit int eth1.222.333 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.2.3 vrf v1 r1 tping 100 10 1234:2::3 vrf v1 r1 tping 100 10 1.1.2.4 vrf v1 r1 tping 100 10 1234:2::4 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.2.3 vrf v1 r3 tping 100 10 1234:2::3 vrf v1 r3 tping 100 10 1.1.2.4 vrf v1 r3 tping 100 10 1234:2::4 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.2.3 vrf v1 r4 tping 100 10 1234:2::3 vrf v1 r4 tping 100 10 1.1.2.4 vrf v1 r4 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.2.3 vrf v1 r5 tping 100 10 1234:2::3 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.2.3 vrf v1 r6 tping 100 10 1234:2::3 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 0 10 2.2.2.105 vrf v1 sou lo0 r4 tping 0 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 0 10 2.2.2.104 vrf v1 sou lo0 r5 tping 0 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.106 vrf v1 sou lo0 r1 dping sdn . r4 4321::106 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl105.tst000066400000000000000000000236441510423065500167570ustar00rootroot00000000000000description p4lang: ingress qinq pppoe access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int di1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 exit int sdn2.111 exit int sdn2.111.222 p2poe client di1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl pppoe vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth1.111 exit int eth1.111.222 p2poe relay di1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl106.tst000066400000000000000000000236451510423065500167610ustar00rootroot00000000000000description p4lang: egress qinq pppoe access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int di1 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn4 exit int sdn4.111 exit int sdn4.111.222 p2poe relay di1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl pppoe vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit int eth1.111 exit int eth1.111.222 p2poe client di1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl107.tst000066400000000000000000000321241510423065500167520ustar00rootroot00000000000000description p4lang: hairpin qinq ingress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.104 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit int hair11.111 exit int hair11.111.222 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int hair12.111 exit int hair12.111.222 vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic vrf v9 exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:4:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.3.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:3:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl hairpin vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 1.1.5.1 vrf v2 r1 tping 100 10 1234:5::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl108.tst000066400000000000000000000321251510423065500167540ustar00rootroot00000000000000description p4lang: hairpin qinq egress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.104 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit int hair11.111 exit int hair11.111.222 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena exit int hair12.111 exit int hair12.111.222 vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic vrf v9 exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:4:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.3.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:3:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl hairpin vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 1.1.5.1 vrf v2 r1 tping 100 10 1234:5::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl109.tst000066400000000000000000000244671510423065500167670ustar00rootroot00000000000000description p4lang: ingress qinq gre access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 exit int sdn1.222 exit int sdn1.222.333 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1.222.333 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl gre vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 exit int bvi1.222.333 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1.222.333 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl110.tst000066400000000000000000000244701510423065500167510ustar00rootroot00000000000000description p4lang: egress qinq gre access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.103 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 exit int sdn1.222 exit int sdn1.222.333 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1.222.333 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl gre vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 exit int bvi1.222.333 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1.222.333 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl111.tst000066400000000000000000000244131510423065500167470ustar00rootroot00000000000000description p4lang: ingress qinq l2tp access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 exit int sdn1.222 exit int sdn1.222.333 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1.222.333 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl l2tp vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 exit int bvi1.222.333 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl112.tst000066400000000000000000000244141510423065500167510ustar00rootroot00000000000000description p4lang: egress qinq l2tp access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.103 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 exit int sdn1.222 exit int sdn1.222.333 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1.222.333 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl l2tp vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 exit int bvi1.222.333 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl113.tst000066400000000000000000000242011510423065500167440ustar00rootroot00000000000000description p4lang: qinq ingress policer addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list a1 permit 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit policy-map p1 seq 10 act pol access-rate 81920 match access a1 seq 20 act trans exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 exit int sdn2.111.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena service-policy-in p1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route vlan qos int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 100 10 4321::105 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 5-95 10 2.2.2.106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 5-95 10 4321::106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl114.tst000066400000000000000000000242011510423065500167450ustar00rootroot00000000000000description p4lang: qinq egress policer addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list a1 permit 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit policy-map p1 seq 10 act pol access-rate 81920 match access a1 seq 20 act trans exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 exit int sdn4.111 exit int sdn4.111.222 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena service-policy-out p1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route vlan qos int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 100 10 4321::105 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 5-95 10 2.2.2.106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 5-95 10 4321::106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl115.tst000066400000000000000000000246111510423065500167530ustar00rootroot00000000000000description p4lang: qinq interface inspection with egress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit access-list test4 seq 10 permit 1 any all any all exit access-list test6 seq 10 permit 58 any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 exit int sdn2.111.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 inspect drop-tx allow-list test4 ipv6 inspect drop-tx allow-list test6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan inspect int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 0 10 3.3.1.2 vrf v1 r3 tping 0 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl116.tst000066400000000000000000000246121510423065500167550ustar00rootroot00000000000000description p4lang: qinq interface inspection with ingress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit access-list test4 seq 10 permit 1 any all any all exit access-list test6 seq 10 permit 58 any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 exit int sdn2.111.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 inspect drop-rx allow-list test4 ipv6 inspect drop-rx allow-list test6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan inspect int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 0 10 3.3.1.1 vrf v1 r4 tping 0 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl117.tst000066400000000000000000000255611510423065500167620ustar00rootroot00000000000000description p4lang: qinq interface verify source addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 exit int sdn2.111.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 verify rx ipv6 verify rx exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan vrfysrc int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.1 255.255.255.0 ipv6 addr 1234:99::1 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.199 255.255.255.255 1.1.99.2 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:99::2 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.199 255.255.255.255 ipv6 addr 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.2 255.255.255.0 ipv6 addr 1234:99::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r3 tping 100 10 2.2.2.199 vrf v1 r3 tping 100 10 4321::199 vrf v1 r3 tping 0 10 2.2.2.199 vrf v1 sou lo0 r3 tping 0 10 4321::199 vrf v1 sou lo0 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl118.tst000066400000000000000000000255711510423065500167640ustar00rootroot00000000000000description p4lang: qinq interface loose verify source addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 exit int sdn2.111.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 verify any ipv6 verify any exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan vrfysrc int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.1 255.255.255.0 ipv6 addr 1234:99::1 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.199 255.255.255.255 1.1.99.2 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:99::2 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.199 255.255.255.255 ipv6 addr 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.2 255.255.255.0 ipv6 addr 1234:99::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r3 tping 100 10 2.2.2.199 vrf v1 r3 tping 100 10 4321::199 vrf v1 r3 tping 0 10 2.2.2.199 vrf v1 sou lo0 r3 tping 0 10 4321::199 vrf v1 sou lo0 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl119.tst000066400000000000000000000126441510423065500167620ustar00rootroot00000000000000description p4lang: bridge filter access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit access-list test4 deny 1 2.2.2.105 255.255.255.255 all 2.2.2.104 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 bridge-gr 1 bridge-filter ipv4in test4 bridge-filter ipv6in test6 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature acl bridge int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.3 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.4 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.2.3 vrf v1 r4 tping 100 10 1234:2::3 vrf v1 r4 tping 100 10 1.1.2.4 vrf v1 r4 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.2.3 vrf v1 r5 tping 100 10 1234:2::3 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.2.3 vrf v1 r6 tping 100 10 1234:2::3 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 0 10 2.2.2.105 vrf v1 sou lo0 r4 tping 0 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 0 10 2.2.2.104 vrf v1 sou lo0 r5 tping 0 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.106 vrf v1 sou lo0 r1 dping sdn . r4 4321::106 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl120.tst000066400000000000000000000127341510423065500167520ustar00rootroot00000000000000description p4lang: vlan bridge filter access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit access-list test4 deny 1 2.2.2.105 255.255.255.255 all 2.2.2.104 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 exit int sdn3.111 bridge-gr 1 bridge-filter ipv4in test4 bridge-filter ipv6in test6 exit int sdn4 exit int sdn4.222 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature acl bridge vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.3 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.4 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.2.3 vrf v1 r4 tping 100 10 1234:2::3 vrf v1 r4 tping 100 10 1.1.2.4 vrf v1 r4 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.2.3 vrf v1 r5 tping 100 10 1234:2::3 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.2.3 vrf v1 r6 tping 100 10 1234:2::3 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 0 10 2.2.2.105 vrf v1 sou lo0 r4 tping 0 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 0 10 2.2.2.104 vrf v1 sou lo0 r5 tping 0 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.106 vrf v1 sou lo0 r1 dping sdn . r4 4321::106 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl121.tst000066400000000000000000000251541510423065500167530ustar00rootroot00000000000000description p4lang: ingress pwhe access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit access-list test4 deny 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl mpls pwhe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit int bvi2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl122.tst000066400000000000000000000251551510423065500167550ustar00rootroot00000000000000description p4lang: egress pwhe access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.103 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl mpls pwhe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit int bvi2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl123.tst000066400000000000000000000252151510423065500167530ustar00rootroot00000000000000description p4lang: ingress vlan pwhe access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit access-list test4 deny 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 exit int sdn1.111 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl mpls pwhe route vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit int bvi2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl124.tst000066400000000000000000000252161510423065500167550ustar00rootroot00000000000000description p4lang: egress vlan pwhe access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.103 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 exit int sdn1.111 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl mpls pwhe route vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit int bvi2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl125.tst000066400000000000000000000262661510423065500167640ustar00rootroot00000000000000description p4lang: pwhe interface inspection with ingress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit access-list test4 seq 10 permit 1 any all any all exit access-list test6 seq 10 permit 58 any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 inspect drop-rx allow-list test4 ipv6 inspect drop-rx allow-list test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature inspect mpls pwhe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit int bvi2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun2 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun3 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 0 10 3.3.1.2 vrf v1 r3 tping 0 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl126.tst000066400000000000000000000262651510423065500167640ustar00rootroot00000000000000description p4lang: pwhe interface inspection with egress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit access-list test4 seq 10 permit 1 any all any all exit access-list test6 seq 10 permit 58 any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 inspect drop-tx allow-list test4 ipv6 inspect drop-tx allow-list test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature inspect mpls pwhe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit int bvi2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun2 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun3 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 0 10 3.3.1.1 vrf v1 r4 tping 0 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl127.tst000066400000000000000000000272351510423065500167630ustar00rootroot00000000000000description p4lang: pwhe interface verify source addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 verify rx ipv6 verify rx exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vrfysrc mpls pwhe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit int lo2 vrf for v1 ipv4 addr 2.2.2.199 255.255.255.255 ipv6 addr 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int eth2 vrf for v1 ipv4 addr 1.1.99.1 255.255.255.0 ipv6 addr 1234:99::1 ffff:ffff:: exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit int bvi2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun2 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun3 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.2 255.255.255.0 ipv6 addr 1234:99::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.199 255.255.255.255 1.1.99.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:99::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 2.2.2.199 vrf v1 r4 tping 100 10 4321::199 vrf v1 r4 tping 0 10 2.2.2.199 vrf v1 sou lo0 r4 tping 0 10 4321::199 vrf v1 sou lo0 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl128.tst000066400000000000000000000272451510423065500167650ustar00rootroot00000000000000description p4lang: pwhe interface loose verify source addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 verify any ipv6 verify any exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vrfysrc mpls pwhe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit int lo2 vrf for v1 ipv4 addr 2.2.2.199 255.255.255.255 ipv6 addr 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int eth2 vrf for v1 ipv4 addr 1.1.99.1 255.255.255.0 ipv6 addr 1234:99::1 ffff:ffff:: exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit int bvi2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun2 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun3 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.2 255.255.255.0 ipv6 addr 1234:99::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.199 255.255.255.255 1.1.99.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:99::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 2.2.2.199 vrf v1 r4 tping 100 10 4321::199 vrf v1 r4 tping 0 10 2.2.2.199 vrf v1 sou lo0 r4 tping 0 10 4321::199 vrf v1 sou lo0 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl129.tst000066400000000000000000000252631510423065500167640ustar00rootroot00000000000000description p4lang: ingress qinq pwhe access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit access-list test4 deny 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 exit int sdn1.111 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl mpls pwhe route vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit int bvi2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl130.tst000066400000000000000000000252741510423065500167560ustar00rootroot00000000000000description p4lang: egress qinq pwhe access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.103 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl mpls pwhe route vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 exit int bvi1.111.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit int bvi2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl131.tst000066400000000000000000000245311510423065500167520ustar00rootroot00000000000000description p4lang: ingress mgre access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn1 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl mgre mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl132.tst000066400000000000000000000245321510423065500167540ustar00rootroot00000000000000description p4lang: egress mgre access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.103 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn1 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl mgre mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl133.tst000066400000000000000000000246021510423065500167530ustar00rootroot00000000000000description p4lang: ingress vlan mgre access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn1.222 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl mgre vlan mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1.222 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl134.tst000066400000000000000000000246031510423065500167550ustar00rootroot00000000000000description p4lang: egress vlan mgre access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.103 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn1.222 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl mgre vlan mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1.222 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl135.tst000066400000000000000000000256431510423065500167630ustar00rootroot00000000000000description p4lang: mgre interface inspection with ingress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 seq 10 permit 1 any all any all exit access-list test6 seq 10 permit 58 any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn1 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 inspect drop-rx allow-list test4 ipv6 inspect drop-rx allow-list test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre inspect mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun2 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun3 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 0 10 3.3.1.2 vrf v1 r3 tping 0 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl136.tst000066400000000000000000000256421510423065500167630ustar00rootroot00000000000000description p4lang: mgre interface inspection with egress drop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 seq 10 permit 1 any all any all exit access-list test6 seq 10 permit 58 any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn1 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 inspect drop-tx allow-list test4 ipv6 inspect drop-tx allow-list test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre inspect mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun2 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun3 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 0 10 3.3.1.1 vrf v1 r4 tping 0 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl137.tst000066400000000000000000000266121510423065500167620ustar00rootroot00000000000000description p4lang: mgre interface verify source addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn1 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 verify rx ipv6 verify rx exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre vrfysrc mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.199 255.255.255.255 ipv6 addr 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int eth2 vrf for v1 ipv4 addr 1.1.99.1 255.255.255.0 ipv6 addr 1234:99::1 ffff:ffff:: exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun2 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun3 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.2 255.255.255.0 ipv6 addr 1234:99::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.199 255.255.255.255 1.1.99.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:99::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 2.2.2.199 vrf v1 r4 tping 100 10 4321::199 vrf v1 r4 tping 0 10 2.2.2.199 vrf v1 sou lo0 r4 tping 0 10 4321::199 vrf v1 sou lo0 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl138.tst000066400000000000000000000266221510423065500167640ustar00rootroot00000000000000description p4lang: mgre interface loose verify source addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn1 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 verify any ipv6 verify any exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre vrfysrc mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.199 255.255.255.255 ipv6 addr 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int eth2 vrf for v1 ipv4 addr 1.1.99.1 255.255.255.0 ipv6 addr 1234:99::1 ffff:ffff:: exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun2 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.1 255.255.255.0 exit int tun3 tun sou lo0 tun dest 4321::104 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.1 255.255.255.0 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.99.2 255.255.255.0 ipv6 addr 1234:99::2 ffff:ffff:: exit int tun1 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.1.2 255.255.255.0 exit int tun2 tun sou lo0 tun dest 4321::103 tun vrf v1 tun key 2554 tun mod pckoudp vrf for v1 ipv4 addr 3.3.2.2 255.255.255.0 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.199 255.255.255.255 1.1.99.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::199 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:99::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 3.3.1.1 vrf v1 r4 tping 100 10 3.3.2.1 vrf v1 r3 tping 100 10 3.3.1.2 vrf v1 r3 tping 100 10 3.3.2.2 vrf v1 r4 tping 100 10 2.2.2.199 vrf v1 r4 tping 100 10 4321::199 vrf v1 r4 tping 0 10 2.2.2.199 vrf v1 sou lo0 r4 tping 0 10 4321::199 vrf v1 sou lo0 r1 dping sdn . r4 3.3.1.1 vrf v1 r1 dping sdn . r4 3.3.2.1 vrf v1 freeRtr-25.11.9/cfg/p4lang-acl139.tst000066400000000000000000000246701510423065500167660ustar00rootroot00000000000000description p4lang: ingress qinq mgre access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 exit int sdn1.222 exit int sdn1.222.333 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn1.222.333 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl mgre vlan mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 exit int bvi1.222.333 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1.222.333 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl140.tst000066400000000000000000000246711510423065500167570ustar00rootroot00000000000000description p4lang: egress qinq mgre access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.103 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 exit int sdn1.222 exit int sdn1.222.333 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn1.222.333 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl mgre vlan mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 exit int bvi1.222.333 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1.222.333 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl141.tst000066400000000000000000000232131510423065500167470ustar00rootroot00000000000000description p4lang: ingress rate limit addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena rate-limit-in 1024 100 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ratelim int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 5-95 10 2.2.2.106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 5-95 10 4321::106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl142.tst000066400000000000000000000232131510423065500167500ustar00rootroot00000000000000description p4lang: egress rate limit addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena rate-limit-out 1024 100 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ratelim int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 5-95 10 2.2.2.106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 5-95 10 4321::106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl143.tst000066400000000000000000000232541510423065500167560ustar00rootroot00000000000000description p4lang: vlan ingress rate limit addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena rate-limit-in 1024 100 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route vlan ratelim int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 5-95 10 2.2.2.106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 5-95 10 4321::106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl144.tst000066400000000000000000000232541510423065500167570ustar00rootroot00000000000000description p4lang: vlan egress rate limit addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 exit int sdn4.111 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena rate-limit-out 1024 100 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route vlan ratelim int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 5-95 10 2.2.2.106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 5-95 10 4321::106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl145.tst000066400000000000000000000233321510423065500167550ustar00rootroot00000000000000description p4lang: qinq ingress rate limit addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 exit int sdn2.111.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena rate-limit-in 1024 100 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route vlan ratelim int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 5-95 10 2.2.2.106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 5-95 10 4321::106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-acl146.tst000066400000000000000000000233321510423065500167560ustar00rootroot00000000000000description p4lang: qinq egress rate limit addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 exit int sdn4.111 exit int sdn4.111.222 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena rate-limit-out 1024 100 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route vlan ratelim int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 5-95 10 2.2.2.106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r4 tping 5-95 10 4321::106 vrf v1 sou lo0 rep 100 tim 250 siz 250 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt001.tst000066400000000000000000000232621510423065500173500ustar00rootroot00000000000000description p4lang: macsec with des addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt002.tst000066400000000000000000000232651510423065500173540ustar00rootroot00000000000000description p4lang: macsec with 3des addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher 3des hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher 3des hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt003.tst000066400000000000000000000233041510423065500173470ustar00rootroot00000000000000description p4lang: macsec with aes128cbc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher aes128cbc hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher aes128cbc hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt004.tst000066400000000000000000000233041510423065500173500ustar00rootroot00000000000000description p4lang: macsec with aes192cbc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher aes192cbc hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher aes192cbc hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt005.tst000066400000000000000000000233041510423065500173510ustar00rootroot00000000000000description p4lang: macsec with aes256cbc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher aes256cbc hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher aes256cbc hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt006.tst000066400000000000000000000232621510423065500173550ustar00rootroot00000000000000description p4lang: macsec with md5 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt007.tst000066400000000000000000000232651510423065500173610ustar00rootroot00000000000000description p4lang: macsec with sha1 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher des hash sha1 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash sha1 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt008.tst000066400000000000000000000232731510423065500173610ustar00rootroot00000000000000description p4lang: macsec with sha256 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher des hash sha256 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash sha256 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt009.tst000066400000000000000000000232731510423065500173620ustar00rootroot00000000000000description p4lang: macsec with sha512 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher des hash sha512 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash sha512 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt010.tst000066400000000000000000000232671510423065500173550ustar00rootroot00000000000000description p4lang: macsec over ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt011.tst000066400000000000000000000233121510423065500173450ustar00rootroot00000000000000description p4lang: macsec over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int sdn2 exit int sdn2.111 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int eth1.111 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt012.tst000066400000000000000000000170561510423065500173560ustar00rootroot00000000000000description p4lang: macsec over bundle vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher des hash sha512 key tester replay 0 exit bundle 1 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.111 macsec ips vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit crypto ipsec ips role init group 02 cipher des hash sha512 key tester replay 0 exit int bun1.111 macsec ips vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt013.tst000066400000000000000000000241201510423065500173450ustar00rootroot00000000000000description p4lang: macsec over gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int tun1 macsec ips tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int tun1 macsec ips tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt014.tst000066400000000000000000000234441510423065500173560ustar00rootroot00000000000000description p4lang: macsec over pppoe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int di1 macsec ips enc ppp vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn2 p2poe client di1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pppoe route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int di1 macsec ips enc ppp vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth1 p2poe relay di1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt015.tst000066400000000000000000000240541510423065500173550ustar00rootroot00000000000000description p4lang: macsec over l2tp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int virt1 macsec ips enc ppp pseudo v2 sdn1 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int di1 macsec ips enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt016.tst000066400000000000000000000315651510423065500173630ustar00rootroot00000000000000description p4lang: macsec over hairpin addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int hair11 macsec ips vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena exit int hair12 macsec ips vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic vrf v9 exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:4:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.3.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:3:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature hairpin route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 1.1.5.1 vrf v2 r1 tping 100 10 1234:5::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt017.tst000066400000000000000000000237071510423065500173630ustar00rootroot00000000000000description p4lang: macsec ingress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt018.tst000066400000000000000000000237101510423065500173560ustar00rootroot00000000000000description p4lang: macsec egress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int sdn4 macsec ips vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt019.tst000066400000000000000000000237501510423065500173630ustar00rootroot00000000000000description p4lang: macsec vlan ingress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int sdn2.111 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl vlan macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int eth1.111 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt020.tst000066400000000000000000000237511510423065500173540ustar00rootroot00000000000000description p4lang: macsec vlan egress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int sdn4.111 macsec ips vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl vlan macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int eth1.111 macsec ips vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt021.tst000066400000000000000000000230411510423065500173450ustar00rootroot00000000000000description p4lang: ipsec with des addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt022.tst000066400000000000000000000230431510423065500173500ustar00rootroot00000000000000description p4lang: ipsec with 3des addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher 3des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher 3des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt023.tst000066400000000000000000000230621510423065500173520ustar00rootroot00000000000000description p4lang: ipsec with aes128cbc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes128cbc hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher aes128cbc hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt024.tst000066400000000000000000000230621510423065500173530ustar00rootroot00000000000000description p4lang: ipsec with aes192cbc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes192cbc hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher aes192cbc hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt025.tst000066400000000000000000000230621510423065500173540ustar00rootroot00000000000000description p4lang: ipsec with aes256cbc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes256cbc hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher aes256cbc hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt026.tst000066400000000000000000000230621510423065500173550ustar00rootroot00000000000000description p4lang: ipsec with md5 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role static isakmp 2 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role static isakmp 2 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt027.tst000066400000000000000000000230671510423065500173630ustar00rootroot00000000000000description p4lang: ipsec with sha1 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash sha1 prf sha1 seconds 3600 bytes 1024000 key tester role static isakmp 2 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash sha1 prf sha1 seconds 3600 bytes 1024000 key tester role static isakmp 2 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt028.tst000066400000000000000000000231011510423065500173510ustar00rootroot00000000000000description p4lang: ipsec with sha256 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash sha256 prf sha256 seconds 3600 bytes 1024000 key tester role static isakmp 2 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash sha256 prf sha256 seconds 3600 bytes 1024000 key tester role static isakmp 2 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt029.tst000066400000000000000000000231011510423065500173520ustar00rootroot00000000000000description p4lang: ipsec with sha512 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash sha512 prf sha512 seconds 3600 bytes 1024000 key tester role static isakmp 2 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash sha512 prf sha512 seconds 3600 bytes 1024000 key tester role static isakmp 2 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt030.tst000066400000000000000000000230421510423065500173460ustar00rootroot00000000000000description p4lang: ipv4 over ipsec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt031.tst000066400000000000000000000230631510423065500173520ustar00rootroot00000000000000description p4lang: ipv6 over ipsec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt032.tst000066400000000000000000000230421510423065500173500ustar00rootroot00000000000000description p4lang: ipsec over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt033.tst000066400000000000000000000230511510423065500173510ustar00rootroot00000000000000description p4lang: ipsec over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9999::2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9999::1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt034.tst000066400000000000000000000234751510423065500173640ustar00rootroot00000000000000description p4lang: ipsec over ipv4 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8.8.8.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8.8.8.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt035.tst000066400000000000000000000236441510423065500173630ustar00rootroot00000000000000description p4lang: ipsec over ipv6 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8888::2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8888::1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 8888::2 vrf v2 r3 tping 100 10 8888::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt036.tst000066400000000000000000000231151510423065500173550ustar00rootroot00000000000000description p4lang: ipsec over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1.222 tun destination 9999::2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1.222 tun destination 9999::1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt037.tst000066400000000000000000000236241510423065500173630ustar00rootroot00000000000000description p4lang: ipv4 over ipsec with ingress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec acl int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt038.tst000066400000000000000000000236251510423065500173650ustar00rootroot00000000000000description p4lang: ipv4 over ipsec with egress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.103 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec acl int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt039.tst000066400000000000000000000236451510423065500173700ustar00rootroot00000000000000description p4lang: ipv6 over ipsec with ingress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec acl int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt040.tst000066400000000000000000000236461510423065500173610ustar00rootroot00000000000000description p4lang: ipv6 over ipsec with egress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.103 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec acl int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv6 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt041.tst000066400000000000000000000230361510423065500173530ustar00rootroot00000000000000description p4lang: ipsec with ike1 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role resp isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role init isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt042.tst000066400000000000000000000230601510423065500173510ustar00rootroot00000000000000description p4lang: ipsec with ike2 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role resp isakmp 2 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 prf md5 seconds 3600 bytes 1024000 key tester role init isakmp 2 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt043.tst000066400000000000000000000260451510423065500173600ustar00rootroot00000000000000description p4lang: openvpn with des addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt044.tst000066400000000000000000000260501510423065500173550ustar00rootroot00000000000000description p4lang: openvpn with 3des addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher 3des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher 3des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt045.tst000066400000000000000000000260671510423065500173660ustar00rootroot00000000000000description p4lang: openvpn with aes128cbc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher aes128cbc hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher aes128cbc hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt046.tst000066400000000000000000000260671510423065500173670ustar00rootroot00000000000000description p4lang: openvpn with aes192cbc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher aes192cbc hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher aes192cbc hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt047.tst000066400000000000000000000260671510423065500173700ustar00rootroot00000000000000description p4lang: openvpn with aes256cbc addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher aes256cbc hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher aes256cbc hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt048.tst000066400000000000000000000260451510423065500173650ustar00rootroot00000000000000description p4lang: openvpn with md5 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt049.tst000066400000000000000000000260501510423065500173620ustar00rootroot00000000000000description p4lang: openvpn with sha1 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher des hash sha1 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher des hash sha1 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt050.tst000066400000000000000000000260561510423065500173600ustar00rootroot00000000000000description p4lang: openvpn with sha256 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher des hash sha256 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher des hash sha256 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt051.tst000066400000000000000000000260561510423065500173610ustar00rootroot00000000000000description p4lang: openvpn with sha512 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher des hash sha512 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher des hash sha512 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt052.tst000066400000000000000000000260461510423065500173610ustar00rootroot00000000000000description p4lang: openvpn over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt053.tst000066400000000000000000000260551510423065500173620ustar00rootroot00000000000000description p4lang: openvpn over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9999::2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9999::1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt054.tst000066400000000000000000000265021510423065500173600ustar00rootroot00000000000000description p4lang: openvpn over ipv4 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8.8.8.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8.8.8.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt055.tst000066400000000000000000000266511510423065500173660ustar00rootroot00000000000000description p4lang: openvpn over ipv6 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8888::2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8888::1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 8888::2 vrf v2 r3 tping 100 10 8888::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt056.tst000066400000000000000000000265611510423065500173670ustar00rootroot00000000000000description p4lang: openvpn over asymmetric ports addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8.8.8.2 tun prot ips tunnel key 1234 4321 tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8.8.8.1 tun prot ips tunnel key 4321 1234 tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt057.tst000066400000000000000000000266121510423065500173650ustar00rootroot00000000000000description p4lang: openvpn with ingress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn acl int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt058.tst000066400000000000000000000266131510423065500173670ustar00rootroot00000000000000description p4lang: openvpn with egress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.103 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn acl int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt059.tst000066400000000000000000000242621510423065500173660ustar00rootroot00000000000000description p4lang: wireguard over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips key EFw2rJEdqFGDgC80um3fwMmAafwqXno+PsbMHPZ0umM=M6vDV8QdiWDQppVKjKf8xjoKtyGAeRK/Ue48kwKI5Ss= replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode wireguard vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route wireguard int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips key 6JhyvKPutQ9DNLupOPmDnQLRWtUWlUjI6PTJ/IZ9l1w=bQMmpCaGVyq9f+v48XGmfH5DMLytkqziID+rBH+qQic= replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode wireguard vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt060.tst000066400000000000000000000242701510423065500173550ustar00rootroot00000000000000description p4lang: wireguard over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips key EFw2rJEdqFGDgC80um3fwMmAafwqXno+PsbMHPZ0umM=M6vDV8QdiWDQppVKjKf8xjoKtyGAeRK/Ue48kwKI5Ss= replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9999::2 tun prot ips tun mode wireguard vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route wireguard int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit crypto ipsec ips key 6JhyvKPutQ9DNLupOPmDnQLRWtUWlUjI6PTJ/IZ9l1w=bQMmpCaGVyq9f+v48XGmfH5DMLytkqziID+rBH+qQic= replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9999::1 tun prot ips tun mode wireguard vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt061.tst000066400000000000000000000246171510423065500173630ustar00rootroot00000000000000description p4lang: wireguard over ipv4 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips key EFw2rJEdqFGDgC80um3fwMmAafwqXno+PsbMHPZ0umM=M6vDV8QdiWDQppVKjKf8xjoKtyGAeRK/Ue48kwKI5Ss= replay 0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8.8.8.2 tun prot ips tun mode wireguard vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route wireguard int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips key 6JhyvKPutQ9DNLupOPmDnQLRWtUWlUjI6PTJ/IZ9l1w=bQMmpCaGVyq9f+v48XGmfH5DMLytkqziID+rBH+qQic= replay 0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8.8.8.1 tun prot ips tun mode wireguard vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt062.tst000066400000000000000000000247651510423065500173700ustar00rootroot00000000000000description p4lang: wireguard over ipv6 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips key EFw2rJEdqFGDgC80um3fwMmAafwqXno+PsbMHPZ0umM=M6vDV8QdiWDQppVKjKf8xjoKtyGAeRK/Ue48kwKI5Ss= replay 0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8888::2 tun prot ips tun mode wireguard vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route wireguard int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit crypto ipsec ips key 6JhyvKPutQ9DNLupOPmDnQLRWtUWlUjI6PTJ/IZ9l1w=bQMmpCaGVyq9f+v48XGmfH5DMLytkqziID+rBH+qQic= replay 0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8888::1 tun prot ips tun mode wireguard vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt063.tst000066400000000000000000000243261510423065500173620ustar00rootroot00000000000000description p4lang: wireguard over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips key EFw2rJEdqFGDgC80um3fwMmAafwqXno+PsbMHPZ0umM=M6vDV8QdiWDQppVKjKf8xjoKtyGAeRK/Ue48kwKI5Ss= replay 0 exit int tun1 tun vrf v2 tun source sdn1.222 tun destination 9.9.9.2 tun prot ips tun mode wireguard vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route wireguard vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips key 6JhyvKPutQ9DNLupOPmDnQLRWtUWlUjI6PTJ/IZ9l1w=bQMmpCaGVyq9f+v48XGmfH5DMLytkqziID+rBH+qQic= replay 0 exit int tun1 tun vrf v2 tun source bvi1.222 tun destination 9.9.9.1 tun prot ips tun mode wireguard vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt064.tst000066400000000000000000000243521510423065500173620ustar00rootroot00000000000000description p4lang: wireguard over asymmetric ports addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips key EFw2rJEdqFGDgC80um3fwMmAafwqXno+PsbMHPZ0umM=M6vDV8QdiWDQppVKjKf8xjoKtyGAeRK/Ue48kwKI5Ss= replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tunnel key 1234 4321 tun mode wireguard vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route wireguard int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips key 6JhyvKPutQ9DNLupOPmDnQLRWtUWlUjI6PTJ/IZ9l1w=bQMmpCaGVyq9f+v48XGmfH5DMLytkqziID+rBH+qQic= replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tunnel key 4321 1234 tun mode wireguard vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt065.tst000066400000000000000000000250261510423065500173620ustar00rootroot00000000000000description p4lang: wireguard with ingress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.103 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips key EFw2rJEdqFGDgC80um3fwMmAafwqXno+PsbMHPZ0umM=M6vDV8QdiWDQppVKjKf8xjoKtyGAeRK/Ue48kwKI5Ss= replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode wireguard vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route wireguard acl int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips key 6JhyvKPutQ9DNLupOPmDnQLRWtUWlUjI6PTJ/IZ9l1w=bQMmpCaGVyq9f+v48XGmfH5DMLytkqziID+rBH+qQic= replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode wireguard vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt066.tst000066400000000000000000000250271510423065500173640ustar00rootroot00000000000000description p4lang: wireguard with egress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.106 255.255.255.255 all 2.2.2.103 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips key EFw2rJEdqFGDgC80um3fwMmAafwqXno+PsbMHPZ0umM=M6vDV8QdiWDQppVKjKf8xjoKtyGAeRK/Ue48kwKI5Ss= replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode wireguard vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route wireguard acl int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips key 6JhyvKPutQ9DNLupOPmDnQLRWtUWlUjI6PTJ/IZ9l1w=bQMmpCaGVyq9f+v48XGmfH5DMLytkqziID+rBH+qQic= replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode wireguard vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt067.tst000066400000000000000000000247741510423065500173750ustar00rootroot00000000000000description p4lang: multicast routing over macsec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 1.1.4.2 ipv6 multi static ff06::1 1234:4::2 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 1.1.4.2 ipv6 multi static ff06::1 1234:4::2 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 1.1.4.2 ipv6 multi static ff06::1 1234:4::2 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route mroute macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 1.1.4.2 ipv6 multi v1 join ff06::1 1234:4::2 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 1.1.4.2 ipv6 multi v1 join ff06::1 1234:4::2 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 1.1.4.2 ipv6 multi v1 join ff06::1 1234:4::2 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 multi static 232.2.2.2 1.1.4.2 ipv6 multi static ff06::1 1234:4::2 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou eth1 multi r6 tping 300 5 ff06::1 vrf v1 sou eth1 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou eth1 r1 dping sdn . r6 ff06::1 vrf v1 sou eth1 freeRtr-25.11.9/cfg/p4lang-crypt068.tst000066400000000000000000000250351510423065500173650ustar00rootroot00000000000000description p4lang: multicast routing over vlan macsec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 1.1.4.2 ipv6 multi static ff06::1 1234:4::2 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int sdn2 exit int sdn2.111 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 1.1.4.2 ipv6 multi static ff06::1 1234:4::2 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 1.1.4.2 ipv6 multi static ff06::1 1234:4::2 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route mroute vlan macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 1.1.4.2 ipv6 multi v1 join ff06::1 1234:4::2 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int eth1.111 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 1.1.4.2 ipv6 multi v1 join ff06::1 1234:4::2 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 1.1.4.2 ipv6 multi v1 join ff06::1 1234:4::2 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 multi static 232.2.2.2 1.1.4.2 ipv6 multi static ff06::1 1234:4::2 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou eth1 multi r6 tping 300 5 ff06::1 vrf v1 sou eth1 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou eth1 r1 dping sdn . r6 ff06::1 vrf v1 sou eth1 freeRtr-25.11.9/cfg/p4lang-crypt069.tst000066400000000000000000000276541510423065500173770ustar00rootroot00000000000000description p4lang: replay window with openvpn addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 512 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v3 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit hair 1 ether exit int hair11 vrf for v3 ipv4 addr 1.1.9.2 255.255.255.0 ipv6 addr 1234:9::2 ffff:ffff:: ipv6 ena exit int hair12 vrf for v1 ipv4 addr 1.1.9.1 255.255.255.0 ipv6 addr 1234:9::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic -1 export-port hair12 dynamic -1 export-port tun1 dynamic vrf v9 exit ipv4 route v3 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v3 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v3 0.0.0.0 0.0.0.0 1.1.9.1 ipv6 route v3 :: :: 1234:9::1 ipv4 route v3 1.1.1.2 255.255.255.255 1.1.1.2 ipv6 route v3 1234:1::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 1.1.1.0 255.255.255.0 1.1.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.9.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 1234:1:: ffff:ffff:: 1234:9::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:9::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route hairpin openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 512 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.9.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:9:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v3 r1 tping 0 10 1234:1::2 vrf v3 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt070.tst000066400000000000000000000260701510423065500173560ustar00rootroot00000000000000description p4lang: replay window with wireguard addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips key EFw2rJEdqFGDgC80um3fwMmAafwqXno+PsbMHPZ0umM=M6vDV8QdiWDQppVKjKf8xjoKtyGAeRK/Ue48kwKI5Ss= replay 512 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode wireguard vrf for v3 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit hair 1 ether exit int hair11 vrf for v3 ipv4 addr 1.1.9.2 255.255.255.0 ipv6 addr 1234:9::2 ffff:ffff:: ipv6 ena exit int hair12 vrf for v1 ipv4 addr 1.1.9.1 255.255.255.0 ipv6 addr 1234:9::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic -1 export-port hair12 dynamic -1 export-port tun1 dynamic vrf v9 exit ipv4 route v3 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v3 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v3 0.0.0.0 0.0.0.0 1.1.9.1 ipv6 route v3 :: :: 1234:9::1 ipv4 route v3 1.1.1.2 255.255.255.255 1.1.1.2 ipv6 route v3 1234:1::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 1.1.1.0 255.255.255.0 1.1.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.9.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 1234:1:: ffff:ffff:: 1234:9::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:9::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route hairpin wireguard int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips key 6JhyvKPutQ9DNLupOPmDnQLRWtUWlUjI6PTJ/IZ9l1w=bQMmpCaGVyq9f+v48XGmfH5DMLytkqziID+rBH+qQic= replay 512 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode wireguard vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.9.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:9:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v3 r1 tping 0 10 1234:1::2 vrf v3 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt071.tst000066400000000000000000000260671510423065500173650ustar00rootroot00000000000000description p4lang: openvpn with aes128cfb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher aes128cfb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher aes128cfb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt072.tst000066400000000000000000000260671510423065500173660ustar00rootroot00000000000000description p4lang: openvpn with aes192cfb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher aes192cfb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher aes192cfb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt073.tst000066400000000000000000000260671510423065500173670ustar00rootroot00000000000000description p4lang: openvpn with aes256cfb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher aes256cfb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher aes256cfb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt074.tst000066400000000000000000000260671510423065500173700ustar00rootroot00000000000000description p4lang: openvpn with aes128ecb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher aes128ecb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher aes128ecb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt075.tst000066400000000000000000000260671510423065500173710ustar00rootroot00000000000000description p4lang: openvpn with aes192ecb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher aes192ecb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher aes192ecb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt076.tst000066400000000000000000000260671510423065500173720ustar00rootroot00000000000000description p4lang: openvpn with aes256ecb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher aes256ecb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher aes256ecb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt077.tst000066400000000000000000000260561510423065500173710ustar00rootroot00000000000000description p4lang: openvpn with sha224 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher des hash sha224 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher des hash sha224 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt078.tst000066400000000000000000000260561510423065500173720ustar00rootroot00000000000000description p4lang: openvpn with sha384 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher des hash sha384 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher des hash sha384 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt079.tst000066400000000000000000000233041510423065500173640ustar00rootroot00000000000000description p4lang: macsec with aes128cfb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher aes128cfb hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher aes128cfb hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt080.tst000066400000000000000000000233041510423065500173540ustar00rootroot00000000000000description p4lang: macsec with aes192cfb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher aes192cfb hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher aes192cfb hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt081.tst000066400000000000000000000233041510423065500173550ustar00rootroot00000000000000description p4lang: macsec with aes256cfb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher aes256cfb hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher aes256cfb hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt082.tst000066400000000000000000000233041510423065500173560ustar00rootroot00000000000000description p4lang: macsec with aes128ecb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher aes128ecb hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher aes128ecb hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt083.tst000066400000000000000000000233041510423065500173570ustar00rootroot00000000000000description p4lang: macsec with aes192ecb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher aes192ecb hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher aes192ecb hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt084.tst000066400000000000000000000233041510423065500173600ustar00rootroot00000000000000description p4lang: macsec with aes256ecb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher aes256ecb hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher aes256ecb hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt085.tst000066400000000000000000000232731510423065500173660ustar00rootroot00000000000000description p4lang: macsec with sha224 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher des hash sha224 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash sha224 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt086.tst000066400000000000000000000232731510423065500173670ustar00rootroot00000000000000description p4lang: macsec with sha384 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher des hash sha384 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash sha384 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt087.tst000066400000000000000000000260631510423065500173700ustar00rootroot00000000000000description p4lang: openvpn with none encryption addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher none hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher none hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt088.tst000066400000000000000000000260551510423065500173720ustar00rootroot00000000000000description p4lang: openvpn with none hash addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher des hash none key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher des hash none key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt089.tst000066400000000000000000000233001510423065500173610ustar00rootroot00000000000000description p4lang: macsec with none encryption addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher none hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher none hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt090.tst000066400000000000000000000232721510423065500173610ustar00rootroot00000000000000description p4lang: macsec with none hash addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher des hash none key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash none key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt091.tst000066400000000000000000000233151510423065500173600ustar00rootroot00000000000000description p4lang: macsec with aes128gcm and hash addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher aes128gcm hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher aes128gcm hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt092.tst000066400000000000000000000233151510423065500173610ustar00rootroot00000000000000description p4lang: macsec with aes192gcm and hash addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher aes192gcm hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher aes192gcm hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt093.tst000066400000000000000000000233151510423065500173620ustar00rootroot00000000000000description p4lang: macsec with aes256gcm and hash addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher aes256gcm hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher aes256gcm hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt094.tst000066400000000000000000000233171510423065500173650ustar00rootroot00000000000000description p4lang: macsec with aes128gcm and aead addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher aes128gcm hash none key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher aes128gcm hash none key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt095.tst000066400000000000000000000233171510423065500173660ustar00rootroot00000000000000description p4lang: macsec with aes192gcm and aead addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher aes192gcm hash none key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher aes192gcm hash none key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt096.tst000066400000000000000000000233171510423065500173670ustar00rootroot00000000000000description p4lang: macsec with aes256gcm and aead addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher aes256gcm hash none key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher aes256gcm hash none key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt097.tst000066400000000000000000000231671510423065500173730ustar00rootroot00000000000000description p4lang: sgt over ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 sgt ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 sgt ena vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 sgt ass 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 sgt ass 4321 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route sgt int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act drop match sgt 4321 seq 20 act trans exit bridge 1 mac-learn block-unicast exit int eth1 sgt ena bridge-gr 1 exit int bvi1 service-policy-in p1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 0 10 1.1.4.2 vrf v1 r3 tping 0 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 0 10 1.1.1.2 vrf v1 r6 tping 0 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt098.tst000066400000000000000000000232461510423065500173720ustar00rootroot00000000000000description p4lang: sgt over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 sgt ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 sgt ena vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 sgt ass 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 exit int sdn4.222 sgt ass 4321 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan route sgt int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act drop match sgt 4321 seq 20 act trans exit bridge 1 mac-learn block-unicast exit int eth1.111 sgt ena bridge-gr 1 exit int bvi1 service-policy-in p1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 0 10 1.1.4.2 vrf v1 r3 tping 0 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 0 10 1.1.1.2 vrf v1 r6 tping 0 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt099.tst000066400000000000000000000240201510423065500173620ustar00rootroot00000000000000description p4lang: sgt over gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 sgt ena tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 sgt ena vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 sgt ass 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 sgt ass 4321 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port tun1 dynamic export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route gre sgt int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act drop match sgt 4321 seq 20 act trans exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 sgt ena service-policy-in p1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 0 10 1.1.4.2 vrf v1 r3 tping 0 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 0 10 1.1.1.2 vrf v1 r6 tping 0 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt100.tst000066400000000000000000000233221510423065500173450ustar00rootroot00000000000000description p4lang: sgt over pppoe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 sgt ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int di1 sgt ena vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn2 p2poe client di1 exit int sdn3 sgt ass 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 sgt ass 4321 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port di1 dynamic export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route pppoe sgt int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act drop match sgt 4321 seq 20 act trans exit bridge 1 mac-learn block-unicast exit int eth1 sgt ena bridge-gr 1 exit int bvi1 service-policy-in p1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 sgt ena vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth1 p2poe relay di1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 0 10 1.1.4.2 vrf v1 r3 tping 0 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 0 10 1.1.1.2 vrf v1 r6 tping 0 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt101.tst000066400000000000000000000237431510423065500173550ustar00rootroot00000000000000description p4lang: sgt over l2tp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 sgt ena enc ppp pseudo v2 sdn1 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 sgt ena vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 sgt ass 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 sgt ass 4321 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port virt1 dynamic export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route l2tp sgt int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act drop match sgt 4321 seq 20 act trans exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 sgt ena service-policy-in p1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 0 10 1.1.4.2 vrf v1 r3 tping 0 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 0 10 1.1.1.2 vrf v1 r6 tping 0 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt102.tst000066400000000000000000000312361510423065500173520ustar00rootroot00000000000000description p4lang: sgt over hairpin addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 sgt ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 sgt ena vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 sgt ass 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 sgt ass 4321 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit int hair11 sgt ena vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena exit int hair12 sgt ena vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic vrf v9 exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:4:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.3.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:3:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature hairpin route sgt int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act drop match sgt 4321 seq 20 act trans exit bridge 1 mac-learn block-unicast exit int eth1 sgt ena bridge-gr 1 exit int bvi1 service-policy-in p1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 1.1.5.1 vrf v2 r1 tping 100 10 1234:5::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 0 10 1.1.4.2 vrf v1 r3 tping 0 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 0 10 1.1.1.2 vrf v1 r6 tping 0 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt103.tst000066400000000000000000000235221510423065500173520ustar00rootroot00000000000000description p4lang: sgt over macsec over ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int sdn1 macsec ips sgt ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 sgt ena vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 sgt ass 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 sgt ass 4321 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec sgt int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act drop match sgt 4321 seq 20 act trans exit bridge 1 mac-learn block-unicast exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int eth1 macsec ips sgt ena bridge-gr 1 exit int bvi1 service-policy-in p1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 0 10 1.1.4.2 vrf v1 r3 tping 0 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 0 10 1.1.1.2 vrf v1 r6 tping 0 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt104.tst000066400000000000000000000235711510423065500173570ustar00rootroot00000000000000description p4lang: sgt over macsec over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int sdn1 macsec ips exit int sdn1.111 sgt ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 sgt ena vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 sgt ass 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 sgt ass 4321 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan route macsec sgt int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act drop match sgt 4321 seq 20 act trans exit bridge 1 mac-learn block-unicast exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int eth1 macsec ips exit int eth1.111 sgt ena bridge-gr 1 exit int bvi1 service-policy-in p1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 0 10 1.1.4.2 vrf v1 r3 tping 0 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 0 10 1.1.1.2 vrf v1 r6 tping 0 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt105.tst000066400000000000000000000244161510423065500173570ustar00rootroot00000000000000description p4lang: sgt ingress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny all any all any all sgt 4444 permit all any all any all exit access-list test6 deny all any all any all sgt 4444 permit all any all any all exit int sdn1 sgt ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 sgt ena vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn3 sgt ass 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 sgt ass 4321 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route sgt acl int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act drop match sgt 4321 seq 20 act trans exit bridge 1 mac-learn block-unicast exit int eth1 sgt ena bridge-gr 1 exit int bvi1 service-policy-in p1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act trans match length 300-500 set sgt 4444 seq 20 act trans set sgt 3333 exit int eth1 sgt ena service-policy-out p1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 0 10 1.1.4.2 vrf v1 r3 tping 0 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 0 10 1.1.1.2 vrf v1 r6 tping 0 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 siz 200 r4 tping 100 10 4321::105 vrf v1 sou lo0 siz 200 r4 tping 0 10 2.2.2.105 vrf v1 sou lo0 siz 400 r4 tping 0 10 4321::105 vrf v1 sou lo0 siz 400 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 siz 600 r4 tping 100 10 4321::105 vrf v1 sou lo0 siz 600 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt106.tst000066400000000000000000000244171510423065500173610ustar00rootroot00000000000000description p4lang: sgt egress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny all any all any all sgt 4444 permit all any all any all exit access-list test6 deny all any all any all sgt 4444 permit all any all any all exit int sdn1 sgt ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 sgt ena vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 sgt ass 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn4 sgt ass 4321 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route sgt acl int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act drop match sgt 4321 seq 20 act trans exit bridge 1 mac-learn block-unicast exit int eth1 sgt ena bridge-gr 1 exit int bvi1 service-policy-in p1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act trans match length 300-500 set sgt 4444 seq 20 act trans set sgt 3333 exit int eth1 sgt ena service-policy-out p1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 0 10 1.1.4.2 vrf v1 r3 tping 0 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 0 10 1.1.1.2 vrf v1 r6 tping 0 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 siz 200 r4 tping 100 10 4321::105 vrf v1 sou lo0 siz 200 r4 tping 0 10 2.2.2.105 vrf v1 sou lo0 siz 400 r4 tping 0 10 4321::105 vrf v1 sou lo0 siz 400 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 siz 600 r4 tping 100 10 4321::105 vrf v1 sou lo0 siz 600 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt107.tst000066400000000000000000000244571510423065500173660ustar00rootroot00000000000000description p4lang: sgt vlan ingress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny all any all any all sgt 4444 permit all any all any all exit access-list test6 deny all any all any all sgt 4444 permit all any all any all exit int sdn1 sgt ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 sgt ena vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn3 sgt ass 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 sgt ass 4321 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan route sgt acl int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act drop match sgt 4321 seq 20 act trans exit bridge 1 mac-learn block-unicast exit int eth1 sgt ena bridge-gr 1 exit int bvi1 service-policy-in p1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act trans match length 300-500 set sgt 4444 seq 20 act trans set sgt 3333 exit int eth1.111 sgt ena service-policy-out p1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 0 10 1.1.4.2 vrf v1 r3 tping 0 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 0 10 1.1.1.2 vrf v1 r6 tping 0 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 siz 200 r4 tping 100 10 4321::105 vrf v1 sou lo0 siz 200 r4 tping 0 10 2.2.2.105 vrf v1 sou lo0 siz 400 r4 tping 0 10 4321::105 vrf v1 sou lo0 siz 400 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 siz 600 r4 tping 100 10 4321::105 vrf v1 sou lo0 siz 600 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt108.tst000066400000000000000000000244601510423065500173610ustar00rootroot00000000000000description p4lang: sgt vlan egress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny all any all any all sgt 4444 permit all any all any all exit access-list test6 deny all any all any all sgt 4444 permit all any all any all exit int sdn1 sgt ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 sgt ena vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 exit int sdn3.111 sgt ass 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn4 sgt ass 4321 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan route sgt acl int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act drop match sgt 4321 seq 20 act trans exit bridge 1 mac-learn block-unicast exit int eth1 sgt ena bridge-gr 1 exit int bvi1 service-policy-in p1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act trans match length 300-500 set sgt 4444 seq 20 act trans set sgt 3333 exit int eth1 sgt ena service-policy-out p1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 0 10 1.1.4.2 vrf v1 r3 tping 0 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 0 10 1.1.1.2 vrf v1 r6 tping 0 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 siz 200 r4 tping 100 10 4321::105 vrf v1 sou lo0 siz 200 r4 tping 0 10 2.2.2.105 vrf v1 sou lo0 siz 400 r4 tping 0 10 4321::105 vrf v1 sou lo0 siz 400 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 siz 600 r4 tping 100 10 4321::105 vrf v1 sou lo0 siz 600 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt109.tst000066400000000000000000000240461510423065500173620ustar00rootroot00000000000000description p4lang: macsec over l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int virt1 macsec ips enc ppp pseudo v2 sdn1 l2tp3 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l3tp route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int virt1 macsec ips enc ppp pseudo v2 bvi1 l2tp3 9.9.9.1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt110.tst000066400000000000000000000237461510423065500173600ustar00rootroot00000000000000description p4lang: sgt over l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 sgt ena enc ppp pseudo v2 sdn1 l2tp3 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 sgt ena vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 sgt ass 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 sgt ass 4321 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port virt1 dynamic export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route l3tp sgt int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act drop match sgt 4321 seq 20 act trans exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 sgt ena enc ppp pseudo v2 bvi1 l2tp3 9.9.9.1 1234 service-policy-in p1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 0 10 1.1.4.2 vrf v1 r3 tping 0 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 0 10 1.1.1.2 vrf v1 r6 tping 0 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt111.tst000066400000000000000000000241241510423065500173500ustar00rootroot00000000000000description p4lang: macsec over tmux addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int tun1 macsec ips tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int tun1 macsec ips tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt112.tst000066400000000000000000000240241510423065500173500ustar00rootroot00000000000000description p4lang: sgt over tmux addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 sgt ena tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 sgt ena vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 sgt ass 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 sgt ass 4321 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port tun1 dynamic export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route tmux sgt int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act drop match sgt 4321 seq 20 act trans exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 sgt ena service-policy-in p1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 0 10 1.1.4.2 vrf v1 r3 tping 0 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 0 10 1.1.1.2 vrf v1 r6 tping 0 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt113.tst000066400000000000000000000227641510423065500173620ustar00rootroot00000000000000description p4lang: packout on port addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 api-stat interconnect eth2 export-vrf v1 export-port sdn1 1 -2 export-port sdn2 2 -2 export-port sdn3 3 -2 export-port sdn4 4 -2 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pckout route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt114.tst000066400000000000000000000230251510423065500173520ustar00rootroot00000000000000description p4lang: packout on vlan port addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 api-stat interconnect eth2 export-vrf v1 export-port sdn1 1 -2 export-port sdn2 2 -2 export-port sdn3 3 -2 export-port sdn4 4 -2 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pckout vlan route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1.111 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt115.tst000066400000000000000000000232661510423065500173620ustar00rootroot00000000000000description p4lang: packout on macsec port addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash md5 key tester exit int sdn1 macsec ips vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 api-stat interconnect eth2 export-vrf v1 export-port sdn1 1 -2 export-port sdn2 2 -2 export-port sdn3 3 -2 export-port sdn4 4 -2 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pckout macsec route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester exit int bvi1 macsec ips vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt116.tst000066400000000000000000000233271510423065500173610ustar00rootroot00000000000000description p4lang: packout on macsec vlan port addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash md5 key tester exit int sdn1 exit int sdn1.111 macsec ips vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 api-stat interconnect eth2 export-vrf v1 export-port sdn1 1 -2 export-port sdn2 2 -2 export-port sdn3 3 -2 export-port sdn4 4 -2 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pckout macsec vlan route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1.111 bridge-gr 1 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester exit int bvi1 macsec ips vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt117.tst000066400000000000000000000230331510423065500173540ustar00rootroot00000000000000description p4lang: ipsec with packout addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic -2 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pckout route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt118.tst000066400000000000000000000260371510423065500173640ustar00rootroot00000000000000description p4lang: openvpn with packout addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic -2 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pckout route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher des hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt119.tst000066400000000000000000000242531510423065500173630ustar00rootroot00000000000000description p4lang: wireguard with packout addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips key EFw2rJEdqFGDgC80um3fwMmAafwqXno+PsbMHPZ0umM=M6vDV8QdiWDQppVKjKf8xjoKtyGAeRK/Ue48kwKI5Ss= exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode wireguard vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic -2 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pckout route wireguard int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips key 6JhyvKPutQ9DNLupOPmDnQLRWtUWlUjI6PTJ/IZ9l1w=bQMmpCaGVyq9f+v48XGmfH5DMLytkqziID+rBH+qQic= exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode wireguard vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt120.tst000066400000000000000000000236151510423065500173540ustar00rootroot00000000000000description p4lang: gre with packout addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic -2 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pckout route gre int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt121.tst000066400000000000000000000233701510423065500173530ustar00rootroot00000000000000description p4lang: macsec over qinq addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int sdn2 exit int sdn2.111 exit int sdn2.111.222 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int eth1.111 exit int eth1.111.222 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt122.tst000066400000000000000000000171341510423065500173550ustar00rootroot00000000000000description p4lang: macsec over bundle qinq addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher des hash sha512 key tester replay 0 exit bundle 1 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.111 exit int bun1.111.222 macsec ips vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit crypto ipsec ips role init group 02 cipher des hash sha512 key tester replay 0 exit int bun1.111 exit int bun1.111.222 macsec ips vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt123.tst000066400000000000000000000240261510423065500173540ustar00rootroot00000000000000description p4lang: macsec qinq ingress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int sdn2.111 exit int sdn2.111.222 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl vlan macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int eth1.111 exit int eth1.111.222 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt124.tst000066400000000000000000000240271510423065500173560ustar00rootroot00000000000000description p4lang: macsec qinq egress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 2.2.2.104 255.255.255.255 all 2.2.2.106 255.255.255.255 all permit all any all any all exit access-list test6 deny 58 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all any all any all exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int sdn4.111 exit int sdn4.111.222 macsec ips vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature acl vlan macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int eth1.111 exit int eth1.111.222 macsec ips vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt125.tst000066400000000000000000000232031510423065500173520ustar00rootroot00000000000000description p4lang: ipsec over qinq addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 exit int sdn1.222.333 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1.222.333 tun destination 9999::2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 exit int bvi1.222.333 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1.222.333 tun destination 9999::1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt126.tst000066400000000000000000000244141510423065500173600ustar00rootroot00000000000000description p4lang: wireguard over qinq addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 exit int sdn1.222.333 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips key EFw2rJEdqFGDgC80um3fwMmAafwqXno+PsbMHPZ0umM=M6vDV8QdiWDQppVKjKf8xjoKtyGAeRK/Ue48kwKI5Ss= replay 0 exit int tun1 tun vrf v2 tun source sdn1.222.333 tun destination 9.9.9.2 tun prot ips tun mode wireguard vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route wireguard vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 exit int bvi1.222.333 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips key 6JhyvKPutQ9DNLupOPmDnQLRWtUWlUjI6PTJ/IZ9l1w=bQMmpCaGVyq9f+v48XGmfH5DMLytkqziID+rBH+qQic= replay 0 exit int tun1 tun vrf v2 tun source bvi1.222.333 tun destination 9.9.9.1 tun prot ips tun mode wireguard vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt127.tst000066400000000000000000000234021510423065500173550ustar00rootroot00000000000000description p4lang: sgt over qinq addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 sgt ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 sgt ena vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 sgt ass 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 exit int sdn4.222 exit int sdn4.222.333 sgt ass 4321 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan route sgt int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act drop match sgt 4321 seq 20 act trans exit bridge 1 mac-learn block-unicast exit int eth1.111 exit int eth1.111.222 sgt ena bridge-gr 1 exit int bvi1 service-policy-in p1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 exit int eth1.222.333 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 0 10 1.1.4.2 vrf v1 r3 tping 0 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 0 10 1.1.1.2 vrf v1 r6 tping 0 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt128.tst000066400000000000000000000236471510423065500173710ustar00rootroot00000000000000description p4lang: sgt over macsec over qinq addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int sdn1 macsec ips exit int sdn1.111 exit int sdn1.111.222 sgt ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 sgt ena vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 sgt ass 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 sgt ass 4321 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan route macsec sgt int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act drop match sgt 4321 seq 20 act trans exit bridge 1 mac-learn block-unicast exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int eth1 macsec ips exit int eth1.111 exit int eth1.111.222 sgt ena bridge-gr 1 exit int bvi1 service-policy-in p1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 0 10 1.1.4.2 vrf v1 r3 tping 0 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 0 10 1.1.1.2 vrf v1 r6 tping 0 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt129.tst000066400000000000000000000245351510423065500173670ustar00rootroot00000000000000description p4lang: sgt qinq ingress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny all any all any all sgt 4444 permit all any all any all exit access-list test6 deny all any all any all sgt 4444 permit all any all any all exit int sdn1 sgt ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 exit int sdn2.111.222 sgt ena vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int sdn3 sgt ass 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 sgt ass 4321 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan route sgt acl int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act drop match sgt 4321 seq 20 act trans exit bridge 1 mac-learn block-unicast exit int eth1 sgt ena bridge-gr 1 exit int bvi1 service-policy-in p1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act trans match length 300-500 set sgt 4444 seq 20 act trans set sgt 3333 exit int eth1.111 exit int eth1.111.222 sgt ena service-policy-out p1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 0 10 1.1.4.2 vrf v1 r3 tping 0 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 0 10 1.1.1.2 vrf v1 r6 tping 0 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 siz 200 r4 tping 100 10 4321::105 vrf v1 sou lo0 siz 200 r4 tping 0 10 2.2.2.105 vrf v1 sou lo0 siz 400 r4 tping 0 10 4321::105 vrf v1 sou lo0 siz 400 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 siz 600 r4 tping 100 10 4321::105 vrf v1 sou lo0 siz 600 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt130.tst000066400000000000000000000245361510423065500173600ustar00rootroot00000000000000description p4lang: sgt qinq egress access list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny all any all any all sgt 4444 permit all any all any all exit access-list test6 deny all any all any all sgt 4444 permit all any all any all exit int sdn1 sgt ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 sgt ena vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 exit int sdn3.111 exit int sdn3.111.222 sgt ass 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 access-group-out test4 ipv6 access-group-out test6 exit int sdn4 sgt ass 4321 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan route sgt acl int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act drop match sgt 4321 seq 20 act trans exit bridge 1 mac-learn block-unicast exit int eth1 sgt ena bridge-gr 1 exit int bvi1 service-policy-in p1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act trans match length 300-500 set sgt 4444 seq 20 act trans set sgt 3333 exit int eth1 sgt ena service-policy-out p1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 0 10 1.1.4.2 vrf v1 r3 tping 0 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 0 10 1.1.1.2 vrf v1 r6 tping 0 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 siz 200 r4 tping 100 10 4321::105 vrf v1 sou lo0 siz 200 r4 tping 0 10 2.2.2.105 vrf v1 sou lo0 siz 400 r4 tping 0 10 4321::105 vrf v1 sou lo0 siz 400 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 siz 600 r4 tping 100 10 4321::105 vrf v1 sou lo0 siz 600 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt131.tst000066400000000000000000000231031510423065500173460ustar00rootroot00000000000000description p4lang: packout on qinq port addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 api-stat interconnect eth2 export-vrf v1 export-port sdn1 1 -2 export-port sdn2 2 -2 export-port sdn3 3 -2 export-port sdn4 4 -2 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pckout vlan route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1.111 exit int eth1.111.222 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt132.tst000066400000000000000000000234051510423065500173540ustar00rootroot00000000000000description p4lang: packout on macsec qinq port addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash md5 key tester exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 macsec ips vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 api-stat interconnect eth2 export-vrf v1 export-port sdn1 1 -2 export-port sdn2 2 -2 export-port sdn3 3 -2 export-port sdn4 4 -2 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pckout macsec vlan route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1.111 exit int eth1.111.222 bridge-gr 1 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester exit int bvi1 macsec ips vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt133.tst000066400000000000000000000242731510423065500173610ustar00rootroot00000000000000description p4lang: macsec with static key addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role stat group 02 cipher aes256cbc hash sha1 key 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role stat group 02 cipher aes256cbc hash sha1 key 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt134.tst000066400000000000000000000230601510423065500173530ustar00rootroot00000000000000description p4lang: ipsec with aes128gcm addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes128gcm prf md5 seconds 3600 bytes 1024000 key tester role static isakmp 2 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher aes128gcm prf md5 seconds 3600 bytes 1024000 key tester role static isakmp 2 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt135.tst000066400000000000000000000230601510423065500173540ustar00rootroot00000000000000description p4lang: ipsec with aes192gcm addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes192gcm prf md5 seconds 3600 bytes 1024000 key tester role static isakmp 2 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher aes192gcm prf md5 seconds 3600 bytes 1024000 key tester role static isakmp 2 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt136.tst000066400000000000000000000230601510423065500173550ustar00rootroot00000000000000description p4lang: ipsec with aes256gcm addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes256gcm prf md5 seconds 3600 bytes 1024000 key tester role static isakmp 2 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher aes256gcm prf md5 seconds 3600 bytes 1024000 key tester role static isakmp 2 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt137.tst000066400000000000000000000247361510423065500173710ustar00rootroot00000000000000description p4lang: macsec over pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int pweth1 macsec ips pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature macsec mpls pwhe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int bvi2 macsec ips vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt138.tst000066400000000000000000000244421510423065500173640ustar00rootroot00000000000000description p4lang: sgt over pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 sgt ena pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature sgt mpls pwhe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit int bvi2 sgt ena vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt139.tst000066400000000000000000000241241510423065500173620ustar00rootroot00000000000000description p4lang: macsec over ipip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int tun1 macsec ips tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipip route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int tun1 macsec ips tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt140.tst000066400000000000000000000240241510423065500173510ustar00rootroot00000000000000description p4lang: sgt over ipip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 sgt ena tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 sgt ena vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 sgt ass 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 sgt ass 4321 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port tun1 dynamic export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipip sgt int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act drop match sgt 4321 seq 20 act trans exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 sgt ena service-policy-in p1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 0 10 1.1.4.2 vrf v1 r3 tping 0 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 0 10 1.1.1.2 vrf v1 r6 tping 0 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt141.tst000066400000000000000000000246321510423065500173570ustar00rootroot00000000000000description p4lang: macsec over ipsec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit crypto ipsec ips2 group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 macsec ips tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips2 tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipsec route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit crypto ipsec ips2 group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 macsec ips tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips2 tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt142.tst000066400000000000000000000245261510423065500173620ustar00rootroot00000000000000description p4lang: sgt over ipsec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 sgt ena tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 sgt ena vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 sgt ass 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 sgt ass 4321 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port tun1 dynamic export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec sgt int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act drop match sgt 4321 seq 20 act trans exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 sgt ena service-policy-in p1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 0 10 1.1.4.2 vrf v1 r3 tping 0 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 0 10 1.1.1.2 vrf v1 r6 tping 0 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt143.tst000066400000000000000000000231011510423065500173470ustar00rootroot00000000000000description p4lang: ipsec with sha384 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash sha384 prf sha384 seconds 3600 bytes 1024000 key tester role static isakmp 2 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash sha384 prf sha384 seconds 3600 bytes 1024000 key tester role static isakmp 2 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt144.tst000066400000000000000000000260611510423065500173600ustar00rootroot00000000000000description p4lang: openvpn with sha3224 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher des hash sha3224 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher des hash sha3224 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt145.tst000066400000000000000000000232761510423065500173660ustar00rootroot00000000000000description p4lang: macsec with sha3224 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher des hash sha3224 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash sha3224 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt146.tst000066400000000000000000000260611510423065500173620ustar00rootroot00000000000000description p4lang: openvpn with sha3256 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher des hash sha3256 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher des hash sha3256 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt147.tst000066400000000000000000000232761510423065500173700ustar00rootroot00000000000000description p4lang: macsec with sha3256 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher des hash sha3256 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash sha3256 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt148.tst000066400000000000000000000260611510423065500173640ustar00rootroot00000000000000description p4lang: openvpn with sha3384 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher des hash sha3384 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher des hash sha3384 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt149.tst000066400000000000000000000232761510423065500173720ustar00rootroot00000000000000description p4lang: macsec with sha3384 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher des hash sha3384 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash sha3384 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt150.tst000066400000000000000000000260611510423065500173550ustar00rootroot00000000000000description p4lang: openvpn with sha3512 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher des hash sha3512 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher des hash sha3512 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt151.tst000066400000000000000000000232761510423065500173630ustar00rootroot00000000000000description p4lang: macsec with sha3512 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher des hash sha3512 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher des hash sha3512 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt152.tst000066400000000000000000000233011510423065500173510ustar00rootroot00000000000000description p4lang: macsec with blowfish addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher blowfish hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher blowfish hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt153.tst000066400000000000000000000230571510423065500173620ustar00rootroot00000000000000description p4lang: ipsec with blowfish addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher blowfish hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher blowfish hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt154.tst000066400000000000000000000260641510423065500173640ustar00rootroot00000000000000description p4lang: openvpn with blowfish addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher blowfish hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher blowfish hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt155.tst000066400000000000000000000232621510423065500173620ustar00rootroot00000000000000description p4lang: macsec with rc2 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher rc2 hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher rc2 hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt156.tst000066400000000000000000000230401510423065500173550ustar00rootroot00000000000000description p4lang: ipsec with rc2 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher rc2 hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher rc2 hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt157.tst000066400000000000000000000260451510423065500173660ustar00rootroot00000000000000description p4lang: openvpn with rc2 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher rc2 hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher rc2 hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt158.tst000066400000000000000000000246271510423065500173730ustar00rootroot00000000000000description p4lang: ipsec mpls over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipsec mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt159.tst000066400000000000000000000246351510423065500173730ustar00rootroot00000000000000description p4lang: ipsec mpls over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9999::2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipsec mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9999::1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt160.tst000066400000000000000000000252621510423065500173600ustar00rootroot00000000000000description p4lang: ipsec mpls over ipv4 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source lo1 tun destination 8.8.8.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipsec mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source lo1 tun destination 8.8.8.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt161.tst000066400000000000000000000254421510423065500173610ustar00rootroot00000000000000description p4lang: ipsec mpls over ipv6 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 ena exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source lo1 tun destination 8888::2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipsec mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source lo1 tun destination 8888::1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 8888::2 vrf v2 r3 tping 100 10 8888::1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt162.tst000066400000000000000000000246731510423065500173670ustar00rootroot00000000000000description p4lang: ipsec mpls over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source sdn1.222 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipsec vlan mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source bvi1.222 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt163.tst000066400000000000000000000175531510423065500173670ustar00rootroot00000000000000description p4lang: ipsec mpls over bundle addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source bun1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature ipsec mpls bundle int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source bun1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt164.tst000066400000000000000000000176051510423065500173660ustar00rootroot00000000000000description p4lang: ipsec mpls over bundle vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source bun1.222 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature ipsec mpls bundle vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source bun1.222 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt165.tst000066400000000000000000000257051510423065500173670ustar00rootroot00000000000000description p4lang: ipsec mpls over hairpin addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int hair11 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int hair12 vrf for v3 ipv4 addr 9.9.9.2 255.255.255.0 exit int sdn1 vrf for v3 ipv4 addr 9.9.8.1 255.255.255.0 exit ipv4 route v2 9.9.8.0 255.255.255.0 9.9.9.2 crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source hair11 tun destination 9.9.8.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipsec mpls hairpin int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.8.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v2 9.9.9.0 255.255.255.0 9.9.8.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v3 r1 tping 100 10 9.9.9.1 vrf v3 r1 tping 100 10 9.9.9.2 vrf v2 r1 tping 100 10 9.9.8.2 vrf v3 r1 tping 100 10 9.9.8.1 vrf v3 r3 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r3 tping 100 10 9.9.8.2 vrf v2 r3 tping 100 10 9.9.8.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt166.tst000066400000000000000000000257331510423065500173710ustar00rootroot00000000000000description p4lang: ipsec mpls over hairpin vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int hair11.111 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int hair12.111 vrf for v3 ipv4 addr 9.9.9.2 255.255.255.0 exit int sdn1 vrf for v3 ipv4 addr 9.9.8.1 255.255.255.0 exit ipv4 route v2 9.9.8.0 255.255.255.0 9.9.9.2 crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source hair11.111 tun destination 9.9.8.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipsec mpls vlan hairpin int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.8.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v2 9.9.9.0 255.255.255.0 9.9.8.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v3 r1 tping 100 10 9.9.9.1 vrf v3 r1 tping 100 10 9.9.9.2 vrf v2 r1 tping 100 10 9.9.8.2 vrf v3 r1 tping 100 10 9.9.8.1 vrf v3 r3 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r3 tping 100 10 9.9.8.2 vrf v2 r3 tping 100 10 9.9.8.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt167.tst000066400000000000000000000247741510423065500173760ustar00rootroot00000000000000description p4lang: ipsec mpls over bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipsec mpls route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt168.tst000066400000000000000000000250351510423065500173660ustar00rootroot00000000000000description p4lang: ipsec mpls over vlan bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 exit int sdn1.222 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipsec mpls vlan route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1.222 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt169.tst000066400000000000000000000136461510423065500173740ustar00rootroot00000000000000description p4lang: bridging over ipsec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v8 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source sdn3 tun destination 9.9.9.2 tun prot ips tun mode ipsec bridge-gr 1 vrf for v8 ipv4 addr 3.3.3.3 255.255.255.255 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v8 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge ipsec ipsectap int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source eth1 tun destination 9.9.9.1 tun prot ips tun mode ipsec bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt170.tst000066400000000000000000000137171510423065500173630ustar00rootroot00000000000000description p4lang: bridging over ipsec vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v8 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 exit int sdn3.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source sdn3.222 tun destination 9.9.9.2 tun prot ips tun mode ipsec bridge-gr 1 vrf for v8 ipv4 addr 3.3.3.3 255.255.255.255 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v8 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge ipsec ipsectap vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source eth1.222 tun destination 9.9.9.1 tun prot ips tun mode ipsec bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt171.tst000066400000000000000000000263601510423065500173620ustar00rootroot00000000000000description p4lang: mldp core over ipsec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt172.tst000066400000000000000000000274271510423065500173700ustar00rootroot00000000000000description p4lang: bier core over ipsec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ! addother r2 controller r1 v9 9080 - feature route ipsec bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.5555 $7a$ $7b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth2 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.7 bier 256 10 7 red conn exit router lsrp6 1 vrf v1 router 6.6.6.7 bier 256 10 7 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.5.1 ipv6 mroute v1 :: :: 1234:5::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.5.2 vrf v1 r3 tping 100 10 1234:5::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.5.2 vrf v1 r4 tping 100 10 1234:5::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.5.2 vrf v1 r5 tping 100 10 1234:5::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.5.2 vrf v1 r6 tping 100 10 1234:5::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.5.2 vrf v1 r7 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.107 vrf v1 sou lo0 r1 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 r3 tping 100 10 4321::107 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.107 vrf v1 sou lo0 r4 tping 100 10 4321::107 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.107 vrf v1 sou lo0 r5 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.107 vrf v1 sou lo0 r6 tping 100 10 4321::107 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.107 vrf v1 sou lo0 r7 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 400 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 400 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt173.tst000066400000000000000000000241341510423065500173610ustar00rootroot00000000000000description p4lang: ipsec mpls pop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipsec mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt174.tst000066400000000000000000000241351510423065500173630ustar00rootroot00000000000000description p4lang: ipsec mpls push addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipsec mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt175.tst000066400000000000000000000274061510423065500173700ustar00rootroot00000000000000description p4lang: l2vpn over ipsec mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipsec mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.105 1234 vrf for v2 ipv4 addr 4.4.4.1 255.255.255.0 ipv6 addr 4444::1 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::105 1234 vrf for v2 ipv4 addr 4.4.6.1 255.255.255.0 ipv6 addr 4446::1 ffff:: exit int pweth1.123 vrf for v2 ipv4 addr 4.4.5.1 255.255.255.0 ipv6 addr 4445::1 ffff:: exit int pweth2.123 vrf for v2 ipv4 addr 4.4.7.1 255.255.255.0 ipv6 addr 4447::1 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.103 1234 vrf for v2 ipv4 addr 4.4.4.2 255.255.255.0 ipv6 addr 4444::2 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::103 1234 vrf for v2 ipv4 addr 4.4.6.2 255.255.255.0 ipv6 addr 4446::2 ffff:: exit int pweth1.123 vrf for v2 ipv4 addr 4.4.5.2 255.255.255.0 ipv6 addr 4445::2 ffff:: exit int pweth2.123 vrf for v2 ipv4 addr 4.4.7.2 255.255.255.0 ipv6 addr 4447::2 ffff:: exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 4.4.4.2 vrf v2 r3 tping 100 10 4.4.6.2 vrf v2 r3 tping 100 10 4444::2 vrf v2 r3 tping 100 10 4446::2 vrf v2 r5 tping 100 10 4.4.4.1 vrf v2 r5 tping 100 10 4.4.6.1 vrf v2 r5 tping 100 10 4444::1 vrf v2 r5 tping 100 10 4446::1 vrf v2 r3 tping 100 10 4.4.5.2 vrf v2 r3 tping 100 10 4.4.7.2 vrf v2 r3 tping 100 10 4445::2 vrf v2 r3 tping 100 10 4447::2 vrf v2 r5 tping 100 10 4.4.5.1 vrf v2 r5 tping 100 10 4.4.7.1 vrf v2 r5 tping 100 10 4445::1 vrf v2 r5 tping 100 10 4447::1 vrf v2 r1 dping sdn . r3 4.4.4.2 vrf v2 r1 dping sdn . r3 4446::2 vrf v2 freeRtr-25.11.9/cfg/p4lang-crypt176.tst000066400000000000000000000313731510423065500173670ustar00rootroot00000000000000description p4lang: l3vpn over ipsec mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipsec mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher des hash md5 seconds 3600 bytes 1024000 replay 0 key tester role static isakmp 1 protected ipv4 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.105 remote-as 1 neigh 2.2.2.105 update lo0 neigh 2.2.2.105 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::105 remote-as 1 neigh 4321::105 update lo0 neigh 4321::105 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.103 remote-as 1 neigh 2.2.2.103 update lo0 neigh 2.2.2.103 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::103 remote-as 1 neigh 4321::103 update lo0 neigh 4321::103 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 60 9.9.2.2 vrf v2 r5 tping 100 60 9.9.2.1 vrf v2 r3 tping 100 60 9992::2 vrf v2 r5 tping 100 60 9992::1 vrf v2 r3 tping 100 60 9.9.3.2 vrf v3 r5 tping 100 60 9.9.3.1 vrf v3 r3 tping 100 60 9993::2 vrf v3 r5 tping 100 60 9993::1 vrf v3 r3 tping 100 60 9.9.4.2 vrf v4 r5 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::2 vrf v4 r5 tping 100 60 9994::1 vrf v4 r1 dping sdn . r3 9.9.3.2 vrf v3 r1 dping sdn . r3 9993::2 vrf v3 freeRtr-25.11.9/cfg/p4lang-crypt177.tst000066400000000000000000000260671510423065500173740ustar00rootroot00000000000000description p4lang: openvpn with aes128ctr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher aes128ctr hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher aes128ctr hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt178.tst000066400000000000000000000260671510423065500173750ustar00rootroot00000000000000description p4lang: openvpn with aes192ctr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher aes192ctr hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher aes192ctr hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt179.tst000066400000000000000000000260671510423065500173760ustar00rootroot00000000000000description p4lang: openvpn with aes256ctr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher aes256ctr hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher aes256ctr hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt180.tst000066400000000000000000000233041510423065500173550ustar00rootroot00000000000000description p4lang: macsec with aes128ctr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher aes128ctr hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher aes128ctr hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt181.tst000066400000000000000000000233041510423065500173560ustar00rootroot00000000000000description p4lang: macsec with aes192ctr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher aes192ctr hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher aes192ctr hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt182.tst000066400000000000000000000233041510423065500173570ustar00rootroot00000000000000description p4lang: macsec with aes256ctr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher aes256ctr hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher aes256ctr hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt183.tst000066400000000000000000000230621510423065500173610ustar00rootroot00000000000000description p4lang: ipsec with aes128ctr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes128ctr hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher aes128ctr hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt184.tst000066400000000000000000000230621510423065500173620ustar00rootroot00000000000000description p4lang: ipsec with aes192ctr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes192ctr hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher aes192ctr hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt185.tst000066400000000000000000000230621510423065500173630ustar00rootroot00000000000000description p4lang: ipsec with aes256ctr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes256ctr hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher aes256ctr hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt186.tst000066400000000000000000000230621510423065500173640ustar00rootroot00000000000000description p4lang: ipsec with aes128cfb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes128cfb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher aes128cfb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt187.tst000066400000000000000000000230621510423065500173650ustar00rootroot00000000000000description p4lang: ipsec with aes192cfb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes192cfb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher aes192cfb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt188.tst000066400000000000000000000230621510423065500173660ustar00rootroot00000000000000description p4lang: ipsec with aes256cfb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes256cfb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher aes256cfb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt189.tst000066400000000000000000000230621510423065500173670ustar00rootroot00000000000000description p4lang: ipsec with aes128ecb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes128ecb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher aes128ecb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt190.tst000066400000000000000000000230621510423065500173570ustar00rootroot00000000000000description p4lang: ipsec with aes192ecb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes192ecb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher aes192ecb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt191.tst000066400000000000000000000230621510423065500173600ustar00rootroot00000000000000description p4lang: ipsec with aes256ecb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes256ecb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher aes256ecb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt192.tst000066400000000000000000000260671510423065500173710ustar00rootroot00000000000000description p4lang: openvpn with aes128ofb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher aes128ofb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher aes128ofb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt193.tst000066400000000000000000000260671510423065500173720ustar00rootroot00000000000000description p4lang: openvpn with aes192ofb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher aes192ofb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher aes192ofb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt194.tst000066400000000000000000000260671510423065500173730ustar00rootroot00000000000000description p4lang: openvpn with aes256ofb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips cipher aes256ofb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route openvpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips cipher aes256ofb hash md5 key 22f9c676f655336c3f3188b8d9cc759903733212ed77231bc38126b6000b043f1f56d07b885f4d00676afd8fea25c88fa917294d8f1e89b84922d5d2556de977beac2f254ba2b67477131f4d4708cb509f4c9f784780465462e502d29183665bbd5eff6bdc27370f05aa1d856b497a1f7ef5f20bad7aff155619a4b09849fab814ee76e7121c2adf85326db4c1cce132200ca3e4d03930f765ba96a8c46f1ab374beb73e79093d60879a8d9585f2feb987d89e65a33ef3857f3b09df80a2403f6c50dc50439e258d61c7dac377514a8d281c10feeea79ae7b063064aec3989b4d867bb24182f7d007ad41284ee6577053dae2cc289dd39e66cd8fe7089b7015f replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode openvpn vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt195.tst000066400000000000000000000233041510423065500173630ustar00rootroot00000000000000description p4lang: macsec with aes128ofb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher aes128ofb hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher aes128ofb hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt196.tst000066400000000000000000000233041510423065500173640ustar00rootroot00000000000000description p4lang: macsec with aes192ofb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher aes192ofb hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher aes192ofb hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt197.tst000066400000000000000000000233041510423065500173650ustar00rootroot00000000000000description p4lang: macsec with aes256ofb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit crypto ipsec ips role init group 02 cipher aes256ofb hash md5 key tester replay 0 exit int sdn2 macsec ips vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route macsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit crypto ipsec ips role init group 02 cipher aes256ofb hash md5 key tester replay 0 exit int eth1 macsec ips vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt198.tst000066400000000000000000000230621510423065500173670ustar00rootroot00000000000000description p4lang: ipsec with aes128ofb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes128ofb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher aes128ofb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt199.tst000066400000000000000000000230621510423065500173700ustar00rootroot00000000000000description p4lang: ipsec with aes192ofb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes192ofb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher aes192ofb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt200.tst000066400000000000000000000230621510423065500173470ustar00rootroot00000000000000description p4lang: ipsec with aes256ofb addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit crypto ipsec ips group 02 cipher aes256ofb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipsec int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit crypto ipsec ips group 02 cipher aes256ofb hash md5 seconds 3600 bytes 1024000 key tester role static isakmp 1 protected ipv4 replay 0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun prot ips tun mode ipsec vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt201.tst000066400000000000000000000243211510423065500173470ustar00rootroot00000000000000description p4lang: macsec over mgre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int tun1 macsec ips tun vrf v2 tun source sdn1 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre route macsec mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit crypto ipsec ips role init group 02 cipher des hash md5 key tester replay 0 exit int tun1 macsec ips tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt202.tst000066400000000000000000000242211510423065500173470ustar00rootroot00000000000000description p4lang: sgt over mgre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 sgt ena tun vrf v2 tun source sdn1 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 sgt ena vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 sgt ass 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 sgt ass 4321 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port tun1 dynamic export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route mgre sgt mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit policy-map p1 seq 10 act drop match sgt 4321 seq 20 act trans exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 sgt ena service-policy-in p1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 0 10 1.1.4.2 vrf v1 r3 tping 0 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 0 10 1.1.1.2 vrf v1 r6 tping 0 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 r3 tping 0 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 0 10 2.2.2.103 vrf v1 sou lo0 r6 tping 0 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-crypt203.tst000066400000000000000000000240161510423065500173520ustar00rootroot00000000000000description p4lang: mgre with packout addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn1 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic -2 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pckout route mgre mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout001.tst000066400000000000000000000234101510423065500171730ustar00rootroot00000000000000description p4lang: routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 r1 output show version r1 output show platform output ../binTmp/basic3.html here is the version information:
show:0
here is the platform information:
show:1
! freeRtr-25.11.9/cfg/p4lang-rout002.tst000066400000000000000000000120421510423065500171730ustar00rootroot00000000000000description p4lang: bridging addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 bridge-gr 1 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout003.tst000066400000000000000000000231451510423065500172020ustar00rootroot00000000000000description p4lang: mpls core addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout004.tst000066400000000000000000000223661510423065500172070ustar00rootroot00000000000000description p4lang: mpls edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 label-mode per-prefix rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout005.tst000066400000000000000000000230701510423065500172010ustar00rootroot00000000000000description p4lang: vlan routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 exit int sdn3.111 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 exit int sdn4.111 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.103 vrf v1 sou lo0 r1 dping sdn . r6 4321::103 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout006.tst000066400000000000000000000123041510423065500172000ustar00rootroot00000000000000description p4lang: vlan bridging addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 bridge-gr 1 exit int sdn3 exit int sdn3.111 bridge-gr 1 exit int sdn4 exit int sdn4.111 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout007.tst000066400000000000000000000234021510423065500172020ustar00rootroot00000000000000description p4lang: vlan mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 exit int sdn2.111 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 exit int sdn3.111 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 exit int sdn4.111 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mpls vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout008.tst000066400000000000000000000234401510423065500172050ustar00rootroot00000000000000description p4lang: vpn with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v2 3.3.3.105 255.255.255.255 1.1.3.2 ipv4 route v2 3.3.3.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v2 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v2 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.1 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.4.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.4.1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.4.1 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.4.1 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 3.3.3.101 vrf v2 sou lo1 r1 tping 100 10 3333::101 vrf v2 sou lo1 r1 tping 100 10 3.3.3.103 vrf v2 sou lo1 r1 tping 100 10 3333::103 vrf v2 sou lo1 r1 tping 100 10 3.3.3.104 vrf v2 sou lo1 r1 tping 100 10 3333::104 vrf v2 sou lo1 r1 tping 100 10 3.3.3.105 vrf v2 sou lo1 r1 tping 100 10 3333::105 vrf v2 sou lo1 r1 tping 100 10 3.3.3.106 vrf v2 sou lo1 r1 tping 100 10 3333::106 vrf v2 sou lo1 r3 tping 100 10 3.3.3.101 vrf v2 sou lo1 r3 tping 100 10 3333::101 vrf v2 sou lo1 r3 tping 100 10 3.3.3.103 vrf v2 sou lo1 r3 tping 100 10 3333::103 vrf v2 sou lo1 r3 tping 100 10 3.3.3.104 vrf v2 sou lo1 r3 tping 100 10 3333::104 vrf v2 sou lo1 r3 tping 100 10 3.3.3.105 vrf v2 sou lo1 r3 tping 100 10 3333::105 vrf v2 sou lo1 r3 tping 100 10 3.3.3.106 vrf v2 sou lo1 r3 tping 100 10 3333::106 vrf v2 sou lo1 r4 tping 100 10 3.3.3.101 vrf v2 sou lo1 r4 tping 100 10 3333::101 vrf v2 sou lo1 r4 tping 100 10 3.3.3.103 vrf v2 sou lo1 r4 tping 100 10 3333::103 vrf v2 sou lo1 r4 tping 100 10 3.3.3.104 vrf v2 sou lo1 r4 tping 100 10 3333::104 vrf v2 sou lo1 r4 tping 100 10 3.3.3.105 vrf v2 sou lo1 r4 tping 100 10 3333::105 vrf v2 sou lo1 r4 tping 100 10 3.3.3.106 vrf v2 sou lo1 r4 tping 100 10 3333::106 vrf v2 sou lo1 r5 tping 100 10 3.3.3.101 vrf v1 sou lo0 r5 tping 100 10 3333::101 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.101 vrf v1 sou lo0 r6 tping 100 10 3333::101 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r1 dping sdn . r4 3.3.3.105 vrf v2 sou lo1 r1 dping sdn . r4 3333::105 vrf v2 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout009.tst000066400000000000000000000215631510423065500172120ustar00rootroot00000000000000description p4lang: vpls/ldp with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bridge-gr 1 exit int sdn4 bridge-gr 1 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addother r2 controller r1 v9 9080 - feature bridge mpls vpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r6 3.3.3.104 vrf v1 sou lo0 r1 dping sdn . r6 3333::104 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout010.tst000066400000000000000000000220611510423065500171740ustar00rootroot00000000000000description p4lang: evpn/cmac with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bridge-gr 1 exit int sdn4 bridge-gr 1 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addother r2 controller r1 v9 9080 - feature bridge mpls evpn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r6 3.3.3.104 vrf v1 sou lo0 r1 dping sdn . r6 3333::104 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout011.tst000066400000000000000000000134011510423065500171730ustar00rootroot00000000000000description p4lang: eompls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 xconnect v1 lo0 pweompls 2.2.2.103 1234 exit int sdn4 xconnect v1 lo0 pweompls 2.2.2.104 1234 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addother r2 controller r1 v9 9080 - feature mpls eompls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int pweth1 pseudowire v1 lo0 pweompls 2.2.2.101 1234 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int pweth1 pseudowire v1 lo0 pweompls 2.2.2.101 1234 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r6 3.3.3.104 vrf v1 sou lo0 r1 dping sdn . r6 3333::104 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout012.tst000066400000000000000000000250451510423065500172030ustar00rootroot00000000000000description p4lang: vpn with bgp over srv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit int tun1 vrf for v1 ipv6 addr 4444:1:: ffff:ffff:: tun sour sdn1 tun dest 4444:1:: tun vrf v1 tun mod srv6 exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a segrou temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-vrf v2 ena afi-vrf v2 srv6 tun1 afi-vrf v2 red conn afi-vrf v2 red stat exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a segrou temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a afi-vrf v2 ena afi-vrf v2 srv6 tun1 afi-vrf v2 red conn afi-vrf v2 red stat exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-srv6 tun1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v2 3.3.3.105 255.255.255.255 1.1.3.2 ipv4 route v2 3.3.3.106 255.255.255.255 1.1.4.2 ipv6 route v2 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v2 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv6 route v1 4444:3:: ffff:ffff:: 1234:1::2 ipv6 route v1 4444:4:: ffff:ffff:: 1234:2::2 ! addother r2 controller r1 v9 9080 - feature route srv6 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4444:3:: ffff:ffff:: tun sour eth1 tun dest 4444:3:: tun vrf v1 tun mod srv6 exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 segrou afi-vrf v2 ena afi-vrf v2 srv6 tun1 afi-vrf v2 red conn afi-vrf v2 red stat exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 segrou afi-vrf v2 ena afi-vrf v2 srv6 tun1 afi-vrf v2 red conn afi-vrf v2 red stat exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4444:1:: ffff:ffff:: 1234:1::1 ipv6 route v1 4444:4:: ffff:ffff:: 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4444:4:: ffff:ffff:: tun sour eth1 tun dest 4444:4:: tun vrf v1 tun mod srv6 exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 segrou afi-vrf v2 ena afi-vrf v2 srv6 tun1 afi-vrf v2 red conn afi-vrf v2 red stat exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 segrou afi-vrf v2 ena afi-vrf v2 srv6 tun1 afi-vrf v2 red conn afi-vrf v2 red stat exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4444:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 4444:3:: ffff:ffff:: 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.1 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.4.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.4.1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.4.1 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.4.1 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 3.3.3.101 vrf v2 sou lo1 r1 tping 100 10 3333::101 vrf v2 sou lo1 r1 tping 100 10 3.3.3.103 vrf v2 sou lo1 r1 tping 100 10 3333::103 vrf v2 sou lo1 r1 tping 100 10 3.3.3.104 vrf v2 sou lo1 r1 tping 100 10 3333::104 vrf v2 sou lo1 r1 tping 100 10 3.3.3.105 vrf v2 sou lo1 r1 tping 100 10 3333::105 vrf v2 sou lo1 r1 tping 100 10 3.3.3.106 vrf v2 sou lo1 r1 tping 100 10 3333::106 vrf v2 sou lo1 r3 tping 100 10 3.3.3.101 vrf v2 sou lo1 r3 tping 100 10 3333::101 vrf v2 sou lo1 r3 tping 100 10 3.3.3.103 vrf v2 sou lo1 r3 tping 100 10 3333::103 vrf v2 sou lo1 r3 tping 100 10 3.3.3.104 vrf v2 sou lo1 r3 tping 100 10 3333::104 vrf v2 sou lo1 r3 tping 100 10 3.3.3.105 vrf v2 sou lo1 r3 tping 100 10 3333::105 vrf v2 sou lo1 r3 tping 100 10 3.3.3.106 vrf v2 sou lo1 r3 tping 100 10 3333::106 vrf v2 sou lo1 r4 tping 100 10 3.3.3.101 vrf v2 sou lo1 r4 tping 100 10 3333::101 vrf v2 sou lo1 r4 tping 100 10 3.3.3.103 vrf v2 sou lo1 r4 tping 100 10 3333::103 vrf v2 sou lo1 r4 tping 100 10 3.3.3.104 vrf v2 sou lo1 r4 tping 100 10 3333::104 vrf v2 sou lo1 r4 tping 100 10 3.3.3.105 vrf v2 sou lo1 r4 tping 100 10 3333::105 vrf v2 sou lo1 r4 tping 100 10 3.3.3.106 vrf v2 sou lo1 r4 tping 100 10 3333::106 vrf v2 sou lo1 r5 tping 100 10 3.3.3.101 vrf v1 sou lo0 r5 tping 100 10 3333::101 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.101 vrf v1 sou lo0 r6 tping 100 10 3333::101 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r1 dping sdn . r6 3.3.3.104 vrf v1 sou lo0 r1 dping sdn . r6 3333::104 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout013.tst000066400000000000000000000233651510423065500172070ustar00rootroot00000000000000description p4lang: evpn/cmac with bgp over srv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 bridge-gr 1 exit int sdn4 bridge-gr 1 exit int tun1 vrf for v1 ipv6 addr 4444:1:: ffff:ffff:: tun sour sdn1 tun dest 4444:1:: tun vrf v1 tun mod srv6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a segrou temp a pmsi temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a segrou temp a pmsi temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-srv6 tun1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4444:3:: ffff:ffff:: 1234:1::2 ipv6 route v1 4444:4:: ffff:ffff:: 1234:2::2 ! addother r2 controller r1 v9 9080 - feature bridge srv6 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4444:3:: ffff:ffff:: tun sour eth1 tun dest 4444:3:: tun vrf v1 tun mod srv6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 segrou neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 segrou neigh 4321::101 pmsi exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ipv6 route v1 4444:1:: ffff:ffff:: 1234:1::1 ipv6 route v1 4444:4:: ffff:ffff:: 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4444:4:: ffff:ffff:: tun sour eth1 tun dest 4444:4:: tun vrf v1 tun mod srv6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 segrou neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 segrou neigh 4321::101 pmsi exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ipv6 route v1 4444:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 4444:3:: ffff:ffff:: 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r6 3.3.3.104 vrf v1 sou lo0 r1 dping sdn . r6 3333::104 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout014.tst000066400000000000000000000154431510423065500172060ustar00rootroot00000000000000description p4lang: bundle routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature bundle route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout015.tst000066400000000000000000000161771510423065500172140ustar00rootroot00000000000000description p4lang: bundle mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature bundle mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout016.tst000066400000000000000000000154631510423065500172120ustar00rootroot00000000000000description p4lang: bundle vlan routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.11 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature bundle vlan route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.11 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout017.tst000066400000000000000000000162171510423065500172110ustar00rootroot00000000000000description p4lang: bundle vlan mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.11 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature bundle vlan mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.11 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout018.tst000066400000000000000000000102771510423065500172120ustar00rootroot00000000000000description p4lang: bundle vlan bridging addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit bridge 1 mac-learn exit int sdn1 bridge-gr 1 exit int sdn2 bridge-gr 1 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.11 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ! addother r2 controller r1 v9 9080 - feature bundle vlan bridge int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.3 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.11 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.3 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ! r3 tping 100 10 1.1.2.4 vrf v1 r3 tping 100 10 1234:2::4 vrf v1 r3 tping 100 10 1.1.2.5 vrf v1 r3 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.3 vrf v1 r4 tping 100 10 1234:2::3 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r5 tping 100 10 1.1.2.3 vrf v1 r5 tping 100 10 1234:2::3 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout019.tst000066400000000000000000000212341510423065500172060ustar00rootroot00000000000000description p4lang: bridge routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 bridge-gr 1 exit int sdn4 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.3 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.4 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ! addother r2 controller r1 v9 9080 - feature route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.2.3 vrf v1 r1 tping 100 10 1234:2::3 vrf v1 r1 tping 100 10 1.1.2.4 vrf v1 r1 tping 100 10 1234:2::4 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.2.3 vrf v1 r3 tping 100 10 1234:2::3 vrf v1 r3 tping 100 10 1.1.2.4 vrf v1 r3 tping 100 10 1234:2::4 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.2.3 vrf v1 r4 tping 100 10 1234:2::3 vrf v1 r4 tping 100 10 1.1.2.4 vrf v1 r4 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.2.3 vrf v1 r5 tping 100 10 1234:2::3 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.2.3 vrf v1 r6 tping 100 10 1234:2::3 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout020.tst000066400000000000000000000214411510423065500171760ustar00rootroot00000000000000description p4lang: bridge mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 bridge-gr 1 exit int sdn3 bridge-gr 1 exit int sdn4 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.3 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.4 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ! addother r2 controller r1 v9 9080 - feature mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout021.tst000066400000000000000000000213241510423065500171770ustar00rootroot00000000000000description p4lang: vlan bridge routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 exit int sdn3.111 bridge-gr 1 exit int sdn4 exit int sdn4.222 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.3 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.4 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ! addother r2 controller r1 v9 9080 - feature vlan route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.2.3 vrf v1 r1 tping 100 10 1234:2::3 vrf v1 r1 tping 100 10 1.1.2.4 vrf v1 r1 tping 100 10 1234:2::4 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.2.3 vrf v1 r3 tping 100 10 1234:2::3 vrf v1 r3 tping 100 10 1.1.2.4 vrf v1 r3 tping 100 10 1234:2::4 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.2.3 vrf v1 r4 tping 100 10 1234:2::3 vrf v1 r4 tping 100 10 1.1.2.4 vrf v1 r4 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.2.3 vrf v1 r5 tping 100 10 1234:2::3 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.2.3 vrf v1 r6 tping 100 10 1234:2::3 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout022.tst000066400000000000000000000215311510423065500172000ustar00rootroot00000000000000description p4lang: vlan bridge mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 bridge-gr 1 exit int sdn3 exit int sdn3.111 bridge-gr 1 exit int sdn4 exit int sdn4.222 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.3 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.4 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ! addother r2 controller r1 v9 9080 - feature vlan mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout023.tst000066400000000000000000000216441510423065500172060ustar00rootroot00000000000000description p4lang: vlan vpls/ldp with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 exit int sdn3.111 bridge-gr 1 exit int sdn4 exit int sdn4.222 bridge-gr 1 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addother r2 controller r1 v9 9080 - feature vlan mpls vpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r6 3.3.3.104 vrf v1 sou lo0 r1 dping sdn . r6 3333::104 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout024.tst000066400000000000000000000134711510423065500172060ustar00rootroot00000000000000description p4lang: vlan eompls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 exit int sdn3.111 xconnect v1 lo0 pweompls 2.2.2.103 1234 exit int sdn4 exit int sdn4.222 xconnect v1 lo0 pweompls 2.2.2.104 1234 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addother r2 controller r1 v9 9080 - feature vlan eompls mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int pweth1 pseudowire v1 lo0 pweompls 2.2.2.101 1234 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int pweth1 pseudowire v1 lo0 pweompls 2.2.2.101 1234 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r6 3.3.3.104 vrf v1 sou lo0 r1 dping sdn . r6 3333::104 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout025.tst000066400000000000000000000167721510423065500172160ustar00rootroot00000000000000description p4lang: bundle vlan vpls/ldp with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit bundle 1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.111 bridge-gr 1 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addother r2 controller r1 v9 9080 - feature bundle vlan mpls vpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.111 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r1 dping sdn . r5 3.3.3.104 vrf v1 sou lo0 r1 dping sdn . r5 3333::104 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout026.tst000066400000000000000000000123631510423065500172070ustar00rootroot00000000000000description p4lang: bundle vlan eompls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit bundle 1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.111 xconnect v1 lo0 pweompls 2.2.2.103 1234 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addother r2 controller r1 v9 9080 - feature bundle vlan eompls mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int pweth1 pseudowire v1 lo0 pweompls 2.2.2.101 1234 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int pweth1 pseudowire v1 lo0 pweompls 2.2.2.101 1234 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.111 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r1 dping sdn . r5 3.3.3.103 vrf v1 sou lo0 r1 dping sdn . r5 3333::103 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout027.tst000066400000000000000000000231211510423065500172020ustar00rootroot00000000000000description p4lang: pppoe routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn2 p2poe client di1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pppoe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth1 p2poe relay di1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout028.tst000066400000000000000000000231621510423065500172100ustar00rootroot00000000000000description p4lang: vlan pppoe routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 p2poe relay di1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan pppoe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth1.111 p2poe client di1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout029.tst000066400000000000000000000233041510423065500172070ustar00rootroot00000000000000description p4lang: pppoe mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int di1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 p2poe client di1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pppoe mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit int eth1 p2poe relay di1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout030.tst000066400000000000000000000233351510423065500172030ustar00rootroot00000000000000description p4lang: vlan pppoe mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int di1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 exit int sdn2.111 p2poe relay di1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan pppoe mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit int eth1.111 p2poe client di1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout031.tst000066400000000000000000000313721510423065500172040ustar00rootroot00000000000000description p4lang: hairpin routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit int hair11 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena exit int hair12 vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic vrf v9 exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:4:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.3.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:3:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature hairpin route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 1.1.5.1 vrf v2 r1 tping 100 10 1234:5::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout032.tst000066400000000000000000000123411510423065500172000ustar00rootroot00000000000000description p4lang: hairpin bridging addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit bridge 2 mac-learn exit hair 1 ether exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 bridge-gr 1 exit int sdn4 bridge-gr 2 exit int hair11 bridge-gr 1 exit int hair12 bridge-gr 2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-br 2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature hairpin bridge int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout033.tst000066400000000000000000000314401510423065500172020ustar00rootroot00000000000000description p4lang: hairpin mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 label-mode per-prefix exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int hair11 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int hair12 vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic vrf v9 exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:4:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.3.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:3:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature hairpin mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 1.1.5.1 vrf v2 r1 tping 100 10 1234:5::1 vrf v2 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout034.tst000066400000000000000000000314141510423065500172040ustar00rootroot00000000000000description p4lang: hairpin vlan routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit int hair11.111 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena exit int hair12.111 vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic vrf v9 exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:4:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.3.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:3:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature hairpin vlan route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 1.1.5.1 vrf v2 r1 tping 100 10 1234:5::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout035.tst000066400000000000000000000123631510423065500172070ustar00rootroot00000000000000description p4lang: hairpin vlan bridging addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit bridge 2 mac-learn exit hair 1 ether exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 bridge-gr 1 exit int sdn4 bridge-gr 2 exit int hair11.111 bridge-gr 1 exit int hair12.111 bridge-gr 2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-br 2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature hairpin vlan bridge int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout036.tst000066400000000000000000000314621510423065500172110ustar00rootroot00000000000000description p4lang: hairpin vlan mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 label-mode per-prefix exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int hair11.111 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int hair12.111 vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic vrf v9 exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:4:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.3.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:3:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature hairpin vlan mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 1.1.5.1 vrf v2 r1 tping 100 10 1234:5::1 vrf v2 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout037.tst000066400000000000000000000315041510423065500172070ustar00rootroot00000000000000description p4lang: hairpin pppoe routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena exit int di2 enc ppp vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena exit int hair11 p2poe client di1 exit int hair12 p2poe relay di2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port di1 dynamic export-port di2 dynamic vrf v9 exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:4:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.3.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:3:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature hairpin pppoe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.5.2 vrf v1 r1 tping 100 30 1234:5::2 vrf v1 r1 tping 100 30 1.1.5.1 vrf v2 r1 tping 100 30 1234:5::1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r1 tping 100 30 1.1.1.2 vrf v2 r1 tping 100 30 1234:1::2 vrf v2 r1 tping 100 30 1.1.2.2 vrf v2 r1 tping 100 30 1234:2::2 vrf v2 r1 tping 100 30 1.1.3.2 vrf v2 r1 tping 100 30 1234:3::2 vrf v2 r1 tping 100 30 1.1.4.2 vrf v2 r1 tping 100 30 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout038.tst000066400000000000000000000315261510423065500172140ustar00rootroot00000000000000description p4lang: hairpin vlan pppoe routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena exit int di2 enc ppp vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena exit int hair11.111 p2poe client di1 exit int hair12.111 p2poe relay di2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port di1 dynamic export-port di2 dynamic vrf v9 exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:4:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.3.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:3:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature hairpin vlan pppoe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.5.2 vrf v1 r1 tping 100 30 1234:5::2 vrf v1 r1 tping 100 30 1.1.5.1 vrf v2 r1 tping 100 30 1234:5::1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r1 tping 100 30 1.1.1.2 vrf v2 r1 tping 100 30 1234:1::2 vrf v2 r1 tping 100 30 1.1.2.2 vrf v2 r1 tping 100 30 1234:2::2 vrf v2 r1 tping 100 30 1.1.3.2 vrf v2 r1 tping 100 30 1234:3::2 vrf v2 r1 tping 100 30 1.1.4.2 vrf v2 r1 tping 100 30 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout039.tst000066400000000000000000000316571510423065500172220ustar00rootroot00000000000000description p4lang: hairpin pppoe mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 label-mode per-prefix exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int di2 enc ppp vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int hair11 p2poe client di1 exit int hair12 p2poe relay di2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port di1 dynamic export-port di2 dynamic vrf v9 exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:4:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.3.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:3:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature hairpin pppoe mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.5.2 vrf v1 r1 tping 100 30 1234:5::2 vrf v1 r1 tping 100 30 1.1.5.1 vrf v2 r1 tping 100 30 1234:5::1 vrf v2 r1 tping 100 30 2.2.2.100 vrf v1 sou lo0 r1 tping 100 30 4321::100 vrf v1 sou lo0 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r1 tping 100 30 2.2.2.100 vrf v2 sou lo1 r1 tping 100 30 4321::100 vrf v2 sou lo1 r1 tping 100 30 2.2.2.101 vrf v2 sou lo1 r1 tping 100 30 4321::101 vrf v2 sou lo1 r1 tping 100 30 2.2.2.103 vrf v2 sou lo1 r1 tping 100 30 4321::103 vrf v2 sou lo1 r1 tping 100 30 2.2.2.104 vrf v2 sou lo1 r1 tping 100 30 4321::104 vrf v2 sou lo1 r1 tping 100 30 2.2.2.105 vrf v2 sou lo1 r1 tping 100 30 4321::105 vrf v2 sou lo1 r1 tping 100 30 2.2.2.106 vrf v2 sou lo1 r1 tping 100 30 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout040.tst000066400000000000000000000317011510423065500172000ustar00rootroot00000000000000description p4lang: hairpin vlan pppoe mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 label-mode per-prefix exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int di2 enc ppp vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int hair11.111 p2poe client di1 exit int hair12.111 p2poe relay di2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port di1 dynamic export-port di2 dynamic vrf v9 exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:4:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.3.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:3:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature hairpin pppoe vlan mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.5.2 vrf v1 r1 tping 100 30 1234:5::2 vrf v1 r1 tping 100 30 1.1.5.1 vrf v2 r1 tping 100 30 1234:5::1 vrf v2 r1 tping 100 30 2.2.2.100 vrf v1 sou lo0 r1 tping 100 30 4321::100 vrf v1 sou lo0 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r1 tping 100 30 2.2.2.100 vrf v2 sou lo1 r1 tping 100 30 4321::100 vrf v2 sou lo1 r1 tping 100 30 2.2.2.101 vrf v2 sou lo1 r1 tping 100 30 4321::101 vrf v2 sou lo1 r1 tping 100 30 2.2.2.103 vrf v2 sou lo1 r1 tping 100 30 4321::103 vrf v2 sou lo1 r1 tping 100 30 2.2.2.104 vrf v2 sou lo1 r1 tping 100 30 4321::104 vrf v2 sou lo1 r1 tping 100 30 2.2.2.105 vrf v2 sou lo1 r1 tping 100 30 4321::105 vrf v2 sou lo1 r1 tping 100 30 2.2.2.106 vrf v2 sou lo1 r1 tping 100 30 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout041.tst000066400000000000000000000223321510423065500172010ustar00rootroot00000000000000description p4lang: hairpin vpls/ldp with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit bridge 2 mac-learn exit bridge 3 mac-learn exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit hair 1 ether exit hair 2 ether exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bridge-gr 2 exit int sdn4 bridge-gr 3 exit int hair11 bridge-gr 1 exit int hair12 bridge-gr 2 exit int hair21 bridge-gr 1 exit int hair22 bridge-gr 3 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-br 2 export-br 3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port hair21 dynamic export-port hair22 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addother r2 controller r1 v9 9080 - feature hairpin vpls mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r6 3.3.3.103 vrf v1 sou lo0 r1 dping sdn . r6 3333::103 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout042.tst000066400000000000000000000223641510423065500172070ustar00rootroot00000000000000description p4lang: hairpin vlan vpls/ldp with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit bridge 2 mac-learn exit bridge 3 mac-learn exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit hair 1 ether exit hair 2 ether exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bridge-gr 2 exit int sdn4 bridge-gr 3 exit int hair11.111 bridge-gr 1 exit int hair12.111 bridge-gr 2 exit int hair21.111 bridge-gr 1 exit int hair22.111 bridge-gr 3 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-br 2 export-br 3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port hair21 dynamic export-port hair22 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addother r2 controller r1 v9 9080 - feature hairpin vlan mpls vpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r6 3.3.3.103 vrf v1 sou lo0 r1 dping sdn . r6 3333::103 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout043.tst000066400000000000000000000141571510423065500172110ustar00rootroot00000000000000description p4lang: hairpin eompls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit hair 1 ether exit hair 2 ether exit bridge 1 mac-learn exit bridge 2 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int hair11 xconnect v1 lo0 pweompls 2.2.2.103 1234 exit int hair12 bridge-gr 1 exit int hair21 xconnect v1 lo0 pweompls 2.2.2.104 1234 exit int hair22 bridge-gr 2 exit int sdn3 bridge-gr 1 exit int sdn4 bridge-gr 2 exit server p4lang p4 interconnect eth2 export-br 1 export-br 2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port hair21 dynamic export-port hair22 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addother r2 controller r1 v9 9080 - feature hairpin eompls mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int pweth1 pseudowire v1 lo0 pweompls 2.2.2.101 1234 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int pweth1 pseudowire v1 lo0 pweompls 2.2.2.101 1234 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r4 3.3.3.106 vrf v1 sou lo1 r1 dping sdn . r4 3333::106 vrf v1 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout044.tst000066400000000000000000000142111510423065500172010ustar00rootroot00000000000000description p4lang: hairpin vlan eompls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit hair 1 ether exit hair 2 ether exit bridge 1 mac-learn exit bridge 2 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int hair11.111 xconnect v1 lo0 pweompls 2.2.2.103 1234 exit int hair12.111 bridge-gr 1 exit int hair21.111 xconnect v1 lo0 pweompls 2.2.2.104 1234 exit int hair22.111 bridge-gr 2 exit int sdn3 bridge-gr 1 exit int sdn4 bridge-gr 2 exit server p4lang p4 interconnect eth2 export-br 1 export-br 2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port hair21 dynamic export-port hair22 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addother r2 controller r1 v9 9080 - feature hairpin vlan eompls mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int pweth1 pseudowire v1 lo0 pweompls 2.2.2.101 1234 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int pweth1 pseudowire v1 lo0 pweompls 2.2.2.101 1234 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r4 3.3.3.106 vrf v1 sou lo1 r1 dping sdn . r4 3333::106 vrf v1 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout045.tst000066400000000000000000000225601510423065500172100ustar00rootroot00000000000000description p4lang: vlan evpn/cmac with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 exit int sdn3.111 bridge-gr 1 exit int sdn4 exit int sdn4.222 bridge-gr 1 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4444:3:: ffff:ffff:: 1234:1::2 ipv6 route v1 4444:4:: ffff:ffff:: 1234:2::2 ! addother r2 controller r1 v9 9080 - feature vlan evpn mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ipv6 route v1 4444:1:: ffff:ffff:: 1234:1::1 ipv6 route v1 4444:4:: ffff:ffff:: 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ipv6 route v1 4444:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 4444:3:: ffff:ffff:: 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r6 3.3.3.104 vrf v1 sou lo0 r1 dping sdn . r6 3333::104 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout046.tst000066400000000000000000000177051510423065500172160ustar00rootroot00000000000000description p4lang: bundle vlan evpn/cmac with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit bundle 1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.111 bridge-gr 1 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4444:3:: ffff:ffff:: 1234:1::2 ipv6 route v1 4444:4:: ffff:ffff:: 1234:2::2 ! addother r2 controller r1 v9 9080 - feature bundle vlan evpn mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 4444:1:: ffff:ffff:: 1234:1::1 ipv6 route v1 4444:4:: ffff:ffff:: 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 4444:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 4444:3:: ffff:ffff:: 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.111 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r1 dping sdn . r5 3.3.3.103 vrf v1 sou lo0 r1 dping sdn . r5 3333::103 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout047.tst000066400000000000000000000232461510423065500172140ustar00rootroot00000000000000description p4lang: hairpin evpn/cmac with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit hair 1 ether exit hair 2 ether exit bridge 2 mac-learn exit bridge 3 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bridge-gr 2 exit int sdn4 bridge-gr 3 exit int hair11 bridge-gr 1 exit int hair12 bridge-gr 2 exit int hair21 bridge-gr 1 exit int hair22 bridge-gr 3 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-br 2 export-br 3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port hair21 dynamic export-port hair22 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4444:3:: ffff:ffff:: 1234:1::2 ipv6 route v1 4444:4:: ffff:ffff:: 1234:2::2 ! addother r2 controller r1 v9 9080 - feature hairpin evpn mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ipv6 route v1 4444:1:: ffff:ffff:: 1234:1::1 ipv6 route v1 4444:4:: ffff:ffff:: 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ipv6 route v1 4444:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 4444:3:: ffff:ffff:: 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r6 3.3.3.104 vrf v1 sou lo0 r1 dping sdn . r6 3333::104 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout048.tst000066400000000000000000000233001510423065500172040ustar00rootroot00000000000000description p4lang: hairpin vlan evpn/cmac with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit hair 1 ether exit hair 2 ether exit bridge 2 mac-learn exit bridge 3 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bridge-gr 2 exit int sdn4 bridge-gr 3 exit int hair11.111 bridge-gr 1 exit int hair12.111 bridge-gr 2 exit int hair21.111 bridge-gr 1 exit int hair22.111 bridge-gr 3 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-br 2 export-br 3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port hair21 dynamic export-port hair22 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4444:3:: ffff:ffff:: 1234:1::2 ipv6 route v1 4444:4:: ffff:ffff:: 1234:2::2 ! addother r2 controller r1 v9 9080 - feature hairpin vlan evpn mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ipv6 route v1 4444:1:: ffff:ffff:: 1234:1::1 ipv6 route v1 4444:4:: ffff:ffff:: 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ipv6 route v1 4444:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 4444:3:: ffff:ffff:: 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r6 3.3.3.104 vrf v1 sou lo0 r1 dping sdn . r6 3333::104 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout049.tst000066400000000000000000000236071510423065500172170ustar00rootroot00000000000000description p4lang: gre routing over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout050.tst000066400000000000000000000236151510423065500172060ustar00rootroot00000000000000description p4lang: gre routing over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit int tun1 tun vrf v2 tun source sdn1 tun destination 9999::2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int tun1 tun vrf v2 tun source bvi1 tun destination 9999::1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout051.tst000066400000000000000000000242421510423065500172040ustar00rootroot00000000000000description p4lang: gre routing over ipv4 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8.8.8.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8.8.8.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout052.tst000066400000000000000000000244221510423065500172050ustar00rootroot00000000000000description p4lang: gre routing over ipv6 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 ena exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit int tun1 tun vrf v2 tun source lo1 tun destination 8888::2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int tun1 tun vrf v2 tun source lo1 tun destination 8888::1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 8888::2 vrf v2 r3 tping 100 10 8888::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout053.tst000066400000000000000000000236531510423065500172130ustar00rootroot00000000000000description p4lang: gre routing over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1.222 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre vlan route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1.222 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout054.tst000066400000000000000000000163111510423065500172050ustar00rootroot00000000000000description p4lang: gre routing over bundle addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source bun1 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature gre route bundle int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bun1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout055.tst000066400000000000000000000163431510423065500172130ustar00rootroot00000000000000description p4lang: gre routing over bundle vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source bun1.222 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature gre route bundle vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bun1.222 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout056.tst000066400000000000000000000246261510423065500172170ustar00rootroot00000000000000description p4lang: gre routing over hairpin addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int hair11 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int hair12 vrf for v3 ipv4 addr 9.9.9.2 255.255.255.0 exit int sdn1 vrf for v3 ipv4 addr 9.9.8.1 255.255.255.0 exit ipv4 route v2 9.9.8.0 255.255.255.0 9.9.9.2 int tun1 tun vrf v2 tun source hair11 tun destination 9.9.8.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre route hairpin int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.8.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 9.9.9.0 255.255.255.0 9.9.8.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v3 r1 tping 100 10 9.9.9.1 vrf v3 r1 tping 100 10 9.9.8.2 vrf v3 r1 tping 100 10 9.9.8.1 vrf v3 r3 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r3 tping 100 10 9.9.8.2 vrf v2 r3 tping 100 10 9.9.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout057.tst000066400000000000000000000247131510423065500172150ustar00rootroot00000000000000description p4lang: gre routing over hairpin vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int hair11.111 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int hair12.111 vrf for v3 ipv4 addr 9.9.9.2 255.255.255.0 exit int sdn1 vrf for v3 ipv4 addr 9.9.8.1 255.255.255.0 exit ipv4 route v2 9.9.8.0 255.255.255.0 9.9.9.2 int tun1 tun vrf v2 tun source hair11.111 tun destination 9.9.8.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre route vlan hairpin int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.8.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 9.9.9.0 255.255.255.0 9.9.8.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v3 r1 tping 100 10 9.9.9.1 vrf v3 r1 tping 100 10 9.9.9.2 vrf v2 r1 tping 100 10 9.9.8.2 vrf v3 r1 tping 100 10 9.9.8.1 vrf v3 r3 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r3 tping 100 10 9.9.8.2 vrf v2 r3 tping 100 10 9.9.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout058.tst000066400000000000000000000237461510423065500172230ustar00rootroot00000000000000description p4lang: gre routing over bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout059.tst000066400000000000000000000240111510423065500172060ustar00rootroot00000000000000description p4lang: gre routing over vlan bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 exit int sdn1.222 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre route bridge int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1.222 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout060.tst000066400000000000000000000241211510423065500172000ustar00rootroot00000000000000description p4lang: gre mpls over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout061.tst000066400000000000000000000241271510423065500172070ustar00rootroot00000000000000description p4lang: gre mpls over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit int tun1 tun vrf v2 tun source sdn1 tun destination 9999::2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int tun1 tun vrf v2 tun source bvi1 tun destination 9999::1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout062.tst000066400000000000000000000245541510423065500172140ustar00rootroot00000000000000description p4lang: gre mpls over ipv4 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8.8.8.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8.8.8.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout063.tst000066400000000000000000000247341510423065500172150ustar00rootroot00000000000000description p4lang: gre mpls over ipv6 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 ena exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit int tun1 tun vrf v2 tun source lo1 tun destination 8888::2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int tun1 tun vrf v2 tun source lo1 tun destination 8888::1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 8888::2 vrf v2 r3 tping 100 10 8888::1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout064.tst000066400000000000000000000241651510423065500172140ustar00rootroot00000000000000description p4lang: gre mpls over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1.222 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre vlan mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1.222 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout065.tst000066400000000000000000000170451510423065500172140ustar00rootroot00000000000000description p4lang: gre mpls over bundle addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source bun1 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature gre mpls bundle int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bun1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout066.tst000066400000000000000000000170771510423065500172220ustar00rootroot00000000000000description p4lang: gre mpls over bundle vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source bun1.222 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature gre mpls bundle vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bun1.222 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout067.tst000066400000000000000000000251771510423065500172230ustar00rootroot00000000000000description p4lang: gre mpls over hairpin addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int hair11 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int hair12 vrf for v3 ipv4 addr 9.9.9.2 255.255.255.0 exit int sdn1 vrf for v3 ipv4 addr 9.9.8.1 255.255.255.0 exit ipv4 route v2 9.9.8.0 255.255.255.0 9.9.9.2 int tun1 tun vrf v2 tun source hair11 tun destination 9.9.8.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre mpls hairpin int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.8.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v2 9.9.9.0 255.255.255.0 9.9.8.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v3 r1 tping 100 10 9.9.9.1 vrf v3 r1 tping 100 10 9.9.9.2 vrf v2 r1 tping 100 10 9.9.8.2 vrf v3 r1 tping 100 10 9.9.8.1 vrf v3 r3 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r3 tping 100 10 9.9.8.2 vrf v2 r3 tping 100 10 9.9.8.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout068.tst000066400000000000000000000252251510423065500172160ustar00rootroot00000000000000description p4lang: gre mpls over hairpin vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int hair11.111 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int hair12.111 vrf for v3 ipv4 addr 9.9.9.2 255.255.255.0 exit int sdn1 vrf for v3 ipv4 addr 9.9.8.1 255.255.255.0 exit ipv4 route v2 9.9.8.0 255.255.255.0 9.9.9.2 int tun1 tun vrf v2 tun source hair11.111 tun destination 9.9.8.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre mpls vlan hairpin int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.8.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v2 9.9.9.0 255.255.255.0 9.9.8.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v3 r1 tping 100 10 9.9.9.1 vrf v3 r1 tping 100 10 9.9.9.2 vrf v2 r1 tping 100 10 9.9.8.2 vrf v3 r1 tping 100 10 9.9.8.1 vrf v3 r3 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r3 tping 100 10 9.9.8.2 vrf v2 r3 tping 100 10 9.9.8.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout069.tst000066400000000000000000000242661510423065500172230ustar00rootroot00000000000000description p4lang: gre mpls over bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre mpls route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout070.tst000066400000000000000000000243271510423065500172110ustar00rootroot00000000000000description p4lang: gre mpls over vlan bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 exit int sdn1.222 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre mpls vlan route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1.222 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout071.tst000066400000000000000000000235431510423065500172110ustar00rootroot00000000000000description p4lang: l2tp routing over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout072.tst000066400000000000000000000235511510423065500172110ustar00rootroot00000000000000description p4lang: l2tp routing over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit int virt1 enc ppp pseudo v2 sdn1 l2tp2 9999::2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9999::2 vrf v2 r3 tping 100 30 9999::1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout073.tst000066400000000000000000000241771510423065500172170ustar00rootroot00000000000000description p4lang: l2tp routing over ipv4 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 lo1 l2tp2 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 8.8.8.2 vrf v2 r3 tping 100 30 8.8.8.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout074.tst000066400000000000000000000243571510423065500172200ustar00rootroot00000000000000description p4lang: l2tp routing over ipv6 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 ena exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit int virt1 enc ppp pseudo v2 lo1 l2tp2 8888::2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit server l2tp2 l clone dialer1 vrf v2 exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9999::2 vrf v2 r3 tping 100 30 9999::1 vrf v2 r1 tping 100 30 8888::2 vrf v2 r3 tping 100 30 8888::1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout075.tst000066400000000000000000000236031510423065500172120ustar00rootroot00000000000000description p4lang: l2tp routing over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1.222 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp route vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout076.tst000066400000000000000000000162371510423065500172200ustar00rootroot00000000000000description p4lang: l2tp routing over bundle addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 bun1 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature l2tp bundle int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r5 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout077.tst000066400000000000000000000240551510423065500172160ustar00rootroot00000000000000description p4lang: l2tp mpls over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout078.tst000066400000000000000000000240631510423065500172160ustar00rootroot00000000000000description p4lang: l2tp mpls over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit int virt1 enc ppp pseudo v2 sdn1 l2tp2 9999::2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9999::2 vrf v2 r3 tping 100 30 9999::1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout079.tst000066400000000000000000000245111510423065500172150ustar00rootroot00000000000000description p4lang: l2tp mpls over ipv4 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 lo1 l2tp2 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 8.8.8.2 vrf v2 r3 tping 100 30 8.8.8.1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout080.tst000066400000000000000000000246711510423065500172140ustar00rootroot00000000000000description p4lang: l2tp mpls over ipv6 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 ena exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit int virt1 enc ppp pseudo v2 lo1 l2tp2 8888::2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit server l2tp2 l clone dialer1 vrf v2 exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9999::2 vrf v2 r3 tping 100 30 9999::1 vrf v2 r1 tping 100 30 8888::2 vrf v2 r3 tping 100 30 8888::1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout081.tst000066400000000000000000000241151510423065500172060ustar00rootroot00000000000000description p4lang: l2tp mpls over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1.222 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp mpls vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout082.tst000066400000000000000000000170011510423065500172030ustar00rootroot00000000000000description p4lang: l2tp mpls over bundle addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 bun1 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature l2tp mpls bundle int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r5 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout083.tst000066400000000000000000000131361510423065500172110ustar00rootroot00000000000000description p4lang: bridging over gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v8 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn3 tun destination 9.9.9.2 tun mode gre bridge-gr 1 vrf for v8 ipv4 addr 3.3.3.3 255.255.255.255 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v8 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge gre gretap int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source eth1 tun destination 9.9.9.1 tun mode gre bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout084.tst000066400000000000000000000132071510423065500172110ustar00rootroot00000000000000description p4lang: bridging over gre vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v8 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 exit int sdn3.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn3.222 tun destination 9.9.9.2 tun mode gre bridge-gr 1 vrf for v8 ipv4 addr 3.3.3.3 255.255.255.255 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v8 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge gre gretap vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source eth1.222 tun destination 9.9.9.1 tun mode gre bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout085.tst000066400000000000000000000125651510423065500172200ustar00rootroot00000000000000description p4lang: bridging over pppoe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v8 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int di1 enc ppp bridge-gr 1 vrf for v8 ipv4 addr 3.3.3.3 255.255.255.255 exit int sdn3 p2poe client di1 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v8 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge pppoe pppoetap int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 enc ppp bridge-gr 1 exit int eth1 p2poe relay di1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r3 tping 100 30 1.1.1.1 vrf v1 r3 tping 100 30 1234:1::1 vrf v1 r4 tping 100 30 1.1.2.5 vrf v1 r4 tping 100 30 1234:2::5 vrf v1 r4 tping 100 30 1.1.2.6 vrf v1 r4 tping 100 30 1234:2::6 vrf v1 r5 tping 100 30 1.1.2.4 vrf v1 r5 tping 100 30 1234:2::4 vrf v1 r5 tping 100 30 1.1.2.6 vrf v1 r5 tping 100 30 1234:2::6 vrf v1 r6 tping 100 30 1.1.2.4 vrf v1 r6 tping 100 30 1234:2::4 vrf v1 r6 tping 100 30 1.1.2.5 vrf v1 r6 tping 100 30 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout086.tst000066400000000000000000000126261510423065500172170ustar00rootroot00000000000000description p4lang: bridging over pppoe vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v8 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int di1 enc ppp bridge-gr 1 vrf for v8 ipv4 addr 3.3.3.3 255.255.255.255 exit int sdn3 exit int sdn3.222 p2poe client di1 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v8 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge pppoe pppoetap vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 enc ppp bridge-gr 1 exit int eth1.222 p2poe relay di1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r3 tping 100 30 1.1.1.1 vrf v1 r3 tping 100 30 1234:1::1 vrf v1 r4 tping 100 30 1.1.2.5 vrf v1 r4 tping 100 30 1234:2::5 vrf v1 r4 tping 100 30 1.1.2.6 vrf v1 r4 tping 100 30 1234:2::6 vrf v1 r5 tping 100 30 1.1.2.4 vrf v1 r5 tping 100 30 1234:2::4 vrf v1 r5 tping 100 30 1.1.2.6 vrf v1 r5 tping 100 30 1234:2::6 vrf v1 r6 tping 100 30 1.1.2.4 vrf v1 r6 tping 100 30 1234:2::4 vrf v1 r6 tping 100 30 1.1.2.5 vrf v1 r6 tping 100 30 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout087.tst000066400000000000000000000130731510423065500172150ustar00rootroot00000000000000description p4lang: bridging over l2tp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v8 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn3 l2tp2 9.9.9.2 1234 bridge-gr 1 vrf for v8 ipv4 addr 3.3.3.3 255.255.255.255 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v8 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge l2tp l2tptap int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp bridge-gr 1 exit server l2tp2 l clone dialer1 vrf v2 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 30 9.9.9.2 vrf v2 r5 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r3 tping 100 30 1.1.1.1 vrf v1 r3 tping 100 30 1234:1::1 vrf v1 r4 tping 100 30 1.1.2.5 vrf v1 r4 tping 100 30 1234:2::5 vrf v1 r4 tping 100 30 1.1.2.6 vrf v1 r4 tping 100 30 1234:2::6 vrf v1 r5 tping 100 30 1.1.2.4 vrf v1 r5 tping 100 30 1234:2::4 vrf v1 r5 tping 100 30 1.1.2.6 vrf v1 r5 tping 100 30 1234:2::6 vrf v1 r6 tping 100 30 1.1.2.4 vrf v1 r6 tping 100 30 1234:2::4 vrf v1 r6 tping 100 30 1.1.2.5 vrf v1 r6 tping 100 30 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout088.tst000066400000000000000000000131401510423065500172110ustar00rootroot00000000000000description p4lang: bridging over l2tp vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v8 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 exit int sdn3.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn3.222 l2tp2 9.9.9.2 1234 bridge-gr 1 vrf for v8 ipv4 addr 3.3.3.3 255.255.255.255 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v8 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge l2tp l2tptap vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp bridge-gr 1 exit server l2tp2 l clone dialer1 vrf v2 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 30 9.9.9.2 vrf v2 r5 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r3 tping 100 30 1.1.1.1 vrf v1 r3 tping 100 30 1234:1::1 vrf v1 r4 tping 100 30 1.1.2.5 vrf v1 r4 tping 100 30 1234:2::5 vrf v1 r4 tping 100 30 1.1.2.6 vrf v1 r4 tping 100 30 1234:2::6 vrf v1 r5 tping 100 30 1.1.2.4 vrf v1 r5 tping 100 30 1234:2::4 vrf v1 r5 tping 100 30 1.1.2.6 vrf v1 r5 tping 100 30 1234:2::6 vrf v1 r6 tping 100 30 1.1.2.4 vrf v1 r6 tping 100 30 1234:2::4 vrf v1 r6 tping 100 30 1.1.2.5 vrf v1 r6 tping 100 30 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout089.tst000066400000000000000000000126411510423065500172170ustar00rootroot00000000000000description p4lang: vxlan over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit proxy-profile p2 vrf v2 exit vpdn vx bridge-group 1 proxy p2 target 9.9.9.2 vcid 123 protocol vxlan exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge vxlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 eth1 vxlan 9.9.9.1 123 exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout090.tst000066400000000000000000000126471510423065500172150ustar00rootroot00000000000000description p4lang: vxlan over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit proxy-profile p2 vrf v2 exit vpdn vx bridge-group 1 proxy p2 target 9999::2 vcid 123 protocol vxlan exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge vxlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 eth1 vxlan 9999::1 123 exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9999::2 vrf v2 r5 tping 100 10 9999::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout091.tst000066400000000000000000000133111510423065500172030ustar00rootroot00000000000000description p4lang: vxlan over ipv4 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit proxy-profile p2 source lo1 vrf v2 exit vpdn vx bridge-group 1 proxy p2 target 8.8.8.2 vcid 123 protocol vxlan exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge vxlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit int eth1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 lo1 vxlan 8.8.8.1 123 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r5 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout092.tst000066400000000000000000000134711510423065500172130ustar00rootroot00000000000000description p4lang: vxlan over ipv6 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 ena exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit proxy-profile p2 source lo1 vrf v2 exit vpdn vx bridge-group 1 proxy p2 target 8888::2 vcid 123 protocol vxlan exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge vxlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 lo1 vxlan 8888::1 123 exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9999::2 vrf v2 r5 tping 100 10 9999::1 vrf v2 r1 tping 100 10 8888::2 vrf v2 r5 tping 100 10 8888::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout093.tst000066400000000000000000000127011510423065500172070ustar00rootroot00000000000000description p4lang: vxlan over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 exit int sdn3.111 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit proxy-profile p2 vrf v2 exit vpdn vx bridge-group 1 proxy p2 target 9.9.9.2 vcid 123 protocol vxlan exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge vxlan vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 eth1.111 vxlan 9.9.9.1 123 exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout094.tst000066400000000000000000000106421510423065500172120ustar00rootroot00000000000000description p4lang: vxlan over bundle addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit proxy-profile p2 vrf v2 exit vpdn vx bridge-group 1 proxy p2 target 9.9.9.2 vcid 123 protocol vxlan exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge vxlan bundle int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 bun1 vxlan 9.9.9.1 123 exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout095.tst000066400000000000000000000216451510423065500172200ustar00rootroot00000000000000description p4lang: evpn/vxlan with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 bridge-gr 1 exit int sdn4 bridge-gr 1 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addother r2 controller r1 v9 9080 - feature bridge vxlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r3 3.3.3.106 vrf v1 sou lo1 r1 dping sdn . r3 3333::106 vrf v1 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout096.tst000066400000000000000000000217301510423065500172140ustar00rootroot00000000000000description p4lang: vlan evpn/vxlan with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 exit int sdn3.111 bridge-gr 1 exit int sdn4 exit int sdn4.222 bridge-gr 1 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addother r2 controller r1 v9 9080 - feature bridge vxlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r3 3.3.3.106 vrf v1 sou lo1 r1 dping sdn . r3 3333::106 vrf v1 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout097.tst000066400000000000000000000174341510423065500172230ustar00rootroot00000000000000description p4lang: bundle vlan evpn/vxlan with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit bundle 1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.111 bridge-gr 1 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addother r2 controller r1 v9 9080 - feature bridge vxlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.111 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r1 dping sdn . r3 3.3.3.105 vrf v1 sou lo1 r1 dping sdn . r3 3333::105 vrf v1 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout098.tst000066400000000000000000000224131510423065500172150ustar00rootroot00000000000000description p4lang: hairpin evpn/vxlan with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit hair 1 ether exit hair 2 ether exit bridge 2 mac-learn exit bridge 3 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 bridge-gr 2 exit int sdn4 bridge-gr 3 exit int hair11 bridge-gr 1 exit int hair12 bridge-gr 2 exit int hair21 bridge-gr 1 exit int hair22 bridge-gr 3 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-br 2 export-br 3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port hair21 dynamic export-port hair22 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addother r2 controller r1 v9 9080 - feature bridge vxlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r3 3.3.3.106 vrf v1 sou lo1 r1 dping sdn . r3 3333::106 vrf v1 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout099.tst000066400000000000000000000236131510423065500172210ustar00rootroot00000000000000description p4lang: ipip routing over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipip route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout100.tst000066400000000000000000000236211510423065500171770ustar00rootroot00000000000000description p4lang: ipip routing over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit int tun1 tun vrf v2 tun source sdn1 tun destination 9999::2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipip route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int tun1 tun vrf v2 tun source bvi1 tun destination 9999::1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout101.tst000066400000000000000000000242461510423065500172040ustar00rootroot00000000000000description p4lang: ipip routing over ipv4 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8.8.8.2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipip route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8.8.8.1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout102.tst000066400000000000000000000244261510423065500172050ustar00rootroot00000000000000description p4lang: ipip routing over ipv6 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 ena exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit int tun1 tun vrf v2 tun source lo1 tun destination 8888::2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipip route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int tun1 tun vrf v2 tun source lo1 tun destination 8888::1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 8888::2 vrf v2 r3 tping 100 10 8888::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout103.tst000066400000000000000000000236571510423065500172130ustar00rootroot00000000000000description p4lang: ipip routing over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1.222 tun destination 9.9.9.2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipip vlan route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1.222 tun destination 9.9.9.1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout104.tst000066400000000000000000000163151510423065500172050ustar00rootroot00000000000000description p4lang: ipip routing over bundle addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source bun1 tun destination 9.9.9.2 tun mode ipip vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature ipip route bundle int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bun1 tun destination 9.9.9.1 tun mode ipip vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout105.tst000066400000000000000000000126531510423065500172070ustar00rootroot00000000000000description p4lang: pckoudp over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit proxy-profile p2 vrf v2 exit vpdn vx bridge-group 1 proxy p2 target 9.9.9.2 vcid 2554 protocol pckoudp exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge pckoudp int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 eth1 pckoudp 9.9.9.1 2554 exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout106.tst000066400000000000000000000126611510423065500172070ustar00rootroot00000000000000description p4lang: pckoudp over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit proxy-profile p2 vrf v2 exit vpdn vx bridge-group 1 proxy p2 target 9999::2 vcid 2554 protocol pckoudp exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge pckoudp int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 eth1 pckoudp 9999::1 2554 exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9999::2 vrf v2 r5 tping 100 10 9999::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout107.tst000066400000000000000000000133231510423065500172040ustar00rootroot00000000000000description p4lang: pckoudp over ipv4 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit proxy-profile p2 source lo1 vrf v2 exit vpdn vx bridge-group 1 proxy p2 target 8.8.8.2 vcid 2554 protocol pckoudp exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge pckoudp int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit int eth1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 lo1 pckoudp 8.8.8.1 2554 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r5 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout108.tst000066400000000000000000000135031510423065500172050ustar00rootroot00000000000000description p4lang: pckoudp over ipv6 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 ena exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit proxy-profile p2 source lo1 vrf v2 exit vpdn vx bridge-group 1 proxy p2 target 8888::2 vcid 2554 protocol pckoudp exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge pckoudp int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 lo1 pckoudp 8888::1 2554 exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9999::2 vrf v2 r5 tping 100 10 9999::1 vrf v2 r1 tping 100 10 8888::2 vrf v2 r5 tping 100 10 8888::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout109.tst000066400000000000000000000127131510423065500172100ustar00rootroot00000000000000description p4lang: pckoudp over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 exit int sdn3.111 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit proxy-profile p2 vrf v2 exit vpdn vx bridge-group 1 proxy p2 target 9.9.9.2 vcid 2554 protocol pckoudp exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge pckoudp vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 eth1.111 pckoudp 9.9.9.1 2554 exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout110.tst000066400000000000000000000106541510423065500172020ustar00rootroot00000000000000description p4lang: pckoudp over bundle addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit proxy-profile p2 vrf v2 exit vpdn vx bridge-group 1 proxy p2 target 9.9.9.2 vcid 2554 protocol pckoudp exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge pckoudp bundle int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 bun1 pckoudp 9.9.9.1 2554 exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout111.tst000066400000000000000000000125511510423065500172010ustar00rootroot00000000000000description p4lang: pckoudp server over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit server pckoudp pou bridge 1 vrf v2 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge pckoudp int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 eth1 pckoudp 9.9.9.1 2554 exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout112.tst000066400000000000000000000125571510423065500172100ustar00rootroot00000000000000description p4lang: pckoudp server over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit server pckoudp pou bridge 1 vrf v2 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge pckoudp int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 eth1 pckoudp 9999::1 2554 exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9999::2 vrf v2 r5 tping 100 10 9999::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout113.tst000066400000000000000000000132051510423065500172000ustar00rootroot00000000000000description p4lang: pckoudp server over ipv4 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit server pckoudp pou bridge 1 vrf v2 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge pckoudp int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit int eth1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 lo1 pckoudp 8.8.8.1 2554 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r5 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout114.tst000066400000000000000000000133651510423065500172100ustar00rootroot00000000000000description p4lang: pckoudp server over ipv6 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 ena exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit server pckoudp pou bridge 1 vrf v2 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge pckoudp int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 lo1 pckoudp 8888::1 2554 exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9999::2 vrf v2 r5 tping 100 10 9999::1 vrf v2 r1 tping 100 10 8888::2 vrf v2 r5 tping 100 10 8888::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout115.tst000066400000000000000000000125551510423065500172110ustar00rootroot00000000000000description p4lang: vxlan server over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit server vxlan vx bridge 1 instance 123 vrf v2 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge vxlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 eth1 vxlan 9.9.9.1 123 exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout116.tst000066400000000000000000000125631510423065500172110ustar00rootroot00000000000000description p4lang: vxlan server over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit server vxlan vx bridge 1 instance 123 vrf v2 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge vxlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 eth1 vxlan 9999::1 123 exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9999::2 vrf v2 r5 tping 100 10 9999::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout117.tst000066400000000000000000000132111510423065500172010ustar00rootroot00000000000000description p4lang: vxlan server over ipv4 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit server vxlan vx bridge 1 instance 123 vrf v2 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge vxlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit int eth1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 lo1 vxlan 8.8.8.1 123 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r5 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout118.tst000066400000000000000000000133711510423065500172110ustar00rootroot00000000000000description p4lang: vxlan server over ipv6 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 ena exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit server vxlan vx bridge 1 instance 123 vrf v2 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge vxlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 lo1 vxlan 8888::1 123 exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9999::2 vrf v2 r5 tping 100 10 9999::1 vrf v2 r1 tping 100 10 8888::2 vrf v2 r5 tping 100 10 8888::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout119.tst000066400000000000000000000231311510423065500172050ustar00rootroot00000000000000description p4lang: pppoe server routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn2 p2poe server di1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pppoe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth1 p2poe client di1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout120.tst000066400000000000000000000231721510423065500172020ustar00rootroot00000000000000description p4lang: vlan pppoe server routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 p2poe server di1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pppoe route vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth1.111 p2poe client di1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout121.tst000066400000000000000000000234431510423065500172040ustar00rootroot00000000000000description p4lang: pppoe server mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 p2poe server di1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pppoe mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit int eth1 p2poe client di1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout122.tst000066400000000000000000000235041510423065500172030ustar00rootroot00000000000000description p4lang: vlan pppoe server mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 exit int sdn2.111 p2poe server di1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pppoe mpls vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit int eth1.111 p2poe client di1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout123.tst000066400000000000000000000235461510423065500172120ustar00rootroot00000000000000description p4lang: l2tp server routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server l2tp2 l clone dialer1 vrf v2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bvi1 l2tp2 9.9.9.1 1234 control vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout124.tst000066400000000000000000000236071510423065500172110ustar00rootroot00000000000000description p4lang: vlan l2tp server routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server l2tp2 l clone dialer1 vrf v2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp route vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bvi1 l2tp2 9.9.9.1 1234 control vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout125.tst000066400000000000000000000240611510423065500172050ustar00rootroot00000000000000description p4lang: l2tp server mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server l2tp2 l clone dialer1 vrf v2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bvi1 l2tp2 9.9.9.1 1234 control vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout126.tst000066400000000000000000000241221510423065500172040ustar00rootroot00000000000000description p4lang: vlan l2tp server mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server l2tp2 l clone dialer1 vrf v2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp mpls vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bvi1 l2tp2 9.9.9.1 1234 control vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout127.tst000066400000000000000000000417251510423065500172150ustar00rootroot00000000000000description p4lang: p2p ldp tail+head addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int tun11 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun mod p2pldp vrf for v1 ipv4 addr 1.1.11.1 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::103 tun vrf v1 tun mod p2pldp vrf for v1 ipv6 addr 1234:11::1 ffff:ffff:: exit int tun21 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun mod p2pldp vrf for v1 ipv4 addr 1.1.12.1 255.255.255.0 exit int tun22 tun sou lo0 tun dest 4321::104 tun vrf v1 tun mod p2pldp vrf for v1 ipv6 addr 1234:12::1 ffff:ffff:: exit int tun31 tun sou lo0 tun dest 2.2.2.105 tun vrf v1 tun mod p2pldp vrf for v1 ipv4 addr 1.1.13.1 255.255.255.0 exit int tun32 tun sou lo0 tun dest 4321::105 tun vrf v1 tun mod p2pldp vrf for v1 ipv6 addr 1234:13::1 ffff:ffff:: exit int tun41 tun sou lo0 tun dest 2.2.2.106 tun vrf v1 tun mod p2pldp vrf for v1 ipv4 addr 1.1.14.1 255.255.255.0 exit int tun42 tun sou lo0 tun dest 4321::106 tun vrf v1 tun mod p2pldp vrf for v1 ipv6 addr 1234:14::1 ffff:ffff:: exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun11 dynamic export-port tun12 dynamic export-port tun21 dynamic export-port tun22 dynamic export-port tun31 dynamic export-port tun32 dynamic export-port tun41 dynamic export-port tun42 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.11.2 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.12.2 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.13.2 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.14.2 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::2 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::2 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::2 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::2 ! addother r2 controller r1 v9 9080 - feature mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod p2pldp vrf for v1 ipv4 addr 1.1.11.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod p2pldp vrf for v1 ipv6 addr 1234:11::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.11.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.204 255.255.255.255 ipv6 addr 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod p2pldp vrf for v1 ipv4 addr 1.1.12.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod p2pldp vrf for v1 ipv6 addr 1234:12::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.12.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.205 255.255.255.255 ipv6 addr 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod p2pldp vrf for v1 ipv4 addr 1.1.13.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod p2pldp vrf for v1 ipv6 addr 1234:13::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.13.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.206 255.255.255.255 ipv6 addr 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod p2pldp vrf for v1 ipv4 addr 1.1.14.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod p2pldp vrf for v1 ipv6 addr 1234:14::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.14.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.201 vrf v1 sou lo1 r1 tping 100 10 4321::201 vrf v1 sou lo1 r1 tping 100 10 2.2.2.203 vrf v1 sou lo1 r1 tping 100 10 4321::203 vrf v1 sou lo1 r1 tping 100 10 2.2.2.204 vrf v1 sou lo1 r1 tping 100 10 4321::204 vrf v1 sou lo1 r1 tping 100 10 2.2.2.205 vrf v1 sou lo1 r1 tping 100 10 4321::205 vrf v1 sou lo1 r1 tping 100 10 2.2.2.206 vrf v1 sou lo1 r1 tping 100 10 4321::206 vrf v1 sou lo1 r3 tping 100 10 2.2.2.201 vrf v1 sou lo1 r3 tping 100 10 4321::201 vrf v1 sou lo1 r3 tping 100 10 2.2.2.203 vrf v1 sou lo1 r3 tping 100 10 4321::203 vrf v1 sou lo1 r3 tping 100 10 2.2.2.204 vrf v1 sou lo1 r3 tping 100 10 4321::204 vrf v1 sou lo1 r3 tping 100 10 2.2.2.205 vrf v1 sou lo1 r3 tping 100 10 4321::205 vrf v1 sou lo1 r3 tping 100 10 2.2.2.206 vrf v1 sou lo1 r3 tping 100 10 4321::206 vrf v1 sou lo1 r4 tping 100 10 2.2.2.201 vrf v1 sou lo1 r4 tping 100 10 4321::201 vrf v1 sou lo1 r4 tping 100 10 2.2.2.203 vrf v1 sou lo1 r4 tping 100 10 4321::203 vrf v1 sou lo1 r4 tping 100 10 2.2.2.204 vrf v1 sou lo1 r4 tping 100 10 4321::204 vrf v1 sou lo1 r4 tping 100 10 2.2.2.205 vrf v1 sou lo1 r4 tping 100 10 4321::205 vrf v1 sou lo1 r4 tping 100 10 2.2.2.206 vrf v1 sou lo1 r4 tping 100 10 4321::206 vrf v1 sou lo1 r5 tping 100 10 2.2.2.201 vrf v1 sou lo1 r5 tping 100 10 4321::201 vrf v1 sou lo1 r5 tping 100 10 2.2.2.203 vrf v1 sou lo1 r5 tping 100 10 4321::203 vrf v1 sou lo1 r5 tping 100 10 2.2.2.204 vrf v1 sou lo1 r5 tping 100 10 4321::204 vrf v1 sou lo1 r5 tping 100 10 2.2.2.205 vrf v1 sou lo1 r5 tping 100 10 4321::205 vrf v1 sou lo1 r5 tping 100 10 2.2.2.206 vrf v1 sou lo1 r5 tping 100 10 4321::206 vrf v1 sou lo1 r6 tping 100 10 2.2.2.201 vrf v1 sou lo1 r6 tping 100 10 4321::201 vrf v1 sou lo1 r6 tping 100 10 2.2.2.203 vrf v1 sou lo1 r6 tping 100 10 4321::203 vrf v1 sou lo1 r6 tping 100 10 2.2.2.204 vrf v1 sou lo1 r6 tping 100 10 4321::204 vrf v1 sou lo1 r6 tping 100 10 2.2.2.205 vrf v1 sou lo1 r6 tping 100 10 4321::205 vrf v1 sou lo1 r6 tping 100 10 2.2.2.206 vrf v1 sou lo1 r6 tping 100 10 4321::206 vrf v1 sou lo1 r1 dping sdn . r6 2.2.2.205 vrf v1 sou lo1 r1 dping sdn . r6 4321::205 vrf v1 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout128.tst000066400000000000000000000432611510423065500172130ustar00rootroot00000000000000description p4lang: p2p ldp mid addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int tun11 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun mod p2pldp vrf for v1 ipv4 addr 1.1.11.1 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::103 tun vrf v1 tun mod p2pldp vrf for v1 ipv6 addr 1234:11::1 ffff:ffff:: exit int tun21 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun mod p2pldp vrf for v1 ipv4 addr 1.1.12.1 255.255.255.0 exit int tun22 tun sou lo0 tun dest 4321::104 tun vrf v1 tun mod p2pldp vrf for v1 ipv6 addr 1234:12::1 ffff:ffff:: exit int tun31 tun sou lo0 tun dest 2.2.2.105 tun vrf v1 tun mod p2pldp vrf for v1 ipv4 addr 1.1.13.1 255.255.255.0 exit int tun32 tun sou lo0 tun dest 4321::105 tun vrf v1 tun mod p2pldp vrf for v1 ipv6 addr 1234:13::1 ffff:ffff:: exit int tun41 tun sou lo0 tun dest 2.2.2.106 tun vrf v1 tun mod p2pldp vrf for v1 ipv4 addr 1.1.14.1 255.255.255.0 exit int tun42 tun sou lo0 tun dest 4321::106 tun vrf v1 tun mod p2pldp vrf for v1 ipv6 addr 1234:14::1 ffff:ffff:: exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun11 dynamic export-port tun12 dynamic export-port tun21 dynamic export-port tun22 dynamic export-port tun31 dynamic export-port tun32 dynamic export-port tun41 dynamic export-port tun42 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.11.2 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.12.2 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.13.2 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.14.2 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::2 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::2 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::2 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::2 ! addother r2 controller r1 v9 9080 - feature mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod p2pldp vrf for v1 ipv4 addr 1.1.11.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod p2pldp vrf for v1 ipv6 addr 1234:11::2 ffff:ffff:: exit int tun21 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun mod p2pldp vrf for v1 ipv4 addr 1.1.21.2 255.255.255.0 exit int tun22 tun sou lo0 tun dest 4321::104 tun vrf v1 tun mod p2pldp vrf for v1 ipv6 addr 1234:21::2 ffff:ffff:: exit int tun31 tun sou lo0 tun dest 2.2.2.105 tun vrf v1 tun mod p2pldp vrf for v1 ipv4 addr 1.1.31.2 255.255.255.0 exit int tun32 tun sou lo0 tun dest 4321::105 tun vrf v1 tun mod p2pldp vrf for v1 ipv6 addr 1234:31::2 ffff:ffff:: exit int tun41 tun sou lo0 tun dest 2.2.2.106 tun vrf v1 tun mod p2pldp vrf for v1 ipv4 addr 1.1.41.2 255.255.255.0 exit int tun42 tun sou lo0 tun dest 4321::106 tun vrf v1 tun mod p2pldp vrf for v1 ipv6 addr 1234:41::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.21.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.31.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.41.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:21::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:31::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:41::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.204 255.255.255.255 ipv6 addr 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod p2pldp vrf for v1 ipv4 addr 1.1.12.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod p2pldp vrf for v1 ipv6 addr 1234:12::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.12.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.205 255.255.255.255 ipv6 addr 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod p2pldp vrf for v1 ipv4 addr 1.1.13.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod p2pldp vrf for v1 ipv6 addr 1234:13::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.13.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.206 255.255.255.255 ipv6 addr 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod p2pldp vrf for v1 ipv4 addr 1.1.14.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod p2pldp vrf for v1 ipv6 addr 1234:14::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.14.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.201 vrf v1 sou lo1 r1 tping 100 10 4321::201 vrf v1 sou lo1 r1 tping 100 10 2.2.2.203 vrf v1 sou lo1 r1 tping 100 10 4321::203 vrf v1 sou lo1 r1 tping 100 10 2.2.2.204 vrf v1 sou lo1 r1 tping 100 10 4321::204 vrf v1 sou lo1 r1 tping 100 10 2.2.2.205 vrf v1 sou lo1 r1 tping 100 10 4321::205 vrf v1 sou lo1 r1 tping 100 10 2.2.2.206 vrf v1 sou lo1 r1 tping 100 10 4321::206 vrf v1 sou lo1 r3 tping 100 10 2.2.2.201 vrf v1 sou lo1 r3 tping 100 10 4321::201 vrf v1 sou lo1 r3 tping 100 10 2.2.2.203 vrf v1 sou lo1 r3 tping 100 10 4321::203 vrf v1 sou lo1 r3 tping 100 10 2.2.2.204 vrf v1 sou lo1 r3 tping 100 10 4321::204 vrf v1 sou lo1 r3 tping 100 10 2.2.2.205 vrf v1 sou lo1 r3 tping 100 10 4321::205 vrf v1 sou lo1 r3 tping 100 10 2.2.2.206 vrf v1 sou lo1 r3 tping 100 10 4321::206 vrf v1 sou lo1 r4 tping 100 10 2.2.2.201 vrf v1 sou lo1 r4 tping 100 10 4321::201 vrf v1 sou lo1 r4 tping 100 10 2.2.2.203 vrf v1 sou lo1 r4 tping 100 10 4321::203 vrf v1 sou lo1 r4 tping 100 10 2.2.2.204 vrf v1 sou lo1 r4 tping 100 10 4321::204 vrf v1 sou lo1 r4 tping 100 10 2.2.2.205 vrf v1 sou lo1 r4 tping 100 10 4321::205 vrf v1 sou lo1 r4 tping 100 10 2.2.2.206 vrf v1 sou lo1 r4 tping 100 10 4321::206 vrf v1 sou lo1 r5 tping 100 10 2.2.2.201 vrf v1 sou lo1 r5 tping 100 10 4321::201 vrf v1 sou lo1 r5 tping 100 10 2.2.2.203 vrf v1 sou lo1 r5 tping 100 10 4321::203 vrf v1 sou lo1 r5 tping 100 10 2.2.2.204 vrf v1 sou lo1 r5 tping 100 10 4321::204 vrf v1 sou lo1 r5 tping 100 10 2.2.2.205 vrf v1 sou lo1 r5 tping 100 10 4321::205 vrf v1 sou lo1 r5 tping 100 10 2.2.2.206 vrf v1 sou lo1 r5 tping 100 10 4321::206 vrf v1 sou lo1 r6 tping 100 10 2.2.2.201 vrf v1 sou lo1 r6 tping 100 10 4321::201 vrf v1 sou lo1 r6 tping 100 10 2.2.2.203 vrf v1 sou lo1 r6 tping 100 10 4321::203 vrf v1 sou lo1 r6 tping 100 10 2.2.2.204 vrf v1 sou lo1 r6 tping 100 10 4321::204 vrf v1 sou lo1 r6 tping 100 10 2.2.2.205 vrf v1 sou lo1 r6 tping 100 10 4321::205 vrf v1 sou lo1 r6 tping 100 10 2.2.2.206 vrf v1 sou lo1 r6 tping 100 10 4321::206 vrf v1 sou lo1 r1 dping sdn . r6 2.2.2.205 vrf v1 sou lo1 r1 dping sdn . r6 4321::205 vrf v1 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout129.tst000066400000000000000000000421141510423065500172100ustar00rootroot00000000000000description p4lang: p2p te tail+head addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls rsvp4 mpls rsvp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls rsvp4 mpls rsvp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls rsvp4 mpls rsvp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls rsvp4 mpls rsvp6 exit int tun11 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.11.1 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::103 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:11::1 ffff:ffff:: exit int tun21 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.12.1 255.255.255.0 exit int tun22 tun sou lo0 tun dest 4321::104 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:12::1 ffff:ffff:: exit int tun31 tun sou lo0 tun dest 2.2.2.105 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.13.1 255.255.255.0 exit int tun32 tun sou lo0 tun dest 4321::105 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:13::1 ffff:ffff:: exit int tun41 tun sou lo0 tun dest 2.2.2.106 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.14.1 255.255.255.0 exit int tun42 tun sou lo0 tun dest 4321::106 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:14::1 ffff:ffff:: exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun11 dynamic export-port tun12 dynamic export-port tun21 dynamic export-port tun22 dynamic export-port tun31 dynamic export-port tun32 dynamic export-port tun41 dynamic export-port tun42 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.11.2 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.12.2 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.13.2 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.14.2 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::2 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::2 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::2 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::2 ! addother r2 controller r1 v9 9080 - feature mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.11.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:11::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.11.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.204 255.255.255.255 ipv6 addr 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.12.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:12::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.12.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.205 255.255.255.255 ipv6 addr 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.13.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:13::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.13.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.206 255.255.255.255 ipv6 addr 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.14.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:14::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.14.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.201 vrf v1 sou lo1 r1 tping 100 10 4321::201 vrf v1 sou lo1 r1 tping 100 10 2.2.2.203 vrf v1 sou lo1 r1 tping 100 10 4321::203 vrf v1 sou lo1 r1 tping 100 10 2.2.2.204 vrf v1 sou lo1 r1 tping 100 10 4321::204 vrf v1 sou lo1 r1 tping 100 10 2.2.2.205 vrf v1 sou lo1 r1 tping 100 10 4321::205 vrf v1 sou lo1 r1 tping 100 10 2.2.2.206 vrf v1 sou lo1 r1 tping 100 10 4321::206 vrf v1 sou lo1 r3 tping 100 10 2.2.2.201 vrf v1 sou lo1 r3 tping 100 10 4321::201 vrf v1 sou lo1 r3 tping 100 10 2.2.2.203 vrf v1 sou lo1 r3 tping 100 10 4321::203 vrf v1 sou lo1 r3 tping 100 10 2.2.2.204 vrf v1 sou lo1 r3 tping 100 10 4321::204 vrf v1 sou lo1 r3 tping 100 10 2.2.2.205 vrf v1 sou lo1 r3 tping 100 10 4321::205 vrf v1 sou lo1 r3 tping 100 10 2.2.2.206 vrf v1 sou lo1 r3 tping 100 10 4321::206 vrf v1 sou lo1 r4 tping 100 10 2.2.2.201 vrf v1 sou lo1 r4 tping 100 10 4321::201 vrf v1 sou lo1 r4 tping 100 10 2.2.2.203 vrf v1 sou lo1 r4 tping 100 10 4321::203 vrf v1 sou lo1 r4 tping 100 10 2.2.2.204 vrf v1 sou lo1 r4 tping 100 10 4321::204 vrf v1 sou lo1 r4 tping 100 10 2.2.2.205 vrf v1 sou lo1 r4 tping 100 10 4321::205 vrf v1 sou lo1 r4 tping 100 10 2.2.2.206 vrf v1 sou lo1 r4 tping 100 10 4321::206 vrf v1 sou lo1 r5 tping 100 10 2.2.2.201 vrf v1 sou lo1 r5 tping 100 10 4321::201 vrf v1 sou lo1 r5 tping 100 10 2.2.2.203 vrf v1 sou lo1 r5 tping 100 10 4321::203 vrf v1 sou lo1 r5 tping 100 10 2.2.2.204 vrf v1 sou lo1 r5 tping 100 10 4321::204 vrf v1 sou lo1 r5 tping 100 10 2.2.2.205 vrf v1 sou lo1 r5 tping 100 10 4321::205 vrf v1 sou lo1 r5 tping 100 10 2.2.2.206 vrf v1 sou lo1 r5 tping 100 10 4321::206 vrf v1 sou lo1 r6 tping 100 10 2.2.2.201 vrf v1 sou lo1 r6 tping 100 10 4321::201 vrf v1 sou lo1 r6 tping 100 10 2.2.2.203 vrf v1 sou lo1 r6 tping 100 10 4321::203 vrf v1 sou lo1 r6 tping 100 10 2.2.2.204 vrf v1 sou lo1 r6 tping 100 10 4321::204 vrf v1 sou lo1 r6 tping 100 10 2.2.2.205 vrf v1 sou lo1 r6 tping 100 10 4321::205 vrf v1 sou lo1 r6 tping 100 10 2.2.2.206 vrf v1 sou lo1 r6 tping 100 10 4321::206 vrf v1 sou lo1 r1 dping sdn . r6 2.2.2.205 vrf v1 sou lo1 r1 dping sdn . r6 4321::205 vrf v1 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout130.tst000066400000000000000000000434421510423065500172050ustar00rootroot00000000000000description p4lang: p2p te mid addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls rsvp4 mpls rsvp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls rsvp4 mpls rsvp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls rsvp4 mpls rsvp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls rsvp4 mpls rsvp6 exit int tun11 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.11.1 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::103 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:11::1 ffff:ffff:: exit int tun21 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.12.1 255.255.255.0 exit int tun22 tun sou lo0 tun dest 4321::104 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:12::1 ffff:ffff:: exit int tun31 tun sou lo0 tun dest 2.2.2.105 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.13.1 255.255.255.0 exit int tun32 tun sou lo0 tun dest 4321::105 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:13::1 ffff:ffff:: exit int tun41 tun sou lo0 tun dest 2.2.2.106 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.14.1 255.255.255.0 exit int tun42 tun sou lo0 tun dest 4321::106 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:14::1 ffff:ffff:: exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun11 dynamic export-port tun12 dynamic export-port tun21 dynamic export-port tun22 dynamic export-port tun31 dynamic export-port tun32 dynamic export-port tun41 dynamic export-port tun42 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.11.2 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.12.2 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.13.2 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.14.2 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::2 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::2 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::2 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::2 ! addother r2 controller r1 v9 9080 - feature mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.11.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:11::2 ffff:ffff:: exit int tun21 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.21.2 255.255.255.0 exit int tun22 tun sou lo0 tun dest 4321::104 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:21::2 ffff:ffff:: exit int tun31 tun sou lo0 tun dest 2.2.2.105 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.31.2 255.255.255.0 exit int tun32 tun sou lo0 tun dest 4321::105 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:31::2 ffff:ffff:: exit int tun41 tun sou lo0 tun dest 2.2.2.106 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.41.2 255.255.255.0 exit int tun42 tun sou lo0 tun dest 4321::106 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:41::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.21.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.31.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.41.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:21::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:31::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:41::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.204 255.255.255.255 ipv6 addr 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.12.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:12::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.12.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.205 255.255.255.255 ipv6 addr 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.13.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:13::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.13.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.206 255.255.255.255 ipv6 addr 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.14.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:14::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.14.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.201 vrf v1 sou lo1 r1 tping 100 10 4321::201 vrf v1 sou lo1 r1 tping 100 10 2.2.2.203 vrf v1 sou lo1 r1 tping 100 10 4321::203 vrf v1 sou lo1 r1 tping 100 10 2.2.2.204 vrf v1 sou lo1 r1 tping 100 10 4321::204 vrf v1 sou lo1 r1 tping 100 10 2.2.2.205 vrf v1 sou lo1 r1 tping 100 10 4321::205 vrf v1 sou lo1 r1 tping 100 10 2.2.2.206 vrf v1 sou lo1 r1 tping 100 10 4321::206 vrf v1 sou lo1 r3 tping 100 10 2.2.2.201 vrf v1 sou lo1 r3 tping 100 10 4321::201 vrf v1 sou lo1 r3 tping 100 10 2.2.2.203 vrf v1 sou lo1 r3 tping 100 10 4321::203 vrf v1 sou lo1 r3 tping 100 10 2.2.2.204 vrf v1 sou lo1 r3 tping 100 10 4321::204 vrf v1 sou lo1 r3 tping 100 10 2.2.2.205 vrf v1 sou lo1 r3 tping 100 10 4321::205 vrf v1 sou lo1 r3 tping 100 10 2.2.2.206 vrf v1 sou lo1 r3 tping 100 10 4321::206 vrf v1 sou lo1 r4 tping 100 10 2.2.2.201 vrf v1 sou lo1 r4 tping 100 10 4321::201 vrf v1 sou lo1 r4 tping 100 10 2.2.2.203 vrf v1 sou lo1 r4 tping 100 10 4321::203 vrf v1 sou lo1 r4 tping 100 10 2.2.2.204 vrf v1 sou lo1 r4 tping 100 10 4321::204 vrf v1 sou lo1 r4 tping 100 10 2.2.2.205 vrf v1 sou lo1 r4 tping 100 10 4321::205 vrf v1 sou lo1 r4 tping 100 10 2.2.2.206 vrf v1 sou lo1 r4 tping 100 10 4321::206 vrf v1 sou lo1 r5 tping 100 10 2.2.2.201 vrf v1 sou lo1 r5 tping 100 10 4321::201 vrf v1 sou lo1 r5 tping 100 10 2.2.2.203 vrf v1 sou lo1 r5 tping 100 10 4321::203 vrf v1 sou lo1 r5 tping 100 10 2.2.2.204 vrf v1 sou lo1 r5 tping 100 10 4321::204 vrf v1 sou lo1 r5 tping 100 10 2.2.2.205 vrf v1 sou lo1 r5 tping 100 10 4321::205 vrf v1 sou lo1 r5 tping 100 10 2.2.2.206 vrf v1 sou lo1 r5 tping 100 10 4321::206 vrf v1 sou lo1 r6 tping 100 10 2.2.2.201 vrf v1 sou lo1 r6 tping 100 10 4321::201 vrf v1 sou lo1 r6 tping 100 10 2.2.2.203 vrf v1 sou lo1 r6 tping 100 10 4321::203 vrf v1 sou lo1 r6 tping 100 10 2.2.2.204 vrf v1 sou lo1 r6 tping 100 10 4321::204 vrf v1 sou lo1 r6 tping 100 10 2.2.2.205 vrf v1 sou lo1 r6 tping 100 10 4321::205 vrf v1 sou lo1 r6 tping 100 10 2.2.2.206 vrf v1 sou lo1 r6 tping 100 10 4321::206 vrf v1 sou lo1 r1 dping sdn . r6 2.2.2.205 vrf v1 sou lo1 r1 dping sdn . r6 4321::205 vrf v1 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout131.tst000066400000000000000000000356201510423065500172050ustar00rootroot00000000000000description p4lang: sr te over mpls tail+head addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 justadvert lo0 exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 justadvert lo0 exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.103 tun domain 2.2.2.103 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.11.1 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::103 tun domain 4321::103 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:11::1 ffff:ffff:: exit int tun21 tun sou lo0 tun dest 2.2.2.104 tun domain 2.2.2.104 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.12.1 255.255.255.0 exit int tun22 tun sou lo0 tun dest 4321::104 tun domain 4321::104 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:12::1 ffff:ffff:: exit int tun31 tun sou lo0 tun dest 2.2.2.105 tun domain 2.2.2.105 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.13.1 255.255.255.0 exit int tun32 tun sou lo0 tun dest 4321::105 tun domain 4321::105 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:13::1 ffff:ffff:: exit int tun41 tun sou lo0 tun dest 2.2.2.106 tun domain 2.2.2.106 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.14.1 255.255.255.0 exit int tun42 tun sou lo0 tun dest 4321::106 tun domain 4321::106 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:14::1 ffff:ffff:: exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun11 dynamic export-port tun12 dynamic export-port tun21 dynamic export-port tun22 dynamic export-port tun31 dynamic export-port tun32 dynamic export-port tun41 dynamic export-port tun42 dynamic vrf v9 exit ipv4 route v1 2.2.2.203 255.255.255.255 1.1.11.2 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.12.2 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.13.2 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.14.2 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::2 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::2 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::2 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::2 ! addother r2 controller r1 v9 9080 - feature mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun domain 2.2.2.101 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.11.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun domain 4321::101 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:11::2 ffff:ffff:: exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.11.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.204 255.255.255.255 ipv6 addr 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun domain 2.2.2.101 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.12.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun domain 4321::101 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:12::2 ffff:ffff:: exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.12.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.205 255.255.255.255 ipv6 addr 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.5 segrout 10 5 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.5 segrout 10 5 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun domain 2.2.2.101 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.13.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun domain 4321::101 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:13::2 ffff:ffff:: exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.13.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.206 255.255.255.255 ipv6 addr 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.6 segrout 10 6 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.6 segrout 10 6 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun domain 2.2.2.101 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.14.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun domain 4321::101 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:14::2 ffff:ffff:: exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.14.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.201 vrf v1 sou lo1 r1 tping 100 10 4321::201 vrf v1 sou lo1 r1 tping 100 10 2.2.2.203 vrf v1 sou lo1 r1 tping 100 10 4321::203 vrf v1 sou lo1 r1 tping 100 10 2.2.2.204 vrf v1 sou lo1 r1 tping 100 10 4321::204 vrf v1 sou lo1 r1 tping 100 10 2.2.2.205 vrf v1 sou lo1 r1 tping 100 10 4321::205 vrf v1 sou lo1 r1 tping 100 10 2.2.2.206 vrf v1 sou lo1 r1 tping 100 10 4321::206 vrf v1 sou lo1 r3 tping 100 10 2.2.2.201 vrf v1 sou lo1 r3 tping 100 10 4321::201 vrf v1 sou lo1 r3 tping 100 10 2.2.2.203 vrf v1 sou lo1 r3 tping 100 10 4321::203 vrf v1 sou lo1 r3 tping 100 10 2.2.2.204 vrf v1 sou lo1 r3 tping 100 10 4321::204 vrf v1 sou lo1 r3 tping 100 10 2.2.2.205 vrf v1 sou lo1 r3 tping 100 10 4321::205 vrf v1 sou lo1 r3 tping 100 10 2.2.2.206 vrf v1 sou lo1 r3 tping 100 10 4321::206 vrf v1 sou lo1 r4 tping 100 10 2.2.2.201 vrf v1 sou lo1 r4 tping 100 10 4321::201 vrf v1 sou lo1 r4 tping 100 10 2.2.2.203 vrf v1 sou lo1 r4 tping 100 10 4321::203 vrf v1 sou lo1 r4 tping 100 10 2.2.2.204 vrf v1 sou lo1 r4 tping 100 10 4321::204 vrf v1 sou lo1 r4 tping 100 10 2.2.2.205 vrf v1 sou lo1 r4 tping 100 10 4321::205 vrf v1 sou lo1 r4 tping 100 10 2.2.2.206 vrf v1 sou lo1 r4 tping 100 10 4321::206 vrf v1 sou lo1 r5 tping 100 10 2.2.2.201 vrf v1 sou lo1 r5 tping 100 10 4321::201 vrf v1 sou lo1 r5 tping 100 10 2.2.2.203 vrf v1 sou lo1 r5 tping 100 10 4321::203 vrf v1 sou lo1 r5 tping 100 10 2.2.2.204 vrf v1 sou lo1 r5 tping 100 10 4321::204 vrf v1 sou lo1 r5 tping 100 10 2.2.2.205 vrf v1 sou lo1 r5 tping 100 10 4321::205 vrf v1 sou lo1 r5 tping 100 10 2.2.2.206 vrf v1 sou lo1 r5 tping 100 10 4321::206 vrf v1 sou lo1 r6 tping 100 10 2.2.2.201 vrf v1 sou lo1 r6 tping 100 10 4321::201 vrf v1 sou lo1 r6 tping 100 10 2.2.2.203 vrf v1 sou lo1 r6 tping 100 10 4321::203 vrf v1 sou lo1 r6 tping 100 10 2.2.2.204 vrf v1 sou lo1 r6 tping 100 10 4321::204 vrf v1 sou lo1 r6 tping 100 10 2.2.2.205 vrf v1 sou lo1 r6 tping 100 10 4321::205 vrf v1 sou lo1 r6 tping 100 10 2.2.2.206 vrf v1 sou lo1 r6 tping 100 10 4321::206 vrf v1 sou lo1 r1 dping sdn . r6 2.2.2.205 vrf v1 sou lo1 r1 dping sdn . r6 4321::205 vrf v1 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout132.tst000066400000000000000000000373601510423065500172110ustar00rootroot00000000000000description p4lang: sr te over mpls mid addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 justadvert lo0 exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 justadvert lo0 exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.103 tun domain 2.2.2.103 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.11.1 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::103 tun domain 4321::103 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:11::1 ffff:ffff:: exit int tun21 tun sou lo0 tun dest 2.2.2.104 tun domain 2.2.2.104 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.12.1 255.255.255.0 exit int tun22 tun sou lo0 tun dest 4321::104 tun domain 4321::104 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:12::1 ffff:ffff:: exit int tun31 tun sou lo0 tun dest 2.2.2.105 tun domain 2.2.2.105 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.13.1 255.255.255.0 exit int tun32 tun sou lo0 tun dest 4321::105 tun domain 4321::105 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:13::1 ffff:ffff:: exit int tun41 tun sou lo0 tun dest 2.2.2.106 tun domain 2.2.2.106 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.14.1 255.255.255.0 exit int tun42 tun sou lo0 tun dest 4321::106 tun domain 4321::106 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:14::1 ffff:ffff:: exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun11 dynamic export-port tun12 dynamic export-port tun21 dynamic export-port tun22 dynamic export-port tun31 dynamic export-port tun32 dynamic export-port tun41 dynamic export-port tun42 dynamic vrf v9 exit ipv4 route v1 2.2.2.203 255.255.255.255 1.1.11.2 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.12.2 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.13.2 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.14.2 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::2 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::2 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::2 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::2 ! addother r2 controller r1 v9 9080 - feature mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun domain 2.2.2.101 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.11.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun domain 4321::101 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:11::2 ffff:ffff:: exit int tun21 tun sou lo0 tun dest 2.2.2.104 tun domain 2.2.2.101 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.21.2 255.255.255.0 exit int tun22 tun sou lo0 tun dest 4321::104 tun domain 4321::101 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:21::2 ffff:ffff:: exit int tun31 tun sou lo0 tun dest 2.2.2.105 tun domain 2.2.2.101 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.31.2 255.255.255.0 exit int tun32 tun sou lo0 tun dest 4321::105 tun domain 4321::101 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:31::2 ffff:ffff:: exit int tun41 tun sou lo0 tun dest 2.2.2.106 tun domain 2.2.2.101 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.41.2 255.255.255.0 exit int tun42 tun sou lo0 tun dest 4321::106 tun domain 4321::101 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:41::2 ffff:ffff:: exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.21.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.31.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.41.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:21::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:31::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:41::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.204 255.255.255.255 ipv6 addr 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun domain 2.2.2.101 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.12.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun domain 4321::101 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:12::2 ffff:ffff:: exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.12.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.205 255.255.255.255 ipv6 addr 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.5 segrout 10 5 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.5 segrout 10 5 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun domain 2.2.2.101 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.13.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun domain 4321::101 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:13::2 ffff:ffff:: exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.13.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.206 255.255.255.255 ipv6 addr 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.6 segrout 10 6 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.6 segrout 10 6 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun domain 2.2.2.101 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.14.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun domain 4321::101 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:14::2 ffff:ffff:: exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.14.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.201 vrf v1 sou lo1 r1 tping 100 10 4321::201 vrf v1 sou lo1 r1 tping 100 10 2.2.2.203 vrf v1 sou lo1 r1 tping 100 10 4321::203 vrf v1 sou lo1 r1 tping 100 10 2.2.2.204 vrf v1 sou lo1 r1 tping 100 10 4321::204 vrf v1 sou lo1 r1 tping 100 10 2.2.2.205 vrf v1 sou lo1 r1 tping 100 10 4321::205 vrf v1 sou lo1 r1 tping 100 10 2.2.2.206 vrf v1 sou lo1 r1 tping 100 10 4321::206 vrf v1 sou lo1 r3 tping 100 10 2.2.2.201 vrf v1 sou lo1 r3 tping 100 10 4321::201 vrf v1 sou lo1 r3 tping 100 10 2.2.2.203 vrf v1 sou lo1 r3 tping 100 10 4321::203 vrf v1 sou lo1 r3 tping 100 10 2.2.2.204 vrf v1 sou lo1 r3 tping 100 10 4321::204 vrf v1 sou lo1 r3 tping 100 10 2.2.2.205 vrf v1 sou lo1 r3 tping 100 10 4321::205 vrf v1 sou lo1 r3 tping 100 10 2.2.2.206 vrf v1 sou lo1 r3 tping 100 10 4321::206 vrf v1 sou lo1 r4 tping 100 10 2.2.2.201 vrf v1 sou lo1 r4 tping 100 10 4321::201 vrf v1 sou lo1 r4 tping 100 10 2.2.2.203 vrf v1 sou lo1 r4 tping 100 10 4321::203 vrf v1 sou lo1 r4 tping 100 10 2.2.2.204 vrf v1 sou lo1 r4 tping 100 10 4321::204 vrf v1 sou lo1 r4 tping 100 10 2.2.2.205 vrf v1 sou lo1 r4 tping 100 10 4321::205 vrf v1 sou lo1 r4 tping 100 10 2.2.2.206 vrf v1 sou lo1 r4 tping 100 10 4321::206 vrf v1 sou lo1 r5 tping 100 10 2.2.2.201 vrf v1 sou lo1 r5 tping 100 10 4321::201 vrf v1 sou lo1 r5 tping 100 10 2.2.2.203 vrf v1 sou lo1 r5 tping 100 10 4321::203 vrf v1 sou lo1 r5 tping 100 10 2.2.2.204 vrf v1 sou lo1 r5 tping 100 10 4321::204 vrf v1 sou lo1 r5 tping 100 10 2.2.2.205 vrf v1 sou lo1 r5 tping 100 10 4321::205 vrf v1 sou lo1 r5 tping 100 10 2.2.2.206 vrf v1 sou lo1 r5 tping 100 10 4321::206 vrf v1 sou lo1 r6 tping 100 10 2.2.2.201 vrf v1 sou lo1 r6 tping 100 10 4321::201 vrf v1 sou lo1 r6 tping 100 10 2.2.2.203 vrf v1 sou lo1 r6 tping 100 10 4321::203 vrf v1 sou lo1 r6 tping 100 10 2.2.2.204 vrf v1 sou lo1 r6 tping 100 10 4321::204 vrf v1 sou lo1 r6 tping 100 10 2.2.2.205 vrf v1 sou lo1 r6 tping 100 10 4321::205 vrf v1 sou lo1 r6 tping 100 10 2.2.2.206 vrf v1 sou lo1 r6 tping 100 10 4321::206 vrf v1 sou lo1 r1 dping sdn . r6 2.2.2.205 vrf v1 sou lo1 r1 dping sdn . r6 4321::205 vrf v1 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout133.tst000066400000000000000000000237751510423065500172170ustar00rootroot00000000000000description p4lang: policy routing between vrfs addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit access-list a2b4 permit all 2.2.2.0 255.255.255.0 all 2.2.2.103 255.255.255.255 all exit access-list a2b6 permit all 4321:: ffff:ffff:ffff:ffff:: all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list b2a4 permit all 2.2.2.103 255.255.255.255 all 2.2.2.0 255.255.255.0 all exit access-list b2a6 permit all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321:: ffff:ffff:ffff:ffff:: all exit ipv4 pbr v1 a2b4 v2 ipv6 pbr v1 a2b6 v2 ipv4 pbr v2 b2a4 v1 ipv6 pbr v2 b2a6 v1 server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route pbr int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 0 10 1234:2::2 vrf v1 r3 tping 0 10 1.1.3.2 vrf v1 r3 tping 0 10 1234:3::2 vrf v1 r3 tping 0 10 1.1.4.2 vrf v1 r3 tping 0 10 1234:4::2 vrf v1 r4 tping 0 10 1.1.1.2 vrf v1 r4 tping 0 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 0 10 1.1.1.2 vrf v1 r5 tping 0 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 0 10 1.1.1.2 vrf v1 r6 tping 0 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout134.tst000066400000000000000000000236371510423065500172150ustar00rootroot00000000000000description p4lang: policy routing with nexthop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit access-list a2b4 permit all 2.2.2.0 255.255.255.0 all 2.2.2.103 255.255.255.255 all exit access-list a2b6 permit all 4321:: ffff:ffff:ffff:ffff:: all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list b2a4 permit all 2.2.2.103 255.255.255.255 all 2.2.2.0 255.255.255.0 all exit access-list b2a6 permit all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321:: ffff:ffff:ffff:ffff:: all exit ipv4 pbr v1 a2b4 v2 next 1.1.1.2 ipv6 pbr v1 a2b6 v2 next 1234:1::2 ipv4 pbr v2 b2a4 v1 ipv6 pbr v2 b2a6 v1 server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route pbr int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 0 10 1234:2::2 vrf v1 r3 tping 0 10 1.1.3.2 vrf v1 r3 tping 0 10 1234:3::2 vrf v1 r3 tping 0 10 1.1.4.2 vrf v1 r3 tping 0 10 1234:4::2 vrf v1 r4 tping 0 10 1.1.1.2 vrf v1 r4 tping 0 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 0 10 1.1.1.2 vrf v1 r5 tping 0 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 0 10 1.1.1.2 vrf v1 r6 tping 0 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout135.tst000066400000000000000000000236771510423065500172220ustar00rootroot00000000000000description p4lang: policy routing with interface and nexthop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit access-list a2b4 permit all 2.2.2.0 255.255.255.0 all 2.2.2.103 255.255.255.255 all exit access-list a2b6 permit all 4321:: ffff:ffff:ffff:ffff:: all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list b2a4 permit all 2.2.2.103 255.255.255.255 all 2.2.2.0 255.255.255.0 all exit access-list b2a6 permit all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321:: ffff:ffff:ffff:ffff:: all exit ipv4 pbr v1 a2b4 v2 int sdn1 next 1.1.1.2 ipv6 pbr v1 a2b6 v2 int sdn1 next 1234:1::2 ipv4 pbr v2 b2a4 v1 ipv6 pbr v2 b2a6 v1 server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route pbr int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 0 10 1.1.2.2 vrf v1 r3 tping 0 10 1234:2::2 vrf v1 r3 tping 0 10 1.1.3.2 vrf v1 r3 tping 0 10 1234:3::2 vrf v1 r3 tping 0 10 1.1.4.2 vrf v1 r3 tping 0 10 1234:4::2 vrf v1 r4 tping 0 10 1.1.1.2 vrf v1 r4 tping 0 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 0 10 1.1.1.2 vrf v1 r5 tping 0 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 0 10 1.1.1.2 vrf v1 r6 tping 0 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout136.tst000066400000000000000000000245611510423065500172140ustar00rootroot00000000000000description p4lang: multicast routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.4.2 ipv6 mroute v1 :: :: 1234:4::2 server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout137.tst000066400000000000000000000247271510423065500172210ustar00rootroot00000000000000description p4lang: multicast vlan routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 exit int sdn2.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 exit int sdn3.333 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 exit int sdn4.444 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.4.2 ipv6 mroute v1 :: :: 1234:4::2 server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route vlan mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout138.tst000066400000000000000000000167331510423065500172200ustar00rootroot00000000000000description p4lang: multicast bundle routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.103 ipv6 multi static ff06::1 4321::103 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.103 ipv6 multi static ff06::1 4321::103 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 mroute v1 :: :: 1234:1::2 server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature bundle route mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 multi static 232.2.2.2 2.2.2.103 ipv6 multi static ff06::1 4321::103 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 200 5 232.2.2.2 vrf v1 sou lo0 multi r3 tping 200 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r3 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r3 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout139.tst000066400000000000000000000167741510423065500172260ustar00rootroot00000000000000description p4lang: multicast bundle vlan routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.103 ipv6 multi static ff06::1 4321::103 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 exit int bun1.111 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.103 ipv6 multi static ff06::1 4321::103 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 mroute v1 :: :: 1234:1::2 server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature bundle route vlan mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 multi static 232.2.2.2 2.2.2.103 ipv6 multi static ff06::1 4321::103 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.111 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 200 5 232.2.2.2 vrf v1 sou lo0 multi r3 tping 200 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r3 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r3 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout140.tst000066400000000000000000000334421510423065500172050ustar00rootroot00000000000000description p4lang: hairpin multicast routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit int hair11 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int hair12 vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.4.2 ipv6 mroute v1 :: :: 1234:4::2 ipv4 mroute v2 0.0.0.0 0.0.0.0 1.1.5.1 ipv6 mroute v2 :: :: 1234:5::1 server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic vrf v9 exit ipv4 route v1 1.1.3.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:3:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.4.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:4:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.5.1 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ! addother r2 controller r1 v9 9080 - feature hairpin route mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 1.1.5.1 vrf v2 r1 tping 100 10 1234:5::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout141.tst000066400000000000000000000335261510423065500172110ustar00rootroot00000000000000description p4lang: hairpin vlan multicast routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit int hair11 exit int hair11.111 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int hair12 exit int hair12.111 vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.4.2 ipv6 mroute v1 :: :: 1234:4::2 ipv4 mroute v2 0.0.0.0 0.0.0.0 1.1.5.1 ipv6 mroute v2 :: :: 1234:5::1 server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic vrf v9 exit ipv4 route v1 1.1.3.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:3:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.4.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:4:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.5.1 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ! addother r2 controller r1 v9 9080 - feature hairpin vlan route mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 1.1.5.1 vrf v2 r1 tping 100 10 1234:5::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout142.tst000066400000000000000000000250031510423065500172010ustar00rootroot00000000000000description p4lang: mldp core addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout143.tst000066400000000000000000000251511510423065500172060ustar00rootroot00000000000000description p4lang: mldp vlan core addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn2 exit int sdn2.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn3 exit int sdn3.333 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn4 exit int sdn4.444 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan route duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout144.tst000066400000000000000000000256521510423065500172150ustar00rootroot00000000000000description p4lang: mldp core over gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route gre duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout145.tst000066400000000000000000000256061510423065500172150ustar00rootroot00000000000000description p4lang: mldp core over l2tp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route l2tp duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout146.tst000066400000000000000000000203631510423065500172110ustar00rootroot00000000000000description p4lang: mldp bundle core addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route bundle duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 200 5 232.2.2.2 vrf v1 sou lo0 multi r3 tping 200 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r3 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r3 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout147.tst000066400000000000000000000204751510423065500172160ustar00rootroot00000000000000description p4lang: mldp bundle vlan core addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn2 exit int sdn2.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 exit int bun1.333 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route bundle duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.333 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 200 5 232.2.2.2 vrf v1 sou lo0 multi r3 tping 200 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r3 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r3 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout148.tst000066400000000000000000000336461510423065500172230ustar00rootroot00000000000000description p4lang: hairpin mldp core addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn3 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int hair11 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int hair12 vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic vrf v9 exit ipv4 route v1 1.1.3.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:3:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.4.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:4:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.5.1 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ! addother r2 controller r1 v9 9080 - feature route hairpin duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 1.1.5.1 vrf v2 r1 tping 100 10 1234:5::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout149.tst000066400000000000000000000336701510423065500172210ustar00rootroot00000000000000description p4lang: hairpin vlan mldp core addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn3 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int hair11.111 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int hair12.111 vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic vrf v9 exit ipv4 route v1 1.1.3.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:3:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.4.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:4:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.5.1 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ! addother r2 controller r1 v9 9080 - feature route hairpin vlan duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 1.1.5.1 vrf v2 r1 tping 100 10 1234:5::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout150.tst000066400000000000000000000247031510423065500172060ustar00rootroot00000000000000description p4lang: mldp egress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.4.2 ipv6 mroute v1 :: :: 1234:4::2 server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route mroute duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout151.tst000066400000000000000000000250511510423065500172040ustar00rootroot00000000000000description p4lang: mldp vlan egress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 exit int sdn2.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 exit int sdn3.333 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 exit int sdn4.444 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.4.2 ipv6 mroute v1 :: :: 1234:4::2 server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan route mroute duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout152.tst000066400000000000000000000240031510423065500172010ustar00rootroot00000000000000description p4lang: mldp ingress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 pim ena ipv6 pim ena exit ipv4 mroute v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 mroute v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a neigh 2.2.2.105 temp a red conn red stat exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a neigh 4321::105 temp a red conn red stat exit ! addother r2 controller r1 v9 9080 - feature route duplab mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both red conn exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both red conn exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both red conn exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both red conn exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.5 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both red conn exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.5 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both red conn exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena ipv4 pim ena ipv6 pim ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout153.tst000066400000000000000000000241511510423065500172060ustar00rootroot00000000000000description p4lang: mldp vlan ingress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn2 exit int sdn2.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn3 exit int sdn3.333 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn4 exit int sdn4.444 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 pim ena ipv6 pim ena exit ipv4 mroute v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 mroute v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a neigh 2.2.2.105 temp a red conn red stat exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a neigh 4321::105 temp a red conn red stat exit ! addother r2 controller r1 v9 9080 - feature vlan route duplab mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1.111 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both red conn exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both red conn exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both red conn exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both red conn exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.5 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both red conn exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.5 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both red conn exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena ipv4 pim ena ipv6 pim ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout154.tst000066400000000000000000000250041510423065500172050ustar00rootroot00000000000000description p4lang: mldp core and egress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.4.2 ipv6 mroute v1 :: :: 1234:4::2 server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route mroute duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout155.tst000066400000000000000000000251521510423065500172120ustar00rootroot00000000000000description p4lang: vlan mldp core and egress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn2 exit int sdn2.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 exit int sdn3.333 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 exit int sdn4.444 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.4.2 ipv6 mroute v1 :: :: 1234:4::2 server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan route mroute duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout156.tst000066400000000000000000000260521510423065500172130ustar00rootroot00000000000000description p4lang: bier core addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ! addother r2 controller r1 v9 9080 - feature route bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.5555 $7a$ $7b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth2 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.7 bier 256 10 7 red conn exit router lsrp6 1 vrf v1 router 6.6.6.7 bier 256 10 7 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.5.1 ipv6 mroute v1 :: :: 1234:5::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.5.2 vrf v1 r3 tping 100 10 1234:5::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.5.2 vrf v1 r4 tping 100 10 1234:5::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.5.2 vrf v1 r5 tping 100 10 1234:5::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.5.2 vrf v1 r6 tping 100 10 1234:5::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.5.2 vrf v1 r7 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.107 vrf v1 sou lo0 r1 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 r3 tping 100 10 4321::107 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.107 vrf v1 sou lo0 r4 tping 100 10 4321::107 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.107 vrf v1 sou lo0 r5 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.107 vrf v1 sou lo0 r6 tping 100 10 4321::107 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.107 vrf v1 sou lo0 r7 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 400 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 400 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout157.tst000066400000000000000000000262201510423065500172110ustar00rootroot00000000000000description p4lang: bier vlan core addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 exit int sdn2.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 exit int sdn3.333 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 exit int sdn4.444 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ! addother r2 controller r1 v9 9080 - feature route vlan bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.5555 $7a$ $7b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth1.333 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth2 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int eth1.444 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.7 bier 256 10 7 red conn exit router lsrp6 1 vrf v1 router 6.6.6.7 bier 256 10 7 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.5.1 ipv6 mroute v1 :: :: 1234:5::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.5.2 vrf v1 r3 tping 100 10 1234:5::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.5.2 vrf v1 r4 tping 100 10 1234:5::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.5.2 vrf v1 r5 tping 100 10 1234:5::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.5.2 vrf v1 r6 tping 100 10 1234:5::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.5.2 vrf v1 r7 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.107 vrf v1 sou lo0 r1 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 r3 tping 100 10 4321::107 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.107 vrf v1 sou lo0 r4 tping 100 10 4321::107 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.107 vrf v1 sou lo0 r5 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.107 vrf v1 sou lo0 r6 tping 100 10 4321::107 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.107 vrf v1 sou lo0 r7 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 400 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 400 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout158.tst000066400000000000000000000267211510423065500172200ustar00rootroot00000000000000description p4lang: bier core over gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ! addother r2 controller r1 v9 9080 - feature route gre bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.5555 $7a$ $7b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth2 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.7 bier 256 10 7 red conn exit router lsrp6 1 vrf v1 router 6.6.6.7 bier 256 10 7 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.5.1 ipv6 mroute v1 :: :: 1234:5::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.5.2 vrf v1 r3 tping 100 10 1234:5::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.5.2 vrf v1 r4 tping 100 10 1234:5::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.5.2 vrf v1 r5 tping 100 10 1234:5::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.5.2 vrf v1 r6 tping 100 10 1234:5::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.5.2 vrf v1 r7 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.107 vrf v1 sou lo0 r1 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 r3 tping 100 10 4321::107 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.107 vrf v1 sou lo0 r4 tping 100 10 4321::107 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.107 vrf v1 sou lo0 r5 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.107 vrf v1 sou lo0 r6 tping 100 10 4321::107 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.107 vrf v1 sou lo0 r7 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 400 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 400 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout159.tst000066400000000000000000000267511510423065500172240ustar00rootroot00000000000000description p4lang: bier core over l2tp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ! addother r2 controller r1 v9 9080 - feature route l2tp bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.5555 $7a$ $7b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth2 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.7 bier 256 10 7 red conn exit router lsrp6 1 vrf v1 router 6.6.6.7 bier 256 10 7 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.5.1 ipv6 mroute v1 :: :: 1234:5::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r1 tping 100 30 1.1.5.2 vrf v1 r1 tping 100 30 1234:5::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.5.2 vrf v1 r3 tping 100 10 1234:5::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.5.2 vrf v1 r4 tping 100 10 1234:5::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.5.2 vrf v1 r5 tping 100 10 1234:5::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.5.2 vrf v1 r6 tping 100 10 1234:5::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.5.2 vrf v1 r7 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.107 vrf v1 sou lo0 r1 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 r3 tping 100 10 4321::107 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.107 vrf v1 sou lo0 r4 tping 100 10 4321::107 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.107 vrf v1 sou lo0 r5 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.107 vrf v1 sou lo0 r6 tping 100 10 4321::107 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.107 vrf v1 sou lo0 r7 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 400 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 400 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout160.tst000066400000000000000000000214351510423065500172060ustar00rootroot00000000000000description p4lang: bier bundle core addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ! addother r2 controller r1 v9 9080 - feature route bundle bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ int eth3 eth 0000.0000.5555 $7a$ $7b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth3 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.7 bier 256 10 7 red conn exit router lsrp6 1 vrf v1 router 6.6.6.7 bier 256 10 7 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.5.1 ipv6 mroute v1 :: :: 1234:5::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.5.2 vrf v1 r3 tping 100 10 1234:5::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.5.2 vrf v1 r4 tping 100 10 1234:5::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.5.2 vrf v1 r5 tping 100 10 1234:5::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.5.2 vrf v1 r7 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.107 vrf v1 sou lo0 r1 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 r3 tping 100 10 4321::107 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.107 vrf v1 sou lo0 r4 tping 100 10 4321::107 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.107 vrf v1 sou lo0 r5 tping 100 10 4321::107 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.107 vrf v1 sou lo0 r7 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r3 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r3 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r3 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout161.tst000066400000000000000000000215351510423065500172100ustar00rootroot00000000000000description p4lang: bier bundle vlan core addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 exit int sdn2.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.333 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ! addother r2 controller r1 v9 9080 - feature route bundle vlan bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ int eth3 eth 0000.0000.5555 $7a$ $7b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.333 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth3 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.7 bier 256 10 7 red conn exit router lsrp6 1 vrf v1 router 6.6.6.7 bier 256 10 7 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.5.1 ipv6 mroute v1 :: :: 1234:5::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.5.2 vrf v1 r3 tping 100 10 1234:5::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.5.2 vrf v1 r4 tping 100 10 1234:5::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.5.2 vrf v1 r5 tping 100 10 1234:5::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.5.2 vrf v1 r7 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.107 vrf v1 sou lo0 r1 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 r3 tping 100 10 4321::107 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.107 vrf v1 sou lo0 r4 tping 100 10 4321::107 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.107 vrf v1 sou lo0 r5 tping 100 10 4321::107 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.107 vrf v1 sou lo0 r7 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r3 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r3 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r3 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout162.tst000066400000000000000000000312151510423065500172050ustar00rootroot00000000000000description p4lang: hairpin bier core addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit router lsrp4 2 vrf v2 router 4.4.4.9 bier 256 10 9 red conn exit router lsrp6 2 vrf v2 router 6.6.6.9 bier 256 10 9 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 2 ena router lsrp6 2 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int hair11 vrf for v1 ipv4 addr 1.1.6.1 255.255.255.0 ipv6 addr 1234:6::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int hair12 vrf for v2 ipv4 addr 1.1.6.2 255.255.255.0 ipv6 addr 1234:6::2 ffff:ffff:: ipv6 ena mpls enable router lsrp4 2 ena router lsrp6 2 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic vrf v9 exit ! addother r2 controller r1 v9 9080 - feature route hairpin bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.5555 $7a$ $7b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth2 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.7 bier 256 10 7 red conn exit router lsrp6 1 vrf v1 router 6.6.6.7 bier 256 10 7 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.5.1 ipv6 mroute v1 :: :: 1234:5::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! r1 tping 100 10 1.1.6.2 vrf v1 r1 tping 100 10 1234:6::2 vrf v1 r1 tping 100 10 1.1.6.1 vrf v2 r1 tping 100 10 1234:6::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 1.1.6.2 vrf v1 r1 tping 100 10 1234:6::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.5.2 vrf v1 r3 tping 100 10 1234:5::2 vrf v1 r3 tping 100 10 1.1.6.2 vrf v1 r3 tping 100 10 1234:6::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.5.2 vrf v1 r4 tping 100 10 1234:5::2 vrf v1 r4 tping 100 10 1.1.6.2 vrf v1 r4 tping 100 10 1234:6::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.5.2 vrf v1 r5 tping 100 10 1234:5::2 vrf v1 r5 tping 100 10 1.1.6.2 vrf v1 r5 tping 100 10 1234:6::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.5.2 vrf v1 r6 tping 100 10 1234:5::2 vrf v1 r6 tping 100 10 1.1.6.2 vrf v1 r6 tping 100 10 1234:6::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.5.2 vrf v1 r7 tping 100 10 1234:5::2 vrf v1 r7 tping 100 10 1.1.6.2 vrf v1 r7 tping 100 10 1234:6::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.107 vrf v1 sou lo0 r1 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 100 10 2.2.2.100 vrf v1 sou lo0 r3 tping 100 10 4321::100 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 r3 tping 100 10 4321::107 vrf v1 sou lo0 r4 tping 100 10 2.2.2.100 vrf v1 sou lo0 r4 tping 100 10 4321::100 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.107 vrf v1 sou lo0 r4 tping 100 10 4321::107 vrf v1 sou lo0 r5 tping 100 10 2.2.2.100 vrf v1 sou lo0 r5 tping 100 10 4321::100 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.107 vrf v1 sou lo0 r5 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 100 10 2.2.2.100 vrf v1 sou lo0 r6 tping 100 10 4321::100 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.107 vrf v1 sou lo0 r6 tping 100 10 4321::107 vrf v1 sou lo0 r7 tping 100 10 2.2.2.100 vrf v1 sou lo0 r7 tping 100 10 4321::100 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.107 vrf v1 sou lo0 r7 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 400 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 400 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout163.tst000066400000000000000000000312741510423065500172130ustar00rootroot00000000000000description p4lang: hairpin vlan bier core addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit router lsrp4 2 vrf v2 router 4.4.4.9 bier 256 10 9 red conn exit router lsrp6 2 vrf v2 router 6.6.6.9 bier 256 10 9 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 2 ena router lsrp6 2 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int hair11 exit int hair11.111 vrf for v1 ipv4 addr 1.1.6.1 255.255.255.0 ipv6 addr 1234:6::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int hair12 exit int hair12.111 vrf for v2 ipv4 addr 1.1.6.2 255.255.255.0 ipv6 addr 1234:6::2 ffff:ffff:: ipv6 ena mpls enable router lsrp4 2 ena router lsrp6 2 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic vrf v9 exit ! addother r2 controller r1 v9 9080 - feature route hairpin bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.5555 $7a$ $7b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth2 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.7 bier 256 10 7 red conn exit router lsrp6 1 vrf v1 router 6.6.6.7 bier 256 10 7 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.5.1 ipv6 mroute v1 :: :: 1234:5::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! r1 tping 100 10 1.1.6.2 vrf v1 r1 tping 100 10 1234:6::2 vrf v1 r1 tping 100 10 1.1.6.1 vrf v2 r1 tping 100 10 1234:6::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 1.1.6.2 vrf v1 r1 tping 100 10 1234:6::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.5.2 vrf v1 r3 tping 100 10 1234:5::2 vrf v1 r3 tping 100 10 1.1.6.2 vrf v1 r3 tping 100 10 1234:6::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.5.2 vrf v1 r4 tping 100 10 1234:5::2 vrf v1 r4 tping 100 10 1.1.6.2 vrf v1 r4 tping 100 10 1234:6::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.5.2 vrf v1 r5 tping 100 10 1234:5::2 vrf v1 r5 tping 100 10 1.1.6.2 vrf v1 r5 tping 100 10 1234:6::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.5.2 vrf v1 r6 tping 100 10 1234:5::2 vrf v1 r6 tping 100 10 1.1.6.2 vrf v1 r6 tping 100 10 1234:6::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.5.2 vrf v1 r7 tping 100 10 1234:5::2 vrf v1 r7 tping 100 10 1.1.6.2 vrf v1 r7 tping 100 10 1234:6::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.107 vrf v1 sou lo0 r1 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 100 10 2.2.2.100 vrf v1 sou lo0 r3 tping 100 10 4321::100 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 r3 tping 100 10 4321::107 vrf v1 sou lo0 r4 tping 100 10 2.2.2.100 vrf v1 sou lo0 r4 tping 100 10 4321::100 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.107 vrf v1 sou lo0 r4 tping 100 10 4321::107 vrf v1 sou lo0 r5 tping 100 10 2.2.2.100 vrf v1 sou lo0 r5 tping 100 10 4321::100 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.107 vrf v1 sou lo0 r5 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 100 10 2.2.2.100 vrf v1 sou lo0 r6 tping 100 10 4321::100 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.107 vrf v1 sou lo0 r6 tping 100 10 4321::107 vrf v1 sou lo0 r7 tping 100 10 2.2.2.100 vrf v1 sou lo0 r7 tping 100 10 4321::100 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.107 vrf v1 sou lo0 r7 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 400 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 400 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout164.tst000066400000000000000000000265321510423065500172150ustar00rootroot00000000000000description p4lang: bier egress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena router lsrp4 1 ena router lsrp6 1 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.4.2 ipv6 mroute v1 :: :: 1234:4::2 server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ! addother r2 controller r1 v9 9080 - feature route mroute bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.5555 $7a$ $7b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth2 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.7 bier 256 10 7 red conn exit router lsrp6 1 vrf v1 router 6.6.6.7 bier 256 10 7 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.5.1 ipv6 mroute v1 :: :: 1234:5::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.5.2 vrf v1 r3 tping 100 10 1234:5::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.5.2 vrf v1 r4 tping 100 10 1234:5::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.5.2 vrf v1 r5 tping 100 10 1234:5::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.5.2 vrf v1 r6 tping 100 10 1234:5::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.5.2 vrf v1 r7 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.107 vrf v1 sou lo0 r1 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 r3 tping 100 10 4321::107 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.107 vrf v1 sou lo0 r4 tping 100 10 4321::107 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.107 vrf v1 sou lo0 r5 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.107 vrf v1 sou lo0 r6 tping 100 10 4321::107 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.107 vrf v1 sou lo0 r7 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 400 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 400 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout165.tst000066400000000000000000000267001510423065500172130ustar00rootroot00000000000000description p4lang: bier vlan egress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena router lsrp4 1 ena router lsrp6 1 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 exit int sdn2.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn3 exit int sdn3.333 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn4 exit int sdn4.444 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.4.2 ipv6 mroute v1 :: :: 1234:4::2 server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ! addother r2 controller r1 v9 9080 - feature vlan route mroute bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.5555 $7a$ $7b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth1.333 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth2 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int eth1.444 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.7 bier 256 10 7 red conn exit router lsrp6 1 vrf v1 router 6.6.6.7 bier 256 10 7 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.5.1 ipv6 mroute v1 :: :: 1234:5::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.5.2 vrf v1 r3 tping 100 10 1234:5::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.5.2 vrf v1 r4 tping 100 10 1234:5::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.5.2 vrf v1 r5 tping 100 10 1234:5::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.5.2 vrf v1 r6 tping 100 10 1234:5::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.5.2 vrf v1 r7 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.107 vrf v1 sou lo0 r1 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 r3 tping 100 10 4321::107 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.107 vrf v1 sou lo0 r4 tping 100 10 4321::107 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.107 vrf v1 sou lo0 r5 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.107 vrf v1 sou lo0 r6 tping 100 10 4321::107 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.107 vrf v1 sou lo0 r7 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 400 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 400 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout166.tst000066400000000000000000000342311510423065500172120ustar00rootroot00000000000000description p4lang: bier ingress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv6 ena ipv4 pim ena ipv6 pim ena exit ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 mroute v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 mroute v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a neigh 2.2.2.105 temp a neigh 2.2.2.107 temp a red conn red stat exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a neigh 4321::105 temp a neigh 4321::107 temp a red conn red stat exit ! addother r2 controller r1 v9 9080 - feature route mroute bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both red conn exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both red conn exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both red conn exit ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.5555 $7a$ $7b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth2 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.5 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both red conn exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.5 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both red conn exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena ipv4 pim ena ipv6 pim ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.107 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.7 bier 256 10 7 red conn exit router lsrp6 1 vrf v1 router 6.6.6.7 bier 256 10 7 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.5.1 ipv6 mroute v1 :: :: 1234:5::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.7 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both red conn exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.7 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both red conn exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.5.2 vrf v1 r3 tping 100 10 1234:5::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.5.2 vrf v1 r4 tping 100 10 1234:5::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.5.2 vrf v1 r5 tping 100 10 1234:5::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.5.2 vrf v1 r6 tping 100 10 1234:5::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.5.2 vrf v1 r7 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.107 vrf v1 sou lo0 r1 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 r3 tping 100 10 4321::107 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.107 vrf v1 sou lo0 r4 tping 100 10 4321::107 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.107 vrf v1 sou lo0 r5 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.107 vrf v1 sou lo0 r6 tping 100 10 4321::107 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.107 vrf v1 sou lo0 r7 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 400 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 400 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout167.tst000066400000000000000000000343771510423065500172260ustar00rootroot00000000000000description p4lang: bier vlan ingress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn2 exit int sdn2.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn3 exit int sdn3.333 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn4 exit int sdn4.444 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv6 ena ipv4 pim ena ipv6 pim ena exit ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 mroute v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 mroute v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a neigh 2.2.2.105 temp a neigh 2.2.2.107 temp a red conn red stat exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a neigh 4321::105 temp a neigh 4321::107 temp a red conn red stat exit ! addother r2 controller r1 v9 9080 - feature vlan route mroute bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both red conn exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both red conn exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both red conn exit ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.5555 $7a$ $7b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth1.333 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth2 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.5 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both red conn exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.5 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both red conn exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena ipv4 pim ena ipv6 pim ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.107 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.7 bier 256 10 7 red conn exit router lsrp6 1 vrf v1 router 6.6.6.7 bier 256 10 7 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.5.1 ipv6 mroute v1 :: :: 1234:5::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.7 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both red conn exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.7 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both red conn exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.5.2 vrf v1 r3 tping 100 10 1234:5::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.5.2 vrf v1 r4 tping 100 10 1234:5::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.5.2 vrf v1 r5 tping 100 10 1234:5::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.5.2 vrf v1 r6 tping 100 10 1234:5::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.5.2 vrf v1 r7 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.107 vrf v1 sou lo0 r1 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 r3 tping 100 10 4321::107 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.107 vrf v1 sou lo0 r4 tping 100 10 4321::107 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.107 vrf v1 sou lo0 r5 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.107 vrf v1 sou lo0 r6 tping 100 10 4321::107 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.107 vrf v1 sou lo0 r7 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 400 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 400 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout168.tst000066400000000000000000000304571510423065500172220ustar00rootroot00000000000000description p4lang: bier core and egress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn red stat exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn red stat exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 mroute v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 mroute v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route mroute bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.107 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.5555 $7a$ $7b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth2 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.7 bier 256 10 7 red conn exit router lsrp6 1 vrf v1 router 6.6.6.7 bier 256 10 7 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.5.1 ipv6 mroute v1 :: :: 1234:5::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.5.2 vrf v1 r3 tping 100 10 1234:5::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.5.2 vrf v1 r4 tping 100 10 1234:5::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.5.2 vrf v1 r5 tping 100 10 1234:5::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.5.2 vrf v1 r6 tping 100 10 1234:5::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.5.2 vrf v1 r7 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.107 vrf v1 sou lo0 r1 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 r3 tping 100 10 4321::107 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.107 vrf v1 sou lo0 r4 tping 100 10 4321::107 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.107 vrf v1 sou lo0 r5 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.107 vrf v1 sou lo0 r6 tping 100 10 4321::107 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.107 vrf v1 sou lo0 r7 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 400 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 400 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout169.tst000066400000000000000000000306201510423065500172130ustar00rootroot00000000000000description p4lang: vlan bier core and egress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn red stat exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn red stat exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn2 exit int sdn2.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 exit int sdn3.333 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn4 exit int sdn4.444 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 mroute v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 mroute v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route mroute bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.107 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.5555 $7a$ $7b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth1.333 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth2 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int eth1.444 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.7 bier 256 10 7 red conn exit router lsrp6 1 vrf v1 router 6.6.6.7 bier 256 10 7 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.5.1 ipv6 mroute v1 :: :: 1234:5::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.5.2 vrf v1 r3 tping 100 10 1234:5::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.5.2 vrf v1 r4 tping 100 10 1234:5::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.5.2 vrf v1 r5 tping 100 10 1234:5::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.5.2 vrf v1 r6 tping 100 10 1234:5::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.5.2 vrf v1 r7 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.107 vrf v1 sou lo0 r1 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 r3 tping 100 10 4321::107 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.107 vrf v1 sou lo0 r4 tping 100 10 4321::107 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.107 vrf v1 sou lo0 r5 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.107 vrf v1 sou lo0 r6 tping 100 10 4321::107 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.107 vrf v1 sou lo0 r7 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 400 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 400 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout170.tst000066400000000000000000000236601510423065500172110ustar00rootroot00000000000000description p4lang: amt server over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int temp1 enc ppp vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena shut exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server amt a clone temp1 vrf v2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port temp1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature amt route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun sou bvi1 tun vrf v2 tun dest 9.9.9.1 tun mod amt vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout171.tst000066400000000000000000000236661510423065500172200ustar00rootroot00000000000000description p4lang: amt server over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit int temp1 enc ppp vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena shut exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server amt a clone temp1 vrf v2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port temp1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature amt route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int tun1 tun sou bvi1 tun vrf v2 tun dest 9999::1 tun mod amt vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout172.tst000066400000000000000000000243141510423065500172100ustar00rootroot00000000000000description p4lang: amt server over ipv4 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int temp1 enc ppp vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena shut exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server amt a clone temp1 vrf v2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port temp1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature amt route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit int tun1 tun sou lo1 tun vrf v2 tun dest 8.8.8.1 tun mod amt vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout173.tst000066400000000000000000000244741510423065500172200ustar00rootroot00000000000000description p4lang: amt server over ipv6 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 ena exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit int temp1 enc ppp vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena shut exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server amt a clone temp1 vrf v2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port temp1 dynamic vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature amt route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int tun1 tun sou lo1 tun vrf v2 tun dest 8888::1 tun mod amt vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 8888::2 vrf v2 r3 tping 100 10 8888::1 vrf v2 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout174.tst000066400000000000000000000257701510423065500172210ustar00rootroot00000000000000description p4lang: autoroute to sr te over mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 justadvert lo0 exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 justadvert lo0 exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.103 tun domain 2.2.2.103 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.11.1 255.255.255.0 ipv4 autoroute lsrp4 1 2.2.2.103 1.1.11.2 exclu exit int tun12 tun sou lo0 tun dest 4321::103 tun domain 4321::103 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:11::1 ffff:ffff:: ipv6 autoroute lsrp6 1 4321::103 1234:11::2 exclu exit int tun21 tun sou lo0 tun dest 2.2.2.104 tun domain 2.2.2.104 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.12.1 255.255.255.0 ipv4 autoroute lsrp4 1 2.2.2.104 1.1.12.2 exclu exit int tun22 tun sou lo0 tun dest 4321::104 tun domain 4321::104 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:12::1 ffff:ffff:: ipv6 autoroute lsrp6 1 4321::104 1234:12::2 exclu exit int tun31 tun sou lo0 tun dest 2.2.2.105 tun domain 2.2.2.105 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.13.1 255.255.255.0 ipv4 autoroute lsrp4 1 2.2.2.105 1.1.13.2 exclu exit int tun32 tun sou lo0 tun dest 4321::105 tun domain 4321::105 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:13::1 ffff:ffff:: ipv6 autoroute lsrp6 1 4321::105 1234:13::2 exclu exit int tun41 tun sou lo0 tun dest 2.2.2.106 tun domain 2.2.2.106 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.14.1 255.255.255.0 ipv4 autoroute lsrp4 1 2.2.2.106 1.1.14.2 exclu exit int tun42 tun sou lo0 tun dest 4321::106 tun domain 4321::106 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:14::1 ffff:ffff:: ipv6 autoroute lsrp6 1 4321::106 1234:14::2 exclu exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun11 dynamic export-port tun12 dynamic export-port tun21 dynamic export-port tun22 dynamic export-port tun31 dynamic export-port tun32 dynamic export-port tun41 dynamic export-port tun42 dynamic vrf v9 exit ! addother r2 controller r1 v9 9080 - feature mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun domain 2.2.2.101 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.11.2 255.255.255.0 ipv4 autoroute lsrp4 1 2.2.2.101 1.1.11.1 exclu exit int tun12 tun sou lo0 tun dest 4321::101 tun domain 4321::101 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:11::2 ffff:ffff:: ipv6 autoroute lsrp6 1 4321::101 1234:11::1 exclu exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun domain 2.2.2.101 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.12.2 255.255.255.0 ipv4 autoroute lsrp4 1 2.2.2.101 1.1.12.1 exclu exit int tun12 tun sou lo0 tun dest 4321::101 tun domain 4321::101 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:12::2 ffff:ffff:: ipv6 autoroute lsrp6 1 4321::101 1234:12::1 exclu exit ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.5 segrout 10 5 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.5 segrout 10 5 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun domain 2.2.2.101 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.13.2 255.255.255.0 ipv4 autoroute lsrp4 1 2.2.2.103 1.1.12.1 exclu exit int tun12 tun sou lo0 tun dest 4321::101 tun domain 4321::101 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:13::2 ffff:ffff:: ipv6 autoroute lsrp6 1 4321::101 1234:13::1 exclu exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.6 segrout 10 6 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.6 segrout 10 6 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun domain 2.2.2.101 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.14.2 255.255.255.0 ipv4 autoroute lsrp4 1 2.2.2.103 1.1.14.1 exclu exit int tun12 tun sou lo0 tun dest 4321::101 tun domain 4321::101 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:14::2 ffff:ffff:: ipv6 autoroute lsrp6 1 4321::101 1234:14::1 exclu exit ! r1 tping 100 10 1.1.1.2 vrf v1 sou sdn1 r1 tping 100 10 1234:1::2 vrf v1 sou sdn1 r1 tping 100 10 1.1.2.2 vrf v1 sou sdn2 r1 tping 100 10 1234:2::2 vrf v1 sou sdn2 r1 tping 100 10 1.1.3.2 vrf v1 sou sdn3 r1 tping 100 10 1234:3::2 vrf v1 sou sdn3 r1 tping 100 10 1.1.4.2 vrf v1 sou sdn4 r1 tping 100 10 1234:4::2 vrf v1 sou sdn4 r3 tping 100 10 1.1.1.2 vrf v1 sou eth1 r3 tping 100 10 1234:1::2 vrf v1 sou eth1 r3 tping 100 10 1.1.2.2 vrf v1 sou eth1 r3 tping 100 10 1234:2::2 vrf v1 sou eth1 r3 tping 100 10 1.1.3.2 vrf v1 sou eth1 r3 tping 100 10 1234:3::2 vrf v1 sou eth1 r3 tping 100 10 1.1.4.2 vrf v1 sou eth1 r3 tping 100 10 1234:4::2 vrf v1 sou eth1 r4 tping 100 10 1.1.1.2 vrf v1 sou eth1 r4 tping 100 10 1234:1::2 vrf v1 sou eth1 r4 tping 100 10 1.1.2.2 vrf v1 sou eth1 r4 tping 100 10 1234:2::2 vrf v1 sou eth1 r4 tping 100 10 1.1.3.2 vrf v1 sou eth1 r4 tping 100 10 1234:3::2 vrf v1 sou eth1 r4 tping 100 10 1.1.4.2 vrf v1 sou eth1 r4 tping 100 10 1234:4::2 vrf v1 sou eth1 r5 tping 100 10 1.1.1.2 vrf v1 sou eth1 r5 tping 100 10 1234:1::2 vrf v1 sou eth1 r5 tping 100 10 1.1.2.2 vrf v1 sou eth1 r5 tping 100 10 1234:2::2 vrf v1 sou eth1 r5 tping 100 10 1.1.3.2 vrf v1 sou eth1 r5 tping 100 10 1234:3::2 vrf v1 sou eth1 r5 tping 100 10 1.1.4.2 vrf v1 sou eth1 r5 tping 100 10 1234:4::2 vrf v1 sou eth1 r6 tping 100 10 1.1.1.2 vrf v1 sou eth1 r6 tping 100 10 1234:1::2 vrf v1 sou eth1 r6 tping 100 10 1.1.2.2 vrf v1 sou eth1 r6 tping 100 10 1234:2::2 vrf v1 sou eth1 r6 tping 100 10 1.1.3.2 vrf v1 sou eth1 r6 tping 100 10 1234:3::2 vrf v1 sou eth1 r6 tping 100 10 1.1.4.2 vrf v1 sou eth1 r6 tping 100 10 1234:4::2 vrf v1 sou eth1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 1.1.3.2 vrf v1 sou eth1 r1 dping sdn . r6 1234:3::2 vrf v1 sou eth1 freeRtr-25.11.9/cfg/p4lang-rout175.tst000066400000000000000000000254651510423065500172230ustar00rootroot00000000000000description p4lang: autoroute to p2p te over mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit router lsrp4 1 vrf v1 router 4.4.4.1 justadvert lo0 exit router lsrp6 1 vrf v1 router 6.6.6.1 justadvert lo0 exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls rsvp4 mpls rsvp6 router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls rsvp4 mpls rsvp6 router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls rsvp4 mpls rsvp6 router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls rsvp4 mpls rsvp6 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.11.1 255.255.255.0 ipv4 autoroute lsrp4 1 2.2.2.103 1.1.11.2 exclu exit int tun12 tun sou lo0 tun dest 4321::103 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:11::1 ffff:ffff:: ipv6 autoroute lsrp6 1 4321::103 1234:11::2 exclu exit int tun21 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.12.1 255.255.255.0 ipv4 autoroute lsrp4 1 2.2.2.104 1.1.12.2 exclu exit int tun22 tun sou lo0 tun dest 4321::104 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:12::1 ffff:ffff:: ipv6 autoroute lsrp6 1 4321::104 1234:12::2 exclu exit int tun31 tun sou lo0 tun dest 2.2.2.105 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.13.1 255.255.255.0 ipv4 autoroute lsrp4 1 2.2.2.105 1.1.13.2 exclu exit int tun32 tun sou lo0 tun dest 4321::105 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:13::1 ffff:ffff:: ipv6 autoroute lsrp6 1 4321::105 1234:13::2 exclu exit int tun41 tun sou lo0 tun dest 2.2.2.106 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.14.1 255.255.255.0 ipv4 autoroute lsrp4 1 2.2.2.106 1.1.14.2 exclu exit int tun42 tun sou lo0 tun dest 4321::106 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:14::1 ffff:ffff:: ipv6 autoroute lsrp6 1 4321::106 1234:14::2 exclu exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun11 dynamic export-port tun12 dynamic export-port tun21 dynamic export-port tun22 dynamic export-port tun31 dynamic export-port tun32 dynamic export-port tun41 dynamic export-port tun42 dynamic vrf v9 exit ! addother r2 controller r1 v9 9080 - feature mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit router lsrp4 1 vrf v1 router 4.4.4.3 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.3 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.11.2 255.255.255.0 ipv4 autoroute lsrp4 1 2.2.2.101 1.1.11.1 exclu exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:11::2 ffff:ffff:: ipv6 autoroute lsrp6 1 4321::101 1234:11::1 exclu exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit router lsrp4 1 vrf v1 router 4.4.4.4 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.4 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.12.2 255.255.255.0 ipv4 autoroute lsrp4 1 2.2.2.101 1.1.12.1 exclu exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:12::2 ffff:ffff:: ipv6 autoroute lsrp6 1 4321::101 1234:12::1 exclu exit ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit router lsrp4 1 vrf v1 router 4.4.4.5 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.5 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.13.2 255.255.255.0 ipv4 autoroute lsrp4 1 2.2.2.103 1.1.12.1 exclu exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:13::2 ffff:ffff:: ipv6 autoroute lsrp6 1 4321::101 1234:13::1 exclu exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit router lsrp4 1 vrf v1 router 4.4.4.6 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.6 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.14.2 255.255.255.0 ipv4 autoroute lsrp4 1 2.2.2.103 1.1.14.1 exclu exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:14::2 ffff:ffff:: ipv6 autoroute lsrp6 1 4321::101 1234:14::1 exclu exit ! r1 tping 100 10 1.1.1.2 vrf v1 sou sdn1 r1 tping 100 10 1234:1::2 vrf v1 sou sdn1 r1 tping 100 10 1.1.2.2 vrf v1 sou sdn2 r1 tping 100 10 1234:2::2 vrf v1 sou sdn2 r1 tping 100 10 1.1.3.2 vrf v1 sou sdn3 r1 tping 100 10 1234:3::2 vrf v1 sou sdn3 r1 tping 100 10 1.1.4.2 vrf v1 sou sdn4 r1 tping 100 10 1234:4::2 vrf v1 sou sdn4 r3 tping 100 10 1.1.1.2 vrf v1 sou eth1 r3 tping 100 10 1234:1::2 vrf v1 sou eth1 r3 tping 100 10 1.1.2.2 vrf v1 sou eth1 r3 tping 100 10 1234:2::2 vrf v1 sou eth1 r3 tping 100 10 1.1.3.2 vrf v1 sou eth1 r3 tping 100 10 1234:3::2 vrf v1 sou eth1 r3 tping 100 10 1.1.4.2 vrf v1 sou eth1 r3 tping 100 10 1234:4::2 vrf v1 sou eth1 r4 tping 100 10 1.1.1.2 vrf v1 sou eth1 r4 tping 100 10 1234:1::2 vrf v1 sou eth1 r4 tping 100 10 1.1.2.2 vrf v1 sou eth1 r4 tping 100 10 1234:2::2 vrf v1 sou eth1 r4 tping 100 10 1.1.3.2 vrf v1 sou eth1 r4 tping 100 10 1234:3::2 vrf v1 sou eth1 r4 tping 100 10 1.1.4.2 vrf v1 sou eth1 r4 tping 100 10 1234:4::2 vrf v1 sou eth1 r5 tping 100 10 1.1.1.2 vrf v1 sou eth1 r5 tping 100 10 1234:1::2 vrf v1 sou eth1 r5 tping 100 10 1.1.2.2 vrf v1 sou eth1 r5 tping 100 10 1234:2::2 vrf v1 sou eth1 r5 tping 100 10 1.1.3.2 vrf v1 sou eth1 r5 tping 100 10 1234:3::2 vrf v1 sou eth1 r5 tping 100 10 1.1.4.2 vrf v1 sou eth1 r5 tping 100 10 1234:4::2 vrf v1 sou eth1 r6 tping 100 10 1.1.1.2 vrf v1 sou eth1 r6 tping 100 10 1234:1::2 vrf v1 sou eth1 r6 tping 100 10 1.1.2.2 vrf v1 sou eth1 r6 tping 100 10 1234:2::2 vrf v1 sou eth1 r6 tping 100 10 1.1.3.2 vrf v1 sou eth1 r6 tping 100 10 1234:3::2 vrf v1 sou eth1 r6 tping 100 10 1.1.4.2 vrf v1 sou eth1 r6 tping 100 10 1234:4::2 vrf v1 sou eth1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 1.1.3.2 vrf v1 sou eth1 r1 dping sdn . r6 1234:3::2 vrf v1 sou eth1 freeRtr-25.11.9/cfg/p4lang-rout176.tst000066400000000000000000000266061510423065500172220ustar00rootroot00000000000000description p4lang: policy routing to sr te over mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 justadvert lo0 exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 justadvert lo0 exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.103 tun domain 2.2.2.103 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.11.1 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::103 tun domain 4321::103 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:11::1 ffff:ffff:: exit int tun21 tun sou lo0 tun dest 2.2.2.104 tun domain 2.2.2.104 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.12.1 255.255.255.0 exit int tun22 tun sou lo0 tun dest 4321::104 tun domain 4321::104 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:12::1 ffff:ffff:: exit int tun31 tun sou lo0 tun dest 2.2.2.105 tun domain 2.2.2.105 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.13.1 255.255.255.0 exit int tun32 tun sou lo0 tun dest 4321::105 tun domain 4321::105 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:13::1 ffff:ffff:: exit int tun41 tun sou lo0 tun dest 2.2.2.106 tun domain 2.2.2.106 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.14.1 255.255.255.0 exit int tun42 tun sou lo0 tun dest 4321::106 tun domain 4321::106 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:14::1 ffff:ffff:: exit access-list a2b4 permit all 2.2.2.0 255.255.255.0 all 2.2.2.203 255.255.255.255 all exit access-list a2b6 permit all 4321:: ffff:ffff:ffff:ffff:: all 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit ipv4 pbr v1 a2b4 v1 next 1.1.11.2 ipv6 pbr v1 a2b6 v1 next 1234:11::2 server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun11 dynamic export-port tun12 dynamic export-port tun21 dynamic export-port tun22 dynamic export-port tun31 dynamic export-port tun32 dynamic export-port tun41 dynamic export-port tun42 dynamic vrf v9 exit ! addother r2 controller r1 v9 9080 - feature mpls pbr int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun domain 2.2.2.101 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.11.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun domain 4321::101 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:11::2 ffff:ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun domain 2.2.2.101 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.12.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun domain 4321::101 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:12::2 ffff:ffff:: exit ipv4 route v1 2.2.2.203 255.255.255.255 1.1.12.1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.5 segrout 10 5 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.5 segrout 10 5 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun domain 2.2.2.101 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.13.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun domain 4321::101 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:13::2 ffff:ffff:: exit ipv4 route v1 2.2.2.203 255.255.255.255 1.1.13.1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.6 segrout 10 6 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.6 segrout 10 6 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun domain 2.2.2.101 tun vrf v1 tun mod srmpls vrf for v1 ipv4 addr 1.1.14.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun domain 4321::101 tun vrf v1 tun mod srmpls vrf for v1 ipv6 addr 1234:14::2 ffff:ffff:: exit ipv4 route v1 2.2.2.203 255.255.255.255 1.1.14.1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ! r1 tping 100 10 1.1.1.2 vrf v1 sou sdn1 r1 tping 100 10 1234:1::2 vrf v1 sou sdn1 r1 tping 100 10 1.1.2.2 vrf v1 sou sdn2 r1 tping 100 10 1234:2::2 vrf v1 sou sdn2 r1 tping 100 10 1.1.3.2 vrf v1 sou sdn3 r1 tping 100 10 1234:3::2 vrf v1 sou sdn3 r1 tping 100 10 1.1.4.2 vrf v1 sou sdn4 r1 tping 100 10 1234:4::2 vrf v1 sou sdn4 r3 tping 100 10 1.1.1.2 vrf v1 sou eth1 r3 tping 100 10 1234:1::2 vrf v1 sou eth1 r3 tping 100 10 1.1.2.2 vrf v1 sou eth1 r3 tping 100 10 1234:2::2 vrf v1 sou eth1 r3 tping 100 10 1.1.3.2 vrf v1 sou eth1 r3 tping 100 10 1234:3::2 vrf v1 sou eth1 r3 tping 100 10 1.1.4.2 vrf v1 sou eth1 r3 tping 100 10 1234:4::2 vrf v1 sou eth1 r4 tping 100 10 1.1.1.2 vrf v1 sou eth1 r4 tping 100 10 1234:1::2 vrf v1 sou eth1 r4 tping 100 10 1.1.2.2 vrf v1 sou eth1 r4 tping 100 10 1234:2::2 vrf v1 sou eth1 r4 tping 100 10 1.1.3.2 vrf v1 sou eth1 r4 tping 100 10 1234:3::2 vrf v1 sou eth1 r4 tping 100 10 1.1.4.2 vrf v1 sou eth1 r4 tping 100 10 1234:4::2 vrf v1 sou eth1 r5 tping 100 10 1.1.1.2 vrf v1 sou eth1 r5 tping 100 10 1234:1::2 vrf v1 sou eth1 r5 tping 100 10 1.1.2.2 vrf v1 sou eth1 r5 tping 100 10 1234:2::2 vrf v1 sou eth1 r5 tping 100 10 1.1.3.2 vrf v1 sou eth1 r5 tping 100 10 1234:3::2 vrf v1 sou eth1 r5 tping 100 10 1.1.4.2 vrf v1 sou eth1 r5 tping 100 10 1234:4::2 vrf v1 sou eth1 r6 tping 100 10 1.1.1.2 vrf v1 sou eth1 r6 tping 100 10 1234:1::2 vrf v1 sou eth1 r6 tping 100 10 1.1.2.2 vrf v1 sou eth1 r6 tping 100 10 1234:2::2 vrf v1 sou eth1 r6 tping 100 10 1.1.3.2 vrf v1 sou eth1 r6 tping 100 10 1234:3::2 vrf v1 sou eth1 r6 tping 100 10 1.1.4.2 vrf v1 sou eth1 r6 tping 100 10 1234:4::2 vrf v1 sou eth1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.203 vrf v1 sou lo0 r1 tping 100 10 4321::203 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.203 vrf v1 sou lo0 r3 tping 100 10 4321::203 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.203 vrf v1 sou lo0 r4 tping 100 10 4321::203 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.203 vrf v1 sou lo0 r5 tping 100 10 4321::203 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.203 vrf v1 sou lo0 r6 tping 100 10 4321::203 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.203 vrf v1 sou lo0 r1 dping sdn . r6 4321::203 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout177.tst000066400000000000000000000263031510423065500172150ustar00rootroot00000000000000description p4lang: policy routing to p2p te over mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit router lsrp4 1 vrf v1 router 4.4.4.1 justadvert lo0 exit router lsrp6 1 vrf v1 router 6.6.6.1 justadvert lo0 exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls rsvp4 mpls rsvp6 router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls rsvp4 mpls rsvp6 router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls rsvp4 mpls rsvp6 router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls rsvp4 mpls rsvp6 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.11.1 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::103 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:11::1 ffff:ffff:: exit int tun21 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.12.1 255.255.255.0 exit int tun22 tun sou lo0 tun dest 4321::104 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:12::1 ffff:ffff:: exit int tun31 tun sou lo0 tun dest 2.2.2.105 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.13.1 255.255.255.0 exit int tun32 tun sou lo0 tun dest 4321::105 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:13::1 ffff:ffff:: exit int tun41 tun sou lo0 tun dest 2.2.2.106 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.14.1 255.255.255.0 exit int tun42 tun sou lo0 tun dest 4321::106 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:14::1 ffff:ffff:: exit access-list a2b4 permit all 2.2.2.0 255.255.255.0 all 2.2.2.203 255.255.255.255 all exit access-list a2b6 permit all 4321:: ffff:ffff:ffff:ffff:: all 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit ipv4 pbr v1 a2b4 v1 next 1.1.11.2 ipv6 pbr v1 a2b6 v1 next 1234:11::2 server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun11 dynamic export-port tun12 dynamic export-port tun21 dynamic export-port tun22 dynamic export-port tun31 dynamic export-port tun32 dynamic export-port tun41 dynamic export-port tun42 dynamic vrf v9 exit ! addother r2 controller r1 v9 9080 - feature mpls pbr int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.3 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.3 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.11.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:11::2 ffff:ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit router lsrp4 1 vrf v1 router 4.4.4.4 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.4 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.12.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:12::2 ffff:ffff:: exit ipv4 route v1 2.2.2.203 255.255.255.255 1.1.12.1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit router lsrp4 1 vrf v1 router 4.4.4.5 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.5 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.13.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:13::2 ffff:ffff:: exit ipv4 route v1 2.2.2.203 255.255.255.255 1.1.13.1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit router lsrp4 1 vrf v1 router 4.4.4.6 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.6 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod p2pte vrf for v1 ipv4 addr 1.1.14.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod p2pte vrf for v1 ipv6 addr 1234:14::2 ffff:ffff:: exit ipv4 route v1 2.2.2.203 255.255.255.255 1.1.14.1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ! r1 tping 100 10 1.1.1.2 vrf v1 sou sdn1 r1 tping 100 10 1234:1::2 vrf v1 sou sdn1 r1 tping 100 10 1.1.2.2 vrf v1 sou sdn2 r1 tping 100 10 1234:2::2 vrf v1 sou sdn2 r1 tping 100 10 1.1.3.2 vrf v1 sou sdn3 r1 tping 100 10 1234:3::2 vrf v1 sou sdn3 r1 tping 100 10 1.1.4.2 vrf v1 sou sdn4 r1 tping 100 10 1234:4::2 vrf v1 sou sdn4 r3 tping 100 10 1.1.1.2 vrf v1 sou eth1 r3 tping 100 10 1234:1::2 vrf v1 sou eth1 r3 tping 100 10 1.1.2.2 vrf v1 sou eth1 r3 tping 100 10 1234:2::2 vrf v1 sou eth1 r3 tping 100 10 1.1.3.2 vrf v1 sou eth1 r3 tping 100 10 1234:3::2 vrf v1 sou eth1 r3 tping 100 10 1.1.4.2 vrf v1 sou eth1 r3 tping 100 10 1234:4::2 vrf v1 sou eth1 r4 tping 100 10 1.1.1.2 vrf v1 sou eth1 r4 tping 100 10 1234:1::2 vrf v1 sou eth1 r4 tping 100 10 1.1.2.2 vrf v1 sou eth1 r4 tping 100 10 1234:2::2 vrf v1 sou eth1 r4 tping 100 10 1.1.3.2 vrf v1 sou eth1 r4 tping 100 10 1234:3::2 vrf v1 sou eth1 r4 tping 100 10 1.1.4.2 vrf v1 sou eth1 r4 tping 100 10 1234:4::2 vrf v1 sou eth1 r5 tping 100 10 1.1.1.2 vrf v1 sou eth1 r5 tping 100 10 1234:1::2 vrf v1 sou eth1 r5 tping 100 10 1.1.2.2 vrf v1 sou eth1 r5 tping 100 10 1234:2::2 vrf v1 sou eth1 r5 tping 100 10 1.1.3.2 vrf v1 sou eth1 r5 tping 100 10 1234:3::2 vrf v1 sou eth1 r5 tping 100 10 1.1.4.2 vrf v1 sou eth1 r5 tping 100 10 1234:4::2 vrf v1 sou eth1 r6 tping 100 10 1.1.1.2 vrf v1 sou eth1 r6 tping 100 10 1234:1::2 vrf v1 sou eth1 r6 tping 100 10 1.1.2.2 vrf v1 sou eth1 r6 tping 100 10 1234:2::2 vrf v1 sou eth1 r6 tping 100 10 1.1.3.2 vrf v1 sou eth1 r6 tping 100 10 1234:3::2 vrf v1 sou eth1 r6 tping 100 10 1.1.4.2 vrf v1 sou eth1 r6 tping 100 10 1234:4::2 vrf v1 sou eth1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.203 vrf v1 sou lo0 r1 tping 100 10 4321::203 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.203 vrf v1 sou lo0 r3 tping 100 10 4321::203 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.203 vrf v1 sou lo0 r4 tping 100 10 4321::203 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.203 vrf v1 sou lo0 r5 tping 100 10 4321::203 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.203 vrf v1 sou lo0 r6 tping 100 10 4321::203 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.203 vrf v1 sou lo0 r1 dping sdn . r6 4321::203 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout178.tst000066400000000000000000000277041510423065500172240ustar00rootroot00000000000000description p4lang: nsh addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena nsh ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena nsh ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena nsh ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena nsh ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit nsh 1001 122 rou v1 nsh 1003 122 int sdn1 0000.0000.3333 nsh 1004 122 int sdn2 0000.0000.4444 nsh 1005 122 int sdn3 0000.0000.5555 nsh 1006 122 rou v1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route nsh int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.0 ipv6 addr 4321::103 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: nsh ena exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 access-list test14 permit 1 any all 2.2.2.101 255.255.255.255 all exit access-list test16 permit 58 any all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test34 permit 1 any all 2.2.2.103 255.255.255.255 all exit access-list test36 permit 58 any all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test44 permit 1 any all 2.2.2.104 255.255.255.255 all exit access-list test46 permit 58 any all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test54 permit 1 any all 2.2.2.105 255.255.255.255 all exit access-list test56 permit 58 any all 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test64 permit 1 any all 2.2.2.106 255.255.255.255 all exit access-list test66 permit 58 any all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit nsh 1001 123 int eth1 0000.0000.1111 nsh 1003 121 rou v1 nsh 1004 123 int eth1 0000.0000.1111 nsh 1005 123 int eth1 0000.0000.1111 nsh 1006 123 int eth1 0000.0000.1111 ipv4 pbr v1 test14 v1 nsh 1001 123 ipv6 pbr v1 test16 v1 nsh 1001 123 ipv4 pbr v1 test44 v1 nsh 1004 123 ipv6 pbr v1 test46 v1 nsh 1004 123 ipv4 pbr v1 test54 v1 nsh 1005 123 ipv6 pbr v1 test56 v1 nsh 1005 123 ipv4 pbr v1 test64 v1 nsh 1006 123 ipv6 pbr v1 test66 v1 nsh 1006 123 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.0 ipv6 addr 4321::104 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: nsh ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 access-list test14 permit 1 any all 2.2.2.101 255.255.255.255 all exit access-list test16 permit 58 any all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test34 permit 1 any all 2.2.2.103 255.255.255.255 all exit access-list test36 permit 58 any all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test44 permit 1 any all 2.2.2.104 255.255.255.255 all exit access-list test46 permit 58 any all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test54 permit 1 any all 2.2.2.105 255.255.255.255 all exit access-list test56 permit 58 any all 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test64 permit 1 any all 2.2.2.106 255.255.255.255 all exit access-list test66 permit 58 any all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit nsh 1001 123 int eth1 0000.0000.1111 nsh 1003 123 int eth1 0000.0000.1111 nsh 1004 121 rou v1 nsh 1005 123 int eth1 0000.0000.1111 nsh 1006 123 int eth1 0000.0000.1111 ipv4 pbr v1 test14 v1 nsh 1001 123 ipv6 pbr v1 test16 v1 nsh 1001 123 ipv4 pbr v1 test34 v1 nsh 1003 123 ipv6 pbr v1 test36 v1 nsh 1003 123 ipv4 pbr v1 test54 v1 nsh 1005 123 ipv6 pbr v1 test56 v1 nsh 1005 123 ipv4 pbr v1 test64 v1 nsh 1006 123 ipv6 pbr v1 test66 v1 nsh 1006 123 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.0 ipv6 addr 4321::105 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: nsh ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 access-list test14 permit 1 any all 2.2.2.101 255.255.255.255 all exit access-list test16 permit 58 any all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test34 permit 1 any all 2.2.2.103 255.255.255.255 all exit access-list test36 permit 58 any all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test44 permit 1 any all 2.2.2.104 255.255.255.255 all exit access-list test46 permit 58 any all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test54 permit 1 any all 2.2.2.105 255.255.255.255 all exit access-list test56 permit 58 any all 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test64 permit 1 any all 2.2.2.106 255.255.255.255 all exit access-list test66 permit 58 any all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit nsh 1001 123 int eth1 0000.0000.1111 nsh 1003 123 int eth1 0000.0000.1111 nsh 1004 123 int eth1 0000.0000.1111 nsh 1005 121 rou v1 nsh 1006 123 int eth1 0000.0000.1111 ipv4 pbr v1 test14 v1 nsh 1001 123 ipv6 pbr v1 test16 v1 nsh 1001 123 ipv4 pbr v1 test34 v1 nsh 1004 123 ipv6 pbr v1 test36 v1 nsh 1004 123 ipv4 pbr v1 test44 v1 nsh 1004 123 ipv6 pbr v1 test46 v1 nsh 1004 123 ipv4 pbr v1 test64 v1 nsh 1006 123 ipv6 pbr v1 test66 v1 nsh 1006 123 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.0 ipv6 addr 4321::106 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: nsh ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 access-list test14 permit 1 any all 2.2.2.101 255.255.255.255 all exit access-list test16 permit 58 any all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test34 permit 1 any all 2.2.2.103 255.255.255.255 all exit access-list test36 permit 58 any all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test44 permit 1 any all 2.2.2.104 255.255.255.255 all exit access-list test46 permit 58 any all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test54 permit 1 any all 2.2.2.105 255.255.255.255 all exit access-list test56 permit 58 any all 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test64 permit 1 any all 2.2.2.106 255.255.255.255 all exit access-list test66 permit 58 any all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit nsh 1001 123 int eth1 0000.0000.1111 nsh 1003 123 int eth1 0000.0000.1111 nsh 1004 123 int eth1 0000.0000.1111 nsh 1005 123 int eth1 0000.0000.1111 ipv4 pbr v1 test14 v1 nsh 1001 123 ipv6 pbr v1 test16 v1 nsh 1001 123 ipv4 pbr v1 test34 v1 nsh 1004 123 ipv6 pbr v1 test36 v1 nsh 1004 123 ipv4 pbr v1 test44 v1 nsh 1004 123 ipv6 pbr v1 test46 v1 nsh 1004 123 ipv4 pbr v1 test54 v1 nsh 1005 123 ipv6 pbr v1 test56 v1 nsh 1005 123 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 2.2.2.101 vrf v1 sou eth1 r3 tping 100 10 4321::101 vrf v1 sou eth1 r3 tping 100 10 2.2.2.103 vrf v1 sou eth1 r3 tping 100 10 4321::103 vrf v1 sou eth1 r3 tping 100 10 2.2.2.104 vrf v1 sou eth1 r3 tping 100 10 4321::104 vrf v1 sou eth1 r3 tping 100 10 2.2.2.105 vrf v1 sou eth1 r3 tping 100 10 4321::105 vrf v1 sou eth1 r3 tping 100 10 2.2.2.106 vrf v1 sou eth1 r3 tping 100 10 4321::106 vrf v1 sou eth1 r4 tping 100 10 2.2.2.101 vrf v1 sou eth1 r4 tping 100 10 4321::101 vrf v1 sou eth1 r4 tping 100 10 2.2.2.103 vrf v1 sou eth1 r4 tping 100 10 4321::103 vrf v1 sou eth1 r4 tping 100 10 2.2.2.104 vrf v1 sou eth1 r4 tping 100 10 4321::104 vrf v1 sou eth1 r4 tping 100 10 2.2.2.105 vrf v1 sou eth1 r4 tping 100 10 4321::105 vrf v1 sou eth1 r4 tping 100 10 2.2.2.106 vrf v1 sou eth1 r4 tping 100 10 4321::106 vrf v1 sou eth1 r5 tping 100 10 2.2.2.101 vrf v1 sou eth1 r5 tping 100 10 4321::101 vrf v1 sou eth1 r5 tping 100 10 2.2.2.103 vrf v1 sou eth1 r5 tping 100 10 4321::103 vrf v1 sou eth1 r5 tping 100 10 2.2.2.104 vrf v1 sou eth1 r5 tping 100 10 4321::104 vrf v1 sou eth1 r5 tping 100 10 2.2.2.105 vrf v1 sou eth1 r5 tping 100 10 4321::105 vrf v1 sou eth1 r5 tping 100 10 2.2.2.106 vrf v1 sou eth1 r5 tping 100 10 4321::106 vrf v1 sou eth1 r6 tping 100 10 2.2.2.101 vrf v1 sou eth1 r6 tping 100 10 4321::101 vrf v1 sou eth1 r6 tping 100 10 2.2.2.103 vrf v1 sou eth1 r6 tping 100 10 4321::103 vrf v1 sou eth1 r6 tping 100 10 2.2.2.104 vrf v1 sou eth1 r6 tping 100 10 4321::104 vrf v1 sou eth1 r6 tping 100 10 2.2.2.105 vrf v1 sou eth1 r6 tping 100 10 4321::105 vrf v1 sou eth1 r6 tping 100 10 2.2.2.106 vrf v1 sou eth1 r6 tping 100 10 4321::106 vrf v1 sou eth1 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout179.tst000066400000000000000000000300411510423065500172110ustar00rootroot00000000000000description p4lang: vlan nsh addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena nsh ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena nsh ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena nsh ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena nsh ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit nsh 1001 122 rou v1 nsh 1003 122 int sdn1.111 0000.0000.3333 nsh 1004 122 int sdn2 0000.0000.4444 nsh 1005 122 int sdn3 0000.0000.5555 nsh 1006 122 rou v1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan route nsh int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.0 ipv6 addr 4321::103 ffff:ffff:: exit int eth1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: nsh ena exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 access-list test14 permit 1 any all 2.2.2.101 255.255.255.255 all exit access-list test16 permit 58 any all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test34 permit 1 any all 2.2.2.103 255.255.255.255 all exit access-list test36 permit 58 any all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test44 permit 1 any all 2.2.2.104 255.255.255.255 all exit access-list test46 permit 58 any all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test54 permit 1 any all 2.2.2.105 255.255.255.255 all exit access-list test56 permit 58 any all 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test64 permit 1 any all 2.2.2.106 255.255.255.255 all exit access-list test66 permit 58 any all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit nsh 1001 123 int eth1.111 0000.0000.1111 nsh 1003 121 rou v1 nsh 1004 123 int eth1.111 0000.0000.1111 nsh 1005 123 int eth1.111 0000.0000.1111 nsh 1006 123 int eth1.111 0000.0000.1111 ipv4 pbr v1 test14 v1 nsh 1001 123 ipv6 pbr v1 test16 v1 nsh 1001 123 ipv4 pbr v1 test44 v1 nsh 1004 123 ipv6 pbr v1 test46 v1 nsh 1004 123 ipv4 pbr v1 test54 v1 nsh 1005 123 ipv6 pbr v1 test56 v1 nsh 1005 123 ipv4 pbr v1 test64 v1 nsh 1006 123 ipv6 pbr v1 test66 v1 nsh 1006 123 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.0 ipv6 addr 4321::104 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: nsh ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 access-list test14 permit 1 any all 2.2.2.101 255.255.255.255 all exit access-list test16 permit 58 any all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test34 permit 1 any all 2.2.2.103 255.255.255.255 all exit access-list test36 permit 58 any all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test44 permit 1 any all 2.2.2.104 255.255.255.255 all exit access-list test46 permit 58 any all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test54 permit 1 any all 2.2.2.105 255.255.255.255 all exit access-list test56 permit 58 any all 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test64 permit 1 any all 2.2.2.106 255.255.255.255 all exit access-list test66 permit 58 any all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit nsh 1001 123 int eth1 0000.0000.1111 nsh 1003 123 int eth1 0000.0000.1111 nsh 1004 121 rou v1 nsh 1005 123 int eth1 0000.0000.1111 nsh 1006 123 int eth1 0000.0000.1111 ipv4 pbr v1 test14 v1 nsh 1001 123 ipv6 pbr v1 test16 v1 nsh 1001 123 ipv4 pbr v1 test34 v1 nsh 1003 123 ipv6 pbr v1 test36 v1 nsh 1003 123 ipv4 pbr v1 test54 v1 nsh 1005 123 ipv6 pbr v1 test56 v1 nsh 1005 123 ipv4 pbr v1 test64 v1 nsh 1006 123 ipv6 pbr v1 test66 v1 nsh 1006 123 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.0 ipv6 addr 4321::105 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: nsh ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 access-list test14 permit 1 any all 2.2.2.101 255.255.255.255 all exit access-list test16 permit 58 any all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test34 permit 1 any all 2.2.2.103 255.255.255.255 all exit access-list test36 permit 58 any all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test44 permit 1 any all 2.2.2.104 255.255.255.255 all exit access-list test46 permit 58 any all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test54 permit 1 any all 2.2.2.105 255.255.255.255 all exit access-list test56 permit 58 any all 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test64 permit 1 any all 2.2.2.106 255.255.255.255 all exit access-list test66 permit 58 any all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit nsh 1001 123 int eth1 0000.0000.1111 nsh 1003 123 int eth1 0000.0000.1111 nsh 1004 123 int eth1 0000.0000.1111 nsh 1005 121 rou v1 nsh 1006 123 int eth1 0000.0000.1111 ipv4 pbr v1 test14 v1 nsh 1001 123 ipv6 pbr v1 test16 v1 nsh 1001 123 ipv4 pbr v1 test34 v1 nsh 1004 123 ipv6 pbr v1 test36 v1 nsh 1004 123 ipv4 pbr v1 test44 v1 nsh 1004 123 ipv6 pbr v1 test46 v1 nsh 1004 123 ipv4 pbr v1 test64 v1 nsh 1006 123 ipv6 pbr v1 test66 v1 nsh 1006 123 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.0 ipv6 addr 4321::106 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: nsh ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 access-list test14 permit 1 any all 2.2.2.101 255.255.255.255 all exit access-list test16 permit 58 any all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test34 permit 1 any all 2.2.2.103 255.255.255.255 all exit access-list test36 permit 58 any all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test44 permit 1 any all 2.2.2.104 255.255.255.255 all exit access-list test46 permit 58 any all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test54 permit 1 any all 2.2.2.105 255.255.255.255 all exit access-list test56 permit 58 any all 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test64 permit 1 any all 2.2.2.106 255.255.255.255 all exit access-list test66 permit 58 any all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit nsh 1001 123 int eth1 0000.0000.1111 nsh 1003 123 int eth1 0000.0000.1111 nsh 1004 123 int eth1 0000.0000.1111 nsh 1005 123 int eth1 0000.0000.1111 ipv4 pbr v1 test14 v1 nsh 1001 123 ipv6 pbr v1 test16 v1 nsh 1001 123 ipv4 pbr v1 test34 v1 nsh 1004 123 ipv6 pbr v1 test36 v1 nsh 1004 123 ipv4 pbr v1 test44 v1 nsh 1004 123 ipv6 pbr v1 test46 v1 nsh 1004 123 ipv4 pbr v1 test54 v1 nsh 1005 123 ipv6 pbr v1 test56 v1 nsh 1005 123 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 2.2.2.101 vrf v1 sou eth1.111 r3 tping 100 10 4321::101 vrf v1 sou eth1.111 r3 tping 100 10 2.2.2.103 vrf v1 sou eth1.111 r3 tping 100 10 4321::103 vrf v1 sou eth1.111 r3 tping 100 10 2.2.2.104 vrf v1 sou eth1.111 r3 tping 100 10 4321::104 vrf v1 sou eth1.111 r3 tping 100 10 2.2.2.105 vrf v1 sou eth1.111 r3 tping 100 10 4321::105 vrf v1 sou eth1.111 r3 tping 100 10 2.2.2.106 vrf v1 sou eth1.111 r3 tping 100 10 4321::106 vrf v1 sou eth1.111 r4 tping 100 10 2.2.2.101 vrf v1 sou eth1 r4 tping 100 10 4321::101 vrf v1 sou eth1 r4 tping 100 10 2.2.2.103 vrf v1 sou eth1 r4 tping 100 10 4321::103 vrf v1 sou eth1 r4 tping 100 10 2.2.2.104 vrf v1 sou eth1 r4 tping 100 10 4321::104 vrf v1 sou eth1 r4 tping 100 10 2.2.2.105 vrf v1 sou eth1 r4 tping 100 10 4321::105 vrf v1 sou eth1 r4 tping 100 10 2.2.2.106 vrf v1 sou eth1 r4 tping 100 10 4321::106 vrf v1 sou eth1 r5 tping 100 10 2.2.2.101 vrf v1 sou eth1 r5 tping 100 10 4321::101 vrf v1 sou eth1 r5 tping 100 10 2.2.2.103 vrf v1 sou eth1 r5 tping 100 10 4321::103 vrf v1 sou eth1 r5 tping 100 10 2.2.2.104 vrf v1 sou eth1 r5 tping 100 10 4321::104 vrf v1 sou eth1 r5 tping 100 10 2.2.2.105 vrf v1 sou eth1 r5 tping 100 10 4321::105 vrf v1 sou eth1 r5 tping 100 10 2.2.2.106 vrf v1 sou eth1 r5 tping 100 10 4321::106 vrf v1 sou eth1 r6 tping 100 10 2.2.2.101 vrf v1 sou eth1 r6 tping 100 10 4321::101 vrf v1 sou eth1 r6 tping 100 10 2.2.2.103 vrf v1 sou eth1 r6 tping 100 10 4321::103 vrf v1 sou eth1 r6 tping 100 10 2.2.2.104 vrf v1 sou eth1 r6 tping 100 10 4321::104 vrf v1 sou eth1 r6 tping 100 10 2.2.2.105 vrf v1 sou eth1 r6 tping 100 10 4321::105 vrf v1 sou eth1 r6 tping 100 10 2.2.2.106 vrf v1 sou eth1 r6 tping 100 10 4321::106 vrf v1 sou eth1 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout180.tst000066400000000000000000000354111510423065500172070ustar00rootroot00000000000000description p4lang: polka addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 pop justadvert lo0 exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 pop justadvert lo0 exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.11.1 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::103 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:11::1 ffff:ffff:: exit int tun21 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.12.1 255.255.255.0 exit int tun22 tun sou lo0 tun dest 4321::104 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:12::1 ffff:ffff:: exit int tun31 tun sou lo0 tun dest 2.2.2.105 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.13.1 255.255.255.0 exit int tun32 tun sou lo0 tun dest 4321::105 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:13::1 ffff:ffff:: exit int tun41 tun sou lo0 tun dest 2.2.2.106 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.14.1 255.255.255.0 exit int tun42 tun sou lo0 tun dest 4321::106 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:14::1 ffff:ffff:: exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun11 dynamic export-port tun12 dynamic export-port tun21 dynamic export-port tun22 dynamic export-port tun31 dynamic export-port tun32 dynamic export-port tun41 dynamic export-port tun42 dynamic vrf v9 exit ipv4 route v1 2.2.2.203 255.255.255.255 1.1.11.2 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.12.2 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.13.2 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.14.2 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::2 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::2 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::2 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::2 ! addother r2 controller r1 v9 9080 - feature polka int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.11.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:11::2 ffff:ffff:: exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.11.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.204 255.255.255.255 ipv6 addr 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 4 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.12.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:12::2 ffff:ffff:: exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.12.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.205 255.255.255.255 ipv6 addr 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.5 segrout 10 5 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.5 segrout 10 5 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable polka enable 5 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.13.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:13::2 ffff:ffff:: exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.13.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.206 255.255.255.255 ipv6 addr 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.6 segrout 10 6 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.6 segrout 10 6 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable polka enable 6 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.105 tun domain 2.2.2.101 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.14.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::105 tun domain 4321::101 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:14::2 ffff:ffff:: exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.14.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.201 vrf v1 sou lo1 r1 tping 100 10 4321::201 vrf v1 sou lo1 r1 tping 100 10 2.2.2.203 vrf v1 sou lo1 r1 tping 100 10 4321::203 vrf v1 sou lo1 r1 tping 100 10 2.2.2.204 vrf v1 sou lo1 r1 tping 100 10 4321::204 vrf v1 sou lo1 r1 tping 100 10 2.2.2.205 vrf v1 sou lo1 r1 tping 100 10 4321::205 vrf v1 sou lo1 r1 tping 100 10 2.2.2.206 vrf v1 sou lo1 r1 tping 100 10 4321::206 vrf v1 sou lo1 r3 tping 100 10 2.2.2.201 vrf v1 sou lo1 r3 tping 100 10 4321::201 vrf v1 sou lo1 r3 tping 100 10 2.2.2.203 vrf v1 sou lo1 r3 tping 100 10 4321::203 vrf v1 sou lo1 r3 tping 100 10 2.2.2.204 vrf v1 sou lo1 r3 tping 100 10 4321::204 vrf v1 sou lo1 r3 tping 100 10 2.2.2.205 vrf v1 sou lo1 r3 tping 100 10 4321::205 vrf v1 sou lo1 r3 tping 100 10 2.2.2.206 vrf v1 sou lo1 r3 tping 100 10 4321::206 vrf v1 sou lo1 r4 tping 100 10 2.2.2.201 vrf v1 sou lo1 r4 tping 100 10 4321::201 vrf v1 sou lo1 r4 tping 100 10 2.2.2.203 vrf v1 sou lo1 r4 tping 100 10 4321::203 vrf v1 sou lo1 r4 tping 100 10 2.2.2.204 vrf v1 sou lo1 r4 tping 100 10 4321::204 vrf v1 sou lo1 r4 tping 100 10 2.2.2.205 vrf v1 sou lo1 r4 tping 100 10 4321::205 vrf v1 sou lo1 r4 tping 100 10 2.2.2.206 vrf v1 sou lo1 r4 tping 100 10 4321::206 vrf v1 sou lo1 r5 tping 100 10 2.2.2.201 vrf v1 sou lo1 r5 tping 100 10 4321::201 vrf v1 sou lo1 r5 tping 100 10 2.2.2.203 vrf v1 sou lo1 r5 tping 100 10 4321::203 vrf v1 sou lo1 r5 tping 100 10 2.2.2.204 vrf v1 sou lo1 r5 tping 100 10 4321::204 vrf v1 sou lo1 r5 tping 100 10 2.2.2.205 vrf v1 sou lo1 r5 tping 100 10 4321::205 vrf v1 sou lo1 r5 tping 100 10 2.2.2.206 vrf v1 sou lo1 r5 tping 100 10 4321::206 vrf v1 sou lo1 r6 tping 100 10 2.2.2.201 vrf v1 sou lo1 r6 tping 100 10 4321::201 vrf v1 sou lo1 r6 tping 100 10 2.2.2.203 vrf v1 sou lo1 r6 tping 100 10 4321::203 vrf v1 sou lo1 r6 tping 100 10 2.2.2.204 vrf v1 sou lo1 r6 tping 100 10 4321::204 vrf v1 sou lo1 r6 tping 100 10 2.2.2.205 vrf v1 sou lo1 r6 tping 100 10 4321::205 vrf v1 sou lo1 r6 tping 100 10 2.2.2.206 vrf v1 sou lo1 r6 tping 100 10 4321::206 vrf v1 sou lo1 r1 dping sdn . r6 2.2.2.205 vrf v1 sou lo1 r1 dping sdn . r6 4321::205 vrf v1 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout181.tst000066400000000000000000000354521510423065500172150ustar00rootroot00000000000000description p4lang: vlan polka addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 pop justadvert lo0 exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 pop justadvert lo0 exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.11.1 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::103 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:11::1 ffff:ffff:: exit int tun21 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.12.1 255.255.255.0 exit int tun22 tun sou lo0 tun dest 4321::104 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:12::1 ffff:ffff:: exit int tun31 tun sou lo0 tun dest 2.2.2.105 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.13.1 255.255.255.0 exit int tun32 tun sou lo0 tun dest 4321::105 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:13::1 ffff:ffff:: exit int tun41 tun sou lo0 tun dest 2.2.2.106 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.14.1 255.255.255.0 exit int tun42 tun sou lo0 tun dest 4321::106 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:14::1 ffff:ffff:: exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun11 dynamic export-port tun12 dynamic export-port tun21 dynamic export-port tun22 dynamic export-port tun31 dynamic export-port tun32 dynamic export-port tun41 dynamic export-port tun42 dynamic vrf v9 exit ipv4 route v1 2.2.2.203 255.255.255.255 1.1.11.2 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.12.2 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.13.2 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.14.2 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::2 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::2 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::2 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::2 ! addother r2 controller r1 v9 9080 - feature vlan polka int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 justadvert lo0 justadvert eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.11.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:11::2 ffff:ffff:: exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.11.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.204 255.255.255.255 ipv6 addr 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 4 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.12.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:12::2 ffff:ffff:: exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.12.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.205 255.255.255.255 ipv6 addr 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.5 segrout 10 5 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.5 segrout 10 5 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable polka enable 5 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.13.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:13::2 ffff:ffff:: exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.13.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.206 255.255.255.255 ipv6 addr 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.6 segrout 10 6 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.6 segrout 10 6 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable polka enable 6 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.105 tun domain 2.2.2.101 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.14.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::105 tun domain 4321::101 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:14::2 ffff:ffff:: exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.14.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.201 vrf v1 sou lo1 r1 tping 100 10 4321::201 vrf v1 sou lo1 r1 tping 100 10 2.2.2.203 vrf v1 sou lo1 r1 tping 100 10 4321::203 vrf v1 sou lo1 r1 tping 100 10 2.2.2.204 vrf v1 sou lo1 r1 tping 100 10 4321::204 vrf v1 sou lo1 r1 tping 100 10 2.2.2.205 vrf v1 sou lo1 r1 tping 100 10 4321::205 vrf v1 sou lo1 r1 tping 100 10 2.2.2.206 vrf v1 sou lo1 r1 tping 100 10 4321::206 vrf v1 sou lo1 r3 tping 100 10 2.2.2.201 vrf v1 sou lo1 r3 tping 100 10 4321::201 vrf v1 sou lo1 r3 tping 100 10 2.2.2.203 vrf v1 sou lo1 r3 tping 100 10 4321::203 vrf v1 sou lo1 r3 tping 100 10 2.2.2.204 vrf v1 sou lo1 r3 tping 100 10 4321::204 vrf v1 sou lo1 r3 tping 100 10 2.2.2.205 vrf v1 sou lo1 r3 tping 100 10 4321::205 vrf v1 sou lo1 r3 tping 100 10 2.2.2.206 vrf v1 sou lo1 r3 tping 100 10 4321::206 vrf v1 sou lo1 r4 tping 100 10 2.2.2.201 vrf v1 sou lo1 r4 tping 100 10 4321::201 vrf v1 sou lo1 r4 tping 100 10 2.2.2.203 vrf v1 sou lo1 r4 tping 100 10 4321::203 vrf v1 sou lo1 r4 tping 100 10 2.2.2.204 vrf v1 sou lo1 r4 tping 100 10 4321::204 vrf v1 sou lo1 r4 tping 100 10 2.2.2.205 vrf v1 sou lo1 r4 tping 100 10 4321::205 vrf v1 sou lo1 r4 tping 100 10 2.2.2.206 vrf v1 sou lo1 r4 tping 100 10 4321::206 vrf v1 sou lo1 r5 tping 100 10 2.2.2.201 vrf v1 sou lo1 r5 tping 100 10 4321::201 vrf v1 sou lo1 r5 tping 100 10 2.2.2.203 vrf v1 sou lo1 r5 tping 100 10 4321::203 vrf v1 sou lo1 r5 tping 100 10 2.2.2.204 vrf v1 sou lo1 r5 tping 100 10 4321::204 vrf v1 sou lo1 r5 tping 100 10 2.2.2.205 vrf v1 sou lo1 r5 tping 100 10 4321::205 vrf v1 sou lo1 r5 tping 100 10 2.2.2.206 vrf v1 sou lo1 r5 tping 100 10 4321::206 vrf v1 sou lo1 r6 tping 100 10 2.2.2.201 vrf v1 sou lo1 r6 tping 100 10 4321::201 vrf v1 sou lo1 r6 tping 100 10 2.2.2.203 vrf v1 sou lo1 r6 tping 100 10 4321::203 vrf v1 sou lo1 r6 tping 100 10 2.2.2.204 vrf v1 sou lo1 r6 tping 100 10 4321::204 vrf v1 sou lo1 r6 tping 100 10 2.2.2.205 vrf v1 sou lo1 r6 tping 100 10 4321::205 vrf v1 sou lo1 r6 tping 100 10 2.2.2.206 vrf v1 sou lo1 r6 tping 100 10 4321::206 vrf v1 sou lo1 r1 dping sdn . r6 2.2.2.205 vrf v1 sou lo1 r1 dping sdn . r6 4321::205 vrf v1 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout182.tst000066400000000000000000000210341510423065500172050ustar00rootroot00000000000000description p4lang: mpolka core addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 pop justadvert lo0 exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 pop justadvert lo0 exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ! addother r2 controller r1 v9 9080 - feature mpolka int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.101 2.2.2.104 2.2.2.105 2.2.2.106 , 2.2.2.104 2.2.2.104 , 2.2.2.105 2.2.2.105 , 2.2.2.106 2.2.2.106 , tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::101 4321::104 4321::105 4321::106 , 4321::104 4321::104 , 4321::105 4321::105 , 4321::106 4321::106 , tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 ipv6 address 3333::1 ffff:ffff:: exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 4 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 ipv6 address 3333::1 ffff:ffff:: exit router lsrp4 1 vrf v1 router 4.4.4.5 segrout 10 5 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.5 segrout 10 5 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable polka enable 5 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 ipv6 address 3333::1 ffff:ffff:: exit router lsrp4 1 vrf v1 router 4.4.4.6 segrout 10 6 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.6 segrout 10 6 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable polka enable 6 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 300 5 3.3.3.1 vrf v1 sou lo0 multi r3 tping 300 5 3333::1 vrf v1 sou lo0 multi r1 dping sdn . r3 3.3.3.1 vrf v1 sou lo0 r1 dping sdn . r3 3333::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout183.tst000066400000000000000000000210751510423065500172130ustar00rootroot00000000000000description p4lang: mpolka vlan core addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 pop justadvert lo0 exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 pop justadvert lo0 exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 exit int sdn3.111 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ! addother r2 controller r1 v9 9080 - feature vlan mpolka int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.101 2.2.2.104 2.2.2.105 2.2.2.106 , 2.2.2.104 2.2.2.104 , 2.2.2.105 2.2.2.105 , 2.2.2.106 2.2.2.106 , tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::101 4321::104 4321::105 4321::106 , 4321::104 4321::104 , 4321::105 4321::105 , 4321::106 4321::106 , tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 ipv6 address 3333::1 ffff:ffff:: exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 4 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 ipv6 address 3333::1 ffff:ffff:: exit router lsrp4 1 vrf v1 router 4.4.4.5 segrout 10 5 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.5 segrout 10 5 justadvert lo0 justadvert eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable polka enable 5 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 ipv6 address 3333::1 ffff:ffff:: exit router lsrp4 1 vrf v1 router 4.4.4.6 segrout 10 6 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.6 segrout 10 6 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable polka enable 6 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 300 5 3.3.3.1 vrf v1 sou lo0 multi r3 tping 300 5 3333::1 vrf v1 sou lo0 multi r1 dping sdn . r3 3.3.3.1 vrf v1 sou lo0 r1 dping sdn . r3 3333::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout184.tst000066400000000000000000000210131510423065500172040ustar00rootroot00000000000000description p4lang: mpolka edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 pop justadvert lo0 exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 pop justadvert lo0 exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ! addother r2 controller r1 v9 9080 - feature mpolka int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.101 2.2.2.101 2.2.2.104 2.2.2.105 , 2.2.2.104 2.2.2.104 , 2.2.2.105 2.2.2.105 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::101 4321::101 4321::104 4321::105 , 4321::104 4321::104 , 4321::105 4321::105 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 ipv6 address 3333::1 ffff:ffff:: exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 4 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 ipv6 address 3333::1 ffff:ffff:: exit router lsrp4 1 vrf v1 router 4.4.4.5 segrout 10 5 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.5 segrout 10 5 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable polka enable 5 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 ipv6 address 3333::1 ffff:ffff:: exit router lsrp4 1 vrf v1 router 4.4.4.6 segrout 10 6 justadvert lo0 justadvert lo1 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.6 segrout 10 6 justadvert lo0 justadvert lo1 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable polka enable 6 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 300 5 3.3.3.1 vrf v1 sou lo0 multi r3 tping 300 5 3333::1 vrf v1 sou lo0 multi r1 dping sdn . r3 3.3.3.1 vrf v1 sou lo0 r1 dping sdn . r3 3333::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout185.tst000066400000000000000000000210541510423065500172120ustar00rootroot00000000000000description p4lang: mpolka vlan edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 pop justadvert lo0 exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 pop justadvert lo0 exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 exit int sdn3.111 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ! addother r2 controller r1 v9 9080 - feature vlan mpolka int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.101 2.2.2.101 2.2.2.104 2.2.2.105 , 2.2.2.104 2.2.2.104 , 2.2.2.105 2.2.2.105 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::3 tunnel domain-name 4321::101 4321::101 4321::104 4321::105 , 4321::104 4321::104 , 4321::105 4321::105 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 ipv6 address 3333::1 ffff:ffff:: exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 4 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 ipv6 address 3333::1 ffff:ffff:: exit router lsrp4 1 vrf v1 router 4.4.4.5 segrout 10 5 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.5 segrout 10 5 justadvert lo0 justadvert eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable polka enable 5 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 ipv6 address 3333::1 ffff:ffff:: exit router lsrp4 1 vrf v1 router 4.4.4.6 segrout 10 6 justadvert lo0 justadvert lo1 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.6 segrout 10 6 justadvert lo0 justadvert lo1 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable polka enable 6 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 300 5 3.3.3.1 vrf v1 sou lo0 multi r3 tping 300 5 3333::1 vrf v1 sou lo0 multi r1 dping sdn . r3 3.3.3.1 vrf v1 sou lo0 r1 dping sdn . r3 3333::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout186.tst000066400000000000000000000237671510423065500172300ustar00rootroot00000000000000description p4lang: gtp server over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit ipv4 pool p4 1.1.1.2 0.0.0.1 1 ipv6 pool p6 1234:1::2 ::1 1 int di1 enc iponly vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv4 pool p4 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 pool p6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server gtp gtp clone di1 vrf v2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gtp route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun sou bvi1 tun vrf v2 tun dest 9.9.9.1 tun mod gtp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout187.tst000066400000000000000000000237751510423065500172300ustar00rootroot00000000000000description p4lang: gtp server over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit ipv4 pool p4 1.1.1.2 0.0.0.1 1 ipv6 pool p6 1234:1::2 ::1 1 int di1 enc iponly vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv4 pool p4 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 pool p6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server gtp gtp clone di1 vrf v2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gtp route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int tun1 tun sou bvi1 tun vrf v2 tun dest 9999::1 tun mod gtp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout188.tst000066400000000000000000000244231510423065500172200ustar00rootroot00000000000000description p4lang: gtp server over ipv4 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit ipv4 pool p4 1.1.1.2 0.0.0.1 1 ipv6 pool p6 1234:1::2 ::1 1 int di1 enc iponly vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv4 pool p4 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 pool p6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server gtp gtp clone di1 vrf v2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gtp route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit int tun1 tun sou lo1 tun vrf v2 tun dest 8.8.8.1 tun mod gtp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout189.tst000066400000000000000000000246031510423065500172210ustar00rootroot00000000000000description p4lang: gtp server over ipv6 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 ena exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit ipv4 pool p4 1.1.1.2 0.0.0.1 1 ipv6 pool p6 1234:1::2 ::1 1 int di1 enc iponly vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv4 pool p4 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 pool p6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server gtp gtp clone di1 vrf v2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gtp route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int tun1 tun sou lo1 tun vrf v2 tun dest 8888::1 tun mod gtp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 8888::2 vrf v2 r3 tping 100 10 8888::1 vrf v2 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout190.tst000066400000000000000000000155161510423065500172140ustar00rootroot00000000000000description p4lang: bundle mpls pop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature bundle mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout191.tst000066400000000000000000000155361510423065500172170ustar00rootroot00000000000000description p4lang: bundle vlan mpls pop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.11 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature bundle vlan mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.11 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout192.tst000066400000000000000000000226231510423065500172130ustar00rootroot00000000000000description p4lang: pppoe mpls pop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int di1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 p2poe client di1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pppoe mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth1 p2poe relay di1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout193.tst000066400000000000000000000234261510423065500172160ustar00rootroot00000000000000description p4lang: gre mpls pop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout194.tst000066400000000000000000000233621510423065500172160ustar00rootroot00000000000000description p4lang: l2tp mpls pop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout195.tst000066400000000000000000000155171510423065500172220ustar00rootroot00000000000000description p4lang: bundle mpls push addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature bundle mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout196.tst000066400000000000000000000155371510423065500172250ustar00rootroot00000000000000description p4lang: bundle vlan mpls push addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.11 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature bundle vlan mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.11 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout197.tst000066400000000000000000000226241510423065500172210ustar00rootroot00000000000000description p4lang: pppoe mpls push addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int di1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 p2poe client di1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pppoe mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth1 p2poe relay di1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout198.tst000066400000000000000000000234271510423065500172240ustar00rootroot00000000000000description p4lang: gre mpls push addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout199.tst000066400000000000000000000233631510423065500172240ustar00rootroot00000000000000description p4lang: l2tp mpls push addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout200.tst000066400000000000000000000203331510423065500171750ustar00rootroot00000000000000description p4lang: lpm routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.0 255.255.255.0 1.1.2.2 ipv4 route v1 2.2.0.0 255.255.0.0 1.1.3.2 ipv4 route v1 2.0.0.0 255.0.0.0 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321:: ffff:: 1234:2::2 ipv6 route v1 4320:: fff0:: 1234:3::2 ipv6 route v1 4300:: ff00:: 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.24 255.255.255.255 ipv6 addr 4321::24 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 route v1 :: :: 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.1.105 255.255.255.255 ipv6 addr 4320::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.3.105 255.255.255.255 ipv6 addr 4322::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 route v1 :: :: 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.1.2.106 255.255.255.255 ipv6 addr 4311::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.3.2.106 255.255.255.255 ipv6 addr 4331::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.4.1 ipv6 route v1 :: :: 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.24 vrf v1 sou lo0 r1 tping 100 10 4321::24 vrf v1 sou lo0 r1 tping 100 10 2.2.1.105 vrf v1 sou lo0 r1 tping 100 10 4320::105 vrf v1 sou lo0 r1 tping 100 10 2.2.3.105 vrf v1 sou lo0 r1 tping 100 10 4322::105 vrf v1 sou lo0 r1 tping 100 10 2.1.2.106 vrf v1 sou lo0 r1 tping 100 10 4311::106 vrf v1 sou lo0 r1 tping 100 10 2.3.2.106 vrf v1 sou lo0 r1 tping 100 10 4331::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.24 vrf v1 sou lo0 r3 tping 100 10 4321::24 vrf v1 sou lo0 r3 tping 100 10 2.2.1.105 vrf v1 sou lo0 r3 tping 100 10 4320::105 vrf v1 sou lo0 r3 tping 100 10 2.2.3.105 vrf v1 sou lo0 r3 tping 100 10 4322::105 vrf v1 sou lo0 r3 tping 100 10 2.1.2.106 vrf v1 sou lo0 r3 tping 100 10 4311::106 vrf v1 sou lo0 r3 tping 100 10 2.3.2.106 vrf v1 sou lo0 r3 tping 100 10 4331::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.24 vrf v1 sou lo0 r4 tping 100 10 4321::24 vrf v1 sou lo0 r4 tping 100 10 2.2.1.105 vrf v1 sou lo0 r4 tping 100 10 4320::105 vrf v1 sou lo0 r4 tping 100 10 2.2.3.105 vrf v1 sou lo0 r4 tping 100 10 4322::105 vrf v1 sou lo0 r4 tping 100 10 2.1.2.106 vrf v1 sou lo0 r4 tping 100 10 4311::106 vrf v1 sou lo0 r4 tping 100 10 2.3.2.106 vrf v1 sou lo0 r4 tping 100 10 4331::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.24 vrf v1 sou lo0 r5 tping 100 10 4321::24 vrf v1 sou lo0 r5 tping 100 10 2.2.1.105 vrf v1 sou lo0 r5 tping 100 10 4320::105 vrf v1 sou lo0 r5 tping 100 10 2.2.3.105 vrf v1 sou lo0 r5 tping 100 10 4322::105 vrf v1 sou lo0 r5 tping 100 10 2.1.2.106 vrf v1 sou lo0 r5 tping 100 10 4311::106 vrf v1 sou lo0 r5 tping 100 10 2.3.2.106 vrf v1 sou lo0 r5 tping 100 10 4331::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.24 vrf v1 sou lo0 r6 tping 100 10 4321::24 vrf v1 sou lo0 r6 tping 100 10 2.2.1.105 vrf v1 sou lo0 r6 tping 100 10 4320::105 vrf v1 sou lo0 r6 tping 100 10 2.2.3.105 vrf v1 sou lo0 r6 tping 100 10 4322::105 vrf v1 sou lo0 r6 tping 100 10 2.1.2.106 vrf v1 sou lo0 r6 tping 100 10 4311::106 vrf v1 sou lo0 r6 tping 100 10 2.3.2.106 vrf v1 sou lo0 r6 tping 100 10 4331::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.1.105 vrf v1 sou lo0 r1 dping sdn . r3 4320::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout201.tst000066400000000000000000000207701510423065500172030ustar00rootroot00000000000000description p4lang: l2vpn over bundle mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature bundle mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.105 1234 vrf for v2 ipv4 addr 4.4.4.1 255.255.255.0 ipv6 addr 4444::1 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::105 1234 vrf for v2 ipv4 addr 4.4.6.1 255.255.255.0 ipv6 addr 4446::1 ffff:: exit int pweth1.123 vrf for v2 ipv4 addr 4.4.5.1 255.255.255.0 ipv6 addr 4445::1 ffff:: exit int pweth2.123 vrf for v2 ipv4 addr 4.4.7.1 255.255.255.0 ipv6 addr 4447::1 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.103 1234 vrf for v2 ipv4 addr 4.4.4.2 255.255.255.0 ipv6 addr 4444::2 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::103 1234 vrf for v2 ipv4 addr 4.4.6.2 255.255.255.0 ipv6 addr 4446::2 ffff:: exit int pweth1.123 vrf for v2 ipv4 addr 4.4.5.2 255.255.255.0 ipv6 addr 4445::2 ffff:: exit int pweth2.123 vrf for v2 ipv4 addr 4.4.7.2 255.255.255.0 ipv6 addr 4447::2 ffff:: exit ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 4.4.4.2 vrf v2 r3 tping 100 10 4.4.6.2 vrf v2 r3 tping 100 10 4444::2 vrf v2 r3 tping 100 10 4446::2 vrf v2 r5 tping 100 10 4.4.4.1 vrf v2 r5 tping 100 10 4.4.6.1 vrf v2 r5 tping 100 10 4444::1 vrf v2 r5 tping 100 10 4446::1 vrf v2 r3 tping 100 10 4.4.5.2 vrf v2 r3 tping 100 10 4.4.7.2 vrf v2 r3 tping 100 10 4445::2 vrf v2 r3 tping 100 10 4447::2 vrf v2 r5 tping 100 10 4.4.5.1 vrf v2 r5 tping 100 10 4.4.7.1 vrf v2 r5 tping 100 10 4445::1 vrf v2 r5 tping 100 10 4447::1 vrf v2 r1 dping sdn . r3 4.4.4.2 vrf v2 r1 dping sdn . r3 4446::2 vrf v2 freeRtr-25.11.9/cfg/p4lang-rout202.tst000066400000000000000000000210101510423065500171700ustar00rootroot00000000000000description p4lang: l2vpn over bundle vlan mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.11 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature bundle vlan mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.105 1234 vrf for v2 ipv4 addr 4.4.4.1 255.255.255.0 ipv6 addr 4444::1 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::105 1234 vrf for v2 ipv4 addr 4.4.6.1 255.255.255.0 ipv6 addr 4446::1 ffff:: exit int pweth1.123 vrf for v2 ipv4 addr 4.4.5.1 255.255.255.0 ipv6 addr 4445::1 ffff:: exit int pweth2.123 vrf for v2 ipv4 addr 4.4.7.1 255.255.255.0 ipv6 addr 4447::1 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.11 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.103 1234 vrf for v2 ipv4 addr 4.4.4.2 255.255.255.0 ipv6 addr 4444::2 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::103 1234 vrf for v2 ipv4 addr 4.4.6.2 255.255.255.0 ipv6 addr 4446::2 ffff:: exit int pweth1.123 vrf for v2 ipv4 addr 4.4.5.2 255.255.255.0 ipv6 addr 4445::2 ffff:: exit int pweth2.123 vrf for v2 ipv4 addr 4.4.7.2 255.255.255.0 ipv6 addr 4447::2 ffff:: exit ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 4.4.4.2 vrf v2 r3 tping 100 10 4.4.6.2 vrf v2 r3 tping 100 10 4444::2 vrf v2 r3 tping 100 10 4446::2 vrf v2 r5 tping 100 10 4.4.4.1 vrf v2 r5 tping 100 10 4.4.6.1 vrf v2 r5 tping 100 10 4444::1 vrf v2 r5 tping 100 10 4446::1 vrf v2 r3 tping 100 10 4.4.5.2 vrf v2 r3 tping 100 10 4.4.7.2 vrf v2 r3 tping 100 10 4445::2 vrf v2 r3 tping 100 10 4447::2 vrf v2 r5 tping 100 10 4.4.5.1 vrf v2 r5 tping 100 10 4.4.7.1 vrf v2 r5 tping 100 10 4445::1 vrf v2 r5 tping 100 10 4447::1 vrf v2 r1 dping sdn . r3 4.4.4.2 vrf v2 r1 dping sdn . r3 4446::2 vrf v2 freeRtr-25.11.9/cfg/p4lang-rout203.tst000066400000000000000000000260751510423065500172110ustar00rootroot00000000000000description p4lang: l2vpn over pppoe mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int di1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 p2poe client di1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pppoe mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.104 1234 vrf for v2 ipv4 addr 4.4.4.1 255.255.255.0 ipv6 addr 4444::1 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::104 1234 vrf for v2 ipv4 addr 4.4.6.1 255.255.255.0 ipv6 addr 4446::1 ffff:: exit int pweth1.123 vrf for v2 ipv4 addr 4.4.5.1 255.255.255.0 ipv6 addr 4445::1 ffff:: exit int pweth2.123 vrf for v2 ipv4 addr 4.4.7.1 255.255.255.0 ipv6 addr 4447::1 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit int eth1 p2poe relay di1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.103 1234 vrf for v2 ipv4 addr 4.4.4.2 255.255.255.0 ipv6 addr 4444::2 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::103 1234 vrf for v2 ipv4 addr 4.4.6.2 255.255.255.0 ipv6 addr 4446::2 ffff:: exit int pweth1.123 vrf for v2 ipv4 addr 4.4.5.2 255.255.255.0 ipv6 addr 4445::2 ffff:: exit int pweth2.123 vrf for v2 ipv4 addr 4.4.7.2 255.255.255.0 ipv6 addr 4447::2 ffff:: exit ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 4.4.4.2 vrf v2 r3 tping 100 10 4.4.6.2 vrf v2 r3 tping 100 10 4444::2 vrf v2 r3 tping 100 10 4446::2 vrf v2 r4 tping 100 10 4.4.4.1 vrf v2 r4 tping 100 10 4.4.6.1 vrf v2 r4 tping 100 10 4444::1 vrf v2 r4 tping 100 10 4446::1 vrf v2 r3 tping 100 10 4.4.5.2 vrf v2 r3 tping 100 10 4.4.7.2 vrf v2 r3 tping 100 10 4445::2 vrf v2 r3 tping 100 10 4447::2 vrf v2 r4 tping 100 10 4.4.5.1 vrf v2 r4 tping 100 10 4.4.7.1 vrf v2 r4 tping 100 10 4445::1 vrf v2 r4 tping 100 10 4447::1 vrf v2 r1 dping sdn . r3 4.4.4.2 vrf v2 r1 dping sdn . r3 4446::2 vrf v2 freeRtr-25.11.9/cfg/p4lang-rout204.tst000066400000000000000000000267001510423065500172050ustar00rootroot00000000000000description p4lang: l2vpn over gre mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.105 1234 vrf for v2 ipv4 addr 4.4.4.1 255.255.255.0 ipv6 addr 4444::1 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::105 1234 vrf for v2 ipv4 addr 4.4.6.1 255.255.255.0 ipv6 addr 4446::1 ffff:: exit int pweth1.123 vrf for v2 ipv4 addr 4.4.5.1 255.255.255.0 ipv6 addr 4445::1 ffff:: exit int pweth2.123 vrf for v2 ipv4 addr 4.4.7.1 255.255.255.0 ipv6 addr 4447::1 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.103 1234 vrf for v2 ipv4 addr 4.4.4.2 255.255.255.0 ipv6 addr 4444::2 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::103 1234 vrf for v2 ipv4 addr 4.4.6.2 255.255.255.0 ipv6 addr 4446::2 ffff:: exit int pweth1.123 vrf for v2 ipv4 addr 4.4.5.2 255.255.255.0 ipv6 addr 4445::2 ffff:: exit int pweth2.123 vrf for v2 ipv4 addr 4.4.7.2 255.255.255.0 ipv6 addr 4447::2 ffff:: exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 4.4.4.2 vrf v2 r3 tping 100 10 4.4.6.2 vrf v2 r3 tping 100 10 4444::2 vrf v2 r3 tping 100 10 4446::2 vrf v2 r5 tping 100 10 4.4.4.1 vrf v2 r5 tping 100 10 4.4.6.1 vrf v2 r5 tping 100 10 4444::1 vrf v2 r5 tping 100 10 4446::1 vrf v2 r3 tping 100 10 4.4.5.2 vrf v2 r3 tping 100 10 4.4.7.2 vrf v2 r3 tping 100 10 4445::2 vrf v2 r3 tping 100 10 4447::2 vrf v2 r5 tping 100 10 4.4.5.1 vrf v2 r5 tping 100 10 4.4.7.1 vrf v2 r5 tping 100 10 4445::1 vrf v2 r5 tping 100 10 4447::1 vrf v2 r1 dping sdn . r3 4.4.4.2 vrf v2 r1 dping sdn . r3 4446::2 vrf v2 freeRtr-25.11.9/cfg/p4lang-rout205.tst000066400000000000000000000266341510423065500172140ustar00rootroot00000000000000description p4lang: l2vpn over l2tp mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.105 1234 vrf for v2 ipv4 addr 4.4.4.1 255.255.255.0 ipv6 addr 4444::1 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::105 1234 vrf for v2 ipv4 addr 4.4.6.1 255.255.255.0 ipv6 addr 4446::1 ffff:: exit int pweth1.123 vrf for v2 ipv4 addr 4.4.5.1 255.255.255.0 ipv6 addr 4445::1 ffff:: exit int pweth2.123 vrf for v2 ipv4 addr 4.4.7.1 255.255.255.0 ipv6 addr 4447::1 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.103 1234 vrf for v2 ipv4 addr 4.4.4.2 255.255.255.0 ipv6 addr 4444::2 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::103 1234 vrf for v2 ipv4 addr 4.4.6.2 255.255.255.0 ipv6 addr 4446::2 ffff:: exit int pweth1.123 vrf for v2 ipv4 addr 4.4.5.2 255.255.255.0 ipv6 addr 4445::2 ffff:: exit int pweth2.123 vrf for v2 ipv4 addr 4.4.7.2 255.255.255.0 ipv6 addr 4447::2 ffff:: exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 4.4.4.2 vrf v2 r3 tping 100 10 4.4.6.2 vrf v2 r3 tping 100 10 4444::2 vrf v2 r3 tping 100 10 4446::2 vrf v2 r5 tping 100 10 4.4.4.1 vrf v2 r5 tping 100 10 4.4.6.1 vrf v2 r5 tping 100 10 4444::1 vrf v2 r5 tping 100 10 4446::1 vrf v2 r3 tping 100 10 4.4.5.2 vrf v2 r3 tping 100 10 4.4.7.2 vrf v2 r3 tping 100 10 4445::2 vrf v2 r3 tping 100 10 4447::2 vrf v2 r5 tping 100 10 4.4.5.1 vrf v2 r5 tping 100 10 4.4.7.1 vrf v2 r5 tping 100 10 4445::1 vrf v2 r5 tping 100 10 4447::1 vrf v2 r1 dping sdn . r3 4.4.4.2 vrf v2 r1 dping sdn . r3 4446::2 vrf v2 freeRtr-25.11.9/cfg/p4lang-rout206.tst000066400000000000000000000227551510423065500172150ustar00rootroot00000000000000description p4lang: l3vpn over bundle mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature bundle mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.105 remote-as 1 neigh 2.2.2.105 update lo0 neigh 2.2.2.105 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::105 remote-as 1 neigh 4321::105 update lo0 neigh 4321::105 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.103 remote-as 1 neigh 2.2.2.103 update lo0 neigh 2.2.2.103 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::103 remote-as 1 neigh 4321::103 update lo0 neigh 4321::103 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 60 9.9.2.2 vrf v2 r5 tping 100 60 9.9.2.1 vrf v2 r3 tping 100 60 9992::2 vrf v2 r5 tping 100 60 9992::1 vrf v2 r3 tping 100 60 9.9.3.2 vrf v3 r5 tping 100 60 9.9.3.1 vrf v3 r3 tping 100 60 9993::2 vrf v3 r5 tping 100 60 9993::1 vrf v3 r3 tping 100 60 9.9.4.2 vrf v4 r5 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::2 vrf v4 r5 tping 100 60 9994::1 vrf v4 r1 dping sdn . r3 9.9.3.2 vrf v3 r1 dping sdn . r3 9993::2 vrf v3 freeRtr-25.11.9/cfg/p4lang-rout207.tst000066400000000000000000000227751510423065500172200ustar00rootroot00000000000000description p4lang: l3vpn over bundle vlan mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.11 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature bundle vlan mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.105 remote-as 1 neigh 2.2.2.105 update lo0 neigh 2.2.2.105 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::105 remote-as 1 neigh 4321::105 update lo0 neigh 4321::105 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.11 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.103 remote-as 1 neigh 2.2.2.103 update lo0 neigh 2.2.2.103 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::103 remote-as 1 neigh 4321::103 update lo0 neigh 4321::103 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 60 9.9.2.2 vrf v2 r5 tping 100 60 9.9.2.1 vrf v2 r3 tping 100 60 9992::2 vrf v2 r5 tping 100 60 9992::1 vrf v2 r3 tping 100 60 9.9.3.2 vrf v3 r5 tping 100 60 9.9.3.1 vrf v3 r3 tping 100 60 9993::2 vrf v3 r5 tping 100 60 9993::1 vrf v3 r3 tping 100 60 9.9.4.2 vrf v4 r5 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::2 vrf v4 r5 tping 100 60 9994::1 vrf v4 r1 dping sdn . r3 9.9.3.2 vrf v3 r1 dping sdn . r3 9993::2 vrf v3 freeRtr-25.11.9/cfg/p4lang-rout208.tst000066400000000000000000000300621510423065500172050ustar00rootroot00000000000000description p4lang: l3vpn over pppoe mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int di1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 p2poe client di1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature pppoe mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.104 remote-as 1 neigh 2.2.2.104 update lo0 neigh 2.2.2.104 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::104 remote-as 1 neigh 4321::104 update lo0 neigh 4321::104 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit int eth1 p2poe relay di1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.103 remote-as 1 neigh 2.2.2.103 update lo0 neigh 2.2.2.103 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::103 remote-as 1 neigh 4321::103 update lo0 neigh 4321::103 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 60 9.9.2.2 vrf v2 r4 tping 100 60 9.9.2.1 vrf v2 r3 tping 100 60 9992::2 vrf v2 r4 tping 100 60 9992::1 vrf v2 r3 tping 100 60 9.9.3.2 vrf v3 r4 tping 100 60 9.9.3.1 vrf v3 r3 tping 100 60 9993::2 vrf v3 r4 tping 100 60 9993::1 vrf v3 r3 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9994::1 vrf v4 r1 dping sdn . r3 9.9.3.2 vrf v3 r1 dping sdn . r3 9993::2 vrf v3 freeRtr-25.11.9/cfg/p4lang-rout209.tst000066400000000000000000000306651510423065500172170ustar00rootroot00000000000000description p4lang: l3vpn over gre mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.105 remote-as 1 neigh 2.2.2.105 update lo0 neigh 2.2.2.105 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::105 remote-as 1 neigh 4321::105 update lo0 neigh 4321::105 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.103 remote-as 1 neigh 2.2.2.103 update lo0 neigh 2.2.2.103 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::103 remote-as 1 neigh 4321::103 update lo0 neigh 4321::103 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 60 9.9.2.2 vrf v2 r5 tping 100 60 9.9.2.1 vrf v2 r3 tping 100 60 9992::2 vrf v2 r5 tping 100 60 9992::1 vrf v2 r3 tping 100 60 9.9.3.2 vrf v3 r5 tping 100 60 9.9.3.1 vrf v3 r3 tping 100 60 9993::2 vrf v3 r5 tping 100 60 9993::1 vrf v3 r3 tping 100 60 9.9.4.2 vrf v4 r5 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::2 vrf v4 r5 tping 100 60 9994::1 vrf v4 r1 dping sdn . r3 9.9.3.2 vrf v3 r1 dping sdn . r3 9993::2 vrf v3 freeRtr-25.11.9/cfg/p4lang-rout210.tst000066400000000000000000000306211510423065500171770ustar00rootroot00000000000000description p4lang: l3vpn over l2tp mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.105 remote-as 1 neigh 2.2.2.105 update lo0 neigh 2.2.2.105 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::105 remote-as 1 neigh 4321::105 update lo0 neigh 4321::105 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.103 remote-as 1 neigh 2.2.2.103 update lo0 neigh 2.2.2.103 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::103 remote-as 1 neigh 4321::103 update lo0 neigh 4321::103 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 60 9.9.2.2 vrf v2 r5 tping 100 60 9.9.2.1 vrf v2 r3 tping 100 60 9992::2 vrf v2 r5 tping 100 60 9992::1 vrf v2 r3 tping 100 60 9.9.3.2 vrf v3 r5 tping 100 60 9.9.3.1 vrf v3 r3 tping 100 60 9993::2 vrf v3 r5 tping 100 60 9993::1 vrf v3 r3 tping 100 60 9.9.4.2 vrf v4 r5 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::2 vrf v4 r5 tping 100 60 9994::1 vrf v4 r1 dping sdn . r3 9.9.3.2 vrf v3 r1 dping sdn . r3 9993::2 vrf v3 freeRtr-25.11.9/cfg/p4lang-rout211.tst000066400000000000000000000277301510423065500172070ustar00rootroot00000000000000description p4lang: routing over backplane addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ int eth3 eth 0000.0000.1111 $7a$ $7b$ int eth4 eth 0000.0000.1111 $8b$ $8a$ int eth5 eth 0000.0000.1111 $13a$ $13b$ int eth6 eth 0000.0000.1111 $14b$ $14a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int eth3 vrf for v9 ipv4 addr 10.12.13.254 255.255.255.0 exit int eth4 exit server dhcp4 eth3 pool 10.12.13.1 10.12.13.99 gateway 10.12.13.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.3333 10.12.13.111 interface eth3 vrf v9 exit int eth5 vrf for v9 ipv4 addr 10.13.14.254 255.255.255.0 exit int eth6 exit server dhcp4 eth5 pool 10.13.14.1 10.13.14.99 gateway 10.13.14.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.4444 10.13.14.111 interface eth5 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit bundle 2 exit bundle 3 exit bundle 4 exit int sdn11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn12 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int bun1 vrf for v1 mpls ena exit int sdn13 bundle-gr 1 exit int sdn14 bundle-gr 1 exit int sdn21 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn22 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit int bun2 vrf for v1 mpls ena exit int sdn23 bundle-gr 2 exit int sdn24 bundle-gr 2 exit int bun3 vrf for v1 mpls ena exit int sdn31 bundle-gr 3 exit int sdn32 bundle-gr 3 exit int bun4 vrf for v1 mpls ena exit int sdn33 bundle-gr 4 exit int sdn34 bundle-gr 4 exit server p4lang a interconnect eth2 export-vrf v1 export-port sdn11 1 10 export-port sdn12 2 10 export-port sdn13 3 10 export-port sdn14 4 10 export-port bun1 dynamic exit server p4lang b interconnect eth4 export-vrf v1 export-port sdn21 1 10 export-port sdn22 2 10 export-port sdn23 3 10 export-port sdn24 4 10 export-port bun2 dynamic exit server p4lang c interconnect eth6 export-vrf v1 export-port sdn31 1 10 export-port sdn32 2 10 export-port sdn33 3 10 export-port sdn34 4 10 export-port bun3 dynamic export-port bun4 dynamic exit server stack s dataplanes 4 forwarder 1 p4lang a forwarder 1 backplane bun1 1 forwarder 1 remote 10.11.12.111 forwarder 2 p4lang b forwarder 2 backplane bun2 1 forwarder 2 remote 10.12.13.111 forwarder 3 p4lang c forwarder 3 backplane bun3 1 forwarder 3 backplane bun4 1 forwarder 3 remote 10.13.14.111 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 10.11.12.111 feature bundle mpls route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addother r3 controller r1 v9 9080 10.12.13.111 feature bundle mpls route int eth1 eth 0000.0000.3333 $7b$ $7a$ int eth2 eth 0000.0000.3333 $8a$ $8b$ int eth3 eth 0000.0000.3333 $9a$ $9b$ int eth4 eth 0000.0000.3333 $10a$ $10b$ int eth5 eth 0000.0000.3333 $11a$ $11b$ int eth6 eth 0000.0000.3333 $12a$ $12b$ ! ! addother r4 controller r1 v9 9080 10.13.14.111 feature bundle mpls route int eth1 eth 0000.0000.4444 $13b$ $13a$ int eth2 eth 0000.0000.4444 $14a$ $14b$ int eth3 eth 0000.0000.4444 $5b$ $5a$ int eth4 eth 0000.0000.4444 $6b$ $6a$ int eth5 eth 0000.0000.4444 $11b$ $11a$ int eth6 eth 0000.0000.4444 $12b$ $12a$ ! ! addrouter r5 int eth1 eth 0000.0000.5555 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r7 int eth1 eth 0000.0000.7777 $9b$ $9a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r8 int eth1 eth 0000.0000.8888 $10b$ $10a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r8 tping 100 10 1.1.1.2 vrf v1 r8 tping 100 10 1234:1::2 vrf v1 r8 tping 100 10 1.1.2.2 vrf v1 r8 tping 100 10 1234:2::2 vrf v1 r8 tping 100 10 1.1.3.2 vrf v1 r8 tping 100 10 1234:3::2 vrf v1 r8 tping 100 10 1.1.4.2 vrf v1 r8 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r8 tping 100 10 2.2.2.101 vrf v1 sou lo0 r8 tping 100 10 4321::101 vrf v1 sou lo0 r8 tping 100 10 2.2.2.103 vrf v1 sou lo0 r8 tping 100 10 4321::103 vrf v1 sou lo0 r8 tping 100 10 2.2.2.104 vrf v1 sou lo0 r8 tping 100 10 4321::104 vrf v1 sou lo0 r8 tping 100 10 2.2.2.105 vrf v1 sou lo0 r8 tping 100 10 4321::105 vrf v1 sou lo0 r8 tping 100 10 2.2.2.106 vrf v1 sou lo0 r8 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r8 2.2.2.103 vrf v1 sou lo0 r1 dping sdn . r8 4321::103 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout212.tst000066400000000000000000000213151510423065500172010ustar00rootroot00000000000000description p4lang: bridging over backplane addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ int eth3 eth 0000.0000.1111 $7a$ $7b$ int eth4 eth 0000.0000.1111 $8b$ $8a$ int eth5 eth 0000.0000.1111 $13a$ $13b$ int eth6 eth 0000.0000.1111 $14b$ $14a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int eth3 vrf for v9 ipv4 addr 10.12.13.254 255.255.255.0 exit int eth4 exit server dhcp4 eth3 pool 10.12.13.1 10.12.13.99 gateway 10.12.13.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.3333 10.12.13.111 interface eth3 vrf v9 exit int eth5 vrf for v9 ipv4 addr 10.13.14.254 255.255.255.0 exit int eth6 exit server dhcp4 eth5 pool 10.13.14.1 10.13.14.99 gateway 10.13.14.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.4444 10.13.14.111 interface eth5 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit bundle 2 exit bundle 3 exit bundle 4 exit bridge 1 mac-learn exit int sdn11 bridge-gr 1 exit int sdn12 bridge-gr 1 exit int bun1 vrf for v1 mpls ena exit int sdn13 bundle-gr 1 exit int sdn14 bundle-gr 1 exit int sdn21 bridge-gr 1 exit int sdn22 bridge-gr 1 exit int bun2 vrf for v1 mpls ena exit int sdn23 bundle-gr 2 exit int sdn24 bundle-gr 2 exit int bun3 vrf for v1 mpls ena exit int sdn31 bundle-gr 3 exit int sdn32 bundle-gr 3 exit int bun4 vrf for v1 mpls ena exit int sdn33 bundle-gr 4 exit int sdn34 bundle-gr 4 exit server p4lang a interconnect eth2 export-vrf v1 export-br 1 export-port sdn11 1 10 export-port sdn12 2 10 export-port sdn13 3 10 export-port sdn14 4 10 export-port bun1 dynamic exit server p4lang b interconnect eth4 export-vrf v1 export-br 1 export-port sdn21 1 10 export-port sdn22 2 10 export-port sdn23 3 10 export-port sdn24 4 10 export-port bun2 dynamic exit server p4lang c interconnect eth6 export-vrf v1 export-port sdn31 1 10 export-port sdn32 2 10 export-port sdn33 3 10 export-port sdn34 4 10 export-port bun3 dynamic export-port bun4 dynamic exit server stack s dataplanes 4 forwarder 1 p4lang a forwarder 1 backplane bun1 1 forwarder 1 remote 10.11.12.111 forwarder 2 p4lang b forwarder 2 backplane bun2 1 forwarder 2 remote 10.12.13.111 forwarder 3 p4lang c forwarder 3 backplane bun3 1 forwarder 3 backplane bun4 1 forwarder 3 remote 10.13.14.111 vrf v9 exit ! addother r2 controller r1 v9 9080 10.11.12.111 feature bundle mpls vpls bridge int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addother r3 controller r1 v9 9080 10.12.13.111 feature bundle mpls vpls bridge int eth1 eth 0000.0000.3333 $7b$ $7a$ int eth2 eth 0000.0000.3333 $8a$ $8b$ int eth3 eth 0000.0000.3333 $9a$ $9b$ int eth4 eth 0000.0000.3333 $10a$ $10b$ int eth5 eth 0000.0000.3333 $11a$ $11b$ int eth6 eth 0000.0000.3333 $12a$ $12b$ ! ! addother r4 controller r1 v9 9080 10.13.14.111 feature bundle mpls route int eth1 eth 0000.0000.4444 $13b$ $13a$ int eth2 eth 0000.0000.4444 $14a$ $14b$ int eth3 eth 0000.0000.4444 $5b$ $5a$ int eth4 eth 0000.0000.4444 $6b$ $6a$ int eth5 eth 0000.0000.4444 $11b$ $11a$ int eth6 eth 0000.0000.4444 $12b$ $12a$ ! ! addrouter r5 int eth1 eth 0000.0000.5555 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:ffff:: exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.3 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.6 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::3 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::6 ! addrouter r7 int eth1 eth 0000.0000.7777 $9b$ $9a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.0 ipv6 addr 1234::5 ffff:ffff:: exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.3 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.6 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::6 ! addrouter r8 int eth1 eth 0000.0000.8888 $10b$ $10a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.0 ipv6 addr 1234::6 ffff:ffff:: exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.3 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.5 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::5 ! r5 tping 100 10 1.1.1.3 vrf v1 r5 tping 100 10 1234::3 vrf v1 r5 tping 100 10 1.1.1.4 vrf v1 r5 tping 100 10 1234::4 vrf v1 r5 tping 100 10 1.1.1.5 vrf v1 r5 tping 100 10 1234::5 vrf v1 r5 tping 100 10 1.1.1.6 vrf v1 r5 tping 100 10 1234::6 vrf v1 r6 tping 100 10 1.1.1.3 vrf v1 r6 tping 100 10 1234::3 vrf v1 r6 tping 100 10 1.1.1.4 vrf v1 r6 tping 100 10 1234::4 vrf v1 r6 tping 100 10 1.1.1.5 vrf v1 r6 tping 100 10 1234::5 vrf v1 r6 tping 100 10 1.1.1.6 vrf v1 r6 tping 100 10 1234::6 vrf v1 r7 tping 100 10 1.1.1.3 vrf v1 r7 tping 100 10 1234::3 vrf v1 r7 tping 100 10 1.1.1.4 vrf v1 r7 tping 100 10 1234::4 vrf v1 r7 tping 100 10 1.1.1.5 vrf v1 r7 tping 100 10 1234::5 vrf v1 r7 tping 100 10 1.1.1.6 vrf v1 r7 tping 100 10 1234::6 vrf v1 r8 tping 100 10 1.1.1.3 vrf v1 r8 tping 100 10 1234::3 vrf v1 r8 tping 100 10 1.1.1.4 vrf v1 r8 tping 100 10 1234::4 vrf v1 r8 tping 100 10 1.1.1.5 vrf v1 r8 tping 100 10 1234::5 vrf v1 r8 tping 100 10 1.1.1.6 vrf v1 r8 tping 100 10 1234::6 vrf v1 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r8 tping 100 10 2.2.2.103 vrf v1 sou lo0 r8 tping 100 10 4321::103 vrf v1 sou lo0 r8 tping 100 10 2.2.2.104 vrf v1 sou lo0 r8 tping 100 10 4321::104 vrf v1 sou lo0 r8 tping 100 10 2.2.2.105 vrf v1 sou lo0 r8 tping 100 10 4321::105 vrf v1 sou lo0 r8 tping 100 10 2.2.2.106 vrf v1 sou lo0 r8 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r8 2.2.2.103 vrf v1 sou lo0 r1 dping sdn . r8 4321::103 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout213.tst000066400000000000000000000321511510423065500172020ustar00rootroot00000000000000description p4lang: mpls core over backplane addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ int eth3 eth 0000.0000.1111 $7a$ $7b$ int eth4 eth 0000.0000.1111 $8b$ $8a$ int eth5 eth 0000.0000.1111 $13a$ $13b$ int eth6 eth 0000.0000.1111 $14b$ $14a$ ! vrf def v1 label-mode per-prefix rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int eth3 vrf for v9 ipv4 addr 10.12.13.254 255.255.255.0 exit int eth4 exit server dhcp4 eth3 pool 10.12.13.1 10.12.13.99 gateway 10.12.13.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.3333 10.12.13.111 interface eth3 vrf v9 exit int eth5 vrf for v9 ipv4 addr 10.13.14.254 255.255.255.0 exit int eth6 exit server dhcp4 eth5 pool 10.13.14.1 10.13.14.99 gateway 10.13.14.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.4444 10.13.14.111 interface eth5 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit bundle 2 exit bundle 3 exit bundle 4 exit int sdn11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn12 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int bun1 vrf for v1 mpls ena exit int sdn13 bundle-gr 1 exit int sdn14 bundle-gr 1 exit int sdn21 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn22 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int bun2 vrf for v1 mpls ena exit int sdn23 bundle-gr 2 exit int sdn24 bundle-gr 2 exit int bun3 vrf for v1 mpls ena exit int sdn31 bundle-gr 3 exit int sdn32 bundle-gr 3 exit int bun4 vrf for v1 mpls ena exit int sdn33 bundle-gr 4 exit int sdn34 bundle-gr 4 exit server p4lang a interconnect eth2 export-vrf v1 export-port sdn11 1 10 export-port sdn12 2 10 export-port sdn13 3 10 export-port sdn14 4 10 export-port bun1 dynamic exit server p4lang b interconnect eth4 export-vrf v1 export-port sdn21 1 10 export-port sdn22 2 10 export-port sdn23 3 10 export-port sdn24 4 10 export-port bun2 dynamic exit server p4lang c interconnect eth6 export-vrf v1 export-port sdn31 1 10 export-port sdn32 2 10 export-port sdn33 3 10 export-port sdn34 4 10 export-port bun3 dynamic export-port bun4 dynamic exit server stack s dataplanes 4 forwarder 1 p4lang a forwarder 1 backplane bun1 1 forwarder 1 remote 10.11.12.111 forwarder 2 p4lang b forwarder 2 backplane bun2 1 forwarder 2 remote 10.12.13.111 forwarder 3 p4lang c forwarder 3 backplane bun3 1 forwarder 3 backplane bun4 1 forwarder 3 remote 10.13.14.111 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 10.11.12.111 feature bundle mpls route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addother r3 controller r1 v9 9080 10.12.13.111 feature bundle mpls route int eth1 eth 0000.0000.3333 $7b$ $7a$ int eth2 eth 0000.0000.3333 $8a$ $8b$ int eth3 eth 0000.0000.3333 $9a$ $9b$ int eth4 eth 0000.0000.3333 $10a$ $10b$ int eth5 eth 0000.0000.3333 $11a$ $11b$ int eth6 eth 0000.0000.3333 $12a$ $12b$ ! ! addother r4 controller r1 v9 9080 10.13.14.111 feature bundle mpls route int eth1 eth 0000.0000.4444 $13b$ $13a$ int eth2 eth 0000.0000.4444 $14a$ $14b$ int eth3 eth 0000.0000.4444 $5b$ $5a$ int eth4 eth 0000.0000.4444 $6b$ $6a$ int eth5 eth 0000.0000.4444 $11b$ $11a$ int eth6 eth 0000.0000.4444 $12b$ $12a$ ! ! addrouter r5 int eth1 eth 0000.0000.5555 $3b$ $3a$ ! vrf def v1 label-mode per-prefix rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.106 1234 vrf for v2 ipv4 addr 4.4.4.1 255.255.255.0 ipv6 addr 4444::1 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::106 1234 vrf for v2 ipv4 addr 4.4.6.1 255.255.255.0 ipv6 addr 4446::1 ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $4b$ $4a$ ! vrf def v1 label-mode per-prefix rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r7 int eth1 eth 0000.0000.7777 $9b$ $9a$ ! vrf def v1 label-mode per-prefix rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r8 int eth1 eth 0000.0000.8888 $10b$ $10a$ ! vrf def v1 label-mode per-prefix rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.103 1234 vrf for v2 ipv4 addr 4.4.4.2 255.255.255.0 ipv6 addr 4444::2 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::103 1234 vrf for v2 ipv4 addr 4.4.6.2 255.255.255.0 ipv6 addr 4446::2 ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r8 tping 100 10 1.1.1.2 vrf v1 r8 tping 100 10 1234:1::2 vrf v1 r8 tping 100 10 1.1.2.2 vrf v1 r8 tping 100 10 1234:2::2 vrf v1 r8 tping 100 10 1.1.3.2 vrf v1 r8 tping 100 10 1234:3::2 vrf v1 r8 tping 100 10 1.1.4.2 vrf v1 r8 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r8 tping 100 10 2.2.2.101 vrf v1 sou lo0 r8 tping 100 10 4321::101 vrf v1 sou lo0 r8 tping 100 10 2.2.2.103 vrf v1 sou lo0 r8 tping 100 10 4321::103 vrf v1 sou lo0 r8 tping 100 10 2.2.2.104 vrf v1 sou lo0 r8 tping 100 10 4321::104 vrf v1 sou lo0 r8 tping 100 10 2.2.2.105 vrf v1 sou lo0 r8 tping 100 10 4321::105 vrf v1 sou lo0 r8 tping 100 10 2.2.2.106 vrf v1 sou lo0 r8 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 4.4.4.2 vrf v2 r5 tping 100 10 4.4.6.2 vrf v2 r5 tping 100 10 4444::2 vrf v2 r5 tping 100 10 4446::2 vrf v2 r8 tping 100 10 4.4.4.1 vrf v2 r8 tping 100 10 4.4.6.1 vrf v2 r8 tping 100 10 4444::1 vrf v2 r8 tping 100 10 4446::1 vrf v2 r1 dping sdn . r8 4.4.4.1 vrf v2 r1 dping sdn . r8 4446::1 vrf v2 freeRtr-25.11.9/cfg/p4lang-rout214.tst000066400000000000000000000305501510423065500172040ustar00rootroot00000000000000description p4lang: mpls vpn over backplane addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ int eth3 eth 0000.0000.1111 $7a$ $7b$ int eth4 eth 0000.0000.1111 $8b$ $8a$ int eth5 eth 0000.0000.1111 $13a$ $13b$ int eth6 eth 0000.0000.1111 $14b$ $14a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int eth3 vrf for v9 ipv4 addr 10.12.13.254 255.255.255.0 exit int eth4 exit server dhcp4 eth3 pool 10.12.13.1 10.12.13.99 gateway 10.12.13.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.3333 10.12.13.111 interface eth3 vrf v9 exit int eth5 vrf for v9 ipv4 addr 10.13.14.254 255.255.255.0 exit int eth6 exit server dhcp4 eth5 pool 10.13.14.1 10.13.14.99 gateway 10.13.14.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.4444 10.13.14.111 interface eth5 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit bundle 2 exit bundle 3 exit bundle 4 exit int sdn11 vrf for v2 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn12 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int bun1 vrf for v1 mpls ena exit int sdn13 bundle-gr 1 exit int sdn14 bundle-gr 1 exit int sdn21 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn22 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit int bun2 vrf for v1 mpls ena exit int sdn23 bundle-gr 2 exit int sdn24 bundle-gr 2 exit int bun3 vrf for v1 mpls ena exit int sdn31 bundle-gr 3 exit int sdn32 bundle-gr 3 exit int bun4 vrf for v1 mpls ena exit int sdn33 bundle-gr 4 exit int sdn34 bundle-gr 4 exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.104 temp a neigh 2.2.2.105 temp a afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::104 temp a neigh 4321::105 temp a afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit server p4lang a interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn11 1 10 export-port sdn12 2 10 export-port sdn13 3 10 export-port sdn14 4 10 export-port bun1 dynamic exit server p4lang b interconnect eth4 export-vrf v1 export-vrf v2 export-port sdn21 1 10 export-port sdn22 2 10 export-port sdn23 3 10 export-port sdn24 4 10 export-port bun2 dynamic exit server p4lang c interconnect eth6 export-vrf v1 export-port sdn31 1 10 export-port sdn32 2 10 export-port sdn33 3 10 export-port sdn34 4 10 export-port bun3 dynamic export-port bun4 dynamic exit server stack s dataplanes 4 forwarder 1 p4lang a forwarder 1 backplane bun1 1 forwarder 1 remote 10.11.12.111 forwarder 2 p4lang b forwarder 2 backplane bun2 1 forwarder 2 remote 10.12.13.111 forwarder 3 p4lang c forwarder 3 backplane bun3 1 forwarder 3 backplane bun4 1 forwarder 3 remote 10.13.14.111 vrf v9 exit ipv4 route v2 3.3.3.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v2 3.3.3.106 255.255.255.255 1.1.4.2 ipv6 route v2 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v2 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 10.11.12.111 feature bundle mpls route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addother r3 controller r1 v9 9080 10.12.13.111 feature bundle mpls route int eth1 eth 0000.0000.3333 $7b$ $7a$ int eth2 eth 0000.0000.3333 $8a$ $8b$ int eth3 eth 0000.0000.3333 $9a$ $9b$ int eth4 eth 0000.0000.3333 $10a$ $10b$ int eth5 eth 0000.0000.3333 $11a$ $11b$ int eth6 eth 0000.0000.3333 $12a$ $12b$ ! ! addother r4 controller r1 v9 9080 10.13.14.111 feature bundle mpls route int eth1 eth 0000.0000.4444 $13b$ $13a$ int eth2 eth 0000.0000.4444 $14a$ $14b$ int eth3 eth 0000.0000.4444 $5b$ $5a$ int eth4 eth 0000.0000.4444 $6b$ $6a$ int eth5 eth 0000.0000.4444 $11b$ $11a$ int eth6 eth 0000.0000.4444 $12b$ $12a$ ! ! addrouter r5 int eth1 eth 0000.0000.5555 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.1.1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.1.1 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.1.1 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.1.1 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r7 int eth1 eth 0000.0000.7777 $9b$ $9a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.5 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.5 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r8 int eth1 eth 0000.0000.8888 $10b$ $10a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.4.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.4.1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.4.1 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.4.1 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 3.3.3.101 vrf v2 sou lo1 r1 tping 100 10 3333::101 vrf v2 sou lo1 r1 tping 100 10 3.3.3.103 vrf v2 sou lo1 r1 tping 100 10 3333::103 vrf v2 sou lo1 r1 tping 100 10 3.3.3.104 vrf v2 sou lo1 r1 tping 100 10 3333::104 vrf v2 sou lo1 r1 tping 100 10 3.3.3.105 vrf v2 sou lo1 r1 tping 100 10 3333::105 vrf v2 sou lo1 r1 tping 100 10 3.3.3.106 vrf v2 sou lo1 r1 tping 100 10 3333::106 vrf v2 sou lo1 r6 tping 100 10 3.3.3.101 vrf v2 sou lo1 r6 tping 100 10 3333::101 vrf v2 sou lo1 r6 tping 100 10 3.3.3.103 vrf v2 sou lo1 r6 tping 100 10 3333::103 vrf v2 sou lo1 r6 tping 100 10 3.3.3.104 vrf v2 sou lo1 r6 tping 100 10 3333::104 vrf v2 sou lo1 r6 tping 100 10 3.3.3.105 vrf v2 sou lo1 r6 tping 100 10 3333::105 vrf v2 sou lo1 r6 tping 100 10 3.3.3.106 vrf v2 sou lo1 r6 tping 100 10 3333::106 vrf v2 sou lo1 r7 tping 100 10 3.3.3.101 vrf v2 sou lo1 r7 tping 100 10 3333::101 vrf v2 sou lo1 r7 tping 100 10 3.3.3.103 vrf v2 sou lo1 r7 tping 100 10 3333::103 vrf v2 sou lo1 r7 tping 100 10 3.3.3.104 vrf v2 sou lo1 r7 tping 100 10 3333::104 vrf v2 sou lo1 r7 tping 100 10 3.3.3.105 vrf v2 sou lo1 r7 tping 100 10 3333::105 vrf v2 sou lo1 r7 tping 100 10 3.3.3.106 vrf v2 sou lo1 r7 tping 100 10 3333::106 vrf v2 sou lo1 r5 tping 100 10 3.3.3.101 vrf v1 sou lo0 r5 tping 100 10 3333::101 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r8 tping 100 10 3.3.3.101 vrf v1 sou lo0 r8 tping 100 10 3333::101 vrf v1 sou lo0 r8 tping 100 10 3.3.3.103 vrf v1 sou lo0 r8 tping 100 10 3333::103 vrf v1 sou lo0 r8 tping 100 10 3.3.3.104 vrf v1 sou lo0 r8 tping 100 10 3333::104 vrf v1 sou lo0 r8 tping 100 10 3.3.3.105 vrf v1 sou lo0 r8 tping 100 10 3333::105 vrf v1 sou lo0 r8 tping 100 10 3.3.3.106 vrf v1 sou lo0 r8 tping 100 10 3333::106 vrf v1 sou lo0 r1 dping sdn . r8 3.3.3.104 vrf v1 sou lo0 r1 dping sdn . r8 3333::104 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout215.tst000066400000000000000000000127451510423065500172130ustar00rootroot00000000000000description p4lang: local connect addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 exit int sdn4 connect sdn3 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addother r2 controller r1 v9 9080 - feature loconn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r3 tping 100 10 1.1.2.1 vrf v1 r3 tping 100 10 1234:2::1 vrf v1 r4 tping 100 10 1.1.1.1 vrf v1 r4 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.1 vrf v1 r4 tping 100 10 1234:2::1 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout216.tst000066400000000000000000000114401510423065500172030ustar00rootroot00000000000000description p4lang: vlan local connect addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn3 exit int sdn3.111 exit int sdn3.222 connect sdn2 exit int sdn4 exit int sdn4.111 connect sdn3.111 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature vlan loconn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.5 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit int eth1.222 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.3.5 vrf v1 r4 tping 100 10 1234:3::5 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout217.tst000066400000000000000000000233361510423065500172130ustar00rootroot00000000000000description p4lang: pmtud addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 pmtud-in 1400 ipv6 pmtud-in 1400 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route pmtud int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 siz 1400 r6 tping 100 10 4321::103 vrf v1 sou lo0 siz 1400 r6 tping -100 10 2.2.2.103 vrf v1 sou lo0 siz 1401 error r6 tping -100 10 4321::103 vrf v1 sou lo0 siz 1401 error r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout218.tst000066400000000000000000000235041510423065500172110ustar00rootroot00000000000000description p4lang: vlan pmtud addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 exit int sdn3.111 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 exit int sdn4.111 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 pmtud-in 1400 ipv6 pmtud-in 1400 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route vlan pmtud int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1.111 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 siz 1400 r6 tping 100 10 4321::103 vrf v1 sou lo0 siz 1400 r6 tping -100 10 2.2.2.103 vrf v1 sou lo0 siz 1401 error r6 tping -100 10 4321::103 vrf v1 sou lo0 siz 1401 error r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout219.tst000066400000000000000000000246451510423065500172210ustar00rootroot00000000000000description p4lang: tcpmss addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 tcp-mss-in 1280 ipv6 tcp-mss-in 1280 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 tcp-mss-in 1280 ipv6 tcp-mss-in 1280 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route tcpmss int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v2 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit server pckotcp pou clone di1 vrf v1 exit client tcp-segments 1024 4096 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit int di2 enc ppp vrf for v2 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 exit vpdn di2 interface di2 proxy p1 target 2.2.2.103 vcid 2554 prot pckotcp exit int di3 enc ppp vrf for v3 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 exit vpdn di3 interface di3 proxy p1 target 4321::103 vcid 2554 prot pckotcp exit client tcp-segments 1024 4096 ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 30 2.2.2.0 vrf v2 siz 3000 r6 tping 100 30 2.2.2.0 vrf v3 siz 3000 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout220.tst000066400000000000000000000250131510423065500171770ustar00rootroot00000000000000description p4lang: vlan tcpmss addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 tcp-mss-in 1280 ipv6 tcp-mss-in 1280 exit int sdn2 exit int sdn2.111 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 exit int sdn3.111 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 exit int sdn4.111 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 tcp-mss-in 1280 ipv6 tcp-mss-in 1280 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route vlan tcpmss int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v2 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1.111 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit server pckotcp pou clone di1 vrf v1 exit client tcp-segments 1024 4096 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit int di2 enc ppp vrf for v2 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 exit vpdn di2 interface di2 proxy p1 target 2.2.2.103 vcid 2554 prot pckotcp exit int di3 enc ppp vrf for v3 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 exit vpdn di3 interface di3 proxy p1 target 4321::103 vcid 2554 prot pckotcp exit client tcp-segments 1024 4096 ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 30 2.2.2.0 vrf v2 siz 3000 r6 tping 100 30 2.2.2.0 vrf v3 siz 3000 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout221.tst000066400000000000000000000140121510423065500171750ustar00rootroot00000000000000description p4lang: bridge tcpmss addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 bridge-tcp-mss ipv4in 1280 bridge-tcp-mss ipv6in 1280 exit int sdn3 bridge-gr 1 exit int sdn4 bridge-gr 1 bridge-tcp-mss ipv4in 1280 bridge-tcp-mss ipv6in 1280 exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge tcpmss int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vrf def v2 rd 1:1 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v2 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit server pckotcp pou clone di1 vrf v1 exit client tcp-segments 1024 4096 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit int di2 enc ppp vrf for v2 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 exit vpdn di2 interface di2 proxy p1 target 2.2.2.104 vcid 2554 prot pckotcp exit int di3 enc ppp vrf for v3 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 exit vpdn di3 interface di3 proxy p1 target 4321::104 vcid 2554 prot pckotcp exit client tcp-segments 1024 4096 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 30 2.2.2.0 vrf v2 siz 3000 r6 tping 100 30 2.2.2.0 vrf v3 siz 3000 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout222.tst000066400000000000000000000141601510423065500172020ustar00rootroot00000000000000description p4lang: vlan bridge tcpmss addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 bridge-gr 1 bridge-tcp-mss ipv4in 1280 bridge-tcp-mss ipv6in 1280 exit int sdn3 exit int sdn3.111 bridge-gr 1 exit int sdn4 exit int sdn4.111 bridge-gr 1 bridge-tcp-mss ipv4in 1280 bridge-tcp-mss ipv6in 1280 exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge vlan tcpmss int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vrf def v2 rd 1:1 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v2 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit server pckotcp pou clone di1 vrf v1 exit client tcp-segments 1024 4096 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit int di2 enc ppp vrf for v2 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 exit vpdn di2 interface di2 proxy p1 target 2.2.2.104 vcid 2554 prot pckotcp exit int di3 enc ppp vrf for v3 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 exit vpdn di3 interface di3 proxy p1 target 4321::104 vcid 2554 prot pckotcp exit client tcp-segments 1024 4096 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 30 2.2.2.0 vrf v2 siz 3000 r6 tping 100 30 2.2.2.0 vrf v3 siz 3000 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout223.tst000066400000000000000000000125071510423065500172060ustar00rootroot00000000000000description p4lang: bridge pmtud addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 bridge-gr 1 exit int sdn4 bridge-gr 1 bridge-pmtud ipv4in 1400 3.3.3.3 bridge-pmtud ipv6in 1400 3333::3 exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge pmtud int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 siz 1400 r6 tping 100 10 4321::104 vrf v1 sou lo0 siz 1400 r6 tping -100 10 2.2.2.104 vrf v1 sou lo0 siz 1401 error r6 tping -100 10 4321::104 vrf v1 sou lo0 siz 1401 error r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout224.tst000066400000000000000000000126551510423065500172130ustar00rootroot00000000000000description p4lang: vlan bridge pmtud addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 bridge-gr 1 exit int sdn3 exit int sdn3.111 bridge-gr 1 exit int sdn4 exit int sdn4.111 bridge-gr 1 bridge-pmtud ipv4in 1400 3.3.3.3 bridge-pmtud ipv6in 1400 3333::3 exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge vlan pmtud int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 siz 1400 r6 tping 100 10 4321::104 vrf v1 sou lo0 siz 1400 r6 tping -100 10 2.2.2.104 vrf v1 sou lo0 siz 1401 error r6 tping -100 10 4321::104 vrf v1 sou lo0 siz 1401 error r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout225.tst000066400000000000000000000361441510423065500172130ustar00rootroot00000000000000description p4lang: ip ttl exceed addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv4 route v1 2.2.2.107 255.255.255.255 1.1.4.2 ipv4 route v1 2.2.2.108 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv6 route v1 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv6 route v1 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.107 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.108 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.107 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.108 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.107 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.108 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ int eth2 eth 0000.0000.6666 $7a$ $7b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.107 255.255.255.255 1.1.5.1 ipv4 route v1 2.2.2.108 255.255.255.255 1.1.5.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v1 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ int eth2 eth 0000.0000.7777 $8a$ $8b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.6.1 255.255.255.0 ipv6 addr 1234:6::1 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.108 255.255.255.255 1.1.6.2 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::2 ! addrouter r8 int eth1 eth 0000.0000.8888 $8b$ $8a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.108 255.255.255.255 ipv6 addr 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.6.2 255.255.255.0 ipv6 addr 1234:6::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.6.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.6.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.6.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.6.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.6.1 ipv4 route v1 2.2.2.107 255.255.255.255 1.1.6.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::1 ipv6 route v1 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.107 vrf v1 sou lo0 r1 tping 100 10 4321::107 vrf v1 sou lo0 r1 tping 100 10 2.2.2.108 vrf v1 sou lo0 r1 tping 100 10 4321::108 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 r3 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 100 10 2.2.2.108 vrf v1 sou lo0 r3 tping 100 10 4321::108 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.107 vrf v1 sou lo0 r4 tping 100 10 4321::107 vrf v1 sou lo0 r4 tping 100 10 2.2.2.108 vrf v1 sou lo0 r4 tping 100 10 4321::108 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.107 vrf v1 sou lo0 r5 tping 100 10 4321::107 vrf v1 sou lo0 r5 tping 100 10 2.2.2.108 vrf v1 sou lo0 r5 tping 100 10 4321::108 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.107 vrf v1 sou lo0 r6 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 100 10 2.2.2.108 vrf v1 sou lo0 r6 tping 100 10 4321::108 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.107 vrf v1 sou lo0 r7 tping 100 10 4321::107 vrf v1 sou lo0 r7 tping 100 10 2.2.2.108 vrf v1 sou lo0 r7 tping 100 10 4321::108 vrf v1 sou lo0 r8 tping 100 10 2.2.2.101 vrf v1 sou lo0 r8 tping 100 10 4321::101 vrf v1 sou lo0 r8 tping 100 10 2.2.2.103 vrf v1 sou lo0 r8 tping 100 10 4321::103 vrf v1 sou lo0 r8 tping 100 10 2.2.2.104 vrf v1 sou lo0 r8 tping 100 10 4321::104 vrf v1 sou lo0 r8 tping 100 10 2.2.2.105 vrf v1 sou lo0 r8 tping 100 10 4321::105 vrf v1 sou lo0 r8 tping 100 10 2.2.2.106 vrf v1 sou lo0 r8 tping 100 10 4321::106 vrf v1 sou lo0 r8 tping 100 10 2.2.2.107 vrf v1 sou lo0 r8 tping 100 10 4321::107 vrf v1 sou lo0 r8 tping 100 10 2.2.2.108 vrf v1 sou lo0 r8 tping 100 10 4321::108 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 ttl 1 r3 tping 100 10 4321::101 vrf v1 sou lo0 ttl 1 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 ttl 1 r3 tping 100 10 4321::103 vrf v1 sou lo0 ttl 1 r3 tping 0 10 2.2.2.104 vrf v1 sou lo0 ttl 1 r3 tping 0 10 4321::104 vrf v1 sou lo0 ttl 1 r3 tping 0 10 2.2.2.105 vrf v1 sou lo0 ttl 1 r3 tping 0 10 4321::105 vrf v1 sou lo0 ttl 1 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 ttl 1 r3 tping 0 10 4321::106 vrf v1 sou lo0 ttl 1 r3 tping 0 10 2.2.2.107 vrf v1 sou lo0 ttl 1 r3 tping 0 10 4321::107 vrf v1 sou lo0 ttl 1 r3 tping 0 10 2.2.2.108 vrf v1 sou lo0 ttl 1 r3 tping 0 10 4321::108 vrf v1 sou lo0 ttl 1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 ttl 2 r3 tping 100 10 4321::101 vrf v1 sou lo0 ttl 2 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 ttl 2 r3 tping 100 10 4321::103 vrf v1 sou lo0 ttl 2 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 ttl 2 r3 tping 100 10 4321::104 vrf v1 sou lo0 ttl 2 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 ttl 2 r3 tping 100 10 4321::105 vrf v1 sou lo0 ttl 2 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 ttl 2 r3 tping 100 10 4321::106 vrf v1 sou lo0 ttl 2 r3 tping 0 10 2.2.2.107 vrf v1 sou lo0 ttl 2 r3 tping 0 10 4321::107 vrf v1 sou lo0 ttl 2 r3 tping 0 10 2.2.2.108 vrf v1 sou lo0 ttl 2 r3 tping 0 10 4321::108 vrf v1 sou lo0 ttl 2 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 ttl 3 r3 tping 100 10 4321::101 vrf v1 sou lo0 ttl 3 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 ttl 3 r3 tping 100 10 4321::103 vrf v1 sou lo0 ttl 3 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 ttl 3 r3 tping 100 10 4321::104 vrf v1 sou lo0 ttl 3 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 ttl 3 r3 tping 100 10 4321::105 vrf v1 sou lo0 ttl 3 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 ttl 3 r3 tping 100 10 4321::106 vrf v1 sou lo0 ttl 3 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 ttl 3 r3 tping 100 10 4321::107 vrf v1 sou lo0 ttl 3 r3 tping 0 10 2.2.2.108 vrf v1 sou lo0 ttl 3 r3 tping 0 10 4321::108 vrf v1 sou lo0 ttl 3 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 ttl 4 r3 tping 100 10 4321::101 vrf v1 sou lo0 ttl 4 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 ttl 4 r3 tping 100 10 4321::103 vrf v1 sou lo0 ttl 4 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 ttl 4 r3 tping 100 10 4321::104 vrf v1 sou lo0 ttl 4 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 ttl 4 r3 tping 100 10 4321::105 vrf v1 sou lo0 ttl 4 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 ttl 4 r3 tping 100 10 4321::106 vrf v1 sou lo0 ttl 4 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 ttl 4 r3 tping 100 10 4321::107 vrf v1 sou lo0 ttl 4 r3 tping 100 10 2.2.2.108 vrf v1 sou lo0 ttl 4 r3 tping 100 10 4321::108 vrf v1 sou lo0 ttl 4 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout226.tst000066400000000000000000000426311510423065500172120ustar00rootroot00000000000000description p4lang: mpls ttl exceed addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv4 route v1 2.2.2.107 255.255.255.255 1.1.4.2 ipv4 route v1 2.2.2.108 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv6 route v1 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv6 route v1 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.107 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.108 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.107 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.108 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.107 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.108 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ int eth2 eth 0000.0000.6666 $7a$ $7b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.107 255.255.255.255 1.1.5.1 ipv4 route v1 2.2.2.108 255.255.255.255 1.1.5.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v1 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ int eth2 eth 0000.0000.7777 $8a$ $8b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.6.1 255.255.255.0 ipv6 addr 1234:6::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.108 255.255.255.255 1.1.6.2 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::2 ! addrouter r8 int eth1 eth 0000.0000.8888 $8b$ $8a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.108 255.255.255.255 ipv6 addr 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.6.2 255.255.255.0 ipv6 addr 1234:6::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.6.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.6.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.6.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.6.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.6.1 ipv4 route v1 2.2.2.107 255.255.255.255 1.1.6.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::1 ipv6 route v1 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.107 vrf v1 sou lo0 r1 tping 100 10 4321::107 vrf v1 sou lo0 r1 tping 100 10 2.2.2.108 vrf v1 sou lo0 r1 tping 100 10 4321::108 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 r3 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 100 10 2.2.2.108 vrf v1 sou lo0 r3 tping 100 10 4321::108 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.107 vrf v1 sou lo0 r4 tping 100 10 4321::107 vrf v1 sou lo0 r4 tping 100 10 2.2.2.108 vrf v1 sou lo0 r4 tping 100 10 4321::108 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.107 vrf v1 sou lo0 r5 tping 100 10 4321::107 vrf v1 sou lo0 r5 tping 100 10 2.2.2.108 vrf v1 sou lo0 r5 tping 100 10 4321::108 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.107 vrf v1 sou lo0 r6 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 100 10 2.2.2.108 vrf v1 sou lo0 r6 tping 100 10 4321::108 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.107 vrf v1 sou lo0 r7 tping 100 10 4321::107 vrf v1 sou lo0 r7 tping 100 10 2.2.2.108 vrf v1 sou lo0 r7 tping 100 10 4321::108 vrf v1 sou lo0 r8 tping 100 10 2.2.2.101 vrf v1 sou lo0 r8 tping 100 10 4321::101 vrf v1 sou lo0 r8 tping 100 10 2.2.2.103 vrf v1 sou lo0 r8 tping 100 10 4321::103 vrf v1 sou lo0 r8 tping 100 10 2.2.2.104 vrf v1 sou lo0 r8 tping 100 10 4321::104 vrf v1 sou lo0 r8 tping 100 10 2.2.2.105 vrf v1 sou lo0 r8 tping 100 10 4321::105 vrf v1 sou lo0 r8 tping 100 10 2.2.2.106 vrf v1 sou lo0 r8 tping 100 10 4321::106 vrf v1 sou lo0 r8 tping 100 10 2.2.2.107 vrf v1 sou lo0 r8 tping 100 10 4321::107 vrf v1 sou lo0 r8 tping 100 10 2.2.2.108 vrf v1 sou lo0 r8 tping 100 10 4321::108 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 ttl 1 r3 tping 100 10 4321::101 vrf v1 sou lo0 ttl 1 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 ttl 1 r3 tping 100 10 4321::103 vrf v1 sou lo0 ttl 1 r3 tping 0 10 2.2.2.104 vrf v1 sou lo0 ttl 1 r3 tping 0 10 4321::104 vrf v1 sou lo0 ttl 1 r3 tping 0 10 2.2.2.105 vrf v1 sou lo0 ttl 1 r3 tping 0 10 4321::105 vrf v1 sou lo0 ttl 1 r3 tping 0 10 2.2.2.106 vrf v1 sou lo0 ttl 1 r3 tping 0 10 4321::106 vrf v1 sou lo0 ttl 1 r3 tping 0 10 2.2.2.107 vrf v1 sou lo0 ttl 1 r3 tping 0 10 4321::107 vrf v1 sou lo0 ttl 1 r3 tping 0 10 2.2.2.108 vrf v1 sou lo0 ttl 1 r3 tping 0 10 4321::108 vrf v1 sou lo0 ttl 1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 ttl 2 r3 tping 100 10 4321::101 vrf v1 sou lo0 ttl 2 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 ttl 2 r3 tping 100 10 4321::103 vrf v1 sou lo0 ttl 2 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 ttl 2 r3 tping 100 10 4321::104 vrf v1 sou lo0 ttl 2 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 ttl 2 r3 tping 100 10 4321::105 vrf v1 sou lo0 ttl 2 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 ttl 2 r3 tping 100 10 4321::106 vrf v1 sou lo0 ttl 2 r3 tping 0 10 2.2.2.107 vrf v1 sou lo0 ttl 2 r3 tping 0 10 4321::107 vrf v1 sou lo0 ttl 2 r3 tping 0 10 2.2.2.108 vrf v1 sou lo0 ttl 2 r3 tping 0 10 4321::108 vrf v1 sou lo0 ttl 2 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 ttl 3 r3 tping 100 10 4321::101 vrf v1 sou lo0 ttl 3 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 ttl 3 r3 tping 100 10 4321::103 vrf v1 sou lo0 ttl 3 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 ttl 3 r3 tping 100 10 4321::104 vrf v1 sou lo0 ttl 3 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 ttl 3 r3 tping 100 10 4321::105 vrf v1 sou lo0 ttl 3 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 ttl 3 r3 tping 100 10 4321::106 vrf v1 sou lo0 ttl 3 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 ttl 3 r3 tping 100 10 4321::107 vrf v1 sou lo0 ttl 3 r3 tping 0 10 2.2.2.108 vrf v1 sou lo0 ttl 3 r3 tping 0 10 4321::108 vrf v1 sou lo0 ttl 3 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 ttl 4 r3 tping 100 10 4321::101 vrf v1 sou lo0 ttl 4 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 ttl 4 r3 tping 100 10 4321::103 vrf v1 sou lo0 ttl 4 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 ttl 4 r3 tping 100 10 4321::104 vrf v1 sou lo0 ttl 4 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 ttl 4 r3 tping 100 10 4321::105 vrf v1 sou lo0 ttl 4 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 ttl 4 r3 tping 100 10 4321::106 vrf v1 sou lo0 ttl 4 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 ttl 4 r3 tping 100 10 4321::107 vrf v1 sou lo0 ttl 4 r3 tping 100 10 2.2.2.108 vrf v1 sou lo0 ttl 4 r3 tping 100 10 4321::108 vrf v1 sou lo0 ttl 4 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout227.tst000066400000000000000000000247121510423065500172130ustar00rootroot00000000000000description p4lang: null routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.0 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:0 exit int nul0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.201 vrf v1 sou lo0 r1 tping 100 10 4321::201 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 0 10 2.2.2.101 vrf v1 sou lo0 r3 tping 0 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.201 vrf v1 sou lo0 r3 tping 100 10 4321::201 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 0 10 2.2.2.101 vrf v1 sou lo0 r4 tping 0 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.201 vrf v1 sou lo0 r4 tping 100 10 4321::201 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 0 10 2.2.2.101 vrf v1 sou lo0 r5 tping 0 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.201 vrf v1 sou lo0 r5 tping 100 10 4321::201 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 0 10 2.2.2.101 vrf v1 sou lo0 r6 tping 0 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.201 vrf v1 sou lo0 r6 tping 100 10 4321::201 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout228.tst000066400000000000000000000244161510423065500172150ustar00rootroot00000000000000description p4lang: fib filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int nul0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.0 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:0 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit prefix-list p4 sequence 10 deny 2.2.2.104/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::104/128 sequence 20 permit ::/0 le 128 exit server p4lang p4 interconnect eth2 export-vrf v1 filter-list4 v1 p4 filter-list6 v1 p6 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 0 10 2.2.2.104 vrf v1 sou lo0 r3 tping 0 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 0 10 2.2.2.103 vrf v1 sou lo0 r4 tping 0 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 0 10 2.2.2.105 vrf v1 sou lo0 r4 tping 0 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 0 10 2.2.2.104 vrf v1 sou lo0 r5 tping 0 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout229.tst000066400000000000000000000245221510423065500172140ustar00rootroot00000000000000description p4lang: fib filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int nul0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.0 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:0 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit route-map p4 sequence 10 act deny match network 2.2.2.104/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::104/128 sequence 20 act perm match network ::/0 le 128 exit server p4lang p4 interconnect eth2 export-vrf v1 filter-map4 v1 p4 filter-map6 v1 p6 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 0 10 2.2.2.104 vrf v1 sou lo0 r3 tping 0 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 0 10 2.2.2.103 vrf v1 sou lo0 r4 tping 0 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 0 10 2.2.2.105 vrf v1 sou lo0 r4 tping 0 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 0 10 2.2.2.104 vrf v1 sou lo0 r5 tping 0 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout230.tst000066400000000000000000000243711510423065500172060ustar00rootroot00000000000000description p4lang: fib filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int nul0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.0 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:0 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit route-policy p4 if network 2.2.2.104/32 drop else pass enif exit route-policy p6 if network 4321::104/128 drop else pass enif exit server p4lang p4 interconnect eth2 export-vrf v1 filter-policy4 v1 p4 filter-policy6 v1 p6 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 0 10 2.2.2.104 vrf v1 sou lo0 r3 tping 0 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 0 10 2.2.2.103 vrf v1 sou lo0 r4 tping 0 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 0 10 2.2.2.105 vrf v1 sou lo0 r4 tping 0 10 4321::105 vrf v1 sou lo0 r4 tping 0 10 2.2.2.106 vrf v1 sou lo0 r4 tping 0 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 0 10 2.2.2.104 vrf v1 sou lo0 r5 tping 0 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 0 10 2.2.2.104 vrf v1 sou lo0 r6 tping 0 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout231.tst000066400000000000000000000234201510423065500172010ustar00rootroot00000000000000description p4lang: routing with fib compression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 filter-compress4 v1 filter-compress6 v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv4 route v1 2.2.2.107 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv6 route v1 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout232.tst000066400000000000000000000236251510423065500172110ustar00rootroot00000000000000description p4lang: mpls with fib compression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 filter-compress4 v1 filter-compress6 v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv4 route v1 2.2.2.107 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv6 route v1 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout233.tst000066400000000000000000000235351510423065500172120ustar00rootroot00000000000000description p4lang: l2tp3 routing over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp3 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l3tp route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bvi1 l2tp3 9.9.9.1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout234.tst000066400000000000000000000235431510423065500172120ustar00rootroot00000000000000description p4lang: l2tp3 routing over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit int virt1 enc ppp pseudo v2 sdn1 l2tp3 9999::2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l3tp route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int virt1 enc ppp pseudo v2 bvi1 l2tp3 9999::1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9999::2 vrf v2 r3 tping 100 30 9999::1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout235.tst000066400000000000000000000235471510423065500172170ustar00rootroot00000000000000description p4lang: l2tp3 server routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server l2tp3 l clone dialer1 vrf v2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l3tp route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bvi1 l2tp3 9.9.9.1 1234 control vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout236.tst000066400000000000000000000236141510423065500172130ustar00rootroot00000000000000description p4lang: vlan l2tp3 server routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server l2tp3 l clone dialer1 vrf v2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l3tp route vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bvi1.222 l2tp3 9.9.9.1 1234 control vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout237.tst000066400000000000000000000240621510423065500172120ustar00rootroot00000000000000description p4lang: l2tp3 server mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server l2tp3 l clone dialer1 vrf v2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l3tp mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bvi1 l2tp3 9.9.9.1 1234 control vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout238.tst000066400000000000000000000241271510423065500172150ustar00rootroot00000000000000description p4lang: vlan l2tp3 server mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server l2tp3 l clone dialer1 vrf v2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l3tp mpls vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bvi1.222 l2tp3 9.9.9.1 1234 control vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout239.tst000066400000000000000000000256001510423065500172130ustar00rootroot00000000000000description p4lang: mldp core over l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp3 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route l3tp duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bvi1 l2tp3 9.9.9.1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout240.tst000066400000000000000000000267431510423065500172140ustar00rootroot00000000000000description p4lang: bier core over l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp3 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ! addother r2 controller r1 v9 9080 - feature route l3tp bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bvi1 l2tp3 9.9.9.1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.5555 $7a$ $7b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth2 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.7 bier 256 10 7 red conn exit router lsrp6 1 vrf v1 router 6.6.6.7 bier 256 10 7 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.5.1 ipv6 mroute v1 :: :: 1234:5::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r1 tping 100 30 1.1.5.2 vrf v1 r1 tping 100 30 1234:5::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.5.2 vrf v1 r3 tping 100 10 1234:5::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.5.2 vrf v1 r4 tping 100 10 1234:5::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.5.2 vrf v1 r5 tping 100 10 1234:5::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.5.2 vrf v1 r6 tping 100 10 1234:5::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.5.2 vrf v1 r7 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.107 vrf v1 sou lo0 r1 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 r3 tping 100 10 4321::107 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.107 vrf v1 sou lo0 r4 tping 100 10 4321::107 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.107 vrf v1 sou lo0 r5 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.107 vrf v1 sou lo0 r6 tping 100 10 4321::107 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.107 vrf v1 sou lo0 r7 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 400 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 400 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout241.tst000066400000000000000000000233541510423065500172100ustar00rootroot00000000000000description p4lang: l2tp3 mpls pop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp3 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l3tp mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bvi1 l2tp3 9.9.9.1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout242.tst000066400000000000000000000233551510423065500172120ustar00rootroot00000000000000description p4lang: l2tp3 mpls push addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp3 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l3tp mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bvi1 l2tp3 9.9.9.1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout243.tst000066400000000000000000000266261510423065500172170ustar00rootroot00000000000000description p4lang: l2vpn over l2tp3 mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp3 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l3tp mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bvi1 l2tp3 9.9.9.1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.105 1234 vrf for v2 ipv4 addr 4.4.4.1 255.255.255.0 ipv6 addr 4444::1 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::105 1234 vrf for v2 ipv4 addr 4.4.6.1 255.255.255.0 ipv6 addr 4446::1 ffff:: exit int pweth1.123 vrf for v2 ipv4 addr 4.4.5.1 255.255.255.0 ipv6 addr 4445::1 ffff:: exit int pweth2.123 vrf for v2 ipv4 addr 4.4.7.1 255.255.255.0 ipv6 addr 4447::1 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.103 1234 vrf for v2 ipv4 addr 4.4.4.2 255.255.255.0 ipv6 addr 4444::2 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::103 1234 vrf for v2 ipv4 addr 4.4.6.2 255.255.255.0 ipv6 addr 4446::2 ffff:: exit int pweth1.123 vrf for v2 ipv4 addr 4.4.5.2 255.255.255.0 ipv6 addr 4445::2 ffff:: exit int pweth2.123 vrf for v2 ipv4 addr 4.4.7.2 255.255.255.0 ipv6 addr 4447::2 ffff:: exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 4.4.4.2 vrf v2 r3 tping 100 10 4.4.6.2 vrf v2 r3 tping 100 10 4444::2 vrf v2 r3 tping 100 10 4446::2 vrf v2 r5 tping 100 10 4.4.4.1 vrf v2 r5 tping 100 10 4.4.6.1 vrf v2 r5 tping 100 10 4444::1 vrf v2 r5 tping 100 10 4446::1 vrf v2 r3 tping 100 10 4.4.5.2 vrf v2 r3 tping 100 10 4.4.7.2 vrf v2 r3 tping 100 10 4445::2 vrf v2 r3 tping 100 10 4447::2 vrf v2 r5 tping 100 10 4.4.5.1 vrf v2 r5 tping 100 10 4.4.7.1 vrf v2 r5 tping 100 10 4445::1 vrf v2 r5 tping 100 10 4447::1 vrf v2 r1 dping sdn . r3 4.4.4.2 vrf v2 r1 dping sdn . r3 4446::2 vrf v2 freeRtr-25.11.9/cfg/p4lang-rout244.tst000066400000000000000000000306131510423065500172070ustar00rootroot00000000000000description p4lang: l3vpn over l2tp3 mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp3 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l3tp mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bvi1 l2tp3 9.9.9.1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.105 remote-as 1 neigh 2.2.2.105 update lo0 neigh 2.2.2.105 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::105 remote-as 1 neigh 4321::105 update lo0 neigh 4321::105 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.103 remote-as 1 neigh 2.2.2.103 update lo0 neigh 2.2.2.103 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::103 remote-as 1 neigh 4321::103 update lo0 neigh 4321::103 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 60 9.9.2.2 vrf v2 r5 tping 100 60 9.9.2.1 vrf v2 r3 tping 100 60 9992::2 vrf v2 r5 tping 100 60 9992::1 vrf v2 r3 tping 100 60 9.9.3.2 vrf v3 r5 tping 100 60 9.9.3.1 vrf v3 r3 tping 100 60 9993::2 vrf v3 r5 tping 100 60 9993::1 vrf v3 r3 tping 100 60 9.9.4.2 vrf v4 r5 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::2 vrf v4 r5 tping 100 60 9994::1 vrf v4 r1 dping sdn . r3 9.9.3.2 vrf v3 r1 dping sdn . r3 9993::2 vrf v3 freeRtr-25.11.9/cfg/p4lang-rout245.tst000066400000000000000000000241761510423065500172170ustar00rootroot00000000000000description p4lang: l2tp3 routing over ipv4 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 lo1 l2tp3 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l3tp route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 lo1 l2tp3 8.8.8.1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 8.8.8.2 vrf v2 r3 tping 100 30 8.8.8.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout246.tst000066400000000000000000000243501510423065500172120ustar00rootroot00000000000000description p4lang: l2tp3 routing over ipv6 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 ena exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit int virt1 enc ppp pseudo v2 lo1 l2tp3 8888::2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l3tp route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int virt1 enc ppp pseudo v2 lo1 l2tp3 8888::1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9999::2 vrf v2 r3 tping 100 30 9999::1 vrf v2 r1 tping 100 30 8888::2 vrf v2 r3 tping 100 30 8888::1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout247.tst000066400000000000000000000236011510423065500172110ustar00rootroot00000000000000description p4lang: l2tp3 routing over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1.222 l2tp3 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l3tp route vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bvi1.222 l2tp3 9.9.9.1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout248.tst000066400000000000000000000162311510423065500172130ustar00rootroot00000000000000description p4lang: l2tp3 routing over bundle addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 bun1 l2tp3 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature l3tp bundle int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bun1 l2tp3 9.9.9.1 1234 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r5 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout249.tst000066400000000000000000000240471510423065500172200ustar00rootroot00000000000000description p4lang: l2tp3 mpls over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1 l2tp3 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l3tp mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bvi1 l2tp3 9.9.9.1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout250.tst000066400000000000000000000240551510423065500172070ustar00rootroot00000000000000description p4lang: l2tp3 mpls over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit int virt1 enc ppp pseudo v2 sdn1 l2tp3 9999::2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l3tp mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int virt1 enc ppp pseudo v2 bvi1 l2tp3 9999::1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9999::2 vrf v2 r3 tping 100 30 9999::1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout251.tst000066400000000000000000000245021510423065500172050ustar00rootroot00000000000000description p4lang: l2tp3 mpls over ipv4 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 lo1 l2tp3 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l3tp mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 lo1 l2tp3 8.8.8.1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 8.8.8.2 vrf v2 r3 tping 100 30 8.8.8.1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout252.tst000066400000000000000000000246621510423065500172150ustar00rootroot00000000000000description p4lang: l2tp3 mpls over ipv6 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 ena exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit int virt1 enc ppp pseudo v2 lo1 l2tp3 8888::2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l3tp mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int virt1 enc ppp pseudo v2 lo1 l2tp3 8888::1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9999::2 vrf v2 r3 tping 100 30 9999::1 vrf v2 r1 tping 100 30 8888::2 vrf v2 r3 tping 100 30 8888::1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout253.tst000066400000000000000000000241131510423065500172050ustar00rootroot00000000000000description p4lang: l2tp3 mpls over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1.222 l2tp3 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l3tp mpls vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bvi1.222 l2tp3 9.9.9.1 1234 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout254.tst000066400000000000000000000167731510423065500172230ustar00rootroot00000000000000description p4lang: l2tp3 mpls over bundle addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 bun1 l2tp3 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature l3tp mpls bundle int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 bun1 l2tp3 9.9.9.1 1234 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r5 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout255.tst000066400000000000000000000130651510423065500172130ustar00rootroot00000000000000description p4lang: bridging over l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v8 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn3 l2tp3 9.9.9.2 1234 bridge-gr 1 vrf for v8 ipv4 addr 3.3.3.3 255.255.255.255 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v8 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge l3tp l3tptap int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 eth1 l2tp3 9.9.9.1 1234 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 30 9.9.9.2 vrf v2 r5 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r3 tping 100 30 1.1.1.1 vrf v1 r3 tping 100 30 1234:1::1 vrf v1 r4 tping 100 30 1.1.2.5 vrf v1 r4 tping 100 30 1234:2::5 vrf v1 r4 tping 100 30 1.1.2.6 vrf v1 r4 tping 100 30 1234:2::6 vrf v1 r5 tping 100 30 1.1.2.4 vrf v1 r5 tping 100 30 1234:2::4 vrf v1 r5 tping 100 30 1.1.2.6 vrf v1 r5 tping 100 30 1234:2::6 vrf v1 r6 tping 100 30 1.1.2.4 vrf v1 r6 tping 100 30 1234:2::4 vrf v1 r6 tping 100 30 1.1.2.5 vrf v1 r6 tping 100 30 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout256.tst000066400000000000000000000131361510423065500172130ustar00rootroot00000000000000description p4lang: bridging over l2tp3 vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v8 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 exit int sdn3.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn3.222 l2tp3 9.9.9.2 1234 bridge-gr 1 vrf for v8 ipv4 addr 3.3.3.3 255.255.255.255 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v8 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge l3tp l3tptap vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int virt1 enc ppp pseudo v2 eth1.222 l2tp3 9.9.9.1 1234 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 30 9.9.9.2 vrf v2 r5 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r3 tping 100 30 1.1.1.1 vrf v1 r3 tping 100 30 1234:1::1 vrf v1 r4 tping 100 30 1.1.2.5 vrf v1 r4 tping 100 30 1234:2::5 vrf v1 r4 tping 100 30 1.1.2.6 vrf v1 r4 tping 100 30 1234:2::6 vrf v1 r5 tping 100 30 1.1.2.4 vrf v1 r5 tping 100 30 1234:2::4 vrf v1 r5 tping 100 30 1.1.2.6 vrf v1 r5 tping 100 30 1234:2::6 vrf v1 r6 tping 100 30 1.1.2.4 vrf v1 r6 tping 100 30 1234:2::4 vrf v1 r6 tping 100 30 1.1.2.5 vrf v1 r6 tping 100 30 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout257.tst000066400000000000000000000274721510423065500172240ustar00rootroot00000000000000description p4lang: sdwan over ipv4 with l2tp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit aaa userlist usr username u password p username h password p exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 ipv4 pool p4 2.2.2.222 0.0.0.1 3 ipv6 pool p6 2222::222 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa hub h pool4 p4 pool6 p6 vrf v1 exit proxy-profile p1 vrf v1 source lo1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 2222::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user h pass p pref ipv4 calling 1701 para l2tp proto sdwan exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dyn vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.3 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.6 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::6 ! addother r2 controller r1 v9 9080 - feature route l2tp int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para l2tp proto sdwan exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para l2tp proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 2222::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para l2tp proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 2222::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para l2tp proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout258.tst000066400000000000000000000274721510423065500172250ustar00rootroot00000000000000description p4lang: sdwan over ipv6 with l2tp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit aaa userlist usr username u password p username h password p exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 ipv4 pool p4 2.2.2.222 0.0.0.1 3 ipv6 pool p6 2222::222 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa hub h pool4 p4 pool6 p6 vrf v1 exit proxy-profile p1 vrf v1 source lo1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 2222::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user h pass p pref ipv6 calling 1701 para l2tp proto sdwan exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dyn vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.3 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.6 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::6 ! addother r2 controller r1 v9 9080 - feature route l2tp int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para l2tp proto sdwan exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para l2tp proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 2222::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para l2tp proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 2222::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para l2tp proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout259.tst000066400000000000000000000274551510423065500172270ustar00rootroot00000000000000description p4lang: sdwan over ipv4 with l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit aaa userlist usr username u password p username h password p exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 ipv4 pool p4 2.2.2.222 0.0.0.1 3 ipv6 pool p6 2222::222 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa hub h pool4 p4 pool6 p6 vrf v1 exit proxy-profile p1 vrf v1 source lo1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 2222::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user h pass p pref ipv4 para l3tp proto sdwan exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dyn vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.3 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.6 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::6 ! addother r2 controller r1 v9 9080 - feature route l3tp int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para l3tp proto sdwan exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para l3tp proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 2222::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para l3tp proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 2222::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para l3tp proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout260.tst000066400000000000000000000274551510423065500172170ustar00rootroot00000000000000description p4lang: sdwan over ipv6 with l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit aaa userlist usr username u password p username h password p exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 ipv4 pool p4 2.2.2.222 0.0.0.1 3 ipv6 pool p6 2222::222 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa hub h pool4 p4 pool6 p6 vrf v1 exit proxy-profile p1 vrf v1 source lo1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 2222::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user h pass p pref ipv6 para l3tp proto sdwan exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dyn vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.3 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.6 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::6 ! addother r2 controller r1 v9 9080 - feature route l3tp int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para l3tp proto sdwan exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para l3tp proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 2222::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para l3tp proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc ppp vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 2222::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para l3tp proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout261.tst000066400000000000000000000274451510423065500172170ustar00rootroot00000000000000description p4lang: sdwan over ipv4 with gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit aaa userlist usr username u password p username h password p exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 ipv4 pool p4 2.2.2.222 0.0.0.1 3 ipv6 pool p6 2222::222 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa hub h pool4 p4 pool6 p6 vrf v1 exit proxy-profile p1 vrf v1 source lo1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 2222::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user h pass p pref ipv4 para gre proto sdwan exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dyn vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.3 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.6 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::6 ! addother r2 controller r1 v9 9080 - feature route gre int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para gre proto sdwan exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para gre proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 2222::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para gre proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 2222::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para gre proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout262.tst000066400000000000000000000274451510423065500172200ustar00rootroot00000000000000description p4lang: sdwan over ipv6 with gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit aaa userlist usr username u password p username h password p exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 ipv4 pool p4 2.2.2.222 0.0.0.1 3 ipv6 pool p6 2222::222 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa hub h pool4 p4 pool6 p6 vrf v1 exit proxy-profile p1 vrf v1 source lo1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 2222::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user h pass p pref ipv6 para gre proto sdwan exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dyn vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.3 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.6 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::6 ! addother r2 controller r1 v9 9080 - feature route gre int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para gre proto sdwan exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para gre proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 2222::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para gre proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 2222::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para gre proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout263.tst000066400000000000000000000274631510423065500172210ustar00rootroot00000000000000description p4lang: sdwan over ipv4 with amt addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit aaa userlist usr username u password p username h password p exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 ipv4 pool p4 2.2.2.222 0.0.0.1 3 ipv6 pool p6 2222::222 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa hub h pool4 p4 pool6 p6 vrf v1 exit proxy-profile p1 vrf v1 source lo1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 2222::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user h pass p pref ipv4 calling 2268 para amt proto sdwan exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dyn vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.3 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.6 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::6 ! addother r2 controller r1 v9 9080 - feature route amt int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para amt proto sdwan exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para amt proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 2222::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para amt proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 2222::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para amt proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout264.tst000066400000000000000000000274631510423065500172220ustar00rootroot00000000000000description p4lang: sdwan over ipv6 with amt addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit aaa userlist usr username u password p username h password p exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 ipv4 pool p4 2.2.2.222 0.0.0.1 3 ipv6 pool p6 2222::222 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa hub h pool4 p4 pool6 p6 vrf v1 exit proxy-profile p1 vrf v1 source lo1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 2222::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user h pass p pref ipv6 calling 2268 para amt proto sdwan exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dyn vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.3 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.6 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::6 ! addother r2 controller r1 v9 9080 - feature route amt int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para amt proto sdwan exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para amt proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 2222::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para amt proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 2222::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para amt proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout265.tst000066400000000000000000000274631510423065500172230ustar00rootroot00000000000000description p4lang: sdwan over ipv4 with gtp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit aaa userlist usr username u password p username h password p exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 ipv4 pool p4 2.2.2.222 0.0.0.1 3 ipv6 pool p6 2222::222 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa hub h pool4 p4 pool6 p6 vrf v1 exit proxy-profile p1 vrf v1 source lo1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 2222::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user h pass p pref ipv4 calling 2152 para gtp proto sdwan exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dyn vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.3 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.6 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::6 ! addother r2 controller r1 v9 9080 - feature route gtp int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para gtp proto sdwan exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para gtp proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 2222::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para gtp proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 2222::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para gtp proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout266.tst000066400000000000000000000274631510423065500172240ustar00rootroot00000000000000description p4lang: sdwan over ipv6 with gtp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit aaa userlist usr username u password p username h password p exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 ipv4 pool p4 2.2.2.222 0.0.0.1 3 ipv6 pool p6 2222::222 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa hub h pool4 p4 pool6 p6 vrf v1 exit proxy-profile p1 vrf v1 source lo1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 2222::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user h pass p pref ipv6 calling 2152 para gtp proto sdwan exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dyn vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.3 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.6 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::6 ! addother r2 controller r1 v9 9080 - feature route gtp int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para gtp proto sdwan exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para gtp proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 2222::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para gtp proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 2222::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para gtp proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout267.tst000066400000000000000000000236131510423065500172160ustar00rootroot00000000000000description p4lang: tmux routing over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout268.tst000066400000000000000000000236211510423065500172160ustar00rootroot00000000000000description p4lang: tmux routing over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit int tun1 tun vrf v2 tun source sdn1 tun destination 9999::2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int tun1 tun vrf v2 tun source bvi1 tun destination 9999::1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout269.tst000066400000000000000000000242461510423065500172230ustar00rootroot00000000000000description p4lang: tmux routing over ipv4 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8.8.8.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8.8.8.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout270.tst000066400000000000000000000244261510423065500172130ustar00rootroot00000000000000description p4lang: tmux routing over ipv6 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 ena exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit int tun1 tun vrf v2 tun source lo1 tun destination 8888::2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int tun1 tun vrf v2 tun source lo1 tun destination 8888::1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 8888::2 vrf v2 r3 tping 100 10 8888::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout271.tst000066400000000000000000000236571510423065500172210ustar00rootroot00000000000000description p4lang: tmux routing over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1.222 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux vlan route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1.222 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout272.tst000066400000000000000000000163151510423065500172130ustar00rootroot00000000000000description p4lang: tmux routing over bundle addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source bun1 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature tmux route bundle int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bun1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout273.tst000066400000000000000000000163471510423065500172210ustar00rootroot00000000000000description p4lang: tmux routing over bundle vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source bun1.222 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature tmux route bundle vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bun1.222 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout274.tst000066400000000000000000000246321510423065500172160ustar00rootroot00000000000000description p4lang: tmux routing over hairpin addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int hair11 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int hair12 vrf for v3 ipv4 addr 9.9.9.2 255.255.255.0 exit int sdn1 vrf for v3 ipv4 addr 9.9.8.1 255.255.255.0 exit ipv4 route v2 9.9.8.0 255.255.255.0 9.9.9.2 int tun1 tun vrf v2 tun source hair11 tun destination 9.9.8.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux route hairpin int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.8.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 9.9.9.0 255.255.255.0 9.9.8.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v3 r1 tping 100 10 9.9.9.1 vrf v3 r1 tping 100 10 9.9.8.2 vrf v3 r1 tping 100 10 9.9.8.1 vrf v3 r3 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r3 tping 100 10 9.9.8.2 vrf v2 r3 tping 100 10 9.9.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout275.tst000066400000000000000000000247171510423065500172230ustar00rootroot00000000000000description p4lang: tmux routing over hairpin vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int hair11.111 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int hair12.111 vrf for v3 ipv4 addr 9.9.9.2 255.255.255.0 exit int sdn1 vrf for v3 ipv4 addr 9.9.8.1 255.255.255.0 exit ipv4 route v2 9.9.8.0 255.255.255.0 9.9.9.2 int tun1 tun vrf v2 tun source hair11.111 tun destination 9.9.8.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux route vlan hairpin int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.8.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 9.9.9.0 255.255.255.0 9.9.8.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v3 r1 tping 100 10 9.9.9.1 vrf v3 r1 tping 100 10 9.9.9.2 vrf v2 r1 tping 100 10 9.9.8.2 vrf v3 r1 tping 100 10 9.9.8.1 vrf v3 r3 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r3 tping 100 10 9.9.8.2 vrf v2 r3 tping 100 10 9.9.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout276.tst000066400000000000000000000237521510423065500172220ustar00rootroot00000000000000description p4lang: tmux routing over bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout277.tst000066400000000000000000000240061510423065500172140ustar00rootroot00000000000000description p4lang: tmux routing over vlan bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 exit int sdn1.222 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1.222 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout278.tst000066400000000000000000000241251510423065500172170ustar00rootroot00000000000000description p4lang: tmux mpls over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout279.tst000066400000000000000000000241331510423065500172170ustar00rootroot00000000000000description p4lang: tmux mpls over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit int tun1 tun vrf v2 tun source sdn1 tun destination 9999::2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int tun1 tun vrf v2 tun source bvi1 tun destination 9999::1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout280.tst000066400000000000000000000245601510423065500172130ustar00rootroot00000000000000description p4lang: tmux mpls over ipv4 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8.8.8.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8.8.8.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout281.tst000066400000000000000000000247401510423065500172140ustar00rootroot00000000000000description p4lang: tmux mpls over ipv6 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 ena exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit int tun1 tun vrf v2 tun source lo1 tun destination 8888::2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int tun1 tun vrf v2 tun source lo1 tun destination 8888::1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 8888::2 vrf v2 r3 tping 100 10 8888::1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout282.tst000066400000000000000000000241711510423065500172130ustar00rootroot00000000000000description p4lang: tmux mpls over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1.222 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux vlan mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1.222 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout283.tst000066400000000000000000000170511510423065500172130ustar00rootroot00000000000000description p4lang: tmux mpls over bundle addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source bun1 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature tmux mpls bundle int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bun1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout284.tst000066400000000000000000000171031510423065500172120ustar00rootroot00000000000000description p4lang: tmux mpls over bundle vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source bun1.222 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature tmux mpls bundle vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bun1.222 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout285.tst000066400000000000000000000252031510423065500172130ustar00rootroot00000000000000description p4lang: tmux mpls over hairpin addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int hair11 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int hair12 vrf for v3 ipv4 addr 9.9.9.2 255.255.255.0 exit int sdn1 vrf for v3 ipv4 addr 9.9.8.1 255.255.255.0 exit ipv4 route v2 9.9.8.0 255.255.255.0 9.9.9.2 int tun1 tun vrf v2 tun source hair11 tun destination 9.9.8.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux mpls hairpin int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.8.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v2 9.9.9.0 255.255.255.0 9.9.8.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v3 r1 tping 100 10 9.9.9.1 vrf v3 r1 tping 100 10 9.9.9.2 vrf v2 r1 tping 100 10 9.9.8.2 vrf v3 r1 tping 100 10 9.9.8.1 vrf v3 r3 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r3 tping 100 10 9.9.8.2 vrf v2 r3 tping 100 10 9.9.8.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout286.tst000066400000000000000000000252311510423065500172150ustar00rootroot00000000000000description p4lang: tmux mpls over hairpin vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int hair11.111 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int hair12.111 vrf for v3 ipv4 addr 9.9.9.2 255.255.255.0 exit int sdn1 vrf for v3 ipv4 addr 9.9.8.1 255.255.255.0 exit ipv4 route v2 9.9.8.0 255.255.255.0 9.9.9.2 int tun1 tun vrf v2 tun source hair11.111 tun destination 9.9.8.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux mpls vlan hairpin int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.8.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v2 9.9.9.0 255.255.255.0 9.9.8.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v3 r1 tping 100 10 9.9.9.1 vrf v3 r1 tping 100 10 9.9.9.2 vrf v2 r1 tping 100 10 9.9.8.2 vrf v3 r1 tping 100 10 9.9.8.1 vrf v3 r3 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r3 tping 100 10 9.9.8.2 vrf v2 r3 tping 100 10 9.9.8.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout287.tst000066400000000000000000000242721510423065500172220ustar00rootroot00000000000000description p4lang: tmux mpls over bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux mpls route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout288.tst000066400000000000000000000243331510423065500172210ustar00rootroot00000000000000description p4lang: tmux mpls over vlan bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 exit int sdn1.222 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux mpls vlan route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1.222 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout289.tst000066400000000000000000000131431510423065500172170ustar00rootroot00000000000000description p4lang: bridging over tmux addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v8 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn3 tun destination 9.9.9.2 tun mode tmux bridge-gr 1 vrf for v8 ipv4 addr 3.3.3.3 255.255.255.255 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v8 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge tmux tmuxtap int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source eth1 tun destination 9.9.9.1 tun mode tmux bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout290.tst000066400000000000000000000132141510423065500172060ustar00rootroot00000000000000description p4lang: bridging over tmux vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v8 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 exit int sdn3.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn3.222 tun destination 9.9.9.2 tun mode tmux bridge-gr 1 vrf for v8 ipv4 addr 3.3.3.3 255.255.255.255 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v8 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge tmux tmuxtap vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source eth1.222 tun destination 9.9.9.1 tun mode tmux bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout291.tst000066400000000000000000000256561510423065500172240ustar00rootroot00000000000000description p4lang: mldp core over tmux addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route tmux duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout292.tst000066400000000000000000000267251510423065500172230ustar00rootroot00000000000000description p4lang: bier core over tmux addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ! addother r2 controller r1 v9 9080 - feature route tmux bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.5555 $7a$ $7b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth2 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.7 bier 256 10 7 red conn exit router lsrp6 1 vrf v1 router 6.6.6.7 bier 256 10 7 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.5.1 ipv6 mroute v1 :: :: 1234:5::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.5.2 vrf v1 r3 tping 100 10 1234:5::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.5.2 vrf v1 r4 tping 100 10 1234:5::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.5.2 vrf v1 r5 tping 100 10 1234:5::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.5.2 vrf v1 r6 tping 100 10 1234:5::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.5.2 vrf v1 r7 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.107 vrf v1 sou lo0 r1 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 r3 tping 100 10 4321::107 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.107 vrf v1 sou lo0 r4 tping 100 10 4321::107 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.107 vrf v1 sou lo0 r5 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.107 vrf v1 sou lo0 r6 tping 100 10 4321::107 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.107 vrf v1 sou lo0 r7 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 400 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 400 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout293.tst000066400000000000000000000234321510423065500172140ustar00rootroot00000000000000description p4lang: tmux mpls pop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout294.tst000066400000000000000000000234331510423065500172160ustar00rootroot00000000000000description p4lang: tmux mpls push addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout295.tst000066400000000000000000000267041510423065500172230ustar00rootroot00000000000000description p4lang: l2vpn over tmux mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.105 1234 vrf for v2 ipv4 addr 4.4.4.1 255.255.255.0 ipv6 addr 4444::1 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::105 1234 vrf for v2 ipv4 addr 4.4.6.1 255.255.255.0 ipv6 addr 4446::1 ffff:: exit int pweth1.123 vrf for v2 ipv4 addr 4.4.5.1 255.255.255.0 ipv6 addr 4445::1 ffff:: exit int pweth2.123 vrf for v2 ipv4 addr 4.4.7.1 255.255.255.0 ipv6 addr 4447::1 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.103 1234 vrf for v2 ipv4 addr 4.4.4.2 255.255.255.0 ipv6 addr 4444::2 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::103 1234 vrf for v2 ipv4 addr 4.4.6.2 255.255.255.0 ipv6 addr 4446::2 ffff:: exit int pweth1.123 vrf for v2 ipv4 addr 4.4.5.2 255.255.255.0 ipv6 addr 4445::2 ffff:: exit int pweth2.123 vrf for v2 ipv4 addr 4.4.7.2 255.255.255.0 ipv6 addr 4447::2 ffff:: exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 4.4.4.2 vrf v2 r3 tping 100 10 4.4.6.2 vrf v2 r3 tping 100 10 4444::2 vrf v2 r3 tping 100 10 4446::2 vrf v2 r5 tping 100 10 4.4.4.1 vrf v2 r5 tping 100 10 4.4.6.1 vrf v2 r5 tping 100 10 4444::1 vrf v2 r5 tping 100 10 4446::1 vrf v2 r3 tping 100 10 4.4.5.2 vrf v2 r3 tping 100 10 4.4.7.2 vrf v2 r3 tping 100 10 4445::2 vrf v2 r3 tping 100 10 4447::2 vrf v2 r5 tping 100 10 4.4.5.1 vrf v2 r5 tping 100 10 4.4.7.1 vrf v2 r5 tping 100 10 4445::1 vrf v2 r5 tping 100 10 4447::1 vrf v2 r1 dping sdn . r3 4.4.4.2 vrf v2 r1 dping sdn . r3 4446::2 vrf v2 freeRtr-25.11.9/cfg/p4lang-rout296.tst000066400000000000000000000306711510423065500172220ustar00rootroot00000000000000description p4lang: l3vpn over tmux mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode tmux vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature tmux mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode tmux vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.105 remote-as 1 neigh 2.2.2.105 update lo0 neigh 2.2.2.105 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::105 remote-as 1 neigh 4321::105 update lo0 neigh 4321::105 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.103 remote-as 1 neigh 2.2.2.103 update lo0 neigh 2.2.2.103 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::103 remote-as 1 neigh 4321::103 update lo0 neigh 4321::103 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 60 9.9.2.2 vrf v2 r5 tping 100 60 9.9.2.1 vrf v2 r3 tping 100 60 9992::2 vrf v2 r5 tping 100 60 9992::1 vrf v2 r3 tping 100 60 9.9.3.2 vrf v3 r5 tping 100 60 9.9.3.1 vrf v3 r3 tping 100 60 9993::2 vrf v3 r5 tping 100 60 9993::1 vrf v3 r3 tping 100 60 9.9.4.2 vrf v4 r5 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::2 vrf v4 r5 tping 100 60 9994::1 vrf v4 r1 dping sdn . r3 9.9.3.2 vrf v3 r1 dping sdn . r3 9993::2 vrf v3 freeRtr-25.11.9/cfg/p4lang-rout297.tst000066400000000000000000000274721510423065500172300ustar00rootroot00000000000000description p4lang: sdwan over ipv4 with tmux addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit aaa userlist usr username u password p username h password p exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 ipv4 pool p4 2.2.2.222 0.0.0.1 3 ipv6 pool p6 2222::222 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa hub h pool4 p4 pool6 p6 vrf v1 exit proxy-profile p1 vrf v1 source lo1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 2222::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user h pass p pref ipv4 calling 2152 para tmux proto sdwan exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dyn vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.3 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.6 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::6 ! addother r2 controller r1 v9 9080 - feature route tmux int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para tmux proto sdwan exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para tmux proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 2222::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para tmux proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 2222::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para tmux proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout298.tst000066400000000000000000000274721510423065500172310ustar00rootroot00000000000000description p4lang: sdwan over ipv6 with tmux addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit aaa userlist usr username u password p username h password p exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 ipv4 pool p4 2.2.2.222 0.0.0.1 3 ipv6 pool p6 2222::222 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa hub h pool4 p4 pool6 p6 vrf v1 exit proxy-profile p1 vrf v1 source lo1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 2222::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user h pass p pref ipv6 calling 2152 para tmux proto sdwan exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dyn vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.3 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.6 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::6 ! addother r2 controller r1 v9 9080 - feature route tmux int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para tmux proto sdwan exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para tmux proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 2222::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para tmux proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 2222::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para tmux proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout299.tst000066400000000000000000000126531510423065500172250ustar00rootroot00000000000000description p4lang: etherip over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit proxy-profile p2 vrf v2 exit vpdn vx bridge-group 1 proxy p2 target 9.9.9.2 vcid 2554 protocol etherip exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge etherip int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 eth1 etherip 9.9.9.1 2554 exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout300.tst000066400000000000000000000126611510423065500172030ustar00rootroot00000000000000description p4lang: etherip over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit proxy-profile p2 vrf v2 exit vpdn vx bridge-group 1 proxy p2 target 9999::2 vcid 2554 protocol etherip exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge etherip int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 eth1 etherip 9999::1 2554 exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9999::2 vrf v2 r5 tping 100 10 9999::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout301.tst000066400000000000000000000133231510423065500172000ustar00rootroot00000000000000description p4lang: etherip over ipv4 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit proxy-profile p2 source lo1 vrf v2 exit vpdn vx bridge-group 1 proxy p2 target 8.8.8.2 vcid 2554 protocol etherip exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge etherip int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit int eth1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 lo1 etherip 8.8.8.1 2554 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r5 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout302.tst000066400000000000000000000135031510423065500172010ustar00rootroot00000000000000description p4lang: etherip over ipv6 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 ena exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit proxy-profile p2 source lo1 vrf v2 exit vpdn vx bridge-group 1 proxy p2 target 8888::2 vcid 2554 protocol etherip exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge etherip int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 lo1 etherip 8888::1 2554 exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9999::2 vrf v2 r5 tping 100 10 9999::1 vrf v2 r1 tping 100 10 8888::2 vrf v2 r5 tping 100 10 8888::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout303.tst000066400000000000000000000127131510423065500172040ustar00rootroot00000000000000description p4lang: etherip over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 exit int sdn3.111 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit proxy-profile p2 vrf v2 exit vpdn vx bridge-group 1 proxy p2 target 9.9.9.2 vcid 2554 protocol etherip exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge etherip vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 eth1.111 etherip 9.9.9.1 2554 exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout304.tst000066400000000000000000000106541510423065500172070ustar00rootroot00000000000000description p4lang: etherip over bundle addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit proxy-profile p2 vrf v2 exit vpdn vx bridge-group 1 proxy p2 target 9.9.9.2 vcid 2554 protocol etherip exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge etherip bundle int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 bun1 etherip 9.9.9.1 2554 exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout305.tst000066400000000000000000000125511510423065500172060ustar00rootroot00000000000000description p4lang: etherip server over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit server etherip pou bridge 1 vrf v2 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge etherip int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 eth1 etherip 9.9.9.1 2554 exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout306.tst000066400000000000000000000125571510423065500172150ustar00rootroot00000000000000description p4lang: etherip server over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit server etherip pou bridge 1 vrf v2 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge etherip int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 eth1 etherip 9999::1 2554 exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9999::2 vrf v2 r5 tping 100 10 9999::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout307.tst000066400000000000000000000132051510423065500172050ustar00rootroot00000000000000description p4lang: etherip server over ipv4 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit server etherip pou bridge 1 vrf v2 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge etherip int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit int eth1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 lo1 etherip 8.8.8.1 2554 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r5 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout308.tst000066400000000000000000000133651510423065500172150ustar00rootroot00000000000000description p4lang: etherip server over ipv6 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 ena exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit server etherip pou bridge 1 vrf v2 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge etherip int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 lo1 etherip 8888::1 2554 exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9999::2 vrf v2 r5 tping 100 10 9999::1 vrf v2 r1 tping 100 10 8888::2 vrf v2 r5 tping 100 10 8888::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout309.tst000066400000000000000000000133501510423065500172100ustar00rootroot00000000000000description p4lang: gre local connect addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v8 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v2 ipv4 addr 9.9.8.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn2 tun destination 9.9.8.2 tun mode gre vrf for v8 ipv4 addr 3.3.3.3 255.255.255.255 exit int sdn3 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun2 tun vrf v2 tun source sdn3 tun destination 9.9.9.2 tun mode gre vrf for v8 ipv4 addr 3.3.3.3 255.255.255.255 connect tun1 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v8 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic export-port tun2 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre loconn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 9.9.8.2 255.255.255.0 exit int tun1 tun vrf v2 tun source eth1 tun destination 9.9.8.1 tun mode gre vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source eth1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 9.9.8.2 vrf v2 r4 tping 100 10 9.9.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.4.1 vrf v1 r6 tping 100 10 1234:4::1 vrf v1 r4 tping 100 10 2.2.2.2 vrf v1 r4 tping 100 10 4321::2 vrf v1 r5 tping 100 10 2.2.2.1 vrf v1 r5 tping 100 10 4321::1 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.2 vrf v1 r1 dping sdn . r4 4321::2 vrf v1 freeRtr-25.11.9/cfg/p4lang-rout310.tst000066400000000000000000000256451510423065500172120ustar00rootroot00000000000000description p4lang: gre multicast routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn2 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multicast host-enable ipv4 multicast host-proxy ipv6 multicast host-enable ipv6 multicast host-proxy exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.4.2 ipv6 mroute v1 :: :: 1234:4::2 server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre route mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source eth1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 multicast host-enable ipv4 multicast host-proxy ipv6 multicast host-enable ipv6 multicast host-proxy exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r4 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 30 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 30 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout311.tst000066400000000000000000000316611510423065500172060ustar00rootroot00000000000000description p4lang: multicast routing over backplane addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ int eth3 eth 0000.0000.1111 $7a$ $7b$ int eth4 eth 0000.0000.1111 $8b$ $8a$ int eth5 eth 0000.0000.1111 $13a$ $13b$ int eth6 eth 0000.0000.1111 $14b$ $14a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int eth3 vrf for v9 ipv4 addr 10.12.13.254 255.255.255.0 exit int eth4 exit server dhcp4 eth3 pool 10.12.13.1 10.12.13.99 gateway 10.12.13.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.3333 10.12.13.111 interface eth3 vrf v9 exit int eth5 vrf for v9 ipv4 addr 10.13.14.254 255.255.255.0 exit int eth6 exit server dhcp4 eth5 pool 10.13.14.1 10.13.14.99 gateway 10.13.14.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.4444 10.13.14.111 interface eth5 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit bundle 2 exit bundle 3 exit bundle 4 exit int sdn11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn12 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int bun1.111 vrf for v1 mpls ena exit int sdn13 bundle-gr 1 exit int sdn14 bundle-gr 1 exit int sdn21 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn22 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit int bun2.111 vrf for v1 mpls ena exit int sdn23 bundle-gr 2 exit int sdn24 bundle-gr 2 exit int bun3.111 vrf for v1 mpls ena exit int sdn31 bundle-gr 3 exit int sdn32 bundle-gr 3 exit int bun4.111 vrf for v1 mpls ena exit int sdn33 bundle-gr 4 exit int sdn34 bundle-gr 4 exit server p4lang a interconnect eth2 export-vrf v1 export-port sdn11 1 10 export-port sdn12 2 10 export-port sdn13 3 10 export-port sdn14 4 10 export-port bun1 dynamic exit server p4lang b interconnect eth4 export-vrf v1 export-port sdn21 1 10 export-port sdn22 2 10 export-port sdn23 3 10 export-port sdn24 4 10 export-port bun2 dynamic exit server p4lang c interconnect eth6 export-vrf v1 export-port sdn31 1 10 export-port sdn32 2 10 export-port sdn33 3 10 export-port sdn34 4 10 export-port bun3 dynamic export-port bun4 dynamic exit server stack s dataplanes 4 forwarder 1 p4lang a forwarder 1 backplane bun1.111 1 forwarder 1 remote 10.11.12.111 forwarder 2 p4lang b forwarder 2 backplane bun2.111 1 forwarder 2 remote 10.12.13.111 forwarder 3 p4lang c forwarder 3 backplane bun3.111 1 forwarder 3 backplane bun4.111 1 forwarder 3 remote 10.13.14.111 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.4.2 ipv6 mroute v1 :: :: 1234:4::2 ! addother r2 controller r1 v9 9080 10.11.12.111 feature bundle mpls route mroute duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addother r3 controller r1 v9 9080 10.12.13.111 feature bundle mpls route mroute duplab int eth1 eth 0000.0000.3333 $7b$ $7a$ int eth2 eth 0000.0000.3333 $8a$ $8b$ int eth3 eth 0000.0000.3333 $9a$ $9b$ int eth4 eth 0000.0000.3333 $10a$ $10b$ int eth5 eth 0000.0000.3333 $11a$ $11b$ int eth6 eth 0000.0000.3333 $12a$ $12b$ ! ! addother r4 controller r1 v9 9080 10.13.14.111 feature bundle mpls route mroute duplab int eth1 eth 0000.0000.4444 $13b$ $13a$ int eth2 eth 0000.0000.4444 $14a$ $14b$ int eth3 eth 0000.0000.4444 $5b$ $5a$ int eth4 eth 0000.0000.4444 $6b$ $6a$ int eth5 eth 0000.0000.4444 $11b$ $11a$ int eth6 eth 0000.0000.4444 $12b$ $12a$ ! ! addrouter r5 int eth1 eth 0000.0000.5555 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r7 int eth1 eth 0000.0000.7777 $9b$ $9a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r8 int eth1 eth 0000.0000.8888 $10b$ $10a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r8 tping 100 10 1.1.1.2 vrf v1 r8 tping 100 10 1234:1::2 vrf v1 r8 tping 100 10 1.1.2.2 vrf v1 r8 tping 100 10 1234:2::2 vrf v1 r8 tping 100 10 1.1.3.2 vrf v1 r8 tping 100 10 1234:3::2 vrf v1 r8 tping 100 10 1.1.4.2 vrf v1 r8 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r8 tping 100 10 2.2.2.101 vrf v1 sou lo0 r8 tping 100 10 4321::101 vrf v1 sou lo0 r8 tping 100 10 2.2.2.103 vrf v1 sou lo0 r8 tping 100 10 4321::103 vrf v1 sou lo0 r8 tping 100 10 2.2.2.104 vrf v1 sou lo0 r8 tping 100 10 4321::104 vrf v1 sou lo0 r8 tping 100 10 2.2.2.105 vrf v1 sou lo0 r8 tping 100 10 4321::105 vrf v1 sou lo0 r8 tping 100 10 2.2.2.106 vrf v1 sou lo0 r8 tping 100 10 4321::106 vrf v1 sou lo0 r8 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r8 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r8 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r8 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout312.tst000066400000000000000000000255041510423065500172060ustar00rootroot00000000000000description p4lang: polka over backplane addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ int eth3 eth 0000.0000.1111 $7a$ $7b$ int eth4 eth 0000.0000.1111 $8b$ $8a$ int eth5 eth 0000.0000.1111 $13a$ $13b$ int eth6 eth 0000.0000.1111 $14b$ $14a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int eth3 vrf for v9 ipv4 addr 10.12.13.254 255.255.255.0 exit int eth4 exit server dhcp4 eth3 pool 10.12.13.1 10.12.13.99 gateway 10.12.13.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.3333 10.12.13.111 interface eth3 vrf v9 exit int eth5 vrf for v9 ipv4 addr 10.13.14.254 255.255.255.0 exit int eth6 exit server dhcp4 eth5 pool 10.13.14.1 10.13.14.99 gateway 10.13.14.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.4444 10.13.14.111 interface eth5 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 pop justadvert lo0 exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 pop justadvert lo0 exit bundle 1 exit bundle 2 exit bundle 3 exit bundle 4 exit int sdn11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int sdn12 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int bun1 vrf for v1 mpls ena polka enable 1 65536 10 exit int sdn13 bundle-gr 1 exit int sdn14 bundle-gr 1 exit int sdn21 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int sdn22 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int bun2 vrf for v1 mpls ena polka enable 1 65536 10 exit int sdn23 bundle-gr 2 exit int sdn24 bundle-gr 2 exit int bun3 vrf for v1 mpls ena polka enable 1 65536 10 exit int sdn31 bundle-gr 3 exit int sdn32 bundle-gr 3 exit int bun4 vrf for v1 mpls ena polka enable 1 65536 10 exit int sdn33 bundle-gr 4 exit int sdn34 bundle-gr 4 exit server p4lang a interconnect eth2 export-vrf v1 export-port sdn11 1 10 export-port sdn12 2 10 export-port sdn13 3 10 export-port sdn14 4 10 export-port bun1 dynamic exit server p4lang b interconnect eth4 export-vrf v1 export-port sdn21 1 10 export-port sdn22 2 10 export-port sdn23 3 10 export-port sdn24 4 10 export-port bun2 dynamic exit server p4lang c interconnect eth6 export-vrf v1 export-port sdn31 1 10 export-port sdn32 2 10 export-port sdn33 3 10 export-port sdn34 4 10 export-port bun3 dynamic export-port bun4 dynamic exit server stack s dataplanes 4 forwarder 1 p4lang a forwarder 1 backplane bun1 1 forwarder 1 remote 10.11.12.111 forwarder 2 p4lang b forwarder 2 backplane bun2 1 forwarder 2 remote 10.12.13.111 forwarder 3 p4lang c forwarder 3 backplane bun3 1 forwarder 3 backplane bun4 1 forwarder 3 remote 10.13.14.111 vrf v9 exit ! addother r2 controller r1 v9 9080 10.11.12.111 feature bundle mpls route polka int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addother r3 controller r1 v9 9080 10.12.13.111 feature bundle mpls route polka int eth1 eth 0000.0000.3333 $7b$ $7a$ int eth2 eth 0000.0000.3333 $8a$ $8b$ int eth3 eth 0000.0000.3333 $9a$ $9b$ int eth4 eth 0000.0000.3333 $10a$ $10b$ int eth5 eth 0000.0000.3333 $11a$ $11b$ int eth6 eth 0000.0000.3333 $12a$ $12b$ ! ! addother r4 controller r1 v9 9080 10.13.14.111 feature bundle mpls route polka int eth1 eth 0000.0000.4444 $13b$ $13a$ int eth2 eth 0000.0000.4444 $14a$ $14b$ int eth3 eth 0000.0000.4444 $5b$ $5a$ int eth4 eth 0000.0000.4444 $6b$ $6a$ int eth5 eth 0000.0000.4444 $11b$ $11a$ int eth6 eth 0000.0000.4444 $12b$ $12a$ ! ! addrouter r5 int eth1 eth 0000.0000.5555 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 justadvert lo0 justadvert bvi1 exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 justadvert lo0 justadvert bvi1 exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.106 tun doma 2.2.2.101 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.11.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::106 tun doma 4321::101 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:11::2 ffff:ffff:: exit ! addrouter r6 int eth1 eth 0000.0000.6666 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 4 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r7 int eth1 eth 0000.0000.7777 $9b$ $9a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.5 segrout 10 5 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.5 segrout 10 5 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable polka enable 5 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r8 int eth1 eth 0000.0000.8888 $10b$ $10a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.6 segrout 10 6 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.6 segrout 10 6 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable polka enable 6 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.103 tun doma 2.2.2.101 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.11.1 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::103 tun doma 4321::101 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:11::1 ffff:ffff:: exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r8 tping 100 10 1.1.1.2 vrf v1 r8 tping 100 10 1234:1::2 vrf v1 r8 tping 100 10 1.1.2.2 vrf v1 r8 tping 100 10 1234:2::2 vrf v1 r8 tping 100 10 1.1.3.2 vrf v1 r8 tping 100 10 1234:3::2 vrf v1 r8 tping 100 10 1.1.4.2 vrf v1 r8 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r8 tping 100 10 2.2.2.101 vrf v1 sou lo0 r8 tping 100 10 4321::101 vrf v1 sou lo0 r8 tping 100 10 2.2.2.103 vrf v1 sou lo0 r8 tping 100 10 4321::103 vrf v1 sou lo0 r8 tping 100 10 2.2.2.104 vrf v1 sou lo0 r8 tping 100 10 4321::104 vrf v1 sou lo0 r8 tping 100 10 2.2.2.105 vrf v1 sou lo0 r8 tping 100 10 4321::105 vrf v1 sou lo0 r8 tping 100 10 2.2.2.106 vrf v1 sou lo0 r8 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 1.1.11.1 vrf v1 r5 tping 100 10 1234:11::1 vrf v1 r8 tping 100 10 1.1.11.2 vrf v1 r8 tping 100 10 1234:11::2 vrf v1 r1 dping sdn . r8 1.1.11.2 vrf v1 sou lo0 r1 dping sdn . r8 1234:11::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout313.tst000066400000000000000000000424171510423065500172110ustar00rootroot00000000000000description p4lang: nsh over backplane addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ int eth3 eth 0000.0000.1111 $7a$ $7b$ int eth4 eth 0000.0000.1111 $8b$ $8a$ int eth5 eth 0000.0000.1111 $13a$ $13b$ int eth6 eth 0000.0000.1111 $14b$ $14a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int eth3 vrf for v9 ipv4 addr 10.12.13.254 255.255.255.0 exit int eth4 exit server dhcp4 eth3 pool 10.12.13.1 10.12.13.99 gateway 10.12.13.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.3333 10.12.13.111 interface eth3 vrf v9 exit int eth5 vrf for v9 ipv4 addr 10.13.14.254 255.255.255.0 exit int eth6 exit server dhcp4 eth5 pool 10.13.14.1 10.13.14.99 gateway 10.13.14.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.4444 10.13.14.111 interface eth5 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit bundle 2 exit bundle 3 exit bundle 4 exit int sdn11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena nsh ena exit int sdn12 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena nsh ena exit int bun1 vrf for v1 mpls ena nsh ena exit int sdn13 bundle-gr 1 exit int sdn14 bundle-gr 1 exit int sdn21 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena nsh ena exit int sdn22 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena nsh ena exit int bun2 vrf for v1 mpls ena nsh ena exit int sdn23 bundle-gr 2 exit int sdn24 bundle-gr 2 exit int bun3 vrf for v1 mpls ena nsh ena exit int sdn31 bundle-gr 3 exit int sdn32 bundle-gr 3 exit int bun4 vrf for v1 mpls ena nsh ena exit int sdn33 bundle-gr 4 exit int sdn34 bundle-gr 4 exit server p4lang a interconnect eth2 export-vrf v1 export-port sdn11 1 10 export-port sdn12 2 10 export-port sdn13 3 10 export-port sdn14 4 10 export-port bun1 dynamic exit server p4lang b interconnect eth4 export-vrf v1 export-port sdn21 1 10 export-port sdn22 2 10 export-port sdn23 3 10 export-port sdn24 4 10 export-port bun2 dynamic exit server p4lang c interconnect eth6 export-vrf v1 export-port sdn31 1 10 export-port sdn32 2 10 export-port sdn33 3 10 export-port sdn34 4 10 export-port bun3 dynamic export-port bun4 dynamic exit server stack s dataplanes 4 forwarder 1 p4lang a forwarder 1 backplane bun1 1 forwarder 1 remote 10.11.12.111 forwarder 2 p4lang b forwarder 2 backplane bun2 1 forwarder 2 remote 10.12.13.111 forwarder 3 p4lang c forwarder 3 backplane bun3 1 forwarder 3 backplane bun4 1 forwarder 3 remote 10.13.14.111 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 nsh 1001 122 rou v1 nsh 1003 122 int sdn11 0000.0000.3333 nsh 1004 122 int sdn12 0000.0000.4444 nsh 1005 122 int sdn21 0000.0000.5555 nsh 1006 122 int sdn22 0000.0000.6666 ! addother r2 controller r1 v9 9080 10.11.12.111 feature bundle mpls route nsh int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addother r3 controller r1 v9 9080 10.12.13.111 feature bundle mpls route nsh int eth1 eth 0000.0000.3333 $7b$ $7a$ int eth2 eth 0000.0000.3333 $8a$ $8b$ int eth3 eth 0000.0000.3333 $9a$ $9b$ int eth4 eth 0000.0000.3333 $10a$ $10b$ int eth5 eth 0000.0000.3333 $11a$ $11b$ int eth6 eth 0000.0000.3333 $12a$ $12b$ ! ! addother r4 controller r1 v9 9080 10.13.14.111 feature bundle mpls route nsh int eth1 eth 0000.0000.4444 $13b$ $13a$ int eth2 eth 0000.0000.4444 $14a$ $14b$ int eth3 eth 0000.0000.4444 $5b$ $5a$ int eth4 eth 0000.0000.4444 $6b$ $6a$ int eth5 eth 0000.0000.4444 $11b$ $11a$ int eth6 eth 0000.0000.4444 $12b$ $12a$ ! ! addrouter r5 int eth1 eth 0000.0000.5555 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: nsh ena exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 access-list test14 permit 1 any all 2.2.2.101 255.255.255.255 all exit access-list test16 permit 58 any all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test34 permit 1 any all 2.2.2.103 255.255.255.255 all exit access-list test36 permit 58 any all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test44 permit 1 any all 2.2.2.104 255.255.255.255 all exit access-list test46 permit 58 any all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test54 permit 1 any all 2.2.2.105 255.255.255.255 all exit access-list test56 permit 58 any all 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test64 permit 1 any all 2.2.2.106 255.255.255.255 all exit access-list test66 permit 58 any all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit nsh 1001 123 int eth1 0000.0000.1111 nsh 1003 121 rou v1 nsh 1004 123 int eth1 0000.0000.1111 nsh 1005 123 int eth1 0000.0000.1111 nsh 1006 123 int eth1 0000.0000.1111 ipv4 pbr v1 test14 v1 nsh 1001 123 ipv6 pbr v1 test16 v1 nsh 1001 123 ipv4 pbr v1 test44 v1 nsh 1004 123 ipv6 pbr v1 test46 v1 nsh 1004 123 ipv4 pbr v1 test54 v1 nsh 1005 123 ipv6 pbr v1 test56 v1 nsh 1005 123 ipv4 pbr v1 test64 v1 nsh 1006 123 ipv6 pbr v1 test66 v1 nsh 1006 123 ! addrouter r6 int eth1 eth 0000.0000.6666 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: nsh ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 access-list test14 permit 1 any all 2.2.2.101 255.255.255.255 all exit access-list test16 permit 58 any all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test34 permit 1 any all 2.2.2.103 255.255.255.255 all exit access-list test36 permit 58 any all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test44 permit 1 any all 2.2.2.104 255.255.255.255 all exit access-list test46 permit 58 any all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test54 permit 1 any all 2.2.2.105 255.255.255.255 all exit access-list test56 permit 58 any all 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test64 permit 1 any all 2.2.2.106 255.255.255.255 all exit access-list test66 permit 58 any all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit nsh 1001 123 int eth1 0000.0000.1111 nsh 1003 123 int eth1 0000.0000.1111 nsh 1004 121 rou v1 nsh 1005 123 int eth1 0000.0000.1111 nsh 1006 123 int eth1 0000.0000.1111 ipv4 pbr v1 test14 v1 nsh 1001 123 ipv6 pbr v1 test16 v1 nsh 1001 123 ipv4 pbr v1 test34 v1 nsh 1003 123 ipv6 pbr v1 test36 v1 nsh 1003 123 ipv4 pbr v1 test54 v1 nsh 1005 123 ipv6 pbr v1 test56 v1 nsh 1005 123 ipv4 pbr v1 test64 v1 nsh 1006 123 ipv6 pbr v1 test66 v1 nsh 1006 123 ! addrouter r7 int eth1 eth 0000.0000.7777 $9b$ $9a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: nsh ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 access-list test14 permit 1 any all 2.2.2.101 255.255.255.255 all exit access-list test16 permit 58 any all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test34 permit 1 any all 2.2.2.103 255.255.255.255 all exit access-list test36 permit 58 any all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test44 permit 1 any all 2.2.2.104 255.255.255.255 all exit access-list test46 permit 58 any all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test54 permit 1 any all 2.2.2.105 255.255.255.255 all exit access-list test56 permit 58 any all 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test64 permit 1 any all 2.2.2.106 255.255.255.255 all exit access-list test66 permit 58 any all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit nsh 1001 123 int eth1 0000.0000.1111 nsh 1003 123 int eth1 0000.0000.1111 nsh 1004 123 int eth1 0000.0000.1111 nsh 1005 121 rou v1 nsh 1006 123 int eth1 0000.0000.1111 ipv4 pbr v1 test14 v1 nsh 1001 123 ipv6 pbr v1 test16 v1 nsh 1001 123 ipv4 pbr v1 test34 v1 nsh 1004 123 ipv6 pbr v1 test36 v1 nsh 1004 123 ipv4 pbr v1 test44 v1 nsh 1004 123 ipv6 pbr v1 test46 v1 nsh 1004 123 ipv4 pbr v1 test64 v1 nsh 1006 123 ipv6 pbr v1 test66 v1 nsh 1006 123 ! addrouter r8 int eth1 eth 0000.0000.8888 $10b$ $10a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: nsh ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 access-list test14 permit 1 any all 2.2.2.101 255.255.255.255 all exit access-list test16 permit 58 any all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test34 permit 1 any all 2.2.2.103 255.255.255.255 all exit access-list test36 permit 58 any all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test44 permit 1 any all 2.2.2.104 255.255.255.255 all exit access-list test46 permit 58 any all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test54 permit 1 any all 2.2.2.105 255.255.255.255 all exit access-list test56 permit 58 any all 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test64 permit 1 any all 2.2.2.106 255.255.255.255 all exit access-list test66 permit 58 any all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit nsh 1001 123 int eth1 0000.0000.1111 nsh 1003 123 int eth1 0000.0000.1111 nsh 1004 123 int eth1 0000.0000.1111 nsh 1005 123 int eth1 0000.0000.1111 nsh 1006 121 rou v1 ipv4 pbr v1 test14 v1 nsh 1001 123 ipv6 pbr v1 test16 v1 nsh 1001 123 ipv4 pbr v1 test34 v1 nsh 1004 123 ipv6 pbr v1 test36 v1 nsh 1004 123 ipv4 pbr v1 test44 v1 nsh 1004 123 ipv6 pbr v1 test46 v1 nsh 1004 123 ipv4 pbr v1 test54 v1 nsh 1005 123 ipv6 pbr v1 test56 v1 nsh 1005 123 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r8 tping 100 10 1.1.1.2 vrf v1 r8 tping 100 10 1234:1::2 vrf v1 r8 tping 100 10 1.1.2.2 vrf v1 r8 tping 100 10 1234:2::2 vrf v1 r8 tping 100 10 1.1.3.2 vrf v1 r8 tping 100 10 1234:3::2 vrf v1 r8 tping 100 10 1.1.4.2 vrf v1 r8 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r8 tping 100 10 2.2.2.101 vrf v1 sou lo0 r8 tping 100 10 4321::101 vrf v1 sou lo0 r8 tping 100 10 2.2.2.103 vrf v1 sou lo0 r8 tping 100 10 4321::103 vrf v1 sou lo0 r8 tping 100 10 2.2.2.104 vrf v1 sou lo0 r8 tping 100 10 4321::104 vrf v1 sou lo0 r8 tping 100 10 2.2.2.105 vrf v1 sou lo0 r8 tping 100 10 4321::105 vrf v1 sou lo0 r8 tping 100 10 2.2.2.106 vrf v1 sou lo0 r8 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r8 2.2.2.103 vrf v1 sou lo0 r1 dping sdn . r8 4321::103 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout314.tst000066400000000000000000000257101510423065500172070ustar00rootroot00000000000000description p4lang: bier core over backplane addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ int eth3 eth 0000.0000.1111 $7a$ $7b$ int eth4 eth 0000.0000.1111 $8b$ $8a$ int eth5 eth 0000.0000.1111 $13a$ $13b$ int eth6 eth 0000.0000.1111 $14b$ $14a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int eth3 vrf for v9 ipv4 addr 10.12.13.254 255.255.255.0 exit int eth4 exit server dhcp4 eth3 pool 10.12.13.1 10.12.13.99 gateway 10.12.13.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.3333 10.12.13.111 interface eth3 vrf v9 exit int eth5 vrf for v9 ipv4 addr 10.13.14.254 255.255.255.0 exit int eth6 exit server dhcp4 eth5 pool 10.13.14.1 10.13.14.99 gateway 10.13.14.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.4444 10.13.14.111 interface eth5 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit bundle 2 exit bundle 3 exit bundle 4 exit int sdn11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn12 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int bun1 vrf for v1 mpls ena exit int sdn13 bundle-gr 1 exit int sdn14 bundle-gr 1 exit int sdn21 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn22 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int bun2 vrf for v1 mpls ena exit int sdn23 bundle-gr 2 exit int sdn24 bundle-gr 2 exit int bun3 vrf for v1 mpls ena exit int sdn31 bundle-gr 3 exit int sdn32 bundle-gr 3 exit int bun4 vrf for v1 mpls ena exit int sdn33 bundle-gr 4 exit int sdn34 bundle-gr 4 exit server p4lang a interconnect eth2 export-vrf v1 export-port sdn11 1 10 export-port sdn12 2 10 export-port sdn13 3 10 export-port sdn14 4 10 export-port bun1 dynamic exit server p4lang b interconnect eth4 export-vrf v1 export-port sdn21 1 10 export-port sdn22 2 10 export-port sdn23 3 10 export-port sdn24 4 10 export-port bun2 dynamic exit server p4lang c interconnect eth6 export-vrf v1 export-port sdn31 1 10 export-port sdn32 2 10 export-port sdn33 3 10 export-port sdn34 4 10 export-port bun3 dynamic export-port bun4 dynamic exit server stack s dataplanes 4 forwarder 1 p4lang a forwarder 1 backplane bun1 1 forwarder 1 remote 10.11.12.111 forwarder 2 p4lang b forwarder 2 backplane bun2 1 forwarder 2 remote 10.12.13.111 forwarder 3 p4lang c forwarder 3 backplane bun3 1 forwarder 3 backplane bun4 1 forwarder 3 remote 10.13.14.111 vrf v9 exit ! addother r2 controller r1 v9 9080 10.11.12.111 feature bundle mpls route bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addother r3 controller r1 v9 9080 10.12.13.111 feature bundle mpls route bier int eth1 eth 0000.0000.3333 $7b$ $7a$ int eth2 eth 0000.0000.3333 $8a$ $8b$ int eth3 eth 0000.0000.3333 $9a$ $9b$ int eth4 eth 0000.0000.3333 $10a$ $10b$ int eth5 eth 0000.0000.3333 $11a$ $11b$ int eth6 eth 0000.0000.3333 $12a$ $12b$ ! ! addother r4 controller r1 v9 9080 10.13.14.111 feature bundle mpls route bier int eth1 eth 0000.0000.4444 $13b$ $13a$ int eth2 eth 0000.0000.4444 $14a$ $14b$ int eth3 eth 0000.0000.4444 $5b$ $5a$ int eth4 eth 0000.0000.4444 $6b$ $6a$ int eth5 eth 0000.0000.4444 $11b$ $11a$ int eth6 eth 0000.0000.4444 $12b$ $12a$ ! ! addrouter r5 int eth1 eth 0000.0000.5555 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r7 int eth1 eth 0000.0000.7777 $9b$ $9a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r8 int eth1 eth 0000.0000.8888 $10b$ $10a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r8 tping 100 10 1.1.1.2 vrf v1 r8 tping 100 10 1234:1::2 vrf v1 r8 tping 100 10 1.1.2.2 vrf v1 r8 tping 100 10 1234:2::2 vrf v1 r8 tping 100 10 1.1.3.2 vrf v1 r8 tping 100 10 1234:3::2 vrf v1 r8 tping 100 10 1.1.4.2 vrf v1 r8 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r8 tping 100 10 2.2.2.101 vrf v1 sou lo0 r8 tping 100 10 4321::101 vrf v1 sou lo0 r8 tping 100 10 2.2.2.103 vrf v1 sou lo0 r8 tping 100 10 4321::103 vrf v1 sou lo0 r8 tping 100 10 2.2.2.104 vrf v1 sou lo0 r8 tping 100 10 4321::104 vrf v1 sou lo0 r8 tping 100 10 2.2.2.105 vrf v1 sou lo0 r8 tping 100 10 4321::105 vrf v1 sou lo0 r8 tping 100 10 2.2.2.106 vrf v1 sou lo0 r8 tping 100 10 4321::106 vrf v1 sou lo0 r8 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r8 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r8 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r8 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout315.tst000066400000000000000000000257551510423065500172210ustar00rootroot00000000000000description p4lang: bier core over vlan backplane addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ int eth3 eth 0000.0000.1111 $7a$ $7b$ int eth4 eth 0000.0000.1111 $8b$ $8a$ int eth5 eth 0000.0000.1111 $13a$ $13b$ int eth6 eth 0000.0000.1111 $14b$ $14a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int eth3 vrf for v9 ipv4 addr 10.12.13.254 255.255.255.0 exit int eth4 exit server dhcp4 eth3 pool 10.12.13.1 10.12.13.99 gateway 10.12.13.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.3333 10.12.13.111 interface eth3 vrf v9 exit int eth5 vrf for v9 ipv4 addr 10.13.14.254 255.255.255.0 exit int eth6 exit server dhcp4 eth5 pool 10.13.14.1 10.13.14.99 gateway 10.13.14.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.4444 10.13.14.111 interface eth5 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit bundle 2 exit bundle 3 exit bundle 4 exit int sdn11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn12 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int bun1.111 vrf for v1 mpls ena exit int sdn13 bundle-gr 1 exit int sdn14 bundle-gr 1 exit int sdn21 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn22 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int bun2.111 vrf for v1 mpls ena exit int sdn23 bundle-gr 2 exit int sdn24 bundle-gr 2 exit int bun3.111 vrf for v1 mpls ena exit int sdn31 bundle-gr 3 exit int sdn32 bundle-gr 3 exit int bun4.111 vrf for v1 mpls ena exit int sdn33 bundle-gr 4 exit int sdn34 bundle-gr 4 exit server p4lang a interconnect eth2 export-vrf v1 export-port sdn11 1 10 export-port sdn12 2 10 export-port sdn13 3 10 export-port sdn14 4 10 export-port bun1 dynamic exit server p4lang b interconnect eth4 export-vrf v1 export-port sdn21 1 10 export-port sdn22 2 10 export-port sdn23 3 10 export-port sdn24 4 10 export-port bun2 dynamic exit server p4lang c interconnect eth6 export-vrf v1 export-port sdn31 1 10 export-port sdn32 2 10 export-port sdn33 3 10 export-port sdn34 4 10 export-port bun3 dynamic export-port bun4 dynamic exit server stack s dataplanes 4 forwarder 1 p4lang a forwarder 1 backplane bun1.111 1 forwarder 1 remote 10.11.12.111 forwarder 2 p4lang b forwarder 2 backplane bun2.111 1 forwarder 2 remote 10.12.13.111 forwarder 3 p4lang c forwarder 3 backplane bun3.111 1 forwarder 3 backplane bun4.111 1 forwarder 3 remote 10.13.14.111 vrf v9 exit ! addother r2 controller r1 v9 9080 10.11.12.111 feature bundle mpls route bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addother r3 controller r1 v9 9080 10.12.13.111 feature bundle mpls route bier int eth1 eth 0000.0000.3333 $7b$ $7a$ int eth2 eth 0000.0000.3333 $8a$ $8b$ int eth3 eth 0000.0000.3333 $9a$ $9b$ int eth4 eth 0000.0000.3333 $10a$ $10b$ int eth5 eth 0000.0000.3333 $11a$ $11b$ int eth6 eth 0000.0000.3333 $12a$ $12b$ ! ! addother r4 controller r1 v9 9080 10.13.14.111 feature bundle mpls route bier int eth1 eth 0000.0000.4444 $13b$ $13a$ int eth2 eth 0000.0000.4444 $14a$ $14b$ int eth3 eth 0000.0000.4444 $5b$ $5a$ int eth4 eth 0000.0000.4444 $6b$ $6a$ int eth5 eth 0000.0000.4444 $11b$ $11a$ int eth6 eth 0000.0000.4444 $12b$ $12a$ ! ! addrouter r5 int eth1 eth 0000.0000.5555 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r7 int eth1 eth 0000.0000.7777 $9b$ $9a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r8 int eth1 eth 0000.0000.8888 $10b$ $10a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r8 tping 100 10 1.1.1.2 vrf v1 r8 tping 100 10 1234:1::2 vrf v1 r8 tping 100 10 1.1.2.2 vrf v1 r8 tping 100 10 1234:2::2 vrf v1 r8 tping 100 10 1.1.3.2 vrf v1 r8 tping 100 10 1234:3::2 vrf v1 r8 tping 100 10 1.1.4.2 vrf v1 r8 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r8 tping 100 10 2.2.2.101 vrf v1 sou lo0 r8 tping 100 10 4321::101 vrf v1 sou lo0 r8 tping 100 10 2.2.2.103 vrf v1 sou lo0 r8 tping 100 10 4321::103 vrf v1 sou lo0 r8 tping 100 10 2.2.2.104 vrf v1 sou lo0 r8 tping 100 10 4321::104 vrf v1 sou lo0 r8 tping 100 10 2.2.2.105 vrf v1 sou lo0 r8 tping 100 10 4321::105 vrf v1 sou lo0 r8 tping 100 10 2.2.2.106 vrf v1 sou lo0 r8 tping 100 10 4321::106 vrf v1 sou lo0 r8 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r8 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r8 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r8 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout316.tst000066400000000000000000000233601510423065500172100ustar00rootroot00000000000000description p4lang: qinq routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 exit int sdn2.111.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 exit int sdn3.111 exit int sdn3.111.222 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 exit int sdn4.111 exit int sdn4.111.222 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.103 vrf v1 sou lo0 r1 dping sdn . r6 4321::103 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout317.tst000066400000000000000000000125741510423065500172160ustar00rootroot00000000000000description p4lang: qinq bridging addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 exit int sdn2.111.222 bridge-gr 1 exit int sdn3 exit int sdn3.111 exit int sdn3.111.222 bridge-gr 1 exit int sdn4 exit int sdn4.111 exit int sdn4.111.222 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout318.tst000066400000000000000000000236721510423065500172200ustar00rootroot00000000000000description p4lang: qinq mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 exit int sdn2.111 exit int sdn2.111.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 exit int sdn3.111 exit int sdn3.111.222 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 exit int sdn4.111 exit int sdn4.111.222 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mpls vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout319.tst000066400000000000000000000155351510423065500172200ustar00rootroot00000000000000description p4lang: bundle qinq routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.11 exit int bun1.11.22 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature bundle vlan route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.11 exit int bun1.11.22 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout320.tst000066400000000000000000000162711510423065500172060ustar00rootroot00000000000000description p4lang: bundle qinq mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.11 exit int bun1.11.22 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature bundle vlan mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.11 exit int bun1.11.22 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout321.tst000066400000000000000000000103511510423065500172000ustar00rootroot00000000000000description p4lang: bundle qinq bridging addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit bridge 1 mac-learn exit int sdn1 bridge-gr 1 exit int sdn2 bridge-gr 1 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.11 exit int bun1.11.22 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ! addother r2 controller r1 v9 9080 - feature bundle vlan bridge int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.3 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.11 exit int bun1.11.22 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.3 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ! r3 tping 100 10 1.1.2.4 vrf v1 r3 tping 100 10 1234:2::4 vrf v1 r3 tping 100 10 1.1.2.5 vrf v1 r3 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.3 vrf v1 r4 tping 100 10 1234:2::3 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r5 tping 100 10 1.1.2.3 vrf v1 r5 tping 100 10 1234:2::3 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout322.tst000066400000000000000000000214601510423065500172040ustar00rootroot00000000000000description p4lang: qinq bridge routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 exit int sdn3.111 exit int sdn3.111.222 bridge-gr 1 exit int sdn4 exit int sdn4.222 exit int sdn4.222.333 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.3 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.4 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ! addother r2 controller r1 v9 9080 - feature vlan route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 exit int eth1.222.333 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.2.3 vrf v1 r1 tping 100 10 1234:2::3 vrf v1 r1 tping 100 10 1.1.2.4 vrf v1 r1 tping 100 10 1234:2::4 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.2.3 vrf v1 r3 tping 100 10 1234:2::3 vrf v1 r3 tping 100 10 1.1.2.4 vrf v1 r3 tping 100 10 1234:2::4 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.2.3 vrf v1 r4 tping 100 10 1234:2::3 vrf v1 r4 tping 100 10 1.1.2.4 vrf v1 r4 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.2.3 vrf v1 r5 tping 100 10 1234:2::3 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.2.3 vrf v1 r6 tping 100 10 1234:2::3 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout323.tst000066400000000000000000000216651510423065500172140ustar00rootroot00000000000000description p4lang: qinq bridge mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 bridge-gr 1 exit int sdn3 exit int sdn3.111 exit int sdn3.111.222 bridge-gr 1 exit int sdn4 exit int sdn4.222 exit int sdn4.222.333 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.3 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.4 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ! addother r2 controller r1 v9 9080 - feature vlan mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1234:2::3 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 exit int eth1.222.333 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout324.tst000066400000000000000000000220001510423065500171750ustar00rootroot00000000000000description p4lang: qinq vpls/ldp with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 exit int sdn3.111 exit int sdn3.111.222 bridge-gr 1 exit int sdn4 exit int sdn4.222 exit int sdn4.222.333 bridge-gr 1 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addother r2 controller r1 v9 9080 - feature vlan mpls vpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 exit int eth1.222.333 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r6 3.3.3.104 vrf v1 sou lo0 r1 dping sdn . r6 3333::104 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout325.tst000066400000000000000000000136251510423065500172130ustar00rootroot00000000000000description p4lang: qinq eompls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 exit int sdn3.111 exit int sdn3.111.222 xconnect v1 lo0 pweompls 2.2.2.103 1234 exit int sdn4 exit int sdn4.222 exit int sdn4.222.333 xconnect v1 lo0 pweompls 2.2.2.104 1234 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addother r2 controller r1 v9 9080 - feature vlan eompls mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int pweth1 pseudowire v1 lo0 pweompls 2.2.2.101 1234 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int pweth1 pseudowire v1 lo0 pweompls 2.2.2.101 1234 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 exit int eth1.222.333 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r6 3.3.3.104 vrf v1 sou lo0 r1 dping sdn . r6 3333::104 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout326.tst000066400000000000000000000170501510423065500172100ustar00rootroot00000000000000description p4lang: bundle qinq vpls/ldp with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit bundle 1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.111 exit int bun1.111.222 bridge-gr 1 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addother r2 controller r1 v9 9080 - feature bundle vlan mpls vpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.111 exit int bun1.111.222 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r1 dping sdn . r5 3.3.3.104 vrf v1 sou lo0 r1 dping sdn . r5 3333::104 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout327.tst000066400000000000000000000124411510423065500172100ustar00rootroot00000000000000description p4lang: bundle qinq eompls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit bundle 1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.111 exit int bun1.111.222 xconnect v1 lo0 pweompls 2.2.2.103 1234 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addother r2 controller r1 v9 9080 - feature bundle vlan eompls mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int pweth1 pseudowire v1 lo0 pweompls 2.2.2.101 1234 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int pweth1 pseudowire v1 lo0 pweompls 2.2.2.101 1234 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.111 exit int bun1.111.222 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r1 dping sdn . r5 3.3.3.103 vrf v1 sou lo0 r1 dping sdn . r5 3333::103 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout328.tst000066400000000000000000000232401510423065500172100ustar00rootroot00000000000000description p4lang: qinq pppoe routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 exit int sdn2.111.222 p2poe relay di1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan pppoe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth1.111 exit int eth1.111.222 p2poe client di1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout329.tst000066400000000000000000000234131510423065500172130ustar00rootroot00000000000000description p4lang: qinq pppoe mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int di1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 exit int sdn2.111 exit int sdn2.111.222 p2poe relay di1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan pppoe mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int di1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit int eth1.111 exit int eth1.111.222 p2poe client di1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r4 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout330.tst000066400000000000000000000314761510423065500172130ustar00rootroot00000000000000description p4lang: hairpin qinq routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit int hair11.111 exit int hair11.111.222 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena exit int hair12.111 exit int hair12.111.222 vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic vrf v9 exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:4:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.3.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:3:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature hairpin vlan route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 1.1.5.1 vrf v2 r1 tping 100 10 1234:5::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout331.tst000066400000000000000000000124451510423065500172070ustar00rootroot00000000000000description p4lang: hairpin qinq bridging addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit bridge 2 mac-learn exit hair 1 ether exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 bridge-gr 1 exit int sdn4 bridge-gr 2 exit int hair11.111 exit int hair11.111.222 bridge-gr 1 exit int hair12.111 exit int hair12.111.222 bridge-gr 2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-br 2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature hairpin vlan bridge int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout332.tst000066400000000000000000000315441510423065500172110ustar00rootroot00000000000000description p4lang: hairpin qinq mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 label-mode per-prefix exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int hair11.111 exit int hair11.111.222 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int hair12.111 exit int hair12.111.222 vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic vrf v9 exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:4:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.3.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:3:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature hairpin vlan mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 1.1.5.1 vrf v2 r1 tping 100 10 1234:5::1 vrf v2 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout333.tst000066400000000000000000000316101510423065500172040ustar00rootroot00000000000000description p4lang: hairpin qinq pppoe routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: ipv6 ena exit int di2 enc ppp vrf for v2 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: ipv6 ena exit int hair11.111 exit int hair11.111.222 p2poe client di1 exit int hair12.111 exit int hair12.111.222 p2poe relay di2 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port di1 dynamic export-port di2 dynamic vrf v9 exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.5.2 ipv6 route v1 1234:4:: ffff:ffff:: 1234:5::2 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.5.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.5.2 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ipv4 route v2 1.1.1.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.2.0 255.255.255.0 1.1.5.1 ipv4 route v2 1.1.3.0 255.255.255.0 1.1.5.1 ipv6 route v2 1234:1:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:2:: ffff:ffff:: 1234:5::1 ipv6 route v2 1234:3:: ffff:ffff:: 1234:5::1 ipv4 route v2 2.2.2.101 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.103 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.5.1 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature hairpin vlan pppoe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.5.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:5:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 1.1.5.2 vrf v1 r1 tping 100 30 1234:5::2 vrf v1 r1 tping 100 30 1.1.5.1 vrf v2 r1 tping 100 30 1234:5::1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r1 tping 100 30 1.1.1.2 vrf v2 r1 tping 100 30 1234:1::2 vrf v2 r1 tping 100 30 1.1.2.2 vrf v2 r1 tping 100 30 1234:2::2 vrf v2 r1 tping 100 30 1.1.3.2 vrf v2 r1 tping 100 30 1234:3::2 vrf v2 r1 tping 100 30 1.1.4.2 vrf v2 r1 tping 100 30 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.100 vrf v1 sou lo0 r1 tping 100 10 4321::100 vrf v1 sou lo0 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.100 vrf v2 sou lo1 r1 tping 100 10 4321::100 vrf v2 sou lo1 r1 tping 100 10 2.2.2.101 vrf v2 sou lo1 r1 tping 100 10 4321::101 vrf v2 sou lo1 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout334.tst000066400000000000000000000225301510423065500172060ustar00rootroot00000000000000description p4lang: hairpin qinq vpls/ldp with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit bridge 2 mac-learn exit bridge 3 mac-learn exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit hair 1 ether exit hair 2 ether exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bridge-gr 2 exit int sdn4 bridge-gr 3 exit int hair11.111 exit int hair11.111.222 bridge-gr 1 exit int hair12.111 exit int hair12.111.222 bridge-gr 2 exit int hair21.111 exit int hair21.111.222 bridge-gr 1 exit int hair22.111 exit int hair22.111.222 bridge-gr 3 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-br 2 export-br 3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port hair21 dynamic export-port hair22 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addother r2 controller r1 v9 9080 - feature hairpin vlan mpls vpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r6 3.3.3.103 vrf v1 sou lo0 r1 dping sdn . r6 3333::103 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout335.tst000066400000000000000000000143551510423065500172150ustar00rootroot00000000000000description p4lang: hairpin qinq eompls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit hair 1 ether exit hair 2 ether exit bridge 1 mac-learn exit bridge 2 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int hair11.111 exit int hair11.111.222 xconnect v1 lo0 pweompls 2.2.2.103 1234 exit int hair12.111 exit int hair12.111.222 bridge-gr 1 exit int hair21.111 exit int hair21.111.222 xconnect v1 lo0 pweompls 2.2.2.104 1234 exit int hair22.111 exit int hair22.111.222 bridge-gr 2 exit int sdn3 bridge-gr 1 exit int sdn4 bridge-gr 2 exit server p4lang p4 interconnect eth2 export-br 1 export-br 2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port hair21 dynamic export-port hair22 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addother r2 controller r1 v9 9080 - feature hairpin vlan eompls mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int pweth1 pseudowire v1 lo0 pweompls 2.2.2.101 1234 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int pweth1 pseudowire v1 lo0 pweompls 2.2.2.101 1234 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r4 3.3.3.106 vrf v1 sou lo1 r1 dping sdn . r4 3333::106 vrf v1 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout336.tst000066400000000000000000000226361510423065500172170ustar00rootroot00000000000000description p4lang: qinq evpn/cmac with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 exit int sdn3.111 exit int sdn3.111.222 bridge-gr 1 exit int sdn4 exit int sdn4.222 bridge-gr 1 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4444:3:: ffff:ffff:: 1234:1::2 ipv6 route v1 4444:4:: ffff:ffff:: 1234:2::2 ! addother r2 controller r1 v9 9080 - feature vlan evpn mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ipv6 route v1 4444:1:: ffff:ffff:: 1234:1::1 ipv6 route v1 4444:4:: ffff:ffff:: 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ipv6 route v1 4444:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 4444:3:: ffff:ffff:: 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r6 3.3.3.104 vrf v1 sou lo0 r1 dping sdn . r6 3333::104 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout337.tst000066400000000000000000000177631510423065500172250ustar00rootroot00000000000000description p4lang: bundle qinq evpn/cmac with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit bundle 1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.111 exit int bun1.111.222 bridge-gr 1 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4444:3:: ffff:ffff:: 1234:1::2 ipv6 route v1 4444:4:: ffff:ffff:: 1234:2::2 ! addother r2 controller r1 v9 9080 - feature bundle vlan evpn mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 4444:1:: ffff:ffff:: 1234:1::1 ipv6 route v1 4444:4:: ffff:ffff:: 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 4444:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 4444:3:: ffff:ffff:: 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.111 exit int bun1.111.222 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r1 dping sdn . r5 3.3.3.103 vrf v1 sou lo0 r1 dping sdn . r5 3333::103 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout338.tst000066400000000000000000000234441510423065500172170ustar00rootroot00000000000000description p4lang: hairpin qinq evpn/cmac with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit hair 1 ether exit hair 2 ether exit bridge 2 mac-learn exit bridge 3 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bridge-gr 2 exit int sdn4 bridge-gr 3 exit int hair11.111 exit int hair11.111.222 bridge-gr 1 exit int hair12.111 exit int hair12.111.222 bridge-gr 2 exit int hair21.111 exit int hair21.111.222 bridge-gr 1 exit int hair22.111 exit int hair22.111.222 bridge-gr 3 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-br 2 export-br 3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port hair21 dynamic export-port hair22 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4444:3:: ffff:ffff:: 1234:1::2 ipv6 route v1 4444:4:: ffff:ffff:: 1234:2::2 ! addother r2 controller r1 v9 9080 - feature hairpin vlan evpn mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ipv6 route v1 4444:1:: ffff:ffff:: 1234:1::1 ipv6 route v1 4444:4:: ffff:ffff:: 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ipv6 route v1 4444:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 4444:3:: ffff:ffff:: 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r6 3.3.3.104 vrf v1 sou lo0 r1 dping sdn . r6 3333::104 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout339.tst000066400000000000000000000237411510423065500172200ustar00rootroot00000000000000description p4lang: gre routing over qinq addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 exit int sdn1.222.333 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1.222.333 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre vlan route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 exit int bvi1.222.333 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1.222.333 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout340.tst000066400000000000000000000164311510423065500172060ustar00rootroot00000000000000description p4lang: gre routing over bundle qinq addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.222 exit int bun1.222.333 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source bun1.222.333 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature gre route bundle vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.222 exit int bun1.222.333 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bun1.222.333 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout341.tst000066400000000000000000000250011510423065500172000ustar00rootroot00000000000000description p4lang: gre routing over hairpin qinq addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int hair11.111 exit int hair11.111.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int hair12.111 exit int hair12.111.222 vrf for v3 ipv4 addr 9.9.9.2 255.255.255.0 exit int sdn1 vrf for v3 ipv4 addr 9.9.8.1 255.255.255.0 exit ipv4 route v2 9.9.8.0 255.255.255.0 9.9.9.2 int tun1 tun vrf v2 tun source hair11.111.222 tun destination 9.9.8.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre route vlan hairpin int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.8.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 9.9.9.0 255.255.255.0 9.9.8.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v3 r1 tping 100 10 9.9.9.1 vrf v3 r1 tping 100 10 9.9.9.2 vrf v2 r1 tping 100 10 9.9.8.2 vrf v3 r1 tping 100 10 9.9.8.1 vrf v3 r3 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r3 tping 100 10 9.9.8.2 vrf v2 r3 tping 100 10 9.9.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout342.tst000066400000000000000000000240671510423065500172140ustar00rootroot00000000000000description p4lang: gre routing over qinq bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 exit int sdn1.222 exit int sdn1.222.333 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre route bridge int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1.222 exit int eth1.222.333 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout343.tst000066400000000000000000000242531510423065500172120ustar00rootroot00000000000000description p4lang: gre mpls over qinq addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 exit int sdn1.222.333 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1.222.333 tun destination 9.9.9.2 tun mode gre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature gre vlan mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 exit int bvi1.222.333 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1.222.333 tun destination 9.9.9.1 tun mode gre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout344.tst000066400000000000000000000236651510423065500172210ustar00rootroot00000000000000description p4lang: l2tp routing over qinq addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 exit int sdn1.222.333 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1.222.333 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp route vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 exit int bvi1.222.333 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234:1::2 vrf v1 r1 tping 100 30 1.1.2.2 vrf v1 r1 tping 100 30 1234:2::2 vrf v1 r1 tping 100 30 1.1.3.2 vrf v1 r1 tping 100 30 1234:3::2 vrf v1 r1 tping 100 30 1.1.4.2 vrf v1 r1 tping 100 30 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout345.tst000066400000000000000000000241771510423065500172210ustar00rootroot00000000000000description p4lang: l2tp mpls over qinq addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 exit int sdn1.222.333 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int virt1 enc ppp pseudo v2 sdn1.222.333 l2tp2 9.9.9.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port virt1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature l2tp mpls vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 exit int bvi1.222.333 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int di1 enc ppp vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit server l2tp2 l clone dialer1 vrf v2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 30 9.9.9.2 vrf v2 r3 tping 100 30 9.9.9.1 vrf v2 r1 tping 100 30 2.2.2.101 vrf v1 sou lo0 r1 tping 100 30 4321::101 vrf v1 sou lo0 r1 tping 100 30 2.2.2.103 vrf v1 sou lo0 r1 tping 100 30 4321::103 vrf v1 sou lo0 r1 tping 100 30 2.2.2.104 vrf v1 sou lo0 r1 tping 100 30 4321::104 vrf v1 sou lo0 r1 tping 100 30 2.2.2.105 vrf v1 sou lo0 r1 tping 100 30 4321::105 vrf v1 sou lo0 r1 tping 100 30 2.2.2.106 vrf v1 sou lo0 r1 tping 100 30 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout346.tst000066400000000000000000000127631510423065500172200ustar00rootroot00000000000000description p4lang: vxlan over qinq addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 exit int sdn3.111 exit int sdn3.111.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit proxy-profile p2 vrf v2 exit vpdn vx bridge-group 1 proxy p2 target 9.9.9.2 vcid 123 protocol vxlan exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge vxlan vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 eth1.111.222 vxlan 9.9.9.1 123 exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout347.tst000066400000000000000000000127751510423065500172240ustar00rootroot00000000000000description p4lang: pckoudp over qinq addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 exit int sdn3.111 exit int sdn3.111.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit proxy-profile p2 vrf v2 exit vpdn vx bridge-group 1 proxy p2 target 9.9.9.2 vcid 2554 protocol pckoudp exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge pckoudp vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int pweth1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: pseudo v2 eth1.111.222 pckoudp 9.9.9.1 2554 exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout348.tst000066400000000000000000000252171510423065500172200ustar00rootroot00000000000000description p4lang: multicast qinq routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 exit int sdn2.222 exit int sdn2.222.333 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 exit int sdn3.333 exit int sdn3.333.444 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 exit int sdn4.444 exit int sdn4.444.555 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.4.2 ipv6 mroute v1 :: :: 1234:4::2 server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route vlan mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 exit int bvi1.111.222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 exit int eth1.222.333 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 exit int eth1.333.444 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 exit int eth1.444.555 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout349.tst000066400000000000000000000170521510423065500172170ustar00rootroot00000000000000description p4lang: multicast bundle qinq routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.103 ipv6 multi static ff06::1 4321::103 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 exit int bun1.111 exit int bun1.111.222 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.103 ipv6 multi static ff06::1 4321::103 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 mroute v1 :: :: 1234:1::2 server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature bundle route vlan mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 multi static 232.2.2.2 2.2.2.103 ipv6 multi static ff06::1 4321::103 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.111 exit int bun1.111.222 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 200 5 232.2.2.2 vrf v1 sou lo0 multi r3 tping 200 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r3 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r3 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout350.tst000066400000000000000000000254411510423065500172100ustar00rootroot00000000000000description p4lang: mldp qinq core addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn2 exit int sdn2.222 exit int sdn2.222.333 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn3 exit int sdn3.333 exit int sdn3.333.444 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn4 exit int sdn4.444 exit int sdn4.444.555 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan route duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 exit int bvi1.111.222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 exit int eth1.222.333 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 exit int eth1.333.444 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 exit int eth1.444.555 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout351.tst000066400000000000000000000207071510423065500172110ustar00rootroot00000000000000description p4lang: mldp bundle qinq core addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn2 exit int sdn2.222 exit int sdn2.222.333 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 exit int bun1.333 exit int bun1.333.444 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route bundle duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 exit int bvi1.111.222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 exit int eth1.222.333 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.333 exit int bun1.333.444 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 200 5 232.2.2.2 vrf v1 sou lo0 multi r3 tping 200 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r3 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r3 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout352.tst000066400000000000000000000253411510423065500172110ustar00rootroot00000000000000description p4lang: mldp qinq egress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 exit int sdn2.222 exit int sdn2.222.333 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 exit int sdn3.333 exit int sdn3.333.444 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 exit int sdn4.444 exit int sdn4.444.555 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.4.2 ipv6 mroute v1 :: :: 1234:4::2 server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan route mroute duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 exit int bvi1.111.222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 exit int eth1.222.333 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 exit int eth1.333.444 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 exit int eth1.444.555 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout353.tst000066400000000000000000000244411510423065500172120ustar00rootroot00000000000000description p4lang: mldp qinq ingress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn2 exit int sdn2.222 exit int sdn2.222.333 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn3 exit int sdn3.333 exit int sdn3.333.444 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn4 exit int sdn4.444 exit int sdn4.444.555 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 pim ena ipv6 pim ena exit ipv4 mroute v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 mroute v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a neigh 2.2.2.105 temp a red conn red stat exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a neigh 4321::105 temp a red conn red stat exit ! addother r2 controller r1 v9 9080 - feature vlan route duplab mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1.111 exit int eth1.111.222 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both red conn exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both red conn exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 exit int eth1.222.333 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both red conn exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both red conn exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 exit int eth1.333.444 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.5 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both red conn exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.5 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both red conn exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 exit int eth1.444.555 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena ipv4 pim ena ipv6 pim ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout354.tst000066400000000000000000000265101510423065500172120ustar00rootroot00000000000000description p4lang: bier qinq core addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 exit int sdn2.222 exit int sdn2.222.333 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 exit int sdn3.333 exit int sdn3.333.444 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 exit int sdn4.444 exit int sdn4.444.555 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ! addother r2 controller r1 v9 9080 - feature route vlan bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 exit int bvi1.111.222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int eth1.222 exit int eth1.222.333 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.5555 $7a$ $7b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth1.333 exit int eth1.333.444 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth2 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int eth1.444 exit int eth1.444.555 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.7 bier 256 10 7 red conn exit router lsrp6 1 vrf v1 router 6.6.6.7 bier 256 10 7 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.5.1 ipv6 mroute v1 :: :: 1234:5::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.5.2 vrf v1 r3 tping 100 10 1234:5::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.5.2 vrf v1 r4 tping 100 10 1234:5::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.5.2 vrf v1 r5 tping 100 10 1234:5::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.5.2 vrf v1 r6 tping 100 10 1234:5::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.5.2 vrf v1 r7 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.107 vrf v1 sou lo0 r1 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 r3 tping 100 10 4321::107 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.107 vrf v1 sou lo0 r4 tping 100 10 4321::107 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.107 vrf v1 sou lo0 r5 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.107 vrf v1 sou lo0 r6 tping 100 10 4321::107 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.107 vrf v1 sou lo0 r7 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 400 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 400 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout355.tst000066400000000000000000000217471510423065500172220ustar00rootroot00000000000000description p4lang: bier bundle qinq core addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 exit int sdn2.222 exit int sdn2.222.333 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.333 exit int bun1.333.444 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ! addother r2 controller r1 v9 9080 - feature route bundle vlan bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 exit int bvi1.111.222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int eth1.222 exit int eth1.222.333 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ int eth3 eth 0000.0000.5555 $7a$ $7b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.333 exit int bun1.333.444 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth3 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.7 bier 256 10 7 red conn exit router lsrp6 1 vrf v1 router 6.6.6.7 bier 256 10 7 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.5.1 ipv6 mroute v1 :: :: 1234:5::1 ipv4 multi v1 join 232.2.2.2 2.2.2.103 ipv6 multi v1 join ff06::1 4321::103 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.5.2 vrf v1 r3 tping 100 10 1234:5::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.5.2 vrf v1 r4 tping 100 10 1234:5::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.5.2 vrf v1 r5 tping 100 10 1234:5::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.5.2 vrf v1 r7 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.107 vrf v1 sou lo0 r1 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 r3 tping 100 10 4321::107 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.107 vrf v1 sou lo0 r4 tping 100 10 4321::107 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.107 vrf v1 sou lo0 r5 tping 100 10 4321::107 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.107 vrf v1 sou lo0 r7 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r3 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r3 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r3 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout356.tst000066400000000000000000000302131510423065500172070ustar00rootroot00000000000000description p4lang: qinq nsh addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena nsh ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena nsh ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena nsh ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena nsh ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit nsh 1001 122 rou v1 nsh 1003 122 int sdn1.111.222 0000.0000.3333 nsh 1004 122 int sdn2 0000.0000.4444 nsh 1005 122 int sdn3 0000.0000.5555 nsh 1006 122 rou v1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan route nsh int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.0 ipv6 addr 4321::103 ffff:ffff:: exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: nsh ena exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 access-list test14 permit 1 any all 2.2.2.101 255.255.255.255 all exit access-list test16 permit 58 any all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test34 permit 1 any all 2.2.2.103 255.255.255.255 all exit access-list test36 permit 58 any all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test44 permit 1 any all 2.2.2.104 255.255.255.255 all exit access-list test46 permit 58 any all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test54 permit 1 any all 2.2.2.105 255.255.255.255 all exit access-list test56 permit 58 any all 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test64 permit 1 any all 2.2.2.106 255.255.255.255 all exit access-list test66 permit 58 any all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit nsh 1001 123 int eth1.111.222 0000.0000.1111 nsh 1003 121 rou v1 nsh 1004 123 int eth1.111.222 0000.0000.1111 nsh 1005 123 int eth1.111.222 0000.0000.1111 nsh 1006 123 int eth1.111.222 0000.0000.1111 ipv4 pbr v1 test14 v1 nsh 1001 123 ipv6 pbr v1 test16 v1 nsh 1001 123 ipv4 pbr v1 test44 v1 nsh 1004 123 ipv6 pbr v1 test46 v1 nsh 1004 123 ipv4 pbr v1 test54 v1 nsh 1005 123 ipv6 pbr v1 test56 v1 nsh 1005 123 ipv4 pbr v1 test64 v1 nsh 1006 123 ipv6 pbr v1 test66 v1 nsh 1006 123 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.0 ipv6 addr 4321::104 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: nsh ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 access-list test14 permit 1 any all 2.2.2.101 255.255.255.255 all exit access-list test16 permit 58 any all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test34 permit 1 any all 2.2.2.103 255.255.255.255 all exit access-list test36 permit 58 any all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test44 permit 1 any all 2.2.2.104 255.255.255.255 all exit access-list test46 permit 58 any all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test54 permit 1 any all 2.2.2.105 255.255.255.255 all exit access-list test56 permit 58 any all 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test64 permit 1 any all 2.2.2.106 255.255.255.255 all exit access-list test66 permit 58 any all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit nsh 1001 123 int eth1 0000.0000.1111 nsh 1003 123 int eth1 0000.0000.1111 nsh 1004 121 rou v1 nsh 1005 123 int eth1 0000.0000.1111 nsh 1006 123 int eth1 0000.0000.1111 ipv4 pbr v1 test14 v1 nsh 1001 123 ipv6 pbr v1 test16 v1 nsh 1001 123 ipv4 pbr v1 test34 v1 nsh 1003 123 ipv6 pbr v1 test36 v1 nsh 1003 123 ipv4 pbr v1 test54 v1 nsh 1005 123 ipv6 pbr v1 test56 v1 nsh 1005 123 ipv4 pbr v1 test64 v1 nsh 1006 123 ipv6 pbr v1 test66 v1 nsh 1006 123 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.0 ipv6 addr 4321::105 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: nsh ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 access-list test14 permit 1 any all 2.2.2.101 255.255.255.255 all exit access-list test16 permit 58 any all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test34 permit 1 any all 2.2.2.103 255.255.255.255 all exit access-list test36 permit 58 any all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test44 permit 1 any all 2.2.2.104 255.255.255.255 all exit access-list test46 permit 58 any all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test54 permit 1 any all 2.2.2.105 255.255.255.255 all exit access-list test56 permit 58 any all 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test64 permit 1 any all 2.2.2.106 255.255.255.255 all exit access-list test66 permit 58 any all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit nsh 1001 123 int eth1 0000.0000.1111 nsh 1003 123 int eth1 0000.0000.1111 nsh 1004 123 int eth1 0000.0000.1111 nsh 1005 121 rou v1 nsh 1006 123 int eth1 0000.0000.1111 ipv4 pbr v1 test14 v1 nsh 1001 123 ipv6 pbr v1 test16 v1 nsh 1001 123 ipv4 pbr v1 test34 v1 nsh 1004 123 ipv6 pbr v1 test36 v1 nsh 1004 123 ipv4 pbr v1 test44 v1 nsh 1004 123 ipv6 pbr v1 test46 v1 nsh 1004 123 ipv4 pbr v1 test64 v1 nsh 1006 123 ipv6 pbr v1 test66 v1 nsh 1006 123 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.0 ipv6 addr 4321::106 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: nsh ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 access-list test14 permit 1 any all 2.2.2.101 255.255.255.255 all exit access-list test16 permit 58 any all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test34 permit 1 any all 2.2.2.103 255.255.255.255 all exit access-list test36 permit 58 any all 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test44 permit 1 any all 2.2.2.104 255.255.255.255 all exit access-list test46 permit 58 any all 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test54 permit 1 any all 2.2.2.105 255.255.255.255 all exit access-list test56 permit 58 any all 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list test64 permit 1 any all 2.2.2.106 255.255.255.255 all exit access-list test66 permit 58 any all 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit nsh 1001 123 int eth1 0000.0000.1111 nsh 1003 123 int eth1 0000.0000.1111 nsh 1004 123 int eth1 0000.0000.1111 nsh 1005 123 int eth1 0000.0000.1111 ipv4 pbr v1 test14 v1 nsh 1001 123 ipv6 pbr v1 test16 v1 nsh 1001 123 ipv4 pbr v1 test34 v1 nsh 1004 123 ipv6 pbr v1 test36 v1 nsh 1004 123 ipv4 pbr v1 test44 v1 nsh 1004 123 ipv6 pbr v1 test46 v1 nsh 1004 123 ipv4 pbr v1 test54 v1 nsh 1005 123 ipv6 pbr v1 test56 v1 nsh 1005 123 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 2.2.2.101 vrf v1 sou eth1.111.222 r3 tping 100 10 4321::101 vrf v1 sou eth1.111.222 r3 tping 100 10 2.2.2.103 vrf v1 sou eth1.111.222 r3 tping 100 10 4321::103 vrf v1 sou eth1.111.222 r3 tping 100 10 2.2.2.104 vrf v1 sou eth1.111.222 r3 tping 100 10 4321::104 vrf v1 sou eth1.111.222 r3 tping 100 10 2.2.2.105 vrf v1 sou eth1.111.222 r3 tping 100 10 4321::105 vrf v1 sou eth1.111.222 r3 tping 100 10 2.2.2.106 vrf v1 sou eth1.111.222 r3 tping 100 10 4321::106 vrf v1 sou eth1.111.222 r4 tping 100 10 2.2.2.101 vrf v1 sou eth1 r4 tping 100 10 4321::101 vrf v1 sou eth1 r4 tping 100 10 2.2.2.103 vrf v1 sou eth1 r4 tping 100 10 4321::103 vrf v1 sou eth1 r4 tping 100 10 2.2.2.104 vrf v1 sou eth1 r4 tping 100 10 4321::104 vrf v1 sou eth1 r4 tping 100 10 2.2.2.105 vrf v1 sou eth1 r4 tping 100 10 4321::105 vrf v1 sou eth1 r4 tping 100 10 2.2.2.106 vrf v1 sou eth1 r4 tping 100 10 4321::106 vrf v1 sou eth1 r5 tping 100 10 2.2.2.101 vrf v1 sou eth1 r5 tping 100 10 4321::101 vrf v1 sou eth1 r5 tping 100 10 2.2.2.103 vrf v1 sou eth1 r5 tping 100 10 4321::103 vrf v1 sou eth1 r5 tping 100 10 2.2.2.104 vrf v1 sou eth1 r5 tping 100 10 4321::104 vrf v1 sou eth1 r5 tping 100 10 2.2.2.105 vrf v1 sou eth1 r5 tping 100 10 4321::105 vrf v1 sou eth1 r5 tping 100 10 2.2.2.106 vrf v1 sou eth1 r5 tping 100 10 4321::106 vrf v1 sou eth1 r6 tping 100 10 2.2.2.101 vrf v1 sou eth1 r6 tping 100 10 4321::101 vrf v1 sou eth1 r6 tping 100 10 2.2.2.103 vrf v1 sou eth1 r6 tping 100 10 4321::103 vrf v1 sou eth1 r6 tping 100 10 2.2.2.104 vrf v1 sou eth1 r6 tping 100 10 4321::104 vrf v1 sou eth1 r6 tping 100 10 2.2.2.105 vrf v1 sou eth1 r6 tping 100 10 4321::105 vrf v1 sou eth1 r6 tping 100 10 2.2.2.106 vrf v1 sou eth1 r6 tping 100 10 4321::106 vrf v1 sou eth1 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout357.tst000066400000000000000000000355301510423065500172170ustar00rootroot00000000000000description p4lang: qinq polka addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 pop justadvert lo0 exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 pop justadvert lo0 exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.103 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.11.1 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::103 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:11::1 ffff:ffff:: exit int tun21 tun sou lo0 tun dest 2.2.2.104 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.12.1 255.255.255.0 exit int tun22 tun sou lo0 tun dest 4321::104 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:12::1 ffff:ffff:: exit int tun31 tun sou lo0 tun dest 2.2.2.105 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.13.1 255.255.255.0 exit int tun32 tun sou lo0 tun dest 4321::105 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:13::1 ffff:ffff:: exit int tun41 tun sou lo0 tun dest 2.2.2.106 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.14.1 255.255.255.0 exit int tun42 tun sou lo0 tun dest 4321::106 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:14::1 ffff:ffff:: exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun11 dynamic export-port tun12 dynamic export-port tun21 dynamic export-port tun22 dynamic export-port tun31 dynamic export-port tun32 dynamic export-port tun41 dynamic export-port tun42 dynamic vrf v9 exit ipv4 route v1 2.2.2.203 255.255.255.255 1.1.11.2 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.12.2 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.13.2 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.14.2 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::2 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::2 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::2 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::2 ! addother r2 controller r1 v9 9080 - feature vlan polka int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 justadvert lo0 justadvert eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.11.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:11::2 ffff:ffff:: exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.11.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.204 255.255.255.255 ipv6 addr 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 4 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.12.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:12::2 ffff:ffff:: exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.12.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.205 255.255.255.255 ipv6 addr 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.5 segrout 10 5 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.5 segrout 10 5 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable polka enable 5 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.13.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:13::2 ffff:ffff:: exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.13.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.206 255.255.255.255 ipv6 addr 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.6 segrout 10 6 justadvert lo0 justadvert eth1 exit router lsrp6 1 vrf v1 router 6.6.6.6 segrout 10 6 justadvert lo0 justadvert eth1 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable polka enable 6 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int tun11 tun sou lo0 tun dest 2.2.2.105 tun domain 2.2.2.101 tun vrf v1 tun mod polka vrf for v1 ipv4 addr 1.1.14.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::105 tun domain 4321::101 tun vrf v1 tun mod polka vrf for v1 ipv6 addr 1234:14::2 ffff:ffff:: exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.14.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.201 vrf v1 sou lo1 r1 tping 100 10 4321::201 vrf v1 sou lo1 r1 tping 100 10 2.2.2.203 vrf v1 sou lo1 r1 tping 100 10 4321::203 vrf v1 sou lo1 r1 tping 100 10 2.2.2.204 vrf v1 sou lo1 r1 tping 100 10 4321::204 vrf v1 sou lo1 r1 tping 100 10 2.2.2.205 vrf v1 sou lo1 r1 tping 100 10 4321::205 vrf v1 sou lo1 r1 tping 100 10 2.2.2.206 vrf v1 sou lo1 r1 tping 100 10 4321::206 vrf v1 sou lo1 r3 tping 100 10 2.2.2.201 vrf v1 sou lo1 r3 tping 100 10 4321::201 vrf v1 sou lo1 r3 tping 100 10 2.2.2.203 vrf v1 sou lo1 r3 tping 100 10 4321::203 vrf v1 sou lo1 r3 tping 100 10 2.2.2.204 vrf v1 sou lo1 r3 tping 100 10 4321::204 vrf v1 sou lo1 r3 tping 100 10 2.2.2.205 vrf v1 sou lo1 r3 tping 100 10 4321::205 vrf v1 sou lo1 r3 tping 100 10 2.2.2.206 vrf v1 sou lo1 r3 tping 100 10 4321::206 vrf v1 sou lo1 r4 tping 100 10 2.2.2.201 vrf v1 sou lo1 r4 tping 100 10 4321::201 vrf v1 sou lo1 r4 tping 100 10 2.2.2.203 vrf v1 sou lo1 r4 tping 100 10 4321::203 vrf v1 sou lo1 r4 tping 100 10 2.2.2.204 vrf v1 sou lo1 r4 tping 100 10 4321::204 vrf v1 sou lo1 r4 tping 100 10 2.2.2.205 vrf v1 sou lo1 r4 tping 100 10 4321::205 vrf v1 sou lo1 r4 tping 100 10 2.2.2.206 vrf v1 sou lo1 r4 tping 100 10 4321::206 vrf v1 sou lo1 r5 tping 100 10 2.2.2.201 vrf v1 sou lo1 r5 tping 100 10 4321::201 vrf v1 sou lo1 r5 tping 100 10 2.2.2.203 vrf v1 sou lo1 r5 tping 100 10 4321::203 vrf v1 sou lo1 r5 tping 100 10 2.2.2.204 vrf v1 sou lo1 r5 tping 100 10 4321::204 vrf v1 sou lo1 r5 tping 100 10 2.2.2.205 vrf v1 sou lo1 r5 tping 100 10 4321::205 vrf v1 sou lo1 r5 tping 100 10 2.2.2.206 vrf v1 sou lo1 r5 tping 100 10 4321::206 vrf v1 sou lo1 r6 tping 100 10 2.2.2.201 vrf v1 sou lo1 r6 tping 100 10 4321::201 vrf v1 sou lo1 r6 tping 100 10 2.2.2.203 vrf v1 sou lo1 r6 tping 100 10 4321::203 vrf v1 sou lo1 r6 tping 100 10 2.2.2.204 vrf v1 sou lo1 r6 tping 100 10 4321::204 vrf v1 sou lo1 r6 tping 100 10 2.2.2.205 vrf v1 sou lo1 r6 tping 100 10 4321::205 vrf v1 sou lo1 r6 tping 100 10 2.2.2.206 vrf v1 sou lo1 r6 tping 100 10 4321::206 vrf v1 sou lo1 r1 dping sdn . r6 2.2.2.205 vrf v1 sou lo1 r1 dping sdn . r6 4321::205 vrf v1 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout358.tst000066400000000000000000000210621510423065500172130ustar00rootroot00000000000000description p4lang: l2vpn over bundle qinq mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.11 exit int bun1.11.22 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature bundle vlan mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.105 1234 vrf for v2 ipv4 addr 4.4.4.1 255.255.255.0 ipv6 addr 4444::1 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::105 1234 vrf for v2 ipv4 addr 4.4.6.1 255.255.255.0 ipv6 addr 4446::1 ffff:: exit int pweth1.123 vrf for v2 ipv4 addr 4.4.5.1 255.255.255.0 ipv6 addr 4445::1 ffff:: exit int pweth2.123 vrf for v2 ipv4 addr 4.4.7.1 255.255.255.0 ipv6 addr 4447::1 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.11 exit int bun1.11.22 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.103 1234 vrf for v2 ipv4 addr 4.4.4.2 255.255.255.0 ipv6 addr 4444::2 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::103 1234 vrf for v2 ipv4 addr 4.4.6.2 255.255.255.0 ipv6 addr 4446::2 ffff:: exit int pweth1.123 vrf for v2 ipv4 addr 4.4.5.2 255.255.255.0 ipv6 addr 4445::2 ffff:: exit int pweth2.123 vrf for v2 ipv4 addr 4.4.7.2 255.255.255.0 ipv6 addr 4447::2 ffff:: exit ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 4.4.4.2 vrf v2 r3 tping 100 10 4.4.6.2 vrf v2 r3 tping 100 10 4444::2 vrf v2 r3 tping 100 10 4446::2 vrf v2 r5 tping 100 10 4.4.4.1 vrf v2 r5 tping 100 10 4.4.6.1 vrf v2 r5 tping 100 10 4444::1 vrf v2 r5 tping 100 10 4446::1 vrf v2 r3 tping 100 10 4.4.5.2 vrf v2 r3 tping 100 10 4.4.7.2 vrf v2 r3 tping 100 10 4445::2 vrf v2 r3 tping 100 10 4447::2 vrf v2 r5 tping 100 10 4.4.5.1 vrf v2 r5 tping 100 10 4.4.7.1 vrf v2 r5 tping 100 10 4445::1 vrf v2 r5 tping 100 10 4447::1 vrf v2 r1 dping sdn . r3 4.4.4.2 vrf v2 r1 dping sdn . r3 4446::2 vrf v2 freeRtr-25.11.9/cfg/p4lang-rout359.tst000066400000000000000000000230471510423065500172210ustar00rootroot00000000000000description p4lang: l3vpn over bundle qinq mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.11 exit int bun1.11.22 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature bundle vlan mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.105 remote-as 1 neigh 2.2.2.105 update lo0 neigh 2.2.2.105 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::105 remote-as 1 neigh 4321::105 update lo0 neigh 4321::105 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.11 exit int bun1.11.22 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.103 remote-as 1 neigh 2.2.2.103 update lo0 neigh 2.2.2.103 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::103 remote-as 1 neigh 4321::103 update lo0 neigh 4321::103 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 60 9.9.2.2 vrf v2 r5 tping 100 60 9.9.2.1 vrf v2 r3 tping 100 60 9992::2 vrf v2 r5 tping 100 60 9992::1 vrf v2 r3 tping 100 60 9.9.3.2 vrf v3 r5 tping 100 60 9.9.3.1 vrf v3 r3 tping 100 60 9993::2 vrf v3 r5 tping 100 60 9993::1 vrf v3 r3 tping 100 60 9.9.4.2 vrf v4 r5 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::2 vrf v4 r5 tping 100 60 9994::1 vrf v4 r1 dping sdn . r3 9.9.3.2 vrf v3 r1 dping sdn . r3 9993::2 vrf v3 freeRtr-25.11.9/cfg/p4lang-rout360.tst000066400000000000000000000116561510423065500172140ustar00rootroot00000000000000description p4lang: qinq local connect addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn3 exit int sdn3.111 exit int sdn3.111.222 exit int sdn3.222 exit int sdn3.222.333 connect sdn2 exit int sdn4 exit int sdn4.111 exit int sdn4.111.222 connect sdn3.111.222 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature vlan loconn int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.5 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit int eth1.222 exit int eth1.222.333 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.3.5 vrf v1 r4 tping 100 10 1234:3::5 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout361.tst000066400000000000000000000237741510423065500172210ustar00rootroot00000000000000description p4lang: qinq pmtud addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 exit int sdn2.111.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 exit int sdn3.111 exit int sdn3.111.222 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 exit int sdn4.111 exit int sdn4.111.222 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 pmtud-in 1400 ipv6 pmtud-in 1400 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route vlan pmtud int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1.111 exit int eth1.111.222 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 siz 1400 r6 tping 100 10 4321::103 vrf v1 sou lo0 siz 1400 r6 tping -100 10 2.2.2.103 vrf v1 sou lo0 siz 1401 error r6 tping -100 10 4321::103 vrf v1 sou lo0 siz 1401 error r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout362.tst000066400000000000000000000253031510423065500172100ustar00rootroot00000000000000description p4lang: qinq tcpmss addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 tcp-mss-in 1280 ipv6 tcp-mss-in 1280 exit int sdn2 exit int sdn2.111 exit int sdn2.111.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 exit int sdn3.111 exit int sdn3.111.222 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 exit int sdn4.111 exit int sdn4.111.222 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 tcp-mss-in 1280 ipv6 tcp-mss-in 1280 exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route vlan tcpmss int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v2 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1.111 exit int eth1.111.222 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit server pckotcp pou clone di1 vrf v1 exit client tcp-segments 1024 4096 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit int di2 enc ppp vrf for v2 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 exit vpdn di2 interface di2 proxy p1 target 2.2.2.103 vcid 2554 prot pckotcp exit int di3 enc ppp vrf for v3 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 exit vpdn di3 interface di3 proxy p1 target 4321::103 vcid 2554 prot pckotcp exit client tcp-segments 1024 4096 ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 30 2.2.2.0 vrf v2 siz 3000 r6 tping 100 30 2.2.2.0 vrf v3 siz 3000 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout363.tst000066400000000000000000000144501510423065500172120ustar00rootroot00000000000000description p4lang: qinq bridge tcpmss addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 exit int sdn2.111.222 bridge-gr 1 bridge-tcp-mss ipv4in 1280 bridge-tcp-mss ipv6in 1280 exit int sdn3 exit int sdn3.111 exit int sdn3.111.222 bridge-gr 1 exit int sdn4 exit int sdn4.111 exit int sdn4.111.222 bridge-gr 1 bridge-tcp-mss ipv4in 1280 bridge-tcp-mss ipv6in 1280 exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge vlan tcpmss int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vrf def v2 rd 1:1 exit ipv4 pool p4 2.2.2.1 0.0.0.1 254 int di1 enc ppp vrf for v2 ipv4 addr 2.2.2.0 255.255.255.255 ppp ip4cp local 2.2.2.0 ipv4 pool p4 ppp ip4cp open exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit server pckotcp pou clone di1 vrf v1 exit client tcp-segments 1024 4096 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit proxy-profile p1 vrf v1 exit prefix-list p1 permit 0.0.0.0/0 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit int di2 enc ppp vrf for v2 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 exit vpdn di2 interface di2 proxy p1 target 2.2.2.104 vcid 2554 prot pckotcp exit int di3 enc ppp vrf for v3 ipv4 addr 4.4.4.4 255.255.255.128 ppp ip4cp open ppp ip4cp local 0.0.0.0 exit vpdn di3 interface di3 proxy p1 target 4321::104 vcid 2554 prot pckotcp exit client tcp-segments 1024 4096 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 30 2.2.2.0 vrf v2 siz 3000 r6 tping 100 30 2.2.2.0 vrf v3 siz 3000 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout364.tst000066400000000000000000000234751510423065500172220ustar00rootroot00000000000000description p4lang: othervpn with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v2 3.3.3.105 255.255.255.255 1.1.3.2 ipv4 route v2 3.3.3.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v2 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v2 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.1 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.4.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.4.1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.4.1 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.4.1 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 3.3.3.101 vrf v2 sou lo1 r1 tping 100 10 3333::101 vrf v2 sou lo1 r1 tping 100 10 3.3.3.103 vrf v2 sou lo1 r1 tping 100 10 3333::103 vrf v2 sou lo1 r1 tping 100 10 3.3.3.104 vrf v2 sou lo1 r1 tping 100 10 3333::104 vrf v2 sou lo1 r1 tping 100 10 3.3.3.105 vrf v2 sou lo1 r1 tping 100 10 3333::105 vrf v2 sou lo1 r1 tping 100 10 3.3.3.106 vrf v2 sou lo1 r1 tping 100 10 3333::106 vrf v2 sou lo1 r3 tping 100 10 3.3.3.101 vrf v2 sou lo1 r3 tping 100 10 3333::101 vrf v2 sou lo1 r3 tping 100 10 3.3.3.103 vrf v2 sou lo1 r3 tping 100 10 3333::103 vrf v2 sou lo1 r3 tping 100 10 3.3.3.104 vrf v2 sou lo1 r3 tping 100 10 3333::104 vrf v2 sou lo1 r3 tping 100 10 3.3.3.105 vrf v2 sou lo1 r3 tping 100 10 3333::105 vrf v2 sou lo1 r3 tping 100 10 3.3.3.106 vrf v2 sou lo1 r3 tping 100 10 3333::106 vrf v2 sou lo1 r4 tping 100 10 3.3.3.101 vrf v2 sou lo1 r4 tping 100 10 3333::101 vrf v2 sou lo1 r4 tping 100 10 3.3.3.103 vrf v2 sou lo1 r4 tping 100 10 3333::103 vrf v2 sou lo1 r4 tping 100 10 3.3.3.104 vrf v2 sou lo1 r4 tping 100 10 3333::104 vrf v2 sou lo1 r4 tping 100 10 3.3.3.105 vrf v2 sou lo1 r4 tping 100 10 3333::105 vrf v2 sou lo1 r4 tping 100 10 3.3.3.106 vrf v2 sou lo1 r4 tping 100 10 3333::106 vrf v2 sou lo1 r5 tping 100 10 3.3.3.101 vrf v1 sou lo0 r5 tping 100 10 3333::101 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.101 vrf v1 sou lo0 r6 tping 100 10 3333::101 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r1 dping sdn . r4 3.3.3.105 vrf v2 sou lo1 r1 dping sdn . r4 3333::105 vrf v2 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout365.tst000066400000000000000000000322251510423065500172140ustar00rootroot00000000000000description p4lang: csc vpn with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-vrf v2 red bgp4 2 exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-vrf v2 red bgp6 2 exit router bgp4 2 vrf v2 address lab local-as 1 router-id 4.4.4.1 neigh 1.1.3.2 remote-as 2 neigh 1.1.4.2 remote-as 3 red conn red stat red bgp4 1 exit router bgp6 2 vrf v2 address lab local-as 1 router-id 6.6.6.1 neigh 1234:3::2 remote-as 2 neigh 1234:4::2 remote-as 3 red conn red stat red bgp6 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.108 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature route mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $8a$ $8b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.6.1 255.255.255.0 ipv6 addr 1234:6::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-vrf v2 red bgp4 2 exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-vrf v2 red bgp6 2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.6.2 ipv6 route v1 1234:2:: ffff:ffff:: 1234:6::2 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.6.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.6.2 ipv4 route v1 2.2.2.108 255.255.255.255 1.1.6.2 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::2 ipv6 route v1 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::2 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7a$ $7b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v2 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-vrf v2 red bgp4 2 exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-vrf v2 red bgp6 2 exit router bgp4 2 vrf v2 address lab local-as 1 router-id 4.4.4.4 neigh 1.1.5.2 remote-as 4 red conn red stat red bgp4 1 exit router bgp6 2 vrf v2 address lab local-as 1 router-id 6.6.6.4 neigh 1234:5::2 remote-as 4 red conn red stat red bgp6 1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.108 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address lab local-as 2 router-id 4.4.4.5 neigh 1.1.3.1 remote-as 1 red conn red stat exit router bgp6 1 vrf v1 address lab local-as 2 router-id 6.6.6.5 neigh 1234:3::1 remote-as 1 red conn red stat exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address lab local-as 3 router-id 4.4.4.6 neigh 1.1.4.1 remote-as 1 red conn red stat exit router bgp6 1 vrf v1 address lab local-as 3 router-id 6.6.6.6 neigh 1234:4::1 remote-as 1 red conn red stat exit ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.107 255.255.255.255 ipv6 addr 3333::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address lab local-as 4 router-id 4.4.4.7 neigh 1.1.5.1 remote-as 1 red conn red stat exit router bgp6 1 vrf v1 address lab local-as 4 router-id 6.6.6.7 neigh 1234:5::1 remote-as 1 red conn red stat exit ! addrouter r8 int eth1 eth 0000.0000.8888 $3b$ $3a$ int eth2 eth 0000.0000.8888 $8b$ $8a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.108 255.255.255.255 ipv6 addr 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.6.2 255.255.255.0 ipv6 addr 1234:6::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.6.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.108 vrf v1 sou lo0 r1 tping 100 10 4321::108 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.108 vrf v1 sou lo0 r3 tping 100 10 4321::108 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.108 vrf v1 sou lo0 r4 tping 100 10 4321::108 vrf v1 sou lo0 r8 tping 100 10 2.2.2.101 vrf v1 sou lo0 r8 tping 100 10 4321::101 vrf v1 sou lo0 r8 tping 100 10 2.2.2.103 vrf v1 sou lo0 r8 tping 100 10 4321::103 vrf v1 sou lo0 r8 tping 100 10 2.2.2.104 vrf v1 sou lo0 r8 tping 100 10 4321::104 vrf v1 sou lo0 r8 tping 100 10 2.2.2.108 vrf v1 sou lo0 r8 tping 100 10 4321::108 vrf v1 sou lo0 r1 tping 100 10 3.3.3.101 vrf v2 sou lo1 r1 tping 100 10 3333::101 vrf v2 sou lo1 r1 tping 100 10 3.3.3.103 vrf v2 sou lo1 r1 tping 100 10 3333::103 vrf v2 sou lo1 r1 tping 100 10 3.3.3.104 vrf v2 sou lo1 r1 tping 100 10 3333::104 vrf v2 sou lo1 r1 tping 100 10 3.3.3.105 vrf v2 sou lo1 r1 tping 100 10 3333::105 vrf v2 sou lo1 r1 tping 100 10 3.3.3.106 vrf v2 sou lo1 r1 tping 100 10 3333::106 vrf v2 sou lo1 r1 tping 100 10 3.3.3.107 vrf v2 sou lo1 r1 tping 100 10 3333::107 vrf v2 sou lo1 r3 tping 100 10 3.3.3.101 vrf v2 sou lo1 r3 tping 100 10 3333::101 vrf v2 sou lo1 r3 tping 100 10 3.3.3.103 vrf v2 sou lo1 r3 tping 100 10 3333::103 vrf v2 sou lo1 r3 tping 100 10 3.3.3.104 vrf v2 sou lo1 r3 tping 100 10 3333::104 vrf v2 sou lo1 r3 tping 100 10 3.3.3.105 vrf v2 sou lo1 r3 tping 100 10 3333::105 vrf v2 sou lo1 r3 tping 100 10 3.3.3.106 vrf v2 sou lo1 r3 tping 100 10 3333::106 vrf v2 sou lo1 r3 tping 100 10 3.3.3.107 vrf v2 sou lo1 r3 tping 100 10 3333::107 vrf v2 sou lo1 r4 tping 100 10 3.3.3.101 vrf v2 sou lo1 r4 tping 100 10 3333::101 vrf v2 sou lo1 r4 tping 100 10 3.3.3.103 vrf v2 sou lo1 r4 tping 100 10 3333::103 vrf v2 sou lo1 r4 tping 100 10 3.3.3.104 vrf v2 sou lo1 r4 tping 100 10 3333::104 vrf v2 sou lo1 r4 tping 100 10 3.3.3.105 vrf v2 sou lo1 r4 tping 100 10 3333::105 vrf v2 sou lo1 r4 tping 100 10 3.3.3.106 vrf v2 sou lo1 r4 tping 100 10 3333::106 vrf v2 sou lo1 r4 tping 100 10 3.3.3.107 vrf v2 sou lo1 r4 tping 100 10 3333::107 vrf v2 sou lo1 r5 tping 100 10 3.3.3.101 vrf v1 sou lo0 r5 tping 100 10 3333::101 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r5 tping 100 10 3.3.3.107 vrf v1 sou lo0 r5 tping 100 10 3333::107 vrf v1 sou lo0 r6 tping 100 10 3.3.3.101 vrf v1 sou lo0 r6 tping 100 10 3333::101 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.107 vrf v1 sou lo0 r6 tping 100 10 3333::107 vrf v1 sou lo0 r7 tping 100 10 3.3.3.101 vrf v1 sou lo0 r7 tping 100 10 3333::101 vrf v1 sou lo0 r7 tping 100 10 3.3.3.103 vrf v1 sou lo0 r7 tping 100 10 3333::103 vrf v1 sou lo0 r7 tping 100 10 3.3.3.104 vrf v1 sou lo0 r7 tping 100 10 3333::104 vrf v1 sou lo0 r7 tping 100 10 3.3.3.105 vrf v1 sou lo0 r7 tping 100 10 3333::105 vrf v1 sou lo0 r7 tping 100 10 3.3.3.106 vrf v1 sou lo0 r7 tping 100 10 3333::106 vrf v1 sou lo0 r7 tping 100 10 3.3.3.107 vrf v1 sou lo0 r7 tping 100 10 3333::107 vrf v1 sou lo0 r1 dping sdn . r7 3.3.3.105 vrf v1 sou lo0 r1 dping sdn . r7 3333::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout366.tst000066400000000000000000000237441510423065500172230ustar00rootroot00000000000000description p4lang: othervpn with bgp over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 exit int sdn2.111 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 exit int sdn3.111 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 exit int sdn4.111 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v2 3.3.3.105 255.255.255.255 1.1.3.2 ipv4 route v2 3.3.3.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v2 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v2 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route vlan mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.1 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.4.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.4.1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.4.1 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.4.1 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 3.3.3.101 vrf v2 sou lo1 r1 tping 100 10 3333::101 vrf v2 sou lo1 r1 tping 100 10 3.3.3.103 vrf v2 sou lo1 r1 tping 100 10 3333::103 vrf v2 sou lo1 r1 tping 100 10 3.3.3.104 vrf v2 sou lo1 r1 tping 100 10 3333::104 vrf v2 sou lo1 r1 tping 100 10 3.3.3.105 vrf v2 sou lo1 r1 tping 100 10 3333::105 vrf v2 sou lo1 r1 tping 100 10 3.3.3.106 vrf v2 sou lo1 r1 tping 100 10 3333::106 vrf v2 sou lo1 r3 tping 100 10 3.3.3.101 vrf v2 sou lo1 r3 tping 100 10 3333::101 vrf v2 sou lo1 r3 tping 100 10 3.3.3.103 vrf v2 sou lo1 r3 tping 100 10 3333::103 vrf v2 sou lo1 r3 tping 100 10 3.3.3.104 vrf v2 sou lo1 r3 tping 100 10 3333::104 vrf v2 sou lo1 r3 tping 100 10 3.3.3.105 vrf v2 sou lo1 r3 tping 100 10 3333::105 vrf v2 sou lo1 r3 tping 100 10 3.3.3.106 vrf v2 sou lo1 r3 tping 100 10 3333::106 vrf v2 sou lo1 r4 tping 100 10 3.3.3.101 vrf v2 sou lo1 r4 tping 100 10 3333::101 vrf v2 sou lo1 r4 tping 100 10 3.3.3.103 vrf v2 sou lo1 r4 tping 100 10 3333::103 vrf v2 sou lo1 r4 tping 100 10 3.3.3.104 vrf v2 sou lo1 r4 tping 100 10 3333::104 vrf v2 sou lo1 r4 tping 100 10 3.3.3.105 vrf v2 sou lo1 r4 tping 100 10 3333::105 vrf v2 sou lo1 r4 tping 100 10 3.3.3.106 vrf v2 sou lo1 r4 tping 100 10 3333::106 vrf v2 sou lo1 r5 tping 100 10 3.3.3.101 vrf v1 sou lo0 r5 tping 100 10 3333::101 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.101 vrf v1 sou lo0 r6 tping 100 10 3333::101 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r1 dping sdn . r4 3.3.3.105 vrf v2 sou lo1 r1 dping sdn . r4 3333::105 vrf v2 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout367.tst000066400000000000000000000324741510423065500172240ustar00rootroot00000000000000description p4lang: csc vpn with bgp over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 exit int sdn2.111 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 exit int sdn3.111 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable exit int sdn4 exit int sdn4.111 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-vrf v2 red bgp4 2 exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-vrf v2 red bgp6 2 exit router bgp4 2 vrf v2 address lab local-as 1 router-id 4.4.4.1 neigh 1.1.3.2 remote-as 2 neigh 1.1.4.2 remote-as 3 red conn red stat red bgp4 1 exit router bgp6 2 vrf v2 address lab local-as 1 router-id 6.6.6.1 neigh 1234:3::2 remote-as 2 neigh 1234:4::2 remote-as 3 red conn red stat red bgp6 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.108 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature route vlan mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $8a$ $8b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.6.1 255.255.255.0 ipv6 addr 1234:6::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-vrf v2 red bgp4 2 exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-vrf v2 red bgp6 2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.6.2 ipv6 route v1 1234:2:: ffff:ffff:: 1234:6::2 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.6.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.6.2 ipv4 route v1 2.2.2.108 255.255.255.255 1.1.6.2 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::2 ipv6 route v1 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::2 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7a$ $7b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v2 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-vrf v2 red bgp4 2 exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-vrf v2 red bgp6 2 exit router bgp4 2 vrf v2 address lab local-as 1 router-id 4.4.4.4 neigh 1.1.5.2 remote-as 4 red conn red stat red bgp4 1 exit router bgp6 2 vrf v2 address lab local-as 1 router-id 6.6.6.4 neigh 1234:5::2 remote-as 4 red conn red stat red bgp6 1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.108 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address lab local-as 2 router-id 4.4.4.5 neigh 1.1.3.1 remote-as 1 red conn red stat exit router bgp6 1 vrf v1 address lab local-as 2 router-id 6.6.6.5 neigh 1234:3::1 remote-as 1 red conn red stat exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address lab local-as 3 router-id 4.4.4.6 neigh 1.1.4.1 remote-as 1 red conn red stat exit router bgp6 1 vrf v1 address lab local-as 3 router-id 6.6.6.6 neigh 1234:4::1 remote-as 1 red conn red stat exit ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.107 255.255.255.255 ipv6 addr 3333::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address lab local-as 4 router-id 4.4.4.7 neigh 1.1.5.1 remote-as 1 red conn red stat exit router bgp6 1 vrf v1 address lab local-as 4 router-id 6.6.6.7 neigh 1234:5::1 remote-as 1 red conn red stat exit ! addrouter r8 int eth1 eth 0000.0000.8888 $3b$ $3a$ int eth2 eth 0000.0000.8888 $8b$ $8a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.108 255.255.255.255 ipv6 addr 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.6.2 255.255.255.0 ipv6 addr 1234:6::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.6.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.108 vrf v1 sou lo0 r1 tping 100 10 4321::108 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.108 vrf v1 sou lo0 r3 tping 100 10 4321::108 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.108 vrf v1 sou lo0 r4 tping 100 10 4321::108 vrf v1 sou lo0 r8 tping 100 10 2.2.2.101 vrf v1 sou lo0 r8 tping 100 10 4321::101 vrf v1 sou lo0 r8 tping 100 10 2.2.2.103 vrf v1 sou lo0 r8 tping 100 10 4321::103 vrf v1 sou lo0 r8 tping 100 10 2.2.2.104 vrf v1 sou lo0 r8 tping 100 10 4321::104 vrf v1 sou lo0 r8 tping 100 10 2.2.2.108 vrf v1 sou lo0 r8 tping 100 10 4321::108 vrf v1 sou lo0 r1 tping 100 10 3.3.3.101 vrf v2 sou lo1 r1 tping 100 10 3333::101 vrf v2 sou lo1 r1 tping 100 10 3.3.3.103 vrf v2 sou lo1 r1 tping 100 10 3333::103 vrf v2 sou lo1 r1 tping 100 10 3.3.3.104 vrf v2 sou lo1 r1 tping 100 10 3333::104 vrf v2 sou lo1 r1 tping 100 10 3.3.3.105 vrf v2 sou lo1 r1 tping 100 10 3333::105 vrf v2 sou lo1 r1 tping 100 10 3.3.3.106 vrf v2 sou lo1 r1 tping 100 10 3333::106 vrf v2 sou lo1 r1 tping 100 10 3.3.3.107 vrf v2 sou lo1 r1 tping 100 10 3333::107 vrf v2 sou lo1 r3 tping 100 10 3.3.3.101 vrf v2 sou lo1 r3 tping 100 10 3333::101 vrf v2 sou lo1 r3 tping 100 10 3.3.3.103 vrf v2 sou lo1 r3 tping 100 10 3333::103 vrf v2 sou lo1 r3 tping 100 10 3.3.3.104 vrf v2 sou lo1 r3 tping 100 10 3333::104 vrf v2 sou lo1 r3 tping 100 10 3.3.3.105 vrf v2 sou lo1 r3 tping 100 10 3333::105 vrf v2 sou lo1 r3 tping 100 10 3.3.3.106 vrf v2 sou lo1 r3 tping 100 10 3333::106 vrf v2 sou lo1 r3 tping 100 10 3.3.3.107 vrf v2 sou lo1 r3 tping 100 10 3333::107 vrf v2 sou lo1 r4 tping 100 10 3.3.3.101 vrf v2 sou lo1 r4 tping 100 10 3333::101 vrf v2 sou lo1 r4 tping 100 10 3.3.3.103 vrf v2 sou lo1 r4 tping 100 10 3333::103 vrf v2 sou lo1 r4 tping 100 10 3.3.3.104 vrf v2 sou lo1 r4 tping 100 10 3333::104 vrf v2 sou lo1 r4 tping 100 10 3.3.3.105 vrf v2 sou lo1 r4 tping 100 10 3333::105 vrf v2 sou lo1 r4 tping 100 10 3.3.3.106 vrf v2 sou lo1 r4 tping 100 10 3333::106 vrf v2 sou lo1 r4 tping 100 10 3.3.3.107 vrf v2 sou lo1 r4 tping 100 10 3333::107 vrf v2 sou lo1 r5 tping 100 10 3.3.3.101 vrf v1 sou lo0 r5 tping 100 10 3333::101 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r5 tping 100 10 3.3.3.107 vrf v1 sou lo0 r5 tping 100 10 3333::107 vrf v1 sou lo0 r6 tping 100 10 3.3.3.101 vrf v1 sou lo0 r6 tping 100 10 3333::101 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.107 vrf v1 sou lo0 r6 tping 100 10 3333::107 vrf v1 sou lo0 r7 tping 100 10 3.3.3.101 vrf v1 sou lo0 r7 tping 100 10 3333::101 vrf v1 sou lo0 r7 tping 100 10 3.3.3.103 vrf v1 sou lo0 r7 tping 100 10 3333::103 vrf v1 sou lo0 r7 tping 100 10 3.3.3.104 vrf v1 sou lo0 r7 tping 100 10 3333::104 vrf v1 sou lo0 r7 tping 100 10 3.3.3.105 vrf v1 sou lo0 r7 tping 100 10 3333::105 vrf v1 sou lo0 r7 tping 100 10 3.3.3.106 vrf v1 sou lo0 r7 tping 100 10 3333::106 vrf v1 sou lo0 r7 tping 100 10 3.3.3.107 vrf v1 sou lo0 r7 tping 100 10 3333::107 vrf v1 sou lo0 r1 dping sdn . r7 3.3.3.105 vrf v1 sou lo0 r1 dping sdn . r7 3333::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout368.tst000066400000000000000000000242341510423065500172200ustar00rootroot00000000000000description p4lang: othervpn with bgp over qinq addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 exit int sdn2.111 exit int sdn2.111.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 exit int sdn3.111 exit int sdn3.111.222 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 exit int sdn4.111 exit int sdn4.111.222 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v2 3.3.3.105 255.255.255.255 1.1.3.2 ipv4 route v2 3.3.3.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v2 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v2 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route vlan mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.1 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.4.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.4.1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.4.1 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.4.1 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 3.3.3.101 vrf v2 sou lo1 r1 tping 100 10 3333::101 vrf v2 sou lo1 r1 tping 100 10 3.3.3.103 vrf v2 sou lo1 r1 tping 100 10 3333::103 vrf v2 sou lo1 r1 tping 100 10 3.3.3.104 vrf v2 sou lo1 r1 tping 100 10 3333::104 vrf v2 sou lo1 r1 tping 100 10 3.3.3.105 vrf v2 sou lo1 r1 tping 100 10 3333::105 vrf v2 sou lo1 r1 tping 100 10 3.3.3.106 vrf v2 sou lo1 r1 tping 100 10 3333::106 vrf v2 sou lo1 r3 tping 100 10 3.3.3.101 vrf v2 sou lo1 r3 tping 100 10 3333::101 vrf v2 sou lo1 r3 tping 100 10 3.3.3.103 vrf v2 sou lo1 r3 tping 100 10 3333::103 vrf v2 sou lo1 r3 tping 100 10 3.3.3.104 vrf v2 sou lo1 r3 tping 100 10 3333::104 vrf v2 sou lo1 r3 tping 100 10 3.3.3.105 vrf v2 sou lo1 r3 tping 100 10 3333::105 vrf v2 sou lo1 r3 tping 100 10 3.3.3.106 vrf v2 sou lo1 r3 tping 100 10 3333::106 vrf v2 sou lo1 r4 tping 100 10 3.3.3.101 vrf v2 sou lo1 r4 tping 100 10 3333::101 vrf v2 sou lo1 r4 tping 100 10 3.3.3.103 vrf v2 sou lo1 r4 tping 100 10 3333::103 vrf v2 sou lo1 r4 tping 100 10 3.3.3.104 vrf v2 sou lo1 r4 tping 100 10 3333::104 vrf v2 sou lo1 r4 tping 100 10 3.3.3.105 vrf v2 sou lo1 r4 tping 100 10 3333::105 vrf v2 sou lo1 r4 tping 100 10 3.3.3.106 vrf v2 sou lo1 r4 tping 100 10 3333::106 vrf v2 sou lo1 r5 tping 100 10 3.3.3.101 vrf v1 sou lo0 r5 tping 100 10 3333::101 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.101 vrf v1 sou lo0 r6 tping 100 10 3333::101 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r1 dping sdn . r4 3.3.3.105 vrf v2 sou lo1 r1 dping sdn . r4 3333::105 vrf v2 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout369.tst000066400000000000000000000327641510423065500172300ustar00rootroot00000000000000description p4lang: csc vpn with bgp over qinq addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 exit int sdn2.111 exit int sdn2.111.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 exit int sdn3.111 exit int sdn3.111.222 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable exit int sdn4 exit int sdn4.111 exit int sdn4.111.222 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-vrf v2 red bgp4 2 exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-vrf v2 red bgp6 2 exit router bgp4 2 vrf v2 address lab local-as 1 router-id 4.4.4.1 neigh 1.1.3.2 remote-as 2 neigh 1.1.4.2 remote-as 3 red conn red stat red bgp4 1 exit router bgp6 2 vrf v2 address lab local-as 1 router-id 6.6.6.1 neigh 1234:3::2 remote-as 2 neigh 1234:4::2 remote-as 3 red conn red stat red bgp6 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.108 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature route vlan mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $8a$ $8b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.6.1 255.255.255.0 ipv6 addr 1234:6::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-vrf v2 red bgp4 2 exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-vrf v2 red bgp6 2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.6.2 ipv6 route v1 1234:2:: ffff:ffff:: 1234:6::2 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.6.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.6.2 ipv4 route v1 2.2.2.108 255.255.255.255 1.1.6.2 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::2 ipv6 route v1 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::2 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ int eth2 eth 0000.0000.4444 $7a$ $7b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v2 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-vrf v2 red bgp4 2 exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-vrf v2 red bgp6 2 exit router bgp4 2 vrf v2 address lab local-as 1 router-id 4.4.4.4 neigh 1.1.5.2 remote-as 4 red conn red stat red bgp4 1 exit router bgp6 2 vrf v2 address lab local-as 1 router-id 6.6.6.4 neigh 1234:5::2 remote-as 4 red conn red stat red bgp6 1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.108 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address lab local-as 2 router-id 4.4.4.5 neigh 1.1.3.1 remote-as 1 red conn red stat exit router bgp6 1 vrf v1 address lab local-as 2 router-id 6.6.6.5 neigh 1234:3::1 remote-as 1 red conn red stat exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address lab local-as 3 router-id 4.4.4.6 neigh 1.1.4.1 remote-as 1 red conn red stat exit router bgp6 1 vrf v1 address lab local-as 3 router-id 6.6.6.6 neigh 1234:4::1 remote-as 1 red conn red stat exit ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.107 255.255.255.255 ipv6 addr 3333::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address lab local-as 4 router-id 4.4.4.7 neigh 1.1.5.1 remote-as 1 red conn red stat exit router bgp6 1 vrf v1 address lab local-as 4 router-id 6.6.6.7 neigh 1234:5::1 remote-as 1 red conn red stat exit ! addrouter r8 int eth1 eth 0000.0000.8888 $3b$ $3a$ int eth2 eth 0000.0000.8888 $8b$ $8a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.108 255.255.255.255 ipv6 addr 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.6.2 255.255.255.0 ipv6 addr 1234:6::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.6.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.108 vrf v1 sou lo0 r1 tping 100 10 4321::108 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.108 vrf v1 sou lo0 r3 tping 100 10 4321::108 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.108 vrf v1 sou lo0 r4 tping 100 10 4321::108 vrf v1 sou lo0 r8 tping 100 10 2.2.2.101 vrf v1 sou lo0 r8 tping 100 10 4321::101 vrf v1 sou lo0 r8 tping 100 10 2.2.2.103 vrf v1 sou lo0 r8 tping 100 10 4321::103 vrf v1 sou lo0 r8 tping 100 10 2.2.2.104 vrf v1 sou lo0 r8 tping 100 10 4321::104 vrf v1 sou lo0 r8 tping 100 10 2.2.2.108 vrf v1 sou lo0 r8 tping 100 10 4321::108 vrf v1 sou lo0 r1 tping 100 10 3.3.3.101 vrf v2 sou lo1 r1 tping 100 10 3333::101 vrf v2 sou lo1 r1 tping 100 10 3.3.3.103 vrf v2 sou lo1 r1 tping 100 10 3333::103 vrf v2 sou lo1 r1 tping 100 10 3.3.3.104 vrf v2 sou lo1 r1 tping 100 10 3333::104 vrf v2 sou lo1 r1 tping 100 10 3.3.3.105 vrf v2 sou lo1 r1 tping 100 10 3333::105 vrf v2 sou lo1 r1 tping 100 10 3.3.3.106 vrf v2 sou lo1 r1 tping 100 10 3333::106 vrf v2 sou lo1 r1 tping 100 10 3.3.3.107 vrf v2 sou lo1 r1 tping 100 10 3333::107 vrf v2 sou lo1 r3 tping 100 10 3.3.3.101 vrf v2 sou lo1 r3 tping 100 10 3333::101 vrf v2 sou lo1 r3 tping 100 10 3.3.3.103 vrf v2 sou lo1 r3 tping 100 10 3333::103 vrf v2 sou lo1 r3 tping 100 10 3.3.3.104 vrf v2 sou lo1 r3 tping 100 10 3333::104 vrf v2 sou lo1 r3 tping 100 10 3.3.3.105 vrf v2 sou lo1 r3 tping 100 10 3333::105 vrf v2 sou lo1 r3 tping 100 10 3.3.3.106 vrf v2 sou lo1 r3 tping 100 10 3333::106 vrf v2 sou lo1 r3 tping 100 10 3.3.3.107 vrf v2 sou lo1 r3 tping 100 10 3333::107 vrf v2 sou lo1 r4 tping 100 10 3.3.3.101 vrf v2 sou lo1 r4 tping 100 10 3333::101 vrf v2 sou lo1 r4 tping 100 10 3.3.3.103 vrf v2 sou lo1 r4 tping 100 10 3333::103 vrf v2 sou lo1 r4 tping 100 10 3.3.3.104 vrf v2 sou lo1 r4 tping 100 10 3333::104 vrf v2 sou lo1 r4 tping 100 10 3.3.3.105 vrf v2 sou lo1 r4 tping 100 10 3333::105 vrf v2 sou lo1 r4 tping 100 10 3.3.3.106 vrf v2 sou lo1 r4 tping 100 10 3333::106 vrf v2 sou lo1 r4 tping 100 10 3.3.3.107 vrf v2 sou lo1 r4 tping 100 10 3333::107 vrf v2 sou lo1 r5 tping 100 10 3.3.3.101 vrf v1 sou lo0 r5 tping 100 10 3333::101 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r5 tping 100 10 3.3.3.107 vrf v1 sou lo0 r5 tping 100 10 3333::107 vrf v1 sou lo0 r6 tping 100 10 3.3.3.101 vrf v1 sou lo0 r6 tping 100 10 3333::101 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.107 vrf v1 sou lo0 r6 tping 100 10 3333::107 vrf v1 sou lo0 r7 tping 100 10 3.3.3.101 vrf v1 sou lo0 r7 tping 100 10 3333::101 vrf v1 sou lo0 r7 tping 100 10 3.3.3.103 vrf v1 sou lo0 r7 tping 100 10 3333::103 vrf v1 sou lo0 r7 tping 100 10 3.3.3.104 vrf v1 sou lo0 r7 tping 100 10 3333::104 vrf v1 sou lo0 r7 tping 100 10 3.3.3.105 vrf v1 sou lo0 r7 tping 100 10 3333::105 vrf v1 sou lo0 r7 tping 100 10 3.3.3.106 vrf v1 sou lo0 r7 tping 100 10 3333::106 vrf v1 sou lo0 r7 tping 100 10 3.3.3.107 vrf v1 sou lo0 r7 tping 100 10 3333::107 vrf v1 sou lo0 r1 dping sdn . r7 3.3.3.105 vrf v1 sou lo0 r1 dping sdn . r7 3333::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout370.tst000066400000000000000000000305241510423065500172100ustar00rootroot00000000000000description p4lang: othervpn with bgp over backplane addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ int eth3 eth 0000.0000.1111 $7a$ $7b$ int eth4 eth 0000.0000.1111 $8b$ $8a$ int eth5 eth 0000.0000.1111 $13a$ $13b$ int eth6 eth 0000.0000.1111 $14b$ $14a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int eth3 vrf for v9 ipv4 addr 10.12.13.254 255.255.255.0 exit int eth4 exit server dhcp4 eth3 pool 10.12.13.1 10.12.13.99 gateway 10.12.13.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.3333 10.12.13.111 interface eth3 vrf v9 exit int eth5 vrf for v9 ipv4 addr 10.13.14.254 255.255.255.0 exit int eth6 exit server dhcp4 eth5 pool 10.13.14.1 10.13.14.99 gateway 10.13.14.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.4444 10.13.14.111 interface eth5 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit bundle 2 exit bundle 3 exit bundle 4 exit int sdn11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn12 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int bun1 vrf for v1 mpls ena exit int sdn13 bundle-gr 1 exit int sdn14 bundle-gr 1 exit int sdn21 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn22 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit int bun2 vrf for v1 mpls ena exit int sdn23 bundle-gr 2 exit int sdn24 bundle-gr 2 exit int bun3 vrf for v1 mpls ena exit int sdn31 bundle-gr 3 exit int sdn32 bundle-gr 3 exit int bun4 vrf for v1 mpls ena exit int sdn33 bundle-gr 4 exit int sdn34 bundle-gr 4 exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit server p4lang a interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn11 1 10 export-port sdn12 2 10 export-port sdn13 3 10 export-port sdn14 4 10 export-port bun1 dynamic exit server p4lang b interconnect eth4 export-vrf v1 export-vrf v2 export-port sdn21 1 10 export-port sdn22 2 10 export-port sdn23 3 10 export-port sdn24 4 10 export-port bun2 dynamic exit server p4lang c interconnect eth6 export-vrf v1 export-vrf v2 export-port sdn31 1 10 export-port sdn32 2 10 export-port sdn33 3 10 export-port sdn34 4 10 export-port bun3 dynamic export-port bun4 dynamic exit server stack s dataplanes 4 forwarder 1 p4lang a forwarder 1 backplane bun1 1 forwarder 1 remote 10.11.12.111 forwarder 2 p4lang b forwarder 2 backplane bun2 1 forwarder 2 remote 10.12.13.111 forwarder 3 p4lang c forwarder 3 backplane bun3 1 forwarder 3 backplane bun4 1 forwarder 3 remote 10.13.14.111 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v2 3.3.3.105 255.255.255.255 1.1.3.2 ipv4 route v2 3.3.3.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v2 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v2 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 10.11.12.111 feature bundle mpls route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addother r3 controller r1 v9 9080 10.12.13.111 feature bundle mpls route int eth1 eth 0000.0000.3333 $7b$ $7a$ int eth2 eth 0000.0000.3333 $8a$ $8b$ int eth3 eth 0000.0000.3333 $9a$ $9b$ int eth4 eth 0000.0000.3333 $10a$ $10b$ int eth5 eth 0000.0000.3333 $11a$ $11b$ int eth6 eth 0000.0000.3333 $12a$ $12b$ ! ! addother r4 controller r1 v9 9080 10.13.14.111 feature bundle mpls route int eth1 eth 0000.0000.4444 $13b$ $13a$ int eth2 eth 0000.0000.4444 $14a$ $14b$ int eth3 eth 0000.0000.4444 $5b$ $5a$ int eth4 eth 0000.0000.4444 $6b$ $6a$ int eth5 eth 0000.0000.4444 $11b$ $11a$ int eth6 eth 0000.0000.4444 $12b$ $12a$ ! ! addrouter r5 int eth1 eth 0000.0000.5555 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r7 int eth1 eth 0000.0000.7777 $9b$ $9a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.1 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r8 int eth1 eth 0000.0000.8888 $10b$ $10a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.4.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.4.1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.4.1 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.4.1 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 3.3.3.101 vrf v2 sou lo1 r1 tping 100 10 3333::101 vrf v2 sou lo1 r1 tping 100 10 3.3.3.103 vrf v2 sou lo1 r1 tping 100 10 3333::103 vrf v2 sou lo1 r1 tping 100 10 3.3.3.104 vrf v2 sou lo1 r1 tping 100 10 3333::104 vrf v2 sou lo1 r1 tping 100 10 3.3.3.105 vrf v2 sou lo1 r1 tping 100 10 3333::105 vrf v2 sou lo1 r1 tping 100 10 3.3.3.106 vrf v2 sou lo1 r1 tping 100 10 3333::106 vrf v2 sou lo1 r5 tping 100 10 3.3.3.101 vrf v2 sou lo1 r5 tping 100 10 3333::101 vrf v2 sou lo1 r5 tping 100 10 3.3.3.103 vrf v2 sou lo1 r5 tping 100 10 3333::103 vrf v2 sou lo1 r5 tping 100 10 3.3.3.104 vrf v2 sou lo1 r5 tping 100 10 3333::104 vrf v2 sou lo1 r5 tping 100 10 3.3.3.105 vrf v2 sou lo1 r5 tping 100 10 3333::105 vrf v2 sou lo1 r5 tping 100 10 3.3.3.106 vrf v2 sou lo1 r5 tping 100 10 3333::106 vrf v2 sou lo1 r6 tping 100 10 3.3.3.101 vrf v2 sou lo1 r6 tping 100 10 3333::101 vrf v2 sou lo1 r6 tping 100 10 3.3.3.103 vrf v2 sou lo1 r6 tping 100 10 3333::103 vrf v2 sou lo1 r6 tping 100 10 3.3.3.104 vrf v2 sou lo1 r6 tping 100 10 3333::104 vrf v2 sou lo1 r6 tping 100 10 3.3.3.105 vrf v2 sou lo1 r6 tping 100 10 3333::105 vrf v2 sou lo1 r6 tping 100 10 3.3.3.106 vrf v2 sou lo1 r6 tping 100 10 3333::106 vrf v2 sou lo1 r7 tping 100 10 3.3.3.101 vrf v1 sou lo0 r7 tping 100 10 3333::101 vrf v1 sou lo0 r7 tping 100 10 3.3.3.103 vrf v1 sou lo0 r7 tping 100 10 3333::103 vrf v1 sou lo0 r7 tping 100 10 3.3.3.104 vrf v1 sou lo0 r7 tping 100 10 3333::104 vrf v1 sou lo0 r7 tping 100 10 3.3.3.105 vrf v1 sou lo0 r7 tping 100 10 3333::105 vrf v1 sou lo0 r7 tping 100 10 3.3.3.106 vrf v1 sou lo0 r7 tping 100 10 3333::106 vrf v1 sou lo0 r8 tping 100 10 3.3.3.101 vrf v1 sou lo0 r8 tping 100 10 3333::101 vrf v1 sou lo0 r8 tping 100 10 3.3.3.103 vrf v1 sou lo0 r8 tping 100 10 3333::103 vrf v1 sou lo0 r8 tping 100 10 3.3.3.104 vrf v1 sou lo0 r8 tping 100 10 3333::104 vrf v1 sou lo0 r8 tping 100 10 3.3.3.105 vrf v1 sou lo0 r8 tping 100 10 3333::105 vrf v1 sou lo0 r8 tping 100 10 3.3.3.106 vrf v1 sou lo0 r8 tping 100 10 3333::106 vrf v1 sou lo0 r1 dping sdn . r6 3.3.3.105 vrf v2 sou lo1 r1 dping sdn . r6 3333::105 vrf v2 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout371.tst000066400000000000000000000372741510423065500172220ustar00rootroot00000000000000description p4lang: csc vpn with bgp over backplane addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ int eth3 eth 0000.0000.1111 $7a$ $7b$ int eth4 eth 0000.0000.1111 $8b$ $8a$ int eth5 eth 0000.0000.1111 $13a$ $13b$ int eth6 eth 0000.0000.1111 $14b$ $14a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int eth3 vrf for v9 ipv4 addr 10.12.13.254 255.255.255.0 exit int eth4 exit server dhcp4 eth3 pool 10.12.13.1 10.12.13.99 gateway 10.12.13.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.3333 10.12.13.111 interface eth3 vrf v9 exit int eth5 vrf for v9 ipv4 addr 10.13.14.254 255.255.255.0 exit int eth6 exit server dhcp4 eth5 pool 10.13.14.1 10.13.14.99 gateway 10.13.14.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.4444 10.13.14.111 interface eth5 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit bundle 2 exit bundle 3 exit bundle 4 exit int sdn11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn12 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int bun1 vrf for v1 mpls ena exit int sdn13 bundle-gr 1 exit int sdn14 bundle-gr 1 exit int sdn21 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable exit int sdn22 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-vrf v2 red bgp4 2 exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-vrf v2 red bgp6 2 exit router bgp4 2 vrf v2 address lab local-as 1 router-id 4.4.4.1 neigh 1.1.3.2 remote-as 2 neigh 1.1.4.2 remote-as 3 red conn red stat red bgp4 1 exit router bgp6 2 vrf v2 address lab local-as 1 router-id 6.6.6.1 neigh 1234:3::2 remote-as 2 neigh 1234:4::2 remote-as 3 red conn red stat red bgp6 1 exit int bun2 vrf for v1 mpls ena exit int sdn23 bundle-gr 2 exit int sdn24 bundle-gr 2 exit int bun3 vrf for v1 mpls ena exit int sdn31 bundle-gr 3 exit int sdn32 bundle-gr 3 exit int bun4 vrf for v1 mpls ena exit int sdn33 bundle-gr 4 exit int sdn34 bundle-gr 4 exit server p4lang a interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn11 1 10 export-port sdn12 2 10 export-port sdn13 3 10 export-port sdn14 4 10 export-port bun1 dynamic exit server p4lang b interconnect eth4 export-vrf v1 export-vrf v2 export-port sdn21 1 10 export-port sdn22 2 10 export-port sdn23 3 10 export-port sdn24 4 10 export-port bun2 dynamic exit server p4lang c interconnect eth6 export-vrf v1 export-vrf v2 export-port sdn31 1 10 export-port sdn32 2 10 export-port sdn33 3 10 export-port sdn34 4 10 export-port bun3 dynamic export-port bun4 dynamic exit server stack s dataplanes 4 forwarder 1 p4lang a forwarder 1 backplane bun1 1 forwarder 1 remote 10.11.12.111 forwarder 2 p4lang b forwarder 2 backplane bun2 1 forwarder 2 remote 10.12.13.111 forwarder 3 p4lang c forwarder 3 backplane bun3 1 forwarder 3 backplane bun4 1 forwarder 3 remote 10.13.14.111 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.108 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 10.11.12.111 feature bundle mpls route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addother r3 controller r1 v9 9080 10.12.13.111 feature bundle mpls route int eth1 eth 0000.0000.3333 $7b$ $7a$ int eth2 eth 0000.0000.3333 $8a$ $8b$ int eth3 eth 0000.0000.3333 $9a$ $9b$ int eth4 eth 0000.0000.3333 $10a$ $10b$ int eth5 eth 0000.0000.3333 $11a$ $11b$ int eth6 eth 0000.0000.3333 $12a$ $12b$ ! ! addother r4 controller r1 v9 9080 10.13.14.111 feature bundle mpls route int eth1 eth 0000.0000.4444 $13b$ $13a$ int eth2 eth 0000.0000.4444 $14a$ $14b$ int eth3 eth 0000.0000.4444 $5b$ $5a$ int eth4 eth 0000.0000.4444 $6b$ $6a$ int eth5 eth 0000.0000.4444 $11b$ $11a$ int eth6 eth 0000.0000.4444 $12b$ $12a$ ! ! addrouter r5 int eth1 eth 0000.0000.5555 $16a$ $16b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.6.1 255.255.255.0 ipv6 addr 1234:6::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-vrf v2 red bgp4 2 exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-vrf v2 red bgp6 2 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.6.2 ipv6 route v1 1234:2:: ffff:ffff:: 1234:6::2 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.6.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.6.2 ipv4 route v1 2.2.2.108 255.255.255.255 1.1.6.2 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::2 ipv6 route v1 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::2 ! addrouter r6 int eth1 eth 0000.0000.6666 $4b$ $4a$ int eth2 eth 0000.0000.6666 $15a$ $15b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v2 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-vrf v2 red bgp4 2 exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-vrf v2 red bgp6 2 exit router bgp4 2 vrf v2 address lab local-as 1 router-id 4.4.4.4 neigh 1.1.5.2 remote-as 4 red conn red stat red bgp4 1 exit router bgp6 2 vrf v2 address lab local-as 1 router-id 6.6.6.4 neigh 1234:5::2 remote-as 4 red conn red stat red bgp6 1 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.108 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r7 int eth1 eth 0000.0000.7777 $9b$ $9a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address lab local-as 2 router-id 4.4.4.5 neigh 1.1.3.1 remote-as 1 red conn red stat exit router bgp6 1 vrf v1 address lab local-as 2 router-id 6.6.6.5 neigh 1234:3::1 remote-as 1 red conn red stat exit ! addrouter r8 int eth1 eth 0000.0000.8888 $10b$ $10a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address lab local-as 3 router-id 4.4.4.6 neigh 1.1.4.1 remote-as 1 red conn red stat exit router bgp6 1 vrf v1 address lab local-as 3 router-id 6.6.6.6 neigh 1234:4::1 remote-as 1 red conn red stat exit ! addrouter r9 int eth1 eth 0000.0000.9999 $15b$ $15a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.107 255.255.255.255 ipv6 addr 3333::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address lab local-as 4 router-id 4.4.4.7 neigh 1.1.5.1 remote-as 1 red conn red stat exit router bgp6 1 vrf v1 address lab local-as 4 router-id 6.6.6.7 neigh 1234:5::1 remote-as 1 red conn red stat exit ! addrouter r10 int eth1 eth 0000.0000.aaaa $3b$ $3a$ int eth2 eth 0000.0000.aaaa $16b$ $16a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.108 255.255.255.255 ipv6 addr 4321::108 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.6.2 255.255.255.0 ipv6 addr 1234:6::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.6.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:6::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.108 vrf v1 sou lo0 r1 tping 100 10 4321::108 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.108 vrf v1 sou lo0 r5 tping 100 10 4321::108 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.108 vrf v1 sou lo0 r6 tping 100 10 4321::108 vrf v1 sou lo0 r10 tping 100 10 2.2.2.101 vrf v1 sou lo0 r10 tping 100 10 4321::101 vrf v1 sou lo0 r10 tping 100 10 2.2.2.103 vrf v1 sou lo0 r10 tping 100 10 4321::103 vrf v1 sou lo0 r10 tping 100 10 2.2.2.104 vrf v1 sou lo0 r10 tping 100 10 4321::104 vrf v1 sou lo0 r10 tping 100 10 2.2.2.108 vrf v1 sou lo0 r10 tping 100 10 4321::108 vrf v1 sou lo0 r1 tping 100 10 3.3.3.101 vrf v2 sou lo1 r1 tping 100 10 3333::101 vrf v2 sou lo1 r1 tping 100 10 3.3.3.103 vrf v2 sou lo1 r1 tping 100 10 3333::103 vrf v2 sou lo1 r1 tping 100 10 3.3.3.104 vrf v2 sou lo1 r1 tping 100 10 3333::104 vrf v2 sou lo1 r1 tping 100 10 3.3.3.105 vrf v2 sou lo1 r1 tping 100 10 3333::105 vrf v2 sou lo1 r1 tping 100 10 3.3.3.106 vrf v2 sou lo1 r1 tping 100 10 3333::106 vrf v2 sou lo1 r1 tping 100 10 3.3.3.107 vrf v2 sou lo1 r1 tping 100 10 3333::107 vrf v2 sou lo1 r5 tping 100 10 3.3.3.101 vrf v2 sou lo1 r5 tping 100 10 3333::101 vrf v2 sou lo1 r5 tping 100 10 3.3.3.103 vrf v2 sou lo1 r5 tping 100 10 3333::103 vrf v2 sou lo1 r5 tping 100 10 3.3.3.104 vrf v2 sou lo1 r5 tping 100 10 3333::104 vrf v2 sou lo1 r5 tping 100 10 3.3.3.105 vrf v2 sou lo1 r5 tping 100 10 3333::105 vrf v2 sou lo1 r5 tping 100 10 3.3.3.106 vrf v2 sou lo1 r5 tping 100 10 3333::106 vrf v2 sou lo1 r5 tping 100 10 3.3.3.107 vrf v2 sou lo1 r5 tping 100 10 3333::107 vrf v2 sou lo1 r6 tping 100 10 3.3.3.101 vrf v2 sou lo1 r6 tping 100 10 3333::101 vrf v2 sou lo1 r6 tping 100 10 3.3.3.103 vrf v2 sou lo1 r6 tping 100 10 3333::103 vrf v2 sou lo1 r6 tping 100 10 3.3.3.104 vrf v2 sou lo1 r6 tping 100 10 3333::104 vrf v2 sou lo1 r6 tping 100 10 3.3.3.105 vrf v2 sou lo1 r6 tping 100 10 3333::105 vrf v2 sou lo1 r6 tping 100 10 3.3.3.106 vrf v2 sou lo1 r6 tping 100 10 3333::106 vrf v2 sou lo1 r6 tping 100 10 3.3.3.107 vrf v2 sou lo1 r6 tping 100 10 3333::107 vrf v2 sou lo1 r7 tping 100 10 3.3.3.101 vrf v1 sou lo0 r7 tping 100 10 3333::101 vrf v1 sou lo0 r7 tping 100 10 3.3.3.103 vrf v1 sou lo0 r7 tping 100 10 3333::103 vrf v1 sou lo0 r7 tping 100 10 3.3.3.104 vrf v1 sou lo0 r7 tping 100 10 3333::104 vrf v1 sou lo0 r7 tping 100 10 3.3.3.105 vrf v1 sou lo0 r7 tping 100 10 3333::105 vrf v1 sou lo0 r7 tping 100 10 3.3.3.106 vrf v1 sou lo0 r7 tping 100 10 3333::106 vrf v1 sou lo0 r7 tping 100 10 3.3.3.107 vrf v1 sou lo0 r7 tping 100 10 3333::107 vrf v1 sou lo0 r8 tping 100 10 3.3.3.101 vrf v1 sou lo0 r8 tping 100 10 3333::101 vrf v1 sou lo0 r8 tping 100 10 3.3.3.103 vrf v1 sou lo0 r8 tping 100 10 3333::103 vrf v1 sou lo0 r8 tping 100 10 3.3.3.104 vrf v1 sou lo0 r8 tping 100 10 3333::104 vrf v1 sou lo0 r8 tping 100 10 3.3.3.105 vrf v1 sou lo0 r8 tping 100 10 3333::105 vrf v1 sou lo0 r8 tping 100 10 3.3.3.106 vrf v1 sou lo0 r8 tping 100 10 3333::106 vrf v1 sou lo0 r8 tping 100 10 3.3.3.107 vrf v1 sou lo0 r8 tping 100 10 3333::107 vrf v1 sou lo0 r9 tping 100 10 3.3.3.101 vrf v1 sou lo0 r9 tping 100 10 3333::101 vrf v1 sou lo0 r9 tping 100 10 3.3.3.103 vrf v1 sou lo0 r9 tping 100 10 3333::103 vrf v1 sou lo0 r9 tping 100 10 3.3.3.104 vrf v1 sou lo0 r9 tping 100 10 3333::104 vrf v1 sou lo0 r9 tping 100 10 3.3.3.105 vrf v1 sou lo0 r9 tping 100 10 3333::105 vrf v1 sou lo0 r9 tping 100 10 3.3.3.106 vrf v1 sou lo0 r9 tping 100 10 3333::106 vrf v1 sou lo0 r9 tping 100 10 3.3.3.107 vrf v1 sou lo0 r9 tping 100 10 3333::107 vrf v1 sou lo0 r1 dping sdn . r9 3.3.3.105 vrf v1 sou lo0 r1 dping sdn . r9 3333::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout372.tst000066400000000000000000000307251510423065500172150ustar00rootroot00000000000000description p4lang: olab with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a neigh 2.2.2.105 temp a neigh 2.2.2.106 temp a afi-other ena afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a neigh 4321::105 temp a neigh 4321::106 temp a afi-other ena afi-other red conn afi-other red stat exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 afi-other ena afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 afi-other ena afi-other red conn afi-other red stat exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 afi-other ena afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 afi-other ena afi-other red conn afi-other red stat exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.5 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 afi-other ena afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.5 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 afi-other ena afi-other red conn afi-other red stat exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.6 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 afi-other ena afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.6 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 afi-other ena afi-other red conn afi-other red stat exit ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 3.3.3.101 vrf v1 sou lo1 r1 tping 100 10 3333::101 vrf v1 sou lo1 r1 tping 100 10 3.3.3.103 vrf v1 sou lo1 r1 tping 100 10 3333::103 vrf v1 sou lo1 r1 tping 100 10 3.3.3.104 vrf v1 sou lo1 r1 tping 100 10 3333::104 vrf v1 sou lo1 r1 tping 100 10 3.3.3.105 vrf v1 sou lo1 r1 tping 100 10 3333::105 vrf v1 sou lo1 r1 tping 100 10 3.3.3.106 vrf v1 sou lo1 r1 tping 100 10 3333::106 vrf v1 sou lo1 r3 tping 100 10 3.3.3.101 vrf v1 sou lo1 r3 tping 100 10 3333::101 vrf v1 sou lo1 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.101 vrf v1 sou lo1 r4 tping 100 10 3333::101 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r5 tping 100 10 3.3.3.101 vrf v1 sou lo1 r5 tping 100 10 3333::101 vrf v1 sou lo1 r5 tping 100 10 3.3.3.103 vrf v1 sou lo1 r5 tping 100 10 3333::103 vrf v1 sou lo1 r5 tping 100 10 3.3.3.104 vrf v1 sou lo1 r5 tping 100 10 3333::104 vrf v1 sou lo1 r5 tping 100 10 3.3.3.105 vrf v1 sou lo1 r5 tping 100 10 3333::105 vrf v1 sou lo1 r5 tping 100 10 3.3.3.106 vrf v1 sou lo1 r5 tping 100 10 3333::106 vrf v1 sou lo1 r6 tping 100 10 3.3.3.101 vrf v1 sou lo1 r6 tping 100 10 3333::101 vrf v1 sou lo1 r6 tping 100 10 3.3.3.103 vrf v1 sou lo1 r6 tping 100 10 3333::103 vrf v1 sou lo1 r6 tping 100 10 3.3.3.104 vrf v1 sou lo1 r6 tping 100 10 3333::104 vrf v1 sou lo1 r6 tping 100 10 3.3.3.105 vrf v1 sou lo1 r6 tping 100 10 3333::105 vrf v1 sou lo1 r6 tping 100 10 3.3.3.106 vrf v1 sou lo1 r6 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r4 3.3.3.105 vrf v1 sou lo1 r1 dping sdn . r4 3333::105 vrf v1 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout373.tst000066400000000000000000000311741510423065500172150ustar00rootroot00000000000000description p4lang: olab with bgp over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 exit int sdn2.111 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 exit int sdn3.111 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 exit int sdn4.111 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a neigh 2.2.2.105 temp a neigh 2.2.2.106 temp a afi-other ena afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a neigh 4321::105 temp a neigh 4321::106 temp a afi-other ena afi-other red conn afi-other red stat exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route vlan mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 afi-other ena afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 afi-other ena afi-other red conn afi-other red stat exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 afi-other ena afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 afi-other ena afi-other red conn afi-other red stat exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.5 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 afi-other ena afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.5 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 afi-other ena afi-other red conn afi-other red stat exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.6 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 afi-other ena afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.6 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 afi-other ena afi-other red conn afi-other red stat exit ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 3.3.3.101 vrf v1 sou lo1 r1 tping 100 10 3333::101 vrf v1 sou lo1 r1 tping 100 10 3.3.3.103 vrf v1 sou lo1 r1 tping 100 10 3333::103 vrf v1 sou lo1 r1 tping 100 10 3.3.3.104 vrf v1 sou lo1 r1 tping 100 10 3333::104 vrf v1 sou lo1 r1 tping 100 10 3.3.3.105 vrf v1 sou lo1 r1 tping 100 10 3333::105 vrf v1 sou lo1 r1 tping 100 10 3.3.3.106 vrf v1 sou lo1 r1 tping 100 10 3333::106 vrf v1 sou lo1 r3 tping 100 10 3.3.3.101 vrf v1 sou lo1 r3 tping 100 10 3333::101 vrf v1 sou lo1 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.101 vrf v1 sou lo1 r4 tping 100 10 3333::101 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r5 tping 100 10 3.3.3.101 vrf v1 sou lo1 r5 tping 100 10 3333::101 vrf v1 sou lo1 r5 tping 100 10 3.3.3.103 vrf v1 sou lo1 r5 tping 100 10 3333::103 vrf v1 sou lo1 r5 tping 100 10 3.3.3.104 vrf v1 sou lo1 r5 tping 100 10 3333::104 vrf v1 sou lo1 r5 tping 100 10 3.3.3.105 vrf v1 sou lo1 r5 tping 100 10 3333::105 vrf v1 sou lo1 r5 tping 100 10 3.3.3.106 vrf v1 sou lo1 r5 tping 100 10 3333::106 vrf v1 sou lo1 r6 tping 100 10 3.3.3.101 vrf v1 sou lo1 r6 tping 100 10 3333::101 vrf v1 sou lo1 r6 tping 100 10 3.3.3.103 vrf v1 sou lo1 r6 tping 100 10 3333::103 vrf v1 sou lo1 r6 tping 100 10 3.3.3.104 vrf v1 sou lo1 r6 tping 100 10 3333::104 vrf v1 sou lo1 r6 tping 100 10 3.3.3.105 vrf v1 sou lo1 r6 tping 100 10 3333::105 vrf v1 sou lo1 r6 tping 100 10 3.3.3.106 vrf v1 sou lo1 r6 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r4 3.3.3.105 vrf v1 sou lo1 r1 dping sdn . r4 3333::105 vrf v1 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout374.tst000066400000000000000000000314641510423065500172200ustar00rootroot00000000000000description p4lang: olab with bgp over qinq addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 exit int sdn2.111 exit int sdn2.111.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 exit int sdn3.111 exit int sdn3.111.222 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 exit int sdn4.111 exit int sdn4.111.222 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a neigh 2.2.2.105 temp a neigh 2.2.2.106 temp a afi-other ena afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a neigh 4321::105 temp a neigh 4321::106 temp a afi-other ena afi-other red conn afi-other red stat exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route vlan mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 afi-other ena afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 afi-other ena afi-other red conn afi-other red stat exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 afi-other ena afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 afi-other ena afi-other red conn afi-other red stat exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.5 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 afi-other ena afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.5 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 afi-other ena afi-other red conn afi-other red stat exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.6 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 afi-other ena afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.6 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 afi-other ena afi-other red conn afi-other red stat exit ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 3.3.3.101 vrf v1 sou lo1 r1 tping 100 10 3333::101 vrf v1 sou lo1 r1 tping 100 10 3.3.3.103 vrf v1 sou lo1 r1 tping 100 10 3333::103 vrf v1 sou lo1 r1 tping 100 10 3.3.3.104 vrf v1 sou lo1 r1 tping 100 10 3333::104 vrf v1 sou lo1 r1 tping 100 10 3.3.3.105 vrf v1 sou lo1 r1 tping 100 10 3333::105 vrf v1 sou lo1 r1 tping 100 10 3.3.3.106 vrf v1 sou lo1 r1 tping 100 10 3333::106 vrf v1 sou lo1 r3 tping 100 10 3.3.3.101 vrf v1 sou lo1 r3 tping 100 10 3333::101 vrf v1 sou lo1 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.101 vrf v1 sou lo1 r4 tping 100 10 3333::101 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r5 tping 100 10 3.3.3.101 vrf v1 sou lo1 r5 tping 100 10 3333::101 vrf v1 sou lo1 r5 tping 100 10 3.3.3.103 vrf v1 sou lo1 r5 tping 100 10 3333::103 vrf v1 sou lo1 r5 tping 100 10 3.3.3.104 vrf v1 sou lo1 r5 tping 100 10 3333::104 vrf v1 sou lo1 r5 tping 100 10 3.3.3.105 vrf v1 sou lo1 r5 tping 100 10 3333::105 vrf v1 sou lo1 r5 tping 100 10 3.3.3.106 vrf v1 sou lo1 r5 tping 100 10 3333::106 vrf v1 sou lo1 r6 tping 100 10 3.3.3.101 vrf v1 sou lo1 r6 tping 100 10 3333::101 vrf v1 sou lo1 r6 tping 100 10 3.3.3.103 vrf v1 sou lo1 r6 tping 100 10 3333::103 vrf v1 sou lo1 r6 tping 100 10 3.3.3.104 vrf v1 sou lo1 r6 tping 100 10 3333::104 vrf v1 sou lo1 r6 tping 100 10 3.3.3.105 vrf v1 sou lo1 r6 tping 100 10 3333::105 vrf v1 sou lo1 r6 tping 100 10 3.3.3.106 vrf v1 sou lo1 r6 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r4 3.3.3.105 vrf v1 sou lo1 r1 dping sdn . r4 3333::105 vrf v1 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout375.tst000066400000000000000000000244251510423065500172200ustar00rootroot00000000000000description p4lang: pwhe routing over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mpls pwhe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit int bvi2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout376.tst000066400000000000000000000246051510423065500172210ustar00rootroot00000000000000description p4lang: pwhe routing over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 ena exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp6 exit int pweth1 pseudowire v2 lo1 pweompls 8888::2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mpls pwhe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: mpls enable mpls ldp6 exit int pweth1 pseudowire v2 lo1 pweompls 8888::1 1234 bridge-gr 2 exit int bvi2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 8888::2 vrf v2 r3 tping 100 10 8888::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout377.tst000066400000000000000000000244611510423065500172220ustar00rootroot00000000000000description p4lang: pwhe routing over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 exit int sdn1.111 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mpls pwhe route vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1.111 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit int bvi2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout378.tst000066400000000000000000000245641510423065500172270ustar00rootroot00000000000000description p4lang: pwhe routing over bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit bridge 1 mac-learn exit int sdn1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mpls pwhe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit int bvi2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout379.tst000066400000000000000000000245431510423065500172250ustar00rootroot00000000000000description p4lang: pwhe routing over bundle addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit bundle 1 exit int sdn1 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mpls pwhe route bundle int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit int bvi2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout380.tst000066400000000000000000000255111510423065500172110ustar00rootroot00000000000000description p4lang: pwhe routing over hairpin addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit hair 1 ether exit int hair11 vrf for v2 ipv4 addr 9.9.8.1 255.255.255.0 mpls enable mpls ldp4 exit int hair12 vrf for v3 ipv4 addr 9.9.8.2 255.255.255.0 mpls enable mpls ldp4 exit int sdn1 vrf for v3 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port pweth1 dynamic vrf v9 exit ipv4 route v2 9.9.9.0 255.255.255.0 9.9.8.2 ipv4 route v2 8.8.8.2 255.255.255.255 9.9.8.2 ipv4 route v3 8.8.8.1 255.255.255.255 9.9.8.1 ipv4 route v3 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mpls pwhe route hairpin int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit int bvi2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 9.9.8.0 255.255.255.0 9.9.9.1 ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.8.2 vrf v2 r1 tping 100 10 9.9.8.1 vrf v3 r1 tping 100 10 9.9.9.2 vrf v3 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout381.tst000066400000000000000000000251321510423065500172110ustar00rootroot00000000000000description p4lang: pwhe mpls over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mpls pwhe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v2 rd 1:1 label-mode per-prefix exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 2 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r7 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r7 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout382.tst000066400000000000000000000253121510423065500172120ustar00rootroot00000000000000description p4lang: pwhe mpls over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 ena exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp6 exit int pweth1 pseudowire v2 lo1 pweompls 8888::2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mpls pwhe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v2 rd 1:1 label-mode per-prefix exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 2 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: mpls enable mpls ldp6 exit int pweth1 pseudowire v2 lo1 pweompls 8888::1 1234 bridge-gr 2 exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 8888::2 vrf v2 r3 tping 100 10 8888::1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r7 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r7 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout383.tst000066400000000000000000000251661510423065500172220ustar00rootroot00000000000000description p4lang: pwhe mpls over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 exit int sdn1.111 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mpls pwhe route vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v2 rd 1:1 label-mode per-prefix exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1.111 bridge-gr 1 exit int eth2 bridge-gr 2 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r7 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r7 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout384.tst000066400000000000000000000252711510423065500172200ustar00rootroot00000000000000description p4lang: pwhe mpls over bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit bridge 1 mac-learn exit int sdn1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mpls pwhe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v2 rd 1:1 label-mode per-prefix exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 2 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r7 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r7 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout385.tst000066400000000000000000000252501510423065500172160ustar00rootroot00000000000000description p4lang: pwhe mpls over bundle addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit bundle 1 exit int sdn1 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mpls pwhe route bundle int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v2 rd 1:1 label-mode per-prefix exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 2 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r7 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r7 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout386.tst000066400000000000000000000262161510423065500172220ustar00rootroot00000000000000description p4lang: pwhe mpls over hairpin addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit hair 1 ether exit int hair11 vrf for v2 ipv4 addr 9.9.8.1 255.255.255.0 mpls enable mpls ldp4 exit int hair12 vrf for v3 ipv4 addr 9.9.8.2 255.255.255.0 mpls enable mpls ldp4 exit int sdn1 vrf for v3 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port pweth1 dynamic vrf v9 exit ipv4 route v2 9.9.9.0 255.255.255.0 9.9.8.2 ipv4 route v2 8.8.8.2 255.255.255.255 9.9.8.2 ipv4 route v3 8.8.8.1 255.255.255.255 9.9.8.1 ipv4 route v3 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mpls pwhe route hairpin int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v2 rd 1:1 label-mode per-prefix exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 2 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit ipv4 route v2 9.9.8.0 255.255.255.0 9.9.9.1 ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! r1 tping 100 10 9.9.8.2 vrf v2 r1 tping 100 10 9.9.8.1 vrf v3 r1 tping 100 10 9.9.9.2 vrf v3 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r7 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r7 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout387.tst000066400000000000000000000270451510423065500172240ustar00rootroot00000000000000description p4lang: mldp core over pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature duplab mpls pwhe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v2 rd 1:1 label-mode per-prefix exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 2 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout388.tst000066400000000000000000000277321510423065500172300ustar00rootroot00000000000000description p4lang: bier core over pwhe addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ! addother r2 controller r1 v9 9080 - feature bier mpls pwhe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v2 rd 1:1 label-mode per-prefix exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 2 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.5555 $8a$ $8b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth2 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r8 int eth1 eth 0000.0000.8888 $8b$ $8a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.7 bier 256 10 7 red conn exit router lsrp6 1 vrf v1 router 6.6.6.7 bier 256 10 7 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.5.1 ipv6 mroute v1 :: :: 1234:5::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.5.2 vrf v1 r7 tping 100 10 1234:5::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.5.2 vrf v1 r4 tping 100 10 1234:5::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.5.2 vrf v1 r5 tping 100 10 1234:5::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.5.2 vrf v1 r6 tping 100 10 1234:5::2 vrf v1 r8 tping 100 10 1.1.1.2 vrf v1 r8 tping 100 10 1234:1::2 vrf v1 r8 tping 100 10 1.1.2.2 vrf v1 r8 tping 100 10 1234:2::2 vrf v1 r8 tping 100 10 1.1.3.2 vrf v1 r8 tping 100 10 1234:3::2 vrf v1 r8 tping 100 10 1.1.4.2 vrf v1 r8 tping 100 10 1234:4::2 vrf v1 r8 tping 100 10 1.1.5.2 vrf v1 r8 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.107 vrf v1 sou lo0 r1 tping 100 10 4321::107 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.107 vrf v1 sou lo0 r7 tping 100 10 4321::107 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.107 vrf v1 sou lo0 r4 tping 100 10 4321::107 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.107 vrf v1 sou lo0 r5 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.107 vrf v1 sou lo0 r6 tping 100 10 4321::107 vrf v1 sou lo0 r8 tping 100 10 2.2.2.101 vrf v1 sou lo0 r8 tping 100 10 4321::101 vrf v1 sou lo0 r8 tping 100 10 2.2.2.103 vrf v1 sou lo0 r8 tping 100 10 4321::103 vrf v1 sou lo0 r8 tping 100 10 2.2.2.104 vrf v1 sou lo0 r8 tping 100 10 4321::104 vrf v1 sou lo0 r8 tping 100 10 2.2.2.105 vrf v1 sou lo0 r8 tping 100 10 4321::105 vrf v1 sou lo0 r8 tping 100 10 2.2.2.106 vrf v1 sou lo0 r8 tping 100 10 4321::106 vrf v1 sou lo0 r8 tping 100 10 2.2.2.107 vrf v1 sou lo0 r8 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 400 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 400 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout389.tst000066400000000000000000000244371510423065500172300ustar00rootroot00000000000000description p4lang: pwhe mpls pop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mpls pwhe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v2 rd 1:1 label-mode per-prefix exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 2 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r7 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r7 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout390.tst000066400000000000000000000244401510423065500172120ustar00rootroot00000000000000description p4lang: pwhe mpls push addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mpls pwhe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v2 rd 1:1 label-mode per-prefix exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 2 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r7 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r7 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout391.tst000066400000000000000000000302061510423065500172100ustar00rootroot00000000000000description p4lang: l2vpn over pwhe mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mpls pwhe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v2 rd 1:1 label-mode per-prefix exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 2 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.103 1234 vrf for v2 ipv4 addr 4.4.4.2 255.255.255.0 ipv6 addr 4444::2 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::103 1234 vrf for v2 ipv4 addr 4.4.6.2 255.255.255.0 ipv6 addr 4446::2 ffff:: exit int pweth1.123 vrf for v2 ipv4 addr 4.4.5.2 255.255.255.0 ipv6 addr 4445::2 ffff:: exit int pweth2.123 vrf for v2 ipv4 addr 4.4.7.2 255.255.255.0 ipv6 addr 4447::2 ffff:: exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.105 1234 vrf for v2 ipv4 addr 4.4.4.1 255.255.255.0 ipv6 addr 4444::1 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::105 1234 vrf for v2 ipv4 addr 4.4.6.1 255.255.255.0 ipv6 addr 4446::1 ffff:: exit int pweth1.123 vrf for v2 ipv4 addr 4.4.5.1 255.255.255.0 ipv6 addr 4445::1 ffff:: exit int pweth2.123 vrf for v2 ipv4 addr 4.4.7.1 255.255.255.0 ipv6 addr 4447::1 ffff:: exit ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 4.4.4.2 vrf v2 r7 tping 100 10 4.4.6.2 vrf v2 r7 tping 100 10 4444::2 vrf v2 r7 tping 100 10 4446::2 vrf v2 r5 tping 100 10 4.4.4.1 vrf v2 r5 tping 100 10 4.4.6.1 vrf v2 r5 tping 100 10 4444::1 vrf v2 r5 tping 100 10 4446::1 vrf v2 r7 tping 100 10 4.4.5.2 vrf v2 r7 tping 100 10 4.4.7.2 vrf v2 r7 tping 100 10 4445::2 vrf v2 r7 tping 100 10 4447::2 vrf v2 r5 tping 100 10 4.4.5.1 vrf v2 r5 tping 100 10 4.4.7.1 vrf v2 r5 tping 100 10 4445::1 vrf v2 r5 tping 100 10 4447::1 vrf v2 r1 dping sdn . r7 4.4.4.2 vrf v2 r1 dping sdn . r7 4446::2 vrf v2 freeRtr-25.11.9/cfg/p4lang-rout392.tst000066400000000000000000000321731510423065500172160ustar00rootroot00000000000000description p4lang: l3vpn over pwhe mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mpls pwhe route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v2 rd 1:1 label-mode per-prefix exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 2 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.103 remote-as 1 neigh 2.2.2.103 update lo0 neigh 2.2.2.103 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::103 remote-as 1 neigh 4321::103 update lo0 neigh 4321::103 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.105 remote-as 1 neigh 2.2.2.105 update lo0 neigh 2.2.2.105 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::105 remote-as 1 neigh 4321::105 update lo0 neigh 4321::105 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 60 9.9.2.2 vrf v2 r5 tping 100 60 9.9.2.1 vrf v2 r7 tping 100 60 9992::2 vrf v2 r5 tping 100 60 9992::1 vrf v2 r7 tping 100 60 9.9.3.2 vrf v3 r5 tping 100 60 9.9.3.1 vrf v3 r7 tping 100 60 9993::2 vrf v3 r5 tping 100 60 9993::1 vrf v3 r7 tping 100 60 9.9.4.2 vrf v4 r5 tping 100 60 9.9.4.1 vrf v4 r7 tping 100 60 9994::2 vrf v4 r5 tping 100 60 9994::1 vrf v4 r1 dping sdn . r7 9.9.3.2 vrf v3 r1 dping sdn . r7 9993::2 vrf v3 freeRtr-25.11.9/cfg/p4lang-rout393.tst000066400000000000000000000245371510423065500172240ustar00rootroot00000000000000description p4lang: pwhe routing over qinq addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mpls pwhe route vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1.111 exit int eth1.111.222 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit int bvi2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout394.tst000066400000000000000000000252441510423065500172210ustar00rootroot00000000000000description p4lang: pwhe mpls over qinq addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.2 1234 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port pweth1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mpls pwhe route vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ int eth2 eth 0000.0000.3333 $7a$ $7b$ ! vrf def v2 rd 1:1 label-mode per-prefix exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit bridge 2 mac-learn block-unicast exit int eth1.111 exit int eth1.111.222 bridge-gr 1 exit int eth2 bridge-gr 2 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 mpls enable mpls ldp4 exit int pweth1 pseudowire v2 lo1 pweompls 8.8.8.1 1234 bridge-gr 2 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r7 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r7 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout395.tst000066400000000000000000000260761510423065500172260ustar00rootroot00000000000000description p4lang: bridge routing over backplane addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ int eth3 eth 0000.0000.1111 $7a$ $7b$ int eth4 eth 0000.0000.1111 $8b$ $8a$ int eth5 eth 0000.0000.1111 $13a$ $13b$ int eth6 eth 0000.0000.1111 $14b$ $14a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int eth3 vrf for v9 ipv4 addr 10.12.13.254 255.255.255.0 exit int eth4 exit server dhcp4 eth3 pool 10.12.13.1 10.12.13.99 gateway 10.12.13.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.3333 10.12.13.111 interface eth3 vrf v9 exit int eth5 vrf for v9 ipv4 addr 10.13.14.254 255.255.255.0 exit int eth6 exit server dhcp4 eth5 pool 10.13.14.1 10.13.14.99 gateway 10.13.14.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.4444 10.13.14.111 interface eth5 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit bundle 2 exit bundle 3 exit bundle 4 exit bridge 1 mac-learn exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int sdn11 bridge-gr 1 exit int sdn12 bridge-gr 1 exit int bun1 vrf for v1 mpls ena exit int sdn13 bundle-gr 1 exit int sdn14 bundle-gr 1 exit int sdn21 bridge-gr 1 exit int sdn22 bridge-gr 1 exit int bun2 vrf for v1 mpls ena exit int sdn23 bundle-gr 2 exit int sdn24 bundle-gr 2 exit int bun3 vrf for v1 mpls ena exit int sdn31 bundle-gr 3 exit int sdn32 bundle-gr 3 exit int bun4 vrf for v1 mpls ena exit int sdn33 bundle-gr 4 exit int sdn34 bundle-gr 4 exit server p4lang a interconnect eth2 export-vrf v1 export-br 1 export-port sdn11 1 10 export-port sdn12 2 10 export-port sdn13 3 10 export-port sdn14 4 10 export-port bun1 dynamic export-port bvi1 dynamic exit server p4lang b interconnect eth4 export-vrf v1 export-br 1 export-port sdn21 1 10 export-port sdn22 2 10 export-port sdn23 3 10 export-port sdn24 4 10 export-port bun2 dynamic export-port bvi1 dynamic exit server p4lang c interconnect eth6 export-vrf v1 export-port sdn31 1 10 export-port sdn32 2 10 export-port sdn33 3 10 export-port sdn34 4 10 export-port bun3 dynamic export-port bun4 dynamic exit server stack s dataplanes 4 forwarder 1 p4lang a forwarder 1 backplane bun1 1 forwarder 1 remote 10.11.12.111 forwarder 2 p4lang b forwarder 2 backplane bun2 1 forwarder 2 remote 10.12.13.111 forwarder 3 p4lang c forwarder 3 backplane bun3 1 forwarder 3 backplane bun4 1 forwarder 3 remote 10.13.14.111 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.3 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.6 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::6 ! addother r2 controller r1 v9 9080 10.11.12.111 feature bundle mpls vpls bridge pwhe int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addother r3 controller r1 v9 9080 10.12.13.111 feature bundle mpls vpls bridge pwhe int eth1 eth 0000.0000.3333 $7b$ $7a$ int eth2 eth 0000.0000.3333 $8a$ $8b$ int eth3 eth 0000.0000.3333 $9a$ $9b$ int eth4 eth 0000.0000.3333 $10a$ $10b$ int eth5 eth 0000.0000.3333 $11a$ $11b$ int eth6 eth 0000.0000.3333 $12a$ $12b$ ! ! addother r4 controller r1 v9 9080 10.13.14.111 feature bundle mpls route int eth1 eth 0000.0000.4444 $13b$ $13a$ int eth2 eth 0000.0000.4444 $14a$ $14b$ int eth3 eth 0000.0000.4444 $5b$ $5a$ int eth4 eth 0000.0000.4444 $6b$ $6a$ int eth5 eth 0000.0000.4444 $11b$ $11a$ int eth6 eth 0000.0000.4444 $12b$ $12a$ ! ! addrouter r5 int eth1 eth 0000.0000.5555 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.6 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.3 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.6 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::3 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::6 ! addrouter r7 int eth1 eth 0000.0000.7777 $9b$ $9a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.0 ipv6 addr 1234::5 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.3 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.6 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::6 ! addrouter r8 int eth1 eth 0000.0000.8888 $10b$ $10a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.0 ipv6 addr 1234::6 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.3 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.5 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::5 ! r1 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 1234::1 vrf v1 r1 tping 100 10 1.1.1.3 vrf v1 r1 tping 100 10 1234::3 vrf v1 r1 tping 100 10 1.1.1.4 vrf v1 r1 tping 100 10 1234::4 vrf v1 r1 tping 100 10 1.1.1.5 vrf v1 r1 tping 100 10 1234::5 vrf v1 r1 tping 100 10 1.1.1.6 vrf v1 r1 tping 100 10 1234::6 vrf v1 r5 tping 100 10 1.1.1.1 vrf v1 r5 tping 100 10 1234::1 vrf v1 r5 tping 100 10 1.1.1.3 vrf v1 r5 tping 100 10 1234::3 vrf v1 r5 tping 100 10 1.1.1.4 vrf v1 r5 tping 100 10 1234::4 vrf v1 r5 tping 100 10 1.1.1.5 vrf v1 r5 tping 100 10 1234::5 vrf v1 r5 tping 100 10 1.1.1.6 vrf v1 r5 tping 100 10 1234::6 vrf v1 r6 tping 100 10 1.1.1.1 vrf v1 r6 tping 100 10 1234::1 vrf v1 r6 tping 100 10 1.1.1.3 vrf v1 r6 tping 100 10 1234::3 vrf v1 r6 tping 100 10 1.1.1.4 vrf v1 r6 tping 100 10 1234::4 vrf v1 r6 tping 100 10 1.1.1.5 vrf v1 r6 tping 100 10 1234::5 vrf v1 r6 tping 100 10 1.1.1.6 vrf v1 r6 tping 100 10 1234::6 vrf v1 r7 tping 100 10 1.1.1.1 vrf v1 r7 tping 100 10 1234::1 vrf v1 r7 tping 100 10 1.1.1.3 vrf v1 r7 tping 100 10 1234::3 vrf v1 r7 tping 100 10 1.1.1.4 vrf v1 r7 tping 100 10 1234::4 vrf v1 r7 tping 100 10 1.1.1.5 vrf v1 r7 tping 100 10 1234::5 vrf v1 r7 tping 100 10 1.1.1.6 vrf v1 r7 tping 100 10 1234::6 vrf v1 r8 tping 100 10 1.1.1.1 vrf v1 r8 tping 100 10 1234::1 vrf v1 r8 tping 100 10 1.1.1.3 vrf v1 r8 tping 100 10 1234::3 vrf v1 r8 tping 100 10 1.1.1.4 vrf v1 r8 tping 100 10 1234::4 vrf v1 r8 tping 100 10 1.1.1.5 vrf v1 r8 tping 100 10 1234::5 vrf v1 r8 tping 100 10 1.1.1.6 vrf v1 r8 tping 100 10 1234::6 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r8 tping 100 10 2.2.2.101 vrf v1 sou lo0 r8 tping 100 10 4321::101 vrf v1 sou lo0 r8 tping 100 10 2.2.2.103 vrf v1 sou lo0 r8 tping 100 10 4321::103 vrf v1 sou lo0 r8 tping 100 10 2.2.2.104 vrf v1 sou lo0 r8 tping 100 10 4321::104 vrf v1 sou lo0 r8 tping 100 10 2.2.2.105 vrf v1 sou lo0 r8 tping 100 10 4321::105 vrf v1 sou lo0 r8 tping 100 10 2.2.2.106 vrf v1 sou lo0 r8 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r8 2.2.2.103 vrf v1 sou lo0 r1 dping sdn . r8 4321::103 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout396.tst000066400000000000000000000261161510423065500172220ustar00rootroot00000000000000description p4lang: mixed bridge routing over backplane addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ int eth3 eth 0000.0000.1111 $7a$ $7b$ int eth4 eth 0000.0000.1111 $8b$ $8a$ int eth5 eth 0000.0000.1111 $13a$ $13b$ int eth6 eth 0000.0000.1111 $14b$ $14a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int eth3 vrf for v9 ipv4 addr 10.12.13.254 255.255.255.0 exit int eth4 exit server dhcp4 eth3 pool 10.12.13.1 10.12.13.99 gateway 10.12.13.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.3333 10.12.13.111 interface eth3 vrf v9 exit int eth5 vrf for v9 ipv4 addr 10.13.14.254 255.255.255.0 exit int eth6 exit server dhcp4 eth5 pool 10.13.14.1 10.13.14.99 gateway 10.13.14.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.4444 10.13.14.111 interface eth5 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit bundle 2 exit bundle 3 exit bundle 4 exit bridge 1 mac-learn exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: ipv4 proxy-local ipv6 proxy-local exit int sdn11 bridge-gr 1 exit int sdn12 bridge-gr 1 exit int bun1 vrf for v1 mpls ena exit int sdn13 bundle-gr 1 exit int sdn14 bundle-gr 1 exit int sdn21 bridge-gr 1 exit int sdn22 bridge-gr 1 exit int bun2 vrf for v1 mpls ena exit int sdn23 bundle-gr 2 exit int sdn24 bundle-gr 2 exit int bun3 vrf for v1 mpls ena exit int sdn31 bundle-gr 3 exit int sdn32 bundle-gr 3 exit int bun4 vrf for v1 mpls ena exit int sdn33 bundle-gr 4 exit int sdn34 bundle-gr 4 exit server p4lang a interconnect eth2 export-vrf v1 export-br 1 export-port sdn11 1 10 export-port sdn12 2 10 export-port sdn13 3 10 export-port sdn14 4 10 export-port bun1 dynamic export-port bvi1 dynamic exit server p4lang b interconnect eth4 export-vrf v1 export-br 1 export-port sdn21 1 10 export-port sdn22 2 10 export-port sdn23 3 10 export-port sdn24 4 10 export-port bun2 dynamic exit server p4lang c interconnect eth6 export-vrf v1 export-port sdn31 1 10 export-port sdn32 2 10 export-port sdn33 3 10 export-port sdn34 4 10 export-port bun3 dynamic export-port bun4 dynamic exit server stack s dataplanes 4 forwarder 1 p4lang a forwarder 1 backplane bun1 1 forwarder 1 remote 10.11.12.111 forwarder 2 p4lang b forwarder 2 backplane bun2 1 forwarder 2 remote 10.12.13.111 forwarder 3 p4lang c forwarder 3 backplane bun3 1 forwarder 3 backplane bun4 1 forwarder 3 remote 10.13.14.111 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.3 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.6 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::6 ! addother r2 controller r1 v9 9080 10.11.12.111 feature bundle mpls vpls bridge pwhe int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addother r3 controller r1 v9 9080 10.12.13.111 feature bundle mpls vpls bridge pwhe int eth1 eth 0000.0000.3333 $7b$ $7a$ int eth2 eth 0000.0000.3333 $8a$ $8b$ int eth3 eth 0000.0000.3333 $9a$ $9b$ int eth4 eth 0000.0000.3333 $10a$ $10b$ int eth5 eth 0000.0000.3333 $11a$ $11b$ int eth6 eth 0000.0000.3333 $12a$ $12b$ ! ! addother r4 controller r1 v9 9080 10.13.14.111 feature bundle mpls route int eth1 eth 0000.0000.4444 $13b$ $13a$ int eth2 eth 0000.0000.4444 $14a$ $14b$ int eth3 eth 0000.0000.4444 $5b$ $5a$ int eth4 eth 0000.0000.4444 $6b$ $6a$ int eth5 eth 0000.0000.4444 $11b$ $11a$ int eth6 eth 0000.0000.4444 $12b$ $12a$ ! ! addrouter r5 int eth1 eth 0000.0000.5555 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.6 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.3 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.6 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::3 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::6 ! addrouter r7 int eth1 eth 0000.0000.7777 $9b$ $9a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.0 ipv6 addr 1234::5 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.3 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.6 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::6 ! addrouter r8 int eth1 eth 0000.0000.8888 $10b$ $10a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.0 ipv6 addr 1234::6 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.3 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.5 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::5 ! r1 tping 100 10 1.1.1.1 vrf v1 r1 tping 100 10 1234::1 vrf v1 r1 tping 100 10 1.1.1.3 vrf v1 r1 tping 100 10 1234::3 vrf v1 r1 tping 100 10 1.1.1.4 vrf v1 r1 tping 100 10 1234::4 vrf v1 r1 tping 100 10 1.1.1.5 vrf v1 r1 tping 100 10 1234::5 vrf v1 r1 tping 100 10 1.1.1.6 vrf v1 r1 tping 100 10 1234::6 vrf v1 r5 tping 100 10 1.1.1.1 vrf v1 r5 tping 100 10 1234::1 vrf v1 r5 tping 100 10 1.1.1.3 vrf v1 r5 tping 100 10 1234::3 vrf v1 r5 tping 100 10 1.1.1.4 vrf v1 r5 tping 100 10 1234::4 vrf v1 r5 tping 100 10 1.1.1.5 vrf v1 r5 tping 100 10 1234::5 vrf v1 r5 tping 100 10 1.1.1.6 vrf v1 r5 tping 100 10 1234::6 vrf v1 r6 tping 100 10 1.1.1.1 vrf v1 r6 tping 100 10 1234::1 vrf v1 r6 tping 100 10 1.1.1.3 vrf v1 r6 tping 100 10 1234::3 vrf v1 r6 tping 100 10 1.1.1.4 vrf v1 r6 tping 100 10 1234::4 vrf v1 r6 tping 100 10 1.1.1.5 vrf v1 r6 tping 100 10 1234::5 vrf v1 r6 tping 100 10 1.1.1.6 vrf v1 r6 tping 100 10 1234::6 vrf v1 r7 tping 100 10 1.1.1.1 vrf v1 r7 tping 100 10 1234::1 vrf v1 r7 tping 100 10 1.1.1.3 vrf v1 r7 tping 100 10 1234::3 vrf v1 r7 tping 100 10 1.1.1.4 vrf v1 r7 tping 100 10 1234::4 vrf v1 r7 tping 100 10 1.1.1.5 vrf v1 r7 tping 100 10 1234::5 vrf v1 r7 tping 100 10 1.1.1.6 vrf v1 r7 tping 100 10 1234::6 vrf v1 r8 tping 100 10 1.1.1.1 vrf v1 r8 tping 100 10 1234::1 vrf v1 r8 tping 100 10 1.1.1.3 vrf v1 r8 tping 100 10 1234::3 vrf v1 r8 tping 100 10 1.1.1.4 vrf v1 r8 tping 100 10 1234::4 vrf v1 r8 tping 100 10 1.1.1.5 vrf v1 r8 tping 100 10 1234::5 vrf v1 r8 tping 100 10 1.1.1.6 vrf v1 r8 tping 100 10 1234::6 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r8 tping 100 10 2.2.2.101 vrf v1 sou lo0 r8 tping 100 10 4321::101 vrf v1 sou lo0 r8 tping 100 10 2.2.2.103 vrf v1 sou lo0 r8 tping 100 10 4321::103 vrf v1 sou lo0 r8 tping 100 10 2.2.2.104 vrf v1 sou lo0 r8 tping 100 10 4321::104 vrf v1 sou lo0 r8 tping 100 10 2.2.2.105 vrf v1 sou lo0 r8 tping 100 10 4321::105 vrf v1 sou lo0 r8 tping 100 10 2.2.2.106 vrf v1 sou lo0 r8 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r8 2.2.2.103 vrf v1 sou lo0 r1 dping sdn . r8 4321::103 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout397.tst000066400000000000000000000255111510423065500172210ustar00rootroot00000000000000description p4lang: routed vpls/ldp with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 proxy-local ipv6 proxy-local exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bridge-gr 1 exit int sdn4 bridge-gr 1 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addother r2 controller r1 v9 9080 - feature bridge mpls vpls pwhe int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 3.3.3.101 vrf v1 sou lo0 r1 tping 100 10 3333::101 vrf v1 sou lo0 r1 tping 100 10 3.3.3.103 vrf v1 sou lo0 r1 tping 100 10 3333::103 vrf v1 sou lo0 r1 tping 100 10 3.3.3.104 vrf v1 sou lo0 r1 tping 100 10 3333::104 vrf v1 sou lo0 r1 tping 100 10 3.3.3.105 vrf v1 sou lo1 r1 tping 100 10 3333::105 vrf v1 sou lo1 r1 tping 100 10 3.3.3.106 vrf v1 sou lo1 r1 tping 100 10 3333::106 vrf v1 sou lo1 r5 tping 100 10 3.3.3.101 vrf v1 sou lo0 r5 tping 100 10 3333::101 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.101 vrf v1 sou lo0 r6 tping 100 10 3333::101 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r3 tping 100 10 3.3.3.101 vrf v1 sou lo1 r3 tping 100 10 3333::101 vrf v1 sou lo1 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.101 vrf v1 sou lo1 r4 tping 100 10 3333::101 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r6 3.3.3.104 vrf v1 sou lo0 r1 dping sdn . r6 3333::104 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout398.tst000066400000000000000000000256011510423065500172220ustar00rootroot00000000000000description p4lang: routed vlan vpls/ldp with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 proxy-local ipv6 proxy-local exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 exit int sdn3.111 bridge-gr 1 exit int sdn4 exit int sdn4.222 bridge-gr 1 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addother r2 controller r1 v9 9080 - feature vlan bridge mpls vpls pwhe int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 3.3.3.101 vrf v1 sou lo0 r1 tping 100 10 3333::101 vrf v1 sou lo0 r1 tping 100 10 3.3.3.103 vrf v1 sou lo0 r1 tping 100 10 3333::103 vrf v1 sou lo0 r1 tping 100 10 3.3.3.104 vrf v1 sou lo0 r1 tping 100 10 3333::104 vrf v1 sou lo0 r1 tping 100 10 3.3.3.105 vrf v1 sou lo1 r1 tping 100 10 3333::105 vrf v1 sou lo1 r1 tping 100 10 3.3.3.106 vrf v1 sou lo1 r1 tping 100 10 3333::106 vrf v1 sou lo1 r5 tping 100 10 3.3.3.101 vrf v1 sou lo0 r5 tping 100 10 3333::101 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.101 vrf v1 sou lo0 r6 tping 100 10 3333::101 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r3 tping 100 10 3.3.3.101 vrf v1 sou lo1 r3 tping 100 10 3333::101 vrf v1 sou lo1 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.101 vrf v1 sou lo1 r4 tping 100 10 3333::101 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r6 3.3.3.104 vrf v1 sou lo0 r1 dping sdn . r6 3333::104 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout399.tst000066400000000000000000000256571510423065500172360ustar00rootroot00000000000000description p4lang: routed qinq vpls/ldp with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 proxy-local ipv6 proxy-local exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 exit int sdn3.111 exit int sdn3.111.222 bridge-gr 1 exit int sdn4 exit int sdn4.222 bridge-gr 1 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addother r2 controller r1 v9 9080 - feature vlan bridge mpls vpls pwhe int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 3.3.3.101 vrf v1 sou lo0 r1 tping 100 10 3333::101 vrf v1 sou lo0 r1 tping 100 10 3.3.3.103 vrf v1 sou lo0 r1 tping 100 10 3333::103 vrf v1 sou lo0 r1 tping 100 10 3.3.3.104 vrf v1 sou lo0 r1 tping 100 10 3333::104 vrf v1 sou lo0 r1 tping 100 10 3.3.3.105 vrf v1 sou lo1 r1 tping 100 10 3333::105 vrf v1 sou lo1 r1 tping 100 10 3.3.3.106 vrf v1 sou lo1 r1 tping 100 10 3333::106 vrf v1 sou lo1 r5 tping 100 10 3.3.3.101 vrf v1 sou lo0 r5 tping 100 10 3333::101 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.101 vrf v1 sou lo0 r6 tping 100 10 3333::101 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r3 tping 100 10 3.3.3.101 vrf v1 sou lo1 r3 tping 100 10 3333::101 vrf v1 sou lo1 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.101 vrf v1 sou lo1 r4 tping 100 10 3333::101 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r6 3.3.3.104 vrf v1 sou lo0 r1 dping sdn . r6 3333::104 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout400.tst000066400000000000000000000260071510423065500172030ustar00rootroot00000000000000description p4lang: routed evpn/cmac with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 proxy-local ipv6 proxy-local exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bridge-gr 1 exit int sdn4 bridge-gr 1 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addother r2 controller r1 v9 9080 - feature bridge mpls evpn pwhe int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 3.3.3.101 vrf v1 sou lo0 r1 tping 100 10 3333::101 vrf v1 sou lo0 r1 tping 100 10 3.3.3.103 vrf v1 sou lo0 r1 tping 100 10 3333::103 vrf v1 sou lo0 r1 tping 100 10 3.3.3.104 vrf v1 sou lo0 r1 tping 100 10 3333::104 vrf v1 sou lo0 r1 tping 100 10 3.3.3.105 vrf v1 sou lo1 r1 tping 100 10 3333::105 vrf v1 sou lo1 r1 tping 100 10 3.3.3.106 vrf v1 sou lo1 r1 tping 100 10 3333::106 vrf v1 sou lo1 r5 tping 100 10 3.3.3.101 vrf v1 sou lo0 r5 tping 100 10 3333::101 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.101 vrf v1 sou lo0 r6 tping 100 10 3333::101 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r3 tping 100 10 3.3.3.101 vrf v1 sou lo1 r3 tping 100 10 3333::101 vrf v1 sou lo1 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.101 vrf v1 sou lo1 r4 tping 100 10 3333::101 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r6 3.3.3.104 vrf v1 sou lo0 r1 dping sdn . r6 3333::104 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout401.tst000066400000000000000000000260771510423065500172130ustar00rootroot00000000000000description p4lang: routed vlan evpn/cmac with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 proxy-local ipv6 proxy-local exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 exit int sdn3.111 bridge-gr 1 exit int sdn4 exit int sdn4.222 bridge-gr 1 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addother r2 controller r1 v9 9080 - feature vlan bridge mpls evpn pwhe int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 3.3.3.101 vrf v1 sou lo0 r1 tping 100 10 3333::101 vrf v1 sou lo0 r1 tping 100 10 3.3.3.103 vrf v1 sou lo0 r1 tping 100 10 3333::103 vrf v1 sou lo0 r1 tping 100 10 3.3.3.104 vrf v1 sou lo0 r1 tping 100 10 3333::104 vrf v1 sou lo0 r1 tping 100 10 3.3.3.105 vrf v1 sou lo1 r1 tping 100 10 3333::105 vrf v1 sou lo1 r1 tping 100 10 3.3.3.106 vrf v1 sou lo1 r1 tping 100 10 3333::106 vrf v1 sou lo1 r5 tping 100 10 3.3.3.101 vrf v1 sou lo0 r5 tping 100 10 3333::101 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.101 vrf v1 sou lo0 r6 tping 100 10 3333::101 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r3 tping 100 10 3.3.3.101 vrf v1 sou lo1 r3 tping 100 10 3333::101 vrf v1 sou lo1 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.101 vrf v1 sou lo1 r4 tping 100 10 3333::101 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r6 3.3.3.104 vrf v1 sou lo0 r1 dping sdn . r6 3333::104 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout402.tst000066400000000000000000000261551510423065500172110ustar00rootroot00000000000000description p4lang: routed qinq evpn/cmac with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 proxy-local ipv6 proxy-local exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 exit int sdn3.111 exit int sdn3.111.222 bridge-gr 1 exit int sdn4 exit int sdn4.222 bridge-gr 1 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a exit server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addother r2 controller r1 v9 9080 - feature vlan bridge mpls evpn pwhe int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.111 exit int eth1.111.222 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 3.3.3.101 vrf v1 sou lo0 r1 tping 100 10 3333::101 vrf v1 sou lo0 r1 tping 100 10 3.3.3.103 vrf v1 sou lo0 r1 tping 100 10 3333::103 vrf v1 sou lo0 r1 tping 100 10 3.3.3.104 vrf v1 sou lo0 r1 tping 100 10 3333::104 vrf v1 sou lo0 r1 tping 100 10 3.3.3.105 vrf v1 sou lo1 r1 tping 100 10 3333::105 vrf v1 sou lo1 r1 tping 100 10 3.3.3.106 vrf v1 sou lo1 r1 tping 100 10 3333::106 vrf v1 sou lo1 r5 tping 100 10 3.3.3.101 vrf v1 sou lo0 r5 tping 100 10 3333::101 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo0 r5 tping 100 10 3333::103 vrf v1 sou lo0 r5 tping 100 10 3.3.3.104 vrf v1 sou lo0 r5 tping 100 10 3333::104 vrf v1 sou lo0 r5 tping 100 10 3.3.3.105 vrf v1 sou lo0 r5 tping 100 10 3333::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.106 vrf v1 sou lo0 r5 tping 100 10 3333::106 vrf v1 sou lo0 r6 tping 100 10 3.3.3.101 vrf v1 sou lo0 r6 tping 100 10 3333::101 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r3 tping 100 10 3.3.3.101 vrf v1 sou lo1 r3 tping 100 10 3333::101 vrf v1 sou lo1 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.101 vrf v1 sou lo1 r4 tping 100 10 3333::101 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r6 3.3.3.104 vrf v1 sou lo0 r1 dping sdn . r6 3333::104 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout403.tst000066400000000000000000000265651510423065500172170ustar00rootroot00000000000000description p4lang: vpls/ldp over backplane addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ int eth3 eth 0000.0000.1111 $7a$ $7b$ int eth4 eth 0000.0000.1111 $8b$ $8a$ int eth5 eth 0000.0000.1111 $13a$ $13b$ int eth6 eth 0000.0000.1111 $14b$ $14a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int eth3 vrf for v9 ipv4 addr 10.12.13.254 255.255.255.0 exit int eth4 exit server dhcp4 eth3 pool 10.12.13.1 10.12.13.99 gateway 10.12.13.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.3333 10.12.13.111 interface eth3 vrf v9 exit int eth5 vrf for v9 ipv4 addr 10.13.14.254 255.255.255.0 exit int eth6 exit server dhcp4 eth5 pool 10.13.14.1 10.13.14.99 gateway 10.13.14.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.4444 10.13.14.111 interface eth5 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit bundle 2 exit bundle 3 exit bundle 4 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int sdn11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn12 bridge-gr 1 exit int bun1 vrf for v1 mpls ena exit int sdn13 bundle-gr 1 exit int sdn14 bundle-gr 1 exit int sdn21 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn22 bridge-gr 1 exit int bun2 vrf for v1 mpls ena exit int sdn23 bundle-gr 2 exit int sdn24 bundle-gr 2 exit int bun3 vrf for v1 mpls ena exit int sdn31 bundle-gr 3 exit int sdn32 bundle-gr 3 exit int bun4 vrf for v1 mpls ena exit int sdn33 bundle-gr 4 exit int sdn34 bundle-gr 4 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.105 temp a afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::103 temp a neigh 4321::105 temp a exit server p4lang a interconnect eth2 export-vrf v1 export-br 1 export-port sdn11 1 10 export-port sdn12 2 10 export-port sdn13 3 10 export-port sdn14 4 10 export-port bun1 dynamic exit server p4lang b interconnect eth4 export-vrf v1 export-br 1 export-port sdn21 1 10 export-port sdn22 2 10 export-port sdn23 3 10 export-port sdn24 4 10 export-port bun2 dynamic exit server p4lang c interconnect eth6 export-vrf v1 export-port sdn31 1 10 export-port sdn32 2 10 export-port sdn33 3 10 export-port sdn34 4 10 export-port bun3 dynamic export-port bun4 dynamic exit server stack s dataplanes 4 forwarder 1 p4lang a forwarder 1 backplane bun1 1 forwarder 1 remote 10.11.12.111 forwarder 2 p4lang b forwarder 2 backplane bun2 1 forwarder 2 remote 10.12.13.111 forwarder 3 p4lang c forwarder 3 backplane bun3 1 forwarder 3 backplane bun4 1 forwarder 3 remote 10.13.14.111 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addother r2 controller r1 v9 9080 10.11.12.111 feature bundle mpls vpls bridge int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addother r3 controller r1 v9 9080 10.12.13.111 feature bundle mpls vpls bridge int eth1 eth 0000.0000.3333 $7b$ $7a$ int eth2 eth 0000.0000.3333 $8a$ $8b$ int eth3 eth 0000.0000.3333 $9a$ $9b$ int eth4 eth 0000.0000.3333 $10a$ $10b$ int eth5 eth 0000.0000.3333 $11a$ $11b$ int eth6 eth 0000.0000.3333 $12a$ $12b$ ! ! addother r4 controller r1 v9 9080 10.13.14.111 feature bundle mpls route int eth1 eth 0000.0000.4444 $13b$ $13a$ int eth2 eth 0000.0000.4444 $14a$ $14b$ int eth3 eth 0000.0000.4444 $5b$ $5a$ int eth4 eth 0000.0000.4444 $6b$ $6a$ int eth5 eth 0000.0000.4444 $11b$ $11a$ int eth6 eth 0000.0000.4444 $12b$ $12a$ ! ! addrouter r5 int eth1 eth 0000.0000.5555 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r7 int eth1 eth 0000.0000.7777 $9b$ $9a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.5 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.5 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r8 int eth1 eth 0000.0000.8888 $10b$ $10a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo1 r5 tping 100 10 3333::103 vrf v1 sou lo1 r5 tping 100 10 3.3.3.104 vrf v1 sou lo1 r5 tping 100 10 3333::104 vrf v1 sou lo1 r5 tping 100 10 3.3.3.105 vrf v1 sou lo1 r5 tping 100 10 3333::105 vrf v1 sou lo1 r5 tping 100 10 3.3.3.106 vrf v1 sou lo1 r5 tping 100 10 3333::106 vrf v1 sou lo1 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r7 tping 100 10 3.3.3.103 vrf v1 sou lo1 r7 tping 100 10 3333::103 vrf v1 sou lo1 r7 tping 100 10 3.3.3.104 vrf v1 sou lo1 r7 tping 100 10 3333::104 vrf v1 sou lo1 r7 tping 100 10 3.3.3.105 vrf v1 sou lo1 r7 tping 100 10 3333::105 vrf v1 sou lo1 r7 tping 100 10 3.3.3.106 vrf v1 sou lo1 r7 tping 100 10 3333::106 vrf v1 sou lo1 r8 tping 100 10 3.3.3.103 vrf v1 sou lo0 r8 tping 100 10 3333::103 vrf v1 sou lo0 r8 tping 100 10 3.3.3.104 vrf v1 sou lo0 r8 tping 100 10 3333::104 vrf v1 sou lo0 r8 tping 100 10 3.3.3.105 vrf v1 sou lo0 r8 tping 100 10 3333::105 vrf v1 sou lo0 r8 tping 100 10 3.3.3.106 vrf v1 sou lo0 r8 tping 100 10 3333::106 vrf v1 sou lo0 r1 dping sdn . r8 3.3.3.103 vrf v1 sou lo0 r1 dping sdn . r8 3333::103 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout404.tst000066400000000000000000000270631510423065500172120ustar00rootroot00000000000000description p4lang: evpn/cmac over backplane addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ int eth3 eth 0000.0000.1111 $7a$ $7b$ int eth4 eth 0000.0000.1111 $8b$ $8a$ int eth5 eth 0000.0000.1111 $13a$ $13b$ int eth6 eth 0000.0000.1111 $14b$ $14a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int eth3 vrf for v9 ipv4 addr 10.12.13.254 255.255.255.0 exit int eth4 exit server dhcp4 eth3 pool 10.12.13.1 10.12.13.99 gateway 10.12.13.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.3333 10.12.13.111 interface eth3 vrf v9 exit int eth5 vrf for v9 ipv4 addr 10.13.14.254 255.255.255.0 exit int eth6 exit server dhcp4 eth5 pool 10.13.14.1 10.13.14.99 gateway 10.13.14.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.4444 10.13.14.111 interface eth5 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit bundle 2 exit bundle 3 exit bundle 4 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int sdn11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn12 bridge-gr 1 exit int bun1 vrf for v1 mpls ena exit int sdn13 bundle-gr 1 exit int sdn14 bundle-gr 1 exit int sdn21 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn22 bridge-gr 1 exit int bun2 vrf for v1 mpls ena exit int sdn23 bundle-gr 2 exit int sdn24 bundle-gr 2 exit int bun3 vrf for v1 mpls ena exit int sdn31 bundle-gr 3 exit int sdn32 bundle-gr 3 exit int bun4 vrf for v1 mpls ena exit int sdn33 bundle-gr 4 exit int sdn34 bundle-gr 4 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.105 temp a afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 4321::103 temp a neigh 4321::105 temp a exit server p4lang a interconnect eth2 export-vrf v1 export-br 1 export-port sdn11 1 10 export-port sdn12 2 10 export-port sdn13 3 10 export-port sdn14 4 10 export-port bun1 dynamic exit server p4lang b interconnect eth4 export-vrf v1 export-br 1 export-port sdn21 1 10 export-port sdn22 2 10 export-port sdn23 3 10 export-port sdn24 4 10 export-port bun2 dynamic exit server p4lang c interconnect eth6 export-vrf v1 export-port sdn31 1 10 export-port sdn32 2 10 export-port sdn33 3 10 export-port sdn34 4 10 export-port bun3 dynamic export-port bun4 dynamic exit server stack s dataplanes 4 forwarder 1 p4lang a forwarder 1 backplane bun1 1 forwarder 1 remote 10.11.12.111 forwarder 2 p4lang b forwarder 2 backplane bun2 1 forwarder 2 remote 10.12.13.111 forwarder 3 p4lang c forwarder 3 backplane bun3 1 forwarder 3 backplane bun4 1 forwarder 3 remote 10.13.14.111 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addother r2 controller r1 v9 9080 10.11.12.111 feature bundle mpls evpn bridge int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addother r3 controller r1 v9 9080 10.12.13.111 feature bundle mpls evpn bridge int eth1 eth 0000.0000.3333 $7b$ $7a$ int eth2 eth 0000.0000.3333 $8a$ $8b$ int eth3 eth 0000.0000.3333 $9a$ $9b$ int eth4 eth 0000.0000.3333 $10a$ $10b$ int eth5 eth 0000.0000.3333 $11a$ $11b$ int eth6 eth 0000.0000.3333 $12a$ $12b$ ! ! addother r4 controller r1 v9 9080 10.13.14.111 feature bundle mpls route int eth1 eth 0000.0000.4444 $13b$ $13a$ int eth2 eth 0000.0000.4444 $14a$ $14b$ int eth3 eth 0000.0000.4444 $5b$ $5a$ int eth4 eth 0000.0000.4444 $6b$ $6a$ int eth5 eth 0000.0000.4444 $11b$ $11a$ int eth6 eth 0000.0000.4444 $12b$ $12a$ ! ! addrouter r5 int eth1 eth 0000.0000.5555 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r7 int eth1 eth 0000.0000.7777 $9b$ $9a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.5 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.5 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r8 int eth1 eth 0000.0000.8888 $10b$ $10a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 3.3.3.103 vrf v1 sou lo1 r5 tping 100 10 3333::103 vrf v1 sou lo1 r5 tping 100 10 3.3.3.104 vrf v1 sou lo1 r5 tping 100 10 3333::104 vrf v1 sou lo1 r5 tping 100 10 3.3.3.105 vrf v1 sou lo1 r5 tping 100 10 3333::105 vrf v1 sou lo1 r5 tping 100 10 3.3.3.106 vrf v1 sou lo1 r5 tping 100 10 3333::106 vrf v1 sou lo1 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r7 tping 100 10 3.3.3.103 vrf v1 sou lo1 r7 tping 100 10 3333::103 vrf v1 sou lo1 r7 tping 100 10 3.3.3.104 vrf v1 sou lo1 r7 tping 100 10 3333::104 vrf v1 sou lo1 r7 tping 100 10 3.3.3.105 vrf v1 sou lo1 r7 tping 100 10 3333::105 vrf v1 sou lo1 r7 tping 100 10 3.3.3.106 vrf v1 sou lo1 r7 tping 100 10 3333::106 vrf v1 sou lo1 r8 tping 100 10 3.3.3.103 vrf v1 sou lo0 r8 tping 100 10 3333::103 vrf v1 sou lo0 r8 tping 100 10 3.3.3.104 vrf v1 sou lo0 r8 tping 100 10 3333::104 vrf v1 sou lo0 r8 tping 100 10 3.3.3.105 vrf v1 sou lo0 r8 tping 100 10 3333::105 vrf v1 sou lo0 r8 tping 100 10 3.3.3.106 vrf v1 sou lo0 r8 tping 100 10 3333::106 vrf v1 sou lo0 r1 dping sdn . r8 3.3.3.103 vrf v1 sou lo0 r1 dping sdn . r8 3333::103 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout405.tst000066400000000000000000000325341510423065500172120ustar00rootroot00000000000000description p4lang: routed vpls/ldp over backplane addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ int eth3 eth 0000.0000.1111 $7a$ $7b$ int eth4 eth 0000.0000.1111 $8b$ $8a$ int eth5 eth 0000.0000.1111 $13a$ $13b$ int eth6 eth 0000.0000.1111 $14b$ $14a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int eth3 vrf for v9 ipv4 addr 10.12.13.254 255.255.255.0 exit int eth4 exit server dhcp4 eth3 pool 10.12.13.1 10.12.13.99 gateway 10.12.13.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.3333 10.12.13.111 interface eth3 vrf v9 exit int eth5 vrf for v9 ipv4 addr 10.13.14.254 255.255.255.0 exit int eth6 exit server dhcp4 eth5 pool 10.13.14.1 10.13.14.99 gateway 10.13.14.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.4444 10.13.14.111 interface eth5 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit bundle 2 exit bundle 3 exit bundle 4 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo1 vrf for v1 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 proxy-local ipv6 proxy-local exit int sdn11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn12 bridge-gr 1 exit int bun1 vrf for v1 mpls ena exit int sdn13 bundle-gr 1 exit int sdn14 bundle-gr 1 exit int sdn21 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn22 bridge-gr 1 exit int bun2 vrf for v1 mpls ena exit int sdn23 bundle-gr 2 exit int sdn24 bundle-gr 2 exit int bun3 vrf for v1 mpls ena exit int sdn31 bundle-gr 3 exit int sdn32 bundle-gr 3 exit int bun4 vrf for v1 mpls ena exit int sdn33 bundle-gr 4 exit int sdn34 bundle-gr 4 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.105 temp a afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::103 temp a neigh 4321::105 temp a exit server p4lang a interconnect eth2 export-vrf v1 export-br 1 export-port sdn11 1 10 export-port sdn12 2 10 export-port sdn13 3 10 export-port sdn14 4 10 export-port bvi1 dynamic export-port bun1 dynamic exit server p4lang b interconnect eth4 export-vrf v1 export-br 1 export-port sdn21 1 10 export-port sdn22 2 10 export-port sdn23 3 10 export-port sdn24 4 10 export-port bvi1 dynamic export-port bun2 dynamic exit server p4lang c interconnect eth6 export-vrf v1 export-port sdn31 1 10 export-port sdn32 2 10 export-port sdn33 3 10 export-port sdn34 4 10 export-port bun3 dynamic export-port bun4 dynamic exit server stack s dataplanes 4 forwarder 1 p4lang a forwarder 1 backplane bun1 1 forwarder 1 remote 10.11.12.111 forwarder 2 p4lang b forwarder 2 backplane bun2 1 forwarder 2 remote 10.12.13.111 forwarder 3 p4lang c forwarder 3 backplane bun3 1 forwarder 3 backplane bun4 1 forwarder 3 remote 10.13.14.111 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addother r2 controller r1 v9 9080 10.11.12.111 feature bundle mpls vpls pwhe int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addother r3 controller r1 v9 9080 10.12.13.111 feature bundle mpls vpls pwhe int eth1 eth 0000.0000.3333 $7b$ $7a$ int eth2 eth 0000.0000.3333 $8a$ $8b$ int eth3 eth 0000.0000.3333 $9a$ $9b$ int eth4 eth 0000.0000.3333 $10a$ $10b$ int eth5 eth 0000.0000.3333 $11a$ $11b$ int eth6 eth 0000.0000.3333 $12a$ $12b$ ! ! addother r4 controller r1 v9 9080 10.13.14.111 feature bundle mpls route int eth1 eth 0000.0000.4444 $13b$ $13a$ int eth2 eth 0000.0000.4444 $14a$ $14b$ int eth3 eth 0000.0000.4444 $5b$ $5a$ int eth4 eth 0000.0000.4444 $6b$ $6a$ int eth5 eth 0000.0000.4444 $11b$ $11a$ int eth6 eth 0000.0000.4444 $12b$ $12a$ ! ! addrouter r5 int eth1 eth 0000.0000.5555 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r7 int eth1 eth 0000.0000.7777 $9b$ $9a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.5 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.5 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r8 int eth1 eth 0000.0000.8888 $10b$ $10a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 3.3.3.101 vrf v1 sou lo1 r1 tping 100 10 3333::101 vrf v1 sou lo1 r1 tping 100 10 3.3.3.103 vrf v1 sou lo1 r1 tping 100 10 3333::103 vrf v1 sou lo1 r1 tping 100 10 3.3.3.104 vrf v1 sou lo1 r1 tping 100 10 3333::104 vrf v1 sou lo1 r1 tping 100 10 3.3.3.105 vrf v1 sou lo1 r1 tping 100 10 3333::105 vrf v1 sou lo1 r1 tping 100 10 3.3.3.106 vrf v1 sou lo1 r1 tping 100 10 3333::106 vrf v1 sou lo1 r5 tping 100 10 3.3.3.101 vrf v1 sou lo1 r5 tping 100 10 3333::101 vrf v1 sou lo1 r5 tping 100 10 3.3.3.103 vrf v1 sou lo1 r5 tping 100 10 3333::103 vrf v1 sou lo1 r5 tping 100 10 3.3.3.104 vrf v1 sou lo1 r5 tping 100 10 3333::104 vrf v1 sou lo1 r5 tping 100 10 3.3.3.105 vrf v1 sou lo1 r5 tping 100 10 3333::105 vrf v1 sou lo1 r5 tping 100 10 3.3.3.106 vrf v1 sou lo1 r5 tping 100 10 3333::106 vrf v1 sou lo1 r6 tping 100 10 3.3.3.101 vrf v1 sou lo0 r6 tping 100 10 3333::101 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r7 tping 100 10 3.3.3.101 vrf v1 sou lo1 r7 tping 100 10 3333::101 vrf v1 sou lo1 r7 tping 100 10 3.3.3.103 vrf v1 sou lo1 r7 tping 100 10 3333::103 vrf v1 sou lo1 r7 tping 100 10 3.3.3.104 vrf v1 sou lo1 r7 tping 100 10 3333::104 vrf v1 sou lo1 r7 tping 100 10 3.3.3.105 vrf v1 sou lo1 r7 tping 100 10 3333::105 vrf v1 sou lo1 r7 tping 100 10 3.3.3.106 vrf v1 sou lo1 r7 tping 100 10 3333::106 vrf v1 sou lo1 r8 tping 100 10 3.3.3.101 vrf v1 sou lo0 r8 tping 100 10 3333::101 vrf v1 sou lo0 r8 tping 100 10 3.3.3.103 vrf v1 sou lo0 r8 tping 100 10 3333::103 vrf v1 sou lo0 r8 tping 100 10 3.3.3.104 vrf v1 sou lo0 r8 tping 100 10 3333::104 vrf v1 sou lo0 r8 tping 100 10 3.3.3.105 vrf v1 sou lo0 r8 tping 100 10 3333::105 vrf v1 sou lo0 r8 tping 100 10 3.3.3.106 vrf v1 sou lo0 r8 tping 100 10 3333::106 vrf v1 sou lo0 r1 dping sdn . r8 3.3.3.103 vrf v1 sou lo0 r1 dping sdn . r8 3333::103 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout406.tst000066400000000000000000000330321510423065500172050ustar00rootroot00000000000000description p4lang: routed evpn/cmac over backplane addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ int eth3 eth 0000.0000.1111 $7a$ $7b$ int eth4 eth 0000.0000.1111 $8b$ $8a$ int eth5 eth 0000.0000.1111 $13a$ $13b$ int eth6 eth 0000.0000.1111 $14b$ $14a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int eth3 vrf for v9 ipv4 addr 10.12.13.254 255.255.255.0 exit int eth4 exit server dhcp4 eth3 pool 10.12.13.1 10.12.13.99 gateway 10.12.13.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.3333 10.12.13.111 interface eth3 vrf v9 exit int eth5 vrf for v9 ipv4 addr 10.13.14.254 255.255.255.0 exit int eth6 exit server dhcp4 eth5 pool 10.13.14.1 10.13.14.99 gateway 10.13.14.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.4444 10.13.14.111 interface eth5 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bundle 1 exit bundle 2 exit bundle 3 exit bundle 4 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo1 vrf for v1 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 proxy-local ipv6 proxy-local exit int sdn11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn12 bridge-gr 1 exit int bun1 vrf for v1 mpls ena exit int sdn13 bundle-gr 1 exit int sdn14 bundle-gr 1 exit int sdn21 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn22 bridge-gr 1 exit int bun2 vrf for v1 mpls ena exit int sdn23 bundle-gr 2 exit int sdn24 bundle-gr 2 exit int bun3 vrf for v1 mpls ena exit int sdn31 bundle-gr 3 exit int sdn32 bundle-gr 3 exit int bun4 vrf for v1 mpls ena exit int sdn33 bundle-gr 4 exit int sdn34 bundle-gr 4 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.105 temp a afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a pmsi temp a route-reflect neigh 4321::103 temp a neigh 4321::105 temp a exit server p4lang a interconnect eth2 export-vrf v1 export-br 1 export-port sdn11 1 10 export-port sdn12 2 10 export-port sdn13 3 10 export-port sdn14 4 10 export-port bvi1 dynamic export-port bun1 dynamic exit server p4lang b interconnect eth4 export-vrf v1 export-br 1 export-port sdn21 1 10 export-port sdn22 2 10 export-port sdn23 3 10 export-port sdn24 4 10 export-port bvi1 dynamic export-port bun2 dynamic exit server p4lang c interconnect eth6 export-vrf v1 export-port sdn31 1 10 export-port sdn32 2 10 export-port sdn33 3 10 export-port sdn34 4 10 export-port bun3 dynamic export-port bun4 dynamic exit server stack s dataplanes 4 forwarder 1 p4lang a forwarder 1 backplane bun1 1 forwarder 1 remote 10.11.12.111 forwarder 2 p4lang b forwarder 2 backplane bun2 1 forwarder 2 remote 10.12.13.111 forwarder 3 p4lang c forwarder 3 backplane bun3 1 forwarder 3 backplane bun4 1 forwarder 3 remote 10.13.14.111 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addother r2 controller r1 v9 9080 10.11.12.111 feature bundle mpls evpn pwhe int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addother r3 controller r1 v9 9080 10.12.13.111 feature bundle mpls evpn pwhe int eth1 eth 0000.0000.3333 $7b$ $7a$ int eth2 eth 0000.0000.3333 $8a$ $8b$ int eth3 eth 0000.0000.3333 $9a$ $9b$ int eth4 eth 0000.0000.3333 $10a$ $10b$ int eth5 eth 0000.0000.3333 $11a$ $11b$ int eth6 eth 0000.0000.3333 $12a$ $12b$ ! ! addother r4 controller r1 v9 9080 10.13.14.111 feature bundle mpls route int eth1 eth 0000.0000.4444 $13b$ $13a$ int eth2 eth 0000.0000.4444 $14a$ $14b$ int eth3 eth 0000.0000.4444 $5b$ $5a$ int eth4 eth 0000.0000.4444 $6b$ $6a$ int eth5 eth 0000.0000.4444 $11b$ $11a$ int eth6 eth 0000.0000.4444 $12b$ $12a$ ! ! addrouter r5 int eth1 eth 0000.0000.5555 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1234:3::3 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1234:3::4 ffff:ffff:: exit ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r7 int eth1 eth 0000.0000.7777 $9b$ $9a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.3.5 255.255.255.0 ipv6 addr 1234:3::5 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.5 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both neigh 2.2.2.101 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.5 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both neigh 4321::101 pmsi exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.106 255.255.255.255 1.1.3.6 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::6 ! addrouter r8 int eth1 eth 0000.0000.8888 $10b$ $10a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.6 255.255.255.0 ipv6 addr 1234:3::6 ffff:ffff:: exit ipv4 route v1 3.3.3.101 255.255.255.255 1.1.3.1 ipv4 route v1 3.3.3.103 255.255.255.255 1.1.3.3 ipv4 route v1 3.3.3.104 255.255.255.255 1.1.3.4 ipv4 route v1 3.3.3.105 255.255.255.255 1.1.3.5 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ipv6 route v1 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::4 ipv6 route v1 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::5 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 3.3.3.101 vrf v1 sou lo1 r1 tping 100 10 3333::101 vrf v1 sou lo1 r1 tping 100 10 3.3.3.103 vrf v1 sou lo1 r1 tping 100 10 3333::103 vrf v1 sou lo1 r1 tping 100 10 3.3.3.104 vrf v1 sou lo1 r1 tping 100 10 3333::104 vrf v1 sou lo1 r1 tping 100 10 3.3.3.105 vrf v1 sou lo1 r1 tping 100 10 3333::105 vrf v1 sou lo1 r1 tping 100 10 3.3.3.106 vrf v1 sou lo1 r1 tping 100 10 3333::106 vrf v1 sou lo1 r5 tping 100 10 3.3.3.101 vrf v1 sou lo1 r5 tping 100 10 3333::101 vrf v1 sou lo1 r5 tping 100 10 3.3.3.103 vrf v1 sou lo1 r5 tping 100 10 3333::103 vrf v1 sou lo1 r5 tping 100 10 3.3.3.104 vrf v1 sou lo1 r5 tping 100 10 3333::104 vrf v1 sou lo1 r5 tping 100 10 3.3.3.105 vrf v1 sou lo1 r5 tping 100 10 3333::105 vrf v1 sou lo1 r5 tping 100 10 3.3.3.106 vrf v1 sou lo1 r5 tping 100 10 3333::106 vrf v1 sou lo1 r6 tping 100 10 3.3.3.101 vrf v1 sou lo0 r6 tping 100 10 3333::101 vrf v1 sou lo0 r6 tping 100 10 3.3.3.103 vrf v1 sou lo0 r6 tping 100 10 3333::103 vrf v1 sou lo0 r6 tping 100 10 3.3.3.104 vrf v1 sou lo0 r6 tping 100 10 3333::104 vrf v1 sou lo0 r6 tping 100 10 3.3.3.105 vrf v1 sou lo0 r6 tping 100 10 3333::105 vrf v1 sou lo0 r6 tping 100 10 3.3.3.106 vrf v1 sou lo0 r6 tping 100 10 3333::106 vrf v1 sou lo0 r7 tping 100 10 3.3.3.101 vrf v1 sou lo1 r7 tping 100 10 3333::101 vrf v1 sou lo1 r7 tping 100 10 3.3.3.103 vrf v1 sou lo1 r7 tping 100 10 3333::103 vrf v1 sou lo1 r7 tping 100 10 3.3.3.104 vrf v1 sou lo1 r7 tping 100 10 3333::104 vrf v1 sou lo1 r7 tping 100 10 3.3.3.105 vrf v1 sou lo1 r7 tping 100 10 3333::105 vrf v1 sou lo1 r7 tping 100 10 3.3.3.106 vrf v1 sou lo1 r7 tping 100 10 3333::106 vrf v1 sou lo1 r8 tping 100 10 3.3.3.101 vrf v1 sou lo0 r8 tping 100 10 3333::101 vrf v1 sou lo0 r8 tping 100 10 3.3.3.103 vrf v1 sou lo0 r8 tping 100 10 3333::103 vrf v1 sou lo0 r8 tping 100 10 3.3.3.104 vrf v1 sou lo0 r8 tping 100 10 3333::104 vrf v1 sou lo0 r8 tping 100 10 3.3.3.105 vrf v1 sou lo0 r8 tping 100 10 3333::105 vrf v1 sou lo0 r8 tping 100 10 3.3.3.106 vrf v1 sou lo0 r8 tping 100 10 3333::106 vrf v1 sou lo0 r1 dping sdn . r8 3.3.3.103 vrf v1 sou lo0 r1 dping sdn . r8 3333::103 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout407.tst000066400000000000000000000255431510423065500172160ustar00rootroot00000000000000description p4lang: vpn mldp egress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 vrf for v2 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.4.2 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.1 neigh 2.2.2.206 remote-as 1 neigh 2.2.2.206 update lo0 neigh 2.2.2.206 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.1 neigh 4321::206 remote-as 1 neigh 4321::206 update lo0 neigh 4321::206 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit ! addother r2 controller r1 v9 9080 - feature route mroute duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.206 255.255.255.255 ipv6 addr 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.206 vrf v1 sou lo0 r1 tping 100 10 4321::206 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v2 sou lo1 r6 tping 100 10 4321::103 vrf v2 sou lo1 r6 tping 100 10 2.2.2.104 vrf v2 sou lo1 r6 tping 100 10 4321::104 vrf v2 sou lo1 r6 tping 100 10 2.2.2.105 vrf v2 sou lo1 r6 tping 100 10 4321::105 vrf v2 sou lo1 r6 tping 100 10 2.2.2.106 vrf v2 sou lo1 r6 tping 100 10 4321::106 vrf v2 sou lo1 r6 tping 300 5 232.2.2.2 vrf v2 sou lo1 multi r6 tping 300 5 ff06::1 vrf v2 sou lo1 multi r1 dping sdn . r6 232.2.2.2 vrf v2 sou lo1 r1 dping sdn . r6 ff06::1 vrf v2 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout408.tst000066400000000000000000000227371510423065500172210ustar00rootroot00000000000000description p4lang: vpn mldp ingress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 pim ena ipv6 pim ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.203 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.3.2 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 mroute v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 mroute v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.203 temp a neigh 2.2.2.204 temp a neigh 2.2.2.205 temp a afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::203 temp a neigh 4321::204 temp a neigh 4321::205 temp a afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit ! addother r2 controller r1 v9 9080 - feature route duplab mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.1.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.204 255.255.255.255 ipv6 addr 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.4 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.4 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.2.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.205 255.255.255.255 ipv6 addr 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.5 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.5 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.3.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena ipv4 pim ena ipv6 pim ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.201 vrf v1 sou lo0 r1 tping 100 10 4321::201 vrf v1 sou lo0 r1 tping 100 10 2.2.2.203 vrf v1 sou lo0 r1 tping 100 10 4321::203 vrf v1 sou lo0 r1 tping 100 10 2.2.2.204 vrf v1 sou lo0 r1 tping 100 10 4321::204 vrf v1 sou lo0 r1 tping 100 10 2.2.2.205 vrf v1 sou lo0 r1 tping 100 10 4321::205 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.201 vrf v1 sou lo0 r3 tping 100 10 4321::201 vrf v1 sou lo0 r4 tping 100 10 2.2.2.201 vrf v1 sou lo0 r4 tping 100 10 4321::201 vrf v1 sou lo0 r5 tping 100 10 2.2.2.201 vrf v1 sou lo0 r5 tping 100 10 4321::201 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v2 sou lo1 r3 tping 100 10 4321::106 vrf v2 sou lo1 r4 tping 100 10 2.2.2.106 vrf v2 sou lo1 r4 tping 100 10 4321::106 vrf v2 sou lo1 r5 tping 100 10 2.2.2.106 vrf v2 sou lo1 r5 tping 100 10 4321::106 vrf v2 sou lo1 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout409.tst000066400000000000000000000253501510423065500172140ustar00rootroot00000000000000description p4lang: vpn bier egress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn1 vrf for v2 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 vrf for v2 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.1 neigh 2.2.2.206 remote-as 1 neigh 2.2.2.206 update lo0 neigh 2.2.2.206 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.1 neigh 4321::206 remote-as 1 neigh 4321::206 update lo0 neigh 4321::206 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit ! addother r2 controller r1 v9 9080 - feature route mroute bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.206 255.255.255.255 ipv6 addr 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int lo1 vrf for v2 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ! r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.206 vrf v1 sou lo0 r1 tping 100 10 4321::206 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v2 sou lo1 r6 tping 100 10 4321::103 vrf v2 sou lo1 r6 tping 100 10 2.2.2.104 vrf v2 sou lo1 r6 tping 100 10 4321::104 vrf v2 sou lo1 r6 tping 100 10 2.2.2.105 vrf v2 sou lo1 r6 tping 100 10 4321::105 vrf v2 sou lo1 r6 tping 100 10 2.2.2.106 vrf v2 sou lo1 r6 tping 100 10 4321::106 vrf v2 sou lo1 r6 tping 300 5 232.2.2.2 vrf v2 sou lo1 multi r6 tping 300 5 ff06::1 vrf v2 sou lo1 multi r1 dping sdn . r6 232.2.2.2 vrf v2 sou lo1 r1 dping sdn . r6 ff06::1 vrf v2 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout410.tst000066400000000000000000000250331510423065500172020ustar00rootroot00000000000000description p4lang: vpn bier ingress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int lo1 vrf for v2 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 pim ena ipv6 pim ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 mroute v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 mroute v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.203 temp a neigh 2.2.2.204 temp a neigh 2.2.2.205 temp a afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::203 temp a neigh 4321::204 temp a neigh 4321::205 temp a afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit ! addother r2 controller r1 v9 9080 - feature route bier mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit int lo1 vrf for v2 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.204 255.255.255.255 ipv6 addr 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int lo1 vrf for v2 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.4 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.4 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.205 255.255.255.255 ipv6 addr 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int lo1 vrf for v2 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.5 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.5 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena ipv4 pim ena ipv6 pim ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.201 vrf v1 sou lo0 r1 tping 100 10 4321::201 vrf v1 sou lo0 r1 tping 100 10 2.2.2.203 vrf v1 sou lo0 r1 tping 100 10 4321::203 vrf v1 sou lo0 r1 tping 100 10 2.2.2.204 vrf v1 sou lo0 r1 tping 100 10 4321::204 vrf v1 sou lo0 r1 tping 100 10 2.2.2.205 vrf v1 sou lo0 r1 tping 100 10 4321::205 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.201 vrf v1 sou lo0 r3 tping 100 10 4321::201 vrf v1 sou lo0 r4 tping 100 10 2.2.2.201 vrf v1 sou lo0 r4 tping 100 10 4321::201 vrf v1 sou lo0 r5 tping 100 10 2.2.2.201 vrf v1 sou lo0 r5 tping 100 10 4321::201 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v2 sou lo1 r3 tping 100 10 4321::106 vrf v2 sou lo1 r4 tping 100 10 2.2.2.106 vrf v2 sou lo1 r4 tping 100 10 4321::106 vrf v2 sou lo1 r5 tping 100 10 2.2.2.106 vrf v2 sou lo1 r5 tping 100 10 4321::106 vrf v2 sou lo1 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout411.tst000066400000000000000000000255721510423065500172130ustar00rootroot00000000000000description p4lang: othervpn mldp egress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 vrf for v2 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.4.2 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.1 neigh 2.2.2.206 remote-as 1 neigh 2.2.2.206 update lo0 neigh 2.2.2.206 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.1 neigh 4321::206 remote-as 1 neigh 4321::206 update lo0 neigh 4321::206 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit ! addother r2 controller r1 v9 9080 - feature route mroute duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.206 255.255.255.255 ipv6 addr 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.206 vrf v1 sou lo0 r1 tping 100 10 4321::206 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v2 sou lo1 r6 tping 100 10 4321::103 vrf v2 sou lo1 r6 tping 100 10 2.2.2.104 vrf v2 sou lo1 r6 tping 100 10 4321::104 vrf v2 sou lo1 r6 tping 100 10 2.2.2.105 vrf v2 sou lo1 r6 tping 100 10 4321::105 vrf v2 sou lo1 r6 tping 100 10 2.2.2.106 vrf v2 sou lo1 r6 tping 100 10 4321::106 vrf v2 sou lo1 r6 tping 300 5 232.2.2.2 vrf v2 sou lo1 multi r6 tping 300 5 ff06::1 vrf v2 sou lo1 multi r1 dping sdn . r6 232.2.2.2 vrf v2 sou lo1 r1 dping sdn . r6 ff06::1 vrf v2 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout412.tst000066400000000000000000000230061510423065500172020ustar00rootroot00000000000000description p4lang: othervpn mldp ingress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 pim ena ipv6 pim ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.203 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.3.2 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 mroute v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 mroute v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.203 temp a neigh 2.2.2.204 temp a neigh 2.2.2.205 temp a afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::203 temp a neigh 4321::204 temp a neigh 4321::205 temp a afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit ! addother r2 controller r1 v9 9080 - feature route duplab mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.1.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.204 255.255.255.255 ipv6 addr 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.4 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.4 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.2.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.205 255.255.255.255 ipv6 addr 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.5 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.5 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.3.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena ipv4 pim ena ipv6 pim ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.201 vrf v1 sou lo0 r1 tping 100 10 4321::201 vrf v1 sou lo0 r1 tping 100 10 2.2.2.203 vrf v1 sou lo0 r1 tping 100 10 4321::203 vrf v1 sou lo0 r1 tping 100 10 2.2.2.204 vrf v1 sou lo0 r1 tping 100 10 4321::204 vrf v1 sou lo0 r1 tping 100 10 2.2.2.205 vrf v1 sou lo0 r1 tping 100 10 4321::205 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.201 vrf v1 sou lo0 r3 tping 100 10 4321::201 vrf v1 sou lo0 r4 tping 100 10 2.2.2.201 vrf v1 sou lo0 r4 tping 100 10 4321::201 vrf v1 sou lo0 r5 tping 100 10 2.2.2.201 vrf v1 sou lo0 r5 tping 100 10 4321::201 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v2 sou lo1 r3 tping 100 10 4321::106 vrf v2 sou lo1 r4 tping 100 10 2.2.2.106 vrf v2 sou lo1 r4 tping 100 10 4321::106 vrf v2 sou lo1 r5 tping 100 10 2.2.2.106 vrf v2 sou lo1 r5 tping 100 10 4321::106 vrf v2 sou lo1 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout413.tst000066400000000000000000000253771510423065500172200ustar00rootroot00000000000000description p4lang: othervpn bier egress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn1 vrf for v2 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 vrf for v2 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.1 neigh 2.2.2.206 remote-as 1 neigh 2.2.2.206 update lo0 neigh 2.2.2.206 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.1 neigh 4321::206 remote-as 1 neigh 4321::206 update lo0 neigh 4321::206 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit ! addother r2 controller r1 v9 9080 - feature route mroute bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.206 255.255.255.255 ipv6 addr 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int lo1 vrf for v2 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit ! r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.206 vrf v1 sou lo0 r1 tping 100 10 4321::206 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v2 sou lo1 r6 tping 100 10 4321::103 vrf v2 sou lo1 r6 tping 100 10 2.2.2.104 vrf v2 sou lo1 r6 tping 100 10 4321::104 vrf v2 sou lo1 r6 tping 100 10 2.2.2.105 vrf v2 sou lo1 r6 tping 100 10 4321::105 vrf v2 sou lo1 r6 tping 100 10 2.2.2.106 vrf v2 sou lo1 r6 tping 100 10 4321::106 vrf v2 sou lo1 r6 tping 300 5 232.2.2.2 vrf v2 sou lo1 multi r6 tping 300 5 ff06::1 vrf v2 sou lo1 multi r1 dping sdn . r6 232.2.2.2 vrf v2 sou lo1 r1 dping sdn . r6 ff06::1 vrf v2 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout414.tst000066400000000000000000000251021510423065500172030ustar00rootroot00000000000000description p4lang: othervpn bier ingress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int lo1 vrf for v2 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn4 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 pim ena ipv6 pim ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 mroute v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 mroute v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.203 temp a neigh 2.2.2.204 temp a neigh 2.2.2.205 temp a afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::203 temp a neigh 4321::204 temp a neigh 4321::205 temp a afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit ! addother r2 controller r1 v9 9080 - feature route bier mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit int lo1 vrf for v2 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.204 255.255.255.255 ipv6 addr 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int lo1 vrf for v2 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.4 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.4 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.205 255.255.255.255 ipv6 addr 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int lo1 vrf for v2 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.5 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.5 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena ipv4 pim ena ipv6 pim ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.201 vrf v1 sou lo0 r1 tping 100 10 4321::201 vrf v1 sou lo0 r1 tping 100 10 2.2.2.203 vrf v1 sou lo0 r1 tping 100 10 4321::203 vrf v1 sou lo0 r1 tping 100 10 2.2.2.204 vrf v1 sou lo0 r1 tping 100 10 4321::204 vrf v1 sou lo0 r1 tping 100 10 2.2.2.205 vrf v1 sou lo0 r1 tping 100 10 4321::205 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.201 vrf v1 sou lo0 r3 tping 100 10 4321::201 vrf v1 sou lo0 r4 tping 100 10 2.2.2.201 vrf v1 sou lo0 r4 tping 100 10 4321::201 vrf v1 sou lo0 r5 tping 100 10 2.2.2.201 vrf v1 sou lo0 r5 tping 100 10 4321::201 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v2 sou lo1 r3 tping 100 10 4321::106 vrf v2 sou lo1 r4 tping 100 10 2.2.2.106 vrf v2 sou lo1 r4 tping 100 10 4321::106 vrf v2 sou lo1 r5 tping 100 10 2.2.2.106 vrf v2 sou lo1 r5 tping 100 10 4321::106 vrf v2 sou lo1 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout415.tst000066400000000000000000000257111510423065500172120ustar00rootroot00000000000000description p4lang: vpn mldp vlan egress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 vrf for v2 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 exit int sdn2.222 vrf for v2 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 exit int sdn3.333 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 exit int sdn4.444 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.4.2 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.1 neigh 2.2.2.206 remote-as 1 neigh 2.2.2.206 update lo0 neigh 2.2.2.206 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.1 neigh 4321::206 remote-as 1 neigh 4321::206 update lo0 neigh 4321::206 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit ! addother r2 controller r1 v9 9080 - feature vlan route mroute duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.206 255.255.255.255 ipv6 addr 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.206 vrf v1 sou lo0 r1 tping 100 10 4321::206 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v2 sou lo1 r6 tping 100 10 4321::103 vrf v2 sou lo1 r6 tping 100 10 2.2.2.104 vrf v2 sou lo1 r6 tping 100 10 4321::104 vrf v2 sou lo1 r6 tping 100 10 2.2.2.105 vrf v2 sou lo1 r6 tping 100 10 4321::105 vrf v2 sou lo1 r6 tping 100 10 2.2.2.106 vrf v2 sou lo1 r6 tping 100 10 4321::106 vrf v2 sou lo1 r6 tping 300 5 232.2.2.2 vrf v2 sou lo1 multi r6 tping 300 5 ff06::1 vrf v2 sou lo1 multi r1 dping sdn . r6 232.2.2.2 vrf v2 sou lo1 r1 dping sdn . r6 ff06::1 vrf v2 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout416.tst000066400000000000000000000231051510423065500172060ustar00rootroot00000000000000description p4lang: vpn mldp vlan ingress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit int sdn2 exit int sdn2.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit int sdn3 exit int sdn3.333 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit int sdn4 exit int sdn4.444 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 pim ena ipv6 pim ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.203 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.3.2 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 mroute v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 mroute v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.203 temp a neigh 2.2.2.204 temp a neigh 2.2.2.205 temp a afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::203 temp a neigh 4321::204 temp a neigh 4321::205 temp a afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit ! addother r2 controller r1 v9 9080 - feature vlan route duplab mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.1.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.204 255.255.255.255 ipv6 addr 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.4 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.4 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.2.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.205 255.255.255.255 ipv6 addr 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.5 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.5 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.3.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena ipv4 pim ena ipv6 pim ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.201 vrf v1 sou lo0 r1 tping 100 10 4321::201 vrf v1 sou lo0 r1 tping 100 10 2.2.2.203 vrf v1 sou lo0 r1 tping 100 10 4321::203 vrf v1 sou lo0 r1 tping 100 10 2.2.2.204 vrf v1 sou lo0 r1 tping 100 10 4321::204 vrf v1 sou lo0 r1 tping 100 10 2.2.2.205 vrf v1 sou lo0 r1 tping 100 10 4321::205 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.201 vrf v1 sou lo0 r3 tping 100 10 4321::201 vrf v1 sou lo0 r4 tping 100 10 2.2.2.201 vrf v1 sou lo0 r4 tping 100 10 4321::201 vrf v1 sou lo0 r5 tping 100 10 2.2.2.201 vrf v1 sou lo0 r5 tping 100 10 4321::201 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v2 sou lo1 r3 tping 100 10 4321::106 vrf v2 sou lo1 r4 tping 100 10 2.2.2.106 vrf v2 sou lo1 r4 tping 100 10 4321::106 vrf v2 sou lo1 r5 tping 100 10 2.2.2.106 vrf v2 sou lo1 r5 tping 100 10 4321::106 vrf v2 sou lo1 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout417.tst000066400000000000000000000255161510423065500172170ustar00rootroot00000000000000description p4lang: vpn bier vlan egress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn1 exit int sdn1.111 vrf for v2 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 exit int sdn2.222 vrf for v2 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 exit int sdn3.333 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 exit int sdn4.444 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.1 neigh 2.2.2.206 remote-as 1 neigh 2.2.2.206 update lo0 neigh 2.2.2.206 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.1 neigh 4321::206 remote-as 1 neigh 4321::206 update lo0 neigh 4321::206 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit ! addother r2 controller r1 v9 9080 - feature vlan route mroute bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.206 255.255.255.255 ipv6 addr 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int lo1 vrf for v2 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ! r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.206 vrf v1 sou lo0 r1 tping 100 10 4321::206 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v2 sou lo1 r6 tping 100 10 4321::103 vrf v2 sou lo1 r6 tping 100 10 2.2.2.104 vrf v2 sou lo1 r6 tping 100 10 4321::104 vrf v2 sou lo1 r6 tping 100 10 2.2.2.105 vrf v2 sou lo1 r6 tping 100 10 4321::105 vrf v2 sou lo1 r6 tping 100 10 2.2.2.106 vrf v2 sou lo1 r6 tping 100 10 4321::106 vrf v2 sou lo1 r6 tping 300 5 232.2.2.2 vrf v2 sou lo1 multi r6 tping 300 5 ff06::1 vrf v2 sou lo1 multi r1 dping sdn . r6 232.2.2.2 vrf v2 sou lo1 r1 dping sdn . r6 ff06::1 vrf v2 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout418.tst000066400000000000000000000252011510423065500172070ustar00rootroot00000000000000description p4lang: vpn bier vlan ingress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int lo1 vrf for v2 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn2 exit int sdn2.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn3 exit int sdn3.333 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn4 exit int sdn4.444 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 pim ena ipv6 pim ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 mroute v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 mroute v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.203 temp a neigh 2.2.2.204 temp a neigh 2.2.2.205 temp a afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::203 temp a neigh 4321::204 temp a neigh 4321::205 temp a afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit ! addother r2 controller r1 v9 9080 - feature vlan route bier mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit int lo1 vrf for v2 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.204 255.255.255.255 ipv6 addr 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int lo1 vrf for v2 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.4 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.4 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.205 255.255.255.255 ipv6 addr 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int lo1 vrf for v2 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.5 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.5 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena ipv4 pim ena ipv6 pim ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.201 vrf v1 sou lo0 r1 tping 100 10 4321::201 vrf v1 sou lo0 r1 tping 100 10 2.2.2.203 vrf v1 sou lo0 r1 tping 100 10 4321::203 vrf v1 sou lo0 r1 tping 100 10 2.2.2.204 vrf v1 sou lo0 r1 tping 100 10 4321::204 vrf v1 sou lo0 r1 tping 100 10 2.2.2.205 vrf v1 sou lo0 r1 tping 100 10 4321::205 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.201 vrf v1 sou lo0 r3 tping 100 10 4321::201 vrf v1 sou lo0 r4 tping 100 10 2.2.2.201 vrf v1 sou lo0 r4 tping 100 10 4321::201 vrf v1 sou lo0 r5 tping 100 10 2.2.2.201 vrf v1 sou lo0 r5 tping 100 10 4321::201 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v2 sou lo1 r3 tping 100 10 4321::106 vrf v2 sou lo1 r4 tping 100 10 2.2.2.106 vrf v2 sou lo1 r4 tping 100 10 4321::106 vrf v2 sou lo1 r5 tping 100 10 2.2.2.106 vrf v2 sou lo1 r5 tping 100 10 4321::106 vrf v2 sou lo1 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout419.tst000066400000000000000000000257401510423065500172200ustar00rootroot00000000000000description p4lang: othervpn mldp vlan egress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 vrf for v2 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 exit int sdn2.222 vrf for v2 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 exit int sdn3.333 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 exit int sdn4.444 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.4.2 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.1 neigh 2.2.2.206 remote-as 1 neigh 2.2.2.206 update lo0 neigh 2.2.2.206 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.1 neigh 4321::206 remote-as 1 neigh 4321::206 update lo0 neigh 4321::206 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit ! addother r2 controller r1 v9 9080 - feature vlan route mroute duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.206 255.255.255.255 ipv6 addr 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.206 vrf v1 sou lo0 r1 tping 100 10 4321::206 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v2 sou lo1 r6 tping 100 10 4321::103 vrf v2 sou lo1 r6 tping 100 10 2.2.2.104 vrf v2 sou lo1 r6 tping 100 10 4321::104 vrf v2 sou lo1 r6 tping 100 10 2.2.2.105 vrf v2 sou lo1 r6 tping 100 10 4321::105 vrf v2 sou lo1 r6 tping 100 10 2.2.2.106 vrf v2 sou lo1 r6 tping 100 10 4321::106 vrf v2 sou lo1 r6 tping 300 5 232.2.2.2 vrf v2 sou lo1 multi r6 tping 300 5 ff06::1 vrf v2 sou lo1 multi r1 dping sdn . r6 232.2.2.2 vrf v2 sou lo1 r1 dping sdn . r6 ff06::1 vrf v2 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout420.tst000066400000000000000000000231541510423065500172050ustar00rootroot00000000000000description p4lang: othervpn mldp vlan ingress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit int sdn2 exit int sdn2.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit int sdn3 exit int sdn3.333 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit int sdn4 exit int sdn4.444 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 pim ena ipv6 pim ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.203 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.3.2 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 mroute v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 mroute v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.203 temp a neigh 2.2.2.204 temp a neigh 2.2.2.205 temp a afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::203 temp a neigh 4321::204 temp a neigh 4321::205 temp a afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit ! addother r2 controller r1 v9 9080 - feature vlan route duplab mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.1.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.204 255.255.255.255 ipv6 addr 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.4 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.4 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.2.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.205 255.255.255.255 ipv6 addr 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.5 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.5 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.3.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena ipv4 pim ena ipv6 pim ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.201 vrf v1 sou lo0 r1 tping 100 10 4321::201 vrf v1 sou lo0 r1 tping 100 10 2.2.2.203 vrf v1 sou lo0 r1 tping 100 10 4321::203 vrf v1 sou lo0 r1 tping 100 10 2.2.2.204 vrf v1 sou lo0 r1 tping 100 10 4321::204 vrf v1 sou lo0 r1 tping 100 10 2.2.2.205 vrf v1 sou lo0 r1 tping 100 10 4321::205 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.201 vrf v1 sou lo0 r3 tping 100 10 4321::201 vrf v1 sou lo0 r4 tping 100 10 2.2.2.201 vrf v1 sou lo0 r4 tping 100 10 4321::201 vrf v1 sou lo0 r5 tping 100 10 2.2.2.201 vrf v1 sou lo0 r5 tping 100 10 4321::201 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v2 sou lo1 r3 tping 100 10 4321::106 vrf v2 sou lo1 r4 tping 100 10 2.2.2.106 vrf v2 sou lo1 r4 tping 100 10 4321::106 vrf v2 sou lo1 r5 tping 100 10 2.2.2.106 vrf v2 sou lo1 r5 tping 100 10 4321::106 vrf v2 sou lo1 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout421.tst000066400000000000000000000255451510423065500172140ustar00rootroot00000000000000description p4lang: othervpn bier vlan egress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn1 exit int sdn1.111 vrf for v2 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 exit int sdn2.222 vrf for v2 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 exit int sdn3.333 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 exit int sdn4.444 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.1 neigh 2.2.2.206 remote-as 1 neigh 2.2.2.206 update lo0 neigh 2.2.2.206 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.1 neigh 4321::206 remote-as 1 neigh 4321::206 update lo0 neigh 4321::206 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit ! addother r2 controller r1 v9 9080 - feature vlan route mroute bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.206 255.255.255.255 ipv6 addr 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int lo1 vrf for v2 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit ! r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.206 vrf v1 sou lo0 r1 tping 100 10 4321::206 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v2 sou lo1 r6 tping 100 10 4321::103 vrf v2 sou lo1 r6 tping 100 10 2.2.2.104 vrf v2 sou lo1 r6 tping 100 10 4321::104 vrf v2 sou lo1 r6 tping 100 10 2.2.2.105 vrf v2 sou lo1 r6 tping 100 10 4321::105 vrf v2 sou lo1 r6 tping 100 10 2.2.2.106 vrf v2 sou lo1 r6 tping 100 10 4321::106 vrf v2 sou lo1 r6 tping 300 5 232.2.2.2 vrf v2 sou lo1 multi r6 tping 300 5 ff06::1 vrf v2 sou lo1 multi r1 dping sdn . r6 232.2.2.2 vrf v2 sou lo1 r1 dping sdn . r6 ff06::1 vrf v2 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout422.tst000066400000000000000000000252501510423065500172060ustar00rootroot00000000000000description p4lang: othervpn bier vlan ingress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int lo1 vrf for v2 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn2 exit int sdn2.222 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn3 exit int sdn3.333 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn4 exit int sdn4.444 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 pim ena ipv6 pim ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 mroute v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 mroute v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.203 temp a neigh 2.2.2.204 temp a neigh 2.2.2.205 temp a afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::203 temp a neigh 4321::204 temp a neigh 4321::205 temp a afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit ! addother r2 controller r1 v9 9080 - feature vlan route bier mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit int lo1 vrf for v2 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.204 255.255.255.255 ipv6 addr 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int lo1 vrf for v2 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.4 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.4 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.205 255.255.255.255 ipv6 addr 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int lo1 vrf for v2 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.5 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.5 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena ipv4 pim ena ipv6 pim ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.201 vrf v1 sou lo0 r1 tping 100 10 4321::201 vrf v1 sou lo0 r1 tping 100 10 2.2.2.203 vrf v1 sou lo0 r1 tping 100 10 4321::203 vrf v1 sou lo0 r1 tping 100 10 2.2.2.204 vrf v1 sou lo0 r1 tping 100 10 4321::204 vrf v1 sou lo0 r1 tping 100 10 2.2.2.205 vrf v1 sou lo0 r1 tping 100 10 4321::205 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.201 vrf v1 sou lo0 r3 tping 100 10 4321::201 vrf v1 sou lo0 r4 tping 100 10 2.2.2.201 vrf v1 sou lo0 r4 tping 100 10 4321::201 vrf v1 sou lo0 r5 tping 100 10 2.2.2.201 vrf v1 sou lo0 r5 tping 100 10 4321::201 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v2 sou lo1 r3 tping 100 10 4321::106 vrf v2 sou lo1 r4 tping 100 10 2.2.2.106 vrf v2 sou lo1 r4 tping 100 10 4321::106 vrf v2 sou lo1 r5 tping 100 10 2.2.2.106 vrf v2 sou lo1 r5 tping 100 10 4321::106 vrf v2 sou lo1 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout423.tst000066400000000000000000000262011510423065500172040ustar00rootroot00000000000000description p4lang: vpn mldp qinq egress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v2 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 exit int sdn2.222 exit int sdn2.222.333 vrf for v2 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 exit int sdn3.333 exit int sdn3.333.444 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 exit int sdn4.444 exit int sdn4.444.555 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.4.2 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.1 neigh 2.2.2.206 remote-as 1 neigh 2.2.2.206 update lo0 neigh 2.2.2.206 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.1 neigh 4321::206 remote-as 1 neigh 4321::206 update lo0 neigh 4321::206 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit ! addother r2 controller r1 v9 9080 - feature vlan route mroute duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 exit int bvi1.111.222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 exit int eth1.222.333 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 exit int eth1.333.444 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.206 255.255.255.255 ipv6 addr 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 exit int eth1.444.555 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.206 vrf v1 sou lo0 r1 tping 100 10 4321::206 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v2 sou lo1 r6 tping 100 10 4321::103 vrf v2 sou lo1 r6 tping 100 10 2.2.2.104 vrf v2 sou lo1 r6 tping 100 10 4321::104 vrf v2 sou lo1 r6 tping 100 10 2.2.2.105 vrf v2 sou lo1 r6 tping 100 10 4321::105 vrf v2 sou lo1 r6 tping 100 10 2.2.2.106 vrf v2 sou lo1 r6 tping 100 10 4321::106 vrf v2 sou lo1 r6 tping 300 5 232.2.2.2 vrf v2 sou lo1 multi r6 tping 300 5 ff06::1 vrf v2 sou lo1 multi r1 dping sdn . r6 232.2.2.2 vrf v2 sou lo1 r1 dping sdn . r6 ff06::1 vrf v2 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout424.tst000066400000000000000000000233751510423065500172160ustar00rootroot00000000000000description p4lang: vpn mldp qinq ingress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit int sdn2 exit int sdn2.222 exit int sdn2.222.333 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit int sdn3 exit int sdn3.333 exit int sdn3.333.444 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit int sdn4 exit int sdn4.444 exit int sdn4.444.555 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 pim ena ipv6 pim ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.203 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.3.2 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 mroute v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 mroute v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.203 temp a neigh 2.2.2.204 temp a neigh 2.2.2.205 temp a afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::203 temp a neigh 4321::204 temp a neigh 4321::205 temp a afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit ! addother r2 controller r1 v9 9080 - feature vlan route duplab mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 exit int bvi1.111.222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.1.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.204 255.255.255.255 ipv6 addr 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 exit int eth1.222.333 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.4 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.4 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.2.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.205 255.255.255.255 ipv6 addr 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 exit int eth1.333.444 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.5 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.5 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.3.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 exit int eth1.444.555 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena ipv4 pim ena ipv6 pim ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.201 vrf v1 sou lo0 r1 tping 100 10 4321::201 vrf v1 sou lo0 r1 tping 100 10 2.2.2.203 vrf v1 sou lo0 r1 tping 100 10 4321::203 vrf v1 sou lo0 r1 tping 100 10 2.2.2.204 vrf v1 sou lo0 r1 tping 100 10 4321::204 vrf v1 sou lo0 r1 tping 100 10 2.2.2.205 vrf v1 sou lo0 r1 tping 100 10 4321::205 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.201 vrf v1 sou lo0 r3 tping 100 10 4321::201 vrf v1 sou lo0 r4 tping 100 10 2.2.2.201 vrf v1 sou lo0 r4 tping 100 10 4321::201 vrf v1 sou lo0 r5 tping 100 10 2.2.2.201 vrf v1 sou lo0 r5 tping 100 10 4321::201 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v2 sou lo1 r3 tping 100 10 4321::106 vrf v2 sou lo1 r4 tping 100 10 2.2.2.106 vrf v2 sou lo1 r4 tping 100 10 4321::106 vrf v2 sou lo1 r5 tping 100 10 2.2.2.106 vrf v2 sou lo1 r5 tping 100 10 4321::106 vrf v2 sou lo1 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout425.tst000066400000000000000000000260061510423065500172110ustar00rootroot00000000000000description p4lang: vpn bier qinq egress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v2 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 exit int sdn2.222 exit int sdn2.222.333 vrf for v2 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 exit int sdn3.333 exit int sdn3.333.444 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 exit int sdn4.444 exit int sdn4.444.555 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.1 neigh 2.2.2.206 remote-as 1 neigh 2.2.2.206 update lo0 neigh 2.2.2.206 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.1 neigh 4321::206 remote-as 1 neigh 4321::206 update lo0 neigh 4321::206 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit ! addother r2 controller r1 v9 9080 - feature vlan route mroute bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 exit int bvi1.111.222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 exit int eth1.222.333 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 exit int eth1.333.444 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.206 255.255.255.255 ipv6 addr 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int lo1 vrf for v2 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 exit int eth1.444.555 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ! r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.206 vrf v1 sou lo0 r1 tping 100 10 4321::206 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v2 sou lo1 r6 tping 100 10 4321::103 vrf v2 sou lo1 r6 tping 100 10 2.2.2.104 vrf v2 sou lo1 r6 tping 100 10 4321::104 vrf v2 sou lo1 r6 tping 100 10 2.2.2.105 vrf v2 sou lo1 r6 tping 100 10 4321::105 vrf v2 sou lo1 r6 tping 100 10 2.2.2.106 vrf v2 sou lo1 r6 tping 100 10 4321::106 vrf v2 sou lo1 r6 tping 300 5 232.2.2.2 vrf v2 sou lo1 multi r6 tping 300 5 ff06::1 vrf v2 sou lo1 multi r1 dping sdn . r6 232.2.2.2 vrf v2 sou lo1 r1 dping sdn . r6 ff06::1 vrf v2 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout426.tst000066400000000000000000000254711510423065500172170ustar00rootroot00000000000000description p4lang: vpn bier qinq ingress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int lo1 vrf for v2 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn2 exit int sdn2.222 exit int sdn2.222.333 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn3 exit int sdn3.333 exit int sdn3.333.444 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn4 exit int sdn4.444 exit int sdn4.444.555 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 pim ena ipv6 pim ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 mroute v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 mroute v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.203 temp a neigh 2.2.2.204 temp a neigh 2.2.2.205 temp a afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::203 temp a neigh 4321::204 temp a neigh 4321::205 temp a afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit ! addother r2 controller r1 v9 9080 - feature vlan route bier mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit int lo1 vrf for v2 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 exit int bvi1.111.222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.204 255.255.255.255 ipv6 addr 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int lo1 vrf for v2 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 exit int eth1.222.333 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.4 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.4 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.205 255.255.255.255 ipv6 addr 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int lo1 vrf for v2 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 exit int eth1.333.444 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.5 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.5 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 exit int eth1.444.555 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena ipv4 pim ena ipv6 pim ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.201 vrf v1 sou lo0 r1 tping 100 10 4321::201 vrf v1 sou lo0 r1 tping 100 10 2.2.2.203 vrf v1 sou lo0 r1 tping 100 10 4321::203 vrf v1 sou lo0 r1 tping 100 10 2.2.2.204 vrf v1 sou lo0 r1 tping 100 10 4321::204 vrf v1 sou lo0 r1 tping 100 10 2.2.2.205 vrf v1 sou lo0 r1 tping 100 10 4321::205 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.201 vrf v1 sou lo0 r3 tping 100 10 4321::201 vrf v1 sou lo0 r4 tping 100 10 2.2.2.201 vrf v1 sou lo0 r4 tping 100 10 4321::201 vrf v1 sou lo0 r5 tping 100 10 2.2.2.201 vrf v1 sou lo0 r5 tping 100 10 4321::201 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v2 sou lo1 r3 tping 100 10 4321::106 vrf v2 sou lo1 r4 tping 100 10 2.2.2.106 vrf v2 sou lo1 r4 tping 100 10 4321::106 vrf v2 sou lo1 r5 tping 100 10 2.2.2.106 vrf v2 sou lo1 r5 tping 100 10 4321::106 vrf v2 sou lo1 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout427.tst000066400000000000000000000262301510423065500172120ustar00rootroot00000000000000description p4lang: othervpn mldp qinq egress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v2 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 exit int sdn2.222 exit int sdn2.222.333 vrf for v2 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 exit int sdn3.333 exit int sdn3.333.444 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 exit int sdn4.444 exit int sdn4.444.555 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.4.2 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.1 neigh 2.2.2.206 remote-as 1 neigh 2.2.2.206 update lo0 neigh 2.2.2.206 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.1 neigh 4321::206 remote-as 1 neigh 4321::206 update lo0 neigh 4321::206 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit ! addother r2 controller r1 v9 9080 - feature vlan route mroute duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 exit int bvi1.111.222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 exit int eth1.222.333 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 exit int eth1.333.444 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.206 255.255.255.255 ipv6 addr 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 exit int eth1.444.555 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.206 vrf v1 sou lo0 r1 tping 100 10 4321::206 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v2 sou lo1 r6 tping 100 10 4321::103 vrf v2 sou lo1 r6 tping 100 10 2.2.2.104 vrf v2 sou lo1 r6 tping 100 10 4321::104 vrf v2 sou lo1 r6 tping 100 10 2.2.2.105 vrf v2 sou lo1 r6 tping 100 10 4321::105 vrf v2 sou lo1 r6 tping 100 10 2.2.2.106 vrf v2 sou lo1 r6 tping 100 10 4321::106 vrf v2 sou lo1 r6 tping 300 5 232.2.2.2 vrf v2 sou lo1 multi r6 tping 300 5 ff06::1 vrf v2 sou lo1 multi r1 dping sdn . r6 232.2.2.2 vrf v2 sou lo1 r1 dping sdn . r6 ff06::1 vrf v2 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout428.tst000066400000000000000000000234441510423065500172170ustar00rootroot00000000000000description p4lang: othervpn mldp qinq ingress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit int sdn2 exit int sdn2.222 exit int sdn2.222.333 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit int sdn3 exit int sdn3.333 exit int sdn3.333.444 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 mpls ldp6 exit int sdn4 exit int sdn4.444 exit int sdn4.444.555 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 pim ena ipv6 pim ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.203 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.3.2 ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 mroute v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 mroute v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.203 temp a neigh 2.2.2.204 temp a neigh 2.2.2.205 temp a afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::203 temp a neigh 4321::204 temp a neigh 4321::205 temp a afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit ! addother r2 controller r1 v9 9080 - feature vlan route duplab mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 exit int bvi1.111.222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.1.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.204 255.255.255.255 ipv6 addr 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 exit int eth1.222.333 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.4 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.4 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.2.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.205 255.255.255.255 ipv6 addr 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 exit int eth1.333.444 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.5 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.5 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit ipv4 route v1 2.2.2.201 255.255.255.255 1.1.3.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 exit int eth1.444.555 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena ipv4 pim ena ipv6 pim ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.201 vrf v1 sou lo0 r1 tping 100 10 4321::201 vrf v1 sou lo0 r1 tping 100 10 2.2.2.203 vrf v1 sou lo0 r1 tping 100 10 4321::203 vrf v1 sou lo0 r1 tping 100 10 2.2.2.204 vrf v1 sou lo0 r1 tping 100 10 4321::204 vrf v1 sou lo0 r1 tping 100 10 2.2.2.205 vrf v1 sou lo0 r1 tping 100 10 4321::205 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.201 vrf v1 sou lo0 r3 tping 100 10 4321::201 vrf v1 sou lo0 r4 tping 100 10 2.2.2.201 vrf v1 sou lo0 r4 tping 100 10 4321::201 vrf v1 sou lo0 r5 tping 100 10 2.2.2.201 vrf v1 sou lo0 r5 tping 100 10 4321::201 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v2 sou lo1 r3 tping 100 10 4321::106 vrf v2 sou lo1 r4 tping 100 10 2.2.2.106 vrf v2 sou lo1 r4 tping 100 10 4321::106 vrf v2 sou lo1 r5 tping 100 10 2.2.2.106 vrf v2 sou lo1 r5 tping 100 10 4321::106 vrf v2 sou lo1 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout429.tst000066400000000000000000000260351510423065500172170ustar00rootroot00000000000000description p4lang: othervpn bier qinq egress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v2 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 exit int sdn2.222 exit int sdn2.222.333 vrf for v2 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 exit int sdn3.333 exit int sdn3.333.444 vrf for v2 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 exit int sdn4.444 exit int sdn4.444.555 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v2 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v2 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v2 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v2 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v2 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.1 neigh 2.2.2.206 remote-as 1 neigh 2.2.2.206 update lo0 neigh 2.2.2.206 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.1 neigh 4321::206 remote-as 1 neigh 4321::206 update lo0 neigh 4321::206 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit ! addother r2 controller r1 v9 9080 - feature vlan route mroute bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 exit int bvi1.111.222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 exit int eth1.222.333 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 exit int eth1.333.444 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.206 255.255.255.255 ipv6 addr 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int lo1 vrf for v2 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 exit int eth1.444.555 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 neigh 2.2.2.101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 neigh 4321::101 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit ! r1 tping 100 10 1.1.1.2 vrf v2 r1 tping 100 10 1234:1::2 vrf v2 r1 tping 100 10 1.1.2.2 vrf v2 r1 tping 100 10 1234:2::2 vrf v2 r1 tping 100 10 1.1.3.2 vrf v2 r1 tping 100 10 1234:3::2 vrf v2 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v2 sou lo1 r1 tping 100 10 4321::103 vrf v2 sou lo1 r1 tping 100 10 2.2.2.104 vrf v2 sou lo1 r1 tping 100 10 4321::104 vrf v2 sou lo1 r1 tping 100 10 2.2.2.105 vrf v2 sou lo1 r1 tping 100 10 4321::105 vrf v2 sou lo1 r1 tping 100 10 2.2.2.206 vrf v1 sou lo0 r1 tping 100 10 4321::206 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v2 sou lo1 r6 tping 100 10 4321::103 vrf v2 sou lo1 r6 tping 100 10 2.2.2.104 vrf v2 sou lo1 r6 tping 100 10 4321::104 vrf v2 sou lo1 r6 tping 100 10 2.2.2.105 vrf v2 sou lo1 r6 tping 100 10 4321::105 vrf v2 sou lo1 r6 tping 100 10 2.2.2.106 vrf v2 sou lo1 r6 tping 100 10 4321::106 vrf v2 sou lo1 r6 tping 300 5 232.2.2.2 vrf v2 sou lo1 multi r6 tping 300 5 ff06::1 vrf v2 sou lo1 multi r1 dping sdn . r6 232.2.2.2 vrf v2 sou lo1 r1 dping sdn . r6 ff06::1 vrf v2 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout430.tst000066400000000000000000000255401510423065500172070ustar00rootroot00000000000000description p4lang: othervpn bier qinq ingress edge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int lo1 vrf for v2 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 exit int sdn1.111.222 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn2 exit int sdn2.222 exit int sdn2.222.333 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn3 exit int sdn3.333 exit int sdn3.333.444 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int sdn4 exit int sdn4.444 exit int sdn4.444.555 vrf for v2 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena ipv4 pim ena ipv6 pim ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 mroute v2 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 mroute v2 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 2.2.2.203 temp a neigh 2.2.2.204 temp a neigh 2.2.2.205 temp a afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a send-comm both temp a route-reflect neigh 4321::203 temp a neigh 4321::204 temp a neigh 4321::205 temp a afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit ! addother r2 controller r1 v9 9080 - feature vlan route bier mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit int lo1 vrf for v2 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.111 exit int bvi1.111.222 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.204 255.255.255.255 ipv6 addr 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int lo1 vrf for v2 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 exit int eth1.222.333 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.4 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.4 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.205 255.255.255.255 ipv6 addr 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int lo1 vrf for v2 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 exit int eth1.333.444 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit router bgp4 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 4.4.4.5 neigh 2.2.2.201 remote-as 1 neigh 2.2.2.201 update lo0 neigh 2.2.2.201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address ovpnuni ovpnmlt local-as 1 router-id 6.6.6.5 neigh 4321::201 remote-as 1 neigh 4321::201 update lo0 neigh 4321::201 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn exit ipv4 multi v2 join 232.2.2.2 2.2.2.106 ipv6 multi v2 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 exit int eth1.444.555 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena ipv4 pim ena ipv6 pim ena exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v2 r1 tping 100 10 1234:4::2 vrf v2 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.201 vrf v1 sou lo0 r1 tping 100 10 4321::201 vrf v1 sou lo0 r1 tping 100 10 2.2.2.203 vrf v1 sou lo0 r1 tping 100 10 4321::203 vrf v1 sou lo0 r1 tping 100 10 2.2.2.204 vrf v1 sou lo0 r1 tping 100 10 4321::204 vrf v1 sou lo0 r1 tping 100 10 2.2.2.205 vrf v1 sou lo0 r1 tping 100 10 4321::205 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v2 sou lo1 r1 tping 100 10 4321::106 vrf v2 sou lo1 r3 tping 100 10 2.2.2.201 vrf v1 sou lo0 r3 tping 100 10 4321::201 vrf v1 sou lo0 r4 tping 100 10 2.2.2.201 vrf v1 sou lo0 r4 tping 100 10 4321::201 vrf v1 sou lo0 r5 tping 100 10 2.2.2.201 vrf v1 sou lo0 r5 tping 100 10 4321::201 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v2 sou lo1 r3 tping 100 10 4321::106 vrf v2 sou lo1 r4 tping 100 10 2.2.2.106 vrf v2 sou lo1 r4 tping 100 10 4321::106 vrf v2 sou lo1 r5 tping 100 10 2.2.2.106 vrf v2 sou lo1 r5 tping 100 10 4321::106 vrf v2 sou lo1 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout431.tst000066400000000000000000000251511510423065500172060ustar00rootroot00000000000000description p4lang: multicast bridge routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 bridge-gr 1 bridge-static 0000.0000.4444 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi unic ipv6 multi unic ipv4 host-static 1.1.2.2 0000.0000.4444 ipv6 host-static 1234:2::2 0000.0000.4444 ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.4.2 ipv6 mroute v1 :: :: 1234:4::2 server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout432.tst000066400000000000000000000253171510423065500172130ustar00rootroot00000000000000description p4lang: multicast vlan bridge routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 exit int sdn2.222 bridge-gr 1 bridge-static 0000.0000.4444 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multi unic ipv6 multi unic ipv4 host-static 1.1.2.2 0000.0000.4444 ipv6 host-static 1234:2::2 0000.0000.4444 ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn3 exit int sdn3.333 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 exit int sdn4.444 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.4.2 ipv6 mroute v1 :: :: 1234:4::2 server p4lang p4 interconnect eth2 export-vrf v1 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature vlan route mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1.111 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.333 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.444 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout433.tst000066400000000000000000000241251510423065500172100ustar00rootroot00000000000000description p4lang: ipip mpls over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipip mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout434.tst000066400000000000000000000241331510423065500172100ustar00rootroot00000000000000description p4lang: ipip mpls over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit int tun1 tun vrf v2 tun source sdn1 tun destination 9999::2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipip mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int tun1 tun vrf v2 tun source bvi1 tun destination 9999::1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout435.tst000066400000000000000000000245601510423065500172150ustar00rootroot00000000000000description p4lang: ipip mpls over ipv4 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8.8.8.2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipip mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source lo1 tun destination 8.8.8.1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout436.tst000066400000000000000000000247401510423065500172160ustar00rootroot00000000000000description p4lang: ipip mpls over ipv6 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 ena exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena exit int tun1 tun vrf v2 tun source lo1 tun destination 8888::2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipip mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: exit int tun1 tun vrf v2 tun source lo1 tun destination 8888::1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 8888::2 vrf v2 r3 tping 100 10 8888::1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout437.tst000066400000000000000000000241711510423065500172150ustar00rootroot00000000000000description p4lang: ipip mpls over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1.222 tun destination 9.9.9.2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipip vlan mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1.222 tun destination 9.9.9.1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout438.tst000066400000000000000000000170511510423065500172150ustar00rootroot00000000000000description p4lang: ipip mpls over bundle addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source bun1 tun destination 9.9.9.2 tun mode ipip vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature ipip mpls bundle int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bun1 tun destination 9.9.9.1 tun mode ipip vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout439.tst000066400000000000000000000171031510423065500172140ustar00rootroot00000000000000description p4lang: ipip mpls over bundle vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source bun1.222 tun destination 9.9.9.2 tun mode ipip vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature ipip mpls bundle vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bun1.222 tun destination 9.9.9.1 tun mode ipip vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout440.tst000066400000000000000000000252031510423065500172040ustar00rootroot00000000000000description p4lang: ipip mpls over hairpin addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int hair11 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int hair12 vrf for v3 ipv4 addr 9.9.9.2 255.255.255.0 exit int sdn1 vrf for v3 ipv4 addr 9.9.8.1 255.255.255.0 exit ipv4 route v2 9.9.8.0 255.255.255.0 9.9.9.2 int tun1 tun vrf v2 tun source hair11 tun destination 9.9.8.2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipip mpls hairpin int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.8.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v2 9.9.9.0 255.255.255.0 9.9.8.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v3 r1 tping 100 10 9.9.9.1 vrf v3 r1 tping 100 10 9.9.9.2 vrf v2 r1 tping 100 10 9.9.8.2 vrf v3 r1 tping 100 10 9.9.8.1 vrf v3 r3 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r3 tping 100 10 9.9.8.2 vrf v2 r3 tping 100 10 9.9.8.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout441.tst000066400000000000000000000252311510423065500172060ustar00rootroot00000000000000description p4lang: ipip mpls over hairpin vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int hair11.111 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int hair12.111 vrf for v3 ipv4 addr 9.9.9.2 255.255.255.0 exit int sdn1 vrf for v3 ipv4 addr 9.9.8.1 255.255.255.0 exit ipv4 route v2 9.9.8.0 255.255.255.0 9.9.9.2 int tun1 tun vrf v2 tun source hair11.111 tun destination 9.9.8.2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipip mpls vlan hairpin int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.8.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v2 9.9.9.0 255.255.255.0 9.9.8.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v3 r1 tping 100 10 9.9.9.1 vrf v3 r1 tping 100 10 9.9.9.2 vrf v2 r1 tping 100 10 9.9.8.2 vrf v3 r1 tping 100 10 9.9.8.1 vrf v3 r3 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r3 tping 100 10 9.9.8.2 vrf v2 r3 tping 100 10 9.9.8.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout442.tst000066400000000000000000000242721510423065500172130ustar00rootroot00000000000000description p4lang: ipip mpls over bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipip mpls route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout443.tst000066400000000000000000000243331510423065500172120ustar00rootroot00000000000000description p4lang: ipip mpls over vlan bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 exit int sdn1.222 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipip mpls vlan route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1.222 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout444.tst000066400000000000000000000131431510423065500172100ustar00rootroot00000000000000description p4lang: bridging over ipip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v8 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn3 tun destination 9.9.9.2 tun mode ipip bridge-gr 1 vrf for v8 ipv4 addr 3.3.3.3 255.255.255.255 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v8 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge ipip ipiptap int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source eth1 tun destination 9.9.9.1 tun mode ipip bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout445.tst000066400000000000000000000132141510423065500172100ustar00rootroot00000000000000description p4lang: bridging over ipip vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v8 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 exit int sdn3.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn3.222 tun destination 9.9.9.2 tun mode ipip bridge-gr 1 vrf for v8 ipv4 addr 3.3.3.3 255.255.255.255 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v8 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge ipip ipiptap vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source eth1.222 tun destination 9.9.9.1 tun mode ipip bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout446.tst000066400000000000000000000256561510423065500172260ustar00rootroot00000000000000description p4lang: mldp core over ipip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route ipip duplab int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout447.tst000066400000000000000000000267251510423065500172250ustar00rootroot00000000000000description p4lang: bier core over ipip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ! addother r2 controller r1 v9 9080 - feature route ipip bier int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.5555 $7a$ $7b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth2 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.7 bier 256 10 7 red conn exit router lsrp6 1 vrf v1 router 6.6.6.7 bier 256 10 7 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.5.1 ipv6 mroute v1 :: :: 1234:5::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.5.2 vrf v1 r3 tping 100 10 1234:5::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.5.2 vrf v1 r4 tping 100 10 1234:5::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.5.2 vrf v1 r5 tping 100 10 1234:5::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.5.2 vrf v1 r6 tping 100 10 1234:5::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.5.2 vrf v1 r7 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.107 vrf v1 sou lo0 r1 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 r3 tping 100 10 4321::107 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.107 vrf v1 sou lo0 r4 tping 100 10 4321::107 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.107 vrf v1 sou lo0 r5 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.107 vrf v1 sou lo0 r6 tping 100 10 4321::107 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.107 vrf v1 sou lo0 r7 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 400 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 400 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout448.tst000066400000000000000000000234321510423065500172160ustar00rootroot00000000000000description p4lang: ipip mpls pop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipip mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout449.tst000066400000000000000000000234331510423065500172200ustar00rootroot00000000000000description p4lang: ipip mpls push addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipip mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout450.tst000066400000000000000000000267041510423065500172140ustar00rootroot00000000000000description p4lang: l2vpn over ipip mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipip mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.105 1234 vrf for v2 ipv4 addr 4.4.4.1 255.255.255.0 ipv6 addr 4444::1 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::105 1234 vrf for v2 ipv4 addr 4.4.6.1 255.255.255.0 ipv6 addr 4446::1 ffff:: exit int pweth1.123 vrf for v2 ipv4 addr 4.4.5.1 255.255.255.0 ipv6 addr 4445::1 ffff:: exit int pweth2.123 vrf for v2 ipv4 addr 4.4.7.1 255.255.255.0 ipv6 addr 4447::1 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.103 1234 vrf for v2 ipv4 addr 4.4.4.2 255.255.255.0 ipv6 addr 4444::2 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::103 1234 vrf for v2 ipv4 addr 4.4.6.2 255.255.255.0 ipv6 addr 4446::2 ffff:: exit int pweth1.123 vrf for v2 ipv4 addr 4.4.5.2 255.255.255.0 ipv6 addr 4445::2 ffff:: exit int pweth2.123 vrf for v2 ipv4 addr 4.4.7.2 255.255.255.0 ipv6 addr 4447::2 ffff:: exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 4.4.4.2 vrf v2 r3 tping 100 10 4.4.6.2 vrf v2 r3 tping 100 10 4444::2 vrf v2 r3 tping 100 10 4446::2 vrf v2 r5 tping 100 10 4.4.4.1 vrf v2 r5 tping 100 10 4.4.6.1 vrf v2 r5 tping 100 10 4444::1 vrf v2 r5 tping 100 10 4446::1 vrf v2 r3 tping 100 10 4.4.5.2 vrf v2 r3 tping 100 10 4.4.7.2 vrf v2 r3 tping 100 10 4445::2 vrf v2 r3 tping 100 10 4447::2 vrf v2 r5 tping 100 10 4.4.5.1 vrf v2 r5 tping 100 10 4.4.7.1 vrf v2 r5 tping 100 10 4445::1 vrf v2 r5 tping 100 10 4447::1 vrf v2 r1 dping sdn . r3 4.4.4.2 vrf v2 r1 dping sdn . r3 4446::2 vrf v2 freeRtr-25.11.9/cfg/p4lang-rout451.tst000066400000000000000000000306711510423065500172130ustar00rootroot00000000000000description p4lang: l3vpn over ipip mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn1 tun destination 9.9.9.2 tun mode ipip vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature ipip mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source bvi1 tun destination 9.9.9.1 tun mode ipip vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.105 remote-as 1 neigh 2.2.2.105 update lo0 neigh 2.2.2.105 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::105 remote-as 1 neigh 4321::105 update lo0 neigh 4321::105 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.103 remote-as 1 neigh 2.2.2.103 update lo0 neigh 2.2.2.103 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::103 remote-as 1 neigh 4321::103 update lo0 neigh 4321::103 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 60 9.9.2.2 vrf v2 r5 tping 100 60 9.9.2.1 vrf v2 r3 tping 100 60 9992::2 vrf v2 r5 tping 100 60 9992::1 vrf v2 r3 tping 100 60 9.9.3.2 vrf v3 r5 tping 100 60 9.9.3.1 vrf v3 r3 tping 100 60 9993::2 vrf v3 r5 tping 100 60 9993::1 vrf v3 r3 tping 100 60 9.9.4.2 vrf v4 r5 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::2 vrf v4 r5 tping 100 60 9994::1 vrf v4 r1 dping sdn . r3 9.9.3.2 vrf v3 r1 dping sdn . r3 9993::2 vrf v3 freeRtr-25.11.9/cfg/p4lang-rout452.tst000066400000000000000000000274721510423065500172210ustar00rootroot00000000000000description p4lang: sdwan over ipv4 with ipip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit aaa userlist usr username u password p username h password p exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 ipv4 pool p4 2.2.2.222 0.0.0.1 3 ipv6 pool p6 2222::222 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa hub h pool4 p4 pool6 p6 vrf v1 exit proxy-profile p1 vrf v1 source lo1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 2222::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user h pass p pref ipv4 calling 2152 para ipip proto sdwan exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dyn vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.3 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.6 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::6 ! addother r2 controller r1 v9 9080 - feature route ipip int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para ipip proto sdwan exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para ipip proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 2222::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para ipip proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 2222::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 2.2.2.100 proxy p1 user u pass p pref ipv4 para ipip proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout453.tst000066400000000000000000000274721510423065500172220ustar00rootroot00000000000000description p4lang: sdwan over ipv6 with ipip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.100 255.255.255.255 ipv6 addr 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit aaa userlist usr username u password p username h password p exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 ipv4 pool p4 2.2.2.222 0.0.0.1 3 ipv6 pool p6 2222::222 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa hub h pool4 p4 pool6 p6 vrf v1 exit proxy-profile p1 vrf v1 source lo1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 2222::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user h pass p pref ipv6 calling 2152 para ipip proto sdwan exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port di1 dyn vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.3 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.6 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::3 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::6 ! addother r2 controller r1 v9 9080 - feature route ipip int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para ipip proto sdwan exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.1.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para ipip proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.2.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 2222::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para ipip proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.3.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit proxy-profile p1 vrf v1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 2222::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 4321::100 proxy p1 user u pass p pref ipv6 para ipip proto sdwan exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.100 255.255.255.255 1.1.4.1 ipv6 route v1 4321::100 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.104 255.255.255.255 2.2.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 2.2.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2222::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout454.tst000066400000000000000000000256451510423065500172230ustar00rootroot00000000000000description p4lang: amt multicast routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 exit int tun1 tun vrf v2 tun source sdn2 tun destination 9.9.9.2 tun mode amt vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multicast host-enable ipv4 multicast host-proxy ipv6 multicast host-enable ipv6 multicast host-proxy exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.4.2 ipv6 mroute v1 :: :: 1234:4::2 server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature amt route mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 exit int tun1 tun vrf v2 tun source eth1 tun destination 9.9.9.1 tun mode amt vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 multicast host-enable ipv4 multicast host-proxy ipv6 multicast host-enable ipv6 multicast host-proxy exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r4 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 30 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 30 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout455.tst000066400000000000000000000240101510423065500172050ustar00rootroot00000000000000description p4lang: mgre routing over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn1 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre route mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout456.tst000066400000000000000000000240061510423065500172130ustar00rootroot00000000000000description p4lang: mgre routing over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena ipv6 multi static ff06::2 9999::1 exit int tun1 tun vrf v2 tun source sdn1 tun domain 9999::2 tun destination ff06::2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre route mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: ipv6 multi static ff06::2 9999::2 exit int tun1 tun vrf v2 tun source bvi1 tun destination ff06::2 tun domain 9999::1 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout457.tst000066400000000000000000000246011510423065500172150ustar00rootroot00000000000000description p4lang: mgre routing over ipv4 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 8.8.8.1 exit int tun1 tun vrf v2 tun source lo1 tun domain 8.8.8.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 mroute v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre route mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 8.8.8.2 exit int tun1 tun vrf v2 tun source lo1 tun domain 8.8.8.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 mroute v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout458.tst000066400000000000000000000250311510423065500172140ustar00rootroot00000000000000description p4lang: mgre routing over ipv6 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 ena exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena ipv6 multi static ff06::2 8888::1 exit int tun1 tun vrf v2 tun source lo1 tun domain 8888::2 tun destination ff06::2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv6 mroute v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre route mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: ipv6 multi static ff06::2 8888::2 exit int tun1 tun vrf v2 tun source lo1 tun destination ff06::2 tun domain 8888::1 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv6 mroute v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 8888::2 vrf v2 r3 tping 100 10 8888::1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout459.tst000066400000000000000000000240541510423065500172210ustar00rootroot00000000000000description p4lang: mgre routing over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn1.222 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre vlan route mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1.222 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout460.tst000066400000000000000000000165121510423065500172110ustar00rootroot00000000000000description p4lang: mgre routing over bundle addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source bun1 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature mgre route bundle mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bun1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout461.tst000066400000000000000000000165441510423065500172170ustar00rootroot00000000000000description p4lang: mgre routing over bundle vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source bun1.222 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature mgre route bundle vlan mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bun1.222 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout462.tst000066400000000000000000000252731510423065500172170ustar00rootroot00000000000000description p4lang: mgre routing over hairpin addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int hair11 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int hair12 vrf for v3 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.8.2 exit int sdn1 vrf for v3 ipv4 addr 9.9.8.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit ipv4 route v2 9.9.8.0 255.255.255.0 9.9.9.2 ipv4 mroute v2 9.9.8.0 255.255.255.0 9.9.9.2 int tun1 tun vrf v2 tun source hair11 tun domain 9.9.8.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre route hairpin mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.8.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.8.2 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 9.9.9.0 255.255.255.0 9.9.8.1 ipv4 mroute v2 9.9.9.0 255.255.255.0 9.9.8.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v3 r1 tping 100 10 9.9.9.1 vrf v3 r1 tping 100 10 9.9.8.2 vrf v3 r1 tping 100 10 9.9.8.1 vrf v3 r3 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r3 tping 100 10 9.9.8.2 vrf v2 r3 tping 100 10 9.9.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout463.tst000066400000000000000000000253601510423065500172150ustar00rootroot00000000000000description p4lang: mgre routing over hairpin vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int hair11.111 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int hair12.111 vrf for v3 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.8.2 exit int sdn1 vrf for v3 ipv4 addr 9.9.8.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit ipv4 route v2 9.9.8.0 255.255.255.0 9.9.9.2 ipv4 mroute v2 9.9.8.0 255.255.255.0 9.9.9.2 int tun1 tun vrf v2 tun source hair11.111 tun domain 9.9.8.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre route vlan hairpin mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.8.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.8.2 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 9.9.9.0 255.255.255.0 9.9.8.1 ipv4 mroute v2 9.9.9.0 255.255.255.0 9.9.8.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v3 r1 tping 100 10 9.9.9.1 vrf v3 r1 tping 100 10 9.9.9.2 vrf v2 r1 tping 100 10 9.9.8.2 vrf v3 r1 tping 100 10 9.9.8.1 vrf v3 r3 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r3 tping 100 10 9.9.8.2 vrf v2 r3 tping 100 10 9.9.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout464.tst000066400000000000000000000241471510423065500172200ustar00rootroot00000000000000description p4lang: mgre routing over bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre route mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout465.tst000066400000000000000000000242121510423065500172120ustar00rootroot00000000000000description p4lang: mgre routing over vlan bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 exit int sdn1.222 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre route bridge mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1.222 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout466.tst000066400000000000000000000243221510423065500172150ustar00rootroot00000000000000description p4lang: mgre mpls over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn1 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre mpls mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout467.tst000066400000000000000000000243201510423065500172140ustar00rootroot00000000000000description p4lang: mgre mpls over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena ipv6 multi static ff06::2 9999::1 exit int tun1 tun vrf v2 tun source sdn1 tun domain 9999::2 tun destination ff06::2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre mpls mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: ipv6 multi static ff06::2 9999::2 exit int tun1 tun vrf v2 tun source bvi1 tun destination ff06::2 tun domain 9999::1 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout468.tst000066400000000000000000000251131510423065500172160ustar00rootroot00000000000000description p4lang: mgre mpls over ipv4 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.1 255.255.255.255 exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 8.8.8.1 exit int tun1 tun vrf v2 tun source lo1 tun domain 8.8.8.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 mroute v2 8.8.8.2 255.255.255.255 9.9.9.2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre mpls mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 8.8.8.2 255.255.255.255 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 8.8.8.2 exit int tun1 tun vrf v2 tun source lo1 tun domain 8.8.8.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 mroute v2 8.8.8.1 255.255.255.255 9.9.9.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 8.8.8.2 vrf v2 r3 tping 100 10 8.8.8.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout469.tst000066400000000000000000000253431510423065500172240ustar00rootroot00000000000000description p4lang: mgre mpls over ipv6 loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv6 ena exit int sdn1 vrf for v2 ipv6 addr 9999::1 ffff:ffff:: ipv6 ena ipv6 multi static ff06::2 8888::1 exit int tun1 tun vrf v2 tun source lo1 tun domain 8888::2 tun destination ff06::2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv6 route v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv6 mroute v2 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::2 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre mpls mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv6 addr 8888::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv6 addr 9999::2 ffff:ffff:: ipv6 multi static ff06::2 8888::2 exit int tun1 tun vrf v2 tun source lo1 tun destination ff06::2 tun domain 8888::1 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv6 route v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv6 mroute v2 8888::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 9999::1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9999::2 vrf v2 r3 tping 100 10 9999::1 vrf v2 r1 tping 100 10 8888::2 vrf v2 r3 tping 100 10 8888::1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout470.tst000066400000000000000000000243661510423065500172200ustar00rootroot00000000000000description p4lang: mgre mpls over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn1.222 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre vlan mpls mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1.222 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout471.tst000066400000000000000000000172461510423065500172200ustar00rootroot00000000000000description p4lang: mgre mpls over bundle addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source bun1 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature mgre mpls bundle mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bun1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout472.tst000066400000000000000000000173001510423065500172100ustar00rootroot00000000000000description p4lang: mgre mpls over bundle vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source bun1.222 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature mgre mpls bundle vlan mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bun1.222 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout473.tst000066400000000000000000000253721510423065500172210ustar00rootroot00000000000000description p4lang: mgre mpls over hairpin addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int hair11 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int hair12 vrf for v3 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.8.2 exit int sdn1 vrf for v3 ipv4 addr 9.9.8.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit ipv4 route v2 9.9.8.0 255.255.255.0 9.9.9.2 ipv4 mroute v2 9.9.8.0 255.255.255.0 9.9.9.2 int tun1 tun vrf v2 tun source hair11 tun domain 9.9.8.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre mpls hairpin mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.8.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.8.2 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 9.9.9.0 255.255.255.0 9.9.8.1 ipv4 mroute v2 9.9.9.0 255.255.255.0 9.9.8.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v3 r1 tping 100 10 9.9.9.1 vrf v3 r1 tping 100 10 9.9.9.2 vrf v2 r1 tping 100 10 9.9.8.2 vrf v3 r1 tping 100 10 9.9.8.1 vrf v3 r3 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r3 tping 100 10 9.9.8.2 vrf v2 r3 tping 100 10 9.9.8.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout474.tst000066400000000000000000000254201510423065500172140ustar00rootroot00000000000000description p4lang: mgre mpls over hairpin vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int hair11.111 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int hair12.111 vrf for v3 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.8.2 exit int sdn1 vrf for v3 ipv4 addr 9.9.8.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit ipv4 route v2 9.9.8.0 255.255.255.0 9.9.9.2 ipv4 mroute v2 9.9.8.0 255.255.255.0 9.9.9.2 int tun1 tun vrf v2 tun source hair11.111 tun domain 9.9.8.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre mpls vlan hairpin mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.8.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.8.2 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 9.9.9.0 255.255.255.0 9.9.8.1 ipv4 mroute v2 9.9.9.0 255.255.255.0 9.9.8.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v3 r1 tping 100 10 9.9.9.1 vrf v3 r1 tping 100 10 9.9.9.2 vrf v2 r1 tping 100 10 9.9.8.2 vrf v3 r1 tping 100 10 9.9.8.1 vrf v3 r3 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r3 tping 100 10 9.9.8.2 vrf v2 r3 tping 100 10 9.9.8.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout475.tst000066400000000000000000000244671510423065500172270ustar00rootroot00000000000000description p4lang: mgre mpls over bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre mpls route mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout476.tst000066400000000000000000000245301510423065500172170ustar00rootroot00000000000000description p4lang: mgre mpls over vlan bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 exit int sdn1.222 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre mpls vlan route mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1.222 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout477.tst000066400000000000000000000133371510423065500172230ustar00rootroot00000000000000description p4lang: bridging over mgre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v8 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn3 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre bridge-gr 1 vrf for v8 ipv4 addr 3.3.3.3 255.255.255.255 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v8 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge mgre gretap mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source eth1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout478.tst000066400000000000000000000134101510423065500172140ustar00rootroot00000000000000description p4lang: bridging over mgre vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v8 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 bridge-gr 1 exit int sdn3 exit int sdn3.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn3.222 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre bridge-gr 1 vrf for v8 ipv4 addr 3.3.3.3 255.255.255.255 exit int sdn4 bridge-gr 1 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v8 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ! addother r2 controller r1 v9 9080 - feature bridge mgre gretap vlan mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.4 255.255.255.0 ipv6 addr 1234:2::4 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.222 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source eth1.222 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.0 ipv6 addr 1234:2::5 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.0 ipv6 addr 1234:2::6 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r4 tping 100 10 1.1.2.5 vrf v1 r4 tping 100 10 1234:2::5 vrf v1 r4 tping 100 10 1.1.2.6 vrf v1 r4 tping 100 10 1234:2::6 vrf v1 r5 tping 100 10 1.1.2.4 vrf v1 r5 tping 100 10 1234:2::4 vrf v1 r5 tping 100 10 1.1.2.6 vrf v1 r5 tping 100 10 1234:2::6 vrf v1 r6 tping 100 10 1.1.2.4 vrf v1 r6 tping 100 10 1234:2::4 vrf v1 r6 tping 100 10 1.1.2.5 vrf v1 r6 tping 100 10 1234:2::5 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r6 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r6 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout479.tst000066400000000000000000000260531510423065500172240ustar00rootroot00000000000000description p4lang: mldp core over mgre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn1 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route mgre duplab mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout480.tst000066400000000000000000000271221510423065500172120ustar00rootroot00000000000000description p4lang: bier core over mgre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn1 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable router lsrp4 1 ena router lsrp6 1 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ! addother r2 controller r1 v9 9080 - feature route mgre bier mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.5555 $7a$ $7b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit int eth2 vrf for v1 ipv4 addr 1.1.5.1 255.255.255.0 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 5 ipv6 pim bier 5 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.6 bier 256 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 bier 256 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 6 ipv6 pim bier 6 exit ! addrouter r7 int eth1 eth 0000.0000.7777 $7b$ $7a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.7 bier 256 10 7 red conn exit router lsrp6 1 vrf v1 router 6.6.6.7 bier 256 10 7 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.107 255.255.255.255 ipv6 addr 4321::107 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit int eth1 vrf for v1 ipv4 addr 1.1.5.2 255.255.255.0 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 7 ipv6 pim bier 7 exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.5.1 ipv6 mroute v1 :: :: 1234:5::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 1.1.5.2 vrf v1 r1 tping 100 10 1234:5::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.5.2 vrf v1 r3 tping 100 10 1234:5::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.5.2 vrf v1 r4 tping 100 10 1234:5::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.5.2 vrf v1 r5 tping 100 10 1234:5::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.5.2 vrf v1 r6 tping 100 10 1234:5::2 vrf v1 r7 tping 100 10 1.1.1.2 vrf v1 r7 tping 100 10 1234:1::2 vrf v1 r7 tping 100 10 1.1.2.2 vrf v1 r7 tping 100 10 1234:2::2 vrf v1 r7 tping 100 10 1.1.3.2 vrf v1 r7 tping 100 10 1234:3::2 vrf v1 r7 tping 100 10 1.1.4.2 vrf v1 r7 tping 100 10 1234:4::2 vrf v1 r7 tping 100 10 1.1.5.2 vrf v1 r7 tping 100 10 1234:5::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 2.2.2.107 vrf v1 sou lo0 r1 tping 100 10 4321::107 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.107 vrf v1 sou lo0 r3 tping 100 10 4321::107 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.107 vrf v1 sou lo0 r4 tping 100 10 4321::107 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.107 vrf v1 sou lo0 r5 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.107 vrf v1 sou lo0 r6 tping 100 10 4321::107 vrf v1 sou lo0 r7 tping 100 10 2.2.2.101 vrf v1 sou lo0 r7 tping 100 10 4321::101 vrf v1 sou lo0 r7 tping 100 10 2.2.2.103 vrf v1 sou lo0 r7 tping 100 10 4321::103 vrf v1 sou lo0 r7 tping 100 10 2.2.2.104 vrf v1 sou lo0 r7 tping 100 10 4321::104 vrf v1 sou lo0 r7 tping 100 10 2.2.2.105 vrf v1 sou lo0 r7 tping 100 10 4321::105 vrf v1 sou lo0 r7 tping 100 10 2.2.2.106 vrf v1 sou lo0 r7 tping 100 10 4321::106 vrf v1 sou lo0 r7 tping 100 10 2.2.2.107 vrf v1 sou lo0 r7 tping 100 10 4321::107 vrf v1 sou lo0 r6 tping 400 5 232.2.2.2 vrf v1 sou lo0 multi r6 tping 400 5 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout481.tst000066400000000000000000000236271510423065500172210ustar00rootroot00000000000000description p4lang: mgre mpls pop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn1 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre mpls mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout482.tst000066400000000000000000000236301510423065500172140ustar00rootroot00000000000000description p4lang: mgre mpls push addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn1 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre mpls mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout483.tst000066400000000000000000000271011510423065500172120ustar00rootroot00000000000000description p4lang: l2vpn over mgre mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn1 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre mpls mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.105 1234 vrf for v2 ipv4 addr 4.4.4.1 255.255.255.0 ipv6 addr 4444::1 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::105 1234 vrf for v2 ipv4 addr 4.4.6.1 255.255.255.0 ipv6 addr 4446::1 ffff:: exit int pweth1.123 vrf for v2 ipv4 addr 4.4.5.1 255.255.255.0 ipv6 addr 4445::1 ffff:: exit int pweth2.123 vrf for v2 ipv4 addr 4.4.7.1 255.255.255.0 ipv6 addr 4447::1 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 vrf def v2 exit int pweth1 pseudo v1 lo0 pweompls 2.2.2.103 1234 vrf for v2 ipv4 addr 4.4.4.2 255.255.255.0 ipv6 addr 4444::2 ffff:: exit int pweth2 pseudo v1 lo0 pweompls 4321::103 1234 vrf for v2 ipv4 addr 4.4.6.2 255.255.255.0 ipv6 addr 4446::2 ffff:: exit int pweth1.123 vrf for v2 ipv4 addr 4.4.5.2 255.255.255.0 ipv6 addr 4445::2 ffff:: exit int pweth2.123 vrf for v2 ipv4 addr 4.4.7.2 255.255.255.0 ipv6 addr 4447::2 ffff:: exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 4.4.4.2 vrf v2 r3 tping 100 10 4.4.6.2 vrf v2 r3 tping 100 10 4444::2 vrf v2 r3 tping 100 10 4446::2 vrf v2 r5 tping 100 10 4.4.4.1 vrf v2 r5 tping 100 10 4.4.6.1 vrf v2 r5 tping 100 10 4444::1 vrf v2 r5 tping 100 10 4446::1 vrf v2 r3 tping 100 10 4.4.5.2 vrf v2 r3 tping 100 10 4.4.7.2 vrf v2 r3 tping 100 10 4445::2 vrf v2 r3 tping 100 10 4447::2 vrf v2 r5 tping 100 10 4.4.5.1 vrf v2 r5 tping 100 10 4.4.7.1 vrf v2 r5 tping 100 10 4445::1 vrf v2 r5 tping 100 10 4447::1 vrf v2 r1 dping sdn . r3 4.4.4.2 vrf v2 r1 dping sdn . r3 4446::2 vrf v2 freeRtr-25.11.9/cfg/p4lang-rout484.tst000066400000000000000000000310661510423065500172200ustar00rootroot00000000000000description p4lang: l3vpn over mgre mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn1 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre mpls mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.105 remote-as 1 neigh 2.2.2.105 update lo0 neigh 2.2.2.105 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::105 remote-as 1 neigh 4321::105 update lo0 neigh 4321::105 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.103 remote-as 1 neigh 2.2.2.103 update lo0 neigh 2.2.2.103 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::103 remote-as 1 neigh 4321::103 update lo0 neigh 4321::103 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 60 9.9.2.2 vrf v2 r5 tping 100 60 9.9.2.1 vrf v2 r3 tping 100 60 9992::2 vrf v2 r5 tping 100 60 9992::1 vrf v2 r3 tping 100 60 9.9.3.2 vrf v3 r5 tping 100 60 9.9.3.1 vrf v3 r3 tping 100 60 9993::2 vrf v3 r5 tping 100 60 9993::1 vrf v3 r3 tping 100 60 9.9.4.2 vrf v4 r5 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::2 vrf v4 r5 tping 100 60 9994::1 vrf v4 r1 dping sdn . r3 9.9.3.2 vrf v3 r1 dping sdn . r3 9993::2 vrf v3 freeRtr-25.11.9/cfg/p4lang-rout485.tst000066400000000000000000000137411510423065500172210ustar00rootroot00000000000000description p4lang: mgre local connect addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v8 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v2 ipv4 addr 9.9.8.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.8.1 exit int tun1 tun vrf v2 tun source sdn2 tun domain 9.9.8.2 tun destination 232.2.2.2 tun mode mgre vrf for v8 ipv4 addr 3.3.3.3 255.255.255.255 exit int sdn3 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun2 tun vrf v2 tun source sdn3 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v8 ipv4 addr 3.3.3.3 255.255.255.255 connect tun1 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v8 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic export-port tun2 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre loconn mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 9.9.8.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.8.2 exit int tun1 tun vrf v2 tun source eth1 tun domain 9.9.8.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:ffff:: exit ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.5 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::5 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source eth1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:ffff:: exit ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.4 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.6 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::4 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::6 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 9.9.8.2 vrf v2 r4 tping 100 10 9.9.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.1.1 vrf v1 r3 tping 100 10 1234:1::1 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.4.1 vrf v1 r6 tping 100 10 1234:4::1 vrf v1 r4 tping 100 10 2.2.2.2 vrf v1 r4 tping 100 10 4321::2 vrf v1 r5 tping 100 10 2.2.2.1 vrf v1 r5 tping 100 10 4321::1 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r4 2.2.2.2 vrf v1 r1 dping sdn . r4 4321::2 vrf v1 freeRtr-25.11.9/cfg/p4lang-rout486.tst000066400000000000000000000260371510423065500172240ustar00rootroot00000000000000description p4lang: mgre multicast routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn2 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn2 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena ipv4 multicast host-enable ipv4 multicast host-proxy ipv6 multicast host-enable ipv6 multicast host-proxy exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.4.2 ipv6 mroute v1 :: :: 1234:4::2 server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre route mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 mroute v1 :: :: 1234:1::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source eth1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 multicast host-enable ipv4 multicast host-proxy ipv6 multicast host-enable ipv6 multicast host-proxy exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.2.1 ipv6 mroute v1 :: :: 1234:2::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.3.1 ipv6 mroute v1 :: :: 1234:3::1 ipv4 multi v1 join 232.2.2.2 2.2.2.106 ipv6 multi v1 join ff06::1 4321::106 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 multi static 232.2.2.2 2.2.2.106 ipv6 multi static ff06::1 4321::106 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r4 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 300 30 232.2.2.2 vrf v1 sou lo0 multi r6 tping 300 30 ff06::1 vrf v1 sou lo0 multi r1 dping sdn . r6 232.2.2.2 vrf v1 sou lo0 r1 dping sdn . r6 ff06::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout487.tst000066400000000000000000000241421510423065500172200ustar00rootroot00000000000000description p4lang: mgre routing over qinq addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 exit int sdn1.222.333 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn1.222.333 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre vlan route mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 exit int bvi1.222.333 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1.222.333 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout488.tst000066400000000000000000000166321510423065500172260ustar00rootroot00000000000000description p4lang: mgre routing over bundle qinq addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 bundle-gr 1 exit int sdn4 bundle-gr 1 exit int bun1.222 exit int bun1.222.333 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source bun1.222.333 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bun1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addother r2 controller r1 v9 9080 - feature mgre route bundle vlan mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ int eth2 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit bundle 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bundle-gr 1 exit int eth2 bundle-gr 1 exit int bun1.222 exit int bun1.222.333 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bun1.222.333 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r5 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout489.tst000066400000000000000000000254461510423065500172320ustar00rootroot00000000000000description p4lang: mgre routing over hairpin qinq addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v3 rd 1:1 exit vrf def v9 rd 1:1 exit hair 1 ether exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int hair11.111 exit int hair11.111.222 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int hair12.111 exit int hair12.111.222 vrf for v3 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.8.2 exit int sdn1 vrf for v3 ipv4 addr 9.9.8.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit ipv4 route v2 9.9.8.0 255.255.255.0 9.9.9.2 ipv4 mroute v2 9.9.8.0 255.255.255.0 9.9.9.2 int tun1 tun vrf v2 tun source hair11.111.222 tun domain 9.9.8.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-vrf v3 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port hair11 dynamic export-port hair12 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre route vlan hairpin mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.8.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.8.2 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v2 9.9.9.0 255.255.255.0 9.9.8.1 ipv4 mroute v2 9.9.9.0 255.255.255.0 9.9.8.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v3 r1 tping 100 10 9.9.9.1 vrf v3 r1 tping 100 10 9.9.9.2 vrf v2 r1 tping 100 10 9.9.8.2 vrf v3 r1 tping 100 10 9.9.8.1 vrf v3 r3 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r3 tping 100 10 9.9.8.2 vrf v2 r3 tping 100 10 9.9.8.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout490.tst000066400000000000000000000242701510423065500172140ustar00rootroot00000000000000description p4lang: mgre routing over qinq bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn exit int sdn1 exit int sdn1.222 exit int sdn1.222.333 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-br 1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port bvi1 dynamic export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre route bridge mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1.222 exit int eth1.222.333 bridge-gr 1 exit int bvi1 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout491.tst000066400000000000000000000244541510423065500172210ustar00rootroot00000000000000description p4lang: mgre mpls over qinq addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:1 exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.222 exit int sdn1.222.333 vrf for v2 ipv4 addr 9.9.9.1 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.1 exit int tun1 tun vrf v2 tun source sdn1.222.333 tun domain 9.9.9.2 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit server p4lang p4 interconnect eth2 export-vrf v1 export-vrf v2 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun1 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature mgre vlan mpls mroute int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit vrf def v2 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit bridge 1 mac-learn block-unicast exit int eth1 bridge-gr 1 exit int bvi1.222 exit int bvi1.222.333 vrf for v2 ipv4 addr 9.9.9.2 255.255.255.0 ipv4 multi static 232.2.2.2 9.9.9.2 exit int tun1 tun vrf v2 tun source bvi1.222.333 tun domain 9.9.9.1 tun destination 232.2.2.2 tun mode mgre vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 no ipv4 unreachables no ipv6 unreachables mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 9.9.9.2 vrf v2 r3 tping 100 10 9.9.9.1 vrf v2 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 dping sdn . r3 2.2.2.105 vrf v1 sou lo0 r1 dping sdn . r3 4321::105 vrf v1 sou lo0 freeRtr-25.11.9/cfg/p4lang-rout492.tst000066400000000000000000000447441510423065500172260ustar00rootroot00000000000000description p4lang: ldp te over mpls tail+head addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls ldp4 mpls ldp6 mpls label4peer test4 mpls label6peer test6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int tun11 tun sou lo0 tun dest 2.2.2.103 tun domain 2.2.2.103 tun vrf v1 tun mod teldp vrf for v1 ipv4 addr 1.1.11.1 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::103 tun domain 4321::103 tun vrf v1 tun mod teldp vrf for v1 ipv6 addr 1234:11::1 ffff:ffff:: exit int tun21 tun sou lo0 tun dest 2.2.2.104 tun domain 2.2.2.104 tun vrf v1 tun mod teldp vrf for v1 ipv4 addr 1.1.12.1 255.255.255.0 exit int tun22 tun sou lo0 tun dest 4321::104 tun domain 4321::104 tun vrf v1 tun mod teldp vrf for v1 ipv6 addr 1234:12::1 ffff:ffff:: exit int tun31 tun sou lo0 tun dest 2.2.2.105 tun domain 2.2.2.105 tun vrf v1 tun mod teldp vrf for v1 ipv4 addr 1.1.13.1 255.255.255.0 exit int tun32 tun sou lo0 tun dest 4321::105 tun domain 4321::105 tun vrf v1 tun mod teldp vrf for v1 ipv6 addr 1234:13::1 ffff:ffff:: exit int tun41 tun sou lo0 tun dest 2.2.2.106 tun domain 2.2.2.106 tun vrf v1 tun mod teldp vrf for v1 ipv4 addr 1.1.14.1 255.255.255.0 exit int tun42 tun sou lo0 tun dest 4321::106 tun domain 4321::106 tun vrf v1 tun mod teldp vrf for v1 ipv6 addr 1234:14::1 ffff:ffff:: exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun11 dynamic export-port tun12 dynamic export-port tun21 dynamic export-port tun22 dynamic export-port tun31 dynamic export-port tun32 dynamic export-port tun41 dynamic export-port tun42 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.11.2 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.12.2 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.13.2 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.14.2 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::2 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::2 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::2 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::2 ! addother r2 controller r1 v9 9080 - feature mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls ldp4 mpls ldp6 mpls label4peer test4 mpls label6peer test6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun domain 2.2.2.101 tun vrf v1 tun mod teldp vrf for v1 ipv4 addr 1.1.11.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun domain 4321::101 tun vrf v1 tun mod teldp vrf for v1 ipv6 addr 1234:11::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.11.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls ldp4 mpls ldp6 mpls label4peer test4 mpls label6peer test6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.204 255.255.255.255 ipv6 addr 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun domain 2.2.2.101 tun vrf v1 tun mod teldp vrf for v1 ipv4 addr 1.1.12.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun domain 4321::101 tun vrf v1 tun mod teldp vrf for v1 ipv6 addr 1234:12::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.12.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls ldp4 mpls ldp6 mpls label4peer test4 mpls label6peer test6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.205 255.255.255.255 ipv6 addr 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun domain 2.2.2.101 tun vrf v1 tun mod teldp vrf for v1 ipv4 addr 1.1.13.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun domain 4321::101 tun vrf v1 tun mod teldp vrf for v1 ipv6 addr 1234:13::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.13.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls ldp4 mpls ldp6 mpls label4peer test4 mpls label6peer test6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.206 255.255.255.255 ipv6 addr 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun domain 2.2.2.101 tun vrf v1 tun mod teldp vrf for v1 ipv4 addr 1.1.14.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun domain 4321::101 tun vrf v1 tun mod teldp vrf for v1 ipv6 addr 1234:14::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.14.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 30 2.2.2.201 vrf v1 sou lo1 r1 tping 100 30 4321::201 vrf v1 sou lo1 r1 tping 100 30 2.2.2.203 vrf v1 sou lo1 r1 tping 100 30 4321::203 vrf v1 sou lo1 r1 tping 100 30 2.2.2.204 vrf v1 sou lo1 r1 tping 100 30 4321::204 vrf v1 sou lo1 r1 tping 100 30 2.2.2.205 vrf v1 sou lo1 r1 tping 100 30 4321::205 vrf v1 sou lo1 r1 tping 100 30 2.2.2.206 vrf v1 sou lo1 r1 tping 100 30 4321::206 vrf v1 sou lo1 r3 tping 100 30 2.2.2.201 vrf v1 sou lo1 r3 tping 100 30 4321::201 vrf v1 sou lo1 r3 tping 100 30 2.2.2.203 vrf v1 sou lo1 r3 tping 100 30 4321::203 vrf v1 sou lo1 r3 tping 100 30 2.2.2.204 vrf v1 sou lo1 r3 tping 100 30 4321::204 vrf v1 sou lo1 r3 tping 100 30 2.2.2.205 vrf v1 sou lo1 r3 tping 100 30 4321::205 vrf v1 sou lo1 r3 tping 100 30 2.2.2.206 vrf v1 sou lo1 r3 tping 100 30 4321::206 vrf v1 sou lo1 r4 tping 100 30 2.2.2.201 vrf v1 sou lo1 r4 tping 100 30 4321::201 vrf v1 sou lo1 r4 tping 100 30 2.2.2.203 vrf v1 sou lo1 r4 tping 100 30 4321::203 vrf v1 sou lo1 r4 tping 100 30 2.2.2.204 vrf v1 sou lo1 r4 tping 100 30 4321::204 vrf v1 sou lo1 r4 tping 100 30 2.2.2.205 vrf v1 sou lo1 r4 tping 100 30 4321::205 vrf v1 sou lo1 r4 tping 100 30 2.2.2.206 vrf v1 sou lo1 r4 tping 100 30 4321::206 vrf v1 sou lo1 r5 tping 100 30 2.2.2.201 vrf v1 sou lo1 r5 tping 100 30 4321::201 vrf v1 sou lo1 r5 tping 100 30 2.2.2.203 vrf v1 sou lo1 r5 tping 100 30 4321::203 vrf v1 sou lo1 r5 tping 100 30 2.2.2.204 vrf v1 sou lo1 r5 tping 100 30 4321::204 vrf v1 sou lo1 r5 tping 100 30 2.2.2.205 vrf v1 sou lo1 r5 tping 100 30 4321::205 vrf v1 sou lo1 r5 tping 100 30 2.2.2.206 vrf v1 sou lo1 r5 tping 100 30 4321::206 vrf v1 sou lo1 r6 tping 100 30 2.2.2.201 vrf v1 sou lo1 r6 tping 100 30 4321::201 vrf v1 sou lo1 r6 tping 100 30 2.2.2.203 vrf v1 sou lo1 r6 tping 100 30 4321::203 vrf v1 sou lo1 r6 tping 100 30 2.2.2.204 vrf v1 sou lo1 r6 tping 100 30 4321::204 vrf v1 sou lo1 r6 tping 100 30 2.2.2.205 vrf v1 sou lo1 r6 tping 100 30 4321::205 vrf v1 sou lo1 r6 tping 100 30 2.2.2.206 vrf v1 sou lo1 r6 tping 100 30 4321::206 vrf v1 sou lo1 r1 dping sdn . r6 2.2.2.205 vrf v1 sou lo1 r1 dping sdn . r6 4321::205 vrf v1 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout493.tst000066400000000000000000000464761510423065500172330ustar00rootroot00000000000000description p4lang: ldp te over mpls mid addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls ldp4 mpls ldp6 mpls label4peer test4 mpls label6peer test6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena mpls enable mpls ldp4 mpls ldp6 exit int tun11 tun sou lo0 tun dest 2.2.2.103 tun domain 2.2.2.103 tun vrf v1 tun mod teldp vrf for v1 ipv4 addr 1.1.11.1 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::103 tun domain 4321::103 tun vrf v1 tun mod teldp vrf for v1 ipv6 addr 1234:11::1 ffff:ffff:: exit int tun21 tun sou lo0 tun dest 2.2.2.104 tun domain 2.2.2.104 tun vrf v1 tun mod teldp vrf for v1 ipv4 addr 1.1.12.1 255.255.255.0 exit int tun22 tun sou lo0 tun dest 4321::104 tun domain 4321::104 tun vrf v1 tun mod teldp vrf for v1 ipv6 addr 1234:12::1 ffff:ffff:: exit int tun31 tun sou lo0 tun dest 2.2.2.105 tun domain 2.2.2.105 tun vrf v1 tun mod teldp vrf for v1 ipv4 addr 1.1.13.1 255.255.255.0 exit int tun32 tun sou lo0 tun dest 4321::105 tun domain 4321::105 tun vrf v1 tun mod teldp vrf for v1 ipv6 addr 1234:13::1 ffff:ffff:: exit int tun41 tun sou lo0 tun dest 2.2.2.106 tun domain 2.2.2.106 tun vrf v1 tun mod teldp vrf for v1 ipv4 addr 1.1.14.1 255.255.255.0 exit int tun42 tun sou lo0 tun dest 4321::106 tun domain 4321::106 tun vrf v1 tun mod teldp vrf for v1 ipv6 addr 1234:14::1 ffff:ffff:: exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 export-port tun11 dynamic export-port tun12 dynamic export-port tun21 dynamic export-port tun22 dynamic export-port tun31 dynamic export-port tun32 dynamic export-port tun41 dynamic export-port tun42 dynamic vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.11.2 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.12.2 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.13.2 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.14.2 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::2 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::2 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::2 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::2 ! addother r2 controller r1 v9 9080 - feature mpls int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls ldp4 mpls ldp6 mpls label4peer test4 mpls label6peer test6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.203 255.255.255.255 ipv6 addr 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun domain 2.2.2.101 tun vrf v1 tun mod teldp vrf for v1 ipv4 addr 1.1.11.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun domain 4321::101 tun vrf v1 tun mod teldp vrf for v1 ipv6 addr 1234:11::2 ffff:ffff:: exit int tun21 tun sou lo0 tun dest 2.2.2.104 tun domain 2.2.2.101 tun vrf v1 tun mod teldp vrf for v1 ipv4 addr 1.1.21.2 255.255.255.0 exit int tun22 tun sou lo0 tun dest 4321::104 tun domain 4321::101 tun vrf v1 tun mod teldp vrf for v1 ipv6 addr 1234:21::2 ffff:ffff:: exit int tun31 tun sou lo0 tun dest 2.2.2.105 tun domain 2.2.2.101 tun vrf v1 tun mod teldp vrf for v1 ipv4 addr 1.1.31.2 255.255.255.0 exit int tun32 tun sou lo0 tun dest 4321::105 tun domain 4321::101 tun vrf v1 tun mod teldp vrf for v1 ipv6 addr 1234:31::2 ffff:ffff:: exit int tun41 tun sou lo0 tun dest 2.2.2.106 tun domain 2.2.2.101 tun vrf v1 tun mod teldp vrf for v1 ipv4 addr 1.1.41.2 255.255.255.0 exit int tun42 tun sou lo0 tun dest 4321::106 tun domain 4321::101 tun vrf v1 tun mod teldp vrf for v1 ipv6 addr 1234:41::2 ffff:ffff:: exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.1.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:1::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.11.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.21.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.31.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.41.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:11::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:21::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:31::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:41::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls ldp4 mpls ldp6 mpls label4peer test4 mpls label6peer test6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.204 255.255.255.255 ipv6 addr 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun domain 2.2.2.101 tun vrf v1 tun mod teldp vrf for v1 ipv4 addr 1.1.12.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun domain 4321::101 tun vrf v1 tun mod teldp vrf for v1 ipv6 addr 1234:12::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.2.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:2::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.12.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.12.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:12::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls ldp4 mpls ldp6 mpls label4peer test4 mpls label6peer test6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.205 255.255.255.255 ipv6 addr 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun domain 2.2.2.101 tun vrf v1 tun mod teldp vrf for v1 ipv4 addr 1.1.13.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun domain 4321::101 tun vrf v1 tun mod teldp vrf for v1 ipv6 addr 1234:13::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.3.1 ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:3::1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.13.1 ipv4 route v1 2.2.2.206 255.255.255.255 1.1.13.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ipv6 route v1 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:13::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls ldp4 mpls ldp6 mpls label4peer test4 mpls label6peer test6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.206 255.255.255.255 ipv6 addr 4321::206 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int tun11 tun sou lo0 tun dest 2.2.2.101 tun domain 2.2.2.101 tun vrf v1 tun mod teldp vrf for v1 ipv4 addr 1.1.14.2 255.255.255.0 exit int tun12 tun sou lo0 tun dest 4321::101 tun domain 4321::101 tun vrf v1 tun mod teldp vrf for v1 ipv6 addr 1234:14::2 ffff:ffff:: exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.2.0 255.255.255.0 1.1.4.1 ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:4::1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.203 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.204 255.255.255.255 1.1.14.1 ipv4 route v1 2.2.2.205 255.255.255.255 1.1.14.1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::203 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::204 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ipv6 route v1 4321::205 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:14::1 ! r1 tping 100 10 1.1.1.2 vrf v1 r1 tping 100 10 1234:1::2 vrf v1 r1 tping 100 10 1.1.2.2 vrf v1 r1 tping 100 10 1234:2::2 vrf v1 r1 tping 100 10 1.1.3.2 vrf v1 r1 tping 100 10 1234:3::2 vrf v1 r1 tping 100 10 1.1.4.2 vrf v1 r1 tping 100 10 1234:4::2 vrf v1 r3 tping 100 10 1.1.1.2 vrf v1 r3 tping 100 10 1234:1::2 vrf v1 r3 tping 100 10 1.1.2.2 vrf v1 r3 tping 100 10 1234:2::2 vrf v1 r3 tping 100 10 1.1.3.2 vrf v1 r3 tping 100 10 1234:3::2 vrf v1 r3 tping 100 10 1.1.4.2 vrf v1 r3 tping 100 10 1234:4::2 vrf v1 r4 tping 100 10 1.1.1.2 vrf v1 r4 tping 100 10 1234:1::2 vrf v1 r4 tping 100 10 1.1.2.2 vrf v1 r4 tping 100 10 1234:2::2 vrf v1 r4 tping 100 10 1.1.3.2 vrf v1 r4 tping 100 10 1234:3::2 vrf v1 r4 tping 100 10 1.1.4.2 vrf v1 r4 tping 100 10 1234:4::2 vrf v1 r5 tping 100 10 1.1.1.2 vrf v1 r5 tping 100 10 1234:1::2 vrf v1 r5 tping 100 10 1.1.2.2 vrf v1 r5 tping 100 10 1234:2::2 vrf v1 r5 tping 100 10 1.1.3.2 vrf v1 r5 tping 100 10 1234:3::2 vrf v1 r5 tping 100 10 1.1.4.2 vrf v1 r5 tping 100 10 1234:4::2 vrf v1 r6 tping 100 10 1.1.1.2 vrf v1 r6 tping 100 10 1234:1::2 vrf v1 r6 tping 100 10 1.1.2.2 vrf v1 r6 tping 100 10 1234:2::2 vrf v1 r6 tping 100 10 1.1.3.2 vrf v1 r6 tping 100 10 1234:3::2 vrf v1 r6 tping 100 10 1.1.4.2 vrf v1 r6 tping 100 10 1234:4::2 vrf v1 r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 30 2.2.2.201 vrf v1 sou lo1 r1 tping 100 30 4321::201 vrf v1 sou lo1 r1 tping 100 30 2.2.2.203 vrf v1 sou lo1 r1 tping 100 30 4321::203 vrf v1 sou lo1 r1 tping 100 30 2.2.2.204 vrf v1 sou lo1 r1 tping 100 30 4321::204 vrf v1 sou lo1 r1 tping 100 30 2.2.2.205 vrf v1 sou lo1 r1 tping 100 30 4321::205 vrf v1 sou lo1 r1 tping 100 30 2.2.2.206 vrf v1 sou lo1 r1 tping 100 30 4321::206 vrf v1 sou lo1 r3 tping 100 30 2.2.2.201 vrf v1 sou lo1 r3 tping 100 30 4321::201 vrf v1 sou lo1 r3 tping 100 30 2.2.2.203 vrf v1 sou lo1 r3 tping 100 30 4321::203 vrf v1 sou lo1 r3 tping 100 30 2.2.2.204 vrf v1 sou lo1 r3 tping 100 30 4321::204 vrf v1 sou lo1 r3 tping 100 30 2.2.2.205 vrf v1 sou lo1 r3 tping 100 30 4321::205 vrf v1 sou lo1 r3 tping 100 30 2.2.2.206 vrf v1 sou lo1 r3 tping 100 30 4321::206 vrf v1 sou lo1 r4 tping 100 30 2.2.2.201 vrf v1 sou lo1 r4 tping 100 30 4321::201 vrf v1 sou lo1 r4 tping 100 30 2.2.2.203 vrf v1 sou lo1 r4 tping 100 30 4321::203 vrf v1 sou lo1 r4 tping 100 30 2.2.2.204 vrf v1 sou lo1 r4 tping 100 30 4321::204 vrf v1 sou lo1 r4 tping 100 30 2.2.2.205 vrf v1 sou lo1 r4 tping 100 30 4321::205 vrf v1 sou lo1 r4 tping 100 30 2.2.2.206 vrf v1 sou lo1 r4 tping 100 30 4321::206 vrf v1 sou lo1 r5 tping 100 30 2.2.2.201 vrf v1 sou lo1 r5 tping 100 30 4321::201 vrf v1 sou lo1 r5 tping 100 30 2.2.2.203 vrf v1 sou lo1 r5 tping 100 30 4321::203 vrf v1 sou lo1 r5 tping 100 30 2.2.2.204 vrf v1 sou lo1 r5 tping 100 30 4321::204 vrf v1 sou lo1 r5 tping 100 30 2.2.2.205 vrf v1 sou lo1 r5 tping 100 30 4321::205 vrf v1 sou lo1 r5 tping 100 30 2.2.2.206 vrf v1 sou lo1 r5 tping 100 30 4321::206 vrf v1 sou lo1 r6 tping 100 30 2.2.2.201 vrf v1 sou lo1 r6 tping 100 30 4321::201 vrf v1 sou lo1 r6 tping 100 30 2.2.2.203 vrf v1 sou lo1 r6 tping 100 30 4321::203 vrf v1 sou lo1 r6 tping 100 30 2.2.2.204 vrf v1 sou lo1 r6 tping 100 30 4321::204 vrf v1 sou lo1 r6 tping 100 30 2.2.2.205 vrf v1 sou lo1 r6 tping 100 30 4321::205 vrf v1 sou lo1 r6 tping 100 30 2.2.2.206 vrf v1 sou lo1 r6 tping 100 30 4321::206 vrf v1 sou lo1 r1 dping sdn . r6 2.2.2.205 vrf v1 sou lo1 r1 dping sdn . r6 4321::205 vrf v1 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout494.tst000066400000000000000000000305541510423065500172220ustar00rootroot00000000000000description p4lang: ouni with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit router bgp4 1 vrf v1 address ouni local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a neigh 2.2.2.105 temp a neigh 2.2.2.106 temp a afi-other ena no afi-other vpn afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address ouni local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a neigh 4321::105 temp a neigh 4321::106 temp a afi-other ena no afi-other vpn afi-other red conn afi-other red stat exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address ouni local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 afi-other ena no afi-other vpn afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address ouni local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 afi-other ena no afi-other vpn afi-other red conn afi-other red stat exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 address ouni local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 afi-other ena no afi-other vpn afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address ouni local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 afi-other ena no afi-other vpn afi-other red conn afi-other red stat exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 address ouni local-as 1 router-id 4.4.4.5 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 afi-other ena no afi-other vpn afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address ouni local-as 1 router-id 6.6.6.5 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 afi-other ena no afi-other vpn afi-other red conn afi-other red stat exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit router bgp4 1 vrf v1 address ouni local-as 1 router-id 4.4.4.6 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 afi-other ena no afi-other vpn afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address ouni local-as 1 router-id 6.6.6.6 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 afi-other ena no afi-other vpn afi-other red conn afi-other red stat exit ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 3.3.3.101 vrf v1 sou lo1 r1 tping 100 10 3333::101 vrf v1 sou lo1 r1 tping 100 10 3.3.3.103 vrf v1 sou lo1 r1 tping 100 10 3333::103 vrf v1 sou lo1 r1 tping 100 10 3.3.3.104 vrf v1 sou lo1 r1 tping 100 10 3333::104 vrf v1 sou lo1 r1 tping 100 10 3.3.3.105 vrf v1 sou lo1 r1 tping 100 10 3333::105 vrf v1 sou lo1 r1 tping 100 10 3.3.3.106 vrf v1 sou lo1 r1 tping 100 10 3333::106 vrf v1 sou lo1 r3 tping 100 10 3.3.3.101 vrf v1 sou lo1 r3 tping 100 10 3333::101 vrf v1 sou lo1 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.101 vrf v1 sou lo1 r4 tping 100 10 3333::101 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r5 tping 100 10 3.3.3.101 vrf v1 sou lo1 r5 tping 100 10 3333::101 vrf v1 sou lo1 r5 tping 100 10 3.3.3.103 vrf v1 sou lo1 r5 tping 100 10 3333::103 vrf v1 sou lo1 r5 tping 100 10 3.3.3.104 vrf v1 sou lo1 r5 tping 100 10 3333::104 vrf v1 sou lo1 r5 tping 100 10 3.3.3.105 vrf v1 sou lo1 r5 tping 100 10 3333::105 vrf v1 sou lo1 r5 tping 100 10 3.3.3.106 vrf v1 sou lo1 r5 tping 100 10 3333::106 vrf v1 sou lo1 r6 tping 100 10 3.3.3.101 vrf v1 sou lo1 r6 tping 100 10 3333::101 vrf v1 sou lo1 r6 tping 100 10 3.3.3.103 vrf v1 sou lo1 r6 tping 100 10 3333::103 vrf v1 sou lo1 r6 tping 100 10 3.3.3.104 vrf v1 sou lo1 r6 tping 100 10 3333::104 vrf v1 sou lo1 r6 tping 100 10 3.3.3.105 vrf v1 sou lo1 r6 tping 100 10 3333::105 vrf v1 sou lo1 r6 tping 100 10 3.3.3.106 vrf v1 sou lo1 r6 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r4 3.3.3.105 vrf v1 sou lo1 r1 dping sdn . r4 3333::105 vrf v1 sou lo1 freeRtr-25.11.9/cfg/p4lang-rout495.tst000066400000000000000000000310231510423065500172130ustar00rootroot00000000000000description p4lang: ouni with bgp over vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v9 rd 1:1 exit int lo9 vrf for v9 ipv4 addr 10.10.10.227 255.255.255.255 exit int eth1 vrf for v9 ipv4 addr 10.11.12.254 255.255.255.0 exit int eth2 exit server dhcp4 eth1 pool 10.11.12.1 10.11.12.99 gateway 10.11.12.254 netmask 255.255.255.0 dns-server 10.10.10.227 domain-name p4l static 0000.0000.2222 10.11.12.111 interface eth1 vrf v9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int sdn1 exit int sdn1.111 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 ena exit int sdn2 exit int sdn2.111 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 ena exit int sdn3 exit int sdn3.111 vrf for v1 ipv4 addr 1.1.3.1 255.255.255.0 ipv6 addr 1234:3::1 ffff:ffff:: ipv6 ena exit int sdn4 exit int sdn4.111 vrf for v1 ipv4 addr 1.1.4.1 255.255.255.0 ipv6 addr 1234:4::1 ffff:ffff:: ipv6 ena exit router bgp4 1 vrf v1 address ouni local-as 1 router-id 4.4.4.1 temp a remote-as 1 temp a update lo0 temp a route-reflect neigh 2.2.2.103 temp a neigh 2.2.2.104 temp a neigh 2.2.2.105 temp a neigh 2.2.2.106 temp a afi-other ena no afi-other vpn afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address ouni local-as 1 router-id 6.6.6.1 temp a remote-as 1 temp a update lo0 temp a route-reflect neigh 4321::103 temp a neigh 4321::104 temp a neigh 4321::105 temp a neigh 4321::106 temp a afi-other ena no afi-other vpn afi-other red conn afi-other red stat exit server p4lang p4 interconnect eth2 export-vrf v1 export-port sdn1 1 10 export-port sdn2 2 10 export-port sdn3 3 10 export-port sdn4 4 10 vrf v9 exit ipv4 route v1 2.2.2.103 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.2.2 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.3.2 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.4.2 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addother r2 controller r1 v9 9080 - feature route vlan int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ int eth4 eth 0000.0000.2222 $4a$ $4b$ int eth5 eth 0000.0000.2222 $5a$ $5b$ int eth6 eth 0000.0000.2222 $6a$ $6b$ ! ! addrouter r3 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.103 255.255.255.255 ipv6 addr 3333::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address ouni local-as 1 router-id 4.4.4.3 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 afi-other ena no afi-other vpn afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address ouni local-as 1 router-id 6.6.6.3 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 afi-other ena no afi-other vpn afi-other red conn afi-other red stat exit ipv4 route v1 1.1.2.0 255.255.255.0 1.1.1.1 ipv6 route v1 1234:2:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.104 255.255.255.255 ipv6 addr 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.104 255.255.255.255 ipv6 addr 3333::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 address ouni local-as 1 router-id 4.4.4.4 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 afi-other ena no afi-other vpn afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address ouni local-as 1 router-id 6.6.6.4 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 afi-other ena no afi-other vpn afi-other red conn afi-other red stat exit ipv4 route v1 1.1.1.0 255.255.255.0 1.1.2.1 ipv6 route v1 1234:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.2.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.2.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.105 255.255.255.255 ipv6 addr 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.105 255.255.255.255 ipv6 addr 3333::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.3.2 255.255.255.0 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 address ouni local-as 1 router-id 4.4.4.5 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 afi-other ena no afi-other vpn afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address ouni local-as 1 router-id 6.6.6.5 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 afi-other ena no afi-other vpn afi-other red conn afi-other red stat exit ipv4 route v1 1.1.4.0 255.255.255.0 1.1.3.1 ipv6 route v1 1234:4:: ffff:ffff:: 1234:3::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.3.1 ipv4 route v1 2.2.2.106 255.255.255.255 1.1.3.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ipv6 route v1 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 ! addrouter r6 int eth1 eth 0000.0000.6666 $6b$ $6a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.106 255.255.255.255 ipv6 addr 4321::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.106 255.255.255.255 ipv6 addr 3333::106 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 exit int eth1.111 vrf for v1 ipv4 addr 1.1.4.2 255.255.255.0 ipv6 addr 1234:4::2 ffff:ffff:: exit router bgp4 1 vrf v1 address ouni local-as 1 router-id 4.4.4.6 neigh 2.2.2.101 remote-as 1 neigh 2.2.2.101 update lo0 afi-other ena no afi-other vpn afi-other red conn afi-other red stat exit router bgp6 1 vrf v1 address ouni local-as 1 router-id 6.6.6.6 neigh 4321::101 remote-as 1 neigh 4321::101 update lo0 afi-other ena no afi-other vpn afi-other red conn afi-other red stat exit ipv4 route v1 1.1.3.0 255.255.255.0 1.1.4.1 ipv6 route v1 1234:3:: ffff:ffff:: 1234:4::1 ipv4 route v1 2.2.2.101 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.103 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.104 255.255.255.255 1.1.4.1 ipv4 route v1 2.2.2.105 255.255.255.255 1.1.4.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv6 route v1 4321::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ! r1 tping 100 10 2.2.2.101 vrf v1 sou lo0 r1 tping 100 10 4321::101 vrf v1 sou lo0 r1 tping 100 10 2.2.2.103 vrf v1 sou lo0 r1 tping 100 10 4321::103 vrf v1 sou lo0 r1 tping 100 10 2.2.2.104 vrf v1 sou lo0 r1 tping 100 10 4321::104 vrf v1 sou lo0 r1 tping 100 10 2.2.2.105 vrf v1 sou lo0 r1 tping 100 10 4321::105 vrf v1 sou lo0 r1 tping 100 10 2.2.2.106 vrf v1 sou lo0 r1 tping 100 10 4321::106 vrf v1 sou lo0 r3 tping 100 10 2.2.2.101 vrf v1 sou lo0 r3 tping 100 10 4321::101 vrf v1 sou lo0 r3 tping 100 10 2.2.2.103 vrf v1 sou lo0 r3 tping 100 10 4321::103 vrf v1 sou lo0 r3 tping 100 10 2.2.2.104 vrf v1 sou lo0 r3 tping 100 10 4321::104 vrf v1 sou lo0 r3 tping 100 10 2.2.2.105 vrf v1 sou lo0 r3 tping 100 10 4321::105 vrf v1 sou lo0 r3 tping 100 10 2.2.2.106 vrf v1 sou lo0 r3 tping 100 10 4321::106 vrf v1 sou lo0 r4 tping 100 10 2.2.2.101 vrf v1 sou lo0 r4 tping 100 10 4321::101 vrf v1 sou lo0 r4 tping 100 10 2.2.2.103 vrf v1 sou lo0 r4 tping 100 10 4321::103 vrf v1 sou lo0 r4 tping 100 10 2.2.2.104 vrf v1 sou lo0 r4 tping 100 10 4321::104 vrf v1 sou lo0 r4 tping 100 10 2.2.2.105 vrf v1 sou lo0 r4 tping 100 10 4321::105 vrf v1 sou lo0 r4 tping 100 10 2.2.2.106 vrf v1 sou lo0 r4 tping 100 10 4321::106 vrf v1 sou lo0 r5 tping 100 10 2.2.2.101 vrf v1 sou lo0 r5 tping 100 10 4321::101 vrf v1 sou lo0 r5 tping 100 10 2.2.2.103 vrf v1 sou lo0 r5 tping 100 10 4321::103 vrf v1 sou lo0 r5 tping 100 10 2.2.2.104 vrf v1 sou lo0 r5 tping 100 10 4321::104 vrf v1 sou lo0 r5 tping 100 10 2.2.2.105 vrf v1 sou lo0 r5 tping 100 10 4321::105 vrf v1 sou lo0 r5 tping 100 10 2.2.2.106 vrf v1 sou lo0 r5 tping 100 10 4321::106 vrf v1 sou lo0 r6 tping 100 10 2.2.2.101 vrf v1 sou lo0 r6 tping 100 10 4321::101 vrf v1 sou lo0 r6 tping 100 10 2.2.2.103 vrf v1 sou lo0 r6 tping 100 10 4321::103 vrf v1 sou lo0 r6 tping 100 10 2.2.2.104 vrf v1 sou lo0 r6 tping 100 10 4321::104 vrf v1 sou lo0 r6 tping 100 10 2.2.2.105 vrf v1 sou lo0 r6 tping 100 10 4321::105 vrf v1 sou lo0 r6 tping 100 10 2.2.2.106 vrf v1 sou lo0 r6 tping 100 10 4321::106 vrf v1 sou lo0 r1 tping 100 10 3.3.3.101 vrf v1 sou lo1 r1 tping 100 10 3333::101 vrf v1 sou lo1 r1 tping 100 10 3.3.3.103 vrf v1 sou lo1 r1 tping 100 10 3333::103 vrf v1 sou lo1 r1 tping 100 10 3.3.3.104 vrf v1 sou lo1 r1 tping 100 10 3333::104 vrf v1 sou lo1 r1 tping 100 10 3.3.3.105 vrf v1 sou lo1 r1 tping 100 10 3333::105 vrf v1 sou lo1 r1 tping 100 10 3.3.3.106 vrf v1 sou lo1 r1 tping 100 10 3333::106 vrf v1 sou lo1 r3 tping 100 10 3.3.3.101 vrf v1 sou lo1 r3 tping 100 10 3333::101 vrf v1 sou lo1 r3 tping 100 10 3.3.3.103 vrf v1 sou lo1 r3 tping 100 10 3333::103 vrf v1 sou lo1 r3 tping 100 10 3.3.3.104 vrf v1 sou lo1 r3 tping 100 10 3333::104 vrf v1 sou lo1 r3 tping 100 10 3.3.3.105 vrf v1 sou lo1 r3 tping 100 10 3333::105 vrf v1 sou lo1 r3 tping 100 10 3.3.3.106 vrf v1 sou lo1 r3 tping 100 10 3333::106 vrf v1 sou lo1 r4 tping 100 10 3.3.3.101 vrf v1 sou lo1 r4 tping 100 10 3333::101 vrf v1 sou lo1 r4 tping 100 10 3.3.3.103 vrf v1 sou lo1 r4 tping 100 10 3333::103 vrf v1 sou lo1 r4 tping 100 10 3.3.3.104 vrf v1 sou lo1 r4 tping 100 10 3333::104 vrf v1 sou lo1 r4 tping 100 10 3.3.3.105 vrf v1 sou lo1 r4 tping 100 10 3333::105 vrf v1 sou lo1 r4 tping 100 10 3.3.3.106 vrf v1 sou lo1 r4 tping 100 10 3333::106 vrf v1 sou lo1 r5 tping 100 10 3.3.3.101 vrf v1 sou lo1 r5 tping 100 10 3333::101 vrf v1 sou lo1 r5 tping 100 10 3.3.3.103 vrf v1 sou lo1 r5 tping 100 10 3333::103 vrf v1 sou lo1 r5 tping 100 10 3.3.3.104 vrf v1 sou lo1 r5 tping 100 10 3333::104 vrf v1 sou lo1 r5 tping 100 10 3.3.3.105 vrf v1 sou lo1 r5 tping 100 10 3333::105 vrf v1 sou lo1 r5 tping 100 10 3.3.3.106 vrf v1 sou lo1 r5 tping 100 10 3333::106 vrf v1 sou lo1 r6 tping 100 10 3.3.3.101 vrf v1 sou lo1 r6 tping 100 10 3333::101 vrf v1 sou lo1 r6 tping 100 10 3.3.3.103 vrf v1 sou lo1 r6 tping 100 10 3333::103 vrf v1 sou lo1 r6 tping 100 10 3.3.3.104 vrf v1 sou lo1 r6 tping 100 10 3333::104 vrf v1 sou lo1 r6 tping 100 10 3.3.3.105 vrf v1 sou lo1 r6 tping 100 10 3333::105 vrf v1 sou lo1 r6 tping 100 10 3.3.3.106 vrf v1 sou lo1 r6 tping 100 10 3333::106 vrf v1 sou lo1 r1 dping sdn . r4 3.3.3.105 vrf v1 sou lo1 r1 dping sdn . r4 3333::105 vrf v1 sou lo1 freeRtr-25.11.9/cfg/p4lang1.ini000066400000000000000000000012721510423065500160130ustar00rootroot00000000000000bmv2 copp acl racl inspect nat vlan bundle bridge pppoe hairpin gre l2tp l3tp tmux route mpls vpls evpn eompls srv6 gretap pppoetap l2tptap l3tptap tmuxtap ipiptap ipsectap vxlan ipip pckoudp pbr ratelim qos flwspc mroute duplab bier nsh sgt amt -polka gtp -vrfysrc loconn etherip pwhe mgre qemu-img create -f qcow2 -o backing_file=../img/p4bmv2.img,backing_fmt=raw $fn$ qemu-system-x86_64 -monitor none -serial stdio -nographic -no-reboot -enable-kvm -cpu host -smp cores=2,threads=1,sockets=1 -drive file=$fn$,format=qcow2,cache=unsafe -m 1024 $nc$ 0 -netdev socket,id=n$id$,udp=:$rp$,localaddr=:$lp$ -device virtio-net-pci,netdev=n$id$,mac=$ad$ Router> !!!separator- enable configure terminal freeRtr-25.11.9/cfg/p4lang2.ini000066400000000000000000000013711510423065500160140ustar00rootroot00000000000000dpdk pckout punting copp acl nat vlan bundle bridge pppoe hairpin gre l2tp l3tp tmux route mpls vpls evpn eompls gretap pppoetap l2tptap l3tptap tmuxtap ipiptap ipsectap vxlan ipip macsec ipsec pckoudp openvpn wireguard srv6 pbr ratelim qos flwspc mroute duplab bier amt nsh racl inspect sgt vrfysrc gtp loconn tcpmss pmtud etherip polka mpolka pwhe mgre qemu-img create -f qcow2 -o backing_file=../img/p4emu.img,backing_fmt=raw $fn$ qemu-system-x86_64 -monitor none -serial stdio -nographic -no-reboot -enable-kvm -cpu host -smp cores=2,threads=1,sockets=1 -drive file=$fn$,format=qcow2,cache=unsafe -m 1024 $nc$ 0 -netdev socket,id=n$id$,udp=:$rp$,localaddr=:$lp$ -device virtio-net-pci,netdev=n$id$,mac=$ad$ Router> !!!separator- enable configure terminal freeRtr-25.11.9/cfg/p4lang301.ini000066400000000000000000000007521510423065500161600ustar00rootroot00000000000000tofino copp acl vlan bundle bridge route mpls vpls evpn eompls hairpin pwhe qemu-img create -f qcow2 -o backing_file=../img/p4bf_mpls.qcow2,backing_fmt=qcow2 $fn$ qemu-system-x86_64 -monitor none -serial stdio -nographic -no-reboot -enable-kvm -cpu host -smp cores=2,threads=1,sockets=1 -drive file=$fn$,format=qcow2,cache=unsafe -m 4096 $nc$ 0 -netdev socket,id=n$id$,udp=:$rp$,localaddr=:$lp$ -device virtio-net-pci,netdev=n$id$,mac=$ad$ Router> !!!separator- enable configure terminal freeRtr-25.11.9/cfg/p4lang302.ini000066400000000000000000000007251510423065500161610ustar00rootroot00000000000000tofino copp acl vlan bundle route srv6 hairpin nat pbr qemu-img create -f qcow2 -o backing_file=../img/p4bf_srv6.qcow2,backing_fmt=qcow2 $fn$ qemu-system-x86_64 -monitor none -serial stdio -nographic -no-reboot -enable-kvm -cpu host -smp cores=2,threads=1,sockets=1 -drive file=$fn$,format=qcow2,cache=unsafe -m 4096 $nc$ 0 -netdev socket,id=n$id$,udp=:$rp$,localaddr=:$lp$ -device virtio-net-pci,netdev=n$id$,mac=$ad$ Router> !!!separator- enable configure terminal freeRtr-25.11.9/cfg/p4lang303.ini000066400000000000000000000007331510423065500161610ustar00rootroot00000000000000tofino copp acl vlan bundle bridge route hairpin gre gretap qemu-img create -f qcow2 -o backing_file=../img/p4bf_brdg1.qcow2,backing_fmt=qcow2 $fn$ qemu-system-x86_64 -monitor none -serial stdio -nographic -no-reboot -enable-kvm -cpu host -smp cores=2,threads=1,sockets=1 -drive file=$fn$,format=qcow2,cache=unsafe -m 4096 $nc$ 0 -netdev socket,id=n$id$,udp=:$rp$,localaddr=:$lp$ -device virtio-net-pci,netdev=n$id$,mac=$ad$ Router> !!!separator- enable configure terminal freeRtr-25.11.9/cfg/p4lang304.ini000066400000000000000000000007251510423065500161630ustar00rootroot00000000000000tofino copp acl vlan bundle route hairpin gre mpls pbr qemu-img create -f qcow2 -o backing_file=../img/p4bf_tun1.qcow2,backing_fmt=qcow2 $fn$ qemu-system-x86_64 -monitor none -serial stdio -nographic -no-reboot -enable-kvm -cpu host -smp cores=2,threads=1,sockets=1 -drive file=$fn$,format=qcow2,cache=unsafe -m 4096 $nc$ 0 -netdev socket,id=n$id$,udp=:$rp$,localaddr=:$lp$ -device virtio-net-pci,netdev=n$id$,mac=$ad$ Router> !!!separator- enable configure terminal freeRtr-25.11.9/cfg/p4lang305.ini000066400000000000000000000007331510423065500161630ustar00rootroot00000000000000tofino copp acl vlan bundle route hairpin pppoe mpls ratelim qemu-img create -f qcow2 -o backing_file=../img/p4bf_tun2.qcow2,backing_fmt=qcow2 $fn$ qemu-system-x86_64 -monitor none -serial stdio -nographic -no-reboot -enable-kvm -cpu host -smp cores=2,threads=1,sockets=1 -drive file=$fn$,format=qcow2,cache=unsafe -m 4096 $nc$ 0 -netdev socket,id=n$id$,udp=:$rp$,localaddr=:$lp$ -device virtio-net-pci,netdev=n$id$,mac=$ad$ Router> !!!separator- enable configure terminal freeRtr-25.11.9/cfg/p4lang306.ini000066400000000000000000000007261510423065500161660ustar00rootroot00000000000000tofino copp acl vlan bundle route hairpin l2tp mpls qos qemu-img create -f qcow2 -o backing_file=../img/p4bf_tun3.qcow2,backing_fmt=qcow2 $fn$ qemu-system-x86_64 -monitor none -serial stdio -nographic -no-reboot -enable-kvm -cpu host -smp cores=2,threads=1,sockets=1 -drive file=$fn$,format=qcow2,cache=unsafe -m 4096 $nc$ 0 -netdev socket,id=n$id$,udp=:$rp$,localaddr=:$lp$ -device virtio-net-pci,netdev=n$id$,mac=$ad$ Router> !!!separator- enable configure terminal freeRtr-25.11.9/cfg/p4lang307.ini000066400000000000000000000007261510423065500161670ustar00rootroot00000000000000tofino copp acl vlan bundle bridge route hairpin vxlan qemu-img create -f qcow2 -o backing_file=../img/p4bf_brdg2.qcow2,backing_fmt=qcow2 $fn$ qemu-system-x86_64 -monitor none -serial stdio -nographic -no-reboot -enable-kvm -cpu host -smp cores=2,threads=1,sockets=1 -drive file=$fn$,format=qcow2,cache=unsafe -m 4096 $nc$ 0 -netdev socket,id=n$id$,udp=:$rp$,localaddr=:$lp$ -device virtio-net-pci,netdev=n$id$,mac=$ad$ Router> !!!separator- enable configure terminal freeRtr-25.11.9/cfg/p4lang308.ini000066400000000000000000000007411510423065500161650ustar00rootroot00000000000000tofino copp acl vlan bundle route hairpin ipip mpls nat pbr flwspc qemu-img create -f qcow2 -o backing_file=../img/p4bf_tun4.qcow2,backing_fmt=qcow2 $fn$ qemu-system-x86_64 -monitor none -serial stdio -nographic -no-reboot -enable-kvm -cpu host -smp cores=2,threads=1,sockets=1 -drive file=$fn$,format=qcow2,cache=unsafe -m 4096 $nc$ 0 -netdev socket,id=n$id$,udp=:$rp$,localaddr=:$lp$ -device virtio-net-pci,netdev=n$id$,mac=$ad$ Router> !!!separator- enable configure terminal freeRtr-25.11.9/cfg/p4lang309.ini000066400000000000000000000007301510423065500161640ustar00rootroot00000000000000tofino copp acl vlan bundle bridge route hairpin pckoudp qemu-img create -f qcow2 -o backing_file=../img/p4bf_brdg3.qcow2,backing_fmt=qcow2 $fn$ qemu-system-x86_64 -monitor none -serial stdio -nographic -no-reboot -enable-kvm -cpu host -smp cores=2,threads=1,sockets=1 -drive file=$fn$,format=qcow2,cache=unsafe -m 4096 $nc$ 0 -netdev socket,id=n$id$,udp=:$rp$,localaddr=:$lp$ -device virtio-net-pci,netdev=n$id$,mac=$ad$ Router> !!!separator- enable configure terminal freeRtr-25.11.9/cfg/p4lang310.ini000066400000000000000000000007411510423065500161560ustar00rootroot00000000000000tofino copp acl vlan bundle route hairpin mpls mroute duplab bier qemu-img create -f qcow2 -o backing_file=../img/p4bf_mcast.qcow2,backing_fmt=qcow2 $fn$ qemu-system-x86_64 -monitor none -serial stdio -nographic -no-reboot -enable-kvm -cpu host -smp cores=2,threads=1,sockets=1 -drive file=$fn$,format=qcow2,cache=unsafe -m 4096 $nc$ 0 -netdev socket,id=n$id$,udp=:$rp$,localaddr=:$lp$ -device virtio-net-pci,netdev=n$id$,mac=$ad$ Router> !!!separator- enable configure terminal freeRtr-25.11.9/cfg/p4lang311.ini000066400000000000000000000007261510423065500161620ustar00rootroot00000000000000tofino vlan bundle route mpls hairpin polka nsh loconn qemu-img create -f qcow2 -o backing_file=../img/p4bf_polka.qcow2,backing_fmt=qcow2 $fn$ qemu-system-x86_64 -monitor none -serial stdio -nographic -no-reboot -enable-kvm -cpu host -smp cores=2,threads=1,sockets=1 -drive file=$fn$,format=qcow2,cache=unsafe -m 4096 $nc$ 0 -netdev socket,id=n$id$,udp=:$rp$,localaddr=:$lp$ -device virtio-net-pci,netdev=n$id$,mac=$ad$ Router> !!!separator- enable configure terminal freeRtr-25.11.9/cfg/p4lang312.ini000066400000000000000000000007121510423065500161560ustar00rootroot00000000000000tofino vlan bundle route acl racl inspect sgt qemu-img create -f qcow2 -o backing_file=../img/p4bf_fw.qcow2,backing_fmt=qcow2 $fn$ qemu-system-x86_64 -monitor none -serial stdio -nographic -no-reboot -enable-kvm -cpu host -smp cores=2,threads=1,sockets=1 -drive file=$fn$,format=qcow2,cache=unsafe -m 4096 $nc$ 0 -netdev socket,id=n$id$,udp=:$rp$,localaddr=:$lp$ -device virtio-net-pci,netdev=n$id$,mac=$ad$ Router> !!!separator- enable configure terminal freeRtr-25.11.9/cfg/p4lang313.ini000066400000000000000000000007141510423065500161610ustar00rootroot00000000000000tofino copp acl vlan bundle route hairpin gtp qemu-img create -f qcow2 -o backing_file=../img/p4bf_tun5.qcow2,backing_fmt=qcow2 $fn$ qemu-system-x86_64 -monitor none -serial stdio -nographic -no-reboot -enable-kvm -cpu host -smp cores=2,threads=1,sockets=1 -drive file=$fn$,format=qcow2,cache=unsafe -m 4096 $nc$ 0 -netdev socket,id=n$id$,udp=:$rp$,localaddr=:$lp$ -device virtio-net-pci,netdev=n$id$,mac=$ad$ Router> !!!separator- enable configure terminal freeRtr-25.11.9/cfg/p4lang314.ini000066400000000000000000000007221510423065500161610ustar00rootroot00000000000000tofino copp acl vlan bundle route hairpin l3tp mpls qemu-img create -f qcow2 -o backing_file=../img/p4bf_tun6.qcow2,backing_fmt=qcow2 $fn$ qemu-system-x86_64 -monitor none -serial stdio -nographic -no-reboot -enable-kvm -cpu host -smp cores=2,threads=1,sockets=1 -drive file=$fn$,format=qcow2,cache=unsafe -m 4096 $nc$ 0 -netdev socket,id=n$id$,udp=:$rp$,localaddr=:$lp$ -device virtio-net-pci,netdev=n$id$,mac=$ad$ Router> !!!separator- enable configure terminal freeRtr-25.11.9/cfg/p4lang315.ini000066400000000000000000000007221510423065500161620ustar00rootroot00000000000000tofino copp acl vlan bundle route hairpin tmux mpls qemu-img create -f qcow2 -o backing_file=../img/p4bf_tun7.qcow2,backing_fmt=qcow2 $fn$ qemu-system-x86_64 -monitor none -serial stdio -nographic -no-reboot -enable-kvm -cpu host -smp cores=2,threads=1,sockets=1 -drive file=$fn$,format=qcow2,cache=unsafe -m 4096 $nc$ 0 -netdev socket,id=n$id$,udp=:$rp$,localaddr=:$lp$ -device virtio-net-pci,netdev=n$id$,mac=$ad$ Router> !!!separator- enable configure terminal freeRtr-25.11.9/cfg/p4lang316.ini000066400000000000000000000007301510423065500161620ustar00rootroot00000000000000tofino copp acl vlan bundle bridge route hairpin etherip qemu-img create -f qcow2 -o backing_file=../img/p4bf_brdg4.qcow2,backing_fmt=qcow2 $fn$ qemu-system-x86_64 -monitor none -serial stdio -nographic -no-reboot -enable-kvm -cpu host -smp cores=2,threads=1,sockets=1 -drive file=$fn$,format=qcow2,cache=unsafe -m 4096 $nc$ 0 -netdev socket,id=n$id$,udp=:$rp$,localaddr=:$lp$ -device virtio-net-pci,netdev=n$id$,mac=$ad$ Router> !!!separator- enable configure terminal freeRtr-25.11.9/cfg/p4lang4.ini000066400000000000000000000011071510423065500160130ustar00rootroot00000000000000xdp punting route mpls bundle vlan pppoe eompls bridge vpls evpn hairpin sgt loconn pmtud vrfysrc gre l2tp l3tp gtp nsh polka gretap pppoetap l2tptap l3tptap pckoudp vxlan pwhe qemu-img create -f qcow2 -o backing_file=../img/p4xdp.img,backing_fmt=raw $fn$ qemu-system-x86_64 -monitor none -serial stdio -nographic -no-reboot -enable-kvm -cpu host -smp cores=2,threads=1,sockets=1 -drive file=$fn$,format=qcow2,cache=unsafe -m 1024 $nc$ 0 -netdev socket,id=n$id$,udp=:$rp$,localaddr=:$lp$ -device virtio-net-pci,netdev=n$id$,mac=$ad$ Router> !!!separator- enable configure terminal freeRtr-25.11.9/cfg/p4lang5.ini000066400000000000000000000006611510423065500160200ustar00rootroot00000000000000udp pckout punting copp acl nat vlan bundle bridge pppoe hairpin gre l2tp route mpls vpls evpn eompls gretap pppoetap l2tptap l3tptap tmuxtap ipiptap ipsectap vxlan ipip macsec ipsec pckoudp openvpn wireguard srv6 pbr ratelim qos flwspc mroute duplab bier amt nsh racl inspect sgt vrfysrc gtp loconn tcpmss pmtud l3tp tmux etherip polka mpolka pwhe mgre ../binTmp/p4udp.bin 127.0.0.1 $cp$ 0 127.0.0.1 127.0.0.1 $nc$ 1 $lp$ $rp$ freeRtr-25.11.9/cfg/p4lang6.ini000066400000000000000000000007311510423065500160170ustar00rootroot00000000000000emudp pckout punting copp acl nat vlan bundle bridge pppoe hairpin gre l2tp route mpls vpls evpn eompls gretap pppoetap l2tptap l3tptap tmuxtap ipiptap ipsectap vxlan ipip macsec ipsec pckoudp openvpn wireguard srv6 pbr ratelim qos flwspc mroute duplab bier amt nsh racl inspect sgt vrfysrc gtp loconn tcpmss pmtud l3tp tmux etherip polka mpolka pwhe mgre /usr/bin/qemu-s390x -L ../binDsk/ ../binDsk/rtr/p4udp.bin 127.0.0.1 $cp$ 0 127.0.0.1 127.0.0.1 $nc$ 1 $lp$ $rp$ freeRtr-25.11.9/cfg/p4lang7.ini000066400000000000000000000007761510423065500160310ustar00rootroot00000000000000vgudp pckout punting copp acl nat vlan bundle bridge pppoe hairpin gre l2tp route mpls vpls evpn eompls gretap pppoetap l2tptap l3tptap tmuxtap ipiptap ipsectap vxlan ipip macsec ipsec pckoudp openvpn wireguard srv6 pbr ratelim qos flwspc mroute duplab bier amt nsh racl inspect sgt vrfysrc gtp loconn tcpmss pmtud l3tp tmux etherip polka mpolka pwhe mgre valgrind.bin --suppressions=../misc/valgrind.cfg --exit-on-first-error=yes ../binTmp/p4udp.bin 127.0.0.1 $cp$ 0 127.0.0.1 127.0.0.1 $nc$ 1 $lp$ $rp$ freeRtr-25.11.9/cfg/qos-action01.tst000066400000000000000000000014541510423065500170200ustar00rootroot00000000000000description qos ingress transmit action addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p1 exit ! r2 tping 100 5 1.1.1.1 vrf v1 siz 200 r2 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 100 5 1.1.1.2 vrf v1 siz 200 r1 tping 100 5 1234::2 vrf v1 siz 200 r2 output show policy int eth1 in output ../binTmp/qos-transmit.html here is the policy:
show:0
! freeRtr-25.11.9/cfg/qos-action02.tst000066400000000000000000000011151510423065500170130ustar00rootroot00000000000000description qos egress transmit action addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-out p1 exit ! r2 tping 100 5 1.1.1.1 vrf v1 siz 200 r2 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 100 5 1.1.1.2 vrf v1 siz 200 r1 tping 100 5 1234::2 vrf v1 siz 200 freeRtr-25.11.9/cfg/qos-action03.tst000066400000000000000000000014331510423065500170170ustar00rootroot00000000000000description qos ingress drop action addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p1 exit ! r2 tping 0 5 1.1.1.1 vrf v1 siz 200 r2 tping 0 5 1234::1 vrf v1 siz 200 r1 tping 0 5 1.1.1.2 vrf v1 siz 200 r1 tping 0 5 1234::2 vrf v1 siz 200 r2 output show policy int eth1 in output ../binTmp/qos-drop.html here is the policy:
show:0
! freeRtr-25.11.9/cfg/qos-action04.tst000066400000000000000000000011001510423065500170070ustar00rootroot00000000000000description qos egress drop action addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-out p1 exit ! r2 tping 0 5 1.1.1.1 vrf v1 siz 200 r2 tping 0 5 1234::1 vrf v1 siz 200 r1 tping 0 5 1.1.1.2 vrf v1 siz 200 r1 tping 0 5 1234::2 vrf v1 siz 200 freeRtr-25.11.9/cfg/qos-action05.tst000066400000000000000000000016771510423065500170330ustar00rootroot00000000000000description qos ingress policer action addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act pol access-rate 81920 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p1 exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 85-95 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 85-95 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1234::2 vrf v1 rep 100 tim 500 siz 100 r2 output show policy int eth1 in output ../binTmp/qos-police.html here is the policy:
show:0
! freeRtr-25.11.9/cfg/qos-action06.tst000066400000000000000000000013421510423065500170210ustar00rootroot00000000000000description qos egress policer action addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act pol access-rate 81920 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-out p1 exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 85-95 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 85-95 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1234::2 vrf v1 rep 100 tim 500 siz 100 freeRtr-25.11.9/cfg/qos-action07.tst000066400000000000000000000017021510423065500170220ustar00rootroot00000000000000description qos ingress priority action addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act pri access-rate 81920 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p1 exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 85-95 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 85-95 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1234::2 vrf v1 rep 100 tim 500 siz 100 r2 output show policy int eth1 in output ../binTmp/qos-priority.html here is the policy:
show:0
! freeRtr-25.11.9/cfg/qos-action08.tst000066400000000000000000000013431510423065500170240ustar00rootroot00000000000000description qos egress priority action addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act pri access-rate 81920 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-out p1 exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 85-95 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 85-95 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1234::2 vrf v1 rep 100 tim 500 siz 100 freeRtr-25.11.9/cfg/qos-action09.tst000066400000000000000000000016741510423065500170340ustar00rootroot00000000000000description qos ingress bandwidth action addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act ban access-rate 81920 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p1 exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 100 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 100 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 100 5 1234::2 vrf v1 rep 100 tim 500 siz 100 r2 output show policy int eth1 in output ../binTmp/qos-bandwidth.html here is the policy:
show:0
! freeRtr-25.11.9/cfg/qos-action10.tst000066400000000000000000000013341510423065500170150ustar00rootroot00000000000000description qos egress bandwidth action addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act ban access-rate 81920 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-out p1 exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 100 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 100 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 100 5 1234::2 vrf v1 rep 100 tim 500 siz 100 freeRtr-25.11.9/cfg/qos-action11.tst000066400000000000000000000020031510423065500170100ustar00rootroot00000000000000description qos ingress shaper action addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act sha access-rate 65536 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: service-policy-in p1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act pol access-rate 81920 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p1 exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 100 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 100 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 100 5 1234::2 vrf v1 rep 100 tim 500 siz 100 r2 output show policy int eth1 in output ../binTmp/qos-shape.html here is the policy:
show:0
! freeRtr-25.11.9/cfg/qos-action12.tst000066400000000000000000000014471510423065500170240ustar00rootroot00000000000000description qos egress shaper action addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act sha access-rate 65536 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: service-policy-out p1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act pol access-rate 81920 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p1 exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 100 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 100 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 100 5 1234::2 vrf v1 rep 100 tim 500 siz 100 freeRtr-25.11.9/cfg/qos-action13.tst000066400000000000000000000020101510423065500170100ustar00rootroot00000000000000description qos ingress hierarchical action addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act pol access-rate 81920 exit policy-map p2 seq 10 act sha access-rate 163840 service p1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p2 exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 85-95 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 85-95 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1234::2 vrf v1 rep 100 tim 500 siz 100 r2 output show policy int eth1 in output ../binTmp/qos-hqos.html here is the policy:
show:0
! freeRtr-25.11.9/cfg/qos-action14.tst000066400000000000000000000014551510423065500170250ustar00rootroot00000000000000description qos egress hierarchical action addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act pol access-rate 81920 exit policy-map p2 seq 10 act sha access-rate 163840 service p1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-out p2 exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 85-95 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 85-95 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1234::2 vrf v1 rep 100 tim 500 siz 100 freeRtr-25.11.9/cfg/qos-action15.tst000066400000000000000000000016671510423065500170330ustar00rootroot00000000000000description qos ingress pps action addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act pps access-rate 1024 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p1 exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 85-95 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 85-95 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1234::2 vrf v1 rep 100 tim 500 siz 100 r2 output show policy int eth1 in output ../binTmp/qos-pps.html here is the policy:
show:0
! freeRtr-25.11.9/cfg/qos-action16.tst000066400000000000000000000013351510423065500170240ustar00rootroot00000000000000description qos egress pps action addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act pps access-rate 1024 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-out p1 exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 85-95 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 85-95 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1234::2 vrf v1 rep 100 tim 500 siz 100 freeRtr-25.11.9/cfg/qos-action17.tst000066400000000000000000000012561510423065500170270ustar00rootroot00000000000000description qos ingress rate limit action addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: rate-limit-in 819 100 exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 85-95 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 85-95 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1234::2 vrf v1 rep 100 tim 500 siz 100 freeRtr-25.11.9/cfg/qos-action18.tst000066400000000000000000000012561510423065500170300ustar00rootroot00000000000000description qos egress rate limit action addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: rate-limit-out 819 100 exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 85-95 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 85-95 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1234::2 vrf v1 rep 100 tim 500 siz 100 freeRtr-25.11.9/cfg/qos-action19.tst000066400000000000000000000026331510423065500170310ustar00rootroot00000000000000description qos ingress divert action addrouter r1 int ser1 ser - $1a$ $1b$ int ser2 ser - $2a$ $2b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2b$ $2a$ int ser3 ser - $3a$ $3b$ int ser4 ser - $4a$ $4b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit vrf def v3 rd 1:3 exit vrf def v4 rd 1:4 exit policy-map p1 seq 10 act trans set vrf v4 exit policy-map p2 seq 10 act trans set vrf v2 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p1 exit int ser2 vrf for v2 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int ser3 vrf for v3 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p2 exit int ser4 vrf for v4 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int ser1 ser - $3b$ $3a$ int ser2 ser - $4b$ $4a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit int ser2 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: exit ! r3 tping 100 15 1.1.1.1 vrf v1 siz 200 r3 tping 100 15 1234::1 vrf v1 siz 200 r1 tping 100 15 1.1.1.3 vrf v1 siz 200 r1 tping 100 15 1234::3 vrf v1 siz 200 freeRtr-25.11.9/cfg/qos-copp01.tst000066400000000000000000000011151510423065500164760ustar00rootroot00000000000000description qos ingress transmit copp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! policy-map p1 seq 10 act trans exit vrf def v1 rd 1:1 copp4in p1 copp6in p1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 siz 200 r2 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 100 5 1.1.1.2 vrf v1 siz 200 r1 tping 100 5 1234::2 vrf v1 siz 200 freeRtr-25.11.9/cfg/qos-copp02.tst000066400000000000000000000011161510423065500165000ustar00rootroot00000000000000description qos egress transmit copp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! policy-map p1 seq 10 act trans exit vrf def v1 rd 1:1 copp4out p1 copp6out p1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 siz 200 r2 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 100 5 1.1.1.2 vrf v1 siz 200 r1 tping 100 5 1234::2 vrf v1 siz 200 freeRtr-25.11.9/cfg/qos-copp03.tst000066400000000000000000000011001510423065500164720ustar00rootroot00000000000000description qos ingress drop copp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! policy-map p1 seq 10 act drop exit vrf def v1 rd 1:1 copp4in p1 copp6in p1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r2 tping 0 5 1.1.1.1 vrf v1 siz 200 r2 tping 0 5 1234::1 vrf v1 siz 200 r1 tping 0 5 1.1.1.2 vrf v1 siz 200 r1 tping 0 5 1234::2 vrf v1 siz 200 freeRtr-25.11.9/cfg/qos-copp04.tst000066400000000000000000000011011510423065500164740ustar00rootroot00000000000000description qos egress drop copp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! policy-map p1 seq 10 act drop exit vrf def v1 rd 1:1 copp4out p1 copp6out p1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r2 tping 0 5 1.1.1.1 vrf v1 siz 200 r2 tping 0 5 1234::1 vrf v1 siz 200 r1 tping 0 5 1.1.1.2 vrf v1 siz 200 r1 tping 0 5 1234::2 vrf v1 siz 200 freeRtr-25.11.9/cfg/qos-copp05.tst000066400000000000000000000013421510423065500165040ustar00rootroot00000000000000description qos ingress policer copp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! policy-map p1 seq 10 act pol access-rate 81920 exit vrf def v1 rd 1:1 copp4in p1 copp6in p1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 85-95 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 85-95 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1234::2 vrf v1 rep 100 tim 500 siz 100 freeRtr-25.11.9/cfg/qos-copp06.tst000066400000000000000000000013431510423065500165060ustar00rootroot00000000000000description qos egress policer copp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! policy-map p1 seq 10 act pol access-rate 81920 exit vrf def v1 rd 1:1 copp4out p1 copp6out p1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 85-95 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 85-95 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1234::2 vrf v1 rep 100 tim 500 siz 100 freeRtr-25.11.9/cfg/qos-copp07.tst000066400000000000000000000011011510423065500164770ustar00rootroot00000000000000description qos transmit dapp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! policy-map p1 seq 10 act trans exit vrf def v1 rd 1:1 dapp4 p1 dapp6 p1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 siz 200 r2 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 100 5 1.1.1.2 vrf v1 siz 200 r1 tping 100 5 1234::2 vrf v1 siz 200 freeRtr-25.11.9/cfg/qos-copp08.tst000066400000000000000000000010641510423065500165100ustar00rootroot00000000000000description qos drop dapp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! policy-map p1 seq 10 act drop exit vrf def v1 rd 1:1 dapp4 p1 dapp6 p1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r2 tping 0 5 1.1.1.1 vrf v1 siz 200 r2 tping 0 5 1234::1 vrf v1 siz 200 r1 tping 0 5 1.1.1.2 vrf v1 siz 200 r1 tping 0 5 1234::2 vrf v1 siz 200 freeRtr-25.11.9/cfg/qos-copp09.tst000066400000000000000000000013271510423065500165130ustar00rootroot00000000000000description qos policer dapp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! policy-map p1 seq 10 act pol access-rate 163840 exit vrf def v1 rd 1:1 dapp4 p1 dapp6 p1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 85-95 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 85-95 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1234::2 vrf v1 rep 100 tim 500 siz 100 freeRtr-25.11.9/cfg/qos-copp10.tst000066400000000000000000000013301510423065500164750ustar00rootroot00000000000000description qos priority dapp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! policy-map p1 seq 10 act pri access-rate 163840 exit vrf def v1 rd 1:1 dapp4 p1 dapp6 p1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 85-95 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 85-95 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1234::2 vrf v1 rep 100 tim 500 siz 100 freeRtr-25.11.9/cfg/qos-copp11.tst000066400000000000000000000015521510423065500165040ustar00rootroot00000000000000description qos transmit flowspec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! access-list a4 permit 1 any all any all exit access-list a6 permit 58 any all any all exit policy-map p4 seq 10 act trans match access-group a4 exit policy-map p6 seq 10 act trans match access-group a6 exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit router bgp4 1 vrf v1 flowspec-install flowspec-advert p4 exit router bgp6 1 vrf v1 flowspec-install flowspec-advert p6 exit ! r2 tping 100 5 1.1.1.1 vrf v1 siz 200 r2 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 100 5 1.1.1.2 vrf v1 siz 200 r1 tping 100 5 1234::2 vrf v1 siz 200 freeRtr-25.11.9/cfg/qos-copp12.tst000066400000000000000000000015341510423065500165050ustar00rootroot00000000000000description qos drop flowspec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! access-list a4 permit 1 any all any all exit access-list a6 permit 58 any all any all exit policy-map p4 seq 10 act drop match access-group a4 exit policy-map p6 seq 10 act drop match access-group a6 exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit router bgp4 1 vrf v1 flowspec-install flowspec-advert p4 exit router bgp6 1 vrf v1 flowspec-install flowspec-advert p6 exit ! r2 tping 0 5 1.1.1.1 vrf v1 siz 200 r2 tping 0 5 1234::1 vrf v1 siz 200 r1 tping 0 5 1.1.1.2 vrf v1 siz 200 r1 tping 0 5 1234::2 vrf v1 siz 200 freeRtr-25.11.9/cfg/qos-copp13.tst000066400000000000000000000020231510423065500165000ustar00rootroot00000000000000description qos policer flowspec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! access-list a4 permit 1 any all any all exit access-list a6 permit 58 any all any all exit policy-map p4 seq 10 act pol access-rate 163840 match access-group a4 exit policy-map p6 seq 10 act pol access-rate 163840 match access-group a6 exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit router bgp4 1 vrf v1 flowspec-install flowspec-advert p4 exit router bgp6 1 vrf v1 flowspec-install flowspec-advert p6 exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 85-95 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 85-95 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1234::2 vrf v1 rep 100 tim 500 siz 100 freeRtr-25.11.9/cfg/qos-copp14.tst000066400000000000000000000020241510423065500165020ustar00rootroot00000000000000description qos priority flowspec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! access-list a4 permit 1 any all any all exit access-list a6 permit 58 any all any all exit policy-map p4 seq 10 act pri access-rate 163840 match access-group a4 exit policy-map p6 seq 10 act pri access-rate 163840 match access-group a6 exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit router bgp4 1 vrf v1 flowspec-install flowspec-advert p4 exit router bgp6 1 vrf v1 flowspec-install flowspec-advert p6 exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 85-95 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 85-95 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1234::2 vrf v1 rep 100 tim 500 siz 100 freeRtr-25.11.9/cfg/qos-copp15.tst000066400000000000000000000017311510423065500165070ustar00rootroot00000000000000description qos transmit otherflowspec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! access-list a4 permit 1 any all any all exit access-list a6 permit 58 any all any all exit policy-map p4 seq 10 act trans match access-group a4 exit policy-map p6 seq 10 act trans match access-group a6 exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit router bgp4 1 vrf v1 afi-other ena no afi-other vpn afi-other flowspec-install afi-other flowspec-advert p6 exit router bgp6 1 vrf v1 afi-other ena no afi-other vpn afi-other flowspec-install afi-other flowspec-advert p4 exit ! r2 tping 100 5 1.1.1.1 vrf v1 siz 200 r2 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 100 5 1.1.1.2 vrf v1 siz 200 r1 tping 100 5 1234::2 vrf v1 siz 200 freeRtr-25.11.9/cfg/qos-copp16.tst000066400000000000000000000017131510423065500165100ustar00rootroot00000000000000description qos drop otherflowspec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! access-list a4 permit 1 any all any all exit access-list a6 permit 58 any all any all exit policy-map p4 seq 10 act drop match access-group a4 exit policy-map p6 seq 10 act drop match access-group a6 exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit router bgp4 1 vrf v1 afi-other ena no afi-other vpn afi-other flowspec-install afi-other flowspec-advert p6 exit router bgp6 1 vrf v1 afi-other ena no afi-other vpn afi-other flowspec-install afi-other flowspec-advert p4 exit ! r2 tping 0 5 1.1.1.1 vrf v1 siz 200 r2 tping 0 5 1234::1 vrf v1 siz 200 r1 tping 0 5 1.1.1.2 vrf v1 siz 200 r1 tping 0 5 1234::2 vrf v1 siz 200 freeRtr-25.11.9/cfg/qos-copp17.tst000066400000000000000000000022021510423065500165030ustar00rootroot00000000000000description qos policer otherflowspec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! access-list a4 permit 1 any all any all exit access-list a6 permit 58 any all any all exit policy-map p4 seq 10 act pol access-rate 163840 match access-group a4 exit policy-map p6 seq 10 act pol access-rate 163840 match access-group a6 exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit router bgp4 1 vrf v1 afi-other ena no afi-other vpn afi-other flowspec-install afi-other flowspec-advert p6 exit router bgp6 1 vrf v1 afi-other ena no afi-other vpn afi-other flowspec-install afi-other flowspec-advert p4 exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 85-95 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 85-95 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1234::2 vrf v1 rep 100 tim 500 siz 100 freeRtr-25.11.9/cfg/qos-copp18.tst000066400000000000000000000022031510423065500165050ustar00rootroot00000000000000description qos priority otherflowspec addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! access-list a4 permit 1 any all any all exit access-list a6 permit 58 any all any all exit policy-map p4 seq 10 act pri access-rate 163840 match access-group a4 exit policy-map p6 seq 10 act pri access-rate 163840 match access-group a6 exit vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit router bgp4 1 vrf v1 afi-other ena no afi-other vpn afi-other flowspec-install afi-other flowspec-advert p6 exit router bgp6 1 vrf v1 afi-other ena no afi-other vpn afi-other flowspec-install afi-other flowspec-advert p4 exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 85-95 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 85-95 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1234::2 vrf v1 rep 100 tim 500 siz 100 freeRtr-25.11.9/cfg/qos-copp19.tst000066400000000000000000000013351510423065500165130ustar00rootroot00000000000000description qos ingress pps copp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! policy-map p1 seq 10 act pps access-rate 1024 exit vrf def v1 rd 1:1 copp4in p1 copp6in p1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 85-95 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 85-95 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1234::2 vrf v1 rep 100 tim 500 siz 100 freeRtr-25.11.9/cfg/qos-copp20.tst000066400000000000000000000013361510423065500165040ustar00rootroot00000000000000description qos egress pps copp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! policy-map p1 seq 10 act pps access-rate 1024 exit vrf def v1 rd 1:1 copp4out p1 copp6out p1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 85-95 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 85-95 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1234::2 vrf v1 rep 100 tim 500 siz 100 freeRtr-25.11.9/cfg/qos-copp21.tst000066400000000000000000000013211510423065500164770ustar00rootroot00000000000000description qos pps dapp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! policy-map p1 seq 10 act pps access-rate 2048 exit vrf def v1 rd 1:1 dapp4 p1 dapp6 p1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r2 tping 85-95 5 1.1.1.1 vrf v1 rep 100 tim 500 siz 100 r2 tping 85-95 5 1234::1 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1.1.1.2 vrf v1 rep 100 tim 500 siz 100 r1 tping 85-95 5 1234::2 vrf v1 rep 100 tim 500 siz 100 freeRtr-25.11.9/cfg/qos-copp22.tst000066400000000000000000000026151510423065500165070ustar00rootroot00000000000000description qos divert dapp addrouter r1 int ser1 ser - $1a$ $1b$ int ser2 ser - $2a$ $2b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2b$ $2a$ int ser3 ser - $3a$ $3b$ int ser4 ser - $4a$ $4b$ ! vrf def v2 rd 1:2 exit vrf def v4 rd 1:4 exit policy-map p1 seq 10 act trans set vrf v4 exit policy-map p2 seq 10 act trans set vrf v2 exit vrf def v1 rd 1:1 dapp4 p1 dapp6 p1 exit vrf def v3 rd 1:3 dapp4 p2 dapp6 p2 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int ser2 vrf for v2 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int ser3 vrf for v3 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int ser4 vrf for v4 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! addrouter r3 int ser1 ser - $3b$ $3a$ int ser2 ser - $4b$ $4a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit int ser2 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: exit ! r3 tping 100 15 1.1.1.1 vrf v1 siz 200 r3 tping 100 15 1234::1 vrf v1 siz 200 r1 tping 100 15 1.1.1.3 vrf v1 siz 200 r1 tping 100 15 1234::3 vrf v1 siz 200 freeRtr-25.11.9/cfg/qos-copp23.tst000066400000000000000000000036261510423065500165130ustar00rootroot00000000000000description qos divert flowspec addrouter r1 int ser1 ser - $1a$ $1b$ int ser2 ser - $2a$ $2b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2b$ $2a$ int ser3 ser - $3a$ $3b$ int ser4 ser - $4a$ $4b$ ! vrf def v1 rd 1:1 exit vrf def v3 rd 1:3 exit vrf def v2 rd 1:2 exit vrf def v4 rd 1:4 exit access-list a4 permit 1 any all any all exit access-list a6 permit 58 any all any all exit policy-map p1 seq 10 act trans match access-group a4 set vrf v4 exit policy-map p2 seq 10 act trans match access-group a4 set vrf v2 exit policy-map p3 seq 10 act trans match access-group a6 set vrf v4 exit policy-map p4 seq 10 act trans match access-group a6 set vrf v2 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int ser2 vrf for v2 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int ser3 vrf for v3 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int ser4 vrf for v4 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit router bgp4 1 vrf v1 flowspec-install flowspec-advert p1 exit router bgp6 1 vrf v1 flowspec-install flowspec-advert p3 exit router bgp4 3 vrf v3 flowspec-install flowspec-advert p2 exit router bgp6 3 vrf v3 flowspec-install flowspec-advert p4 exit ! addrouter r3 int ser1 ser - $3b$ $3a$ int ser2 ser - $4b$ $4a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit int ser2 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: exit ! r3 tping 100 15 1.1.1.1 vrf v1 siz 200 r3 tping 100 15 1234::1 vrf v1 siz 200 r1 tping 100 15 1.1.1.3 vrf v1 siz 200 r1 tping 100 15 1234::3 vrf v1 siz 200 freeRtr-25.11.9/cfg/qos-copp24.tst000066400000000000000000000041571510423065500165140ustar00rootroot00000000000000description qos divert otherflowspec addrouter r1 int ser1 ser - $1a$ $1b$ int ser2 ser - $2a$ $2b$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int ser2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2b$ $2a$ int ser3 ser - $3a$ $3b$ int ser4 ser - $4a$ $4b$ ! vrf def v1 rd 1:1 exit vrf def v3 rd 1:3 exit vrf def v2 rd 1:2 exit vrf def v4 rd 1:4 exit access-list a4 permit 1 any all any all exit access-list a6 permit 58 any all any all exit policy-map p1 seq 10 act trans match access-group a4 set vrf v4 exit policy-map p2 seq 10 act trans match access-group a4 set vrf v2 exit policy-map p3 seq 10 act trans match access-group a6 set vrf v4 exit policy-map p4 seq 10 act trans match access-group a6 set vrf v2 exit int ser1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int ser2 vrf for v2 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int ser3 vrf for v3 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int ser4 vrf for v4 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit router bgp4 1 vrf v1 afi-other ena no afi-other vpn afi-other flowspec-install afi-other flowspec-advert p3 exit router bgp6 1 vrf v1 afi-other ena no afi-other vpn afi-other flowspec-install afi-other flowspec-advert p1 exit router bgp4 3 vrf v3 afi-other ena no afi-other vpn afi-other flowspec-install afi-other flowspec-advert p4 exit router bgp6 3 vrf v3 afi-other ena no afi-other vpn afi-other flowspec-install afi-other flowspec-advert p2 exit ! addrouter r3 int ser1 ser - $3b$ $3a$ int ser2 ser - $4b$ $4a$ ! vrf def v1 rd 1:1 exit int ser1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit int ser2 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: exit ! r3 tping 100 15 1.1.1.1 vrf v1 siz 200 r3 tping 100 15 1234::1 vrf v1 siz 200 r1 tping 100 15 1.1.1.3 vrf v1 siz 200 r1 tping 100 15 1234::3 vrf v1 siz 200 freeRtr-25.11.9/cfg/qos-match01.tst000066400000000000000000000025321510423065500166350ustar00rootroot00000000000000description qos ingress length matcher addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match length 300-500 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-in p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 siz 200 r3 tping 100 5 1.1.1.1 vrf v1 siz 200 r1 tping 100 5 4321::2 vrf v1 siz 200 r3 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 0 5 2.2.2.2 vrf v1 siz 400 r3 tping 0 5 1.1.1.1 vrf v1 siz 400 r1 tping 0 5 4321::2 vrf v1 siz 400 r3 tping 0 5 1234::1 vrf v1 siz 400 r1 tping 100 5 2.2.2.2 vrf v1 siz 600 r3 tping 100 5 1.1.1.1 vrf v1 siz 600 r1 tping 100 5 4321::2 vrf v1 siz 600 r3 tping 100 5 1234::1 vrf v1 siz 600 freeRtr-25.11.9/cfg/qos-match02.tst000066400000000000000000000025331510423065500166370ustar00rootroot00000000000000description qos egress length matcher addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match length 300-500 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-out p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-out p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 siz 200 r3 tping 100 5 1.1.1.1 vrf v1 siz 200 r1 tping 100 5 4321::2 vrf v1 siz 200 r3 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 0 5 2.2.2.2 vrf v1 siz 400 r3 tping 0 5 1.1.1.1 vrf v1 siz 400 r1 tping 0 5 4321::2 vrf v1 siz 400 r3 tping 0 5 1234::1 vrf v1 siz 400 r1 tping 100 5 2.2.2.2 vrf v1 siz 600 r3 tping 100 5 1.1.1.1 vrf v1 siz 600 r1 tping 100 5 4321::2 vrf v1 siz 600 r3 tping 100 5 1234::1 vrf v1 siz 600 freeRtr-25.11.9/cfg/qos-match03.tst000066400000000000000000000022671510423065500166440ustar00rootroot00000000000000description qos ingress tos matcher addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match tos 123 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-in p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 tos 124 r3 tping 100 5 1.1.1.1 vrf v1 tos 124 r1 tping 100 5 4321::2 vrf v1 tos 124 r3 tping 100 5 1234::1 vrf v1 tos 124 r1 tping 0 5 2.2.2.2 vrf v1 tos 123 r3 tping 0 5 1.1.1.1 vrf v1 tos 123 r1 tping 0 5 4321::2 vrf v1 tos 123 r3 tping 0 5 1234::1 vrf v1 tos 123 freeRtr-25.11.9/cfg/qos-match04.tst000066400000000000000000000022701510423065500166370ustar00rootroot00000000000000description qos egress tos matcher addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match tos 123 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-out p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-out p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 tos 124 r3 tping 100 5 1.1.1.1 vrf v1 tos 124 r1 tping 100 5 4321::2 vrf v1 tos 124 r3 tping 100 5 1234::1 vrf v1 tos 124 r1 tping 0 5 2.2.2.2 vrf v1 tos 123 r3 tping 0 5 1.1.1.1 vrf v1 tos 123 r1 tping 0 5 4321::2 vrf v1 tos 123 r3 tping 0 5 1234::1 vrf v1 tos 123 freeRtr-25.11.9/cfg/qos-match05.tst000066400000000000000000000022601510423065500166370ustar00rootroot00000000000000description qos ingress dscp matcher addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match dscp 12 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-in p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 tos 47 r3 tping 100 5 1.1.1.1 vrf v1 tos 47 r1 tping 100 5 4321::2 vrf v1 tos 47 r3 tping 100 5 1234::1 vrf v1 tos 47 r1 tping 0 5 2.2.2.2 vrf v1 tos 48 r3 tping 0 5 1.1.1.1 vrf v1 tos 48 r1 tping 0 5 4321::2 vrf v1 tos 48 r3 tping 0 5 1234::1 vrf v1 tos 48 freeRtr-25.11.9/cfg/qos-match06.tst000066400000000000000000000022611510423065500166410ustar00rootroot00000000000000description qos egress dscp matcher addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match dscp 12 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-out p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-out p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 tos 47 r3 tping 100 5 1.1.1.1 vrf v1 tos 47 r1 tping 100 5 4321::2 vrf v1 tos 47 r3 tping 100 5 1234::1 vrf v1 tos 47 r1 tping 0 5 2.2.2.2 vrf v1 tos 48 r3 tping 0 5 1.1.1.1 vrf v1 tos 48 r1 tping 0 5 4321::2 vrf v1 tos 48 r3 tping 0 5 1234::1 vrf v1 tos 48 freeRtr-25.11.9/cfg/qos-match07.tst000066400000000000000000000022571510423065500166470ustar00rootroot00000000000000description qos ingress prec matcher addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match prec 2 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-in p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 tos 63 r3 tping 100 5 1.1.1.1 vrf v1 tos 63 r1 tping 100 5 4321::2 vrf v1 tos 63 r3 tping 100 5 1234::1 vrf v1 tos 63 r1 tping 0 5 2.2.2.2 vrf v1 tos 64 r3 tping 0 5 1.1.1.1 vrf v1 tos 64 r1 tping 0 5 4321::2 vrf v1 tos 64 r3 tping 0 5 1234::1 vrf v1 tos 64 freeRtr-25.11.9/cfg/qos-match08.tst000066400000000000000000000022601510423065500166420ustar00rootroot00000000000000description qos egress prec matcher addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match prec 2 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-out p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-out p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 tos 63 r3 tping 100 5 1.1.1.1 vrf v1 tos 63 r1 tping 100 5 4321::2 vrf v1 tos 63 r3 tping 100 5 1234::1 vrf v1 tos 63 r1 tping 0 5 2.2.2.2 vrf v1 tos 64 r3 tping 0 5 1.1.1.1 vrf v1 tos 64 r1 tping 0 5 4321::2 vrf v1 tos 64 r3 tping 0 5 1234::1 vrf v1 tos 64 freeRtr-25.11.9/cfg/qos-match09.tst000066400000000000000000000027711510423065500166520ustar00rootroot00000000000000description qos ingress acl matcher addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access a1 permit all 1.1.1.1 255.255.255.255 all 2.2.2.2 255.255.255.255 all permit all 2.2.2.2 255.255.255.255 all 1.1.1.1 255.255.255.255 all permit all 1234::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 1234::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit policy-map p1 seq 10 act drop match access a1 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-in p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r2 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 4321::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 tping 0 5 2.2.2.2 vrf v1 r3 tping 0 5 1.1.1.1 vrf v1 r1 tping 0 5 4321::2 vrf v1 r3 tping 0 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/qos-match10.tst000066400000000000000000000027721510423065500166430ustar00rootroot00000000000000description qos egress acl matcher addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access a1 permit all 1.1.1.1 255.255.255.255 all 2.2.2.2 255.255.255.255 all permit all 2.2.2.2 255.255.255.255 all 1.1.1.1 255.255.255.255 all permit all 1234::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all permit all 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 1234::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit policy-map p1 seq 10 act drop match access a1 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-out p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-out p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r2 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 4321::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 tping 0 5 2.2.2.2 vrf v1 r3 tping 0 5 1.1.1.1 vrf v1 r1 tping 0 5 4321::2 vrf v1 r3 tping 0 5 1234::1 vrf v1 freeRtr-25.11.9/cfg/qos-match11.tst000066400000000000000000000013111510423065500166300ustar00rootroot00000000000000description qos ingress ethertype matcher addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act trans match ethtyp 34525 seq 20 act drop exit int eth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 3333::1 ffff:: service-policy-in p1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 3333::2 ffff:: exit ! r1 tping 100 5 3.3.3.1 vrf v1 r1 tping 100 5 3333::1 vrf v1 r2 tping 100 5 3.3.3.2 vrf v1 r2 tping 100 5 3333::2 vrf v1 r2 tping 0 5 3.3.3.1 vrf v1 r2 tping 100 5 3333::1 vrf v1 r1 tping 0 5 3.3.3.2 vrf v1 r1 tping 100 5 3333::2 vrf v1 freeRtr-25.11.9/cfg/qos-match12.tst000066400000000000000000000013111510423065500166310ustar00rootroot00000000000000description qos egress ethertype matcher addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act trans match ethtyp 34525 seq 20 act drop exit int eth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 3333::1 ffff:: service-policy-out p1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 3333::2 ffff:: exit ! r1 tping 100 5 3.3.3.1 vrf v1 r1 tping 100 5 3333::1 vrf v1 r2 tping 100 5 3.3.3.2 vrf v1 r2 tping 100 5 3333::2 vrf v1 r2 tping 0 5 3.3.3.1 vrf v1 r2 tping 100 5 3333::1 vrf v1 r1 tping 0 5 3.3.3.2 vrf v1 r1 tping 100 5 3333::2 vrf v1 freeRtr-25.11.9/cfg/qos-match13.tst000066400000000000000000000033301510423065500166350ustar00rootroot00000000000000description qos ingress matcher on bridged traffic addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit policy-map p1 seq 10 act drop match length 300-500 seq 20 act trans exit int eth1 bridge-gr 1 service-policy-in p1 exit int eth2 bridge-gr 1 service-policy-in p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 siz 200 r3 tping 100 5 1.1.1.1 vrf v1 siz 200 r1 tping 100 5 1234::2 vrf v1 siz 200 r3 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 0 5 1.1.1.2 vrf v1 siz 400 r3 tping 0 5 1.1.1.1 vrf v1 siz 400 r1 tping 0 5 1234::2 vrf v1 siz 400 r3 tping 0 5 1234::1 vrf v1 siz 400 r1 tping 100 5 1.1.1.2 vrf v1 siz 600 r3 tping 100 5 1.1.1.1 vrf v1 siz 600 r1 tping 100 5 1234::2 vrf v1 siz 600 r3 tping 100 5 1234::1 vrf v1 siz 600 r2 tping 100 5 1.1.1.2 vrf v1 siz 200 r2 tping 100 5 1.1.1.1 vrf v1 siz 200 r2 tping 100 5 1234::2 vrf v1 siz 200 r2 tping 100 5 1234::1 vrf v1 siz 200 r2 tping 0 5 1.1.1.2 vrf v1 siz 400 r2 tping 0 5 1.1.1.1 vrf v1 siz 400 r2 tping 0 5 1234::2 vrf v1 siz 400 r2 tping 0 5 1234::1 vrf v1 siz 400 r2 tping 100 5 1.1.1.2 vrf v1 siz 600 r2 tping 100 5 1.1.1.1 vrf v1 siz 600 r2 tping 100 5 1234::2 vrf v1 siz 600 r2 tping 100 5 1234::1 vrf v1 siz 600 freeRtr-25.11.9/cfg/qos-match14.tst000066400000000000000000000033311510423065500166370ustar00rootroot00000000000000description qos egress matcher on bridged traffic addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: exit policy-map p1 seq 10 act drop match length 300-500 seq 20 act trans exit int eth1 bridge-gr 1 service-policy-out p1 exit int eth2 bridge-gr 1 service-policy-out p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 siz 200 r3 tping 100 5 1.1.1.1 vrf v1 siz 200 r1 tping 100 5 1234::2 vrf v1 siz 200 r3 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 0 5 1.1.1.2 vrf v1 siz 400 r3 tping 0 5 1.1.1.1 vrf v1 siz 400 r1 tping 0 5 1234::2 vrf v1 siz 400 r3 tping 0 5 1234::1 vrf v1 siz 400 r1 tping 100 5 1.1.1.2 vrf v1 siz 600 r3 tping 100 5 1.1.1.1 vrf v1 siz 600 r1 tping 100 5 1234::2 vrf v1 siz 600 r3 tping 100 5 1234::1 vrf v1 siz 600 r2 tping 100 5 1.1.1.2 vrf v1 siz 200 r2 tping 100 5 1.1.1.1 vrf v1 siz 200 r2 tping 100 5 1234::2 vrf v1 siz 200 r2 tping 100 5 1234::1 vrf v1 siz 200 r2 tping 0 5 1.1.1.2 vrf v1 siz 400 r2 tping 0 5 1.1.1.1 vrf v1 siz 400 r2 tping 0 5 1234::2 vrf v1 siz 400 r2 tping 0 5 1234::1 vrf v1 siz 400 r2 tping 100 5 1.1.1.2 vrf v1 siz 600 r2 tping 100 5 1.1.1.1 vrf v1 siz 600 r2 tping 100 5 1234::2 vrf v1 siz 600 r2 tping 100 5 1234::1 vrf v1 siz 600 freeRtr-25.11.9/cfg/qos-match15.tst000066400000000000000000000025241510423065500166430ustar00rootroot00000000000000description qos ingress ttl matcher addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match ttl 110-120 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-in p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 ttl 100 r3 tping 100 5 1.1.1.1 vrf v1 ttl 100 r1 tping 100 5 4321::2 vrf v1 ttl 100 r3 tping 100 5 1234::1 vrf v1 ttl 100 r1 tping 0 5 2.2.2.2 vrf v1 ttl 115 r3 tping 0 5 1.1.1.1 vrf v1 ttl 115 r1 tping 0 5 4321::2 vrf v1 ttl 115 r3 tping 0 5 1234::1 vrf v1 ttl 115 r1 tping 100 5 2.2.2.2 vrf v1 ttl 125 r3 tping 100 5 1.1.1.1 vrf v1 ttl 125 r1 tping 100 5 4321::2 vrf v1 ttl 125 r3 tping 100 5 1234::1 vrf v1 ttl 125 freeRtr-25.11.9/cfg/qos-match16.tst000066400000000000000000000025251510423065500166450ustar00rootroot00000000000000description qos egress ttl matcher addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match ttl 110-120 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-out p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-out p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 ttl 100 r3 tping 100 5 1.1.1.1 vrf v1 ttl 100 r1 tping 100 5 4321::2 vrf v1 ttl 100 r3 tping 100 5 1234::1 vrf v1 ttl 100 r1 tping 0 5 2.2.2.2 vrf v1 ttl 115 r3 tping 0 5 1.1.1.1 vrf v1 ttl 115 r1 tping 0 5 4321::2 vrf v1 ttl 115 r3 tping 0 5 1234::1 vrf v1 ttl 115 r1 tping 100 5 2.2.2.2 vrf v1 ttl 125 r3 tping 100 5 1.1.1.1 vrf v1 ttl 125 r1 tping 100 5 4321::2 vrf v1 ttl 125 r3 tping 100 5 1234::1 vrf v1 ttl 125 freeRtr-25.11.9/cfg/qos-match17.tst000066400000000000000000000023011510423065500166360ustar00rootroot00000000000000description qos ingress flow matcher addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match flow 123 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-in p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 flow 124 r3 tping 100 5 1.1.1.1 vrf v1 flow 124 r1 tping 100 5 4321::2 vrf v1 flow 124 r3 tping 100 5 1234::1 vrf v1 flow 124 r1 tping 0 5 2.2.2.2 vrf v1 flow 123 r3 tping 0 5 1.1.1.1 vrf v1 flow 123 r1 tping 0 5 4321::2 vrf v1 flow 123 r3 tping 0 5 1234::1 vrf v1 flow 123 freeRtr-25.11.9/cfg/qos-match18.tst000066400000000000000000000023021510423065500166400ustar00rootroot00000000000000description qos egress flow matcher addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match flow 123 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-out p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-out p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 flow 124 r3 tping 100 5 1.1.1.1 vrf v1 flow 124 r1 tping 100 5 4321::2 vrf v1 flow 124 r3 tping 100 5 1234::1 vrf v1 flow 124 r1 tping 0 5 2.2.2.2 vrf v1 flow 123 r3 tping 0 5 1.1.1.1 vrf v1 flow 123 r1 tping 0 5 4321::2 vrf v1 flow 123 r3 tping 0 5 1234::1 vrf v1 flow 123 freeRtr-25.11.9/cfg/qos-match19.tst000066400000000000000000000022041510423065500166420ustar00rootroot00000000000000description qos ingress sgt matcher addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match sgt 123 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: sgt ena service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: sgt ena exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: sgt ass 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r2 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 4321::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 tping 100 5 2.2.2.1 vrf v1 r1 tping 0 5 2.2.2.2 vrf v1 r1 tping 100 5 4321::1 vrf v1 r1 tping 0 5 4321::2 vrf v1 freeRtr-25.11.9/cfg/qos-match20.tst000066400000000000000000000022041510423065500166320ustar00rootroot00000000000000description qos egress sgt matcher addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: sgt ena exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match sgt 123 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-out p1 sgt ena exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: sgt ass 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r2 tping 100 5 2.2.2.2 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 4321::2 vrf v1 r2 tping 100 5 1234::1 vrf v1 r1 tping 100 5 2.2.2.1 vrf v1 r1 tping 0 5 2.2.2.2 vrf v1 r1 tping 100 5 4321::1 vrf v1 r1 tping 0 5 4321::2 vrf v1 freeRtr-25.11.9/cfg/qos-set01.tst000066400000000000000000000027401510423065500163350ustar00rootroot00000000000000description qos ingress qosgroup set addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act trans match length 300-500 set qos 12345 seq 20 act trans exit policy-map p2 seq 10 act drop match qos 12345 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p1 service-policy-out p2 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-in p1 service-policy-out p2 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 siz 200 r3 tping 100 5 1.1.1.1 vrf v1 siz 200 r1 tping 100 5 4321::2 vrf v1 siz 200 r3 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 0 5 2.2.2.2 vrf v1 siz 400 r3 tping 0 5 1.1.1.1 vrf v1 siz 400 r1 tping 0 5 4321::2 vrf v1 siz 400 r3 tping 0 5 1234::1 vrf v1 siz 400 r1 tping 100 5 2.2.2.2 vrf v1 siz 600 r3 tping 100 5 1.1.1.1 vrf v1 siz 600 r1 tping 100 5 4321::2 vrf v1 siz 600 r3 tping 100 5 1234::1 vrf v1 siz 600 freeRtr-25.11.9/cfg/qos-set02.tst000066400000000000000000000030521510423065500163330ustar00rootroot00000000000000description qos ingress tos set addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match tos 123 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act trans match length 300-500 set tos 123 seq 20 act trans set tos 122 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-in p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match tos 123 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 siz 200 r3 tping 100 5 1.1.1.1 vrf v1 siz 200 r1 tping 100 5 4321::2 vrf v1 siz 200 r3 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 0 5 2.2.2.2 vrf v1 siz 400 r3 tping 0 5 1.1.1.1 vrf v1 siz 400 r1 tping 0 5 4321::2 vrf v1 siz 400 r3 tping 0 5 1234::1 vrf v1 siz 400 r1 tping 100 5 2.2.2.2 vrf v1 siz 600 r3 tping 100 5 1.1.1.1 vrf v1 siz 600 r1 tping 100 5 4321::2 vrf v1 siz 600 r3 tping 100 5 1234::1 vrf v1 siz 600 freeRtr-25.11.9/cfg/qos-set03.tst000066400000000000000000000030531510423065500163350ustar00rootroot00000000000000description qos egress tos set addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match tos 123 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act trans match length 300-500 set tos 123 seq 20 act trans set tos 122 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-out p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-out p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match tos 123 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 siz 200 r3 tping 100 5 1.1.1.1 vrf v1 siz 200 r1 tping 100 5 4321::2 vrf v1 siz 200 r3 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 0 5 2.2.2.2 vrf v1 siz 400 r3 tping 0 5 1.1.1.1 vrf v1 siz 400 r1 tping 0 5 4321::2 vrf v1 siz 400 r3 tping 0 5 1234::1 vrf v1 siz 400 r1 tping 100 5 2.2.2.2 vrf v1 siz 600 r3 tping 100 5 1.1.1.1 vrf v1 siz 600 r1 tping 100 5 4321::2 vrf v1 siz 600 r3 tping 100 5 1234::1 vrf v1 siz 600 freeRtr-25.11.9/cfg/qos-set04.tst000066400000000000000000000030531510423065500163360ustar00rootroot00000000000000description qos ingress dscp set addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match dscp 12 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act trans match length 300-500 set dscp 12 seq 20 act trans set dscp 11 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-in p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match dscp 12 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 siz 200 r3 tping 100 5 1.1.1.1 vrf v1 siz 200 r1 tping 100 5 4321::2 vrf v1 siz 200 r3 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 0 5 2.2.2.2 vrf v1 siz 400 r3 tping 0 5 1.1.1.1 vrf v1 siz 400 r1 tping 0 5 4321::2 vrf v1 siz 400 r3 tping 0 5 1234::1 vrf v1 siz 400 r1 tping 100 5 2.2.2.2 vrf v1 siz 600 r3 tping 100 5 1.1.1.1 vrf v1 siz 600 r1 tping 100 5 4321::2 vrf v1 siz 600 r3 tping 100 5 1234::1 vrf v1 siz 600 freeRtr-25.11.9/cfg/qos-set05.tst000066400000000000000000000030541510423065500163400ustar00rootroot00000000000000description qos egress dscp set addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match dscp 12 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act trans match length 300-500 set dscp 12 seq 20 act trans set dscp 11 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-out p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-out p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match dscp 12 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 siz 200 r3 tping 100 5 1.1.1.1 vrf v1 siz 200 r1 tping 100 5 4321::2 vrf v1 siz 200 r3 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 0 5 2.2.2.2 vrf v1 siz 400 r3 tping 0 5 1.1.1.1 vrf v1 siz 400 r1 tping 0 5 4321::2 vrf v1 siz 400 r3 tping 0 5 1234::1 vrf v1 siz 400 r1 tping 100 5 2.2.2.2 vrf v1 siz 600 r3 tping 100 5 1.1.1.1 vrf v1 siz 600 r1 tping 100 5 4321::2 vrf v1 siz 600 r3 tping 100 5 1234::1 vrf v1 siz 600 freeRtr-25.11.9/cfg/qos-set06.tst000066400000000000000000000030471510423065500163430ustar00rootroot00000000000000description qos ingress prec set addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match prec 4 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act trans match length 300-500 set prec 4 seq 20 act trans set prec 5 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-in p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match prec 4 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 siz 200 r3 tping 100 5 1.1.1.1 vrf v1 siz 200 r1 tping 100 5 4321::2 vrf v1 siz 200 r3 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 0 5 2.2.2.2 vrf v1 siz 400 r3 tping 0 5 1.1.1.1 vrf v1 siz 400 r1 tping 0 5 4321::2 vrf v1 siz 400 r3 tping 0 5 1234::1 vrf v1 siz 400 r1 tping 100 5 2.2.2.2 vrf v1 siz 600 r3 tping 100 5 1.1.1.1 vrf v1 siz 600 r1 tping 100 5 4321::2 vrf v1 siz 600 r3 tping 100 5 1234::1 vrf v1 siz 600 freeRtr-25.11.9/cfg/qos-set07.tst000066400000000000000000000030501510423065500163360ustar00rootroot00000000000000description qos egress prec set addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match prec 4 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act trans match length 300-500 set prec 4 seq 20 act trans set prec 5 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-out p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-out p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match prec 4 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 siz 200 r3 tping 100 5 1.1.1.1 vrf v1 siz 200 r1 tping 100 5 4321::2 vrf v1 siz 200 r3 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 0 5 2.2.2.2 vrf v1 siz 400 r3 tping 0 5 1.1.1.1 vrf v1 siz 400 r1 tping 0 5 4321::2 vrf v1 siz 400 r3 tping 0 5 1234::1 vrf v1 siz 400 r1 tping 100 5 2.2.2.2 vrf v1 siz 600 r3 tping 100 5 1.1.1.1 vrf v1 siz 600 r1 tping 100 5 4321::2 vrf v1 siz 600 r3 tping 100 5 1234::1 vrf v1 siz 600 freeRtr-25.11.9/cfg/qos-set08.tst000066400000000000000000000031441510423065500163430ustar00rootroot00000000000000description qos cos set addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match cos 4 seq 20 act trans exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int eth1 service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act trans match length 300-500 set cos 4 seq 20 act trans set cos 5 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth1 service-policy-out p1 exit int eth2.11 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit int eth2 service-policy-out p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match cos 4 seq 20 act trans exit int eth1.11 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit int eth1 service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 siz 200 r3 tping 100 5 1.1.1.1 vrf v1 siz 200 r1 tping 100 5 4321::2 vrf v1 siz 200 r3 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 0 5 2.2.2.2 vrf v1 siz 400 r3 tping 0 5 1.1.1.1 vrf v1 siz 400 r1 tping 0 5 4321::2 vrf v1 siz 400 r3 tping 0 5 1234::1 vrf v1 siz 400 r1 tping 100 5 2.2.2.2 vrf v1 siz 600 r3 tping 100 5 1.1.1.1 vrf v1 siz 600 r1 tping 100 5 4321::2 vrf v1 siz 600 r3 tping 100 5 1234::1 vrf v1 siz 600 freeRtr-25.11.9/cfg/qos-set09.tst000066400000000000000000000046231510423065500163470ustar00rootroot00000000000000description qos ingress exp set addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit policy-map p1 seq 10 act drop match exp 4 seq 20 act trans exit int lo0 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 service-policy-in p1 exit ipv4 route v1 3.3.3.2 255.255.255.255 1.1.1.2 ipv6 route v1 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit policy-map p1 seq 10 act trans match length 300-500 set exp 4 seq 20 act trans set exp 5 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable mpls ldp4 mpls ldp6 service-policy-in p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: mpls enable mpls ldp4 mpls ldp6 service-policy-in p1 exit ipv4 route v1 3.3.3.1 255.255.255.255 1.1.1.1 ipv6 route v1 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv4 route v1 3.3.3.2 255.255.255.255 2.2.2.2 ipv6 route v1 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 4321::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit policy-map p1 seq 10 act drop match exp 4 seq 20 act trans exit int lo0 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: mpls enable mpls ldp4 mpls ldp6 service-policy-in p1 exit ipv4 route v1 3.3.3.1 255.255.255.255 2.2.2.1 ipv6 route v1 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 4321::1 ! r1 tping 100 5 3.3.3.2 vrf v1 sou lo0 siz 200 r3 tping 100 5 3.3.3.1 vrf v1 sou lo0 siz 200 r1 tping 100 5 3333::2 vrf v1 sou lo0 siz 200 r3 tping 100 5 3333::1 vrf v1 sou lo0 siz 200 r1 tping 0 15 3.3.3.2 vrf v1 sou lo0 siz 400 r3 tping 0 15 3.3.3.1 vrf v1 sou lo0 siz 400 r1 tping 0 15 3333::2 vrf v1 sou lo0 siz 400 r3 tping 0 15 3333::1 vrf v1 sou lo0 siz 400 r1 tping 100 5 3.3.3.2 vrf v1 sou lo0 siz 600 r3 tping 100 5 3.3.3.1 vrf v1 sou lo0 siz 600 r1 tping 100 5 3333::2 vrf v1 sou lo0 siz 600 r3 tping 100 5 3333::1 vrf v1 sou lo0 siz 600 freeRtr-25.11.9/cfg/qos-set10.tst000066400000000000000000000046241510423065500163400ustar00rootroot00000000000000description qos egress exp set addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit policy-map p1 seq 10 act drop match exp 4 seq 20 act trans exit int lo0 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 service-policy-in p1 exit ipv4 route v1 3.3.3.2 255.255.255.255 1.1.1.2 ipv6 route v1 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit policy-map p1 seq 10 act trans match length 300-500 set exp 4 seq 20 act trans set exp 5 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable mpls ldp4 mpls ldp6 service-policy-out p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: mpls enable mpls ldp4 mpls ldp6 service-policy-out p1 exit ipv4 route v1 3.3.3.1 255.255.255.255 1.1.1.1 ipv6 route v1 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::1 ipv4 route v1 3.3.3.2 255.255.255.255 2.2.2.2 ipv6 route v1 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 4321::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit policy-map p1 seq 10 act drop match exp 4 seq 20 act trans exit int lo0 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: mpls enable mpls ldp4 mpls ldp6 service-policy-in p1 exit ipv4 route v1 3.3.3.1 255.255.255.255 2.2.2.1 ipv6 route v1 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 4321::1 ! r1 tping 100 5 3.3.3.2 vrf v1 sou lo0 siz 200 r3 tping 100 5 3.3.3.1 vrf v1 sou lo0 siz 200 r1 tping 100 5 3333::2 vrf v1 sou lo0 siz 200 r3 tping 100 5 3333::1 vrf v1 sou lo0 siz 200 r1 tping 0 15 3.3.3.2 vrf v1 sou lo0 siz 400 r3 tping 0 15 3.3.3.1 vrf v1 sou lo0 siz 400 r1 tping 0 15 3333::2 vrf v1 sou lo0 siz 400 r3 tping 0 15 3333::1 vrf v1 sou lo0 siz 400 r1 tping 100 5 3.3.3.2 vrf v1 sou lo0 siz 600 r3 tping 100 5 3.3.3.1 vrf v1 sou lo0 siz 600 r1 tping 100 5 3333::2 vrf v1 sou lo0 siz 600 r3 tping 100 5 3333::1 vrf v1 sou lo0 siz 600 freeRtr-25.11.9/cfg/qos-set11.tst000066400000000000000000000030611510423065500163330ustar00rootroot00000000000000description qos ingress ttl set addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match ttl 100-150 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act trans match length 300-500 set ttl 123 seq 20 act trans set ttl 12 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-in p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match ttl 100-150 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 siz 200 r3 tping 100 5 1.1.1.1 vrf v1 siz 200 r1 tping 100 5 4321::2 vrf v1 siz 200 r3 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 0 5 2.2.2.2 vrf v1 siz 400 r3 tping 0 5 1.1.1.1 vrf v1 siz 400 r1 tping 0 5 4321::2 vrf v1 siz 400 r3 tping 0 5 1234::1 vrf v1 siz 400 r1 tping 100 5 2.2.2.2 vrf v1 siz 600 r3 tping 100 5 1.1.1.1 vrf v1 siz 600 r1 tping 100 5 4321::2 vrf v1 siz 600 r3 tping 100 5 1234::1 vrf v1 siz 600 freeRtr-25.11.9/cfg/qos-set12.tst000066400000000000000000000030621510423065500163350ustar00rootroot00000000000000description qos egress ttl set addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match ttl 100-150 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act trans match length 300-500 set ttl 123 seq 20 act trans set ttl 12 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-out p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-out p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match ttl 100-150 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 siz 200 r3 tping 100 5 1.1.1.1 vrf v1 siz 200 r1 tping 100 5 4321::2 vrf v1 siz 200 r3 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 0 5 2.2.2.2 vrf v1 siz 400 r3 tping 0 5 1.1.1.1 vrf v1 siz 400 r1 tping 0 5 4321::2 vrf v1 siz 400 r3 tping 0 5 1234::1 vrf v1 siz 400 r1 tping 100 5 2.2.2.2 vrf v1 siz 600 r3 tping 100 5 1.1.1.1 vrf v1 siz 600 r1 tping 100 5 4321::2 vrf v1 siz 600 r3 tping 100 5 1234::1 vrf v1 siz 600 freeRtr-25.11.9/cfg/qos-set13.tst000066400000000000000000000030571510423065500163420ustar00rootroot00000000000000description qos ingress flow set addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match flow 123 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act trans match length 300-500 set flow 123 seq 20 act trans set flow 122 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-in p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match flow 123 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 siz 200 r3 tping 100 5 1.1.1.1 vrf v1 siz 200 r1 tping 100 5 4321::2 vrf v1 siz 200 r3 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 0 5 2.2.2.2 vrf v1 siz 400 r3 tping 0 5 1.1.1.1 vrf v1 siz 400 r1 tping 0 5 4321::2 vrf v1 siz 400 r3 tping 0 5 1234::1 vrf v1 siz 400 r1 tping 100 5 2.2.2.2 vrf v1 siz 600 r3 tping 100 5 1.1.1.1 vrf v1 siz 600 r1 tping 100 5 4321::2 vrf v1 siz 600 r3 tping 100 5 1234::1 vrf v1 siz 600 freeRtr-25.11.9/cfg/qos-set14.tst000066400000000000000000000030601510423065500163350ustar00rootroot00000000000000description qos egress flow set addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match flow 123 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act trans match length 300-500 set flow 123 seq 20 act trans set flow 122 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-out p1 exit int eth2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-out p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match flow 123 seq 20 act trans exit int eth1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 siz 200 r3 tping 100 5 1.1.1.1 vrf v1 siz 200 r1 tping 100 5 4321::2 vrf v1 siz 200 r3 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 0 5 2.2.2.2 vrf v1 siz 400 r3 tping 0 5 1.1.1.1 vrf v1 siz 400 r1 tping 0 5 4321::2 vrf v1 siz 400 r3 tping 0 5 1234::1 vrf v1 siz 400 r1 tping 100 5 2.2.2.2 vrf v1 siz 600 r3 tping 100 5 1.1.1.1 vrf v1 siz 600 r1 tping 100 5 4321::2 vrf v1 siz 600 r3 tping 100 5 1234::1 vrf v1 siz 600 freeRtr-25.11.9/cfg/qos-set15.tst000066400000000000000000000031161510423065500163400ustar00rootroot00000000000000description qos ingress sgt set addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match sgt 123 seq 20 act trans exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act trans match length 300-500 set sgt 123 seq 20 act trans set sgt 122 exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-in p1 exit int eth2 sgt ena vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-in p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match sgt 123 seq 20 act trans exit int eth1 sgt ena vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 siz 200 r3 tping 100 5 1.1.1.1 vrf v1 siz 200 r1 tping 100 5 4321::2 vrf v1 siz 200 r3 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 0 5 2.2.2.2 vrf v1 siz 400 r3 tping 0 5 1.1.1.1 vrf v1 siz 400 r1 tping 0 5 4321::2 vrf v1 siz 400 r3 tping 0 5 1234::1 vrf v1 siz 400 r1 tping 100 5 2.2.2.2 vrf v1 siz 600 r3 tping 100 5 1.1.1.1 vrf v1 siz 600 r1 tping 100 5 4321::2 vrf v1 siz 600 r3 tping 100 5 1234::1 vrf v1 siz 600 freeRtr-25.11.9/cfg/qos-set16.tst000066400000000000000000000031171510423065500163420ustar00rootroot00000000000000description qos egress sgt set addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match sgt 123 seq 20 act trans exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act trans match length 300-500 set sgt 123 seq 20 act trans set sgt 122 exit int eth1 sgt ena vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: service-policy-out p1 exit int eth2 sgt ena vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: service-policy-out p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit policy-map p1 seq 10 act drop match sgt 123 seq 20 act trans exit int eth1 sgt ena vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: service-policy-in p1 exit ipv4 route v1 0.0.0.0 0.0.0.0 2.2.2.1 ipv6 route v1 :: :: 4321::1 ! r1 tping 100 5 2.2.2.2 vrf v1 siz 200 r3 tping 100 5 1.1.1.1 vrf v1 siz 200 r1 tping 100 5 4321::2 vrf v1 siz 200 r3 tping 100 5 1234::1 vrf v1 siz 200 r1 tping 0 5 2.2.2.2 vrf v1 siz 400 r3 tping 0 5 1.1.1.1 vrf v1 siz 400 r1 tping 0 5 4321::2 vrf v1 siz 400 r3 tping 0 5 1234::1 vrf v1 siz 400 r1 tping 100 5 2.2.2.2 vrf v1 siz 600 r3 tping 100 5 1.1.1.1 vrf v1 siz 600 r1 tping 100 5 4321::2 vrf v1 siz 600 r3 tping 100 5 1234::1 vrf v1 siz 600 freeRtr-25.11.9/cfg/rout-babel01.tst000066400000000000000000000060231510423065500167740ustar00rootroot00000000000000description babel on one subnet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0001 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router babel4 1 ena router babel6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router babel4 1 ena router babel6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit router babel4 1 vrf v1 router 1111-2222-3333-0003 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0003 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: router babel4 1 ena router babel6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0004 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0004 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: router babel4 1 ena router babel6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 2.2.2.4 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r1 tping 100 130 4321::4 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 2.2.2.4 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r2 tping 100 130 4321::4 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 2.2.2.4 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r3 tping 100 130 4321::4 vrf v1 r4 tping 100 130 2.2.2.1 vrf v1 r4 tping 100 130 2.2.2.2 vrf v1 r4 tping 100 130 2.2.2.3 vrf v1 r4 tping 100 130 4321::1 vrf v1 r4 tping 100 130 4321::2 vrf v1 r4 tping 100 130 4321::3 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel02.tst000066400000000000000000000071361510423065500170030ustar00rootroot00000000000000description babel in chain addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0001 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0003 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0003 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0004 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0004 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 2.2.2.4 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r1 tping 100 130 4321::4 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 2.2.2.4 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r2 tping 100 130 4321::4 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 2.2.2.4 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r3 tping 100 130 4321::4 vrf v1 r4 tping 100 130 2.2.2.1 vrf v1 r4 tping 100 130 2.2.2.2 vrf v1 r4 tping 100 130 2.2.2.3 vrf v1 r4 tping 100 130 4321::1 vrf v1 r4 tping 100 130 4321::2 vrf v1 r4 tping 100 130 4321::3 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 output ../binTmp/rout-babel.html here are the ipv4 neighbors:
show:0
here are the ipv6 neighbors:
show:1
here is the ipv4 database:
show:2
here is the ipv6 database:
show:3
here are the ipv4 routes:
show:4
here are the ipv6 routes:
show:5
! freeRtr-25.11.9/cfg/rout-babel03.tst000066400000000000000000000044101510423065500167740ustar00rootroot00000000000000description babel ingress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0001 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit prefix-list p4 sequence 10 deny 2.2.2.12/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::12/128 sequence 20 permit ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena router babel4 1 prefix-list-in p4 router babel6 1 prefix-list-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 0 130 2.2.2.12 vrf v1 r1 tping 0 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel04.tst000066400000000000000000000044111510423065500167760ustar00rootroot00000000000000description babel egress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0001 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit prefix-list p4 sequence 10 deny 2.2.2.11/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::11/128 sequence 20 permit ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena router babel4 1 prefix-list-out p4 router babel6 1 prefix-list-out p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 0 130 2.2.2.11 vrf v1 r2 tping 0 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel05.tst000066400000000000000000000045121510423065500170010ustar00rootroot00000000000000description babel ingress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0001 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena router babel4 1 route-map-in p4 router babel6 1 route-map-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 0 130 2.2.2.12 vrf v1 r1 tping 0 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel06.tst000066400000000000000000000045131510423065500170030ustar00rootroot00000000000000description babel egress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0001 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map p4 sequence 10 act deny match network 2.2.2.11/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::11/128 sequence 20 act perm match network ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena router babel4 1 route-map-out p4 router babel6 1 route-map-out p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 0 130 2.2.2.11 vrf v1 r2 tping 0 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel07.tst000066400000000000000000000043611510423065500170050ustar00rootroot00000000000000description babel ingress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0001 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-policy p4 if network 2.2.2.12/32 drop else pass enif exit route-policy p6 if network 4321::12/128 drop else pass enif exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena router babel4 1 route-policy-in p4 router babel6 1 route-policy-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 0 130 2.2.2.12 vrf v1 r1 tping 0 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel08.tst000066400000000000000000000043621510423065500170070ustar00rootroot00000000000000description babel egress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0001 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-policy p4 if network 2.2.2.11/32 drop else pass enif exit route-policy p6 if network 4321::11/128 drop else pass enif exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena router babel4 1 route-policy-out p4 router babel6 1 route-policy-out p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 0 130 2.2.2.11 vrf v1 r2 tping 0 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel09.tst000066400000000000000000000047131510423065500170100ustar00rootroot00000000000000description babel max metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0001 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 set metric +40000 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena router babel4 1 route-map-in rm1 router babel6 1 route-map-in rm1 router babel4 1 route-map-out rm1 router babel6 1 route-map-out rm1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena router babel4 1 route-map-in rm1 router babel6 1 route-map-in rm1 router babel4 1 route-map-out rm1 router babel6 1 route-map-out rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0003 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0003 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 0 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 0 130 4321::3 vrf v1 r3 tping 0 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 0 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel10.tst000066400000000000000000000042571510423065500170030ustar00rootroot00000000000000description babel address suppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 exit router babel6 1 vrf v1 router 1111-2222-3333-0001 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena router babel4 1 suppress-prefix router babel6 1 suppress-prefix exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 0 130 2.2.2.11 vrf v1 r2 tping 0 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel11.tst000066400000000000000000000040631510423065500167770ustar00rootroot00000000000000description babel default route addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 exit router babel6 1 vrf v1 router 1111-2222-3333-0001 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena router babel4 1 default-originate router babel6 1 default-originate exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel12.tst000066400000000000000000000062231510423065500170000ustar00rootroot00000000000000description babel incoming interface metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 exit router babel6 1 vrf v1 router 1111-2222-3333-0001 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena router babel4 1 metric-in 40000 router babel6 1 metric-in 40000 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0003 exit router babel6 1 vrf v1 router 1111-2222-3333-0003 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.111 vrf v1 r2 tping 100 130 4321::111 vrf v1 r2 tping 0 130 2.2.2.222 vrf v1 r2 tping 0 130 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel13.tst000066400000000000000000000062251510423065500170030ustar00rootroot00000000000000description babel outgoing interface metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 exit router babel6 1 vrf v1 router 1111-2222-3333-0001 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0003 exit router babel6 1 vrf v1 router 1111-2222-3333-0003 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena router babel4 1 metric-out 40000 router babel6 1 metric-out 40000 exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.111 vrf v1 r2 tping 100 130 4321::111 vrf v1 r2 tping 0 130 2.2.2.222 vrf v1 r2 tping 0 130 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel14.tst000066400000000000000000000063001510423065500167760ustar00rootroot00000000000000description babel incoming metric with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 exit router babel6 1 vrf v1 router 1111-2222-3333-0001 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 set metric +40000 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena router babel4 1 route-map-in rm1 router babel6 1 route-map-in rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0003 exit router babel6 1 vrf v1 router 1111-2222-3333-0003 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.111 vrf v1 r2 tping 100 130 4321::111 vrf v1 r2 tping 0 130 2.2.2.222 vrf v1 r2 tping 0 130 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel15.tst000066400000000000000000000063021510423065500170010ustar00rootroot00000000000000description babel outgoing metric with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 exit router babel6 1 vrf v1 router 1111-2222-3333-0001 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0003 exit router babel6 1 vrf v1 router 1111-2222-3333-0003 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit route-map rm1 set metric +40000 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena router babel4 1 route-map-out rm1 router babel6 1 route-map-out rm1 exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.111 vrf v1 r2 tping 100 130 4321::111 vrf v1 r2 tping 0 130 2.2.2.222 vrf v1 r2 tping 0 130 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel16.tst000066400000000000000000000063221510423065500170040ustar00rootroot00000000000000description babel incoming metric with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 exit router babel6 1 vrf v1 router 1111-2222-3333-0001 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-policy rm1 set metric +40000 pass exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena router babel4 1 route-policy-in rm1 router babel6 1 route-policy-in rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0003 exit router babel6 1 vrf v1 router 1111-2222-3333-0003 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.111 vrf v1 r2 tping 100 130 4321::111 vrf v1 r2 tping 0 130 2.2.2.222 vrf v1 r2 tping 0 130 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel17.tst000066400000000000000000000063241510423065500170070ustar00rootroot00000000000000description babel outgoing metric with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 exit router babel6 1 vrf v1 router 1111-2222-3333-0001 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0003 exit router babel6 1 vrf v1 router 1111-2222-3333-0003 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit route-policy rm1 set metric +40000 pass exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena router babel4 1 route-policy-out rm1 router babel6 1 route-policy-out rm1 exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.111 vrf v1 r2 tping 100 130 4321::111 vrf v1 r2 tping 0 130 2.2.2.222 vrf v1 r2 tping 0 130 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel18.tst000066400000000000000000000046301510423065500170060ustar00rootroot00000000000000description babel with bfd addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0001 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 bfd 100 100 3 router babel4 1 ena router babel4 1 bfd ipv6 addr 1234:1::1 ffff:ffff:: ipv6 bfd 100 100 3 router babel6 1 ena router babel6 1 bfd exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 bfd 100 100 3 router babel4 1 ena router babel4 1 bfd router babel4 1 dista 140 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 bfd 100 100 3 router babel6 1 ena router babel6 1 bfd router babel6 1 dista 140 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 bfd 100 100 3 router babel4 1 ena router babel4 1 bfd ipv6 addr 1234:1::2 ffff:ffff:: ipv6 bfd 100 100 3 router babel6 1 ena router babel6 1 bfd exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 bfd 100 100 3 router babel4 1 ena router babel4 1 bfd router babel4 1 dista 140 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 bfd 100 100 3 router babel6 1 ena router babel6 1 bfd router babel6 1 dista 140 exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 sleep 3000 r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 send conf t r2 send int eth1 r2 send shut r2 send end r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel19.tst000066400000000000000000000027501510423065500170100ustar00rootroot00000000000000description babel peer template addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0001 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int temp1 vrf for v1 ipv4 addr 9.9.9.9 255.255.255.0 ipv6 addr 9999::9 ffff:: router babel4 1 ena router babel6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: temp temp1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int temp1 vrf for v1 ipv4 addr 9.9.9.9 255.255.255.0 ipv6 addr 9999::9 ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: temp temp1 exit int temp1 router babel4 1 ena router babel6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel20.tst000066400000000000000000000034171510423065500170010ustar00rootroot00000000000000description babel prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 exit router babel6 1 vrf v1 router 1111-2222-3333-0001 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 exit router babel6 1 vrf v1 router 1111-2222-3333-0002 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r1 send conf t r1 send int lo0 r1 send no router babel4 1 ena r1 send no router babel6 1 ena r1 send end r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 0 130 2.2.2.1 vrf v1 r2 tping 0 130 4321::1 vrf v1 r1 send conf t r1 send int lo0 r1 send router babel4 1 ena r1 send router babel6 1 ena r1 send end r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel21.tst000066400000000000000000000045371510423065500170060ustar00rootroot00000000000000description babel aggregation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0001 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena router babel4 1 route-map-in p4 router babel6 1 route-map-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 aggregate 2.2.2.0/24 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 aggregate 4321::/32 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel22.tst000066400000000000000000000042031510423065500167750ustar00rootroot00000000000000description babel auto mesh tunnel addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 red conn automesh all exit router babel6 1 vrf v1 router 1111-2222-3333-0001 red conn automesh all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.0 ipv6 addr 9999::1 ffff:: router babel4 1 ena router babel6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn automesh all exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn automesh all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.0 ipv6 addr 9999::2 ffff:: router babel4 1 ena router babel6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit ! r1 tping 100 130 9.9.9.2 vrf v1 r1 tping 100 130 9999::2 vrf v1 r2 tping 100 130 9.9.9.1 vrf v1 r2 tping 100 130 9999::1 vrf v1 r1 tping 0 130 2.2.2.2 vrf v1 r1 tping 0 130 4321::2 vrf v1 r2 tping 0 130 2.2.2.1 vrf v1 r2 tping 0 130 4321::1 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel23.tst000066400000000000000000000057001510423065500170010ustar00rootroot00000000000000description babel triangle connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0001 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena router babel4 1 metric-in 40000 router babel6 1 metric-in 40000 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0003 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0003 red conn exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena router babel4 1 metric-in 40000 router babel6 1 metric-in 40000 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel24.tst000066400000000000000000000051341510423065500170030ustar00rootroot00000000000000description babel autoroute addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ int ser2 ser 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit router babel4 1 vrf v1 router 1111-2222-3333-0001 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0001 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.0 ipv6 addr 9999::1 ffff:: router babel4 1 ena router babel6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int ser2 vrf for v1 ipv4 addr 9.9.8.1 255.255.255.0 ipv6 addr 9998::1 ffff:: ipv4 autoroute babel4 1 2.2.2.2 9.9.8.2 ipv6 autoroute babel6 1 4321::2 9998::2 exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ int ser2 ser 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.0 ipv6 addr 9999::2 ffff:: router babel4 1 ena router babel6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int ser2 vrf for v1 ipv4 addr 9.9.8.2 255.255.255.0 ipv6 addr 9998::2 ffff:: ipv4 autoroute babel4 1 2.2.2.1 9.9.8.1 ipv6 autoroute babel6 1 4321::1 9998::1 exit ! r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r1 tping 0 130 9.9.9.2 vrf v1 r1 tping 0 130 9999::2 vrf v1 r2 tping 0 130 9.9.9.1 vrf v1 r2 tping 0 130 9999::1 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel25.tst000066400000000000000000000023101510423065500167750ustar00rootroot00000000000000description babel over point2point ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 exit router babel6 1 vrf v1 router 1111-2222-3333-0001 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.254 ipv6 addr 1234:1::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe router babel4 1 ena router babel6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 exit router babel6 1 vrf v1 router 1111-2222-3333-0002 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.254 ipv6 addr 1234:1::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe router babel4 1 ena router babel6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-babel26.tst000066400000000000000000000067271510423065500170160ustar00rootroot00000000000000description babel ecmp connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 red conn ecmp exit router babel6 1 vrf v1 router 1111-2222-3333-0001 red conn ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:21::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.10 255.255.255.252 ipv6 addr 1234:23::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn ecmp exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:21::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.252 ipv6 addr 1234:22::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0003 red conn ecmp exit router babel6 1 vrf v1 router 1111-2222-3333-0003 red conn ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.252 ipv6 addr 1234:22::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.9 255.255.255.252 ipv6 addr 1234:23::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel27.tst000066400000000000000000000042011510423065500170000ustar00rootroot00000000000000description babel default address suppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 suppress exit router babel6 1 vrf v1 router 1111-2222-3333-0001 suppress exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 0 130 2.2.2.1 vrf v1 r2 tping 0 130 4321::1 vrf v1 r2 tping 0 130 2.2.2.11 vrf v1 r2 tping 0 130 4321::11 vrf v1 r2 tping 0 130 2.2.2.21 vrf v1 r2 tping 0 130 4321::21 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel28.tst000066400000000000000000000042671510423065500170150ustar00rootroot00000000000000description babel address unsuppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 suppress exit router babel6 1 vrf v1 router 1111-2222-3333-0001 suppress exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena router babel4 1 unsuppress router babel6 1 unsuppress exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 0 130 2.2.2.1 vrf v1 r2 tping 0 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 0 130 2.2.2.21 vrf v1 r2 tping 0 130 4321::21 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel29.tst000066400000000000000000000057261510423065500170170ustar00rootroot00000000000000description babel auto summarization addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0001 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena router babel4 1 route-map-in p4 router babel6 1 route-map-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 autosumm red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 autosumm red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router babel4 1 ena router babel6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::3 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel30.tst000066400000000000000000000061311510423065500167760ustar00rootroot00000000000000description integrated babel over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn afi-other enable afi-other red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0003 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0004 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 2.2.2.4 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r1 tping 100 130 4321::4 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 2.2.2.4 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r2 tping 100 130 4321::4 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 2.2.2.4 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r3 tping 100 130 4321::4 vrf v1 r4 tping 100 130 2.2.2.1 vrf v1 r4 tping 100 130 2.2.2.2 vrf v1 r4 tping 100 130 2.2.2.3 vrf v1 r4 tping 100 130 4321::1 vrf v1 r4 tping 100 130 4321::2 vrf v1 r4 tping 100 130 4321::3 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel31.tst000066400000000000000000000061311510423065500167770ustar00rootroot00000000000000description integrated babel over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel6 1 vrf v1 router 1111-2222-3333-0001 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel6 1 ena router babel6 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn afi-other enable afi-other red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel6 1 ena router babel6 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router babel6 1 ena router babel6 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router babel6 1 vrf v1 router 1111-2222-3333-0003 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router babel6 1 ena router babel6 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router babel6 1 ena router babel6 1 other-ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router babel6 1 vrf v1 router 1111-2222-3333-0004 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router babel6 1 ena router babel6 1 other-ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 2.2.2.4 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r1 tping 100 130 4321::4 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 2.2.2.4 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r2 tping 100 130 4321::4 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 2.2.2.4 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r3 tping 100 130 4321::4 vrf v1 r4 tping 100 130 2.2.2.1 vrf v1 r4 tping 100 130 2.2.2.2 vrf v1 r4 tping 100 130 2.2.2.3 vrf v1 r4 tping 100 130 4321::1 vrf v1 r4 tping 100 130 4321::2 vrf v1 r4 tping 100 130 4321::3 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel32.tst000066400000000000000000000064251510423065500170060ustar00rootroot00000000000000description integrated babel over ipv6ll addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel6 1 vrf v1 router 1111-2222-3333-0001 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr fe80::11 ffff:ffff:: router babel6 1 ena router babel6 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn afi-other enable afi-other red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr fe80::12 ffff:ffff:: router babel6 1 ena router babel6 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr fe80::21 ffff:ffff:: router babel6 1 ena router babel6 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router babel6 1 vrf v1 router 1111-2222-3333-0003 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr fe80::22 ffff:ffff:: router babel6 1 ena router babel6 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr fe80::31 ffff:ffff:: router babel6 1 ena router babel6 1 other-ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router babel6 1 vrf v1 router 1111-2222-3333-0004 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr fe80::32 ffff:ffff:: router babel6 1 ena router babel6 1 other-ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 sou lo0 r1 tping 100 130 2.2.2.3 vrf v1 sou lo0 r1 tping 100 130 2.2.2.4 vrf v1 sou lo0 r1 tping 100 130 4321::2 vrf v1 sou lo0 r1 tping 100 130 4321::3 vrf v1 sou lo0 r1 tping 100 130 4321::4 vrf v1 sou lo0 r2 tping 100 130 2.2.2.1 vrf v1 sou lo0 r2 tping 100 130 2.2.2.3 vrf v1 sou lo0 r2 tping 100 130 2.2.2.4 vrf v1 sou lo0 r2 tping 100 130 4321::1 vrf v1 sou lo0 r2 tping 100 130 4321::3 vrf v1 sou lo0 r2 tping 100 130 4321::4 vrf v1 sou lo0 r3 tping 100 130 2.2.2.1 vrf v1 sou lo0 r3 tping 100 130 2.2.2.2 vrf v1 sou lo0 r3 tping 100 130 2.2.2.4 vrf v1 sou lo0 r3 tping 100 130 4321::1 vrf v1 sou lo0 r3 tping 100 130 4321::2 vrf v1 sou lo0 r3 tping 100 130 4321::4 vrf v1 sou lo0 r4 tping 100 130 2.2.2.1 vrf v1 sou lo0 r4 tping 100 130 2.2.2.2 vrf v1 sou lo0 r4 tping 100 130 2.2.2.3 vrf v1 sou lo0 r4 tping 100 130 4321::1 vrf v1 sou lo0 r4 tping 100 130 4321::2 vrf v1 sou lo0 r4 tping 100 130 4321::3 vrf v1 sou lo0 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel33.tst000066400000000000000000000043511510423065500170030ustar00rootroot00000000000000description integrated babel ingress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit prefix-list p4 sequence 10 deny 2.2.2.12/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::12/128 sequence 20 permit ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena router babel4 1 prefix-list-in p4 router babel4 1 other-prefix-list-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 0 130 2.2.2.12 vrf v1 r1 tping 0 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel34.tst000066400000000000000000000043521510423065500170050ustar00rootroot00000000000000description integrated babel egress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit prefix-list p4 sequence 10 deny 2.2.2.11/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::11/128 sequence 20 permit ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena router babel4 1 prefix-list-out p4 router babel4 1 other-prefix-list-out p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 0 130 2.2.2.11 vrf v1 r2 tping 0 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel35.tst000066400000000000000000000044531510423065500170100ustar00rootroot00000000000000description integrated babel ingress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena router babel4 1 route-map-in p4 router babel4 1 other-route-map-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 0 130 2.2.2.12 vrf v1 r1 tping 0 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel36.tst000066400000000000000000000044541510423065500170120ustar00rootroot00000000000000description integrated babel egress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map p4 sequence 10 act deny match network 2.2.2.11/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::11/128 sequence 20 act perm match network ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena router babel4 1 route-map-out p4 router babel4 1 other-route-map-out p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 0 130 2.2.2.11 vrf v1 r2 tping 0 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel37.tst000066400000000000000000000043221510423065500170050ustar00rootroot00000000000000description integrated babel ingress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-policy p4 if network 2.2.2.12/32 drop else pass enif exit route-policy p6 if network 4321::12/128 drop else pass enif exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena router babel4 1 route-policy-in p4 router babel4 1 other-route-policy-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 0 130 2.2.2.12 vrf v1 r1 tping 0 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel38.tst000066400000000000000000000043231510423065500170070ustar00rootroot00000000000000description integrated babel egress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-policy p4 if network 2.2.2.11/32 drop else pass enif exit route-policy p6 if network 4321::11/128 drop else pass enif exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena router babel4 1 route-policy-out p4 router babel4 1 other-route-policy-out p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 0 130 2.2.2.11 vrf v1 r2 tping 0 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel39.tst000066400000000000000000000042301510423065500170050ustar00rootroot00000000000000description integrated babel address suppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 afi-other enable exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena router babel4 1 suppress-prefix router babel4 1 other-suppress-prefix exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 0 130 2.2.2.11 vrf v1 r2 tping 0 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel40.tst000066400000000000000000000040121510423065500167730ustar00rootroot00000000000000description integrated babel default route addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 afi-other enable exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena router babel4 1 default-originate router babel4 1 other-default-originate exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel41.tst000066400000000000000000000062231510423065500170020ustar00rootroot00000000000000description integrated babel incoming metric with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 afi-other enable exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 set metric +40000 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena router babel4 1 route-map-in rm1 router babel4 1 other-route-map-in rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0003 afi-other enable exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.111 vrf v1 r2 tping 100 130 4321::111 vrf v1 r2 tping 0 130 2.2.2.222 vrf v1 r2 tping 0 130 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel42.tst000066400000000000000000000062251510423065500170050ustar00rootroot00000000000000description integrated babel outgoing metric with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 afi-other enable exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0003 afi-other enable exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit route-map rm1 set metric +40000 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena router babel4 1 route-map-out rm1 router babel4 1 other-route-map-out rm1 exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.111 vrf v1 r2 tping 100 130 4321::111 vrf v1 r2 tping 0 130 2.2.2.222 vrf v1 r2 tping 0 130 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel43.tst000066400000000000000000000062451510423065500170100ustar00rootroot00000000000000description integrated babel incoming metric with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 afi-other enable exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-policy rm1 set metric +40000 pass exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena router babel4 1 route-policy-in rm1 router babel4 1 other-route-policy-in rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0003 afi-other enable exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.111 vrf v1 r2 tping 100 130 4321::111 vrf v1 r2 tping 0 130 2.2.2.222 vrf v1 r2 tping 0 130 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel44.tst000066400000000000000000000062471510423065500170130ustar00rootroot00000000000000description integrated babel outgoing metric with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 afi-other enable exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0003 afi-other enable exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit route-policy rm1 set metric +40000 pass exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena router babel4 1 route-policy-out rm1 router babel4 1 other-route-policy-out rm1 exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.111 vrf v1 r2 tping 100 130 4321::111 vrf v1 r2 tping 0 130 2.2.2.222 vrf v1 r2 tping 0 130 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel45.tst000066400000000000000000000033561510423065500170120ustar00rootroot00000000000000description integrated babel prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 afi-other enable exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 afi-other enable exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r1 send conf t r1 send int lo0 r1 send no router babel4 1 ena r1 send no router babel4 1 other-ena r1 send end r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 0 130 2.2.2.1 vrf v1 r2 tping 0 130 4321::1 vrf v1 r1 send conf t r1 send int lo0 r1 send router babel4 1 ena r1 send router babel4 1 other-ena r1 send end r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel46.tst000066400000000000000000000045401510423065500170070ustar00rootroot00000000000000description integrated babel aggregation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena router babel4 1 route-map-in p4 router babel4 1 other-route-map-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 aggregate 2.2.2.0/24 afi-other enable afi-other red conn afi-other aggregate 4321::/32 aggregate 2.2.2.0/24 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel47.tst000066400000000000000000000067561510423065500170230ustar00rootroot00000000000000description integrated babel ecmp connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 afi-other enable afi-other red conn afi-other ecmp red conn ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:21::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.10 255.255.255.252 ipv6 addr 1234:23::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn afi-other enable afi-other red conn afi-other ecmp ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:21::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.252 ipv6 addr 1234:22::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0003 afi-other enable afi-other red conn afi-other ecmp red conn ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.252 ipv6 addr 1234:22::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.9 255.255.255.252 ipv6 addr 1234:23::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel48.tst000066400000000000000000000041561510423065500170140ustar00rootroot00000000000000description integrated babel default address suppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 afi-other enable afi-other suppress suppress exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 0 130 2.2.2.1 vrf v1 r2 tping 0 130 4321::1 vrf v1 r2 tping 0 130 2.2.2.11 vrf v1 r2 tping 0 130 4321::11 vrf v1 r2 tping 0 130 2.2.2.21 vrf v1 r2 tping 0 130 4321::21 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel49.tst000066400000000000000000000042521510423065500170120ustar00rootroot00000000000000description integrated babel address unsuppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 afi-other enable afi-other suppress suppress exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena router babel4 1 unsuppress router babel4 1 other-unsuppress exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router babel4 1 ena router babel4 1 other-ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 0 130 2.2.2.1 vrf v1 r2 tping 0 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 0 130 2.2.2.21 vrf v1 r2 tping 0 130 4321::21 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-babel50.tst000066400000000000000000000056571510423065500170140ustar00rootroot00000000000000description integrated babel auto summarization addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena router babel4 1 route-map-in p4 router babel4 1 other-route-map-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 afi-other enable afi-other red conn afi-other autosumm autosumm red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 afi-other enable afi-other red conn red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router babel4 1 ena router babel4 1 other-ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::3 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 babel 1 sum r2 output show ipv6 babel 1 sum r2 output show ipv4 babel 1 dat r2 output show ipv6 babel 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-bgp001.tst000066400000000000000000000075701510423065500165670ustar00rootroot00000000000000description ebgp in chain addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.6 remote-as 3 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:2::2 remote-as 3 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.10 remote-as 4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:3::2 remote-as 4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r2 output show ipv4 bgp 1 sum r2 output show ipv6 bgp 1 sum r2 output show ipv4 bgp 1 uni dat r2 output show ipv6 bgp 1 uni dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 output ../binTmp/rout-bgp.html here are the ipv4 neighbors:
show:0
here are the ipv6 neighbors:
show:1
here is the ipv4 database:
show:2
here is the ipv6 database:
show:3
here are the ipv4 routes:
show:4
here are the ipv6 routes:
show:5
! freeRtr-25.11.9/cfg/rout-bgp002.tst000066400000000000000000000070051510423065500165610ustar00rootroot00000000000000description confed bgp in chain addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 confed red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 confed neigh 1234:2::2 remote-as 3 neigh 1234:2::2 confed red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 confed neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 confed neigh 1234:3::2 remote-as 4 neigh 1234:3::2 confed red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 confed red conn exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 0 60 2.2.2.4 vrf v1 r1 tping 0 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r2 tping 0 60 4321::4 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 0 60 2.2.2.1 vrf v1 r4 tping 0 60 4321::1 vrf v1 r4 tping 0 60 2.2.2.2 vrf v1 r4 tping 0 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp003.tst000066400000000000000000000061721510423065500165660ustar00rootroot00000000000000description ibgp in chain addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.6 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::1 remote-as 1 neigh 1234:2::2 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.10 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 neigh 1234:3::2 remote-as 1 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:3::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 0 60 2.2.2.4 vrf v1 r1 tping 0 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r2 tping 0 60 4321::4 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 0 60 2.2.2.1 vrf v1 r4 tping 0 60 4321::1 vrf v1 r4 tping 0 60 2.2.2.2 vrf v1 r4 tping 0 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp004.tst000066400000000000000000000064071510423065500165700ustar00rootroot00000000000000description ebgp in subnet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 resend-packet ipv6 resend-packet exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.4 remote-as 4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::3 remote-as 3 neigh 1234:1::4 remote-as 4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp005.tst000066400000000000000000000067711510423065500165750ustar00rootroot00000000000000description confed bgp in subnet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 confed neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 confed neigh 1.1.1.4 remote-as 4 neigh 1.1.1.4 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 confed neigh 1234:1::3 remote-as 3 neigh 1234:1::3 confed neigh 1234:1::4 remote-as 4 neigh 1234:1::4 confed red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 confed red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 confed red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 confed red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp006.tst000066400000000000000000000061271510423065500165710ustar00rootroot00000000000000description ibgp in subnet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.4 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::3 remote-as 1 neigh 1234:1::4 remote-as 1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r2 tping 0 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r3 tping 0 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 0 60 2.2.2.2 vrf v1 r4 tping 0 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp007.tst000066400000000000000000000067101510423065500165700ustar00rootroot00000000000000description ibgp fullmesh in subnet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.4 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::3 remote-as 1 neigh 1234:1::4 remote-as 1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.4 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::3 remote-as 1 neigh 1234:1::4 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.4 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::2 remote-as 1 neigh 1234:1::4 remote-as 1 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.3 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::2 remote-as 1 neigh 1234:1::3 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp008.tst000066400000000000000000000106201510423065500165640ustar00rootroot00000000000000description ibgp rr in subnet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r1 output show ipv4 bgp 1 sum r1 output show ipv6 bgp 1 sum r1 output show ipv4 bgp 1 group r1 output show ipv6 bgp 1 group r1 output show ipv4 bgp 1 group 0 uni r1 output show ipv6 bgp 1 group 0 uni r1 output show ipv4 bgp 1 status r1 output show ipv6 bgp 1 status r1 output show ipv4 bgp 1 tables r1 output show ipv6 bgp 1 tables r1 output show ipv4 route v1 r1 output show ipv6 route v1 output ../binTmp/rout-bgp-grp.html here are the ipv4 neighbors:
show:0
here are the ipv6 neighbors:
show:1
here is the ipv4 group:
show:2
here is the ipv6 group:
show:3
here is the ipv4 database:
show:4
here is the ipv6 database:
show:5
here are the ipv4 status:
show:6
here are the ipv6 status:
show:7
here are the ipv4 tables:
show:8
here are the ipv6 tables:
show:9
here are the ipv4 routes:
show:10
here are the ipv6 routes:
show:11
! freeRtr-25.11.9/cfg/rout-bgp009.tst000066400000000000000000000074571510423065500166030ustar00rootroot00000000000000description ebgp over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.3 remote-as 3 neigh 2.2.2.3 update lo0 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::3 remote-as 3 neigh 4321::3 update lo0 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 2.2.2.13 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 4321::13 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 2.2.2.13 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 4321::13 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.11 vrf v1 r3 tping 100 60 2.2.2.12 vrf v1 r3 tping 100 60 4321::11 vrf v1 r3 tping 100 60 4321::12 vrf v1 freeRtr-25.11.9/cfg/rout-bgp010.tst000066400000000000000000000075201510423065500165620ustar00rootroot00000000000000description ibgp over loopback addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 route-reflect neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 route-reflect neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 route-reflect red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 2.2.2.13 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 4321::13 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 2.2.2.13 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 4321::13 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.11 vrf v1 r3 tping 100 60 2.2.2.12 vrf v1 r3 tping 100 60 4321::11 vrf v1 r3 tping 100 60 4321::12 vrf v1 freeRtr-25.11.9/cfg/rout-bgp011.tst000066400000000000000000000064571510423065500165730ustar00rootroot00000000000000description ibgp with mpls addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.13 vrf v1 r1 tping 100 60 4321::13 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 2.2.2.13 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 0 60 4321::13 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.11 vrf v1 r3 tping 100 60 4321::11 vrf v1 freeRtr-25.11.9/cfg/rout-bgp012.tst000066400000000000000000000024431510423065500165630ustar00rootroot00000000000000description ebgp with long as number addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 123456789 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 987654321 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 123456789 router-id 6.6.6.1 neigh 1234:1::2 remote-as 987654321 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 987654321 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 123456789 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 987654321 router-id 6.6.6.2 neigh 1234:1::1 remote-as 123456789 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp013.tst000066400000000000000000000023531510423065500165640ustar00rootroot00000000000000description ibgp with long as number addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 123456789 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 123456789 red conn exit router bgp6 1 vrf v1 address uni local-as 123456789 router-id 6.6.6.1 neigh 1234:1::2 remote-as 123456789 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 123456789 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 123456789 red conn exit router bgp6 1 vrf v1 address uni local-as 123456789 router-id 6.6.6.2 neigh 1234:1::1 remote-as 123456789 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp014.tst000066400000000000000000000023701510423065500165640ustar00rootroot00000000000000description bgp default route addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 default exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 default exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp015.tst000066400000000000000000000043121510423065500165630ustar00rootroot00000000000000description bgp ingress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.12/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::12/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 prefix-list-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 prefix-list-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp016.tst000066400000000000000000000043131510423065500165650ustar00rootroot00000000000000description bgp egress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.11/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::11/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 prefix-list-out p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 prefix-list-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp017.tst000066400000000000000000000044141510423065500165700ustar00rootroot00000000000000description bgp ingress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-map-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-map-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp018.tst000066400000000000000000000044151510423065500165720ustar00rootroot00000000000000description bgp egress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map p4 sequence 10 act deny match network 2.2.2.11/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::11/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-map-out p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-map-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp019.tst000066400000000000000000000046551510423065500166010ustar00rootroot00000000000000description bgp routemap filtering with locpref addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set locpref 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match locpref 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp020.tst000066400000000000000000000046441510423065500165670ustar00rootroot00000000000000description bgp routemap filtering with origin addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set origin 1 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match origin 1 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp021.tst000066400000000000000000000046521510423065500165670ustar00rootroot00000000000000description bgp routemap filtering with metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set metric 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match metric 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp022.tst000066400000000000000000000052721510423065500165670ustar00rootroot00000000000000description bgp routemap filtering with standard community addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set stdcomm 1234:4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match stdcomm 1234:4321 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp023.tst000066400000000000000000000046521510423065500165710ustar00rootroot00000000000000description bgp routemap filtering with aspath addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match aspath 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp024.tst000066400000000000000000000064531510423065500165730ustar00rootroot00000000000000description bgp locpref addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 set locpref 4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 prefix-list-in p4 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 prefix-list-in p6 neigh 1234:2::2 remote-as 1 neigh 1234:2::2 prefix-list-in p6 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-map rm1 set locpref 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn route-map rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp025.tst000066400000000000000000000064621510423065500165740ustar00rootroot00000000000000description bgp aspath addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 set aspath 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 prefix-list-in p4 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 prefix-list-in p6 neigh 1234:2::2 remote-as 1 neigh 1234:2::2 prefix-list-in p6 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-map rm1 set aspath 1234 1234 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn route-map rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp026.tst000066400000000000000000000064421510423065500165730ustar00rootroot00000000000000description bgp origin addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 set origin 1 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 prefix-list-in p4 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 prefix-list-in p6 neigh 1234:2::2 remote-as 1 neigh 1234:2::2 prefix-list-in p6 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-map rm1 set origin 2 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn route-map rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp027.tst000066400000000000000000000064501510423065500165730ustar00rootroot00000000000000description bgp metric addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 set metric 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 prefix-list-in p4 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 prefix-list-in p6 neigh 1234:2::2 remote-as 1 neigh 1234:2::2 prefix-list-in p6 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-map rm1 set metric 4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn route-map rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp028.tst000066400000000000000000000065411510423065500165750ustar00rootroot00000000000000description bgp locpref vs aspath addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 set locpref 4321 set aspath 1234 1234 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 prefix-list-in p4 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 prefix-list-in p6 neigh 1234:2::2 remote-as 1 neigh 1234:2::2 prefix-list-in p6 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-map rm1 set locpref 1234 set aspath 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn route-map rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp029.tst000066400000000000000000000065301510423065500165740ustar00rootroot00000000000000description bgp aspath vs origin addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 set aspath 1234 set origin 1 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 prefix-list-in p4 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 prefix-list-in p6 neigh 1234:2::2 remote-as 1 neigh 1234:2::2 prefix-list-in p6 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-map rm1 set aspath 1234 1234 1234 set origin 2 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn route-map rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp030.tst000066400000000000000000000065161510423065500165700ustar00rootroot00000000000000description bgp origin vs metric addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 set origin 1 set metric 4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 prefix-list-in p4 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 prefix-list-in p6 neigh 1234:2::2 remote-as 1 neigh 1234:2::2 prefix-list-in p6 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-map rm1 set origin 2 set metric 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn route-map rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp031.tst000066400000000000000000000052761510423065500165730ustar00rootroot00000000000000description bgp routemap filtering with extended community addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set extcomm 1:1234:4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match extcomm 1:1234:4321 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp032.tst000066400000000000000000000062641510423065500165720ustar00rootroot00000000000000description ebgp with labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.6 remote-as 3 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:2::2 remote-as 3 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp033.tst000066400000000000000000000077361510423065500166000ustar00rootroot00000000000000description ibgp with labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.13 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo1 pweompls 4321::13 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.11 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo1 pweompls 4321::11 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.13 vrf v1 sou lo0 r1 tping 100 60 4321::13 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 0 60 2.2.2.11 vrf v1 sou lo0 r2 tping 0 60 2.2.2.13 vrf v1 sou lo0 r2 tping 0 60 4321::11 vrf v1 sou lo0 r2 tping 0 60 4321::13 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.11 vrf v1 sou lo0 r3 tping 100 60 4321::11 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp034.tst000066400000000000000000000047661510423065500166010ustar00rootroot00000000000000description ebgp with bfd addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 bfd 100 100 3 ipv6 bfd 100 100 3 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 bfd 100 100 3 ipv6 bfd 100 100 3 exit route-map rm1 set aspath 3 3 3 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 bfd-trigger neigh 1.1.1.2 route-map-in rm1 neigh 1.1.1.2 route-map-out rm1 neigh 1.1.1.6 remote-as 2 neigh 1.1.1.6 bfd-trigger red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 bfd-trigger neigh 1234:1::2 route-map-in rm1 neigh 1234:1::2 route-map-out rm1 neigh 1234:2::2 remote-as 2 neigh 1234:2::2 bfd-trigger red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 bfd 100 100 3 ipv6 bfd 100 100 3 exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 bfd 100 100 3 ipv6 bfd 100 100 3 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 bfd-trigger neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 bfd-trigger red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 bfd-trigger neigh 1234:2::1 remote-as 1 neigh 1234:2::1 bfd-trigger red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 sleep 3000 r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 send conf t r2 send int eth2 r2 send shut r2 send end r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp035.tst000066400000000000000000000111621510423065500165660ustar00rootroot00000000000000description vpns over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 output show ipv4 bgp 1 sum r1 output show ipv6 bgp 1 sum r1 output show ipv4 bgp 1 vpnuni dat r1 output show ipv6 bgp 1 vpnuni dat r1 output show ipv4 route v1 r1 output show ipv6 route v1 r1 output show ipv4 route v2 r1 output show ipv6 route v2 r1 output show ipv4 route v3 r1 output show ipv6 route v3 r1 output show ipv4 route v4 r1 output show ipv6 route v4 output ../binTmp/rout-bgp-vpn.html here are the ipv4 neighbors:
show:0
here are the ipv6 neighbors:
show:1
here is the ipv4 database:
show:2
here is the ipv6 database:
show:3
here are the ipv4 routes:
show:4
here are the ipv6 routes:
show:5
here are the ipv4 vpn routes:
show:6
here are the ipv6 vpn routes:
show:7
here are the ipv4 vpn routes:
show:8
here are the ipv6 vpn routes:
show:9
here are the ipv4 vpn routes:
show:10
here are the ipv6 vpn routes:
show:11
! freeRtr-25.11.9/cfg/rout-bgp036.tst000066400000000000000000000113461510423065500165730ustar00rootroot00000000000000description vpns over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r3 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r3 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r3 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp037.tst000066400000000000000000000044031510423065500165700ustar00rootroot00000000000000description bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-server neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 route-server red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 route-server neigh 1234::3 remote-as 3 neigh 1234::3 route-server red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234::2 remote-as 2 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp038.tst000066400000000000000000000045631510423065500166000ustar00rootroot00000000000000description bgp enforce first as addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 enforce-first red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 enforce-first red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-server neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 route-server red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 route-server neigh 1234::3 remote-as 3 neigh 1234::3 route-server red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 enforce-first red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 enforce-first red conn exit ! r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp039.tst000066400000000000000000000044211510423065500165720ustar00rootroot00000000000000description bgp aspath check addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 65535 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 65535 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 65535 neigh 1.1.1.6 remote-as 65535 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 65535 neigh 1234:2::2 remote-as 65535 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 65535 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 65535 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn exit ! r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp040.tst000066400000000000000000000046101510423065500165620ustar00rootroot00000000000000description bgp allow as in addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 65535 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 allow-as-in red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 65535 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 allow-as-in red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 65535 neigh 1.1.1.6 remote-as 65535 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 65535 neigh 1234:2::2 remote-as 65535 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 65535 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 allow-as-in red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 65535 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 neigh 1234:2::1 allow-as-in red conn exit ! r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp041.tst000066400000000000000000000046721510423065500165730ustar00rootroot00000000000000description bgp remove private as out addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 65534 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 65534 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 65534 neigh 1.1.1.1 remove-private-as-out neigh 1.1.1.6 remote-as 65534 neigh 1.1.1.6 remove-private-as-out red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 65534 neigh 1234:1::1 remove-private-as-out neigh 1234:2::2 remote-as 65534 neigh 1234:2::2 remove-private-as-out red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 65534 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 65534 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn exit ! r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp042.tst000066400000000000000000000046601510423065500165710ustar00rootroot00000000000000description bgp override as out addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 65535 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 65535 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 65535 neigh 1.1.1.1 override-peer-as-out neigh 1.1.1.6 remote-as 65535 neigh 1.1.1.6 override-peer-as-out red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 65535 neigh 1234:1::1 override-peer-as-out neigh 1234:2::2 remote-as 65535 neigh 1234:2::2 override-peer-as-out red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 65535 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 65535 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn exit ! r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp043.tst000066400000000000000000000045701510423065500165720ustar00rootroot00000000000000description bgp nexthop self addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-reflector-client neigh 1.1.1.1 next-hop-self neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 route-reflector-client neigh 1.1.1.6 next-hop-self red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-reflector-client neigh 1234:1::1 next-hop-self neigh 1234:2::2 remote-as 1 neigh 1234:2::2 route-reflector-client neigh 1234:2::2 next-hop-self red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp044.tst000066400000000000000000000045701510423065500165730ustar00rootroot00000000000000description bgp nexthop peer addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 next-hop-peer red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 next-hop-peer red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-reflector-client neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 route-reflector-client red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-reflector-client neigh 1234:2::2 remote-as 1 neigh 1234:2::2 route-reflector-client red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 next-hop-peer red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 neigh 1234:2::1 next-hop-peer red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp045.tst000066400000000000000000000102511510423065500165650ustar00rootroot00000000000000description vpls/ldp over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 r1 output show ipv4 bgp 1 sum r1 output show ipv6 bgp 1 sum r1 output show ipv4 bgp 1 vpls dat r1 output show ipv6 bgp 1 vpls dat r1 output show ipv4 route v1 r1 output show ipv6 route v1 r1 output show bridge 1 r1 output show bridge 2 r1 output show bridge 3 r1 output show bridge 4 output ../binTmp/rout-bgp-vpls1.html here are the ipv4 neighbors:
show:0
here are the ipv6 neighbors:
show:1
here is the ipv4 database:
show:2
here is the ipv6 database:
show:3
here are the ipv4 routes:
show:4
here are the ipv6 routes:
show:5
here is the bridge:
show:6
here is the bridge:
show:7
here is the bridge:
show:8
here is the bridge:
show:9
! freeRtr-25.11.9/cfg/rout-bgp046.tst000066400000000000000000000053331510423065500165730ustar00rootroot00000000000000description vpls/ldp over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp047.tst000066400000000000000000000024301510423065500165670ustar00rootroot00000000000000description bgp peer template addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 temp p remote-as 2 neigh 1.1.1.2 temp p red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 temp p remote-as 2 neigh 1234:1::2 temp p red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 temp p remote-as 1 neigh 1.1.1.1 temp p red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 temp p remote-as 1 neigh 1234:1::1 temp p red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp048.tst000066400000000000000000000065141510423065500165770ustar00rootroot00000000000000description bgp listen addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit int eth3 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit access-list a1 deny all any all any all exit access-list a2 permit all any all any all exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 temp p remote-as 2 temp p override-peer-as-out listen a1 p listen a2 p red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 temp p remote-as 2 temp p override-peer-as-out listen a1 p listen a2 p red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.4 neigh 1234:3::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp049.tst000066400000000000000000000025211510423065500165720ustar00rootroot00000000000000description ebgp password addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 password test red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 password test red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 password test red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 password test red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp050.tst000066400000000000000000000051141510423065500165630ustar00rootroot00000000000000description bgp routemap filtering with aigp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 aigp neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 aigp red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 aigp neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 aigp red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aigp 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 aigp red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 aigp red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match aigp 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 neigh 1.1.1.1 aigp red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 neigh 1234:1::1 aigp red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp051.tst000066400000000000000000000051731510423065500165710ustar00rootroot00000000000000description bgp routemap filtering with bandwidth addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 traffeng neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 traffeng red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 traffeng neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 traffeng red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set bandwidth 8888 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 traffeng red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 traffeng red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match bandwidth 8888 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 neigh 1.1.1.1 traffeng red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 neigh 1234:1::1 traffeng red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp052.tst000066400000000000000000000103431510423065500165650ustar00rootroot00000000000000description bgp roa rpki addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router rpki4 1 vrf v1 exit router rpki6 1 vrf v1 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.1 rpki rpki4 1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 rpki-in acc red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 rpki rpki6 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 rpki-in acc red conn exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit route-map rm1 set locpref 1234 exit route-map rm2 match validroa 1 set locpref 4321 exit server rpki r vrf v1 prefix 2.2.2.111/24 32 3 prefix 4321::111/56 128 3 exit router rpki4 1 vrf v1 neigh 2.2.2.2 port 323 wakeup bgp4 1 exit router rpki6 1 vrf v1 neigh 4321::2 port 323 wakeup bgp6 1 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.2 rpki rpki4 1 neigh 1.1.1.1 remote-as 3 neigh 1.1.1.1 rpki-in rew neigh 1.1.1.1 send-comm both neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.1 route-map-in rm2 neigh 1.1.1.6 remote-as 2 neigh 1.1.1.6 rpki-in rew neigh 1.1.1.6 send-comm both neigh 1.1.1.6 prefix-list-in p4 neigh 1.1.1.6 route-map-in rm1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.2 rpki rpki6 1 neigh 1234:1::1 remote-as 3 neigh 1234:1::1 rpki-in rew neigh 1234:1::1 send-comm both neigh 1234:1::1 prefix-list-in p6 neigh 1234:1::1 route-map-in rm2 neigh 1234:2::2 remote-as 2 neigh 1234:2::2 rpki-in rew neigh 1234:2::2 send-comm both neigh 1234:2::2 prefix-list-in p6 neigh 1234:2::2 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit router rpki4 1 vrf v1 exit router rpki6 1 vrf v1 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.3 rpki rpki4 1 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 rpki-in acc red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.3 rpki rpki6 1 neigh 1234:2::1 remote-as 1 neigh 1234:2::1 rpki-in acc red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp053.tst000066400000000000000000000077101510423065500165720ustar00rootroot00000000000000description bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 additional-path-tx uni red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 additional-path-tx uni red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 additional-path-rx uni neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 additional-path-rx uni red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 additional-path-rx uni neigh 1234:2::2 remote-as 3 neigh 1234:2::2 additional-path-rx uni red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 additional-path-rx uni neigh 1.1.1.5 additional-path-tx uni neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 additional-path-rx uni neigh 1.1.1.10 additional-path-tx uni red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 additional-path-rx uni neigh 1234:2::1 additional-path-tx uni neigh 1234:3::2 remote-as 4 neigh 1234:3::2 additional-path-rx uni neigh 1234:3::2 additional-path-tx uni red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 additional-path-rx uni neigh 1.1.1.9 additional-path-tx uni red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 additional-path-rx uni neigh 1234:3::1 additional-path-tx uni red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp054.tst000066400000000000000000000071111510423065500165660ustar00rootroot00000000000000description bgp additional path with labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 additional-path-tx lab red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 additional-path-tx lab red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 additional-path-rx lab neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 additional-path-rx lab red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 additional-path-rx lab neigh 1234:2::2 remote-as 3 neigh 1234:2::2 additional-path-rx lab red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 additional-path-rx lab neigh 1.1.1.5 additional-path-tx lab red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 additional-path-tx lab neigh 1234:2::1 additional-path-tx lab red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp055.tst000066400000000000000000000075331510423065500165770ustar00rootroot00000000000000description vpns over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 additional-path-rx vpnuni neigh 2.2.2.2 additional-path-tx vpnuni afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 additional-path-rx vpnuni neigh 4321::2 additional-path-tx vpnuni afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 additional-path-rx vpnuni neigh 2.2.2.1 additional-path-tx vpnuni afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 additional-path-rx vpnuni neigh 4321::1 additional-path-tx vpnuni afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp056.tst000066400000000000000000000071461510423065500166000ustar00rootroot00000000000000description vpls/ldp over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 additional-path-rx vpls neigh 2.2.2.2 additional-path-tx vpls afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 additional-path-rx vpls neigh 4321::2 additional-path-tx vpls afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 additional-path-rx vpls neigh 2.2.2.1 additional-path-tx vpls afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 additional-path-rx vpls neigh 4321::1 additional-path-tx vpls afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp057.tst000066400000000000000000000043561510423065500166010ustar00rootroot00000000000000description bgp nexthop unchanged addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.1 remote-as 2 neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 next-hop-unch red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::1 remote-as 2 neigh 1234:2::2 remote-as 1 neigh 1234:2::2 next-hop-unch red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp058.tst000066400000000000000000000046651510423065500166050ustar00rootroot00000000000000description bgp remove private as in addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 65534 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 65534 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 65534 neigh 1.1.1.1 remove-private-as-in neigh 1.1.1.6 remote-as 65534 neigh 1.1.1.6 remove-private-as-in red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 65534 neigh 1234:1::1 remove-private-as-in neigh 1234:2::2 remote-as 65534 neigh 1234:2::2 remove-private-as-in red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 65534 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 65534 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn exit ! r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp059.tst000066400000000000000000000046531510423065500166030ustar00rootroot00000000000000description bgp override as in addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 65535 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 65535 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 65535 neigh 1.1.1.1 override-peer-as-in neigh 1.1.1.6 remote-as 65535 neigh 1.1.1.6 override-peer-as-in red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 65535 neigh 1234:1::1 override-peer-as-in neigh 1234:2::2 remote-as 65535 neigh 1234:2::2 override-peer-as-in red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 65535 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 65535 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn exit ! r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp060.tst000066400000000000000000000057451510423065500165760ustar00rootroot00000000000000description ebgp with nexthop tracking routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit route-map rm1 match distance 0 exit route-map rm2 set aspath 3 3 3 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 nexthop route-map rm1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-map-in rm2 neigh 1.1.1.2 route-map-out rm2 neigh 1.1.1.6 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 nexthop route-map rm1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-map-in rm2 neigh 1234:1::2 route-map-out rm2 neigh 1234:2::2 remote-as 2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-map rm1 match distance 0 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 nexthop route-map rm1 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.5 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 nexthop route-map rm1 neigh 1234:1::1 remote-as 1 neigh 1234:2::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 sleep 3000 r1 output show ipv4 bgp 1 sum r1 output show ipv6 bgp 1 sum r1 output show ipv4 bgp 1 next r1 output show ipv6 bgp 1 next r1 output show ipv4 route v1 r1 output show ipv6 route v1 r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r1 send conf t r1 send int eth2 r1 send shut r1 send end r2 send conf t r2 send int eth2 r2 send shut r2 send end r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 output ../binTmp/rout-bgp-nxt.html here are the ipv4 neighbors:
show:0
here are the ipv6 neighbors:
show:1
here are the ipv4 nexthops:
show:2
here are the ipv6 nexthops:
show:3
here are the ipv4 routes:
show:4
here are the ipv6 routes:
show:5
! freeRtr-25.11.9/cfg/rout-bgp061.tst000066400000000000000000000044661510423065500165760ustar00rootroot00000000000000description ibgp with nexthop tracking routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit route-map rm1 match distance 0 exit route-map rm2 set aspath 3 3 3 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 nexthop route-map rm1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-map-in rm2 neigh 1.1.1.2 route-map-out rm2 neigh 1.1.1.6 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 nexthop route-map rm1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-map-in rm2 neigh 1234:1::2 route-map-out rm2 neigh 1234:2::2 remote-as 1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-map rm1 match distance 0 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 nexthop route-map rm1 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.5 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 nexthop route-map rm1 neigh 1234:1::1 remote-as 1 neigh 1234:2::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 sleep 3000 r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r1 send conf t r1 send int eth2 r1 send shut r1 send end r2 send conf t r2 send int eth2 r2 send shut r2 send end r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp062.tst000066400000000000000000000110461510423065500165670ustar00rootroot00000000000000description vpns over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflect neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-reflect exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-reflect neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp063.tst000066400000000000000000000104751510423065500165750ustar00rootroot00000000000000description vpls/ldp over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.2 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflect neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-reflect exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-reflect neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp064.tst000066400000000000000000000065451510423065500166010ustar00rootroot00000000000000description bgp clustlist addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.1 next-hop-self neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 prefix-list-in p4 neigh 1.1.1.6 route-reflect neigh 1.1.1.6 next-hop-self red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 prefix-list-in p6 neigh 1234:1::1 next-hop-self neigh 1234:2::2 remote-as 1 neigh 1234:2::2 prefix-list-in p6 neigh 1234:2::2 route-reflect neigh 1234:2::2 next-hop-self red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp065.tst000066400000000000000000000067611510423065500166020ustar00rootroot00000000000000description bgp metric vs clustlist addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 set metric 4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.1 next-hop-self neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 prefix-list-in p4 neigh 1.1.1.6 route-reflect neigh 1.1.1.6 next-hop-self red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 prefix-list-in p6 neigh 1234:1::1 next-hop-self neigh 1234:2::2 remote-as 1 neigh 1234:2::2 prefix-list-in p6 neigh 1234:2::2 route-reflect neigh 1234:2::2 next-hop-self red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-map rm1 set metric 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn route-map rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp066.tst000066400000000000000000000064341510423065500166000ustar00rootroot00000000000000description bgp distance addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.1 distance 123 neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 prefix-list-in p4 neigh 1.1.1.6 distance 234 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 prefix-list-in p6 neigh 1234:1::1 distance 123 neigh 1234:2::2 remote-as 1 neigh 1234:2::2 prefix-list-in p6 neigh 1234:2::2 distance 234 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp067.tst000066400000000000000000000066531510423065500166040ustar00rootroot00000000000000description bgp distance vs locpref addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 set locpref 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.1 distance 123 neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 prefix-list-in p4 neigh 1.1.1.6 distance 234 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 prefix-list-in p6 neigh 1234:1::1 distance 123 neigh 1234:2::2 remote-as 1 neigh 1234:2::2 prefix-list-in p6 neigh 1234:2::2 distance 234 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-map rm1 set locpref 4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn route-map rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp068.tst000066400000000000000000000107661510423065500166050ustar00rootroot00000000000000description ebgp in chain with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:2::2 remote-as 3 neigh 1234:2::2 soft-reconfig red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 soft-reconfig neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 soft-reconfig neigh 1234:3::2 remote-as 4 neigh 1234:3::2 soft-reconfig red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r2 output show ipv4 bgp 1 sum r2 output show ipv6 bgp 1 sum r2 output show ipv4 bgp 1 nei 1.1.1.1 uni learn r2 output show ipv6 bgp 1 nei 1234:1::1 uni learn r2 output show ipv4 bgp 1 nei 1.1.1.1 uni accept r2 output show ipv6 bgp 1 nei 1234:1::1 uni accept r2 output show ipv4 route v1 r2 output show ipv6 route v1 output ../binTmp/rout-bgp-sft.html here are the ipv4 neighbors:
show:0
here are the ipv6 neighbors:
show:1
here is the ipv4 stored database:
show:2
here is the ipv6 stored database:
show:3
here is the ipv4 used database:
show:4
here is the ipv6 used database:
show:5
here are the ipv4 routes:
show:6
here are the ipv6 routes:
show:7
! freeRtr-25.11.9/cfg/rout-bgp069.tst000066400000000000000000000076011510423065500166000ustar00rootroot00000000000000description confed bgp in chain with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 confed red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 confed neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 soft-reconfig neigh 1.1.1.6 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 confed neigh 1234:2::2 remote-as 3 neigh 1234:2::2 soft-reconfig neigh 1234:2::2 confed red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 soft-reconfig neigh 1.1.1.5 confed neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 soft-reconfig neigh 1.1.1.10 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 soft-reconfig neigh 1234:2::1 confed neigh 1234:3::2 remote-as 4 neigh 1234:3::2 soft-reconfig neigh 1234:3::2 confed red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 soft-reconfig neigh 1.1.1.9 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 soft-reconfig neigh 1234:3::1 confed red conn exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 0 60 2.2.2.4 vrf v1 r1 tping 0 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r2 tping 0 60 4321::4 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 0 60 2.2.2.1 vrf v1 r4 tping 0 60 4321::1 vrf v1 r4 tping 0 60 2.2.2.2 vrf v1 r4 tping 0 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp070.tst000066400000000000000000000067661510423065500166030ustar00rootroot00000000000000description ibgp in chain with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:2::2 remote-as 1 neigh 1234:2::2 soft-reconfig red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 soft-reconfig neigh 1.1.1.10 remote-as 1 neigh 1.1.1.10 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 neigh 1234:2::1 soft-reconfig neigh 1234:3::2 remote-as 1 neigh 1234:3::2 soft-reconfig red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 1 neigh 1.1.1.9 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:3::1 remote-as 1 neigh 1234:3::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 0 60 2.2.2.4 vrf v1 r1 tping 0 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r2 tping 0 60 4321::4 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 0 60 2.2.2.1 vrf v1 r4 tping 0 60 4321::1 vrf v1 r4 tping 0 60 2.2.2.2 vrf v1 r4 tping 0 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp071.tst000066400000000000000000000072411510423065500165710ustar00rootroot00000000000000description ibgp rr in subnet with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 soft-reconfig neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 soft-reconfig neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp072.tst000066400000000000000000000045251510423065500165740ustar00rootroot00000000000000description bgp ingress route filtering with prefixlist with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.12/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::12/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 prefix-list-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 prefix-list-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp073.tst000066400000000000000000000045261510423065500165760ustar00rootroot00000000000000description bgp egress route filtering with prefixlist with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.11/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::11/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 prefix-list-out p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 prefix-list-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp074.tst000066400000000000000000000046271510423065500166010ustar00rootroot00000000000000description bgp ingress route filtering with routemap with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-map-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-map-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp075.tst000066400000000000000000000046301510423065500165740ustar00rootroot00000000000000description bgp egress route filtering with routemap with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map p4 sequence 10 act deny match network 2.2.2.11/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::11/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-map-out p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-map-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp076.tst000066400000000000000000000052601510423065500165750ustar00rootroot00000000000000description bgp routemap filtering with locpref with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set locpref 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match locpref 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp077.tst000066400000000000000000000052471510423065500166030ustar00rootroot00000000000000description bgp routemap filtering with origin with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set origin 1 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match origin 1 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp078.tst000066400000000000000000000052551510423065500166030ustar00rootroot00000000000000description bgp routemap filtering with metric with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set metric 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match metric 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp079.tst000066400000000000000000000056751510423065500166120ustar00rootroot00000000000000description bgp routemap filtering with standard community with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set stdcomm 1234:4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match stdcomm 1234:4321 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp080.tst000066400000000000000000000052551510423065500165740ustar00rootroot00000000000000description bgp routemap filtering with aspath with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match aspath 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp081.tst000066400000000000000000000070561510423065500165760ustar00rootroot00000000000000description bgp locpref with soft-reconfig addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 set locpref 4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 soft-reconfig neigh 1.1.1.6 prefix-list-in p4 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 prefix-list-in p6 neigh 1234:2::2 remote-as 1 neigh 1234:2::2 soft-reconfig neigh 1234:2::2 prefix-list-in p6 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-map rm1 set locpref 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 neigh 1234:2::1 soft-reconfig red conn route-map rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp082.tst000066400000000000000000000070651510423065500165770ustar00rootroot00000000000000description bgp aspath with soft-reconfig addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 set aspath 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 soft-reconfig neigh 1.1.1.6 prefix-list-in p4 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 prefix-list-in p6 neigh 1234:2::2 remote-as 1 neigh 1234:2::2 soft-reconfig neigh 1234:2::2 prefix-list-in p6 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-map rm1 set aspath 1234 1234 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 neigh 1234:2::1 soft-reconfig red conn route-map rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp083.tst000066400000000000000000000070451510423065500165760ustar00rootroot00000000000000description bgp origin with soft-reconfig addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 set origin 1 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 soft-reconfig neigh 1.1.1.6 prefix-list-in p4 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 prefix-list-in p6 neigh 1234:2::2 remote-as 1 neigh 1234:2::2 soft-reconfig neigh 1234:2::2 prefix-list-in p6 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-map rm1 set origin 2 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 neigh 1234:2::1 soft-reconfig red conn route-map rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp084.tst000066400000000000000000000070531510423065500165760ustar00rootroot00000000000000description bgp metric with soft-reconfig addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 set metric 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 soft-reconfig neigh 1.1.1.6 prefix-list-in p4 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 prefix-list-in p6 neigh 1234:2::2 remote-as 1 neigh 1234:2::2 soft-reconfig neigh 1234:2::2 prefix-list-in p6 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-map rm1 set metric 4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 neigh 1234:2::1 soft-reconfig red conn route-map rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp085.tst000066400000000000000000000071441510423065500166000ustar00rootroot00000000000000description bgp locpref vs aspath with soft-reconfig addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 set locpref 4321 set aspath 1234 1234 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 soft-reconfig neigh 1.1.1.6 prefix-list-in p4 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 prefix-list-in p6 neigh 1234:2::2 remote-as 1 neigh 1234:2::2 soft-reconfig neigh 1234:2::2 prefix-list-in p6 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-map rm1 set locpref 1234 set aspath 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 neigh 1234:2::1 soft-reconfig red conn route-map rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp086.tst000066400000000000000000000071331510423065500165770ustar00rootroot00000000000000description bgp aspath vs origin with soft-reconfig addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 set aspath 1234 set origin 1 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 soft-reconfig neigh 1.1.1.6 prefix-list-in p4 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 prefix-list-in p6 neigh 1234:2::2 remote-as 1 neigh 1234:2::2 soft-reconfig neigh 1234:2::2 prefix-list-in p6 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-map rm1 set aspath 1234 1234 1234 set origin 2 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 neigh 1234:2::1 soft-reconfig red conn route-map rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp087.tst000066400000000000000000000071211510423065500165750ustar00rootroot00000000000000description bgp origin vs metric with soft-reconfig addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 set origin 1 set metric 4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 soft-reconfig neigh 1.1.1.6 prefix-list-in p4 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 prefix-list-in p6 neigh 1234:2::2 remote-as 1 neigh 1234:2::2 soft-reconfig neigh 1234:2::2 prefix-list-in p6 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-map rm1 set origin 2 set metric 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 neigh 1234:2::1 soft-reconfig red conn route-map rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp088.tst000066400000000000000000000057011510423065500166000ustar00rootroot00000000000000description bgp routemap filtering with extended community with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set extcomm 1:1234:4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match extcomm 1:1234:4321 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp089.tst000066400000000000000000000071501510423065500166010ustar00rootroot00000000000000description bgp clustlist with soft-reconfig addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.1 next-hop-self neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 soft-reconfig neigh 1.1.1.6 prefix-list-in p4 neigh 1.1.1.6 route-reflect neigh 1.1.1.6 next-hop-self red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 prefix-list-in p6 neigh 1234:1::1 next-hop-self neigh 1234:2::2 remote-as 1 neigh 1234:2::2 soft-reconfig neigh 1234:2::2 prefix-list-in p6 neigh 1234:2::2 route-reflect neigh 1234:2::2 next-hop-self red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 neigh 1234:2::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp090.tst000066400000000000000000000073641510423065500166000ustar00rootroot00000000000000description bgp metric vs clustlist with soft-reconfig addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 set metric 4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.1 next-hop-self neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 soft-reconfig neigh 1.1.1.6 prefix-list-in p4 neigh 1.1.1.6 route-reflect neigh 1.1.1.6 next-hop-self red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 prefix-list-in p6 neigh 1234:1::1 next-hop-self neigh 1234:2::2 remote-as 1 neigh 1234:2::2 soft-reconfig neigh 1234:2::2 prefix-list-in p6 neigh 1234:2::2 route-reflect neigh 1234:2::2 next-hop-self red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-map rm1 set metric 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 neigh 1234:2::1 soft-reconfig red conn route-map rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp091.tst000066400000000000000000000070371510423065500165760ustar00rootroot00000000000000description bgp distance with soft-reconfig addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.1 distance 123 neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 soft-reconfig neigh 1.1.1.6 prefix-list-in p4 neigh 1.1.1.6 distance 234 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 prefix-list-in p6 neigh 1234:1::1 distance 123 neigh 1234:2::2 remote-as 1 neigh 1234:2::2 soft-reconfig neigh 1234:2::2 prefix-list-in p6 neigh 1234:2::2 distance 234 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 neigh 1234:2::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp092.tst000066400000000000000000000072561510423065500166020ustar00rootroot00000000000000description bgp distance vs locpref with soft-reconfig addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 set locpref 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.1 distance 123 neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 soft-reconfig neigh 1.1.1.6 prefix-list-in p4 neigh 1.1.1.6 distance 234 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 prefix-list-in p6 neigh 1234:1::1 distance 123 neigh 1234:2::2 remote-as 1 neigh 1234:2::2 soft-reconfig neigh 1234:2::2 prefix-list-in p6 neigh 1234:2::2 distance 234 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-map rm1 set locpref 4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 neigh 1234:2::1 soft-reconfig red conn route-map rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp093.tst000066400000000000000000000055171510423065500166010ustar00rootroot00000000000000description bgp routemap filtering with aigp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.2 aigp neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect neigh 1.1.1.3 aigp red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::2 aigp neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect neigh 1234:1::3 aigp red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aigp 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 aigp red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 aigp red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match aigp 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-map-in rm1 neigh 1.1.1.1 aigp red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-map-in rm1 neigh 1234:1::1 aigp red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp094.tst000066400000000000000000000055761510423065500166070ustar00rootroot00000000000000description bgp routemap filtering with bandwidth with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.2 traffeng neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect neigh 1.1.1.3 traffeng red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::2 traffeng neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect neigh 1234:1::3 traffeng red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set bandwidth 8888 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 traffeng red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 traffeng red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match bandwidth 8888 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-map-in rm1 neigh 1.1.1.1 traffeng red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-map-in rm1 neigh 1234:1::1 traffeng red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp095.tst000066400000000000000000000204261510423065500165770ustar00rootroot00000000000000description bgp with a lot prefix addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.1111 $3a$ $3b$ int eth4 eth 0000.0000.1111 $4a$ $4b$ int eth5 eth 0000.0000.1111 $5a$ $5b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 2222::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int eth4 bridge-gr 1 exit int eth5 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect neigh 1234:1::6 remote-as 1 neigh 1234:1::6 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 2222::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.3 255.255.255.255 ipv6 addr 4444::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 ipv6 addr 4444::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit route-map all action permit exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.0 ipv6 addr 1234:1::5 ffff:ffff:: exit ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 exit route-map all action permit exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.0 ipv6 addr 1234:1::6 ffff:ffff:: exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2222::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 2222::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 2222::4 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r1 tping 100 60 4.4.4.3 vrf v1 r1 tping 100 60 4444::3 vrf v1 r1 tping 100 60 4.4.4.4 vrf v1 r1 tping 100 60 4444::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2222::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 2222::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 2222::4 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 r2 tping 100 60 4.4.4.3 vrf v1 r2 tping 100 60 4444::3 vrf v1 r2 tping 100 60 4.4.4.4 vrf v1 r2 tping 100 60 4444::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2222::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2222::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 2222::4 vrf v1 r3 tping 100 60 4.4.4.1 vrf v1 r3 tping 100 60 4444::1 vrf v1 r3 tping 100 60 4.4.4.2 vrf v1 r3 tping 100 60 4444::2 vrf v1 r3 tping 100 60 4.4.4.4 vrf v1 r3 tping 100 60 4444::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 2222::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 2222::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 2222::3 vrf v1 r4 tping 100 60 4.4.4.1 vrf v1 r4 tping 100 60 4444::1 vrf v1 r4 tping 100 60 4.4.4.2 vrf v1 r4 tping 100 60 4444::2 vrf v1 r4 tping 100 60 4.4.4.3 vrf v1 r4 tping 100 60 4444::3 vrf v1 r5 tping 100 60 1.1.1.1 vrf v1 r5 send pack bgpgen v1 eth1 1.1.1.1 1 3.0.0.0/8 all 10000 r5 read sent r6 tping 100 60 1234:1::1 vrf v1 r6 send pack bgpgen v1 eth1 1234:1::1 1 3333::/16 all 10000 r6 read sent r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2222::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 2222::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 2222::4 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r1 tping 100 60 4.4.4.3 vrf v1 r1 tping 100 60 4444::3 vrf v1 r1 tping 100 60 4.4.4.4 vrf v1 r1 tping 100 60 4444::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2222::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 2222::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 2222::4 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 r2 tping 100 60 4.4.4.3 vrf v1 r2 tping 100 60 4444::3 vrf v1 r2 tping 100 60 4.4.4.4 vrf v1 r2 tping 100 60 4444::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2222::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2222::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 2222::4 vrf v1 r3 tping 100 60 4.4.4.1 vrf v1 r3 tping 100 60 4444::1 vrf v1 r3 tping 100 60 4.4.4.2 vrf v1 r3 tping 100 60 4444::2 vrf v1 r3 tping 100 60 4.4.4.4 vrf v1 r3 tping 100 60 4444::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 2222::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 2222::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 2222::3 vrf v1 r4 tping 100 60 4.4.4.1 vrf v1 r4 tping 100 60 4444::1 vrf v1 r4 tping 100 60 4.4.4.2 vrf v1 r4 tping 100 60 4444::2 vrf v1 r4 tping 100 60 4.4.4.3 vrf v1 r4 tping 100 60 4444::3 vrf v1 r5 send end r5 read finish r6 send end r6 read finish r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2222::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 2222::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 2222::4 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r1 tping 100 60 4.4.4.3 vrf v1 r1 tping 100 60 4444::3 vrf v1 r1 tping 100 60 4.4.4.4 vrf v1 r1 tping 100 60 4444::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2222::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 2222::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 2222::4 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 r2 tping 100 60 4.4.4.3 vrf v1 r2 tping 100 60 4444::3 vrf v1 r2 tping 100 60 4.4.4.4 vrf v1 r2 tping 100 60 4444::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2222::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2222::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 2222::4 vrf v1 r3 tping 100 60 4.4.4.1 vrf v1 r3 tping 100 60 4444::1 vrf v1 r3 tping 100 60 4.4.4.2 vrf v1 r3 tping 100 60 4444::2 vrf v1 r3 tping 100 60 4.4.4.4 vrf v1 r3 tping 100 60 4444::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 2222::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 2222::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 2222::3 vrf v1 r4 tping 100 60 4.4.4.1 vrf v1 r4 tping 100 60 4444::1 vrf v1 r4 tping 100 60 4.4.4.2 vrf v1 r4 tping 100 60 4444::2 vrf v1 r4 tping 100 60 4.4.4.3 vrf v1 r4 tping 100 60 4444::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp096.tst000066400000000000000000000117151510423065500166010ustar00rootroot00000000000000description ebgp prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 resend-packet ipv6 resend-packet exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.4 remote-as 4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::3 remote-as 3 neigh 1234:1::4 remote-as 4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send no red conn r3 send exit r3 send router bgp6 1 r3 send no red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send red conn r3 send exit r3 send router bgp6 1 r3 send red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp097.tst000066400000000000000000000123471510423065500166040ustar00rootroot00000000000000description confed bgp prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 resend-packet ipv6 resend-packet exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 confed neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 confed neigh 1.1.1.4 remote-as 4 neigh 1.1.1.4 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 confed neigh 1234:1::3 remote-as 3 neigh 1234:1::3 confed neigh 1234:1::4 remote-as 4 neigh 1234:1::4 confed red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 confed red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 confed red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 confed red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send no red conn r3 send exit r3 send router bgp6 1 r3 send no red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send red conn r3 send exit r3 send router bgp6 1 r3 send red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp098.tst000066400000000000000000000113651510423065500166040ustar00rootroot00000000000000description ibgp prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.4 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::3 remote-as 1 neigh 1234:1::4 remote-as 1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r2 tping 0 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r3 tping 0 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 0 60 2.2.2.2 vrf v1 r4 tping 0 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r2 send conf t r2 send router bgp4 1 r2 send no red conn r2 send exit r2 send router bgp6 1 r2 send no red conn r2 send end r1 tping 0 60 2.2.2.2 vrf v1 r1 tping 0 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r2 tping 0 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r3 tping 0 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 0 60 2.2.2.2 vrf v1 r4 tping 0 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r2 send conf t r2 send router bgp4 1 r2 send red conn r2 send exit r2 send router bgp6 1 r2 send red conn r2 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r2 tping 0 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r3 tping 0 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 0 60 2.2.2.2 vrf v1 r4 tping 0 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp099.tst000066400000000000000000000122161510423065500166010ustar00rootroot00000000000000description ibgp fullmesh prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.4 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::3 remote-as 1 neigh 1234:1::4 remote-as 1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.4 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::3 remote-as 1 neigh 1234:1::4 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.4 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::2 remote-as 1 neigh 1234:1::4 remote-as 1 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.3 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::2 remote-as 1 neigh 1234:1::3 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r2 send conf t r2 send router bgp4 1 r2 send no red conn r2 send exit r2 send router bgp6 1 r2 send no red conn r2 send end r1 tping 0 60 2.2.2.2 vrf v1 r1 tping 0 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 0 60 2.2.2.2 vrf v1 r4 tping 0 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r2 send conf t r2 send router bgp4 1 r2 send red conn r2 send exit r2 send router bgp6 1 r2 send red conn r2 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp100.tst000066400000000000000000000117541510423065500165660ustar00rootroot00000000000000description ibgp rr prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send no red conn r3 send exit r3 send router bgp6 1 r3 send no red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send red conn r3 send exit r3 send router bgp6 1 r3 send red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp101.tst000066400000000000000000000125101510423065500165560ustar00rootroot00000000000000description ebgp prefix withdraw with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 resend-packet ipv6 resend-packet exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.4 remote-as 4 neigh 1.1.1.4 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::3 remote-as 3 neigh 1234:1::3 soft-reconfig neigh 1234:1::4 remote-as 4 neigh 1234:1::4 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send no red conn r3 send exit r3 send router bgp6 1 r3 send no red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send red conn r3 send exit r3 send router bgp6 1 r3 send red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp102.tst000066400000000000000000000131421510423065500165610ustar00rootroot00000000000000description confed bgp prefix withdraw with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 resend-packet ipv6 resend-packet exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 confed neigh 1.1.1.2 soft-reconfig neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 confed neigh 1.1.1.3 soft-reconfig neigh 1.1.1.4 remote-as 4 neigh 1.1.1.4 confed neigh 1.1.1.4 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 confed neigh 1234:1::2 soft-reconfig neigh 1234:1::3 remote-as 3 neigh 1234:1::3 confed neigh 1234:1::3 soft-reconfig neigh 1234:1::4 remote-as 4 neigh 1234:1::4 confed neigh 1234:1::4 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 confed neigh 1234:1::1 soft-reconfig red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 confed neigh 1234:1::1 soft-reconfig red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 confed neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send no red conn r3 send exit r3 send router bgp6 1 r3 send no red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send red conn r3 send exit r3 send router bgp6 1 r3 send red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp103.tst000066400000000000000000000121601510423065500165610ustar00rootroot00000000000000description ibgp prefix withdraw with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::4 remote-as 1 neigh 1234:1::4 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r2 tping 0 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r3 tping 0 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 0 60 2.2.2.2 vrf v1 r4 tping 0 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r2 send conf t r2 send router bgp4 1 r2 send no red conn r2 send exit r2 send router bgp6 1 r2 send no red conn r2 send end r1 tping 0 60 2.2.2.2 vrf v1 r1 tping 0 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r2 tping 0 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r3 tping 0 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 0 60 2.2.2.2 vrf v1 r4 tping 0 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r2 send conf t r2 send router bgp4 1 r2 send red conn r2 send exit r2 send router bgp6 1 r2 send red conn r2 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r2 tping 0 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r3 tping 0 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 0 60 2.2.2.2 vrf v1 r4 tping 0 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp104.tst000066400000000000000000000135611510423065500165700ustar00rootroot00000000000000description ibgp fullmesh prefix withdraw with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::4 remote-as 1 neigh 1234:1::4 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::4 remote-as 1 neigh 1234:1::4 soft-reconfig red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::4 remote-as 1 neigh 1234:1::4 soft-reconfig red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r2 send conf t r2 send router bgp4 1 r2 send no red conn r2 send exit r2 send router bgp6 1 r2 send no red conn r2 send end r1 tping 0 60 2.2.2.2 vrf v1 r1 tping 0 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 0 60 2.2.2.2 vrf v1 r4 tping 0 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r2 send conf t r2 send router bgp4 1 r2 send red conn r2 send exit r2 send router bgp6 1 r2 send red conn r2 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp105.tst000066400000000000000000000125471510423065500165740ustar00rootroot00000000000000description ibgp rr prefix withdraw with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 soft-reconfig neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 soft-reconfig neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect neigh 1.1.1.4 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 soft-reconfig neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 soft-reconfig neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect neigh 1234:1::4 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send no red conn r3 send exit r3 send router bgp6 1 r3 send no red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send red conn r3 send exit r3 send router bgp6 1 r3 send red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp106.tst000066400000000000000000000071421510423065500165700ustar00rootroot00000000000000description vpns over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 confed neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 confed neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 confed neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 confed neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp107.tst000066400000000000000000000065751510423065500166020ustar00rootroot00000000000000description vpls/ldp over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 confed neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 confed neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 confed neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 confed neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp108.tst000066400000000000000000000113131510423065500165650ustar00rootroot00000000000000description vpns over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.2 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 3 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-server neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-server exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 3 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-server neigh 4321::2 remote-as 2 neigh 4321::2 send-comm both neigh 4321::2 route-server exit ! r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp109.tst000066400000000000000000000107431510423065500165740ustar00rootroot00000000000000description vpls/ldp over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 6.6.6.2 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 3 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-server neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-server exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 3 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-server neigh 4321::2 remote-as 2 neigh 4321::2 send-comm both neigh 4321::2 route-server exit ! r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp110.tst000066400000000000000000000047761510423065500165750ustar00rootroot00000000000000description bgp route server with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-server neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-server red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 soft-reconfig neigh 1234::1 route-server neigh 1234::3 remote-as 3 neigh 1234::3 soft-reconfig neigh 1234::3 route-server red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234::2 remote-as 2 neigh 1234::2 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp111.tst000066400000000000000000000063551510423065500165710ustar00rootroot00000000000000description bgp route server prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-server neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 route-server red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 route-server neigh 1234::3 remote-as 3 neigh 1234::3 route-server red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234::2 remote-as 2 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send no red conn r3 send exit r3 send router bgp6 1 r3 send no red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send red conn r3 send exit r3 send router bgp6 1 r3 send red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp112.tst000066400000000000000000000067501510423065500165710ustar00rootroot00000000000000description bgp route server prefix withdraw with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-server neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-server red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 soft-reconfig neigh 1234::1 route-server neigh 1234::3 remote-as 3 neigh 1234::3 soft-reconfig neigh 1234::3 route-server red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234::2 remote-as 2 neigh 1234::2 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send no red conn r3 send exit r3 send router bgp6 1 r3 send no red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send red conn r3 send exit r3 send router bgp6 1 r3 send red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp113.tst000066400000000000000000000176061510423065500165740ustar00rootroot00000000000000description multisite vpns over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 update lo0 neigh 1.1.1.4 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 1234:1::4 remote-as 1 neigh 1234:1::4 update lo0 neigh 1234:1::4 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 update lo0 neigh 1.1.1.4 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 1234:1::4 remote-as 1 neigh 1234:1::4 update lo0 neigh 1234:1::4 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 update lo0 neigh 1.1.1.4 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 1234:1::4 remote-as 1 neigh 1234:1::4 update lo0 neigh 1234:1::4 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $1b$ $1a$ int eth2 eth 0000.0000.4444 $2b$ $2a$ int eth3 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.4 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflect neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-reflect neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 route-reflect exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.4 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-reflect neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 route-reflect neigh 4321::3 remote-as 1 neigh 4321::3 send-comm both neigh 4321::3 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r4 tping 100 60 2.2.2.2 vrf v1 sou lo0 r4 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.3 vrf v1 sou lo0 r4 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r1 tping 100 60 9.9.2.3 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r2 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r3 tping 100 60 9.9.2.2 vrf v2 r1 tping 100 60 9992::2 vrf v2 r1 tping 100 60 9992::3 vrf v2 r2 tping 100 60 9992::1 vrf v2 r2 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r3 tping 100 60 9992::2 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r1 tping 100 60 9.9.3.3 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r2 tping 100 60 9.9.3.3 vrf v3 r3 tping 100 60 9.9.3.1 vrf v3 r3 tping 100 60 9.9.3.2 vrf v3 r1 tping 100 60 9993::2 vrf v3 r1 tping 100 60 9993::3 vrf v3 r2 tping 100 60 9993::1 vrf v3 r2 tping 100 60 9993::3 vrf v3 r3 tping 100 60 9993::1 vrf v3 r3 tping 100 60 9993::2 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9994::3 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9994::2 vrf v4 freeRtr-25.11.9/cfg/rout-bgp114.tst000066400000000000000000000165471510423065500166000ustar00rootroot00000000000000description multisite vpls/ldp over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.0 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 update lo0 neigh 1.1.1.4 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 neigh 1234:1::4 remote-as 1 neigh 1234:1::4 update lo0 neigh 1234:1::4 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.0 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.2 neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 update lo0 neigh 1.1.1.4 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.2 neigh 1234:1::4 remote-as 1 neigh 1234:1::4 update lo0 neigh 1234:1::4 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 exit int bvi2 vrf for v1 ipv6 addr 4444::3 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::3 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.3 255.255.255.0 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.3 neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 update lo0 neigh 1.1.1.4 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.3 neigh 1234:1::4 remote-as 1 neigh 1234:1::4 update lo0 neigh 1234:1::4 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $1b$ $1a$ int eth2 eth 0000.0000.4444 $2b$ $2a$ int eth3 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.4 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflect neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-reflect neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 route-reflect exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.4 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-reflect neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 route-reflect neigh 4321::3 remote-as 1 neigh 4321::3 send-comm both neigh 4321::3 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r4 tping 100 60 2.2.2.2 vrf v1 sou lo0 r4 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.3 vrf v1 sou lo0 r4 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 3.3.3.3 vrf v1 r1 tping 100 60 3333::3 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r1 tping 100 60 4.4.4.3 vrf v1 r1 tping 100 60 4444::3 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 3.3.3.3 vrf v1 r2 tping 100 60 3333::3 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 r2 tping 100 60 4.4.4.3 vrf v1 r2 tping 100 60 4444::3 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r3 tping 100 60 3333::1 vrf v1 r3 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 60 3333::2 vrf v1 r3 tping 100 60 4.4.4.1 vrf v1 r3 tping 100 60 4444::1 vrf v1 r3 tping 100 60 4.4.4.2 vrf v1 r3 tping 100 60 4444::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp115.tst000066400000000000000000000143771510423065500166000ustar00rootroot00000000000000description bgp change in locpref addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match locpref 4000-6000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set locpref 1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match locpref 2000-4000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set locpref 3000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set locpref 5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set locpref 1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp116.tst000066400000000000000000000144041510423065500165700ustar00rootroot00000000000000description bgp change in aspath addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match aspath .*5000.* sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set aspath .*1000.* exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match aspath .*3000.* sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set aspath 3000 4321 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set aspath 1234 5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set aspath 1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp117.tst000066400000000000000000000143351510423065500165740ustar00rootroot00000000000000description bgp change in origin addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match origin 1 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set origin 0 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match origin 2 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set origin 2 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set origin 1 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set origin 0 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp118.tst000066400000000000000000000143701510423065500165740ustar00rootroot00000000000000description bgp change in metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match metric 4000-6000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set metric 1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match metric 2000-4000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 3000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp119.tst000066400000000000000000000147461510423065500166040ustar00rootroot00000000000000description bgp change in aigp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 aigp neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 aigp neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 aigp neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 aigp neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 aigp neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 aigp neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match aigp 4000-6000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 aigp neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 aigp neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set aigp 1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 aigp red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 aigp red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match aigp 2000-4000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 aigp neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 aigp neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set aigp 3000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set aigp 5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set aigp 1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp120.tst000066400000000000000000000150711510423065500165640ustar00rootroot00000000000000description bgp change in bandwidth addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 traffeng neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 traffeng neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 traffeng neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 traffeng neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 traffeng neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 traffeng neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match bandwidth 4000-6000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 traffeng neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 traffeng neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set bandwidth 1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 traffeng red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 traffeng red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match bandwidth 2000-4000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 traffeng neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 traffeng neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set bandwidth 3000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set bandwidth 5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set bandwidth 1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp121.tst000066400000000000000000000152221510423065500165630ustar00rootroot00000000000000description bgp change in standard community addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 send-comm both neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 send-comm both neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 send-comm both neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 send-comm both neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match stdcomm 1234:5000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set stdcomm 1234:1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match stdcomm 1234:3000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set stdcomm 1234:3000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set stdcomm 1234:5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set stdcomm 1234:1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp122.tst000066400000000000000000000152361510423065500165710ustar00rootroot00000000000000description bgp change in extended community addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 send-comm both neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 send-comm both neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 send-comm both neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 send-comm both neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match extcomm 1:1234:5000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set extcomm 1:1234:1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match extcomm 1:1234:3000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set extcomm 1:1234:3000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set extcomm 1:1234:5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set extcomm 1:1234:1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp123.tst000066400000000000000000000151721510423065500165710ustar00rootroot00000000000000description bgp change in locpref with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 soft-reconfig neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 soft-reconfig neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match locpref 4000-6000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set locpref 1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match locpref 2000-4000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set locpref 3000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set locpref 5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set locpref 1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp124.tst000066400000000000000000000151771510423065500165770ustar00rootroot00000000000000description bgp change in aspath with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 soft-reconfig neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 soft-reconfig neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match aspath .*5000.* sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set aspath .*1000.* exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match aspath .*3000.* sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set aspath 3000 4321 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set aspath 1234 5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set aspath 1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp125.tst000066400000000000000000000151301510423065500165650ustar00rootroot00000000000000description bgp change in origin with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 soft-reconfig neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 soft-reconfig neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect neigh 1.1.1.4 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 soft-reconfig neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 soft-reconfig neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect neigh 1234:1::4 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match origin 1 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 neigh 1234:1::1 soft-reconfig red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set origin 0 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match origin 2 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set origin 2 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set origin 1 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set origin 0 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp126.tst000066400000000000000000000151631510423065500165740ustar00rootroot00000000000000description bgp change in metric with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 soft-reconfig neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 soft-reconfig neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match metric 4000-6000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set metric 1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match metric 2000-4000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 3000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp127.tst000066400000000000000000000155411510423065500165750ustar00rootroot00000000000000description bgp change in aigp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 aigp neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 aigp neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 soft-reconfig neigh 1.1.1.4 aigp neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 aigp neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 aigp neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 soft-reconfig neigh 1234:1::4 aigp neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match aigp 4000-6000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 aigp neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 aigp neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set aigp 1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 aigp red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 aigp red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match aigp 2000-4000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 aigp neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 aigp neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set aigp 3000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set aigp 5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set aigp 1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp128.tst000066400000000000000000000156641510423065500166040ustar00rootroot00000000000000description bgp change in bandwidth with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 traffeng neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 traffeng neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 soft-reconfig neigh 1.1.1.4 traffeng neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 traffeng neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 traffeng neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 soft-reconfig neigh 1234:1::4 traffeng neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match bandwidth 4000-6000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 traffeng neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 traffeng neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set bandwidth 1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 traffeng red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 traffeng red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match bandwidth 2000-4000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 traffeng neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 traffeng neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set bandwidth 3000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set bandwidth 5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set bandwidth 1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp129.tst000066400000000000000000000160151510423065500165740ustar00rootroot00000000000000description bgp change in standard community with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 send-comm both neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 send-comm both neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 soft-reconfig neigh 1.1.1.4 send-comm both neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 send-comm both neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 send-comm both neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 soft-reconfig neigh 1234:1::4 send-comm both neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match stdcomm 1234:5000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set stdcomm 1234:1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match stdcomm 1234:3000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set stdcomm 1234:3000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set stdcomm 1234:5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set stdcomm 1234:1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp130.tst000066400000000000000000000160311510423065500165620ustar00rootroot00000000000000description bgp change in extended community with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 send-comm both neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 send-comm both neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 soft-reconfig neigh 1.1.1.4 send-comm both neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 send-comm both neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 send-comm both neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 soft-reconfig neigh 1234:1::4 send-comm both neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match extcomm 1:1234:5000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set extcomm 1:1234:1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match extcomm 1:1234:3000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set extcomm 1:1234:3000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set extcomm 1:1234:5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set extcomm 1:1234:1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp131.tst000066400000000000000000000044411510423065500165650ustar00rootroot00000000000000description bgp aggregation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-map-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-map-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 aggregate 2.2.2.0/24 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 aggregate 4321::/32 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp132.tst000066400000000000000000000111241510423065500165620ustar00rootroot00000000000000description bgp maximum prefix in addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 maximum-prefix-in 3 50 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 maximum-prefix-in 3 50 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.32 255.255.255.255 ipv6 addr 4321::32 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v1 ipv4 addr 2.2.2.42 255.255.255.255 ipv6 addr 4321::42 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo5 vrf for v1 ipv4 addr 2.2.2.52 255.255.255.255 ipv6 addr 4321::52 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo6 vrf for v1 ipv4 addr 2.2.2.62 255.255.255.255 ipv6 addr 4321::62 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo7 vrf for v1 ipv4 addr 2.2.2.72 255.255.255.255 ipv6 addr 4321::72 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo8 vrf for v1 ipv4 addr 2.2.2.82 255.255.255.255 ipv6 addr 4321::82 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 aggregate 2.2.2.0/24 summary red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 aggregate 4321::/32 summary red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r1 tping 100 60 2.2.2.32 vrf v1 r1 tping 100 60 4321::32 vrf v1 r1 tping 100 60 2.2.2.42 vrf v1 r1 tping 100 60 4321::42 vrf v1 r1 tping 100 60 2.2.2.52 vrf v1 r1 tping 100 60 4321::52 vrf v1 r1 tping 100 60 2.2.2.62 vrf v1 r1 tping 100 60 4321::62 vrf v1 r1 tping 100 60 2.2.2.72 vrf v1 r1 tping 100 60 4321::72 vrf v1 r1 tping 100 60 2.2.2.82 vrf v1 r1 tping 100 60 4321::82 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 r2 send conf t r2 send router bgp4 1 r2 send no aggregate 2.2.2.0/24 summary r2 send exit r2 send router bgp6 1 r2 send no aggregate 4321::/32 summary r2 send end r1 tping 0 60 2.2.2.2 vrf v1 r1 tping 0 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 0 60 2.2.2.22 vrf v1 r1 tping 0 60 4321::22 vrf v1 r2 tping 0 60 2.2.2.1 vrf v1 r2 tping 0 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 0 60 2.2.2.21 vrf v1 r2 tping 0 60 4321::21 vrf v1 r2 send conf t r2 send router bgp4 1 r2 send aggregate 2.2.2.0/24 summary r2 send exit r2 send router bgp6 1 r2 send aggregate 4321::/32 summary r2 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r1 tping 100 60 2.2.2.32 vrf v1 r1 tping 100 60 4321::32 vrf v1 r1 tping 100 60 2.2.2.42 vrf v1 r1 tping 100 60 4321::42 vrf v1 r1 tping 100 60 2.2.2.52 vrf v1 r1 tping 100 60 4321::52 vrf v1 r1 tping 100 60 2.2.2.62 vrf v1 r1 tping 100 60 4321::62 vrf v1 r1 tping 100 60 2.2.2.72 vrf v1 r1 tping 100 60 4321::72 vrf v1 r1 tping 100 60 2.2.2.82 vrf v1 r1 tping 100 60 4321::82 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp133.tst000066400000000000000000000103711510423065500165660ustar00rootroot00000000000000description evpn/pbb over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 r1 output show ipv4 bgp 1 sum r1 output show ipv6 bgp 1 sum r1 output show ipv4 bgp 1 evpn dat r1 output show ipv6 bgp 1 evpn dat r1 output show ipv4 route v1 r1 output show ipv6 route v1 r1 output show bridge 1 r1 output show bridge 2 r1 output show bridge 3 r1 output show bridge 4 output ../binTmp/rout-bgp-evpn1.html here are the ipv4 neighbors:
show:0
here are the ipv6 neighbors:
show:1
here is the ipv4 database:
show:2
here is the ipv6 database:
show:3
here are the ipv4 routes:
show:4
here are the ipv6 routes:
show:5
here is the bridge:
show:6
here is the bridge:
show:7
here is the bridge:
show:8
here is the bridge:
show:9
! freeRtr-25.11.9/cfg/rout-bgp134.tst000066400000000000000000000054531510423065500165740ustar00rootroot00000000000000description evpn/pbb over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp135.tst000066400000000000000000000072661510423065500166010ustar00rootroot00000000000000description evpn/pbb over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 additional-path-rx evpn neigh 2.2.2.2 additional-path-tx evpn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 additional-path-rx evpn neigh 4321::2 additional-path-tx evpn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 additional-path-rx evpn neigh 2.2.2.1 additional-path-tx evpn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 additional-path-rx evpn neigh 4321::1 additional-path-tx evpn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp136.tst000066400000000000000000000107411510423065500165720ustar00rootroot00000000000000description evpn/pbb over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both neigh 1234:1::3 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both neigh 1234:1::3 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 route-reflect neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 route-reflect exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 route-reflect neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp137.tst000066400000000000000000000067151510423065500166010ustar00rootroot00000000000000description evpn/pbb over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 confed neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 confed neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 confed neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 confed neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp138.tst000066400000000000000000000112071510423065500165720ustar00rootroot00000000000000description evpn/pbb over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both neigh 1234:1::3 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both neigh 1234:1::3 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 route-server neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 route-server exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 route-server neigh 4321::2 remote-as 2 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 route-server exit ! r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp139.tst000066400000000000000000000171351510423065500166010ustar00rootroot00000000000000description multisite evpn/pbb over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.0 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 update lo0 neigh 1.1.1.4 send-comm both neigh 1.1.1.4 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::4 remote-as 1 neigh 1234:1::4 update lo0 neigh 1234:1::4 send-comm both neigh 1234:1::4 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.0 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 update lo0 neigh 1.1.1.4 send-comm both neigh 1.1.1.4 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234:1::4 remote-as 1 neigh 1234:1::4 update lo0 neigh 1234:1::4 send-comm both neigh 1234:1::4 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 exit int bvi2 vrf for v1 ipv6 addr 4444::3 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::3 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.3 255.255.255.0 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 update lo0 neigh 1.1.1.4 send-comm both neigh 1.1.1.4 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 1234:1::4 remote-as 1 neigh 1234:1::4 update lo0 neigh 1234:1::4 send-comm both neigh 1234:1::4 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $1b$ $1a$ int eth2 eth 0000.0000.4444 $2b$ $2a$ int eth3 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 route-reflect neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 route-reflect neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 pmsi neigh 2.2.2.3 route-reflect exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 route-reflect neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 route-reflect neigh 4321::3 remote-as 1 neigh 4321::3 send-comm both neigh 4321::3 pmsi neigh 4321::3 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r4 tping 100 60 2.2.2.2 vrf v1 sou lo0 r4 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.3 vrf v1 sou lo0 r4 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 3.3.3.3 vrf v1 r1 tping 100 60 3333::3 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r1 tping 100 60 4.4.4.3 vrf v1 r1 tping 100 60 4444::3 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 3.3.3.3 vrf v1 r2 tping 100 60 3333::3 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 r2 tping 100 60 4.4.4.3 vrf v1 r2 tping 100 60 4444::3 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r3 tping 100 60 3333::1 vrf v1 r3 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 60 3333::2 vrf v1 r3 tping 100 60 4.4.4.1 vrf v1 r3 tping 100 60 4444::1 vrf v1 r3 tping 100 60 4.4.4.2 vrf v1 r3 tping 100 60 4444::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp140.tst000066400000000000000000000111471510423065500165660ustar00rootroot00000000000000description ethersite vpls/ldp over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit bridge 2 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2.11 bridge-group 1 exit int eth2.12 bridge-group 2 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.0 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit bridge 2 rd 1:1 rt-both 1:1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2.11 bridge-group 1 exit int eth2.12 bridge-group 2 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.0 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 ipv6 addr 3333::3 ffff:: exit int eth1.12 vrf for v1 ipv4 addr 4.4.4.3 255.255.255.0 ipv6 addr 4444::3 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 ipv6 addr 3333::4 ffff:: exit int eth1.12 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.0 ipv6 addr 4444::4 ffff:: exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r1 tping 100 60 3.3.3.3 vrf v1 r1 tping 100 60 3333::3 vrf v1 r1 tping 100 60 4.4.4.3 vrf v1 r1 tping 100 60 4444::3 vrf v1 r1 tping 100 60 3.3.3.4 vrf v1 r1 tping 100 60 3333::4 vrf v1 r1 tping 100 60 4.4.4.4 vrf v1 r1 tping 100 60 4444::4 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 r2 tping 100 60 3.3.3.3 vrf v1 r2 tping 100 60 3333::3 vrf v1 r2 tping 100 60 4.4.4.3 vrf v1 r2 tping 100 60 4444::3 vrf v1 r2 tping 100 60 3.3.3.4 vrf v1 r2 tping 100 60 3333::4 vrf v1 r2 tping 100 60 4.4.4.4 vrf v1 r2 tping 100 60 4444::4 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r3 tping 100 60 3333::1 vrf v1 r3 tping 100 60 4.4.4.1 vrf v1 r3 tping 100 60 4444::1 vrf v1 r3 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 60 3333::2 vrf v1 r3 tping 100 60 4.4.4.2 vrf v1 r3 tping 100 60 4444::2 vrf v1 r3 tping 100 60 3.3.3.4 vrf v1 r3 tping 100 60 3333::4 vrf v1 r3 tping 100 60 4.4.4.4 vrf v1 r3 tping 100 60 4444::4 vrf v1 r4 tping 100 60 3.3.3.1 vrf v1 r4 tping 100 60 3333::1 vrf v1 r4 tping 100 60 4.4.4.1 vrf v1 r4 tping 100 60 4444::1 vrf v1 r4 tping 100 60 3.3.3.2 vrf v1 r4 tping 100 60 3333::2 vrf v1 r4 tping 100 60 4.4.4.2 vrf v1 r4 tping 100 60 4444::2 vrf v1 r4 tping 100 60 3.3.3.3 vrf v1 r4 tping 100 60 3333::3 vrf v1 r4 tping 100 60 4.4.4.3 vrf v1 r4 tping 100 60 4444::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp141.tst000066400000000000000000000112671510423065500165720ustar00rootroot00000000000000description ethersite evpn/pbb over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit bridge 2 rd 1:2 rt-both 1:2 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2.11 bridge-group 1 exit int eth2.12 bridge-group 2 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.0 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit bridge 2 rd 1:2 rt-both 1:2 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2.11 bridge-group 1 exit int eth2.12 bridge-group 2 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.0 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 ipv6 addr 3333::3 ffff:: exit int eth1.12 vrf for v1 ipv4 addr 4.4.4.3 255.255.255.0 ipv6 addr 4444::3 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 ipv6 addr 3333::4 ffff:: exit int eth1.12 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.0 ipv6 addr 4444::4 ffff:: exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r1 tping 100 60 3.3.3.3 vrf v1 r1 tping 100 60 3333::3 vrf v1 r1 tping 100 60 4.4.4.3 vrf v1 r1 tping 100 60 4444::3 vrf v1 r1 tping 100 60 3.3.3.4 vrf v1 r1 tping 100 60 3333::4 vrf v1 r1 tping 100 60 4.4.4.4 vrf v1 r1 tping 100 60 4444::4 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 r2 tping 100 60 3.3.3.3 vrf v1 r2 tping 100 60 3333::3 vrf v1 r2 tping 100 60 4.4.4.3 vrf v1 r2 tping 100 60 4444::3 vrf v1 r2 tping 100 60 3.3.3.4 vrf v1 r2 tping 100 60 3333::4 vrf v1 r2 tping 100 60 4.4.4.4 vrf v1 r2 tping 100 60 4444::4 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r3 tping 100 60 3333::1 vrf v1 r3 tping 100 60 4.4.4.1 vrf v1 r3 tping 100 60 4444::1 vrf v1 r3 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 60 3333::2 vrf v1 r3 tping 100 60 4.4.4.2 vrf v1 r3 tping 100 60 4444::2 vrf v1 r3 tping 100 60 3.3.3.4 vrf v1 r3 tping 100 60 3333::4 vrf v1 r3 tping 100 60 4.4.4.4 vrf v1 r3 tping 100 60 4444::4 vrf v1 r4 tping 100 60 3.3.3.1 vrf v1 r4 tping 100 60 3333::1 vrf v1 r4 tping 100 60 4.4.4.1 vrf v1 r4 tping 100 60 4444::1 vrf v1 r4 tping 100 60 3.3.3.2 vrf v1 r4 tping 100 60 3333::2 vrf v1 r4 tping 100 60 4.4.4.2 vrf v1 r4 tping 100 60 4444::2 vrf v1 r4 tping 100 60 3.3.3.3 vrf v1 r4 tping 100 60 3333::3 vrf v1 r4 tping 100 60 4.4.4.3 vrf v1 r4 tping 100 60 4444::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp142.tst000066400000000000000000000216741510423065500165760ustar00rootroot00000000000000description ethersite vpns over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth2.12 vrf for v2 ipv4 addr 9.8.2.1 255.255.255.0 ipv6 addr 9982::1 ffff:ffff:ffff:ffff:: exit int eth2.13 vrf for v3 ipv4 addr 9.8.3.1 255.255.255.0 ipv6 addr 9983::1 ffff:ffff:ffff:ffff:: exit int eth2.14 vrf for v4 ipv4 addr 9.8.4.1 255.255.255.0 ipv6 addr 9984::1 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth2.12 vrf for v2 ipv4 addr 9.7.2.1 255.255.255.0 ipv6 addr 9972::1 ffff:ffff:ffff:ffff:: exit int eth2.13 vrf for v3 ipv4 addr 9.7.3.1 255.255.255.0 ipv6 addr 9973::1 ffff:ffff:ffff:ffff:: exit int eth2.14 vrf for v4 ipv4 addr 9.7.4.1 255.255.255.0 ipv6 addr 9974::1 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int eth1.12 vrf for v2 ipv4 addr 9.8.2.2 255.255.255.0 ipv6 addr 9982::2 ffff:ffff:ffff:ffff:: exit int eth1.13 vrf for v3 ipv4 addr 9.8.3.2 255.255.255.0 ipv6 addr 9983::2 ffff:ffff:ffff:ffff:: exit int eth1.14 vrf for v4 ipv4 addr 9.8.4.2 255.255.255.0 ipv6 addr 9984::2 ffff:ffff:ffff:ffff:: exit ipv4 route v2 0.0.0.0 0.0.0.0 9.8.2.1 ipv4 route v3 0.0.0.0 0.0.0.0 9.8.3.1 ipv4 route v4 0.0.0.0 0.0.0.0 9.8.4.1 ipv6 route v2 :: :: 9982::1 ipv6 route v3 :: :: 9983::1 ipv6 route v4 :: :: 9984::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int eth1.12 vrf for v2 ipv4 addr 9.7.2.2 255.255.255.0 ipv6 addr 9972::2 ffff:ffff:ffff:ffff:: exit int eth1.13 vrf for v3 ipv4 addr 9.7.3.2 255.255.255.0 ipv6 addr 9973::2 ffff:ffff:ffff:ffff:: exit int eth1.14 vrf for v4 ipv4 addr 9.7.4.2 255.255.255.0 ipv6 addr 9974::2 ffff:ffff:ffff:ffff:: exit ipv4 route v2 0.0.0.0 0.0.0.0 9.7.2.1 ipv4 route v3 0.0.0.0 0.0.0.0 9.7.3.1 ipv4 route v4 0.0.0.0 0.0.0.0 9.7.4.1 ipv6 route v2 :: :: 9972::1 ipv6 route v3 :: :: 9973::1 ipv6 route v4 :: :: 9974::1 ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r1 tping 100 60 9.8.2.2 vrf v2 r1 tping 100 60 9.7.2.2 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r3 tping 100 60 9.8.2.2 vrf v2 r3 tping 100 60 9.7.2.2 vrf v2 r1 tping 100 60 9992::3 vrf v2 r1 tping 100 60 9982::2 vrf v2 r1 tping 100 60 9972::2 vrf v2 r3 tping 100 60 9992::1 vrf v2 r3 tping 100 60 9982::2 vrf v2 r3 tping 100 60 9972::2 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r1 tping 100 60 9.8.3.2 vrf v3 r1 tping 100 60 9.7.3.2 vrf v3 r3 tping 100 60 9.9.3.1 vrf v3 r3 tping 100 60 9.8.3.2 vrf v3 r3 tping 100 60 9.7.3.2 vrf v3 r1 tping 100 60 9993::3 vrf v3 r1 tping 100 60 9983::2 vrf v3 r1 tping 100 60 9973::2 vrf v3 r3 tping 100 60 9993::1 vrf v3 r3 tping 100 60 9983::2 vrf v3 r3 tping 100 60 9973::2 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9.8.4.2 vrf v4 r1 tping 100 60 9.7.4.2 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9.8.4.2 vrf v4 r3 tping 100 60 9.7.4.2 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9984::2 vrf v4 r1 tping 100 60 9974::2 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9984::2 vrf v4 r3 tping 100 60 9974::2 vrf v4 r4 tping 100 60 9.9.2.1 vrf v2 r4 tping 100 60 9.9.2.3 vrf v2 r4 tping 100 60 9.8.2.2 vrf v2 r4 tping 100 60 9.7.2.2 vrf v2 r5 tping 100 60 9.9.2.1 vrf v2 r5 tping 100 60 9.9.2.3 vrf v2 r5 tping 100 60 9.8.2.2 vrf v2 r5 tping 100 60 9.7.2.2 vrf v2 r4 tping 100 60 9992::1 vrf v2 r4 tping 100 60 9992::3 vrf v2 r4 tping 100 60 9982::2 vrf v2 r4 tping 100 60 9972::2 vrf v2 r5 tping 100 60 9992::1 vrf v2 r5 tping 100 60 9992::3 vrf v2 r5 tping 100 60 9982::2 vrf v2 r5 tping 100 60 9972::2 vrf v2 r4 tping 100 60 9.9.3.1 vrf v3 r4 tping 100 60 9.9.3.3 vrf v3 r4 tping 100 60 9.8.3.2 vrf v3 r4 tping 100 60 9.7.3.2 vrf v3 r5 tping 100 60 9.9.3.1 vrf v3 r5 tping 100 60 9.9.3.3 vrf v3 r5 tping 100 60 9.8.3.2 vrf v3 r5 tping 100 60 9.7.3.2 vrf v3 r4 tping 100 60 9993::1 vrf v3 r4 tping 100 60 9993::3 vrf v3 r4 tping 100 60 9983::2 vrf v3 r4 tping 100 60 9973::2 vrf v3 r5 tping 100 60 9993::1 vrf v3 r5 tping 100 60 9993::3 vrf v3 r5 tping 100 60 9983::2 vrf v3 r5 tping 100 60 9973::2 vrf v3 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9.8.4.2 vrf v4 r4 tping 100 60 9.7.4.2 vrf v4 r5 tping 100 60 9.9.4.1 vrf v4 r5 tping 100 60 9.9.4.3 vrf v4 r5 tping 100 60 9.8.4.2 vrf v4 r5 tping 100 60 9.7.4.2 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9994::3 vrf v4 r4 tping 100 60 9984::2 vrf v4 r4 tping 100 60 9974::2 vrf v4 r5 tping 100 60 9994::1 vrf v4 r5 tping 100 60 9994::3 vrf v4 r5 tping 100 60 9984::2 vrf v4 r5 tping 100 60 9974::2 vrf v4 freeRtr-25.11.9/cfg/rout-bgp143.tst000066400000000000000000000072121510423065500165670ustar00rootroot00000000000000description vpns over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp144.tst000066400000000000000000000066451510423065500166010ustar00rootroot00000000000000description vpls/ldp over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp145.tst000066400000000000000000000067651510423065500166050ustar00rootroot00000000000000description evpn/pbb over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 soft-reconfig afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 soft-reconfig afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 soft-reconfig afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 soft-reconfig afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp146.tst000066400000000000000000000077211510423065500165770ustar00rootroot00000000000000description unicast+vpns over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both red conn afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both red conn afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both red conn afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both red conn afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp147.tst000066400000000000000000000073541510423065500166020ustar00rootroot00000000000000description unicast+vpls/ldp over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp148.tst000066400000000000000000000074741510423065500166060ustar00rootroot00000000000000description unicast+evpn/pbb over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi red conn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address evpn uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi red conn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi red conn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address evpn uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi red conn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp149.tst000066400000000000000000000101301510423065500165660ustar00rootroot00000000000000description unicast+vpns over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig red conn afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig red conn afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig red conn afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig red conn afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp150.tst000066400000000000000000000075631510423065500165760ustar00rootroot00000000000000description unicast+vpls/ldp over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp151.tst000066400000000000000000000077031510423065500165730ustar00rootroot00000000000000description unicast+evpn/pbb over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 soft-reconfig red conn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address evpn uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 soft-reconfig red conn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 soft-reconfig red conn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address evpn uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 soft-reconfig red conn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp152.tst000066400000000000000000000105111510423065500165630ustar00rootroot00000000000000description unicast+vpns over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 additional-path-rx vpnuni uni neigh 2.2.2.2 additional-path-tx vpnuni uni red conn afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 additional-path-rx vpnuni uni neigh 4321::2 additional-path-tx vpnuni uni red conn afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 additional-path-rx vpnuni uni neigh 2.2.2.1 additional-path-tx vpnuni uni red conn afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 additional-path-rx vpnuni uni neigh 4321::1 additional-path-tx vpnuni uni red conn afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp153.tst000066400000000000000000000101241510423065500165640ustar00rootroot00000000000000description unicast+vpls/ldp over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 additional-path-rx vpls uni neigh 2.2.2.2 additional-path-tx vpls uni red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 additional-path-rx vpls uni neigh 4321::2 additional-path-tx vpls uni red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 additional-path-rx vpls uni neigh 2.2.2.1 additional-path-tx vpls uni red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 additional-path-rx vpls uni neigh 4321::1 additional-path-tx vpls uni red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp154.tst000066400000000000000000000102441510423065500165700ustar00rootroot00000000000000description unicast+evpn/pbb over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 additional-path-rx evpn uni neigh 2.2.2.2 additional-path-tx evpn uni red conn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address evpn uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 additional-path-rx evpn uni neigh 4321::2 additional-path-tx evpn uni red conn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 additional-path-rx evpn uni neigh 2.2.2.1 additional-path-tx evpn uni red conn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address evpn uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 additional-path-rx evpn uni neigh 4321::1 additional-path-tx evpn uni red conn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp155.tst000066400000000000000000000052151510423065500165730ustar00rootroot00000000000000description bgp auto mesh tunnel addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 9.9.9.2 remote-as 2 red conn automesh all exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 9999::2 remote-as 2 red conn automesh all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.0 ipv6 addr 9999::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 9.9.9.1 remote-as 1 red conn automesh all exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 9999::1 remote-as 1 red conn automesh all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.0 ipv6 addr 9999::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit ! r1 tping 100 60 9.9.9.2 vrf v1 r1 tping 100 60 9999::2 vrf v1 r2 tping 100 60 9.9.9.1 vrf v1 r2 tping 100 60 9999::1 vrf v1 r1 tping 0 60 2.2.2.2 vrf v1 r1 tping 0 60 4321::2 vrf v1 r2 tping 0 60 2.2.2.1 vrf v1 r2 tping 0 60 4321::1 vrf v1 r1 output show ipv4 bgp 1 sum r1 output show ipv6 bgp 1 sum r1 output show ipv4 rsvp v1 sum r1 output show ipv6 rsvp v1 sum r1 output show ipv4 route v1 r1 output show ipv6 route v1 output ../binTmp/rout-bgp-te.html here are the ipv4 neighbors:
show:0
here are the ipv6 neighbors:
show:1
here is the ipv4 database:
show:2
here is the ipv6 database:
show:3
here are the ipv4 routes:
show:4
here are the ipv6 routes:
show:5
! freeRtr-25.11.9/cfg/rout-bgp156.tst000066400000000000000000000074641510423065500166040ustar00rootroot00000000000000description vpns over bgp auto mesh tunnel addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni automesh all local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni automesh all local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni automesh all local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni automesh all local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp157.tst000066400000000000000000000071171510423065500166000ustar00rootroot00000000000000description vpls/ldp over bgp auto mesh tunnel addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls automesh all local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls automesh all local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls automesh all local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls automesh all local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp158.tst000066400000000000000000000072371510423065500166040ustar00rootroot00000000000000description evpn/pbb over bgp auto mesh tunnel addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn automesh all local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address evpn automesh all local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn automesh all local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address evpn automesh all local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp159.tst000066400000000000000000000105611510423065500165770ustar00rootroot00000000000000description vpls/bgp over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 1 10 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 1 10 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 2 10 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 2 10 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 r1 output show ipv4 bgp 1 sum r1 output show ipv6 bgp 1 sum r1 output show ipv4 bgp 1 vpls dat r1 output show ipv6 bgp 1 vpls dat r1 output show ipv4 route v1 r1 output show ipv6 route v1 r1 output show bridge 1 r1 output show bridge 2 r1 output show bridge 3 r1 output show bridge 4 output ../binTmp/rout-bgp-vpls2.html here are the ipv4 neighbors:
show:0
here are the ipv6 neighbors:
show:1
here is the ipv4 database:
show:2
here is the ipv6 database:
show:3
here are the ipv4 routes:
show:4
here are the ipv6 routes:
show:5
here is the bridge:
show:6
here is the bridge:
show:7
here is the bridge:
show:8
here is the bridge:
show:9
! freeRtr-25.11.9/cfg/rout-bgp160.tst000066400000000000000000000054771510423065500166010ustar00rootroot00000000000000description vpls/bgp over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp161.tst000066400000000000000000000074561510423065500166010ustar00rootroot00000000000000description vpls/bgp over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 additional-path-rx vpls neigh 2.2.2.2 additional-path-tx vpls afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 1 10 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 additional-path-rx vpls neigh 4321::2 additional-path-tx vpls afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 1 10 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 additional-path-rx vpls neigh 2.2.2.1 additional-path-tx vpls afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 2 10 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 additional-path-rx vpls neigh 4321::1 additional-path-tx vpls afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 2 10 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp162.tst000066400000000000000000000110051510423065500165630ustar00rootroot00000000000000description vpls/bgp over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 1 10 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 1 10 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 2 10 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.2 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 2 10 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflect neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-reflect exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-reflect neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp163.tst000066400000000000000000000071051510423065500165720ustar00rootroot00000000000000description vpls/bgp over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 confed neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 1 10 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 confed neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 1 10 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 confed neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 2 10 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 confed neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 2 10 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp164.tst000066400000000000000000000112531510423065500165720ustar00rootroot00000000000000description vpls/bgp over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 1 10 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 1 10 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 2 10 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 6.6.6.2 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 2 10 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 3 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-server neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-server exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 3 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-server neigh 4321::2 remote-as 2 neigh 4321::2 send-comm both neigh 4321::2 route-server exit ! r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp165.tst000066400000000000000000000172231510423065500165760ustar00rootroot00000000000000description multisite vpls/bgp over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.0 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 update lo0 neigh 1.1.1.4 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 1 10 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 neigh 1234:1::4 remote-as 1 neigh 1234:1::4 update lo0 neigh 1234:1::4 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 1 10 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.0 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.2 neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 update lo0 neigh 1.1.1.4 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 2 10 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.2 neigh 1234:1::4 remote-as 1 neigh 1234:1::4 update lo0 neigh 1234:1::4 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 2 10 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 exit int bvi2 vrf for v1 ipv6 addr 4444::3 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::3 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.3 255.255.255.0 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.3 neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 update lo0 neigh 1.1.1.4 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 3 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 3 10 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.3 neigh 1234:1::4 remote-as 1 neigh 1234:1::4 update lo0 neigh 1234:1::4 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 3 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 3 10 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $1b$ $1a$ int eth2 eth 0000.0000.4444 $2b$ $2a$ int eth3 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.4 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflect neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-reflect neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 route-reflect exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.4 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-reflect neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 route-reflect neigh 4321::3 remote-as 1 neigh 4321::3 send-comm both neigh 4321::3 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r4 tping 100 60 2.2.2.2 vrf v1 sou lo0 r4 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.3 vrf v1 sou lo0 r4 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 3.3.3.3 vrf v1 r1 tping 100 60 3333::3 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r1 tping 100 60 4.4.4.3 vrf v1 r1 tping 100 60 4444::3 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 3.3.3.3 vrf v1 r2 tping 100 60 3333::3 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 r2 tping 100 60 4.4.4.3 vrf v1 r2 tping 100 60 4444::3 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r3 tping 100 60 3333::1 vrf v1 r3 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 60 3333::2 vrf v1 r3 tping 100 60 4.4.4.1 vrf v1 r3 tping 100 60 4444::1 vrf v1 r3 tping 100 60 4.4.4.2 vrf v1 r3 tping 100 60 4444::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp166.tst000066400000000000000000000113131510423065500165710ustar00rootroot00000000000000description ethersite vpls/bgp over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit bridge 2 rd 1:2 rt-both 1:2 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2.11 bridge-group 1 exit int eth2.12 bridge-group 2 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.0 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit bridge 2 rd 1:2 rt-both 1:2 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2.11 bridge-group 1 exit int eth2.12 bridge-group 2 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.0 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 ipv6 addr 3333::3 ffff:: exit int eth1.12 vrf for v1 ipv4 addr 4.4.4.3 255.255.255.0 ipv6 addr 4444::3 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 ipv6 addr 3333::4 ffff:: exit int eth1.12 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.0 ipv6 addr 4444::4 ffff:: exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r1 tping 100 60 3.3.3.3 vrf v1 r1 tping 100 60 3333::3 vrf v1 r1 tping 100 60 4.4.4.3 vrf v1 r1 tping 100 60 4444::3 vrf v1 r1 tping 100 60 3.3.3.4 vrf v1 r1 tping 100 60 3333::4 vrf v1 r1 tping 100 60 4.4.4.4 vrf v1 r1 tping 100 60 4444::4 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 r2 tping 100 60 3.3.3.3 vrf v1 r2 tping 100 60 3333::3 vrf v1 r2 tping 100 60 4.4.4.3 vrf v1 r2 tping 100 60 4444::3 vrf v1 r2 tping 100 60 3.3.3.4 vrf v1 r2 tping 100 60 3333::4 vrf v1 r2 tping 100 60 4.4.4.4 vrf v1 r2 tping 100 60 4444::4 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r3 tping 100 60 3333::1 vrf v1 r3 tping 100 60 4.4.4.1 vrf v1 r3 tping 100 60 4444::1 vrf v1 r3 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 60 3333::2 vrf v1 r3 tping 100 60 4.4.4.2 vrf v1 r3 tping 100 60 4444::2 vrf v1 r3 tping 100 60 3.3.3.4 vrf v1 r3 tping 100 60 3333::4 vrf v1 r3 tping 100 60 4.4.4.4 vrf v1 r3 tping 100 60 4444::4 vrf v1 r4 tping 100 60 3.3.3.1 vrf v1 r4 tping 100 60 3333::1 vrf v1 r4 tping 100 60 4.4.4.1 vrf v1 r4 tping 100 60 4444::1 vrf v1 r4 tping 100 60 3.3.3.2 vrf v1 r4 tping 100 60 3333::2 vrf v1 r4 tping 100 60 4.4.4.2 vrf v1 r4 tping 100 60 4444::2 vrf v1 r4 tping 100 60 3.3.3.3 vrf v1 r4 tping 100 60 3333::3 vrf v1 r4 tping 100 60 4.4.4.3 vrf v1 r4 tping 100 60 4444::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp167.tst000066400000000000000000000071551510423065500166030ustar00rootroot00000000000000description vpls/bgp over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 1 10 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 1 10 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 2 10 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 2 10 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp168.tst000066400000000000000000000076641510423065500166110ustar00rootroot00000000000000description unicast+vpls/bgp over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 1 10 exit router bgp6 1 vrf v1 no safe-ebgp address vpls uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 1 10 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 2 10 exit router bgp6 1 vrf v1 no safe-ebgp address vpls uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 2 10 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp169.tst000066400000000000000000000100731510423065500165760ustar00rootroot00000000000000description unicast+vpls/bgp over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 1 10 exit router bgp6 1 vrf v1 no safe-ebgp address vpls uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 1 10 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 2 10 exit router bgp6 1 vrf v1 no safe-ebgp address vpls uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 2 10 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp170.tst000066400000000000000000000104341510423065500165670ustar00rootroot00000000000000description unicast+vpls/bgp over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 additional-path-rx vpls uni neigh 2.2.2.2 additional-path-tx vpls uni red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 1 10 exit router bgp6 1 vrf v1 no safe-ebgp address vpls uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 additional-path-rx vpls uni neigh 4321::2 additional-path-tx vpls uni red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 1 10 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 additional-path-rx vpls uni neigh 2.2.2.1 additional-path-tx vpls uni red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 2 10 exit router bgp6 1 vrf v1 no safe-ebgp address vpls uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 additional-path-rx vpls uni neigh 4321::1 additional-path-tx vpls uni red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 2 10 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp171.tst000066400000000000000000000074271510423065500166000ustar00rootroot00000000000000description vpls/bgp over bgp auto mesh tunnel addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls automesh all local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 1 10 exit router bgp6 1 vrf v1 no safe-ebgp address vpls automesh all local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 1 10 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls automesh all local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 2 10 exit router bgp6 1 vrf v1 no safe-ebgp address vpls automesh all local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 afi-vpls 1:2 ve-id 2 10 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp172.tst000066400000000000000000000066131510423065500165750ustar00rootroot00000000000000description vpls/ldp+vpls/bgp over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 1 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:1 ve-id 2 10 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp173.tst000066400000000000000000000065001510423065500165710ustar00rootroot00000000000000description ibgp conquer rr in subnet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 conquer neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 conquer neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp174.tst000066400000000000000000000072731510423065500166020ustar00rootroot00000000000000description ibgp conquer rr in subnet with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 conquer neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 soft-reconfig neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 conquer neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 soft-reconfig neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp175.tst000066400000000000000000000120061510423065500165710ustar00rootroot00000000000000description ibgp conquer rr prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 conquer neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 conquer neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send no red conn r3 send exit r3 send router bgp6 1 r3 send no red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send red conn r3 send exit r3 send router bgp6 1 r3 send red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp176.tst000066400000000000000000000126011510423065500165730ustar00rootroot00000000000000description ibgp conquer rr prefix withdraw with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 conquer neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 soft-reconfig neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 soft-reconfig neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect neigh 1.1.1.4 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 conquer neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 soft-reconfig neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 soft-reconfig neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect neigh 1234:1::4 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send no red conn r3 send exit r3 send router bgp6 1 r3 send no red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send red conn r3 send exit r3 send router bgp6 1 r3 send red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp177.tst000066400000000000000000000026361510423065500166030ustar00rootroot00000000000000description unicast+vpnmul over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni vpnmlt local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni vpnmlt local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni vpnmlt local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni vpnmlt local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp178.tst000066400000000000000000000026171510423065500166030ustar00rootroot00000000000000description unicast+mdt over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni mdt local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni mdt local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni mdt local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni mdt local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp179.tst000066400000000000000000000037741510423065500166110ustar00rootroot00000000000000description unicast+flowspec over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router uni2flow4 1 vrf v1 dist 10 justadvert lo1 exit router uni2flow6 1 vrf v1 dist 10 justadvert lo1 exit router bgp4 1 vrf v1 no safe-ebgp address uni flowspec local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both red conn red uni2flow4 1 exit router bgp6 1 vrf v1 no safe-ebgp address uni flowspec local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both red conn red uni2flow6 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni flowspec local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn flowspec-install exit router bgp6 1 vrf v1 no safe-ebgp address uni flowspec local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn flowspec-install exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 0 60 2.2.2.101 vrf v1 sou lo0 r2 tping 0 60 4321::101 vrf v1 sou lo0 r2 tping 100 60 2.2.2.201 vrf v1 sou lo0 r2 tping 100 60 4321::201 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp180.tst000066400000000000000000000026431510423065500165730ustar00rootroot00000000000000description unicast+flowspecvpn over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni vpnflw local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni vpnflw local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni vpnflw local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni vpnflw local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp181.tst000066400000000000000000000030511510423065500165660ustar00rootroot00000000000000description unicast+vpnmul over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni vpnmlt local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni vpnmlt local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni vpnmlt local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni vpnmlt local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp182.tst000066400000000000000000000030321510423065500165660ustar00rootroot00000000000000description unicast+mdt over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni mdt local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni mdt local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni mdt local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni mdt local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp183.tst000066400000000000000000000042071510423065500165740ustar00rootroot00000000000000description unicast+flowspec over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router uni2flow4 1 vrf v1 dist 10 justadvert lo1 exit router uni2flow6 1 vrf v1 dist 10 justadvert lo1 exit router bgp4 1 vrf v1 no safe-ebgp address uni flowspec local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 soft-reconfig red conn red uni2flow4 1 exit router bgp6 1 vrf v1 no safe-ebgp address uni flowspec local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 soft-reconfig red conn red uni2flow6 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni flowspec local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 soft-reconfig red conn flowspec-install exit router bgp6 1 vrf v1 no safe-ebgp address uni flowspec local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 soft-reconfig red conn flowspec-install exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 0 60 2.2.2.101 vrf v1 sou lo0 r2 tping 0 60 4321::101 vrf v1 sou lo0 r2 tping 100 60 2.2.2.201 vrf v1 sou lo0 r2 tping 100 60 4321::201 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp184.tst000066400000000000000000000030561510423065500165760ustar00rootroot00000000000000description unicast+flowspecvpn over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni vpnflw local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni vpnflw local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni vpnflw local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni vpnflw local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp185.tst000066400000000000000000000034431510423065500165770ustar00rootroot00000000000000description unicast+vpnmul over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni vpnmlt local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 additional-path-rx uni vpnmlt neigh 1.1.1.2 additional-path-tx uni vpnmlt red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni vpnmlt local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 additional-path-rx uni vpnmlt neigh 1234:1::2 additional-path-tx uni vpnmlt red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni vpnmlt local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 additional-path-rx uni vpnmlt neigh 1.1.1.1 additional-path-tx uni vpnmlt red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni vpnmlt local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 additional-path-rx uni vpnmlt neigh 1234:1::1 additional-path-tx uni vpnmlt red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp186.tst000066400000000000000000000033741510423065500166030ustar00rootroot00000000000000description unicast+mdt over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni mdt local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 additional-path-rx uni mdt neigh 1.1.1.2 additional-path-tx uni mdt red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni mdt local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 additional-path-rx uni mdt neigh 1234:1::2 additional-path-tx uni mdt red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni mdt local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 additional-path-rx uni mdt neigh 1.1.1.1 additional-path-tx uni mdt red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni mdt local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 additional-path-rx uni mdt neigh 1234:1::1 additional-path-tx uni mdt red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp187.tst000066400000000000000000000046211510423065500166000ustar00rootroot00000000000000description unicast+flowspec over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router uni2flow4 1 vrf v1 dist 10 justadvert lo1 exit router uni2flow6 1 vrf v1 dist 10 justadvert lo1 exit router bgp4 1 vrf v1 no safe-ebgp address uni flowspec local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 additional-path-rx uni flowspec neigh 1.1.1.2 additional-path-tx uni flowspec red conn red uni2flow4 1 exit router bgp6 1 vrf v1 no safe-ebgp address uni flowspec local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 additional-path-rx uni flowspec neigh 1234:1::2 additional-path-tx uni flowspec red conn red uni2flow6 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni flowspec local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 additional-path-rx uni flowspec neigh 1.1.1.1 additional-path-tx uni flowspec red conn flowspec-install exit router bgp6 1 vrf v1 no safe-ebgp address uni flowspec local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 additional-path-rx uni flowspec neigh 1234:1::1 additional-path-tx uni flowspec red conn flowspec-install exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 0 60 2.2.2.101 vrf v1 sou lo0 r2 tping 0 60 4321::101 vrf v1 sou lo0 r2 tping 100 60 2.2.2.201 vrf v1 sou lo0 r2 tping 100 60 4321::201 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp188.tst000066400000000000000000000034501510423065500166000ustar00rootroot00000000000000description unicast+flowspecvpn over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni vpnflw local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 additional-path-rx uni vpnflw neigh 1.1.1.2 additional-path-tx uni vpnflw red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni vpnflw local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 additional-path-rx uni vpnflw neigh 1234:1::2 additional-path-tx uni vpnflw red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni vpnflw local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 additional-path-rx uni vpnflw neigh 1.1.1.1 additional-path-tx uni vpnflw red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni vpnflw local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 additional-path-rx uni vpnflw neigh 1234:1::1 additional-path-tx uni vpnflw red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp189.tst000066400000000000000000000072131510423065500166020ustar00rootroot00000000000000description evpn/vxlan over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 r1 output show ipv4 bgp 1 sum r1 output show ipv6 bgp 1 sum r1 output show ipv4 bgp 1 evpn dat r1 output show ipv6 bgp 1 evpn dat r1 output show ipv4 route v1 r1 output show ipv6 route v1 r1 output show bridge 1 r1 output show bridge 2 output ../binTmp/rout-bgp-evpn2.html here are the ipv4 neighbors:
show:0
here are the ipv6 neighbors:
show:1
here is the ipv4 database:
show:2
here is the ipv6 database:
show:3
here are the ipv4 routes:
show:4
here are the ipv6 routes:
show:5
here is the bridge:
show:6
here is the bridge:
show:7
! freeRtr-25.11.9/cfg/rout-bgp190.tst000066400000000000000000000055171510423065500165770ustar00rootroot00000000000000description evpn/vxlan over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp191.tst000066400000000000000000000063161510423065500165760ustar00rootroot00000000000000description evpn/vxlan over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 additional-path-rx evpn neigh 2.2.2.2 additional-path-tx evpn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 additional-path-rx evpn neigh 4321::2 additional-path-tx evpn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 additional-path-rx evpn neigh 2.2.2.1 additional-path-tx evpn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 additional-path-rx evpn neigh 4321::1 additional-path-tx evpn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp192.tst000066400000000000000000000077711510423065500166050ustar00rootroot00000000000000description evpn/vxlan over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both neigh 1234:1::3 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both neigh 1234:1::3 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 route-reflect neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 route-reflect exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 route-reflect neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp193.tst000066400000000000000000000057451510423065500166050ustar00rootroot00000000000000description evpn/vxlan over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 confed neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 confed neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 confed neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 confed neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp194.tst000066400000000000000000000102371510423065500165760ustar00rootroot00000000000000description evpn/vxlan over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both neigh 1234:1::3 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both neigh 1234:1::3 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 route-server neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 route-server exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 route-server neigh 4321::2 remote-as 2 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 route-server exit ! r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp195.tst000066400000000000000000000156001510423065500165760ustar00rootroot00000000000000description multisite evpn/vxlan over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.0 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 update lo0 neigh 1.1.1.4 send-comm both neigh 1.1.1.4 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::4 remote-as 1 neigh 1234:1::4 update lo0 neigh 1234:1::4 send-comm both neigh 1234:1::4 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.0 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 update lo0 neigh 1.1.1.4 send-comm both neigh 1.1.1.4 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234:1::4 remote-as 1 neigh 1234:1::4 update lo0 neigh 1234:1::4 send-comm both neigh 1234:1::4 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit int bvi1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 ipv6 addr 3333::3 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.3 255.255.255.0 ipv6 addr 4444::3 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 update lo0 neigh 1.1.1.4 send-comm both neigh 1.1.1.4 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 1234:1::4 remote-as 1 neigh 1234:1::4 update lo0 neigh 1234:1::4 send-comm both neigh 1234:1::4 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! addrouter r4 int eth1 eth 0000.0000.4444 $1b$ $1a$ int eth2 eth 0000.0000.4444 $2b$ $2a$ int eth3 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 route-reflect neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 route-reflect neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 pmsi neigh 2.2.2.3 route-reflect exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 route-reflect neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 route-reflect neigh 4321::3 remote-as 1 neigh 4321::3 send-comm both neigh 4321::3 pmsi neigh 4321::3 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r4 tping 100 60 2.2.2.2 vrf v1 sou lo0 r4 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.3 vrf v1 sou lo0 r4 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 3.3.3.3 vrf v1 r1 tping 100 60 3333::3 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r1 tping 100 60 4.4.4.3 vrf v1 r1 tping 100 60 4444::3 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 3.3.3.3 vrf v1 r2 tping 100 60 3333::3 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 r2 tping 100 60 4.4.4.3 vrf v1 r2 tping 100 60 4444::3 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r3 tping 100 60 3333::1 vrf v1 r3 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 60 3333::2 vrf v1 r3 tping 100 60 4.4.4.1 vrf v1 r3 tping 100 60 4444::1 vrf v1 r3 tping 100 60 4.4.4.2 vrf v1 r3 tping 100 60 4444::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp196.tst000066400000000000000000000113331510423065500165760ustar00rootroot00000000000000description ethersite evpn/vxlan over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit bridge 2 rd 1:2 rt-both 1:2 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2.11 bridge-group 1 exit int eth2.12 bridge-group 2 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.0 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn exit bridge 2 rd 1:2 rt-both 1:2 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2.11 bridge-group 1 exit int eth2.12 bridge-group 2 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.0 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 ipv6 addr 3333::3 ffff:: exit int eth1.12 vrf for v1 ipv4 addr 4.4.4.3 255.255.255.0 ipv6 addr 4444::3 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 ipv6 addr 3333::4 ffff:: exit int eth1.12 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.0 ipv6 addr 4444::4 ffff:: exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r1 tping 100 60 3.3.3.3 vrf v1 r1 tping 100 60 3333::3 vrf v1 r1 tping 100 60 4.4.4.3 vrf v1 r1 tping 100 60 4444::3 vrf v1 r1 tping 100 60 3.3.3.4 vrf v1 r1 tping 100 60 3333::4 vrf v1 r1 tping 100 60 4.4.4.4 vrf v1 r1 tping 100 60 4444::4 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 r2 tping 100 60 3.3.3.3 vrf v1 r2 tping 100 60 3333::3 vrf v1 r2 tping 100 60 4.4.4.3 vrf v1 r2 tping 100 60 4444::3 vrf v1 r2 tping 100 60 3.3.3.4 vrf v1 r2 tping 100 60 3333::4 vrf v1 r2 tping 100 60 4.4.4.4 vrf v1 r2 tping 100 60 4444::4 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r3 tping 100 60 3333::1 vrf v1 r3 tping 100 60 4.4.4.1 vrf v1 r3 tping 100 60 4444::1 vrf v1 r3 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 60 3333::2 vrf v1 r3 tping 100 60 4.4.4.2 vrf v1 r3 tping 100 60 4444::2 vrf v1 r3 tping 100 60 3.3.3.4 vrf v1 r3 tping 100 60 3333::4 vrf v1 r3 tping 100 60 4.4.4.4 vrf v1 r3 tping 100 60 4444::4 vrf v1 r4 tping 100 60 3.3.3.1 vrf v1 r4 tping 100 60 3333::1 vrf v1 r4 tping 100 60 4.4.4.1 vrf v1 r4 tping 100 60 4444::1 vrf v1 r4 tping 100 60 3.3.3.2 vrf v1 r4 tping 100 60 3333::2 vrf v1 r4 tping 100 60 4.4.4.2 vrf v1 r4 tping 100 60 4444::2 vrf v1 r4 tping 100 60 3.3.3.3 vrf v1 r4 tping 100 60 3333::3 vrf v1 r4 tping 100 60 4.4.4.3 vrf v1 r4 tping 100 60 4444::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp197.tst000066400000000000000000000060151510423065500166000ustar00rootroot00000000000000description evpn/vxlan over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 soft-reconfig afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 soft-reconfig afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 soft-reconfig afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 soft-reconfig afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp198.tst000066400000000000000000000065241510423065500166060ustar00rootroot00000000000000description unicast+evpn/vxlan over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi red conn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 no safe-ebgp address evpn uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi red conn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi red conn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 no safe-ebgp address evpn uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi red conn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp199.tst000066400000000000000000000067331510423065500166110ustar00rootroot00000000000000description unicast+evpn/vxlan over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 soft-reconfig red conn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 no safe-ebgp address evpn uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 soft-reconfig red conn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 soft-reconfig red conn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 no safe-ebgp address evpn uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 soft-reconfig red conn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp200.tst000066400000000000000000000072741510423065500165710ustar00rootroot00000000000000description unicast+evpn/vxlan over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 additional-path-rx evpn uni neigh 2.2.2.2 additional-path-tx evpn uni red conn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 no safe-ebgp address evpn uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 additional-path-rx evpn uni neigh 4321::2 additional-path-tx evpn uni red conn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 additional-path-rx evpn uni neigh 2.2.2.1 additional-path-tx evpn uni red conn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 no safe-ebgp address evpn uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 additional-path-rx evpn uni neigh 4321::1 additional-path-tx evpn uni red conn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp201.tst000066400000000000000000000063751510423065500165730ustar00rootroot00000000000000description evpn/vxlan over bgp auto mesh tunnel addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn automesh all local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 no safe-ebgp address evpn automesh all local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn automesh all local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit router bgp6 1 vrf v1 no safe-ebgp address evpn automesh all local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp202.tst000066400000000000000000000067421510423065500165720ustar00rootroot00000000000000description evpn/pbb+vpls/vxlan over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vxlan afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp203.tst000066400000000000000000000107021510423065500165620ustar00rootroot00000000000000description evpn/cmac over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 r1 output show ipv4 bgp 1 sum r1 output show ipv6 bgp 1 sum r1 output show ipv4 bgp 1 evpn dat r1 output show ipv6 bgp 1 evpn dat r1 output show ipv4 route v1 r1 output show ipv6 route v1 r1 output show bridge 1 r1 output show bridge 2 r1 output show bridge 3 r1 output show bridge 4 output ../binTmp/rout-bgp-evpn3.html here are the ipv4 neighbors:
show:0
here are the ipv6 neighbors:
show:1
here is the ipv4 database:
show:2
here is the ipv6 database:
show:3
here are the ipv4 routes:
show:4
here are the ipv6 routes:
show:5
here is the bridge:
show:6
here is the bridge:
show:7
here is the bridge:
show:8
here is the bridge:
show:9
! freeRtr-25.11.9/cfg/rout-bgp204.tst000066400000000000000000000056201510423065500165660ustar00rootroot00000000000000description evpn/cmac over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp205.tst000066400000000000000000000075771510423065500166040ustar00rootroot00000000000000description evpn/cmac over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 additional-path-rx evpn neigh 2.2.2.2 additional-path-tx evpn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 additional-path-rx evpn neigh 4321::2 additional-path-tx evpn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 additional-path-rx evpn neigh 2.2.2.1 additional-path-tx evpn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 additional-path-rx evpn neigh 4321::1 additional-path-tx evpn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp206.tst000066400000000000000000000112521510423065500165660ustar00rootroot00000000000000description evpn/cmac over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both neigh 1234:1::3 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both neigh 1234:1::3 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 route-reflect neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 route-reflect exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 route-reflect neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp207.tst000066400000000000000000000072261510423065500165750ustar00rootroot00000000000000description evpn/cmac over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 confed neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 confed neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 confed neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 confed neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp208.tst000066400000000000000000000115201510423065500165660ustar00rootroot00000000000000description evpn/cmac over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both neigh 1234:1::3 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both neigh 1234:1::3 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 route-server neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 route-server exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 route-server neigh 4321::2 remote-as 2 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 route-server exit ! r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp209.tst000066400000000000000000000176121510423065500165770ustar00rootroot00000000000000description multisite evpn/cmac over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.0 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 update lo0 neigh 1.1.1.4 send-comm both neigh 1.1.1.4 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::4 remote-as 1 neigh 1234:1::4 update lo0 neigh 1234:1::4 send-comm both neigh 1234:1::4 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.0 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 update lo0 neigh 1.1.1.4 send-comm both neigh 1.1.1.4 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234:1::4 remote-as 1 neigh 1234:1::4 update lo0 neigh 1234:1::4 send-comm both neigh 1234:1::4 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit ! addrouter r3 int eth1 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 exit int bvi2 vrf for v1 ipv6 addr 4444::3 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::3 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.3 255.255.255.0 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 update lo0 neigh 1.1.1.4 send-comm both neigh 1.1.1.4 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 1234:1::4 remote-as 1 neigh 1234:1::4 update lo0 neigh 1234:1::4 send-comm both neigh 1234:1::4 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit ! addrouter r4 int eth1 eth 0000.0000.4444 $1b$ $1a$ int eth2 eth 0000.0000.4444 $2b$ $2a$ int eth3 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 route-reflect neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 route-reflect neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 pmsi neigh 2.2.2.3 route-reflect exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 route-reflect neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 route-reflect neigh 4321::3 remote-as 1 neigh 4321::3 send-comm both neigh 4321::3 pmsi neigh 4321::3 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r4 tping 100 60 2.2.2.2 vrf v1 sou lo0 r4 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.3 vrf v1 sou lo0 r4 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 3.3.3.3 vrf v1 r1 tping 100 60 3333::3 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r1 tping 100 60 4.4.4.3 vrf v1 r1 tping 100 60 4444::3 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 3.3.3.3 vrf v1 r2 tping 100 60 3333::3 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 r2 tping 100 60 4.4.4.3 vrf v1 r2 tping 100 60 4444::3 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r3 tping 100 60 3333::1 vrf v1 r3 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 60 3333::2 vrf v1 r3 tping 100 60 4.4.4.1 vrf v1 r3 tping 100 60 4444::1 vrf v1 r3 tping 100 60 4.4.4.2 vrf v1 r3 tping 100 60 4444::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp210.tst000066400000000000000000000121701510423065500165610ustar00rootroot00000000000000description ethersite evpn/cmac over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn exit bridge 4 rd 1:4 rt-both 1:4 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2.11 bridge-group 3 exit int eth2.12 bridge-group 4 exit int bvi1 bridge-group 3 exit int bvi2 bridge-group 4 exit int bvi3 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.0 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn exit bridge 4 rd 1:4 rt-both 1:4 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2.11 bridge-group 3 exit int eth2.12 bridge-group 4 exit int bvi1 bridge-group 3 exit int bvi2 bridge-group 4 exit int bvi3 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.0 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 ipv6 addr 3333::3 ffff:: exit int eth1.12 vrf for v1 ipv4 addr 4.4.4.3 255.255.255.0 ipv6 addr 4444::3 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 ipv6 addr 3333::4 ffff:: exit int eth1.12 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.0 ipv6 addr 4444::4 ffff:: exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r1 tping 100 60 3.3.3.3 vrf v1 r1 tping 100 60 3333::3 vrf v1 r1 tping 100 60 4.4.4.3 vrf v1 r1 tping 100 60 4444::3 vrf v1 r1 tping 100 60 3.3.3.4 vrf v1 r1 tping 100 60 3333::4 vrf v1 r1 tping 100 60 4.4.4.4 vrf v1 r1 tping 100 60 4444::4 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 r2 tping 100 60 3.3.3.3 vrf v1 r2 tping 100 60 3333::3 vrf v1 r2 tping 100 60 4.4.4.3 vrf v1 r2 tping 100 60 4444::3 vrf v1 r2 tping 100 60 3.3.3.4 vrf v1 r2 tping 100 60 3333::4 vrf v1 r2 tping 100 60 4.4.4.4 vrf v1 r2 tping 100 60 4444::4 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r3 tping 100 60 3333::1 vrf v1 r3 tping 100 60 4.4.4.1 vrf v1 r3 tping 100 60 4444::1 vrf v1 r3 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 60 3333::2 vrf v1 r3 tping 100 60 4.4.4.2 vrf v1 r3 tping 100 60 4444::2 vrf v1 r3 tping 100 60 3.3.3.4 vrf v1 r3 tping 100 60 3333::4 vrf v1 r3 tping 100 60 4.4.4.4 vrf v1 r3 tping 100 60 4444::4 vrf v1 r4 tping 100 60 3.3.3.1 vrf v1 r4 tping 100 60 3333::1 vrf v1 r4 tping 100 60 4.4.4.1 vrf v1 r4 tping 100 60 4444::1 vrf v1 r4 tping 100 60 3.3.3.2 vrf v1 r4 tping 100 60 3333::2 vrf v1 r4 tping 100 60 4.4.4.2 vrf v1 r4 tping 100 60 4444::2 vrf v1 r4 tping 100 60 3.3.3.3 vrf v1 r4 tping 100 60 3333::3 vrf v1 r4 tping 100 60 4.4.4.3 vrf v1 r4 tping 100 60 4444::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp211.tst000066400000000000000000000072761510423065500165750ustar00rootroot00000000000000description evpn/cmac over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 soft-reconfig afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 soft-reconfig afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 soft-reconfig afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 soft-reconfig afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp212.tst000066400000000000000000000100051510423065500165560ustar00rootroot00000000000000description unicast+evpn/cmac over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi red conn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit router bgp6 1 vrf v1 no safe-ebgp address evpn uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi red conn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi red conn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit router bgp6 1 vrf v1 no safe-ebgp address evpn uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi red conn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp213.tst000066400000000000000000000102141510423065500165610ustar00rootroot00000000000000description unicast+evpn/cmac over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 soft-reconfig red conn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit router bgp6 1 vrf v1 no safe-ebgp address evpn uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 soft-reconfig red conn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 soft-reconfig red conn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit router bgp6 1 vrf v1 no safe-ebgp address evpn uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 soft-reconfig red conn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp214.tst000066400000000000000000000105551510423065500165720ustar00rootroot00000000000000description unicast+evpn/cmac over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 additional-path-rx evpn uni neigh 2.2.2.2 additional-path-tx evpn uni red conn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit router bgp6 1 vrf v1 no safe-ebgp address evpn uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 additional-path-rx evpn uni neigh 4321::2 additional-path-tx evpn uni red conn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 additional-path-rx evpn uni neigh 2.2.2.1 additional-path-tx evpn uni red conn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit router bgp6 1 vrf v1 no safe-ebgp address evpn uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 additional-path-rx evpn uni neigh 4321::1 additional-path-tx evpn uni red conn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp215.tst000066400000000000000000000075501510423065500165740ustar00rootroot00000000000000description evpn/cmac over bgp auto mesh tunnel addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn automesh all local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit router bgp6 1 vrf v1 no safe-ebgp address evpn automesh all local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn automesh all local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit router bgp6 1 vrf v1 no safe-ebgp address evpn automesh all local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap cmac exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp216.tst000066400000000000000000000067351510423065500166010ustar00rootroot00000000000000description evpn/pbb+vpls/cmac over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 3 afi-evpn 102 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap cmac afi-evpn 102 bridge 4 afi-evpn 102 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp217.tst000066400000000000000000000033351510423065500165730ustar00rootroot00000000000000description ibgp with ttl-security addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 permit 6 any all any all ttl 110-120 deny 6 any all any all permit all any all any all exit access-list test6 permit 6 any all any all ttl 110-120 deny 6 any all any all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ipv4 access-group-out test4 ipv6 access-group-out test6 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 ttl-sec 115 neigh 1.1.1.2 connection pass red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 ttl-sec 115 neigh 1234::2 connection pass red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 ttl-sec 115 neigh 1.1.1.1 connection act red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 ttl-sec 115 neigh 1234::1 connection act red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp218.tst000066400000000000000000000034251510423065500165740ustar00rootroot00000000000000description ebgp with ttl-security addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit access-list test4 permit 6 any all any all ttl 110-120 deny 6 any all any all permit all any all any all exit access-list test6 permit 6 any all any all ttl 110-120 deny 6 any all any all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 ipv4 access-group-out test4 ipv6 access-group-out test6 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 ttl-sec 115 neigh 1.1.1.2 connection pass red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 ttl-sec 115 neigh 1234::2 connection pass red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 ttl-sec 115 neigh 1.1.1.1 connection act red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 ttl-sec 115 neigh 1234::1 connection act red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp219.tst000066400000000000000000000052631510423065500165770ustar00rootroot00000000000000description bgp routemap filtering with large community addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm all neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm all red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm all neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm all red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set lrgcomm 1:1234:4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm all red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm all red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match lrgcomm 1:1234:4321 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm all neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm all neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp220.tst000066400000000000000000000056661510423065500165760ustar00rootroot00000000000000description bgp routemap filtering with large community with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm all neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm all red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm all neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm all red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set lrgcomm 1:1234:4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm all red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm all red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match lrgcomm 1:1234:4321 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm all neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm all neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp221.tst000066400000000000000000000152171510423065500165700ustar00rootroot00000000000000description bgp change in large community addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 send-comm all neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 send-comm all neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 send-comm all neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 send-comm all neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 send-comm all neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 send-comm all neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match lrgcomm 1:1234:5000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm all neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm all neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set lrgcomm 1:1234:1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm all red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm all red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match lrgcomm 1:1234:3000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm all neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm all neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set lrgcomm 1:1234:3000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set lrgcomm 1:1234:5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set lrgcomm 1:1234:1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp222.tst000066400000000000000000000160121510423065500165630ustar00rootroot00000000000000description bgp change in large community with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 send-comm all neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 send-comm all neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 soft-reconfig neigh 1.1.1.4 send-comm all neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 send-comm all neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 send-comm all neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 soft-reconfig neigh 1234:1::4 send-comm all neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match lrgcomm 1:1234:5000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm all neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm all neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set lrgcomm 1:1234:1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm all red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm all red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match lrgcomm 1:1234:3000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm all neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm all neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set lrgcomm 1:1234:3000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set lrgcomm 1:1234:5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set lrgcomm 1:1234:1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp223.tst000066400000000000000000000057611510423065500165750ustar00rootroot00000000000000description bgp triangle connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 distance 123 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 distance 123 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.6 remote-as 3 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:2::2 remote-as 3 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.10 remote-as 1 neigh 1.1.1.10 distance 123 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:3::2 remote-as 1 neigh 1234:3::2 distance 123 red conn exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 freeRtr-25.11.9/cfg/rout-bgp224.tst000066400000000000000000000047131510423065500165720ustar00rootroot00000000000000description bgp routemap filtering with aspath length addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1234 1234 1234 1234 1234 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match pathlen 3-10 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp225.tst000066400000000000000000000047161510423065500165760ustar00rootroot00000000000000description bgp routepolicy filtering with aspath length addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set aspath 1234 1234 1234 1234 1234 1234 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if pathlen 3-10 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-policy-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp226.tst000066400000000000000000000053161510423065500165740ustar00rootroot00000000000000description bgp routemap filtering with aspath length with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1234 1234 1234 1234 1234 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match pathlen 3-10 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp227.tst000066400000000000000000000053211510423065500165710ustar00rootroot00000000000000description bgp routepolicy filtering with aspath length with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set aspath 1234 1234 1234 1234 1234 1234 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if pathlen 3-10 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-policy-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp228.tst000066400000000000000000000042631510423065500165760ustar00rootroot00000000000000description bgp ingress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-policy p4 if network 2.2.2.12/32 drop else pass enif exit route-policy p6 if network 4321::12/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-policy-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-policy-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp229.tst000066400000000000000000000042641510423065500166000ustar00rootroot00000000000000description bgp egress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-policy p4 if network 2.2.2.11/32 drop else pass enif exit route-policy p6 if network 4321::11/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-policy-out p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-policy-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp230.tst000066400000000000000000000046601510423065500165700ustar00rootroot00000000000000description bgp routepolicy filtering with locpref addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set locpref 1234 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if locpref 1234 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-policy-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp231.tst000066400000000000000000000046471510423065500165760ustar00rootroot00000000000000description bgp routepolicy filtering with origin addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set origin 1 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if origin 1 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-policy-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp232.tst000066400000000000000000000046551510423065500165760ustar00rootroot00000000000000description bgp routepolicy filtering with metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set metric 1234 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if metric 1234 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-policy-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp233.tst000066400000000000000000000046561510423065500166000ustar00rootroot00000000000000description bgp routepolicy filtering with aspath addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set aspath 1234 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if aspath 1234 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-policy-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp234.tst000066400000000000000000000053011510423065500165650ustar00rootroot00000000000000description bgp routepolicy filtering with extended community addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set extcomm 1:1234:4321 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if extcomm 1:1234:4321 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 route-policy-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp235.tst000066400000000000000000000051171510423065500165730ustar00rootroot00000000000000description bgp routepolicy filtering with aigp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 aigp neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 aigp red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 aigp neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 aigp red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set aigp 1234 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 aigp red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 aigp red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if aigp 1234 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-policy-in rm1 neigh 1.1.1.1 aigp red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-policy-in rm1 neigh 1234:1::1 aigp red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp236.tst000066400000000000000000000051761510423065500166010ustar00rootroot00000000000000description bgp routepolicy filtering with bandwidth addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 traffeng neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 traffeng red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 traffeng neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 traffeng red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set bandwidth 8888 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 traffeng red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 traffeng red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if bandwidth 8888 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-policy-in rm1 neigh 1.1.1.1 traffeng red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-policy-in rm1 neigh 1234:1::1 traffeng red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp237.tst000066400000000000000000000044761510423065500166040ustar00rootroot00000000000000description bgp ingress route filtering with routepolicy with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-policy p4 if network 2.2.2.12/32 drop else pass enif exit route-policy p6 if network 4321::12/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-policy-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-policy-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp238.tst000066400000000000000000000044771510423065500166060ustar00rootroot00000000000000description bgp egress route filtering with routepolicy with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-policy p4 if network 2.2.2.11/32 drop else pass enif exit route-policy p6 if network 4321::11/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-policy-out p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-policy-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp239.tst000066400000000000000000000052631510423065500166010ustar00rootroot00000000000000description bgp routepolicy filtering with locpref with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set locpref 1234 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if locpref 1234 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-policy-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp240.tst000066400000000000000000000052521510423065500165670ustar00rootroot00000000000000description bgp routepolicy filtering with origin with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set origin 1 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if origin 1 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-policy-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp241.tst000066400000000000000000000052601510423065500165670ustar00rootroot00000000000000description bgp routepolicy filtering with metric with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set metric 1234 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if metric 1234 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-policy-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp242.tst000066400000000000000000000057001510423065500165670ustar00rootroot00000000000000description bgp routepolicy filtering with standard community with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set stdcomm 1234:4321 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if stdcomm 1234:4321 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both neigh 1.1.1.1 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both neigh 1234:1::1 route-policy-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp243.tst000066400000000000000000000052601510423065500165710ustar00rootroot00000000000000description bgp routepolicy filtering with aspath with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set aspath 1234 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if aspath 1234 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-policy-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp244.tst000066400000000000000000000057041510423065500165750ustar00rootroot00000000000000description bgp routepolicy filtering with extended community with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set extcomm 1:1234:4321 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if extcomm 1:1234:4321 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both neigh 1.1.1.1 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both neigh 1234:1::1 route-policy-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp245.tst000066400000000000000000000055221510423065500165740ustar00rootroot00000000000000description bgp routepolicy filtering with aigp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.2 aigp neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect neigh 1.1.1.3 aigp red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::2 aigp neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect neigh 1234:1::3 aigp red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set aigp 1234 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 aigp red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 aigp red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if aigp 1234 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-policy-in rm1 neigh 1.1.1.1 aigp red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-policy-in rm1 neigh 1234:1::1 aigp red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp246.tst000066400000000000000000000056011510423065500165730ustar00rootroot00000000000000description bgp routepolicy filtering with bandwidth with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.2 traffeng neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect neigh 1.1.1.3 traffeng red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::2 traffeng neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect neigh 1234:1::3 traffeng red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set bandwidth 8888 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 traffeng red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 traffeng red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if bandwidth 8888 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-policy-in rm1 neigh 1.1.1.1 traffeng red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-policy-in rm1 neigh 1234:1::1 traffeng red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp247.tst000066400000000000000000000052661510423065500166030ustar00rootroot00000000000000description bgp routepolicy filtering with large community addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm all neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm all red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm all neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm all red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set lrgcomm 1:1234:4321 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm all red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm all red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if lrgcomm 1:1234:4321 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm all neigh 1.1.1.1 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm all neigh 1234:1::1 route-policy-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp248.tst000066400000000000000000000056711510423065500166040ustar00rootroot00000000000000description bgp routepolicy filtering with large community with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm all neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm all red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm all neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm all red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set lrgcomm 1:1234:4321 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm all red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm all red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if lrgcomm 1:1234:4321 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm all neigh 1.1.1.1 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm all neigh 1234:1::1 route-policy-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp249.tst000066400000000000000000000046401510423065500166000ustar00rootroot00000000000000description ebgp with nexthop tracking routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit route-policy rm1 if distance 0 pass enif exit route-policy rm2 set aspath 3 3 3 pass exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 nexthop route-policy rm1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-policy-in rm2 neigh 1.1.1.2 route-policy-out rm2 neigh 1.1.1.6 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 nexthop route-policy rm1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-policy-in rm2 neigh 1234:1::2 route-policy-out rm2 neigh 1234:2::2 remote-as 2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-policy rm1 if distance 0 pass enif exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 nexthop route-policy rm1 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.5 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 nexthop route-policy rm1 neigh 1234:1::1 remote-as 1 neigh 1234:2::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r1 send conf t r1 send int eth2 r1 send shut r1 send end r2 send conf t r2 send int eth2 r2 send shut r2 send end r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp250.tst000066400000000000000000000045641510423065500165750ustar00rootroot00000000000000description ibgp with nexthop tracking routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit route-policy rm1 if distance 0 pass enif exit route-policy rm2 set aspath 3 3 3 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 nexthop route-policy rm1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-policy-in rm2 neigh 1.1.1.2 route-policy-out rm2 neigh 1.1.1.6 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 nexthop route-policy rm1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-policy-in rm2 neigh 1234:1::2 route-policy-out rm2 neigh 1234:2::2 remote-as 1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-policy rm1 if distance 0 pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 nexthop route-policy rm1 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.5 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 nexthop route-policy rm1 neigh 1234:1::1 remote-as 1 neigh 1234:2::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 sleep 3000 r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r1 send conf t r1 send int eth2 r1 send shut r1 send end r2 send conf t r2 send int eth2 r2 send shut r2 send end r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp251.tst000066400000000000000000000112321510423065500165640ustar00rootroot00000000000000description othervpns over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 output show ipv4 bgp 1 sum r1 output show ipv6 bgp 1 sum r1 output show ipv4 bgp 1 ovpnuni dat r1 output show ipv6 bgp 1 ovpnuni dat r1 output show ipv4 route v1 r1 output show ipv6 route v1 r1 output show ipv4 route v2 r1 output show ipv6 route v2 r1 output show ipv4 route v3 r1 output show ipv6 route v3 r1 output show ipv4 route v4 r1 output show ipv6 route v4 output ../binTmp/rout-bgp-othervpn.html here are the ipv4 neighbors:
show:0
here are the ipv6 neighbors:
show:1
here is the ipv4 database:
show:2
here is the ipv6 database:
show:3
here are the ipv4 routes:
show:4
here are the ipv6 routes:
show:5
here are the ipv4 vpn routes:
show:6
here are the ipv6 vpn routes:
show:7
here are the ipv4 vpn routes:
show:8
here are the ipv6 vpn routes:
show:9
here are the ipv4 vpn routes:
show:10
here are the ipv6 vpn routes:
show:11
! freeRtr-25.11.9/cfg/rout-bgp252.tst000066400000000000000000000114071510423065500165710ustar00rootroot00000000000000description othervpns over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r3 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r3 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r3 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp253.tst000066400000000000000000000076041510423065500165760ustar00rootroot00000000000000description othervpns over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 additional-path-rx ovpnuni neigh 2.2.2.2 additional-path-tx ovpnuni afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 additional-path-rx ovpnuni neigh 4321::2 additional-path-tx ovpnuni afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 additional-path-rx ovpnuni neigh 2.2.2.1 additional-path-tx ovpnuni afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 additional-path-rx ovpnuni neigh 4321::1 additional-path-tx ovpnuni afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp254.tst000066400000000000000000000111111510423065500165630ustar00rootroot00000000000000description othervpns over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.2 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflect neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-reflect exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-reflect neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp255.tst000066400000000000000000000072031510423065500165730ustar00rootroot00000000000000description othervpns over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 confed neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 confed neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 confed neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 confed neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp256.tst000066400000000000000000000113561510423065500166000ustar00rootroot00000000000000description othervpns over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 6.6.6.2 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 3 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-server neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-server exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 3 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-server neigh 4321::2 remote-as 2 neigh 4321::2 send-comm both neigh 4321::2 route-server exit ! r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp257.tst000066400000000000000000000176671510423065500166140ustar00rootroot00000000000000description multisite othervpns over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.1 neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 update lo0 neigh 1.1.1.4 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.1 neigh 1234:1::4 remote-as 1 neigh 1234:1::4 update lo0 neigh 1234:1::4 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.2 neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 update lo0 neigh 1.1.1.4 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.2 neigh 1234:1::4 remote-as 1 neigh 1234:1::4 update lo0 neigh 1234:1::4 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.3 neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 update lo0 neigh 1.1.1.4 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.3 neigh 1234:1::4 remote-as 1 neigh 1234:1::4 update lo0 neigh 1234:1::4 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $1b$ $1a$ int eth2 eth 0000.0000.4444 $2b$ $2a$ int eth3 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.4 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflect neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-reflect neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 route-reflect exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.4 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-reflect neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 route-reflect neigh 4321::3 remote-as 1 neigh 4321::3 send-comm both neigh 4321::3 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r4 tping 100 60 2.2.2.2 vrf v1 sou lo0 r4 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.3 vrf v1 sou lo0 r4 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r1 tping 100 60 9.9.2.3 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r2 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r3 tping 100 60 9.9.2.2 vrf v2 r1 tping 100 60 9992::2 vrf v2 r1 tping 100 60 9992::3 vrf v2 r2 tping 100 60 9992::1 vrf v2 r2 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r3 tping 100 60 9992::2 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r1 tping 100 60 9.9.3.3 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r2 tping 100 60 9.9.3.3 vrf v3 r3 tping 100 60 9.9.3.1 vrf v3 r3 tping 100 60 9.9.3.2 vrf v3 r1 tping 100 60 9993::2 vrf v3 r1 tping 100 60 9993::3 vrf v3 r2 tping 100 60 9993::1 vrf v3 r2 tping 100 60 9993::3 vrf v3 r3 tping 100 60 9993::1 vrf v3 r3 tping 100 60 9993::2 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9994::3 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9994::2 vrf v4 freeRtr-25.11.9/cfg/rout-bgp258.tst000066400000000000000000000217351510423065500166040ustar00rootroot00000000000000description ethersite othervpns over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth2.12 vrf for v2 ipv4 addr 9.8.2.1 255.255.255.0 ipv6 addr 9982::1 ffff:ffff:ffff:ffff:: exit int eth2.13 vrf for v3 ipv4 addr 9.8.3.1 255.255.255.0 ipv6 addr 9983::1 ffff:ffff:ffff:ffff:: exit int eth2.14 vrf for v4 ipv4 addr 9.8.4.1 255.255.255.0 ipv6 addr 9984::1 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth2.12 vrf for v2 ipv4 addr 9.7.2.1 255.255.255.0 ipv6 addr 9972::1 ffff:ffff:ffff:ffff:: exit int eth2.13 vrf for v3 ipv4 addr 9.7.3.1 255.255.255.0 ipv6 addr 9973::1 ffff:ffff:ffff:ffff:: exit int eth2.14 vrf for v4 ipv4 addr 9.7.4.1 255.255.255.0 ipv6 addr 9974::1 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int eth1.12 vrf for v2 ipv4 addr 9.8.2.2 255.255.255.0 ipv6 addr 9982::2 ffff:ffff:ffff:ffff:: exit int eth1.13 vrf for v3 ipv4 addr 9.8.3.2 255.255.255.0 ipv6 addr 9983::2 ffff:ffff:ffff:ffff:: exit int eth1.14 vrf for v4 ipv4 addr 9.8.4.2 255.255.255.0 ipv6 addr 9984::2 ffff:ffff:ffff:ffff:: exit ipv4 route v2 0.0.0.0 0.0.0.0 9.8.2.1 ipv4 route v3 0.0.0.0 0.0.0.0 9.8.3.1 ipv4 route v4 0.0.0.0 0.0.0.0 9.8.4.1 ipv6 route v2 :: :: 9982::1 ipv6 route v3 :: :: 9983::1 ipv6 route v4 :: :: 9984::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int eth1.12 vrf for v2 ipv4 addr 9.7.2.2 255.255.255.0 ipv6 addr 9972::2 ffff:ffff:ffff:ffff:: exit int eth1.13 vrf for v3 ipv4 addr 9.7.3.2 255.255.255.0 ipv6 addr 9973::2 ffff:ffff:ffff:ffff:: exit int eth1.14 vrf for v4 ipv4 addr 9.7.4.2 255.255.255.0 ipv6 addr 9974::2 ffff:ffff:ffff:ffff:: exit ipv4 route v2 0.0.0.0 0.0.0.0 9.7.2.1 ipv4 route v3 0.0.0.0 0.0.0.0 9.7.3.1 ipv4 route v4 0.0.0.0 0.0.0.0 9.7.4.1 ipv6 route v2 :: :: 9972::1 ipv6 route v3 :: :: 9973::1 ipv6 route v4 :: :: 9974::1 ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r1 tping 100 60 9.8.2.2 vrf v2 r1 tping 100 60 9.7.2.2 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r3 tping 100 60 9.8.2.2 vrf v2 r3 tping 100 60 9.7.2.2 vrf v2 r1 tping 100 60 9992::3 vrf v2 r1 tping 100 60 9982::2 vrf v2 r1 tping 100 60 9972::2 vrf v2 r3 tping 100 60 9992::1 vrf v2 r3 tping 100 60 9982::2 vrf v2 r3 tping 100 60 9972::2 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r1 tping 100 60 9.8.3.2 vrf v3 r1 tping 100 60 9.7.3.2 vrf v3 r3 tping 100 60 9.9.3.1 vrf v3 r3 tping 100 60 9.8.3.2 vrf v3 r3 tping 100 60 9.7.3.2 vrf v3 r1 tping 100 60 9993::3 vrf v3 r1 tping 100 60 9983::2 vrf v3 r1 tping 100 60 9973::2 vrf v3 r3 tping 100 60 9993::1 vrf v3 r3 tping 100 60 9983::2 vrf v3 r3 tping 100 60 9973::2 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9.8.4.2 vrf v4 r1 tping 100 60 9.7.4.2 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9.8.4.2 vrf v4 r3 tping 100 60 9.7.4.2 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9984::2 vrf v4 r1 tping 100 60 9974::2 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9984::2 vrf v4 r3 tping 100 60 9974::2 vrf v4 r4 tping 100 60 9.9.2.1 vrf v2 r4 tping 100 60 9.9.2.3 vrf v2 r4 tping 100 60 9.8.2.2 vrf v2 r4 tping 100 60 9.7.2.2 vrf v2 r5 tping 100 60 9.9.2.1 vrf v2 r5 tping 100 60 9.9.2.3 vrf v2 r5 tping 100 60 9.8.2.2 vrf v2 r5 tping 100 60 9.7.2.2 vrf v2 r4 tping 100 60 9992::1 vrf v2 r4 tping 100 60 9992::3 vrf v2 r4 tping 100 60 9982::2 vrf v2 r4 tping 100 60 9972::2 vrf v2 r5 tping 100 60 9992::1 vrf v2 r5 tping 100 60 9992::3 vrf v2 r5 tping 100 60 9982::2 vrf v2 r5 tping 100 60 9972::2 vrf v2 r4 tping 100 60 9.9.3.1 vrf v3 r4 tping 100 60 9.9.3.3 vrf v3 r4 tping 100 60 9.8.3.2 vrf v3 r4 tping 100 60 9.7.3.2 vrf v3 r5 tping 100 60 9.9.3.1 vrf v3 r5 tping 100 60 9.9.3.3 vrf v3 r5 tping 100 60 9.8.3.2 vrf v3 r5 tping 100 60 9.7.3.2 vrf v3 r4 tping 100 60 9993::1 vrf v3 r4 tping 100 60 9993::3 vrf v3 r4 tping 100 60 9983::2 vrf v3 r4 tping 100 60 9973::2 vrf v3 r5 tping 100 60 9993::1 vrf v3 r5 tping 100 60 9993::3 vrf v3 r5 tping 100 60 9983::2 vrf v3 r5 tping 100 60 9973::2 vrf v3 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9.8.4.2 vrf v4 r4 tping 100 60 9.7.4.2 vrf v4 r5 tping 100 60 9.9.4.1 vrf v4 r5 tping 100 60 9.9.4.3 vrf v4 r5 tping 100 60 9.8.4.2 vrf v4 r5 tping 100 60 9.7.4.2 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9994::3 vrf v4 r4 tping 100 60 9984::2 vrf v4 r4 tping 100 60 9974::2 vrf v4 r5 tping 100 60 9994::1 vrf v4 r5 tping 100 60 9994::3 vrf v4 r5 tping 100 60 9984::2 vrf v4 r5 tping 100 60 9974::2 vrf v4 freeRtr-25.11.9/cfg/rout-bgp259.tst000066400000000000000000000072531510423065500166040ustar00rootroot00000000000000description othervpns over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp260.tst000066400000000000000000000077621510423065500166010ustar00rootroot00000000000000description unicast+othervpns over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both red conn afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both red conn afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both red conn afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both red conn afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp261.tst000066400000000000000000000101711510423065500165660ustar00rootroot00000000000000description unicast+othervpns over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig red conn afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig red conn afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig red conn afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig red conn afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp262.tst000066400000000000000000000105621510423065500165730ustar00rootroot00000000000000description unicast+othervpns over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 additional-path-rx ovpnuni uni neigh 2.2.2.2 additional-path-tx ovpnuni uni red conn afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 additional-path-rx ovpnuni uni neigh 4321::2 additional-path-tx ovpnuni uni red conn afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 additional-path-rx ovpnuni uni neigh 2.2.2.1 additional-path-tx ovpnuni uni red conn afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 additional-path-rx ovpnuni uni neigh 4321::1 additional-path-tx ovpnuni uni red conn afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp263.tst000066400000000000000000000075251510423065500166010ustar00rootroot00000000000000description othervpns over bgp auto mesh tunnel addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni automesh all local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni automesh all local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni automesh all local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni automesh all local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp264.tst000066400000000000000000000026241510423065500165750ustar00rootroot00000000000000description unicast+mvpn over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni mvpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni mvpn local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni mvpn local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni mvpn local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp265.tst000066400000000000000000000030371510423065500165750ustar00rootroot00000000000000description unicast+mvpn over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni mvpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni mvpn local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni mvpn local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni mvpn local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp266.tst000066400000000000000000000034111510423065500165720ustar00rootroot00000000000000description unicast+mvpn over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni mvpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 additional-path-rx uni mvpn neigh 1.1.1.2 additional-path-tx uni mvpn red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni mvpn local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 additional-path-rx uni mvpn neigh 1234:1::2 additional-path-tx uni mvpn red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni mvpn local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 additional-path-rx uni mvpn neigh 1.1.1.1 additional-path-tx uni mvpn red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni mvpn local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 additional-path-rx uni mvpn neigh 1234:1::1 additional-path-tx uni mvpn red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp267.tst000066400000000000000000000026351510423065500166020ustar00rootroot00000000000000description unicast+othermvpn over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni omvpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni omvpn local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni omvpn local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni omvpn local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp268.tst000066400000000000000000000030501510423065500165730ustar00rootroot00000000000000description unicast+othermvpn over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni omvpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni omvpn local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni omvpn local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni omvpn local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp269.tst000066400000000000000000000034321510423065500166000ustar00rootroot00000000000000description unicast+othermvpn over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni omvpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 additional-path-rx uni omvpn neigh 1.1.1.2 additional-path-tx uni omvpn red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni omvpn local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 additional-path-rx uni omvpn neigh 1234:1::2 additional-path-tx uni omvpn red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni omvpn local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 additional-path-rx uni omvpn neigh 1.1.1.1 additional-path-tx uni omvpn red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni omvpn local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 additional-path-rx uni omvpn neigh 1234:1::1 additional-path-tx uni omvpn red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp270.tst000066400000000000000000000026541510423065500165750ustar00rootroot00000000000000description unicast+otherflowspecvpn over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni ovpnflw local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ovpnflw local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni ovpnflw local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ovpnflw local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp271.tst000066400000000000000000000030671510423065500165750ustar00rootroot00000000000000description unicast+otherflowspecvpn over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni ovpnflw local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ovpnflw local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni ovpnflw local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ovpnflw local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp272.tst000066400000000000000000000034711510423065500165750ustar00rootroot00000000000000description unicast+otherflowspecvpn over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni ovpnflw local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 additional-path-rx uni ovpnflw neigh 1.1.1.2 additional-path-tx uni ovpnflw red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ovpnflw local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 additional-path-rx uni ovpnflw neigh 1234:1::2 additional-path-tx uni ovpnflw red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni ovpnflw local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 additional-path-rx uni ovpnflw neigh 1.1.1.1 additional-path-tx uni ovpnflw red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ovpnflw local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 additional-path-rx uni ovpnflw neigh 1234:1::1 additional-path-tx uni ovpnflw red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp273.tst000066400000000000000000000026471510423065500166020ustar00rootroot00000000000000description unicast+othervpnmul over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni ovpnmlt local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ovpnmlt local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni ovpnmlt local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ovpnmlt local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp274.tst000066400000000000000000000030621510423065500165730ustar00rootroot00000000000000description unicast+othervpnmul over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni ovpnmlt local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ovpnmlt local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni ovpnmlt local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ovpnmlt local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp275.tst000066400000000000000000000034641510423065500166020ustar00rootroot00000000000000description unicast+othervpnmul over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni ovpnmlt local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 additional-path-rx uni ovpnmlt neigh 1.1.1.2 additional-path-tx uni ovpnmlt red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ovpnmlt local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 additional-path-rx uni ovpnmlt neigh 1234:1::2 additional-path-tx uni ovpnmlt red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni ovpnmlt local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 additional-path-rx uni ovpnmlt neigh 1.1.1.1 additional-path-tx uni ovpnmlt red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ovpnmlt local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 additional-path-rx uni ovpnmlt neigh 1234:1::1 additional-path-tx uni ovpnmlt red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp276.tst000066400000000000000000000026351510423065500166020ustar00rootroot00000000000000description unicast+multicast over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni multi local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni multi local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni multi local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni multi local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp277.tst000066400000000000000000000030501510423065500165730ustar00rootroot00000000000000description unicast+multicast over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni multi local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni multi local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni multi local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni multi local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp278.tst000066400000000000000000000034321510423065500166000ustar00rootroot00000000000000description unicast+multicast over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni multi local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 additional-path-rx uni multi neigh 1.1.1.2 additional-path-tx uni multi red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni multi local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 additional-path-rx uni multi neigh 1234:1::2 additional-path-tx uni multi red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni multi local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 additional-path-rx uni multi neigh 1.1.1.1 additional-path-tx uni multi red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni multi local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 additional-path-rx uni multi neigh 1234:1::1 additional-path-tx uni multi red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp279.tst000066400000000000000000000202451510423065500166020ustar00rootroot00000000000000description bgp csc vpn addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-both 1:3 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v3 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 red conn exit router bgp4 4 vrf v1 no safe-ebgp address vpnuni local-as 4 router-id 4.4.4.1 neigh 2.2.2.4 remote-as 4 neigh 2.2.2.4 update lo0 neigh 2.2.2.4 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 4 vrf v1 no safe-ebgp address vpnuni local-as 4 router-id 6.6.6.1 neigh 4321::4 remote-as 4 neigh 4321::4 update lo0 neigh 4321::4 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 3.3.3.102 255.255.255.255 3.3.3.2 ipv6 route v1 3333::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 3333::2 router bgp4 1 vrf v2 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn red bgp4 2 exit router bgp6 1 vrf v2 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn red bgp6 2 exit router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.1 neigh 3.3.3.102 remote-as 2 neigh 3.3.3.102 update lo0 neigh 3.3.3.102 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp4 1 exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.1 neigh 3333::102 remote-as 2 neigh 3333::102 update lo0 neigh 3333::102 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp6 1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 ipv6 addr 3333::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 3.3.3.101 255.255.255.255 3.3.3.1 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 3333::1 ipv4 route v1 3.3.3.102 255.255.255.255 3.3.3.6 ipv6 route v1 3333::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 3333::6 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 3.3.3.102 255.255.255.255 ipv6 addr 3333::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 3.3.3.6 255.255.255.252 ipv6 addr 3333::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v2 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 3.3.3.101 255.255.255.255 3.3.3.5 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 3333::5 router bgp4 1 vrf v2 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.6 remote-as 3 red conn red bgp4 2 exit router bgp6 1 vrf v2 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234:2::2 remote-as 3 red conn red bgp6 2 exit router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.2 neigh 3.3.3.101 remote-as 2 neigh 3.3.3.101 update lo0 neigh 3.3.3.101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp4 1 exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.2 neigh 3333::101 remote-as 2 neigh 3333::101 update lo0 neigh 3333::101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp6 1 exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-both 1:3 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v3 ipv4 addr 4.4.4.4 255.255.255.255 ipv6 addr 4444::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 red conn exit router bgp4 4 vrf v1 no safe-ebgp address vpnuni local-as 4 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 4 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 4 vrf v1 no safe-ebgp address vpnuni local-as 4 router-id 6.6.6.2 neigh 4321::1 remote-as 4 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! r2 tping 100 60 3.3.3.102 vrf v1 sou lo0 r2 tping 100 60 3333::102 vrf v1 sou lo0 r4 tping 100 60 3.3.3.101 vrf v1 sou lo0 r4 tping 100 60 3333::101 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v2 sou lo1 r2 tping 100 60 2.2.2.3 vrf v2 sou lo1 r2 tping 100 60 2.2.2.4 vrf v2 sou lo1 r2 tping 100 60 4321::1 vrf v2 sou lo1 r2 tping 100 60 4321::3 vrf v2 sou lo1 r2 tping 100 60 4321::4 vrf v2 sou lo1 r4 tping 100 60 2.2.2.1 vrf v2 sou lo1 r4 tping 100 60 2.2.2.2 vrf v2 sou lo1 r4 tping 100 60 2.2.2.4 vrf v2 sou lo1 r4 tping 100 60 4321::1 vrf v2 sou lo1 r4 tping 100 60 4321::2 vrf v2 sou lo1 r4 tping 100 60 4321::4 vrf v2 sou lo1 r5 tping 100 60 2.2.2.1 vrf v1 sou lo0 r5 tping 100 60 2.2.2.2 vrf v1 sou lo0 r5 tping 100 60 2.2.2.3 vrf v1 sou lo0 r5 tping 100 60 4321::1 vrf v1 sou lo0 r5 tping 100 60 4321::2 vrf v1 sou lo0 r5 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 4.4.4.4 vrf v3 sou lo1 r1 tping 100 60 4444::4 vrf v3 sou lo1 r5 tping 100 60 4.4.4.1 vrf v3 sou lo1 r5 tping 100 60 4444::1 vrf v3 sou lo1 freeRtr-25.11.9/cfg/rout-bgp280.tst000066400000000000000000000065501510423065500165750ustar00rootroot00000000000000description unicast+olab over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni olab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 afi-other ena afi-other red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address uni olab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.6 remote-as 3 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni olab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:2::2 remote-as 3 afi-other ena afi-other red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address uni olab local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni olab local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 afi-other ena afi-other red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp281.tst000066400000000000000000000040441510423065500165720ustar00rootroot00000000000000description unicast+olab over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni olab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig afi-other ena afi-other red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.2 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni olab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni olab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena afi-other red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r2 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp282.tst000066400000000000000000000044161510423065500165760ustar00rootroot00000000000000description unicast+olab over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 additional-path-rx uni olab neigh 1.1.1.2 additional-path-tx uni olab afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni olab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 additional-path-rx uni olab neigh 1234:1::2 additional-path-Tx uni olab afi-other ena afi-other red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.2 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni olab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 additional-path-rx uni olab neigh 1.1.1.1 additional-path-tx uni olab afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni olab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 additional-path-rx uni olab neigh 1234:1::1 additional-path-tx uni olab afi-other ena afi-other red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r2 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp283.tst000066400000000000000000000202441510423065500165740ustar00rootroot00000000000000description ebgp prefix movement addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 resend-packet ipv6 resend-packet exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.4 remote-as 4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::3 remote-as 3 neigh 1234:1::4 remote-as 4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1000 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 advertise 2.2.2.2/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 advertise 4321::2/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set aspath 1000 1000 1000 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 advertise 2.2.2.3/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 advertise 4321::3/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 1000 1000 1000 1000 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 freeRtr-25.11.9/cfg/rout-bgp284.tst000066400000000000000000000206761510423065500166060ustar00rootroot00000000000000description confed bgp prefix movement addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 resend-packet ipv6 resend-packet exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 confed neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 confed neigh 1.1.1.4 remote-as 4 neigh 1.1.1.4 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 confed neigh 1234:1::3 remote-as 3 neigh 1234:1::3 confed neigh 1234:1::4 remote-as 4 neigh 1234:1::4 confed red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1000 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed advertise 2.2.2.2/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 confed advertise 4321::2/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set aspath 1000 1000 1000 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed advertise 2.2.2.3/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 confed advertise 4321::3/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 confed red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 1000 1000 1000 1000 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 freeRtr-25.11.9/cfg/rout-bgp285.tst000066400000000000000000000203031510423065500165720ustar00rootroot00000000000000description ibgp rr prefix movement addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 advertise 2.2.2.2/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 advertise 4321::2/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set aspath 1000 1000 1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 advertise 2.2.2.3/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 advertise 4321::3/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 1000 1000 1000 1000 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 freeRtr-25.11.9/cfg/rout-bgp286.tst000066400000000000000000000204661510423065500166050ustar00rootroot00000000000000description bgp route server prefix movement addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-server neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 route-server neigh 1.1.1.4 remote-as 4 neigh 1.1.1.4 route-server red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-server neigh 1234:1::3 remote-as 3 neigh 1234:1::3 route-server neigh 1234:1::4 remote-as 4 neigh 1234:1::4 route-server red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1000 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 advertise 2.2.2.2/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 advertise 4321::2/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set aspath 1000 1000 1000 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 advertise 2.2.2.3/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 advertise 4321::3/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 1000 1000 1000 1000 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 freeRtr-25.11.9/cfg/rout-bgp287.tst000066400000000000000000000203351510423065500166010ustar00rootroot00000000000000description ibgp conquer rr prefix movement addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 conquer neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 conquer neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 advertise 2.2.2.2/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 advertise 4321::2/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set aspath 1000 1000 1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 advertise 2.2.2.3/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 advertise 4321::3/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 1000 1000 1000 1000 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 freeRtr-25.11.9/cfg/rout-bgp288.tst000066400000000000000000000205451510423065500166050ustar00rootroot00000000000000description ibgp fullmesh prefix movement addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.4 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::3 remote-as 1 neigh 1234:1::4 remote-as 1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.4 remote-as 1 advertise 2.2.2.2/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::3 remote-as 1 neigh 1234:1::4 remote-as 1 advertise 4321::2/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set aspath 1000 1000 1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.4 remote-as 1 advertise 2.2.2.3/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::2 remote-as 1 neigh 1234:1::4 remote-as 1 advertise 4321::3/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.3 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::2 remote-as 1 neigh 1234:1::3 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 1000 1000 1000 1000 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 freeRtr-25.11.9/cfg/rout-bgp289.tst000066400000000000000000000210371510423065500166030ustar00rootroot00000000000000description ebgp prefix movement with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 resend-packet ipv6 resend-packet exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.4 remote-as 4 neigh 1.1.1.4 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::3 remote-as 3 neigh 1234:1::3 soft-reconfig neigh 1234:1::4 remote-as 4 neigh 1234:1::4 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1000 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig advertise 2.2.2.2/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig advertise 4321::2/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set aspath 1000 1000 1000 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig advertise 2.2.2.3/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig advertise 4321::3/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 1000 1000 1000 1000 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 freeRtr-25.11.9/cfg/rout-bgp290.tst000066400000000000000000000214711510423065500165750ustar00rootroot00000000000000description confed bgp prefix movement with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 resend-packet ipv6 resend-packet exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 confed neigh 1.1.1.2 soft-reconfig neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 confed neigh 1.1.1.3 soft-reconfig neigh 1.1.1.4 remote-as 4 neigh 1.1.1.4 confed neigh 1.1.1.4 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 confed neigh 1234:1::2 soft-reconfig neigh 1234:1::3 remote-as 3 neigh 1234:1::3 confed neigh 1234:1::3 soft-reconfig neigh 1234:1::4 remote-as 4 neigh 1234:1::4 confed neigh 1234:1::4 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1000 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed neigh 1.1.1.1 soft-reconfig advertise 2.2.2.2/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 confed neigh 1234:1::1 soft-reconfig advertise 4321::2/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set aspath 1000 1000 1000 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed neigh 1.1.1.1 soft-reconfig advertise 2.2.2.3/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 confed neigh 1234:1::1 soft-reconfig advertise 4321::3/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 confed neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 1000 1000 1000 1000 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 freeRtr-25.11.9/cfg/rout-bgp291.tst000066400000000000000000000210761510423065500165770ustar00rootroot00000000000000description ibgp rr prefix movement with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 soft-reconfig neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 soft-reconfig neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect neigh 1.1.1.4 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 soft-reconfig neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 soft-reconfig neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect neigh 1234:1::4 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig advertise 2.2.2.2/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig advertise 4321::2/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set aspath 1000 1000 1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig advertise 2.2.2.3/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig advertise 4321::3/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 1000 1000 1000 1000 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 freeRtr-25.11.9/cfg/rout-bgp292.tst000066400000000000000000000212611510423065500165740ustar00rootroot00000000000000description bgp route server prefix movement with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-server neigh 1.1.1.2 soft-reconfig neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 route-server neigh 1.1.1.3 soft-reconfig neigh 1.1.1.4 remote-as 4 neigh 1.1.1.4 route-server neigh 1.1.1.4 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-server neigh 1234:1::2 soft-reconfig neigh 1234:1::3 remote-as 3 neigh 1234:1::3 route-server neigh 1234:1::3 soft-reconfig neigh 1234:1::4 remote-as 4 neigh 1234:1::4 route-server neigh 1234:1::4 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1000 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig advertise 2.2.2.2/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig advertise 4321::2/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set aspath 1000 1000 1000 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig advertise 2.2.2.3/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig advertise 4321::3/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 1000 1000 1000 1000 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 freeRtr-25.11.9/cfg/rout-bgp293.tst000066400000000000000000000211301510423065500165700ustar00rootroot00000000000000description ibgp conquer rr prefix movement with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 conquer neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 soft-reconfig neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 soft-reconfig neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect neigh 1.1.1.4 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 conquer neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 soft-reconfig neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 soft-reconfig neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect neigh 1234:1::4 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig advertise 2.2.2.2/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig advertise 4321::2/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set aspath 1000 1000 1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig advertise 2.2.2.3/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig advertise 4321::3/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 1000 1000 1000 1000 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 freeRtr-25.11.9/cfg/rout-bgp294.tst000066400000000000000000000221101510423065500165700ustar00rootroot00000000000000description ibgp fullmesh prefix movement with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::4 remote-as 1 neigh 1234:1::4 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 soft-reconfig advertise 2.2.2.2/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::4 remote-as 1 neigh 1234:1::4 soft-reconfig advertise 4321::2/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set aspath 1000 1000 1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 soft-reconfig advertise 2.2.2.3/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::4 remote-as 1 neigh 1234:1::4 soft-reconfig advertise 4321::3/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 1000 1000 1000 1000 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 freeRtr-25.11.9/cfg/rout-bgp295.tst000066400000000000000000000203201510423065500165720ustar00rootroot00000000000000description bgp csc othervpn addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-both 1:3 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v3 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 red conn exit router bgp4 4 vrf v1 no safe-ebgp address vpnuni local-as 4 router-id 4.4.4.1 neigh 2.2.2.4 remote-as 4 neigh 2.2.2.4 update lo0 neigh 2.2.2.4 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 4 vrf v1 no safe-ebgp address vpnuni local-as 4 router-id 6.6.6.1 neigh 4321::4 remote-as 4 neigh 4321::4 update lo0 neigh 4321::4 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 3.3.3.102 255.255.255.255 3.3.3.2 ipv6 route v1 3333::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 3333::2 router bgp4 1 vrf v2 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn red bgp4 2 exit router bgp6 1 vrf v2 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn red bgp4 2 exit router bgp4 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 4.4.4.1 neigh 3.3.3.102 remote-as 2 neigh 3.3.3.102 update lo0 neigh 3.3.3.102 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp4 1 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red bgp6 1 exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 6.6.6.1 neigh 3333::102 remote-as 2 neigh 3333::102 update lo0 neigh 3333::102 send-comm both exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 ipv6 addr 3333::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 3.3.3.101 255.255.255.255 3.3.3.1 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 3333::1 ipv4 route v1 3.3.3.102 255.255.255.255 3.3.3.6 ipv6 route v1 3333::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 3333::6 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 3.3.3.102 255.255.255.255 ipv6 addr 3333::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 3.3.3.6 255.255.255.252 ipv6 addr 3333::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v2 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 3.3.3.101 255.255.255.255 3.3.3.5 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 3333::5 router bgp4 1 vrf v2 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.6 remote-as 3 red conn red bgp4 2 exit router bgp6 1 vrf v2 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234:2::2 remote-as 3 red conn red bgp4 2 exit router bgp4 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 4.4.4.2 neigh 3.3.3.101 remote-as 2 neigh 3.3.3.101 update lo0 neigh 3.3.3.101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp4 1 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red bgp6 1 exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 6.6.6.2 neigh 3333::101 remote-as 2 neigh 3333::101 update lo0 neigh 3333::101 send-comm both exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-both 1:3 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v3 ipv4 addr 4.4.4.4 255.255.255.255 ipv6 addr 4444::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 red conn exit router bgp4 4 vrf v1 no safe-ebgp address vpnuni local-as 4 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 4 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 4 vrf v1 no safe-ebgp address vpnuni local-as 4 router-id 6.6.6.2 neigh 4321::1 remote-as 4 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! r2 tping 100 60 3.3.3.102 vrf v1 sou lo0 r2 tping 100 60 3333::102 vrf v1 sou lo0 r4 tping 100 60 3.3.3.101 vrf v1 sou lo0 r4 tping 100 60 3333::101 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v2 sou lo1 r2 tping 100 60 2.2.2.3 vrf v2 sou lo1 r2 tping 100 60 2.2.2.4 vrf v2 sou lo1 r2 tping 100 60 4321::1 vrf v2 sou lo1 r2 tping 100 60 4321::3 vrf v2 sou lo1 r2 tping 100 60 4321::4 vrf v2 sou lo1 r4 tping 100 60 2.2.2.1 vrf v2 sou lo1 r4 tping 100 60 2.2.2.2 vrf v2 sou lo1 r4 tping 100 60 2.2.2.4 vrf v2 sou lo1 r4 tping 100 60 4321::1 vrf v2 sou lo1 r4 tping 100 60 4321::2 vrf v2 sou lo1 r4 tping 100 60 4321::4 vrf v2 sou lo1 r5 tping 100 60 2.2.2.1 vrf v1 sou lo0 r5 tping 100 60 2.2.2.2 vrf v1 sou lo0 r5 tping 100 60 2.2.2.3 vrf v1 sou lo0 r5 tping 100 60 4321::1 vrf v1 sou lo0 r5 tping 100 60 4321::2 vrf v1 sou lo0 r5 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 4.4.4.4 vrf v3 sou lo1 r1 tping 100 60 4444::4 vrf v3 sou lo1 r5 tping 100 60 4.4.4.1 vrf v3 sou lo1 r5 tping 100 60 4444::1 vrf v3 sou lo1 freeRtr-25.11.9/cfg/rout-bgp296.tst000066400000000000000000000204301510423065500165750ustar00rootroot00000000000000description bgp prefix hammering addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.1111 $3a$ $3b$ int eth4 eth 0000.0000.1111 $4a$ $4b$ int eth5 eth 0000.0000.1111 $5a$ $5b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 2222::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int eth4 bridge-gr 1 exit int eth5 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect neigh 1234:1::6 remote-as 1 neigh 1234:1::6 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 2222::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.3 255.255.255.255 ipv6 addr 4444::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.255 ipv6 addr 4444::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit route-map all action permit exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.0 ipv6 addr 1234:1::5 ffff:ffff:: exit ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 exit route-map all action permit exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.0 ipv6 addr 1234:1::6 ffff:ffff:: exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2222::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 2222::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 2222::4 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r1 tping 100 60 4.4.4.3 vrf v1 r1 tping 100 60 4444::3 vrf v1 r1 tping 100 60 4.4.4.4 vrf v1 r1 tping 100 60 4444::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2222::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 2222::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 2222::4 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 r2 tping 100 60 4.4.4.3 vrf v1 r2 tping 100 60 4444::3 vrf v1 r2 tping 100 60 4.4.4.4 vrf v1 r2 tping 100 60 4444::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2222::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2222::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 2222::4 vrf v1 r3 tping 100 60 4.4.4.1 vrf v1 r3 tping 100 60 4444::1 vrf v1 r3 tping 100 60 4.4.4.2 vrf v1 r3 tping 100 60 4444::2 vrf v1 r3 tping 100 60 4.4.4.4 vrf v1 r3 tping 100 60 4444::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 2222::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 2222::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 2222::3 vrf v1 r4 tping 100 60 4.4.4.1 vrf v1 r4 tping 100 60 4444::1 vrf v1 r4 tping 100 60 4.4.4.2 vrf v1 r4 tping 100 60 4444::2 vrf v1 r4 tping 100 60 4.4.4.3 vrf v1 r4 tping 100 60 4444::3 vrf v1 r5 tping 100 60 1.1.1.1 vrf v1 r5 send pack bgpgen v1 eth1 1.1.1.1 1 3.3.3.0/24 all 100000 r5 read sent r6 tping 100 60 1234:1::1 vrf v1 r6 send pack bgpgen v1 eth1 1234:1::1 1 3333::/120 all 100000 r6 read sent r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2222::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 2222::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 2222::4 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r1 tping 100 60 4.4.4.3 vrf v1 r1 tping 100 60 4444::3 vrf v1 r1 tping 100 60 4.4.4.4 vrf v1 r1 tping 100 60 4444::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2222::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 2222::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 2222::4 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 r2 tping 100 60 4.4.4.3 vrf v1 r2 tping 100 60 4444::3 vrf v1 r2 tping 100 60 4.4.4.4 vrf v1 r2 tping 100 60 4444::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2222::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2222::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 2222::4 vrf v1 r3 tping 100 60 4.4.4.1 vrf v1 r3 tping 100 60 4444::1 vrf v1 r3 tping 100 60 4.4.4.2 vrf v1 r3 tping 100 60 4444::2 vrf v1 r3 tping 100 60 4.4.4.4 vrf v1 r3 tping 100 60 4444::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 2222::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 2222::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 2222::3 vrf v1 r4 tping 100 60 4.4.4.1 vrf v1 r4 tping 100 60 4444::1 vrf v1 r4 tping 100 60 4.4.4.2 vrf v1 r4 tping 100 60 4444::2 vrf v1 r4 tping 100 60 4.4.4.3 vrf v1 r4 tping 100 60 4444::3 vrf v1 r5 send end r5 read finish r6 send end r6 read finish r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2222::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 2222::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 2222::4 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r1 tping 100 60 4.4.4.3 vrf v1 r1 tping 100 60 4444::3 vrf v1 r1 tping 100 60 4.4.4.4 vrf v1 r1 tping 100 60 4444::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2222::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 2222::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 2222::4 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 r2 tping 100 60 4.4.4.3 vrf v1 r2 tping 100 60 4444::3 vrf v1 r2 tping 100 60 4.4.4.4 vrf v1 r2 tping 100 60 4444::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2222::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2222::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 2222::4 vrf v1 r3 tping 100 60 4.4.4.1 vrf v1 r3 tping 100 60 4444::1 vrf v1 r3 tping 100 60 4.4.4.2 vrf v1 r3 tping 100 60 4444::2 vrf v1 r3 tping 100 60 4.4.4.4 vrf v1 r3 tping 100 60 4444::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 2222::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 2222::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 2222::3 vrf v1 r4 tping 100 60 4.4.4.1 vrf v1 r4 tping 100 60 4444::1 vrf v1 r4 tping 100 60 4.4.4.2 vrf v1 r4 tping 100 60 4444::2 vrf v1 r4 tping 100 60 4.4.4.3 vrf v1 r4 tping 100 60 4444::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp297.tst000066400000000000000000000202361510423065500166020ustar00rootroot00000000000000description bgp csc vpn with ldp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-both 1:3 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v3 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.2 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 4 vrf v1 no safe-ebgp address vpnuni local-as 4 router-id 4.4.4.1 neigh 2.2.2.4 remote-as 4 neigh 2.2.2.4 update lo0 neigh 2.2.2.4 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 4 vrf v1 no safe-ebgp address vpnuni local-as 4 router-id 6.6.6.1 neigh 4321::4 remote-as 4 neigh 4321::4 update lo0 neigh 4321::4 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 3.3.3.102 255.255.255.255 3.3.3.2 ipv6 route v1 3333::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 3333::2 ipv4 route v2 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v2 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.1 neigh 3.3.3.102 remote-as 2 neigh 3.3.3.102 update lo0 neigh 3.3.3.102 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.1 neigh 3333::102 remote-as 2 neigh 3333::102 update lo0 neigh 3333::102 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 ipv6 addr 3333::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 3.3.3.101 255.255.255.255 3.3.3.1 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 3333::1 ipv4 route v1 3.3.3.102 255.255.255.255 3.3.3.6 ipv6 route v1 3333::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 3333::6 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 3.3.3.102 255.255.255.255 ipv6 addr 3333::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 3.3.3.6 255.255.255.252 ipv6 addr 3333::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v2 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 3.3.3.101 255.255.255.255 3.3.3.5 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 3333::5 ipv4 route v2 2.2.2.4 255.255.255.255 1.1.1.6 ipv6 route v2 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.2 neigh 3.3.3.101 remote-as 2 neigh 3.3.3.101 update lo0 neigh 3.3.3.101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.2 neigh 3333::101 remote-as 2 neigh 3333::101 update lo0 neigh 3333::101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-both 1:3 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v3 ipv4 addr 4.4.4.4 255.255.255.255 ipv6 addr 4444::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.5 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 4 vrf v1 no safe-ebgp address vpnuni local-as 4 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 4 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 4 vrf v1 no safe-ebgp address vpnuni local-as 4 router-id 6.6.6.2 neigh 4321::1 remote-as 4 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! r2 tping 100 60 3.3.3.102 vrf v1 sou lo0 r2 tping 100 60 3333::102 vrf v1 sou lo0 r4 tping 100 60 3.3.3.101 vrf v1 sou lo0 r4 tping 100 60 3333::101 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v2 sou lo1 r2 tping 100 60 2.2.2.3 vrf v2 sou lo1 r2 tping 100 60 2.2.2.4 vrf v2 sou lo1 r2 tping 100 60 4321::1 vrf v2 sou lo1 r2 tping 100 60 4321::3 vrf v2 sou lo1 r2 tping 100 60 4321::4 vrf v2 sou lo1 r4 tping 100 60 2.2.2.1 vrf v2 sou lo1 r4 tping 100 60 2.2.2.2 vrf v2 sou lo1 r4 tping 100 60 2.2.2.4 vrf v2 sou lo1 r4 tping 100 60 4321::1 vrf v2 sou lo1 r4 tping 100 60 4321::2 vrf v2 sou lo1 r4 tping 100 60 4321::4 vrf v2 sou lo1 r5 tping 100 60 2.2.2.1 vrf v1 sou lo0 r5 tping 100 60 2.2.2.2 vrf v1 sou lo0 r5 tping 100 60 2.2.2.3 vrf v1 sou lo0 r5 tping 100 60 4321::1 vrf v1 sou lo0 r5 tping 100 60 4321::2 vrf v1 sou lo0 r5 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 4.4.4.4 vrf v3 sou lo1 r1 tping 100 60 4444::4 vrf v3 sou lo1 r5 tping 100 60 4.4.4.1 vrf v3 sou lo1 r5 tping 100 60 4444::1 vrf v3 sou lo1 freeRtr-25.11.9/cfg/rout-bgp298.tst000066400000000000000000000203111510423065500165750ustar00rootroot00000000000000description bgp csc othervpn with ldp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-both 1:3 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v3 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.2 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 4 vrf v1 no safe-ebgp address vpnuni local-as 4 router-id 4.4.4.1 neigh 2.2.2.4 remote-as 4 neigh 2.2.2.4 update lo0 neigh 2.2.2.4 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 4 vrf v1 no safe-ebgp address vpnuni local-as 4 router-id 6.6.6.1 neigh 4321::4 remote-as 4 neigh 4321::4 update lo0 neigh 4321::4 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 3.3.3.102 255.255.255.255 3.3.3.2 ipv6 route v1 3333::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 3333::2 ipv4 route v2 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v2 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 4.4.4.1 neigh 3.3.3.102 remote-as 2 neigh 3.3.3.102 update lo0 neigh 3.3.3.102 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 6.6.6.1 neigh 3333::102 remote-as 2 neigh 3333::102 update lo0 neigh 3333::102 send-comm both exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 ipv6 addr 3333::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 3.3.3.101 255.255.255.255 3.3.3.1 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 3333::1 ipv4 route v1 3.3.3.102 255.255.255.255 3.3.3.6 ipv6 route v1 3333::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 3333::6 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 3.3.3.102 255.255.255.255 ipv6 addr 3333::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 3.3.3.6 255.255.255.252 ipv6 addr 3333::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v2 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 3.3.3.101 255.255.255.255 3.3.3.5 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 3333::5 ipv4 route v2 2.2.2.4 255.255.255.255 1.1.1.6 ipv6 route v2 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 router bgp4 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 4.4.4.2 neigh 3.3.3.101 remote-as 2 neigh 3.3.3.101 update lo0 neigh 3.3.3.101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red stat afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red stat exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 6.6.6.2 neigh 3333::101 remote-as 2 neigh 3333::101 update lo0 neigh 3333::101 send-comm both exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-both 1:3 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v3 ipv4 addr 4.4.4.4 255.255.255.255 ipv6 addr 4444::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.5 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 4 vrf v1 no safe-ebgp address vpnuni local-as 4 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 4 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 4 vrf v1 no safe-ebgp address vpnuni local-as 4 router-id 6.6.6.2 neigh 4321::1 remote-as 4 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! r2 tping 100 60 3.3.3.102 vrf v1 sou lo0 r2 tping 100 60 3333::102 vrf v1 sou lo0 r4 tping 100 60 3.3.3.101 vrf v1 sou lo0 r4 tping 100 60 3333::101 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v2 sou lo1 r2 tping 100 60 2.2.2.3 vrf v2 sou lo1 r2 tping 100 60 2.2.2.4 vrf v2 sou lo1 r2 tping 100 60 4321::1 vrf v2 sou lo1 r2 tping 100 60 4321::3 vrf v2 sou lo1 r2 tping 100 60 4321::4 vrf v2 sou lo1 r4 tping 100 60 2.2.2.1 vrf v2 sou lo1 r4 tping 100 60 2.2.2.2 vrf v2 sou lo1 r4 tping 100 60 2.2.2.4 vrf v2 sou lo1 r4 tping 100 60 4321::1 vrf v2 sou lo1 r4 tping 100 60 4321::2 vrf v2 sou lo1 r4 tping 100 60 4321::4 vrf v2 sou lo1 r5 tping 100 60 2.2.2.1 vrf v1 sou lo0 r5 tping 100 60 2.2.2.2 vrf v1 sou lo0 r5 tping 100 60 2.2.2.3 vrf v1 sou lo0 r5 tping 100 60 4321::1 vrf v1 sou lo0 r5 tping 100 60 4321::2 vrf v1 sou lo0 r5 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 4.4.4.4 vrf v3 sou lo1 r1 tping 100 60 4444::4 vrf v3 sou lo1 r5 tping 100 60 4.4.4.1 vrf v3 sou lo1 r5 tping 100 60 4444::1 vrf v3 sou lo1 freeRtr-25.11.9/cfg/rout-bgp299.tst000066400000000000000000000026241510423065500166050ustar00rootroot00000000000000description unicast+mspw over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni mspw local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni mspw local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni mspw local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni mspw local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp300.tst000066400000000000000000000030371510423065500165630ustar00rootroot00000000000000description unicast+mspw over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni mspw local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni mspw local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni mspw local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni mspw local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp301.tst000066400000000000000000000034111510423065500165600ustar00rootroot00000000000000description unicast+mspw over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni mspw local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 additional-path-rx uni mspw neigh 1.1.1.2 additional-path-tx uni mspw red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni mspw local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 additional-path-rx uni mspw neigh 1234:1::2 additional-path-tx uni mspw red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni mspw local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 additional-path-rx uni mspw neigh 1.1.1.1 additional-path-tx uni mspw red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni mspw local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 additional-path-rx uni mspw neigh 1234:1::1 additional-path-tx uni mspw red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp302.tst000066400000000000000000000107221510423065500165640ustar00rootroot00000000000000description bgp with sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp local-as 1 segrout 10 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 segrout red conn exit router bgp6 1 vrf v1 no safe-ebgp local-as 1 segrout 10 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 segrout red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp local-as 2 segrout 10 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 segrout neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 segrout red conn exit router bgp6 1 vrf v1 no safe-ebgp local-as 2 segrout 10 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 segrout neigh 1234:2::2 remote-as 3 neigh 1234:2::2 segrout red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp local-as 3 segrout 10 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 segrout neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 segrout red conn exit router bgp6 1 vrf v1 no safe-ebgp local-as 3 segrout 10 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 segrout neigh 1234:3::2 remote-as 4 neigh 1234:3::2 segrout red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp local-as 4 segrout 10 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 segrout red conn exit router bgp6 1 vrf v1 no safe-ebgp local-as 4 segrout 10 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 segrout red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.4 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::4 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.4 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 4321::4 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 2.2.2.2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.3 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r4 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 4321::3 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp303.tst000066400000000000000000000125571510423065500165750ustar00rootroot00000000000000description ebgp vpn client addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 sequence 10 act deny match aspath .*3.* sequence 20 act permit exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-map-in rm1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 internal-vpn neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 attribset red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 internal-vpn neigh 1234:2::2 remote-as 3 neigh 1234:2::2 attribset red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 attribset neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 attribset red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 attribset neigh 1234:3::2 remote-as 4 neigh 1234:3::2 attribset red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 attribset neigh 1.1.1.14 remote-as 5 neigh 1.1.1.14 internal-vpn red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 attribset neigh 1234:4::2 remote-as 5 neigh 1234:4::2 internal-vpn red conn exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny match aspath .*3.* sequence 20 act permit exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 5 router-id 4.4.4.5 neigh 1.1.1.13 remote-as 4 neigh 1.1.1.13 route-map-in rm1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 5 router-id 6.6.6.5 neigh 1234:4::1 remote-as 4 neigh 1234:4::1 route-map-in rm1 red conn exit ! r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.4 vrf v1 sou lo0 r2 tping 100 60 4321::4 vrf v1 sou lo0 r2 tping 0 60 2.2.2.5 vrf v1 sou lo0 r2 tping 0 60 4321::5 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.4 vrf v1 sou lo0 r3 tping 100 60 4321::4 vrf v1 sou lo0 r3 tping 0 60 2.2.2.1 vrf v1 sou lo0 r3 tping 0 60 4321::1 vrf v1 sou lo0 r3 tping 0 60 2.2.2.5 vrf v1 sou lo0 r3 tping 0 60 4321::5 vrf v1 sou lo0 r4 tping 100 60 2.2.2.2 vrf v1 sou lo0 r4 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.3 vrf v1 sou lo0 r4 tping 100 60 4321::3 vrf v1 sou lo0 r4 tping 100 60 2.2.2.5 vrf v1 sou lo0 r4 tping 100 60 4321::5 vrf v1 sou lo0 r4 tping 0 60 2.2.2.1 vrf v1 sou lo0 r4 tping 0 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.5 vrf v1 sou lo0 r1 tping 100 60 4321::5 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 0 60 2.2.2.4 vrf v1 sou lo0 r1 tping 0 60 4321::4 vrf v1 sou lo0 r5 tping 100 60 2.2.2.1 vrf v1 sou lo0 r5 tping 100 60 4321::1 vrf v1 sou lo0 r5 tping 100 60 2.2.2.4 vrf v1 sou lo0 r5 tping 100 60 4321::4 vrf v1 sou lo0 r5 tping 0 60 2.2.2.2 vrf v1 sou lo0 r5 tping 0 60 4321::2 vrf v1 sou lo0 r5 tping 0 60 2.2.2.3 vrf v1 sou lo0 r5 tping 0 60 4321::3 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp304.tst000066400000000000000000000125571510423065500165760ustar00rootroot00000000000000description ibgp vpn client addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 sequence 10 act deny match aspath .*3.* sequence 20 act permit exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-map-in rm1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 2 neigh 1.1.1.1 internal-vpn neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 attribset red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 2 neigh 1234:1::1 internal-vpn neigh 1234:2::2 remote-as 3 neigh 1234:2::2 attribset red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 attribset neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 attribset red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 attribset neigh 1234:3::2 remote-as 4 neigh 1234:3::2 attribset red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 attribset neigh 1.1.1.14 remote-as 4 neigh 1.1.1.14 internal-vpn red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 attribset neigh 1234:4::2 remote-as 4 neigh 1234:4::2 internal-vpn red conn exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny match aspath .*3.* sequence 20 act permit exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.5 neigh 1.1.1.13 remote-as 4 neigh 1.1.1.13 route-map-in rm1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.5 neigh 1234:4::1 remote-as 4 neigh 1234:4::1 route-map-in rm1 red conn exit ! r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.4 vrf v1 sou lo0 r2 tping 100 60 4321::4 vrf v1 sou lo0 r2 tping 0 60 2.2.2.5 vrf v1 sou lo0 r2 tping 0 60 4321::5 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.4 vrf v1 sou lo0 r3 tping 100 60 4321::4 vrf v1 sou lo0 r3 tping 0 60 2.2.2.1 vrf v1 sou lo0 r3 tping 0 60 4321::1 vrf v1 sou lo0 r3 tping 0 60 2.2.2.5 vrf v1 sou lo0 r3 tping 0 60 4321::5 vrf v1 sou lo0 r4 tping 100 60 2.2.2.2 vrf v1 sou lo0 r4 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.3 vrf v1 sou lo0 r4 tping 100 60 4321::3 vrf v1 sou lo0 r4 tping 100 60 2.2.2.5 vrf v1 sou lo0 r4 tping 100 60 4321::5 vrf v1 sou lo0 r4 tping 0 60 2.2.2.1 vrf v1 sou lo0 r4 tping 0 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.5 vrf v1 sou lo0 r1 tping 100 60 4321::5 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 0 60 2.2.2.4 vrf v1 sou lo0 r1 tping 0 60 4321::4 vrf v1 sou lo0 r5 tping 100 60 2.2.2.1 vrf v1 sou lo0 r5 tping 100 60 4321::1 vrf v1 sou lo0 r5 tping 100 60 2.2.2.4 vrf v1 sou lo0 r5 tping 100 60 4321::4 vrf v1 sou lo0 r5 tping 0 60 2.2.2.2 vrf v1 sou lo0 r5 tping 0 60 4321::2 vrf v1 sou lo0 r5 tping 0 60 2.2.2.3 vrf v1 sou lo0 r5 tping 0 60 4321::3 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp305.tst000066400000000000000000000135451510423065500165750ustar00rootroot00000000000000description ebgp vpn client with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 sequence 10 act deny match aspath .*3.* sequence 20 act permit exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-map-in rm1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 internal-vpn neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 attribset neigh 1.1.1.6 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 internal-vpn neigh 1234:2::2 remote-as 3 neigh 1234:2::2 attribset neigh 1234:2::2 soft-reconfig red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 attribset neigh 1.1.1.5 soft-reconfig neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 attribset neigh 1.1.1.10 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 attribset neigh 1234:2::1 soft-reconfig neigh 1234:3::2 remote-as 4 neigh 1234:3::2 attribset neigh 1234:3::2 soft-reconfig red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 attribset neigh 1.1.1.9 soft-reconfig neigh 1.1.1.14 remote-as 5 neigh 1.1.1.14 soft-reconfig neigh 1.1.1.14 internal-vpn red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 attribset neigh 1234:3::1 soft-reconfig neigh 1234:4::2 remote-as 5 neigh 1234:4::2 soft-reconfig neigh 1234:4::2 internal-vpn red conn exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny match aspath .*3.* sequence 20 act permit exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 5 router-id 4.4.4.5 neigh 1.1.1.13 remote-as 4 neigh 1.1.1.13 soft-reconfig neigh 1.1.1.13 route-map-in rm1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 5 router-id 6.6.6.5 neigh 1234:4::1 remote-as 4 neigh 1234:4::1 soft-reconfig neigh 1234:4::1 route-map-in rm1 red conn exit ! r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.4 vrf v1 sou lo0 r2 tping 100 60 4321::4 vrf v1 sou lo0 r2 tping 0 60 2.2.2.5 vrf v1 sou lo0 r2 tping 0 60 4321::5 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.4 vrf v1 sou lo0 r3 tping 100 60 4321::4 vrf v1 sou lo0 r3 tping 0 60 2.2.2.1 vrf v1 sou lo0 r3 tping 0 60 4321::1 vrf v1 sou lo0 r3 tping 0 60 2.2.2.5 vrf v1 sou lo0 r3 tping 0 60 4321::5 vrf v1 sou lo0 r4 tping 100 60 2.2.2.2 vrf v1 sou lo0 r4 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.3 vrf v1 sou lo0 r4 tping 100 60 4321::3 vrf v1 sou lo0 r4 tping 100 60 2.2.2.5 vrf v1 sou lo0 r4 tping 100 60 4321::5 vrf v1 sou lo0 r4 tping 0 60 2.2.2.1 vrf v1 sou lo0 r4 tping 0 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.5 vrf v1 sou lo0 r1 tping 100 60 4321::5 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 0 60 2.2.2.4 vrf v1 sou lo0 r1 tping 0 60 4321::4 vrf v1 sou lo0 r5 tping 100 60 2.2.2.1 vrf v1 sou lo0 r5 tping 100 60 4321::1 vrf v1 sou lo0 r5 tping 100 60 2.2.2.4 vrf v1 sou lo0 r5 tping 100 60 4321::4 vrf v1 sou lo0 r5 tping 0 60 2.2.2.2 vrf v1 sou lo0 r5 tping 0 60 4321::2 vrf v1 sou lo0 r5 tping 0 60 2.2.2.3 vrf v1 sou lo0 r5 tping 0 60 4321::3 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp306.tst000066400000000000000000000135451510423065500165760ustar00rootroot00000000000000description ibgp vpn client with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 sequence 10 act deny match aspath .*3.* sequence 20 act permit exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-map-in rm1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-map-in rm1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 2 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 internal-vpn neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 attribset neigh 1.1.1.6 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 2 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 internal-vpn neigh 1234:2::2 remote-as 3 neigh 1234:2::2 attribset neigh 1234:2::2 soft-reconfig red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 attribset neigh 1.1.1.5 soft-reconfig neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 attribset neigh 1.1.1.10 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 attribset neigh 1234:2::1 soft-reconfig neigh 1234:3::2 remote-as 4 neigh 1234:3::2 attribset neigh 1234:3::2 soft-reconfig red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 attribset neigh 1.1.1.9 soft-reconfig neigh 1.1.1.14 remote-as 4 neigh 1.1.1.14 soft-reconfig neigh 1.1.1.14 internal-vpn red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 attribset neigh 1234:3::1 soft-reconfig neigh 1234:4::2 remote-as 4 neigh 1234:4::2 soft-reconfig neigh 1234:4::2 internal-vpn red conn exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny match aspath .*3.* sequence 20 act permit exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.5 neigh 1.1.1.13 remote-as 4 neigh 1.1.1.13 soft-reconfig neigh 1.1.1.13 route-map-in rm1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.5 neigh 1234:4::1 remote-as 4 neigh 1234:4::1 soft-reconfig neigh 1234:4::1 route-map-in rm1 red conn exit ! r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.4 vrf v1 sou lo0 r2 tping 100 60 4321::4 vrf v1 sou lo0 r2 tping 0 60 2.2.2.5 vrf v1 sou lo0 r2 tping 0 60 4321::5 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.4 vrf v1 sou lo0 r3 tping 100 60 4321::4 vrf v1 sou lo0 r3 tping 0 60 2.2.2.1 vrf v1 sou lo0 r3 tping 0 60 4321::1 vrf v1 sou lo0 r3 tping 0 60 2.2.2.5 vrf v1 sou lo0 r3 tping 0 60 4321::5 vrf v1 sou lo0 r4 tping 100 60 2.2.2.2 vrf v1 sou lo0 r4 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.3 vrf v1 sou lo0 r4 tping 100 60 4321::3 vrf v1 sou lo0 r4 tping 100 60 2.2.2.5 vrf v1 sou lo0 r4 tping 100 60 4321::5 vrf v1 sou lo0 r4 tping 0 60 2.2.2.1 vrf v1 sou lo0 r4 tping 0 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.5 vrf v1 sou lo0 r1 tping 100 60 4321::5 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r1 tping 0 60 2.2.2.4 vrf v1 sou lo0 r1 tping 0 60 4321::4 vrf v1 sou lo0 r5 tping 100 60 2.2.2.1 vrf v1 sou lo0 r5 tping 100 60 4321::1 vrf v1 sou lo0 r5 tping 100 60 2.2.2.4 vrf v1 sou lo0 r5 tping 100 60 4321::4 vrf v1 sou lo0 r5 tping 0 60 2.2.2.2 vrf v1 sou lo0 r5 tping 0 60 4321::2 vrf v1 sou lo0 r5 tping 0 60 2.2.2.3 vrf v1 sou lo0 r5 tping 0 60 4321::3 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp307.tst000066400000000000000000000025341510423065500165730ustar00rootroot00000000000000description bgp symmetric compression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 compress both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 compress both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 compress both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 compress both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp308.tst000066400000000000000000000025331510423065500165730ustar00rootroot00000000000000description bgp asymmetric compression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 compress tran red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 compress tran red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 compress rec red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 compress rec red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp309.tst000066400000000000000000000025231510423065500165730ustar00rootroot00000000000000description bgp none compression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 compress rec red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 compress rec red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 compress rec red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 compress rec red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp310.tst000066400000000000000000000135351510423065500165700ustar00rootroot00000000000000description bgp prefix packing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 2222::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 2222::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo5 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 2222::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo6 vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 2222::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo7 vrf for v1 ipv4 addr 2.2.2.7 255.255.255.255 ipv6 addr 2222::7 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo8 vrf for v1 ipv4 addr 2.2.2.8 255.255.255.255 ipv6 addr 2222::8 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.0.0.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v1 ipv4 addr 3.3.3.4 255.255.255.255 ipv6 addr 3333::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo5 vrf for v1 ipv4 addr 3.3.3.5 255.255.255.255 ipv6 addr 3333::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo6 vrf for v1 ipv4 addr 3.3.3.6 255.255.255.255 ipv6 addr 3333::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo7 vrf for v1 ipv4 addr 3.3.3.7 255.255.255.255 ipv6 addr 3333::7 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo8 vrf for v1 ipv4 addr 3.3.3.8 255.255.255.255 ipv6 addr 3333::8 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.0.0.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 3.3.3.1 vrf v1 r1 tping 100 60 3333::1 vrf v1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 3.3.3.3 vrf v1 r1 tping 100 60 3333::3 vrf v1 r1 tping 100 60 3.3.3.4 vrf v1 r1 tping 100 60 3333::4 vrf v1 r1 tping 100 60 3.3.3.5 vrf v1 r1 tping 100 60 3333::5 vrf v1 r1 tping 100 60 3.3.3.6 vrf v1 r1 tping 100 60 3333::6 vrf v1 r1 tping 100 60 3.3.3.7 vrf v1 r1 tping 100 60 3333::7 vrf v1 r1 tping 100 60 3.3.3.8 vrf v1 r1 tping 100 60 3333::8 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2222::1 vrf v1 r2 tping 100 60 2.2.2.2 vrf v1 r2 tping 100 60 2222::2 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 2222::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 2222::4 vrf v1 r2 tping 100 60 2.2.2.5 vrf v1 r2 tping 100 60 2222::5 vrf v1 r2 tping 100 60 2.2.2.6 vrf v1 r2 tping 100 60 2222::6 vrf v1 r2 tping 100 60 2.2.2.7 vrf v1 r2 tping 100 60 2222::7 vrf v1 r2 tping 100 60 2.2.2.8 vrf v1 r2 tping 100 60 2222::8 vrf v1 r1 send conf t r1 send router bgp4 1 r1 send no red conn r1 send exit r1 send router bgp6 1 r1 send no red conn r1 send end r1 tping 100 60 3.3.3.1 vrf v1 r1 tping 100 60 3333::1 vrf v1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 3.3.3.3 vrf v1 r1 tping 100 60 3333::3 vrf v1 r1 tping 100 60 3.3.3.4 vrf v1 r1 tping 100 60 3333::4 vrf v1 r1 tping 100 60 3.3.3.5 vrf v1 r1 tping 100 60 3333::5 vrf v1 r1 tping 100 60 3.3.3.6 vrf v1 r1 tping 100 60 3333::6 vrf v1 r1 tping 100 60 3.3.3.7 vrf v1 r1 tping 100 60 3333::7 vrf v1 r1 tping 100 60 3.3.3.8 vrf v1 r1 tping 100 60 3333::8 vrf v1 r2 tping 0 60 2.2.2.1 vrf v1 r2 tping 0 60 2222::1 vrf v1 r2 tping 0 60 2.2.2.2 vrf v1 r2 tping 0 60 2222::2 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 2222::3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r2 tping 0 60 2222::4 vrf v1 r2 tping 0 60 2.2.2.5 vrf v1 r2 tping 0 60 2222::5 vrf v1 r2 tping 0 60 2.2.2.6 vrf v1 r2 tping 0 60 2222::6 vrf v1 r2 tping 0 60 2.2.2.7 vrf v1 r2 tping 0 60 2222::7 vrf v1 r2 tping 0 60 2.2.2.8 vrf v1 r2 tping 0 60 2222::8 vrf v1 r1 send conf t r1 send router bgp4 1 r1 send red conn r1 send exit r1 send router bgp6 1 r1 send red conn r1 send end r1 tping 100 60 3.3.3.1 vrf v1 r1 tping 100 60 3333::1 vrf v1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 3.3.3.3 vrf v1 r1 tping 100 60 3333::3 vrf v1 r1 tping 100 60 3.3.3.4 vrf v1 r1 tping 100 60 3333::4 vrf v1 r1 tping 100 60 3.3.3.5 vrf v1 r1 tping 100 60 3333::5 vrf v1 r1 tping 100 60 3.3.3.6 vrf v1 r1 tping 100 60 3333::6 vrf v1 r1 tping 100 60 3.3.3.7 vrf v1 r1 tping 100 60 3333::7 vrf v1 r1 tping 100 60 3.3.3.8 vrf v1 r1 tping 100 60 3333::8 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2222::1 vrf v1 r2 tping 100 60 2.2.2.2 vrf v1 r2 tping 100 60 2222::2 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 2222::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 2222::4 vrf v1 r2 tping 100 60 2.2.2.5 vrf v1 r2 tping 100 60 2222::5 vrf v1 r2 tping 100 60 2.2.2.6 vrf v1 r2 tping 100 60 2222::6 vrf v1 r2 tping 100 60 2.2.2.7 vrf v1 r2 tping 100 60 2222::7 vrf v1 r2 tping 100 60 2.2.2.8 vrf v1 r2 tping 100 60 2222::8 vrf v1 freeRtr-25.11.9/cfg/rout-bgp311.tst000066400000000000000000000047141510423065500165700ustar00rootroot00000000000000description ebgp with nexthop tracking interface addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit route-policy rm1 pass exit route-policy rm2 set aspath 3 3 3 pass exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 nexthop route-policy rm1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-policy-in rm2 neigh 1.1.1.2 route-policy-out rm2 neigh 1.1.1.6 remote-as 2 neigh 1.1.1.6 fall-over red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 nexthop route-policy rm1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-policy-in rm2 neigh 1234:1::2 route-policy-out rm2 neigh 1234:2::2 remote-as 2 neigh 1234:2::2 fall-over red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-policy rm1 pass exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 nexthop route-policy rm1 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 fall-over red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 nexthop route-policy rm1 neigh 1234:1::1 remote-as 1 neigh 1234:2::1 remote-as 1 neigh 1234:2::1 fall-over red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r1 send conf t r1 send int eth2 r1 send shut r1 send end r2 send conf t r2 send int eth2 r2 send shut r2 send end r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp312.tst000066400000000000000000000046241510423065500165710ustar00rootroot00000000000000description ibgp with nexthop tracking interface addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit route-policy rm1 pass exit route-policy rm2 set aspath 3 3 3 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 nexthop route-policy rm1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-policy-in rm2 neigh 1.1.1.2 route-policy-out rm2 neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 fall-over red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 nexthop route-policy rm1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-policy-in rm2 neigh 1234:1::2 route-policy-out rm2 neigh 1234:2::2 remote-as 1 neigh 1234:2::2 fall-over red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-policy rm1 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 nexthop route-policy rm1 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 fall-over red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 nexthop route-policy rm1 neigh 1234:1::1 remote-as 1 neigh 1234:2::1 remote-as 1 neigh 1234:2::1 fall-over red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r1 send conf t r1 send int eth2 r1 send shut r1 send end r2 send conf t r2 send int eth2 r2 send shut r2 send end r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp313.tst000066400000000000000000000106721510423065500165720ustar00rootroot00000000000000description bgp with bier addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp local-as 1 bier 256 10 1 3 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 bier red conn exit router bgp6 1 vrf v1 no safe-ebgp local-as 1 bier 256 10 1 3 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 bier red conn exit int tun1 tun sou lo0 tun dest 9.9.9.9 tun doma 2.2.2.4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 tun sou lo0 tun dest 9999::9 tun doma 4321::4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp local-as 2 bier 256 10 2 3 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 bier neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 bier red conn exit router bgp6 1 vrf v1 no safe-ebgp local-as 2 bier 256 10 2 3 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 bier neigh 1234:2::2 remote-as 3 neigh 1234:2::2 bier red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp local-as 3 bier 256 10 3 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 bier neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 bier red conn exit router bgp6 1 vrf v1 no safe-ebgp local-as 3 bier 256 10 3 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 bier neigh 1234:3::2 remote-as 4 neigh 1234:3::2 bier red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp local-as 4 bier 256 10 4 3 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 bier red conn exit router bgp6 1 vrf v1 no safe-ebgp local-as 4 bier 256 10 4 3 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 bier red conn exit int tun1 tun sou lo0 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int tun2 tun sou lo0 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv6 addr 4321::1112 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 0 20 2.2.2.4 vrf v1 sou lo0 r4 tping 0 20 2.2.2.1 vrf v1 sou lo0 r1 tping 0 20 4321::4 vrf v1 sou lo0 r4 tping 0 20 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 4321::1112 vrf v1 r4 tping 100 60 3.3.3.1 vrf v1 r4 tping 100 60 4321::1111 vrf v1 freeRtr-25.11.9/cfg/rout-bgp314.tst000066400000000000000000000116201510423065500165650ustar00rootroot00000000000000description bgp routemap filtering with rd addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit route-map rm1 sequence 10 act deny sequence 10 match rd 1:3 sequence 20 act perm exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 vpn-route-map-in rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 vpn-route-map-in rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 0 60 9.9.3.3 vrf v3 r3 tping 0 60 9.9.3.1 vrf v3 r1 tping 0 60 9993::3 vrf v3 r3 tping 0 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r3 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp315.tst000066400000000000000000000115731510423065500165750ustar00rootroot00000000000000description bgp routepolicy filtering with rd addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit route-policy rm1 if rd 1:3 drop else pass enif exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 vpn-route-policy-in rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 vpn-route-policy-in rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 0 60 9.9.3.3 vrf v3 r3 tping 0 60 9.9.3.1 vrf v3 r1 tping 0 60 9993::3 vrf v3 r3 tping 0 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r3 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp316.tst000066400000000000000000000120271510423065500165710ustar00rootroot00000000000000description bgp routemap filtering with rd with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit route-map rm1 sequence 10 act deny sequence 10 match rd 1:3 sequence 20 act perm exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 soft-reconfig neigh 2.2.2.3 vpn-route-map-in rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 soft-reconfig neigh 4321::3 vpn-route-map-in rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 0 60 9.9.3.3 vrf v3 r3 tping 0 60 9.9.3.1 vrf v3 r1 tping 0 60 9993::3 vrf v3 r3 tping 0 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r3 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp317.tst000066400000000000000000000120021510423065500165630ustar00rootroot00000000000000description bgp routepolicy filtering with rd with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit route-policy rm1 if rd 1:3 drop else pass enif exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 soft-reconfig neigh 2.2.2.3 vpn-route-policy-in rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 soft-reconfig neigh 4321::3 vpn-route-policy-in rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 0 60 9.9.3.3 vrf v3 r3 tping 0 60 9.9.3.1 vrf v3 r1 tping 0 60 9993::3 vrf v3 r3 tping 0 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r3 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp318.tst000066400000000000000000000151241510423065500165740ustar00rootroot00000000000000description bgp routemap filtering with afi addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:1 rt-both 1:1 mac-learn private exit bridge 3 rd 1:2 rt-both 1:2 mac-learn private exit bridge 4 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit route-map rm1 sequence 10 act deny sequence 10 match safi 128 sequence 10 match rd 1:3 sequence 20 act deny sequence 20 match safi 65 sequence 20 match rd 1:2 sequence 30 act perm exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 vpn-route-map-in rm1 neigh 2.2.2.3 evpn-route-map-in rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 address vpnuni vpls local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 vpn-route-map-in rm1 neigh 4321::3 evpn-route-map-in rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:1 rt-both 1:1 mac-learn private exit bridge 3 rd 1:2 rt-both 1:2 mac-learn private exit bridge 4 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni vpls local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 address vpnuni vpls local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 0 60 9.9.3.3 vrf v3 r3 tping 0 60 9.9.3.1 vrf v3 r1 tping 0 60 9993::3 vrf v3 r3 tping 0 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r3 tping 100 60 9994::1 vrf v4 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 0 60 3333::2 vrf v1 r1 tping 0 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r3 tping 0 60 3333::1 vrf v1 r3 tping 0 60 4.4.4.1 vrf v1 r3 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp319.tst000066400000000000000000000150741510423065500166010ustar00rootroot00000000000000description bgp routepolicy filtering with afi addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:1 rt-both 1:1 mac-learn private exit bridge 3 rd 1:2 rt-both 1:2 mac-learn private exit bridge 4 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit route-policy rm1 if safi 128 if rd 1:3 drop else pass enif elsif safi 65 if rd 1:2 drop else pass enif else pass enif exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 vpn-route-policy-in rm1 neigh 2.2.2.3 evpn-route-policy-in rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 address vpnuni vpls local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 vpn-route-policy-in rm1 neigh 4321::3 evpn-route-policy-in rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:1 rt-both 1:1 mac-learn private exit bridge 3 rd 1:2 rt-both 1:2 mac-learn private exit bridge 4 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni vpls local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 address vpnuni vpls local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 0 60 9.9.3.3 vrf v3 r3 tping 0 60 9.9.3.1 vrf v3 r1 tping 0 60 9993::3 vrf v3 r3 tping 0 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r3 tping 100 60 9994::1 vrf v4 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 0 60 3333::2 vrf v1 r1 tping 0 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r3 tping 0 60 3333::1 vrf v1 r3 tping 0 60 4.4.4.1 vrf v1 r3 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp320.tst000066400000000000000000000153331510423065500165670ustar00rootroot00000000000000description bgp routemap filtering with afi with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:1 rt-both 1:1 mac-learn private exit bridge 3 rd 1:2 rt-both 1:2 mac-learn private exit bridge 4 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit route-map rm1 sequence 10 act deny sequence 10 match safi 128 sequence 10 match rd 1:3 sequence 20 act deny sequence 20 match safi 65 sequence 20 match rd 1:2 sequence 30 act perm exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 soft-reconfig neigh 2.2.2.3 vpn-route-map-in rm1 neigh 2.2.2.3 evpn-route-map-in rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 address vpnuni vpls local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 soft-reconfig neigh 4321::3 vpn-route-map-in rm1 neigh 4321::3 evpn-route-map-in rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:1 rt-both 1:1 mac-learn private exit bridge 3 rd 1:2 rt-both 1:2 mac-learn private exit bridge 4 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni vpls local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 address vpnuni vpls local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 0 60 9.9.3.3 vrf v3 r3 tping 0 60 9.9.3.1 vrf v3 r1 tping 0 60 9993::3 vrf v3 r3 tping 0 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r3 tping 100 60 9994::1 vrf v4 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 0 60 3333::2 vrf v1 r1 tping 0 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r3 tping 0 60 3333::1 vrf v1 r3 tping 0 60 4.4.4.1 vrf v1 r3 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp321.tst000066400000000000000000000153031510423065500165650ustar00rootroot00000000000000description bgp routepolicy filtering with afi with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:1 rt-both 1:1 mac-learn private exit bridge 3 rd 1:2 rt-both 1:2 mac-learn private exit bridge 4 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit route-policy rm1 if safi 128 if rd 1:3 drop else pass enif elsif safi 65 if rd 1:2 drop else pass enif else pass enif exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 soft-reconfig neigh 2.2.2.3 vpn-route-policy-in rm1 neigh 2.2.2.3 evpn-route-policy-in rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 address vpnuni vpls local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 soft-reconfig neigh 4321::3 vpn-route-policy-in rm1 neigh 4321::3 evpn-route-policy-in rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:1 rt-both 1:1 mac-learn private exit bridge 3 rd 1:2 rt-both 1:2 mac-learn private exit bridge 4 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni vpls local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 address vpnuni vpls local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 0 60 9.9.3.3 vrf v3 r3 tping 0 60 9.9.3.1 vrf v3 r1 tping 0 60 9993::3 vrf v3 r3 tping 0 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r3 tping 100 60 9994::1 vrf v4 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 0 60 3333::2 vrf v1 r1 tping 0 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r3 tping 0 60 3333::1 vrf v1 r3 tping 0 60 4.4.4.1 vrf v1 r3 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp322.tst000066400000000000000000000026561510423065500165750ustar00rootroot00000000000000description bgp hard reset addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r1 send clear ipv4 bgp 1 peer 1.1.1.2 hard r1 send clear ipv6 bgp 1 peer 1234:1::2 hard r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp323.tst000066400000000000000000000030711510423065500165660ustar00rootroot00000000000000description bgp hard reset with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r1 send clear ipv4 bgp 1 peer 1.1.1.2 hard r1 send clear ipv6 bgp 1 peer 1234:1::2 hard r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp324.tst000066400000000000000000000026651510423065500165770ustar00rootroot00000000000000description bgp soft in reset addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r1 send clear ipv4 bgp 1 peer 1.1.1.2 in uni r1 send clear ipv6 bgp 1 peer 1234:1::2 in uni r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp325.tst000066400000000000000000000031001510423065500165610ustar00rootroot00000000000000description bgp soft in reset with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r1 send clear ipv4 bgp 1 peer 1.1.1.2 in uni r1 send clear ipv6 bgp 1 peer 1234:1::2 in uni r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp326.tst000066400000000000000000000026701510423065500165750ustar00rootroot00000000000000description bgp soft out reset addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r1 send clear ipv4 bgp 1 peer 1.1.1.2 out uni r1 send clear ipv6 bgp 1 peer 1234:1::2 out uni r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp327.tst000066400000000000000000000031031510423065500165660ustar00rootroot00000000000000description bgp soft out reset with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r1 send clear ipv4 bgp 1 peer 1.1.1.2 out uni r1 send clear ipv6 bgp 1 peer 1234:1::2 out uni r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp328.tst000066400000000000000000000026241510423065500165760ustar00rootroot00000000000000description unicast+srte over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni srte local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni srte local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni srte local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni srte local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp329.tst000066400000000000000000000030371510423065500165760ustar00rootroot00000000000000description unicast+srte over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni srte local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni srte local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni srte local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni srte local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp330.tst000066400000000000000000000034111510423065500165620ustar00rootroot00000000000000description unicast+srte over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni srte local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 additional-path-rx uni srte neigh 1.1.1.2 additional-path-tx uni srte red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni srte local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 additional-path-rx uni srte neigh 1234:1::2 additional-path-tx uni srte red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni srte local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 additional-path-rx uni srte neigh 1.1.1.1 additional-path-tx uni srte red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni srte local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 additional-path-rx uni srte neigh 1234:1::1 additional-path-tx uni srte red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp331.tst000066400000000000000000000302621510423065500165670ustar00rootroot00000000000000description bgp interas vpn with asbr peering addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflect neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 route-reflect afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 route-reflect neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 route-reflect afi-vrf v2 ena afi-vrf v2 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp4 2 exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp6 2 exit router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.3 neigh 1.1.1.10 remote-as 2 neigh 1.1.1.10 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp4 1 exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.3 neigh 1234:3::2 remote-as 2 neigh 1234:3::2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp6 1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.4 255.255.255.255 ipv6 addr 3333::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.14 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.14 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.4 neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp4 1 exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.4 neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp6 1 exit router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.3 neigh 1.1.1.9 remote-as 1 neigh 1.1.1.9 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp4 2 exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.3 neigh 1234:3::1 remote-as 1 neigh 1234:3::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp6 2 exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ int eth2 eth 0000.0000.5555 $5a$ $5b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.5 255.255.255.255 ipv6 addr 3333::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.17 255.255.255.252 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.13 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.18 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.5 neigh 2.2.2.4 remote-as 2 neigh 2.2.2.4 update lo0 neigh 2.2.2.4 send-comm both neigh 2.2.2.4 route-reflect neigh 2.2.2.6 remote-as 2 neigh 2.2.2.6 update lo0 neigh 2.2.2.6 send-comm both neigh 2.2.2.6 route-reflect afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.5 neigh 4321::4 remote-as 2 neigh 4321::4 update lo0 neigh 4321::4 send-comm both neigh 4321::4 route-reflect neigh 4321::6 remote-as 2 neigh 4321::6 update lo0 neigh 4321::6 send-comm both neigh 4321::6 route-reflect afi-vrf v2 ena afi-vrf v2 red conn exit ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.6 255.255.255.255 ipv6 addr 3333::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.18 255.255.255.252 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.17 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.17 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.6 neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.6 neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.5 vrf v1 sou lo0 r4 tping 100 60 4321::5 vrf v1 sou lo0 r4 tping 100 60 2.2.2.6 vrf v1 sou lo0 r4 tping 100 60 4321::6 vrf v1 sou lo0 r5 tping 100 60 2.2.2.4 vrf v1 sou lo0 r5 tping 100 60 4321::4 vrf v1 sou lo0 r5 tping 100 60 2.2.2.6 vrf v1 sou lo0 r5 tping 100 60 4321::6 vrf v1 sou lo0 r6 tping 100 60 2.2.2.4 vrf v1 sou lo0 r6 tping 100 60 4321::4 vrf v1 sou lo0 r6 tping 100 60 2.2.2.5 vrf v1 sou lo0 r6 tping 100 60 4321::5 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v2 sou lo1 r1 tping 100 60 3333::2 vrf v2 sou lo1 r1 tping 100 60 3.3.3.3 vrf v2 sou lo1 r1 tping 100 60 3333::3 vrf v2 sou lo1 r2 tping 100 60 3.3.3.1 vrf v2 sou lo1 r2 tping 100 60 3333::1 vrf v2 sou lo1 r2 tping 100 60 3.3.3.3 vrf v2 sou lo1 r2 tping 100 60 3333::3 vrf v2 sou lo1 r3 tping 100 60 3.3.3.1 vrf v2 sou lo1 r3 tping 100 60 3333::1 vrf v2 sou lo1 r3 tping 100 60 3.3.3.2 vrf v2 sou lo1 r3 tping 100 60 3333::2 vrf v2 sou lo1 r4 tping 100 60 3.3.3.5 vrf v2 sou lo1 r4 tping 100 60 3333::5 vrf v2 sou lo1 r4 tping 100 60 3.3.3.6 vrf v2 sou lo1 r4 tping 100 60 3333::6 vrf v2 sou lo1 r5 tping 100 60 3.3.3.4 vrf v2 sou lo1 r5 tping 100 60 3333::4 vrf v2 sou lo1 r5 tping 100 60 3.3.3.6 vrf v2 sou lo1 r5 tping 100 60 3333::6 vrf v2 sou lo1 r6 tping 100 60 3.3.3.4 vrf v2 sou lo1 r6 tping 100 60 3333::4 vrf v2 sou lo1 r6 tping 100 60 3.3.3.5 vrf v2 sou lo1 r6 tping 100 60 3333::5 vrf v2 sou lo1 r4 tping 100 60 3.3.3.1 vrf v2 sou lo1 r4 tping 100 60 3333::1 vrf v2 sou lo1 r4 tping 100 60 3.3.3.2 vrf v2 sou lo1 r4 tping 100 60 3333::2 vrf v2 sou lo1 r4 tping 100 60 3.3.3.3 vrf v2 sou lo1 r4 tping 100 60 3333::3 vrf v2 sou lo1 r5 tping 100 60 3.3.3.1 vrf v2 sou lo1 r5 tping 100 60 3333::1 vrf v2 sou lo1 r5 tping 100 60 3.3.3.2 vrf v2 sou lo1 r5 tping 100 60 3333::2 vrf v2 sou lo1 r5 tping 100 60 3.3.3.3 vrf v2 sou lo1 r5 tping 100 60 3333::3 vrf v2 sou lo1 r6 tping 100 60 3.3.3.1 vrf v2 sou lo1 r6 tping 100 60 3333::1 vrf v2 sou lo1 r6 tping 100 60 3.3.3.2 vrf v2 sou lo1 r6 tping 100 60 3333::2 vrf v2 sou lo1 r6 tping 100 60 3.3.3.3 vrf v2 sou lo1 r6 tping 100 60 3333::3 vrf v2 sou lo1 r1 tping 100 60 3.3.3.4 vrf v2 sou lo1 r1 tping 100 60 3333::4 vrf v2 sou lo1 r1 tping 100 60 3.3.3.5 vrf v2 sou lo1 r1 tping 100 60 3333::5 vrf v2 sou lo1 r1 tping 100 60 3.3.3.6 vrf v2 sou lo1 r1 tping 100 60 3333::6 vrf v2 sou lo1 r2 tping 100 60 3.3.3.4 vrf v2 sou lo1 r2 tping 100 60 3333::4 vrf v2 sou lo1 r2 tping 100 60 3.3.3.5 vrf v2 sou lo1 r2 tping 100 60 3333::5 vrf v2 sou lo1 r2 tping 100 60 3.3.3.6 vrf v2 sou lo1 r2 tping 100 60 3333::6 vrf v2 sou lo1 r3 tping 100 60 3.3.3.4 vrf v2 sou lo1 r3 tping 100 60 3333::4 vrf v2 sou lo1 r3 tping 100 60 3.3.3.5 vrf v2 sou lo1 r3 tping 100 60 3333::5 vrf v2 sou lo1 r3 tping 100 60 3.3.3.6 vrf v2 sou lo1 r3 tping 100 60 3333::6 vrf v2 sou lo1 freeRtr-25.11.9/cfg/rout-bgp332.tst000066400000000000000000000335411510423065500165730ustar00rootroot00000000000000description bgp interas vpn with rr peering addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.2 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.2 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.2 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.6 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.6 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.6 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflect neigh 2.2.2.1 next-hop-unch neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 route-reflect neigh 2.2.2.3 next-hop-unch neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 send-comm both neigh 2.2.2.5 next-hop-unch afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 route-reflect neigh 4321::1 next-hop-unch neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 route-reflect neigh 4321::3 next-hop-unch neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 send-comm both neigh 4321::5 next-hop-unch afi-vrf v2 ena afi-vrf v2 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp4 2 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.3 neigh 1.1.1.10 remote-as 2 red conn red stat exit router bgp6 2 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.3 neigh 1234:3::2 remote-as 2 red conn red stat exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.4 255.255.255.255 ipv6 addr 3333::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.14 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.14 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.4 neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.4 neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.3 neigh 1.1.1.9 remote-as 1 red conn red stat exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.3 neigh 1234:3::1 remote-as 1 red conn red stat exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ int eth2 eth 0000.0000.5555 $5a$ $5b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.5 255.255.255.255 ipv6 addr 3333::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.17 255.255.255.252 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.13 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.13 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.13 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.13 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.18 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.5 neigh 2.2.2.4 remote-as 2 neigh 2.2.2.4 update lo0 neigh 2.2.2.4 send-comm both neigh 2.2.2.4 route-reflect neigh 2.2.2.4 next-hop-unch neigh 2.2.2.6 remote-as 2 neigh 2.2.2.6 update lo0 neigh 2.2.2.6 send-comm both neigh 2.2.2.6 route-reflect neigh 2.2.2.6 next-hop-unch neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 next-hop-unch afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.5 neigh 4321::4 remote-as 2 neigh 4321::4 update lo0 neigh 4321::4 send-comm both neigh 4321::4 route-reflect neigh 4321::4 next-hop-unch neigh 4321::6 remote-as 2 neigh 4321::6 update lo0 neigh 4321::6 send-comm both neigh 4321::6 route-reflect neigh 4321::6 next-hop-unch neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 next-hop-unch afi-vrf v2 ena afi-vrf v2 red conn exit ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.6 255.255.255.255 ipv6 addr 3333::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.18 255.255.255.252 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.17 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.17 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.17 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.17 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.17 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.6 neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.6 neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.5 vrf v1 sou lo0 r4 tping 100 60 4321::5 vrf v1 sou lo0 r4 tping 100 60 2.2.2.6 vrf v1 sou lo0 r4 tping 100 60 4321::6 vrf v1 sou lo0 r5 tping 100 60 2.2.2.4 vrf v1 sou lo0 r5 tping 100 60 4321::4 vrf v1 sou lo0 r5 tping 100 60 2.2.2.6 vrf v1 sou lo0 r5 tping 100 60 4321::6 vrf v1 sou lo0 r6 tping 100 60 2.2.2.4 vrf v1 sou lo0 r6 tping 100 60 4321::4 vrf v1 sou lo0 r6 tping 100 60 2.2.2.5 vrf v1 sou lo0 r6 tping 100 60 4321::5 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v2 sou lo1 r1 tping 100 60 3333::2 vrf v2 sou lo1 r1 tping 100 60 3.3.3.3 vrf v2 sou lo1 r1 tping 100 60 3333::3 vrf v2 sou lo1 r2 tping 100 60 3.3.3.1 vrf v2 sou lo1 r2 tping 100 60 3333::1 vrf v2 sou lo1 r2 tping 100 60 3.3.3.3 vrf v2 sou lo1 r2 tping 100 60 3333::3 vrf v2 sou lo1 r3 tping 100 60 3.3.3.1 vrf v2 sou lo1 r3 tping 100 60 3333::1 vrf v2 sou lo1 r3 tping 100 60 3.3.3.2 vrf v2 sou lo1 r3 tping 100 60 3333::2 vrf v2 sou lo1 r4 tping 100 60 3.3.3.5 vrf v2 sou lo1 r4 tping 100 60 3333::5 vrf v2 sou lo1 r4 tping 100 60 3.3.3.6 vrf v2 sou lo1 r4 tping 100 60 3333::6 vrf v2 sou lo1 r5 tping 100 60 3.3.3.4 vrf v2 sou lo1 r5 tping 100 60 3333::4 vrf v2 sou lo1 r5 tping 100 60 3.3.3.6 vrf v2 sou lo1 r5 tping 100 60 3333::6 vrf v2 sou lo1 r6 tping 100 60 3.3.3.4 vrf v2 sou lo1 r6 tping 100 60 3333::4 vrf v2 sou lo1 r6 tping 100 60 3.3.3.5 vrf v2 sou lo1 r6 tping 100 60 3333::5 vrf v2 sou lo1 r4 tping 100 60 3.3.3.1 vrf v2 sou lo1 r4 tping 100 60 3333::1 vrf v2 sou lo1 r4 tping 100 60 3.3.3.2 vrf v2 sou lo1 r4 tping 100 60 3333::2 vrf v2 sou lo1 r4 tping 100 60 3.3.3.3 vrf v2 sou lo1 r4 tping 100 60 3333::3 vrf v2 sou lo1 r5 tping 100 60 3.3.3.1 vrf v2 sou lo1 r5 tping 100 60 3333::1 vrf v2 sou lo1 r5 tping 100 60 3.3.3.2 vrf v2 sou lo1 r5 tping 100 60 3333::2 vrf v2 sou lo1 r5 tping 100 60 3.3.3.3 vrf v2 sou lo1 r5 tping 100 60 3333::3 vrf v2 sou lo1 r6 tping 100 60 3.3.3.1 vrf v2 sou lo1 r6 tping 100 60 3333::1 vrf v2 sou lo1 r6 tping 100 60 3.3.3.2 vrf v2 sou lo1 r6 tping 100 60 3333::2 vrf v2 sou lo1 r6 tping 100 60 3.3.3.3 vrf v2 sou lo1 r6 tping 100 60 3333::3 vrf v2 sou lo1 r1 tping 100 60 3.3.3.4 vrf v2 sou lo1 r1 tping 100 60 3333::4 vrf v2 sou lo1 r1 tping 100 60 3.3.3.5 vrf v2 sou lo1 r1 tping 100 60 3333::5 vrf v2 sou lo1 r1 tping 100 60 3.3.3.6 vrf v2 sou lo1 r1 tping 100 60 3333::6 vrf v2 sou lo1 r2 tping 100 60 3.3.3.4 vrf v2 sou lo1 r2 tping 100 60 3333::4 vrf v2 sou lo1 r2 tping 100 60 3.3.3.5 vrf v2 sou lo1 r2 tping 100 60 3333::5 vrf v2 sou lo1 r2 tping 100 60 3.3.3.6 vrf v2 sou lo1 r2 tping 100 60 3333::6 vrf v2 sou lo1 r3 tping 100 60 3.3.3.4 vrf v2 sou lo1 r3 tping 100 60 3333::4 vrf v2 sou lo1 r3 tping 100 60 3.3.3.5 vrf v2 sou lo1 r3 tping 100 60 3333::5 vrf v2 sou lo1 r3 tping 100 60 3.3.3.6 vrf v2 sou lo1 r3 tping 100 60 3333::6 vrf v2 sou lo1 freeRtr-25.11.9/cfg/rout-bgp333.tst000066400000000000000000000305131510423065500165700ustar00rootroot00000000000000description bgp interas othervpn with asbr peering addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflect neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 route-reflect afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 route-reflect neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 route-reflect exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp4 2 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red bgp4 2 exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 6.6.6.3 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both exit router bgp4 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 4.4.4.3 neigh 1.1.1.10 remote-as 2 neigh 1.1.1.10 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp4 1 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red bgp4 1 exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 6.6.6.3 neigh 1234:3::2 remote-as 2 neigh 1234:3::2 send-comm both exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.4 255.255.255.255 ipv6 addr 3333::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.14 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.14 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 4.4.4.4 neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp4 1 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red bgp4 1 exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 6.6.6.4 neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 send-comm both exit router bgp4 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 4.4.4.3 neigh 1.1.1.9 remote-as 1 neigh 1.1.1.9 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp4 2 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red bgp4 2 exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 6.6.6.3 neigh 1234:3::1 remote-as 1 neigh 1234:3::1 send-comm both exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ int eth2 eth 0000.0000.5555 $5a$ $5b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.5 255.255.255.255 ipv6 addr 3333::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.17 255.255.255.252 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.13 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.18 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 router bgp4 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 4.4.4.5 neigh 2.2.2.4 remote-as 2 neigh 2.2.2.4 update lo0 neigh 2.2.2.4 send-comm both neigh 2.2.2.4 route-reflect neigh 2.2.2.6 remote-as 2 neigh 2.2.2.6 update lo0 neigh 2.2.2.6 send-comm both neigh 2.2.2.6 route-reflect afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 6.6.6.5 neigh 4321::4 remote-as 2 neigh 4321::4 update lo0 neigh 4321::4 send-comm both neigh 4321::4 route-reflect neigh 4321::6 remote-as 2 neigh 4321::6 update lo0 neigh 4321::6 send-comm both neigh 4321::6 route-reflect exit ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.6 255.255.255.255 ipv6 addr 3333::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.18 255.255.255.252 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.17 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.17 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 router bgp4 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 4.4.4.6 neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 6.6.6.6 neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 send-comm both exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.5 vrf v1 sou lo0 r4 tping 100 60 4321::5 vrf v1 sou lo0 r4 tping 100 60 2.2.2.6 vrf v1 sou lo0 r4 tping 100 60 4321::6 vrf v1 sou lo0 r5 tping 100 60 2.2.2.4 vrf v1 sou lo0 r5 tping 100 60 4321::4 vrf v1 sou lo0 r5 tping 100 60 2.2.2.6 vrf v1 sou lo0 r5 tping 100 60 4321::6 vrf v1 sou lo0 r6 tping 100 60 2.2.2.4 vrf v1 sou lo0 r6 tping 100 60 4321::4 vrf v1 sou lo0 r6 tping 100 60 2.2.2.5 vrf v1 sou lo0 r6 tping 100 60 4321::5 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v2 sou lo1 r1 tping 100 60 3333::2 vrf v2 sou lo1 r1 tping 100 60 3.3.3.3 vrf v2 sou lo1 r1 tping 100 60 3333::3 vrf v2 sou lo1 r2 tping 100 60 3.3.3.1 vrf v2 sou lo1 r2 tping 100 60 3333::1 vrf v2 sou lo1 r2 tping 100 60 3.3.3.3 vrf v2 sou lo1 r2 tping 100 60 3333::3 vrf v2 sou lo1 r3 tping 100 60 3.3.3.1 vrf v2 sou lo1 r3 tping 100 60 3333::1 vrf v2 sou lo1 r3 tping 100 60 3.3.3.2 vrf v2 sou lo1 r3 tping 100 60 3333::2 vrf v2 sou lo1 r4 tping 100 60 3.3.3.5 vrf v2 sou lo1 r4 tping 100 60 3333::5 vrf v2 sou lo1 r4 tping 100 60 3.3.3.6 vrf v2 sou lo1 r4 tping 100 60 3333::6 vrf v2 sou lo1 r5 tping 100 60 3.3.3.4 vrf v2 sou lo1 r5 tping 100 60 3333::4 vrf v2 sou lo1 r5 tping 100 60 3.3.3.6 vrf v2 sou lo1 r5 tping 100 60 3333::6 vrf v2 sou lo1 r6 tping 100 60 3.3.3.4 vrf v2 sou lo1 r6 tping 100 60 3333::4 vrf v2 sou lo1 r6 tping 100 60 3.3.3.5 vrf v2 sou lo1 r6 tping 100 60 3333::5 vrf v2 sou lo1 r4 tping 100 60 3.3.3.1 vrf v2 sou lo1 r4 tping 100 60 3333::1 vrf v2 sou lo1 r4 tping 100 60 3.3.3.2 vrf v2 sou lo1 r4 tping 100 60 3333::2 vrf v2 sou lo1 r4 tping 100 60 3.3.3.3 vrf v2 sou lo1 r4 tping 100 60 3333::3 vrf v2 sou lo1 r5 tping 100 60 3.3.3.1 vrf v2 sou lo1 r5 tping 100 60 3333::1 vrf v2 sou lo1 r5 tping 100 60 3.3.3.2 vrf v2 sou lo1 r5 tping 100 60 3333::2 vrf v2 sou lo1 r5 tping 100 60 3.3.3.3 vrf v2 sou lo1 r5 tping 100 60 3333::3 vrf v2 sou lo1 r6 tping 100 60 3.3.3.1 vrf v2 sou lo1 r6 tping 100 60 3333::1 vrf v2 sou lo1 r6 tping 100 60 3.3.3.2 vrf v2 sou lo1 r6 tping 100 60 3333::2 vrf v2 sou lo1 r6 tping 100 60 3.3.3.3 vrf v2 sou lo1 r6 tping 100 60 3333::3 vrf v2 sou lo1 r1 tping 100 60 3.3.3.4 vrf v2 sou lo1 r1 tping 100 60 3333::4 vrf v2 sou lo1 r1 tping 100 60 3.3.3.5 vrf v2 sou lo1 r1 tping 100 60 3333::5 vrf v2 sou lo1 r1 tping 100 60 3.3.3.6 vrf v2 sou lo1 r1 tping 100 60 3333::6 vrf v2 sou lo1 r2 tping 100 60 3.3.3.4 vrf v2 sou lo1 r2 tping 100 60 3333::4 vrf v2 sou lo1 r2 tping 100 60 3.3.3.5 vrf v2 sou lo1 r2 tping 100 60 3333::5 vrf v2 sou lo1 r2 tping 100 60 3.3.3.6 vrf v2 sou lo1 r2 tping 100 60 3333::6 vrf v2 sou lo1 r3 tping 100 60 3.3.3.4 vrf v2 sou lo1 r3 tping 100 60 3333::4 vrf v2 sou lo1 r3 tping 100 60 3.3.3.5 vrf v2 sou lo1 r3 tping 100 60 3333::5 vrf v2 sou lo1 r3 tping 100 60 3.3.3.6 vrf v2 sou lo1 r3 tping 100 60 3333::6 vrf v2 sou lo1 freeRtr-25.11.9/cfg/rout-bgp334.tst000066400000000000000000000337221510423065500165760ustar00rootroot00000000000000description bgp interas othervpn with rr peering addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.2 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.2 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.2 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.6 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.6 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.6 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflect neigh 2.2.2.1 next-hop-unch neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 route-reflect neigh 2.2.2.3 next-hop-unch neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 send-comm both neigh 2.2.2.5 next-hop-unch afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 route-reflect neigh 4321::1 next-hop-unch neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 route-reflect neigh 4321::3 next-hop-unch neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 send-comm both neigh 4321::5 next-hop-unch exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 6.6.6.3 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both exit router bgp4 2 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.3 neigh 1.1.1.10 remote-as 2 red conn red stat exit router bgp6 2 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.3 neigh 1234:3::2 remote-as 2 red conn red stat exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.4 255.255.255.255 ipv6 addr 3333::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.14 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.14 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 4.4.4.4 neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 6.6.6.4 neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 send-comm both exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.3 neigh 1.1.1.9 remote-as 1 red conn red stat exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.3 neigh 1234:3::1 remote-as 1 red conn red stat exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ int eth2 eth 0000.0000.5555 $5a$ $5b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.5 255.255.255.255 ipv6 addr 3333::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.17 255.255.255.252 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.13 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.13 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.13 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.13 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.18 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 router bgp4 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 4.4.4.5 neigh 2.2.2.4 remote-as 2 neigh 2.2.2.4 update lo0 neigh 2.2.2.4 send-comm both neigh 2.2.2.4 route-reflect neigh 2.2.2.4 next-hop-unch neigh 2.2.2.6 remote-as 2 neigh 2.2.2.6 update lo0 neigh 2.2.2.6 send-comm both neigh 2.2.2.6 route-reflect neigh 2.2.2.6 next-hop-unch neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 next-hop-unch afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 6.6.6.5 neigh 4321::4 remote-as 2 neigh 4321::4 update lo0 neigh 4321::4 send-comm both neigh 4321::4 route-reflect neigh 4321::4 next-hop-unch neigh 4321::6 remote-as 2 neigh 4321::6 update lo0 neigh 4321::6 send-comm both neigh 4321::6 route-reflect neigh 4321::6 next-hop-unch neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 next-hop-unch exit ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.6 255.255.255.255 ipv6 addr 3333::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.18 255.255.255.252 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.17 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.17 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.17 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.17 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.17 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 router bgp4 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 4.4.4.6 neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 6.6.6.6 neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 send-comm both exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.5 vrf v1 sou lo0 r4 tping 100 60 4321::5 vrf v1 sou lo0 r4 tping 100 60 2.2.2.6 vrf v1 sou lo0 r4 tping 100 60 4321::6 vrf v1 sou lo0 r5 tping 100 60 2.2.2.4 vrf v1 sou lo0 r5 tping 100 60 4321::4 vrf v1 sou lo0 r5 tping 100 60 2.2.2.6 vrf v1 sou lo0 r5 tping 100 60 4321::6 vrf v1 sou lo0 r6 tping 100 60 2.2.2.4 vrf v1 sou lo0 r6 tping 100 60 4321::4 vrf v1 sou lo0 r6 tping 100 60 2.2.2.5 vrf v1 sou lo0 r6 tping 100 60 4321::5 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v2 sou lo1 r1 tping 100 60 3333::2 vrf v2 sou lo1 r1 tping 100 60 3.3.3.3 vrf v2 sou lo1 r1 tping 100 60 3333::3 vrf v2 sou lo1 r2 tping 100 60 3.3.3.1 vrf v2 sou lo1 r2 tping 100 60 3333::1 vrf v2 sou lo1 r2 tping 100 60 3.3.3.3 vrf v2 sou lo1 r2 tping 100 60 3333::3 vrf v2 sou lo1 r3 tping 100 60 3.3.3.1 vrf v2 sou lo1 r3 tping 100 60 3333::1 vrf v2 sou lo1 r3 tping 100 60 3.3.3.2 vrf v2 sou lo1 r3 tping 100 60 3333::2 vrf v2 sou lo1 r4 tping 100 60 3.3.3.5 vrf v2 sou lo1 r4 tping 100 60 3333::5 vrf v2 sou lo1 r4 tping 100 60 3.3.3.6 vrf v2 sou lo1 r4 tping 100 60 3333::6 vrf v2 sou lo1 r5 tping 100 60 3.3.3.4 vrf v2 sou lo1 r5 tping 100 60 3333::4 vrf v2 sou lo1 r5 tping 100 60 3.3.3.6 vrf v2 sou lo1 r5 tping 100 60 3333::6 vrf v2 sou lo1 r6 tping 100 60 3.3.3.4 vrf v2 sou lo1 r6 tping 100 60 3333::4 vrf v2 sou lo1 r6 tping 100 60 3.3.3.5 vrf v2 sou lo1 r6 tping 100 60 3333::5 vrf v2 sou lo1 r4 tping 100 60 3.3.3.1 vrf v2 sou lo1 r4 tping 100 60 3333::1 vrf v2 sou lo1 r4 tping 100 60 3.3.3.2 vrf v2 sou lo1 r4 tping 100 60 3333::2 vrf v2 sou lo1 r4 tping 100 60 3.3.3.3 vrf v2 sou lo1 r4 tping 100 60 3333::3 vrf v2 sou lo1 r5 tping 100 60 3.3.3.1 vrf v2 sou lo1 r5 tping 100 60 3333::1 vrf v2 sou lo1 r5 tping 100 60 3.3.3.2 vrf v2 sou lo1 r5 tping 100 60 3333::2 vrf v2 sou lo1 r5 tping 100 60 3.3.3.3 vrf v2 sou lo1 r5 tping 100 60 3333::3 vrf v2 sou lo1 r6 tping 100 60 3.3.3.1 vrf v2 sou lo1 r6 tping 100 60 3333::1 vrf v2 sou lo1 r6 tping 100 60 3.3.3.2 vrf v2 sou lo1 r6 tping 100 60 3333::2 vrf v2 sou lo1 r6 tping 100 60 3.3.3.3 vrf v2 sou lo1 r6 tping 100 60 3333::3 vrf v2 sou lo1 r1 tping 100 60 3.3.3.4 vrf v2 sou lo1 r1 tping 100 60 3333::4 vrf v2 sou lo1 r1 tping 100 60 3.3.3.5 vrf v2 sou lo1 r1 tping 100 60 3333::5 vrf v2 sou lo1 r1 tping 100 60 3.3.3.6 vrf v2 sou lo1 r1 tping 100 60 3333::6 vrf v2 sou lo1 r2 tping 100 60 3.3.3.4 vrf v2 sou lo1 r2 tping 100 60 3333::4 vrf v2 sou lo1 r2 tping 100 60 3.3.3.5 vrf v2 sou lo1 r2 tping 100 60 3333::5 vrf v2 sou lo1 r2 tping 100 60 3.3.3.6 vrf v2 sou lo1 r2 tping 100 60 3333::6 vrf v2 sou lo1 r3 tping 100 60 3.3.3.4 vrf v2 sou lo1 r3 tping 100 60 3333::4 vrf v2 sou lo1 r3 tping 100 60 3.3.3.5 vrf v2 sou lo1 r3 tping 100 60 3333::5 vrf v2 sou lo1 r3 tping 100 60 3.3.3.6 vrf v2 sou lo1 r3 tping 100 60 3333::6 vrf v2 sou lo1 freeRtr-25.11.9/cfg/rout-bgp335.tst000066400000000000000000000321331510423065500165720ustar00rootroot00000000000000description bgp interas csc vpn with asbr peering addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit int pweth1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.0 pseudo v2 lo1 pweompls 3.3.3.6 1234 exit int pweth2 vrf for v1 ipv4 addr 5.5.5.1 255.255.255.0 pseudo v2 lo1 pweompls 3333::6 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflect neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 route-reflect afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 route-reflect neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 route-reflect afi-vrf v2 ena afi-vrf v2 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 1.1.1.10 255.255.255.255 1.1.1.10 mplsimp ipv6 route v1 1234:3::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 mplsimp router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp4 2 exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp6 2 exit router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.3 neigh 1.1.1.10 remote-as 2 neigh 1.1.1.10 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp4 1 exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.3 neigh 1234:3::2 remote-as 2 neigh 1234:3::2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp6 1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.4 255.255.255.255 ipv6 addr 3333::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.14 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.14 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v1 1.1.1.9 255.255.255.255 1.1.1.9 mplsimp ipv6 route v1 1234:3::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 mplsimp router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.4 neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp4 1 exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.4 neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp6 1 exit router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.3 neigh 1.1.1.9 remote-as 1 neigh 1.1.1.9 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp4 2 exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.3 neigh 1234:3::1 remote-as 1 neigh 1234:3::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp6 2 exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ int eth2 eth 0000.0000.5555 $5a$ $5b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.5 255.255.255.255 ipv6 addr 3333::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.17 255.255.255.252 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.13 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.18 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.5 neigh 2.2.2.4 remote-as 2 neigh 2.2.2.4 update lo0 neigh 2.2.2.4 send-comm both neigh 2.2.2.4 route-reflect neigh 2.2.2.6 remote-as 2 neigh 2.2.2.6 update lo0 neigh 2.2.2.6 send-comm both neigh 2.2.2.6 route-reflect afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.5 neigh 4321::4 remote-as 2 neigh 4321::4 update lo0 neigh 4321::4 send-comm both neigh 4321::4 route-reflect neigh 4321::6 remote-as 2 neigh 4321::6 update lo0 neigh 4321::6 send-comm both neigh 4321::6 route-reflect afi-vrf v2 ena afi-vrf v2 red conn exit ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.6 255.255.255.255 ipv6 addr 3333::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.18 255.255.255.252 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.17 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.17 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.6 neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.6 neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit int pweth1 vrf for v1 ipv4 addr 4.4.4.6 255.255.255.0 pseudo v2 lo1 pweompls 3.3.3.1 1234 exit int pweth2 vrf for v1 ipv4 addr 5.5.5.6 255.255.255.0 pseudo v2 lo1 pweompls 3333::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.5 vrf v1 sou lo0 r4 tping 100 60 4321::5 vrf v1 sou lo0 r4 tping 100 60 2.2.2.6 vrf v1 sou lo0 r4 tping 100 60 4321::6 vrf v1 sou lo0 r5 tping 100 60 2.2.2.4 vrf v1 sou lo0 r5 tping 100 60 4321::4 vrf v1 sou lo0 r5 tping 100 60 2.2.2.6 vrf v1 sou lo0 r5 tping 100 60 4321::6 vrf v1 sou lo0 r6 tping 100 60 2.2.2.4 vrf v1 sou lo0 r6 tping 100 60 4321::4 vrf v1 sou lo0 r6 tping 100 60 2.2.2.5 vrf v1 sou lo0 r6 tping 100 60 4321::5 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v2 sou lo1 r1 tping 100 60 3333::2 vrf v2 sou lo1 r1 tping 100 60 3.3.3.3 vrf v2 sou lo1 r1 tping 100 60 3333::3 vrf v2 sou lo1 r2 tping 100 60 3.3.3.1 vrf v2 sou lo1 r2 tping 100 60 3333::1 vrf v2 sou lo1 r2 tping 100 60 3.3.3.3 vrf v2 sou lo1 r2 tping 100 60 3333::3 vrf v2 sou lo1 r3 tping 100 60 3.3.3.1 vrf v2 sou lo1 r3 tping 100 60 3333::1 vrf v2 sou lo1 r3 tping 100 60 3.3.3.2 vrf v2 sou lo1 r3 tping 100 60 3333::2 vrf v2 sou lo1 r4 tping 100 60 3.3.3.5 vrf v2 sou lo1 r4 tping 100 60 3333::5 vrf v2 sou lo1 r4 tping 100 60 3.3.3.6 vrf v2 sou lo1 r4 tping 100 60 3333::6 vrf v2 sou lo1 r5 tping 100 60 3.3.3.4 vrf v2 sou lo1 r5 tping 100 60 3333::4 vrf v2 sou lo1 r5 tping 100 60 3.3.3.6 vrf v2 sou lo1 r5 tping 100 60 3333::6 vrf v2 sou lo1 r6 tping 100 60 3.3.3.4 vrf v2 sou lo1 r6 tping 100 60 3333::4 vrf v2 sou lo1 r6 tping 100 60 3.3.3.5 vrf v2 sou lo1 r6 tping 100 60 3333::5 vrf v2 sou lo1 r4 tping 100 60 3.3.3.1 vrf v2 sou lo1 r4 tping 100 60 3333::1 vrf v2 sou lo1 r4 tping 100 60 3.3.3.2 vrf v2 sou lo1 r4 tping 100 60 3333::2 vrf v2 sou lo1 r4 tping 100 60 3.3.3.3 vrf v2 sou lo1 r4 tping 100 60 3333::3 vrf v2 sou lo1 r5 tping 100 60 3.3.3.1 vrf v2 sou lo1 r5 tping 100 60 3333::1 vrf v2 sou lo1 r5 tping 100 60 3.3.3.2 vrf v2 sou lo1 r5 tping 100 60 3333::2 vrf v2 sou lo1 r5 tping 100 60 3.3.3.3 vrf v2 sou lo1 r5 tping 100 60 3333::3 vrf v2 sou lo1 r6 tping 100 60 3.3.3.1 vrf v2 sou lo1 r6 tping 100 60 3333::1 vrf v2 sou lo1 r6 tping 100 60 3.3.3.2 vrf v2 sou lo1 r6 tping 100 60 3333::2 vrf v2 sou lo1 r6 tping 100 60 3.3.3.3 vrf v2 sou lo1 r6 tping 100 60 3333::3 vrf v2 sou lo1 r1 tping 100 60 3.3.3.4 vrf v2 sou lo1 r1 tping 100 60 3333::4 vrf v2 sou lo1 r1 tping 100 60 3.3.3.5 vrf v2 sou lo1 r1 tping 100 60 3333::5 vrf v2 sou lo1 r1 tping 100 60 3.3.3.6 vrf v2 sou lo1 r1 tping 100 60 3333::6 vrf v2 sou lo1 r2 tping 100 60 3.3.3.4 vrf v2 sou lo1 r2 tping 100 60 3333::4 vrf v2 sou lo1 r2 tping 100 60 3.3.3.5 vrf v2 sou lo1 r2 tping 100 60 3333::5 vrf v2 sou lo1 r2 tping 100 60 3.3.3.6 vrf v2 sou lo1 r2 tping 100 60 3333::6 vrf v2 sou lo1 r3 tping 100 60 3.3.3.4 vrf v2 sou lo1 r3 tping 100 60 3333::4 vrf v2 sou lo1 r3 tping 100 60 3.3.3.5 vrf v2 sou lo1 r3 tping 100 60 3333::5 vrf v2 sou lo1 r3 tping 100 60 3.3.3.6 vrf v2 sou lo1 r3 tping 100 60 3333::6 vrf v2 sou lo1 r1 tping 100 60 4.4.4.6 vrf v1 r6 tping 100 60 4.4.4.1 vrf v1 r1 tping 100 60 5.5.5.6 vrf v1 r6 tping 100 60 5.5.5.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp336.tst000066400000000000000000000347701510423065500166040ustar00rootroot00000000000000description bgp interas csc vpn with rr peering addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.2 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.2 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.2 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit int pweth1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.0 pseudo v2 lo1 pweompls 3.3.3.6 1234 exit int pweth2 vrf for v1 ipv4 addr 5.5.5.1 255.255.255.0 pseudo v2 lo1 pweompls 3333::6 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.6 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.6 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.6 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflect neigh 2.2.2.1 next-hop-unch neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 route-reflect neigh 2.2.2.3 next-hop-unch neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 send-comm both neigh 2.2.2.5 next-hop-unch afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 route-reflect neigh 4321::1 next-hop-unch neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 route-reflect neigh 4321::3 next-hop-unch neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 send-comm both neigh 4321::5 next-hop-unch afi-vrf v2 ena afi-vrf v2 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp4 2 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.3 neigh 1.1.1.10 remote-as 2 red conn red stat exit router bgp6 2 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.3 neigh 1234:3::2 remote-as 2 red conn red stat exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.4 255.255.255.255 ipv6 addr 3333::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.14 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.14 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.4 neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.4 neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.3 neigh 1.1.1.9 remote-as 1 red conn red stat exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.3 neigh 1234:3::1 remote-as 1 red conn red stat exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ int eth2 eth 0000.0000.5555 $5a$ $5b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.5 255.255.255.255 ipv6 addr 3333::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.17 255.255.255.252 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.13 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.13 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.13 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.13 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.18 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.5 neigh 2.2.2.4 remote-as 2 neigh 2.2.2.4 update lo0 neigh 2.2.2.4 send-comm both neigh 2.2.2.4 route-reflect neigh 2.2.2.4 next-hop-unch neigh 2.2.2.6 remote-as 2 neigh 2.2.2.6 update lo0 neigh 2.2.2.6 send-comm both neigh 2.2.2.6 route-reflect neigh 2.2.2.6 next-hop-unch neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 next-hop-unch afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.5 neigh 4321::4 remote-as 2 neigh 4321::4 update lo0 neigh 4321::4 send-comm both neigh 4321::4 route-reflect neigh 4321::4 next-hop-unch neigh 4321::6 remote-as 2 neigh 4321::6 update lo0 neigh 4321::6 send-comm both neigh 4321::6 route-reflect neigh 4321::6 next-hop-unch neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 next-hop-unch afi-vrf v2 ena afi-vrf v2 red conn exit ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.6 255.255.255.255 ipv6 addr 3333::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.18 255.255.255.252 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.17 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.17 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.17 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.17 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.17 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.6 neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.6 neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit int pweth1 vrf for v1 ipv4 addr 4.4.4.6 255.255.255.0 pseudo v2 lo1 pweompls 3.3.3.1 1234 exit int pweth2 vrf for v1 ipv4 addr 5.5.5.6 255.255.255.0 pseudo v2 lo1 pweompls 3333::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.5 vrf v1 sou lo0 r4 tping 100 60 4321::5 vrf v1 sou lo0 r4 tping 100 60 2.2.2.6 vrf v1 sou lo0 r4 tping 100 60 4321::6 vrf v1 sou lo0 r5 tping 100 60 2.2.2.4 vrf v1 sou lo0 r5 tping 100 60 4321::4 vrf v1 sou lo0 r5 tping 100 60 2.2.2.6 vrf v1 sou lo0 r5 tping 100 60 4321::6 vrf v1 sou lo0 r6 tping 100 60 2.2.2.4 vrf v1 sou lo0 r6 tping 100 60 4321::4 vrf v1 sou lo0 r6 tping 100 60 2.2.2.5 vrf v1 sou lo0 r6 tping 100 60 4321::5 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v2 sou lo1 r1 tping 100 60 3333::2 vrf v2 sou lo1 r1 tping 100 60 3.3.3.3 vrf v2 sou lo1 r1 tping 100 60 3333::3 vrf v2 sou lo1 r2 tping 100 60 3.3.3.1 vrf v2 sou lo1 r2 tping 100 60 3333::1 vrf v2 sou lo1 r2 tping 100 60 3.3.3.3 vrf v2 sou lo1 r2 tping 100 60 3333::3 vrf v2 sou lo1 r3 tping 100 60 3.3.3.1 vrf v2 sou lo1 r3 tping 100 60 3333::1 vrf v2 sou lo1 r3 tping 100 60 3.3.3.2 vrf v2 sou lo1 r3 tping 100 60 3333::2 vrf v2 sou lo1 r4 tping 100 60 3.3.3.5 vrf v2 sou lo1 r4 tping 100 60 3333::5 vrf v2 sou lo1 r4 tping 100 60 3.3.3.6 vrf v2 sou lo1 r4 tping 100 60 3333::6 vrf v2 sou lo1 r5 tping 100 60 3.3.3.4 vrf v2 sou lo1 r5 tping 100 60 3333::4 vrf v2 sou lo1 r5 tping 100 60 3.3.3.6 vrf v2 sou lo1 r5 tping 100 60 3333::6 vrf v2 sou lo1 r6 tping 100 60 3.3.3.4 vrf v2 sou lo1 r6 tping 100 60 3333::4 vrf v2 sou lo1 r6 tping 100 60 3.3.3.5 vrf v2 sou lo1 r6 tping 100 60 3333::5 vrf v2 sou lo1 r4 tping 100 60 3.3.3.1 vrf v2 sou lo1 r4 tping 100 60 3333::1 vrf v2 sou lo1 r4 tping 100 60 3.3.3.2 vrf v2 sou lo1 r4 tping 100 60 3333::2 vrf v2 sou lo1 r4 tping 100 60 3.3.3.3 vrf v2 sou lo1 r4 tping 100 60 3333::3 vrf v2 sou lo1 r5 tping 100 60 3.3.3.1 vrf v2 sou lo1 r5 tping 100 60 3333::1 vrf v2 sou lo1 r5 tping 100 60 3.3.3.2 vrf v2 sou lo1 r5 tping 100 60 3333::2 vrf v2 sou lo1 r5 tping 100 60 3.3.3.3 vrf v2 sou lo1 r5 tping 100 60 3333::3 vrf v2 sou lo1 r6 tping 100 60 3.3.3.1 vrf v2 sou lo1 r6 tping 100 60 3333::1 vrf v2 sou lo1 r6 tping 100 60 3.3.3.2 vrf v2 sou lo1 r6 tping 100 60 3333::2 vrf v2 sou lo1 r6 tping 100 60 3.3.3.3 vrf v2 sou lo1 r6 tping 100 60 3333::3 vrf v2 sou lo1 r1 tping 100 60 3.3.3.4 vrf v2 sou lo1 r1 tping 100 60 3333::4 vrf v2 sou lo1 r1 tping 100 60 3.3.3.5 vrf v2 sou lo1 r1 tping 100 60 3333::5 vrf v2 sou lo1 r1 tping 100 60 3.3.3.6 vrf v2 sou lo1 r1 tping 100 60 3333::6 vrf v2 sou lo1 r2 tping 100 60 3.3.3.4 vrf v2 sou lo1 r2 tping 100 60 3333::4 vrf v2 sou lo1 r2 tping 100 60 3.3.3.5 vrf v2 sou lo1 r2 tping 100 60 3333::5 vrf v2 sou lo1 r2 tping 100 60 3.3.3.6 vrf v2 sou lo1 r2 tping 100 60 3333::6 vrf v2 sou lo1 r3 tping 100 60 3.3.3.4 vrf v2 sou lo1 r3 tping 100 60 3333::4 vrf v2 sou lo1 r3 tping 100 60 3.3.3.5 vrf v2 sou lo1 r3 tping 100 60 3333::5 vrf v2 sou lo1 r3 tping 100 60 3.3.3.6 vrf v2 sou lo1 r3 tping 100 60 3333::6 vrf v2 sou lo1 r1 tping 100 60 4.4.4.6 vrf v1 r6 tping 100 60 4.4.4.1 vrf v1 r1 tping 100 60 5.5.5.6 vrf v1 r6 tping 100 60 5.5.5.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp337.tst000066400000000000000000000114751510423065500166020ustar00rootroot00000000000000description bgp dual core vpn addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:0 label-mode per-prefix exit vrf def v3 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v2 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v2 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v2 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v3 red bgp4 2 exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v3 red bgp6 2 exit router bgp4 2 vrf v2 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.3 remote-as 2 neigh 2.2.2.3 update lo1 neigh 2.2.2.3 send-comm both afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v3 red bgp4 1 exit router bgp6 2 vrf v2 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.2 neigh 4321::3 remote-as 2 neigh 4321::3 update lo1 neigh 4321::3 send-comm both afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v3 red bgp6 1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:2 rt-both 1:2 exit int lo1 vrf for v2 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v2 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v2 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v2 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.3 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo1 neigh 2.2.2.2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v2 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.3 neigh 4321::2 remote-as 2 neigh 4321::2 update lo1 neigh 4321::2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v2 sou lo1 r2 tping 100 60 4321::3 vrf v2 sou lo1 r3 tping 100 60 2.2.2.2 vrf v2 sou lo1 r3 tping 100 60 4321::2 vrf v2 sou lo1 r1 tping 100 60 3.3.3.2 vrf v3 sou lo2 r1 tping 100 60 3333::2 vrf v3 sou lo2 r1 tping 100 60 3.3.3.3 vrf v3 sou lo2 r1 tping 100 60 3333::3 vrf v3 sou lo2 r2 tping 100 60 3.3.3.1 vrf v3 sou lo2 r2 tping 100 60 3333::1 vrf v3 sou lo2 r2 tping 100 60 3.3.3.3 vrf v3 sou lo2 r2 tping 100 60 3333::3 vrf v3 sou lo2 r3 tping 100 60 3.3.3.1 vrf v3 sou lo2 r3 tping 100 60 3333::1 vrf v3 sou lo2 r3 tping 100 60 3.3.3.2 vrf v3 sou lo2 r3 tping 100 60 3333::2 vrf v3 sou lo2 freeRtr-25.11.9/cfg/rout-bgp338.tst000066400000000000000000000126171510423065500166020ustar00rootroot00000000000000description bgp dual core csc vpn addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:2 rt-both 1:2 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit int pweth1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.0 pseudo v3 lo2 pweompls 3.3.3.3 1234 exit int pweth2 vrf for v1 ipv4 addr 5.5.5.1 255.255.255.0 pseudo v3 lo2 pweompls 3333::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:0 label-mode per-prefix exit vrf def v3 rd 1:2 rt-both 1:2 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v2 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v2 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v2 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v3 red bgp4 2 exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v3 red bgp6 2 exit router bgp4 2 vrf v2 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.3 remote-as 2 neigh 2.2.2.3 update lo1 neigh 2.2.2.3 send-comm both afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v3 red bgp4 1 exit router bgp6 2 vrf v2 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.2 neigh 4321::3 remote-as 2 neigh 4321::3 update lo1 neigh 4321::3 send-comm both afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v3 red bgp6 1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v2 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:2 rt-both 1:2 label-mode per-prefix exit int lo1 vrf for v2 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v2 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v2 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v2 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.3 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo1 neigh 2.2.2.2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v2 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.3 neigh 4321::2 remote-as 2 neigh 4321::2 update lo1 neigh 4321::2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit int pweth1 vrf for v2 ipv4 addr 4.4.4.3 255.255.255.0 pseudo v3 lo2 pweompls 3.3.3.1 1234 exit int pweth2 vrf for v2 ipv4 addr 5.5.5.3 255.255.255.0 pseudo v3 lo2 pweompls 3333::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v2 sou lo1 r2 tping 100 60 4321::3 vrf v2 sou lo1 r3 tping 100 60 2.2.2.2 vrf v2 sou lo1 r3 tping 100 60 4321::2 vrf v2 sou lo1 r1 tping 100 60 3.3.3.2 vrf v3 sou lo2 r1 tping 100 60 3333::2 vrf v3 sou lo2 r1 tping 100 60 3.3.3.3 vrf v3 sou lo2 r1 tping 100 60 3333::3 vrf v3 sou lo2 r2 tping 100 60 3.3.3.1 vrf v3 sou lo2 r2 tping 100 60 3333::1 vrf v3 sou lo2 r2 tping 100 60 3.3.3.3 vrf v3 sou lo2 r2 tping 100 60 3333::3 vrf v3 sou lo2 r3 tping 100 60 3.3.3.1 vrf v3 sou lo2 r3 tping 100 60 3333::1 vrf v3 sou lo2 r3 tping 100 60 3.3.3.2 vrf v3 sou lo2 r3 tping 100 60 3333::2 vrf v3 sou lo2 r1 tping 100 60 4.4.4.3 vrf v1 r3 tping 100 60 4.4.4.1 vrf v2 r1 tping 100 60 5.5.5.3 vrf v1 r3 tping 100 60 5.5.5.1 vrf v2 freeRtr-25.11.9/cfg/rout-bgp339.tst000066400000000000000000000114631510423065500166010ustar00rootroot00000000000000description bgp hub and spoke vpn multiple rt import addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-export 1:1 rt-import 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-export 1:2 rt-import 1:1 1:3 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflector neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 route-reflector afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 route-reflector neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 route-reflector afi-vrf v3 ena afi-vrf v3 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-export 1:3 rt-import 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v3 sou lo2 r1 tping 100 60 3333::2 vrf v3 sou lo2 r1 tping 0 60 3.3.3.3 vrf v3 sou lo2 r1 tping 0 60 3333::3 vrf v3 sou lo2 r2 tping 100 60 3.3.3.1 vrf v3 sou lo2 r2 tping 100 60 3333::1 vrf v3 sou lo2 r2 tping 100 60 3.3.3.3 vrf v3 sou lo2 r2 tping 100 60 3333::3 vrf v3 sou lo2 r3 tping 0 60 3.3.3.1 vrf v3 sou lo2 r3 tping 0 60 3333::1 vrf v3 sou lo2 r3 tping 100 60 3.3.3.2 vrf v3 sou lo2 r3 tping 100 60 3333::2 vrf v3 sou lo2 freeRtr-25.11.9/cfg/rout-bgp340.tst000066400000000000000000000114631510423065500165710ustar00rootroot00000000000000description bgp hub and spoke vpn multiple rt export addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-export 1:2 rt-import 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-export 1:1 1:3 rt-import 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflector neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 route-reflector afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 route-reflector neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 route-reflector afi-vrf v3 ena afi-vrf v3 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-export 1:2 rt-import 1:3 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v3 sou lo2 r1 tping 100 60 3333::2 vrf v3 sou lo2 r1 tping 0 60 3.3.3.3 vrf v3 sou lo2 r1 tping 0 60 3333::3 vrf v3 sou lo2 r2 tping 100 60 3.3.3.1 vrf v3 sou lo2 r2 tping 100 60 3333::1 vrf v3 sou lo2 r2 tping 100 60 3.3.3.3 vrf v3 sou lo2 r2 tping 100 60 3333::3 vrf v3 sou lo2 r3 tping 0 60 3.3.3.1 vrf v3 sou lo2 r3 tping 0 60 3333::1 vrf v3 sou lo2 r3 tping 100 60 3.3.3.2 vrf v3 sou lo2 r3 tping 100 60 3333::2 vrf v3 sou lo2 freeRtr-25.11.9/cfg/rout-bgp341.tst000066400000000000000000000122121510423065500165630ustar00rootroot00000000000000description bgp vpn with export list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-both 1:3 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit prefix-list p4 permit 3.3.3.0/24 ge 32 le 32 exit prefix-list p6 permit 3333::/64 ge 128 le 128 exit vrf def v3 rd 1:3 rt-both 1:3 export4list p4 export6list p6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflector neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 route-reflector afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 route-reflector neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 route-reflector afi-vrf v3 ena afi-vrf v3 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-both 1:3 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v3 sou lo2 r1 tping 100 60 3333::2 vrf v3 sou lo2 r1 tping 100 60 3.3.3.3 vrf v3 sou lo2 r1 tping 100 60 3333::3 vrf v3 sou lo2 r2 tping 100 60 3.3.3.1 vrf v3 sou lo2 r2 tping 100 60 3333::1 vrf v3 sou lo2 r2 tping 100 60 3.3.3.3 vrf v3 sou lo2 r2 tping 100 60 3333::3 vrf v3 sou lo2 r3 tping 100 60 3.3.3.1 vrf v3 sou lo2 r3 tping 100 60 3333::1 vrf v3 sou lo2 r3 tping 100 60 3.3.3.2 vrf v3 sou lo2 r3 tping 100 60 3333::2 vrf v3 sou lo2 r2 tping 0 60 3.3.3.1 vrf v3 sou lo3 r2 tping 0 60 3333::1 vrf v3 sou lo3 r2 tping 0 60 3.3.3.3 vrf v3 sou lo3 r2 tping 0 60 3333::3 vrf v3 sou lo3 freeRtr-25.11.9/cfg/rout-bgp342.tst000066400000000000000000000122161510423065500165700ustar00rootroot00000000000000description bgp vpn with import list addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit prefix-list p4 permit 3.3.3.0/24 ge 32 le 32 exit prefix-list p6 permit 3333::/64 ge 128 le 128 exit vrf def v3 rd 1:3 rt-both 1:3 import4list p4 import6list p6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-both 1:3 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflector neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 route-reflector afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 route-reflector neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 route-reflector afi-vrf v3 ena afi-vrf v3 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-both 1:3 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v3 sou lo2 r1 tping 100 60 3333::2 vrf v3 sou lo2 r1 tping 100 60 3.3.3.3 vrf v3 sou lo2 r1 tping 100 60 3333::3 vrf v3 sou lo2 r2 tping 100 60 3.3.3.1 vrf v3 sou lo2 r2 tping 100 60 3333::1 vrf v3 sou lo2 r2 tping 100 60 3.3.3.3 vrf v3 sou lo2 r2 tping 100 60 3333::3 vrf v3 sou lo2 r3 tping 100 60 3.3.3.1 vrf v3 sou lo2 r3 tping 100 60 3333::1 vrf v3 sou lo2 r3 tping 100 60 3.3.3.2 vrf v3 sou lo2 r3 tping 100 60 3333::2 vrf v3 sou lo2 r2 tping 0 60 3.3.3.1 vrf v3 sou lo3 r2 tping 0 60 3333::1 vrf v3 sou lo3 r2 tping 100 60 3.3.3.3 vrf v3 sou lo3 r2 tping 100 60 3333::3 vrf v3 sou lo3 freeRtr-25.11.9/cfg/rout-bgp343.tst000066400000000000000000000122251510423065500165710ustar00rootroot00000000000000description bgp vpn with export map addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-both 1:3 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit route-map rm4 match network 3.3.3.0/24 ge 32 le 32 exit route-map rm6 match network 3333::/64 ge 128 le 128 exit vrf def v3 rd 1:3 rt-both 1:3 export4map rm4 export6map rm6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflector neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 route-reflector afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 route-reflector neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 route-reflector afi-vrf v3 ena afi-vrf v3 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-both 1:3 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v3 sou lo2 r1 tping 100 60 3333::2 vrf v3 sou lo2 r1 tping 100 60 3.3.3.3 vrf v3 sou lo2 r1 tping 100 60 3333::3 vrf v3 sou lo2 r2 tping 100 60 3.3.3.1 vrf v3 sou lo2 r2 tping 100 60 3333::1 vrf v3 sou lo2 r2 tping 100 60 3.3.3.3 vrf v3 sou lo2 r2 tping 100 60 3333::3 vrf v3 sou lo2 r3 tping 100 60 3.3.3.1 vrf v3 sou lo2 r3 tping 100 60 3333::1 vrf v3 sou lo2 r3 tping 100 60 3.3.3.2 vrf v3 sou lo2 r3 tping 100 60 3333::2 vrf v3 sou lo2 r2 tping 0 60 3.3.3.1 vrf v3 sou lo3 r2 tping 0 60 3333::1 vrf v3 sou lo3 r2 tping 0 60 3.3.3.3 vrf v3 sou lo3 r2 tping 0 60 3333::3 vrf v3 sou lo3 freeRtr-25.11.9/cfg/rout-bgp344.tst000066400000000000000000000122311510423065500165670ustar00rootroot00000000000000description bgp vpn with import map addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit route-map rm4 match network 3.3.3.0/24 ge 32 le 32 exit route-map rm6 match network 3333::/64 ge 128 le 128 exit vrf def v3 rd 1:3 rt-both 1:3 import4map rm4 import6map rm6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-both 1:3 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflector neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 route-reflector afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 route-reflector neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 route-reflector afi-vrf v3 ena afi-vrf v3 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-both 1:3 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v3 sou lo2 r1 tping 100 60 3333::2 vrf v3 sou lo2 r1 tping 100 60 3.3.3.3 vrf v3 sou lo2 r1 tping 100 60 3333::3 vrf v3 sou lo2 r2 tping 100 60 3.3.3.1 vrf v3 sou lo2 r2 tping 100 60 3333::1 vrf v3 sou lo2 r2 tping 100 60 3.3.3.3 vrf v3 sou lo2 r2 tping 100 60 3333::3 vrf v3 sou lo2 r3 tping 100 60 3.3.3.1 vrf v3 sou lo2 r3 tping 100 60 3333::1 vrf v3 sou lo2 r3 tping 100 60 3.3.3.2 vrf v3 sou lo2 r3 tping 100 60 3333::2 vrf v3 sou lo2 r2 tping 0 60 3.3.3.1 vrf v3 sou lo3 r2 tping 0 60 3333::1 vrf v3 sou lo3 r2 tping 100 60 3.3.3.3 vrf v3 sou lo3 r2 tping 100 60 3333::3 vrf v3 sou lo3 freeRtr-25.11.9/cfg/rout-bgp345.tst000066400000000000000000000122721510423065500165750ustar00rootroot00000000000000description bgp vpn with export policy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-both 1:3 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit route-policy rp4 if network 3.3.3.0/24 ge 32 le 32 pass enif exit route-policy rp6 if network 3333::/64 ge 128 le 128 pass enif exit vrf def v3 rd 1:3 rt-both 1:3 export4policy rp4 export6policy rp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflector neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 route-reflector afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 route-reflector neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 route-reflector afi-vrf v3 ena afi-vrf v3 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-both 1:3 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v3 sou lo2 r1 tping 100 60 3333::2 vrf v3 sou lo2 r1 tping 100 60 3.3.3.3 vrf v3 sou lo2 r1 tping 100 60 3333::3 vrf v3 sou lo2 r2 tping 100 60 3.3.3.1 vrf v3 sou lo2 r2 tping 100 60 3333::1 vrf v3 sou lo2 r2 tping 100 60 3.3.3.3 vrf v3 sou lo2 r2 tping 100 60 3333::3 vrf v3 sou lo2 r3 tping 100 60 3.3.3.1 vrf v3 sou lo2 r3 tping 100 60 3333::1 vrf v3 sou lo2 r3 tping 100 60 3.3.3.2 vrf v3 sou lo2 r3 tping 100 60 3333::2 vrf v3 sou lo2 r2 tping 0 60 3.3.3.1 vrf v3 sou lo3 r2 tping 0 60 3333::1 vrf v3 sou lo3 r2 tping 0 60 3.3.3.3 vrf v3 sou lo3 r2 tping 0 60 3333::3 vrf v3 sou lo3 freeRtr-25.11.9/cfg/rout-bgp346.tst000066400000000000000000000122761510423065500166020ustar00rootroot00000000000000description bgp vpn with import policy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit route-policy rp4 if network 3.3.3.0/24 ge 32 le 32 pass enif exit route-policy rp6 if network 3333::/64 ge 128 le 128 pass enif exit vrf def v3 rd 1:3 rt-both 1:3 import4policy rp4 import6policy rp6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-both 1:3 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflector neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 route-reflector afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 route-reflector neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 route-reflector afi-vrf v3 ena afi-vrf v3 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-both 1:3 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v3 sou lo2 r1 tping 100 60 3333::2 vrf v3 sou lo2 r1 tping 100 60 3.3.3.3 vrf v3 sou lo2 r1 tping 100 60 3333::3 vrf v3 sou lo2 r2 tping 100 60 3.3.3.1 vrf v3 sou lo2 r2 tping 100 60 3333::1 vrf v3 sou lo2 r2 tping 100 60 3.3.3.3 vrf v3 sou lo2 r2 tping 100 60 3333::3 vrf v3 sou lo2 r3 tping 100 60 3.3.3.1 vrf v3 sou lo2 r3 tping 100 60 3333::1 vrf v3 sou lo2 r3 tping 100 60 3.3.3.2 vrf v3 sou lo2 r3 tping 100 60 3333::2 vrf v3 sou lo2 r2 tping 0 60 3.3.3.1 vrf v3 sou lo3 r2 tping 0 60 3333::1 vrf v3 sou lo3 r2 tping 100 60 3.3.3.3 vrf v3 sou lo3 r2 tping 100 60 3333::3 vrf v3 sou lo3 freeRtr-25.11.9/cfg/rout-bgp347.tst000066400000000000000000000066141510423065500166020ustar00rootroot00000000000000description vpns over srv6 over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 address vpnuni ovpnuni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 segrou afi-vrf v3 ena afi-vrf v3 srv6 tun1 afi-vrf v3 red conn afi-ovrf v3 ena afi-ovrf v3 srv6 tun1 afi-ovrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni ovpnuni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 send-comm both neigh 1234::2 segrou afi-vrf v2 ena afi-vrf v2 srv6 tun1 afi-vrf v2 red conn afi-vrf v4 ena afi-vrf v4 srv6 tun1 afi-vrf v4 red conn afi-ovrf v2 ena afi-ovrf v2 srv6 tun1 afi-ovrf v2 red conn afi-ovrf v4 ena afi-ovrf v4 srv6 tun1 afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 address vpnuni ovpnuni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 segrou afi-vrf v3 ena afi-vrf v3 srv6 tun1 afi-vrf v3 red conn afi-ovrf v3 ena afi-ovrf v3 srv6 tun1 afi-ovrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni ovpnuni local-as 1 router-id 6.6.6.3 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 segrou afi-vrf v2 ena afi-vrf v2 srv6 tun1 afi-vrf v2 red conn afi-vrf v4 ena afi-vrf v4 srv6 tun1 afi-vrf v4 red conn afi-ovrf v2 ena afi-ovrf v2 srv6 tun1 afi-ovrf v2 red conn afi-ovrf v4 ena afi-ovrf v4 srv6 tun1 afi-ovrf v4 red conn exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 9.9.2.3 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp348.tst000066400000000000000000000050261510423065500165770ustar00rootroot00000000000000description evpn/pbb over srv6 over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 pmsi neigh 1.1.1.2 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 send-comm both neigh 1234::2 pmsi neigh 1234::2 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 pmsi neigh 1.1.1.1 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 pmsi neigh 1234::1 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp349.tst000066400000000000000000000051731510423065500166030ustar00rootroot00000000000000description evpn/cmac over srv6 over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 pmsi neigh 1.1.1.2 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 send-comm both neigh 1234::2 pmsi neigh 1234::2 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap cmac exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 pmsi neigh 1.1.1.1 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 pmsi neigh 1234::1 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap cmac exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp350.tst000066400000000000000000000025311510423065500165660ustar00rootroot00000000000000description unicast+olab over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 address uni olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address uni olab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 address uni olab local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address uni olab local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp351.tst000066400000000000000000000041061510423065500165670ustar00rootroot00000000000000description unicast+olab over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 address uni olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address uni olab local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 1 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 address uni olab local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address uni olab local-as 1 router-id 6.6.6.2 neigh 1234:1::3 remote-as 1 afi-other ena afi-other red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 address uni olab local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-reflect neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address uni olab local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-reflect neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp352.tst000066400000000000000000000027631510423065500165770ustar00rootroot00000000000000description unicast+olab over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 confed afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni olab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 confed afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni olab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni olab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 confed afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp353.tst000066400000000000000000000042371510423065500165760ustar00rootroot00000000000000description unicast+olab over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni olab local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 3 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni olab local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni olab local-as 2 router-id 6.6.6.2 neigh 1234:1::3 remote-as 3 afi-other ena afi-other red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni olab local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-server neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-server afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni olab local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-server neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-server afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp354.tst000066400000000000000000000034211510423065500165710ustar00rootroot00000000000000description olab over srv6 over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp355.tst000066400000000000000000000067041510423065500166010ustar00rootroot00000000000000description vpns over srv6 over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 segrou afi-vrf v3 ena afi-vrf v3 srv6 tun1 afi-vrf v3 red conn afi-ovrf v3 ena afi-ovrf v3 srv6 tun1 afi-ovrf v3 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 send-comm both neigh 1234::2 segrou afi-vrf v2 ena afi-vrf v2 srv6 tun1 afi-vrf v2 red conn afi-vrf v4 ena afi-vrf v4 srv6 tun1 afi-vrf v4 red conn afi-ovrf v2 ena afi-ovrf v2 srv6 tun1 afi-ovrf v2 red conn afi-ovrf v4 ena afi-ovrf v4 srv6 tun1 afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 segrou afi-vrf v3 ena afi-vrf v3 srv6 tun1 afi-vrf v3 red conn afi-ovrf v3 ena afi-ovrf v3 srv6 tun1 afi-ovrf v3 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 6.6.6.3 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 segrou afi-vrf v2 ena afi-vrf v2 srv6 tun1 afi-vrf v2 red conn afi-vrf v4 ena afi-vrf v4 srv6 tun1 afi-vrf v4 red conn afi-ovrf v2 ena afi-ovrf v2 srv6 tun1 afi-ovrf v2 red conn afi-ovrf v4 ena afi-ovrf v4 srv6 tun1 afi-ovrf v4 red conn exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 9.9.2.3 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp356.tst000066400000000000000000000051161510423065500165760ustar00rootroot00000000000000description evpn/pbb over srv6 over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 pmsi neigh 1.1.1.2 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 send-comm both neigh 1234::2 pmsi neigh 1234::2 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 pmsi neigh 1.1.1.1 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 pmsi neigh 1234::1 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp357.tst000066400000000000000000000052631510423065500166020ustar00rootroot00000000000000description evpn/cmac over srv6 over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 pmsi neigh 1.1.1.2 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 send-comm both neigh 1234::2 pmsi neigh 1234::2 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap cmac exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 pmsi neigh 1.1.1.1 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 pmsi neigh 1234::1 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap cmac exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp358.tst000066400000000000000000000035111510423065500165750ustar00rootroot00000000000000description olab over srv6 over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp359.tst000066400000000000000000000104111510423065500165730ustar00rootroot00000000000000description vpns over srv6 over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 address vpnuni ovpnuni local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 segrou afi-vrf v3 ena afi-vrf v3 srv6 tun1 afi-vrf v3 red conn afi-ovrf v3 ena afi-ovrf v3 srv6 tun1 afi-ovrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni ovpnuni local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 1 neigh 1234::3 send-comm both neigh 1234::3 segrou afi-vrf v2 ena afi-vrf v2 srv6 tun1 afi-vrf v2 red conn afi-vrf v4 ena afi-vrf v4 srv6 tun1 afi-vrf v4 red conn afi-ovrf v2 ena afi-ovrf v2 srv6 tun1 afi-ovrf v2 red conn afi-ovrf v4 ena afi-ovrf v4 srv6 tun1 afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 address vpnuni ovpnuni local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 segrou afi-vrf v3 ena afi-vrf v3 srv6 tun1 afi-vrf v3 red conn afi-ovrf v3 ena afi-ovrf v3 srv6 tun1 afi-ovrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni ovpnuni local-as 1 router-id 6.6.6.3 neigh 1234::3 remote-as 1 neigh 1234::3 send-comm both neigh 1234::3 segrou afi-vrf v2 ena afi-vrf v2 srv6 tun1 afi-vrf v2 red conn afi-vrf v4 ena afi-vrf v4 srv6 tun1 afi-vrf v4 red conn afi-ovrf v2 ena afi-ovrf v2 srv6 tun1 afi-ovrf v2 red conn afi-ovrf v4 ena afi-ovrf v4 srv6 tun1 afi-ovrf v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 address vpnuni ovpnuni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 segrou neigh 1.1.1.1 route-reflect neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 segrou neigh 1.1.1.2 route-reflect exit router bgp6 1 vrf v1 address vpnuni ovpnuni local-as 1 router-id 4.4.4.3 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 segrou neigh 1234::1 route-reflect neigh 1234::2 remote-as 1 neigh 1234::2 send-comm both neigh 1234::2 segrou neigh 1234::2 route-reflect exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 9.9.2.3 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp360.tst000066400000000000000000000067171510423065500166010ustar00rootroot00000000000000description evpn/pbb over srv6 over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi neigh 1.1.1.3 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 1 neigh 1234::3 send-comm both neigh 1234::3 pmsi neigh 1234::3 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi neigh 1.1.1.3 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234::3 remote-as 1 neigh 1234::3 send-comm both neigh 1234::3 pmsi neigh 1234::3 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 pmsi neigh 1.1.1.1 segrou neigh 1.1.1.1 route-reflect neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 pmsi neigh 1.1.1.2 segrou neigh 1.1.1.2 route-reflect exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 pmsi neigh 1234::1 segrou neigh 1234::1 route-reflect neigh 1234::2 remote-as 1 neigh 1234::2 send-comm both neigh 1234::2 pmsi neigh 1234::2 segrou neigh 1234::2 route-reflect exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp361.tst000066400000000000000000000070651510423065500165770ustar00rootroot00000000000000description evpn/cmac over srv6 over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi neigh 1.1.1.3 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 1 neigh 1234::3 send-comm both neigh 1234::3 pmsi neigh 1234::3 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap cmac exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi neigh 1.1.1.3 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234::3 remote-as 1 neigh 1234::3 send-comm both neigh 1234::3 pmsi neigh 1234::3 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap cmac exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 pmsi neigh 1.1.1.1 segrou neigh 1.1.1.1 route-reflect neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 pmsi neigh 1.1.1.2 segrou neigh 1.1.1.2 route-reflect exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 pmsi neigh 1234::1 segrou neigh 1234::1 route-reflect neigh 1234::2 remote-as 1 neigh 1234::2 send-comm both neigh 1234::2 pmsi neigh 1234::2 segrou neigh 1234::2 route-reflect exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp362.tst000066400000000000000000000050021510423065500165650ustar00rootroot00000000000000description olab over srv6 over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 1 neigh 1234::3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.2 neigh 1234::3 remote-as 1 neigh 1234::3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 segrou neigh 1.1.1.1 route-reflect neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 segrou neigh 1.1.1.2 route-reflect exit router bgp6 1 vrf v1 address olab local-as 1 router-id 4.4.4.3 neigh 1234::1 remote-as 1 neigh 1234::1 segrou neigh 1234::1 route-reflect neigh 1234::2 remote-as 1 neigh 1234::2 segrou neigh 1234::2 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp363.tst000066400000000000000000000105041510423065500165710ustar00rootroot00000000000000description vpns over srv6 over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 segrou afi-vrf v3 ena afi-vrf v3 srv6 tun1 afi-vrf v3 red conn afi-ovrf v3 ena afi-ovrf v3 srv6 tun1 afi-ovrf v3 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 3 neigh 1234::3 send-comm both neigh 1234::3 segrou afi-vrf v2 ena afi-vrf v2 srv6 tun1 afi-vrf v2 red conn afi-vrf v4 ena afi-vrf v4 srv6 tun1 afi-vrf v4 red conn afi-ovrf v2 ena afi-ovrf v2 srv6 tun1 afi-ovrf v2 red conn afi-ovrf v4 ena afi-ovrf v4 srv6 tun1 afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 segrou afi-vrf v3 ena afi-vrf v3 srv6 tun1 afi-vrf v3 red conn afi-ovrf v3 ena afi-ovrf v3 srv6 tun1 afi-ovrf v3 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 6.6.6.3 neigh 1234::3 remote-as 3 neigh 1234::3 send-comm both neigh 1234::3 segrou afi-vrf v2 ena afi-vrf v2 srv6 tun1 afi-vrf v2 red conn afi-vrf v4 ena afi-vrf v4 srv6 tun1 afi-vrf v4 red conn afi-ovrf v2 ena afi-ovrf v2 srv6 tun1 afi-ovrf v2 red conn afi-ovrf v4 ena afi-ovrf v4 srv6 tun1 afi-ovrf v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 segrou neigh 1.1.1.1 confed neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 segrou neigh 1.1.1.2 confed exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 3 router-id 4.4.4.3 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 segrou neigh 1234::1 confed neigh 1234::2 remote-as 2 neigh 1234::2 send-comm both neigh 1234::2 segrou neigh 1234::2 confed exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 9.9.2.3 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp364.tst000066400000000000000000000070121510423065500165720ustar00rootroot00000000000000description evpn/pbb over srv6 over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi neigh 1.1.1.3 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 3 neigh 1234::3 send-comm both neigh 1234::3 pmsi neigh 1234::3 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi neigh 1.1.1.3 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 1234::3 remote-as 3 neigh 1234::3 send-comm both neigh 1234::3 pmsi neigh 1234::3 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 pmsi neigh 1.1.1.1 segrou neigh 1.1.1.1 confed neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 pmsi neigh 1.1.1.2 segrou neigh 1.1.1.2 confed exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 4.4.4.3 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 pmsi neigh 1234::1 segrou neigh 1234::1 confed neigh 1234::2 remote-as 2 neigh 1234::2 send-comm both neigh 1234::2 pmsi neigh 1234::2 segrou neigh 1234::2 confed exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp365.tst000066400000000000000000000071601510423065500165770ustar00rootroot00000000000000description evpn/cmac over srv6 over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi neigh 1.1.1.3 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 3 neigh 1234::3 send-comm both neigh 1234::3 pmsi neigh 1234::3 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap cmac exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi neigh 1.1.1.3 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 1234::3 remote-as 3 neigh 1234::3 send-comm both neigh 1234::3 pmsi neigh 1234::3 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap cmac exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 pmsi neigh 1.1.1.1 segrou neigh 1.1.1.1 confed neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 pmsi neigh 1.1.1.2 segrou neigh 1.1.1.2 confed exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 4.4.4.3 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 pmsi neigh 1234::1 segrou neigh 1234::1 confed neigh 1234::2 remote-as 2 neigh 1234::2 send-comm both neigh 1234::2 pmsi neigh 1234::2 segrou neigh 1234::2 confed exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp366.tst000066400000000000000000000050751510423065500166030ustar00rootroot00000000000000description olab over srv6 over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 3 neigh 1234::3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 6.6.6.2 neigh 1234::3 remote-as 3 neigh 1234::3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 segrou neigh 1.1.1.1 confed neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 segrou neigh 1.1.1.2 confed exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 3 router-id 4.4.4.3 neigh 1234::1 remote-as 1 neigh 1234::1 segrou neigh 1234::1 confed neigh 1234::2 remote-as 2 neigh 1234::2 segrou neigh 1234::2 confed exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp367.tst000066400000000000000000000105421510423065500165770ustar00rootroot00000000000000description vpns over srv6 over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 segrou afi-vrf v3 ena afi-vrf v3 srv6 tun1 afi-vrf v3 red conn afi-ovrf v3 ena afi-ovrf v3 srv6 tun1 afi-ovrf v3 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 3 neigh 1234::3 send-comm both neigh 1234::3 segrou afi-vrf v2 ena afi-vrf v2 srv6 tun1 afi-vrf v2 red conn afi-vrf v4 ena afi-vrf v4 srv6 tun1 afi-vrf v4 red conn afi-ovrf v2 ena afi-ovrf v2 srv6 tun1 afi-ovrf v2 red conn afi-ovrf v4 ena afi-ovrf v4 srv6 tun1 afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 segrou afi-vrf v3 ena afi-vrf v3 srv6 tun1 afi-vrf v3 red conn afi-ovrf v3 ena afi-ovrf v3 srv6 tun1 afi-ovrf v3 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 6.6.6.3 neigh 1234::3 remote-as 3 neigh 1234::3 send-comm both neigh 1234::3 segrou afi-vrf v2 ena afi-vrf v2 srv6 tun1 afi-vrf v2 red conn afi-vrf v4 ena afi-vrf v4 srv6 tun1 afi-vrf v4 red conn afi-ovrf v2 ena afi-ovrf v2 srv6 tun1 afi-ovrf v2 red conn afi-ovrf v4 ena afi-ovrf v4 srv6 tun1 afi-ovrf v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 segrou neigh 1.1.1.1 route-server neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 segrou neigh 1.1.1.2 route-server exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 3 router-id 4.4.4.3 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 segrou neigh 1234::1 route-server neigh 1234::2 remote-as 2 neigh 1234::2 send-comm both neigh 1234::2 segrou neigh 1234::2 route-server exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 9.9.2.3 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp368.tst000066400000000000000000000070501510423065500166000ustar00rootroot00000000000000description evpn/pbb over srv6 over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi neigh 1.1.1.3 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 3 neigh 1234::3 send-comm both neigh 1234::3 pmsi neigh 1234::3 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi neigh 1.1.1.3 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 1234::3 remote-as 3 neigh 1234::3 send-comm both neigh 1234::3 pmsi neigh 1234::3 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 pmsi neigh 1.1.1.1 segrou neigh 1.1.1.1 route-server neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 pmsi neigh 1.1.1.2 segrou neigh 1.1.1.2 route-server exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 4.4.4.3 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 pmsi neigh 1234::1 segrou neigh 1234::1 route-server neigh 1234::2 remote-as 2 neigh 1234::2 send-comm both neigh 1234::2 pmsi neigh 1234::2 segrou neigh 1234::2 route-server exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp369.tst000066400000000000000000000072161510423065500166050ustar00rootroot00000000000000description evpn/cmac over srv6 over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi neigh 1.1.1.3 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 3 neigh 1234::3 send-comm both neigh 1234::3 pmsi neigh 1234::3 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap cmac exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi neigh 1.1.1.3 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 1234::3 remote-as 3 neigh 1234::3 send-comm both neigh 1234::3 pmsi neigh 1234::3 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap cmac exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 pmsi neigh 1.1.1.1 segrou neigh 1.1.1.1 route-server neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 pmsi neigh 1.1.1.2 segrou neigh 1.1.1.2 route-server exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 4.4.4.3 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 pmsi neigh 1234::1 segrou neigh 1234::1 route-server neigh 1234::2 remote-as 2 neigh 1234::2 send-comm both neigh 1234::2 pmsi neigh 1234::2 segrou neigh 1234::2 route-server exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp370.tst000066400000000000000000000051331510423065500165710ustar00rootroot00000000000000description olab over srv6 over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 3 neigh 1234::3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 6.6.6.2 neigh 1234::3 remote-as 3 neigh 1234::3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 segrou neigh 1.1.1.1 route-server neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 segrou neigh 1.1.1.2 route-server exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 3 router-id 4.4.4.3 neigh 1234::1 remote-as 1 neigh 1234::1 segrou neigh 1234::1 route-server neigh 1234::2 remote-as 2 neigh 1234::2 segrou neigh 1234::2 route-server exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp371.tst000066400000000000000000000070221510423065500165710ustar00rootroot00000000000000description vpns over srv6 over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 address vpnuni ovpnuni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 segrou neigh 1.1.1.2 soft-reconfig afi-vrf v3 ena afi-vrf v3 srv6 tun1 afi-vrf v3 red conn afi-ovrf v3 ena afi-ovrf v3 srv6 tun1 afi-ovrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni ovpnuni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 send-comm both neigh 1234::2 segrou neigh 1234::2 soft-reconfig afi-vrf v2 ena afi-vrf v2 srv6 tun1 afi-vrf v2 red conn afi-vrf v4 ena afi-vrf v4 srv6 tun1 afi-vrf v4 red conn afi-ovrf v2 ena afi-ovrf v2 srv6 tun1 afi-ovrf v2 red conn afi-ovrf v4 ena afi-ovrf v4 srv6 tun1 afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 address vpnuni ovpnuni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 segrou neigh 1.1.1.1 soft-reconfig afi-vrf v3 ena afi-vrf v3 srv6 tun1 afi-vrf v3 red conn afi-ovrf v3 ena afi-ovrf v3 srv6 tun1 afi-ovrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni ovpnuni local-as 1 router-id 6.6.6.3 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 segrou neigh 1234::1 soft-reconfig afi-vrf v2 ena afi-vrf v2 srv6 tun1 afi-vrf v2 red conn afi-vrf v4 ena afi-vrf v4 srv6 tun1 afi-vrf v4 red conn afi-ovrf v2 ena afi-ovrf v2 srv6 tun1 afi-ovrf v2 red conn afi-ovrf v4 ena afi-ovrf v4 srv6 tun1 afi-ovrf v4 red conn exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 9.9.2.3 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp372.tst000066400000000000000000000052341510423065500165750ustar00rootroot00000000000000description evpn/pbb over srv6 over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 pmsi neigh 1.1.1.2 segrou neigh 1.1.1.2 soft-reconfig afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 send-comm both neigh 1234::2 pmsi neigh 1234::2 segrou neigh 1234::2 soft-reconfig afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 pmsi neigh 1.1.1.1 segrou neigh 1.1.1.1 soft-reconfig afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 pmsi neigh 1234::1 segrou neigh 1234::1 soft-reconfig afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp373.tst000066400000000000000000000054011510423065500165720ustar00rootroot00000000000000description evpn/cmac over srv6 over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 pmsi neigh 1.1.1.2 segrou neigh 1.1.1.2 soft-reconfig afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 send-comm both neigh 1234::2 pmsi neigh 1234::2 segrou neigh 1234::2 soft-reconfig afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap cmac exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 pmsi neigh 1.1.1.1 segrou neigh 1.1.1.1 soft-reconfig afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 pmsi neigh 1234::1 segrou neigh 1234::1 soft-reconfig afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap cmac exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp374.tst000066400000000000000000000036271510423065500166030ustar00rootroot00000000000000description olab over srv6 over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 segrou neigh 1.1.1.2 soft-reconfig afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 segrou neigh 1234::2 soft-reconfig afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 segrou neigh 1.1.1.1 soft-reconfig afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 segrou neigh 1234::1 soft-reconfig afi-other ena afi-other red conn afi-other srv6 tun1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp375.tst000066400000000000000000000074431510423065500166040ustar00rootroot00000000000000description vpns over srv6 over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 address vpnuni ovpnuni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 segrou neigh 1.1.1.2 additional-path-rx vpnuni ovpnuni neigh 1.1.1.2 additional-path-tx vpnuni ovpnuni afi-vrf v3 ena afi-vrf v3 srv6 tun1 afi-vrf v3 red conn afi-ovrf v3 ena afi-ovrf v3 srv6 tun1 afi-ovrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni ovpnuni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 send-comm both neigh 1234::2 segrou neigh 1234::2 additional-path-rx vpnuni ovpnuni neigh 1234::2 additional-path-tx vpnuni ovpnuni afi-vrf v2 ena afi-vrf v2 srv6 tun1 afi-vrf v2 red conn afi-vrf v4 ena afi-vrf v4 srv6 tun1 afi-vrf v4 red conn afi-ovrf v2 ena afi-ovrf v2 srv6 tun1 afi-ovrf v2 red conn afi-ovrf v4 ena afi-ovrf v4 srv6 tun1 afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 address vpnuni ovpnuni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 segrou neigh 1.1.1.1 additional-path-rx vpnuni ovpnuni neigh 1.1.1.1 additional-path-tx vpnuni ovpnuni afi-vrf v3 ena afi-vrf v3 srv6 tun1 afi-vrf v3 red conn afi-ovrf v3 ena afi-ovrf v3 srv6 tun1 afi-ovrf v3 red conn exit router bgp6 1 vrf v1 address vpnuni ovpnuni local-as 1 router-id 6.6.6.3 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 segrou neigh 1234::1 additional-path-rx vpnuni ovpnuni neigh 1234::1 additional-path-tx vpnuni ovpnuni afi-vrf v2 ena afi-vrf v2 srv6 tun1 afi-vrf v2 red conn afi-vrf v4 ena afi-vrf v4 srv6 tun1 afi-vrf v4 red conn afi-ovrf v2 ena afi-ovrf v2 srv6 tun1 afi-ovrf v2 red conn afi-ovrf v4 ena afi-ovrf v4 srv6 tun1 afi-ovrf v4 red conn exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 9.9.2.3 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp376.tst000066400000000000000000000055351510423065500166050ustar00rootroot00000000000000description evpn/pbb over srv6 over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 pmsi neigh 1.1.1.2 segrou neigh 1.1.1.2 additional-path-rx evpn neigh 1.1.1.2 additional-path-tx evpn afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 send-comm both neigh 1234::2 pmsi neigh 1234::2 segrou neigh 1234::2 additional-path-rx evpn neigh 1234::2 additional-path-tx evpn afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 pmsi neigh 1.1.1.1 segrou neigh 1.1.1.1 additional-path-rx evpn neigh 1.1.1.1 additional-path-tx evpn afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 pmsi neigh 1234::1 segrou neigh 1234::1 additional-path-rx evpn neigh 1234::1 additional-path-tx evpn afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp377.tst000066400000000000000000000057021510423065500166020ustar00rootroot00000000000000description evpn/cmac over srv6 over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 pmsi neigh 1.1.1.2 segrou neigh 1.1.1.2 additional-path-rx evpn neigh 1.1.1.2 additional-path-tx evpn afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 send-comm both neigh 1234::2 pmsi neigh 1234::2 segrou neigh 1234::2 additional-path-rx evpn neigh 1234::2 additional-path-tx evpn afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap cmac exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 pmsi neigh 1.1.1.1 segrou neigh 1.1.1.1 additional-path-rx evpn neigh 1.1.1.1 additional-path-tx evpn afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap cmac exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 pmsi neigh 1234::1 segrou neigh 1234::1 additional-path-rx evpn neigh 1234::1 additional-path-tx evpn afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap cmac exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp378.tst000066400000000000000000000041301510423065500165750ustar00rootroot00000000000000description olab over srv6 over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 segrou neigh 1.1.1.2 additional-path-rx olab neigh 1.1.1.2 additional-path-tx olab afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 segrou neigh 1234::2 additional-path-rx olab neigh 1234::2 additional-path-tx olab afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 segrou neigh 1.1.1.1 additional-path-rx olab neigh 1.1.1.1 additional-path-tx olab afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 segrou neigh 1234::1 additional-path-rx olab neigh 1234::1 additional-path-tx olab afi-other ena afi-other red conn afi-other srv6 tun1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp379.tst000066400000000000000000000107021510423065500166000ustar00rootroot00000000000000description evpn/vpws over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 2:1 rt-both 1:1 mac-learn private exit bridge 2 rd 2:2 rt-both 1:2 mac-learn private exit bridge 3 rd 2:3 rt-both 1:3 mac-learn private exit bridge 4 rd 2:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 r1 output show ipv4 bgp 1 sum r1 output show ipv6 bgp 1 sum r1 output show ipv4 bgp 1 evpn dat r1 output show ipv6 bgp 1 evpn dat r1 output show ipv4 route v1 r1 output show ipv6 route v1 r1 output show bridge 1 r1 output show bridge 2 r1 output show bridge 3 r1 output show bridge 4 output ../binTmp/rout-bgp-evpn4.html here are the ipv4 neighbors:
show:0
here are the ipv6 neighbors:
show:1
here is the ipv4 database:
show:2
here is the ipv6 database:
show:3
here are the ipv4 routes:
show:4
here are the ipv6 routes:
show:5
here is the bridge:
show:6
here is the bridge:
show:7
here is the bridge:
show:8
here is the bridge:
show:9
! freeRtr-25.11.9/cfg/rout-bgp380.tst000066400000000000000000000056201510423065500165730ustar00rootroot00000000000000description evpn/vpws over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vpws exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vpws exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 2:1 rt-both 1:1 mac-learn private exit bridge 2 rd 2:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vpws exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vpws exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp381.tst000066400000000000000000000075771510423065500166110ustar00rootroot00000000000000description evpn/vpws over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 2:1 rt-both 1:1 mac-learn private exit bridge 2 rd 2:2 rt-both 1:2 mac-learn private exit bridge 3 rd 2:3 rt-both 1:3 mac-learn private exit bridge 4 rd 2:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 additional-path-rx evpn neigh 2.2.2.2 additional-path-tx evpn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 additional-path-rx evpn neigh 4321::2 additional-path-tx evpn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 additional-path-rx evpn neigh 2.2.2.1 additional-path-tx evpn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 additional-path-rx evpn neigh 4321::1 additional-path-tx evpn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp382.tst000066400000000000000000000112521510423065500165730ustar00rootroot00000000000000description evpn/vpws over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both neigh 1234:1::3 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 2:1 rt-both 1:1 mac-learn private exit bridge 2 rd 2:2 rt-both 1:2 mac-learn private exit bridge 3 rd 2:3 rt-both 1:3 mac-learn private exit bridge 4 rd 2:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both neigh 1234:1::3 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 route-reflect neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 route-reflect exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 route-reflect neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp383.tst000066400000000000000000000072261510423065500166020ustar00rootroot00000000000000description evpn/vpws over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 confed neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 confed neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 2:1 rt-both 1:1 mac-learn private exit bridge 2 rd 2:2 rt-both 1:2 mac-learn private exit bridge 3 rd 2:3 rt-both 1:3 mac-learn private exit bridge 4 rd 2:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 confed neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 confed neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp384.tst000066400000000000000000000115201510423065500165730ustar00rootroot00000000000000description evpn/vpws over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both neigh 1234:1::3 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 2:1 rt-both 1:1 mac-learn private exit bridge 2 rd 2:2 rt-both 1:2 mac-learn private exit bridge 3 rd 2:3 rt-both 1:3 mac-learn private exit bridge 4 rd 2:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both neigh 1234:1::3 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 route-server neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 route-server exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 route-server neigh 4321::2 remote-as 2 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 route-server exit ! r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp385.tst000066400000000000000000000121701510423065500165760ustar00rootroot00000000000000description ethersite evpn/vpws over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn exit bridge 4 rd 1:4 rt-both 1:4 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2.11 bridge-group 3 exit int eth2.12 bridge-group 4 exit int bvi1 bridge-group 3 exit int bvi2 bridge-group 4 exit int bvi3 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.0 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vpws exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vpws exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 2:1 rt-both 1:1 mac-learn private exit bridge 2 rd 2:2 rt-both 1:2 mac-learn private exit bridge 3 rd 2:3 rt-both 1:3 mac-learn exit bridge 4 rd 2:4 rt-both 1:4 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2.11 bridge-group 3 exit int eth2.12 bridge-group 4 exit int bvi1 bridge-group 3 exit int bvi2 bridge-group 4 exit int bvi3 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.0 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vpws exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vpws exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.0 ipv6 addr 3333::3 ffff:: exit int eth1.12 vrf for v1 ipv4 addr 4.4.4.3 255.255.255.0 ipv6 addr 4444::3 ffff:: exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 3.3.3.4 255.255.255.0 ipv6 addr 3333::4 ffff:: exit int eth1.12 vrf for v1 ipv4 addr 4.4.4.4 255.255.255.0 ipv6 addr 4444::4 ffff:: exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r1 tping 100 60 3.3.3.3 vrf v1 r1 tping 100 60 3333::3 vrf v1 r1 tping 100 60 4.4.4.3 vrf v1 r1 tping 100 60 4444::3 vrf v1 r1 tping 100 60 3.3.3.4 vrf v1 r1 tping 100 60 3333::4 vrf v1 r1 tping 100 60 4.4.4.4 vrf v1 r1 tping 100 60 4444::4 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 r2 tping 100 60 3.3.3.3 vrf v1 r2 tping 100 60 3333::3 vrf v1 r2 tping 100 60 4.4.4.3 vrf v1 r2 tping 100 60 4444::3 vrf v1 r2 tping 100 60 3.3.3.4 vrf v1 r2 tping 100 60 3333::4 vrf v1 r2 tping 100 60 4.4.4.4 vrf v1 r2 tping 100 60 4444::4 vrf v1 r3 tping 100 60 3.3.3.1 vrf v1 r3 tping 100 60 3333::1 vrf v1 r3 tping 100 60 4.4.4.1 vrf v1 r3 tping 100 60 4444::1 vrf v1 r3 tping 100 60 3.3.3.2 vrf v1 r3 tping 100 60 3333::2 vrf v1 r3 tping 100 60 4.4.4.2 vrf v1 r3 tping 100 60 4444::2 vrf v1 r3 tping 100 60 3.3.3.4 vrf v1 r3 tping 100 60 3333::4 vrf v1 r3 tping 100 60 4.4.4.4 vrf v1 r3 tping 100 60 4444::4 vrf v1 r4 tping 100 60 3.3.3.1 vrf v1 r4 tping 100 60 3333::1 vrf v1 r4 tping 100 60 4.4.4.1 vrf v1 r4 tping 100 60 4444::1 vrf v1 r4 tping 100 60 3.3.3.2 vrf v1 r4 tping 100 60 3333::2 vrf v1 r4 tping 100 60 4.4.4.2 vrf v1 r4 tping 100 60 4444::2 vrf v1 r4 tping 100 60 3.3.3.3 vrf v1 r4 tping 100 60 3333::3 vrf v1 r4 tping 100 60 4.4.4.3 vrf v1 r4 tping 100 60 4444::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp386.tst000066400000000000000000000072761510423065500166120ustar00rootroot00000000000000description evpn/vpws over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 soft-reconfig afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 soft-reconfig afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 2:1 rt-both 1:1 mac-learn private exit bridge 2 rd 2:2 rt-both 1:2 mac-learn private exit bridge 3 rd 2:3 rt-both 1:3 mac-learn private exit bridge 4 rd 2:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 soft-reconfig afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 soft-reconfig afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp387.tst000066400000000000000000000100051510423065500165730ustar00rootroot00000000000000description unicast+evpn/vpws over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi red conn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit router bgp6 1 vrf v1 no safe-ebgp address evpn uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi red conn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 2:1 rt-both 1:1 mac-learn private exit bridge 2 rd 2:2 rt-both 1:2 mac-learn private exit bridge 3 rd 2:3 rt-both 1:3 mac-learn private exit bridge 4 rd 2:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi red conn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit router bgp6 1 vrf v1 no safe-ebgp address evpn uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi red conn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp388.tst000066400000000000000000000102141510423065500165760ustar00rootroot00000000000000description unicast+evpn/vpws over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 soft-reconfig red conn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit router bgp6 1 vrf v1 no safe-ebgp address evpn uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 soft-reconfig red conn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 2:1 rt-both 1:1 mac-learn private exit bridge 2 rd 2:2 rt-both 1:2 mac-learn private exit bridge 3 rd 2:3 rt-both 1:3 mac-learn private exit bridge 4 rd 2:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 soft-reconfig red conn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit router bgp6 1 vrf v1 no safe-ebgp address evpn uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 soft-reconfig red conn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp389.tst000066400000000000000000000105551510423065500166070ustar00rootroot00000000000000description unicast+evpn/vpws over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 additional-path-rx evpn uni neigh 2.2.2.2 additional-path-tx evpn uni red conn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit router bgp6 1 vrf v1 no safe-ebgp address evpn uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 additional-path-rx evpn uni neigh 4321::2 additional-path-tx evpn uni red conn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 2:1 rt-both 1:1 mac-learn private exit bridge 2 rd 2:2 rt-both 1:2 mac-learn private exit bridge 3 rd 2:3 rt-both 1:3 mac-learn private exit bridge 4 rd 2:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 additional-path-rx evpn uni neigh 2.2.2.1 additional-path-tx evpn uni red conn afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit router bgp6 1 vrf v1 no safe-ebgp address evpn uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 additional-path-rx evpn uni neigh 4321::1 additional-path-tx evpn uni red conn afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp390.tst000066400000000000000000000075501510423065500166000ustar00rootroot00000000000000description evpn/vpws over bgp auto mesh tunnel addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn automesh all local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit router bgp6 1 vrf v1 no safe-ebgp address evpn automesh all local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit bridge 1 rd 2:1 rt-both 1:1 mac-learn private exit bridge 2 rd 2:2 rt-both 1:2 mac-learn private exit bridge 3 rd 2:3 rt-both 1:3 mac-learn private exit bridge 4 rd 2:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn automesh all local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 3 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit router bgp6 1 vrf v1 no safe-ebgp address evpn automesh all local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 101 encap vpws afi-evpn 102 bridge 4 afi-evpn 102 update lo0 afi-evpn 102 encap vpws exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp391.tst000066400000000000000000000051731510423065500166000ustar00rootroot00000000000000description evpn/vpws over srv6 over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 pmsi neigh 1.1.1.2 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap vpws exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 send-comm both neigh 1234::2 pmsi neigh 1234::2 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap vpws exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit bridge 1 rd 2:1 rt-both 1:1 mac-learn private exit bridge 2 rd 2:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 pmsi neigh 1.1.1.1 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap vpws exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 pmsi neigh 1234::1 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap vpws exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp392.tst000066400000000000000000000052631510423065500166010ustar00rootroot00000000000000description evpn/vpws over srv6 over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 pmsi neigh 1.1.1.2 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap vpws exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 send-comm both neigh 1234::2 pmsi neigh 1234::2 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap vpws exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit bridge 1 rd 2:1 rt-both 1:1 mac-learn private exit bridge 2 rd 2:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 pmsi neigh 1.1.1.1 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap vpws exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 pmsi neigh 1234::1 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap vpws exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp393.tst000066400000000000000000000070651510423065500166040ustar00rootroot00000000000000description evpn/vpws over srv6 over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi neigh 1.1.1.3 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap vpws exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 1 neigh 1234::3 send-comm both neigh 1234::3 pmsi neigh 1234::3 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap vpws exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 2:1 rt-both 1:1 mac-learn private exit bridge 2 rd 2:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi neigh 1.1.1.3 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap vpws exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234::3 remote-as 1 neigh 1234::3 send-comm both neigh 1234::3 pmsi neigh 1234::3 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap vpws exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 pmsi neigh 1.1.1.1 segrou neigh 1.1.1.1 route-reflect neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 pmsi neigh 1.1.1.2 segrou neigh 1.1.1.2 route-reflect exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 pmsi neigh 1234::1 segrou neigh 1234::1 route-reflect neigh 1234::2 remote-as 1 neigh 1234::2 send-comm both neigh 1234::2 pmsi neigh 1234::2 segrou neigh 1234::2 route-reflect exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp394.tst000066400000000000000000000071601510423065500166010ustar00rootroot00000000000000description evpn/vpws over srv6 over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi neigh 1.1.1.3 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap vpws exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 3 neigh 1234::3 send-comm both neigh 1234::3 pmsi neigh 1234::3 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap vpws exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 2:1 rt-both 1:1 mac-learn private exit bridge 2 rd 2:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi neigh 1.1.1.3 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap vpws exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 1234::3 remote-as 3 neigh 1234::3 send-comm both neigh 1234::3 pmsi neigh 1234::3 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap vpws exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 pmsi neigh 1.1.1.1 segrou neigh 1.1.1.1 confed neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 pmsi neigh 1.1.1.2 segrou neigh 1.1.1.2 confed exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 4.4.4.3 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 pmsi neigh 1234::1 segrou neigh 1234::1 confed neigh 1234::2 remote-as 2 neigh 1234::2 send-comm both neigh 1234::2 pmsi neigh 1234::2 segrou neigh 1234::2 confed exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp395.tst000066400000000000000000000072161510423065500166040ustar00rootroot00000000000000description evpn/vpws over srv6 over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi neigh 1.1.1.3 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap vpws exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 3 neigh 1234::3 send-comm both neigh 1234::3 pmsi neigh 1234::3 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap vpws exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 2:1 rt-both 1:1 mac-learn private exit bridge 2 rd 2:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 pmsi neigh 1.1.1.3 segrou afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap vpws exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 1234::3 remote-as 3 neigh 1234::3 send-comm both neigh 1234::3 pmsi neigh 1234::3 segrou afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap vpws exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 pmsi neigh 1.1.1.1 segrou neigh 1.1.1.1 route-server neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 pmsi neigh 1.1.1.2 segrou neigh 1.1.1.2 route-server exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 4.4.4.3 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 pmsi neigh 1234::1 segrou neigh 1234::1 route-server neigh 1234::2 remote-as 2 neigh 1234::2 send-comm both neigh 1234::2 pmsi neigh 1234::2 segrou neigh 1234::2 route-server exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp396.tst000066400000000000000000000054011510423065500165770ustar00rootroot00000000000000description evpn/vpws over srv6 over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 pmsi neigh 1.1.1.2 segrou neigh 1.1.1.2 soft-reconfig afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap vpws exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 send-comm both neigh 1234::2 pmsi neigh 1234::2 segrou neigh 1234::2 soft-reconfig afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap vpws exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit bridge 1 rd 2:1 rt-both 1:1 mac-learn private exit bridge 2 rd 2:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 pmsi neigh 1.1.1.1 segrou neigh 1.1.1.1 soft-reconfig afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap vpws exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 pmsi neigh 1234::1 segrou neigh 1234::1 soft-reconfig afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap vpws exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp397.tst000066400000000000000000000057021510423065500166040ustar00rootroot00000000000000description evpn/vpws over srv6 over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 pmsi neigh 1.1.1.2 segrou neigh 1.1.1.2 additional-path-rx evpn neigh 1.1.1.2 additional-path-tx evpn afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap vpws exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 send-comm both neigh 1234::2 pmsi neigh 1234::2 segrou neigh 1234::2 additional-path-rx evpn neigh 1234::2 additional-path-tx evpn afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap vpws exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit bridge 1 rd 2:1 rt-both 1:1 mac-learn private exit bridge 2 rd 2:2 rt-both 1:2 mac-learn private exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 pmsi neigh 1.1.1.1 segrou neigh 1.1.1.1 additional-path-rx evpn neigh 1.1.1.1 additional-path-tx evpn afi-evpn 101 bridge 1 afi-evpn 101 srv6 tun1 afi-evpn 101 update eth1 afi-evpn 101 encap vpws exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 send-comm both neigh 1234::1 pmsi neigh 1234::1 segrou neigh 1234::1 additional-path-rx evpn neigh 1234::1 additional-path-tx evpn afi-evpn 102 bridge 2 afi-evpn 102 srv6 tun1 afi-evpn 102 update eth1 afi-evpn 102 encap vpws exit ! r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp398.tst000066400000000000000000000172611510423065500166100ustar00rootroot00000000000000description unified mpls with ldp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.6 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::6 1234 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 next-hop-self neigh 1.1.1.10 remote-as 1 neigh 1.1.1.10 route-reflect neigh 1.1.1.10 next-hop-self red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 next-hop-self neigh 1234:3::2 remote-as 1 neigh 1234:3::2 route-reflect neigh 1234:3::2 next-hop-self red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.14 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.14 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.4 neigh 2.2.2.6 remote-as 1 neigh 2.2.2.6 update lo0 neigh 2.2.2.6 next-hop-self neigh 1.1.1.9 remote-as 1 neigh 1.1.1.9 route-reflect neigh 1.1.1.9 next-hop-self red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.4 neigh 4321::6 remote-as 1 neigh 4321::6 update lo0 neigh 4321::6 next-hop-self neigh 1234:3::1 remote-as 1 neigh 1234:3::1 route-reflect neigh 1234:3::1 next-hop-self red conn exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ int eth2 eth 0000.0000.5555 $5a$ $5b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.17 255.255.255.252 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.13 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.18 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.18 255.255.255.252 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.17 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.17 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.6 neigh 2.2.2.4 remote-as 1 neigh 2.2.2.4 update lo0 red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.6 neigh 4321::4 remote-as 1 neigh 4321::4 update lo0 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.5 vrf v1 sou lo0 r4 tping 100 60 4321::5 vrf v1 sou lo0 r4 tping 100 60 2.2.2.6 vrf v1 sou lo0 r4 tping 100 60 4321::6 vrf v1 sou lo0 r5 tping 100 60 2.2.2.4 vrf v1 sou lo0 r5 tping 100 60 4321::4 vrf v1 sou lo0 r5 tping 100 60 2.2.2.6 vrf v1 sou lo0 r5 tping 100 60 4321::6 vrf v1 sou lo0 r6 tping 100 60 2.2.2.4 vrf v1 sou lo0 r6 tping 100 60 4321::4 vrf v1 sou lo0 r6 tping 100 60 2.2.2.5 vrf v1 sou lo0 r6 tping 100 60 4321::5 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r4 tping 100 60 2.2.2.3 vrf v1 sou lo0 r4 tping 100 60 4321::3 vrf v1 sou lo0 r6 tping 100 60 2.2.2.1 vrf v1 sou lo0 r6 tping 100 60 4321::1 vrf v1 sou lo0 r6 tping 100 60 2.2.2.3 vrf v1 sou lo0 r6 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 r1 tping 100 60 2.2.2.6 vrf v1 sou lo0 r1 tping 100 60 4321::6 vrf v1 sou lo0 r3 tping 100 60 2.2.2.4 vrf v1 sou lo0 r3 tping 100 60 4321::4 vrf v1 sou lo0 r3 tping 100 60 2.2.2.6 vrf v1 sou lo0 r3 tping 100 60 4321::6 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r6 tping 100 60 3.3.3.1 vrf v1 r1 tping 100 60 3.3.4.2 vrf v1 r6 tping 100 60 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp399.tst000066400000000000000000000163561510423065500166150ustar00rootroot00000000000000description unified mpls with sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.6 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::6 1234 exit router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 next-hop-self neigh 1.1.1.10 remote-as 1 neigh 1.1.1.10 route-reflect neigh 1.1.1.10 next-hop-self red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 next-hop-self neigh 1234:3::2 remote-as 1 neigh 1234:3::2 route-reflect neigh 1234:3::2 next-hop-self red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit router lsrp4 1 vrf v1 router 4.4.4.4 segrout 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 segrout 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.4 neigh 2.2.2.6 remote-as 1 neigh 2.2.2.6 update lo0 neigh 2.2.2.6 next-hop-self neigh 1.1.1.9 remote-as 1 neigh 1.1.1.9 route-reflect neigh 1.1.1.9 next-hop-self red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.4 neigh 4321::6 remote-as 1 neigh 4321::6 update lo0 neigh 4321::6 next-hop-self neigh 1234:3::1 remote-as 1 neigh 1234:3::1 route-reflect neigh 1234:3::1 next-hop-self red conn exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ int eth2 eth 0000.0000.5555 $5a$ $5b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit router lsrp4 1 vrf v1 router 4.4.4.5 segrout 10 5 red conn exit router lsrp6 1 vrf v1 router 6.6.6.5 segrout 10 5 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.17 255.255.255.252 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit router lsrp4 1 vrf v1 router 4.4.4.6 segrout 10 6 red conn exit router lsrp6 1 vrf v1 router 6.6.6.6 segrout 10 6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.18 255.255.255.252 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.6 neigh 2.2.2.4 remote-as 1 neigh 2.2.2.4 update lo0 red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.6 neigh 4321::4 remote-as 1 neigh 4321::4 update lo0 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.5 vrf v1 sou lo0 r4 tping 100 60 4321::5 vrf v1 sou lo0 r4 tping 100 60 2.2.2.6 vrf v1 sou lo0 r4 tping 100 60 4321::6 vrf v1 sou lo0 r5 tping 100 60 2.2.2.4 vrf v1 sou lo0 r5 tping 100 60 4321::4 vrf v1 sou lo0 r5 tping 100 60 2.2.2.6 vrf v1 sou lo0 r5 tping 100 60 4321::6 vrf v1 sou lo0 r6 tping 100 60 2.2.2.4 vrf v1 sou lo0 r6 tping 100 60 4321::4 vrf v1 sou lo0 r6 tping 100 60 2.2.2.5 vrf v1 sou lo0 r6 tping 100 60 4321::5 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r4 tping 100 60 2.2.2.3 vrf v1 sou lo0 r4 tping 100 60 4321::3 vrf v1 sou lo0 r6 tping 100 60 2.2.2.1 vrf v1 sou lo0 r6 tping 100 60 4321::1 vrf v1 sou lo0 r6 tping 100 60 2.2.2.3 vrf v1 sou lo0 r6 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 r1 tping 100 60 2.2.2.6 vrf v1 sou lo0 r1 tping 100 60 4321::6 vrf v1 sou lo0 r3 tping 100 60 2.2.2.4 vrf v1 sou lo0 r3 tping 100 60 4321::4 vrf v1 sou lo0 r3 tping 100 60 2.2.2.6 vrf v1 sou lo0 r3 tping 100 60 4321::6 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r6 tping 100 60 3.3.3.1 vrf v1 r1 tping 100 60 3.3.4.2 vrf v1 r6 tping 100 60 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp400.tst000066400000000000000000000074711510423065500165720ustar00rootroot00000000000000description ebgp with php labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 label-pop red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 label-pop red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 label-pop neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 label-pop red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 label-pop neigh 1234:2::2 remote-as 3 neigh 1234:2::2 label-pop red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 label-pop red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 label-pop red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r2 tping 0 60 2.2.2.1 vrf v1 sou lo0 r2 tping 0 60 2.2.2.3 vrf v1 sou lo0 r2 tping 0 60 4321::3 vrf v1 sou lo0 r2 tping 0 60 4321::1 vrf v1 sou lo0 r3 tping 0 60 2.2.2.1 vrf v1 sou lo0 r3 tping 0 60 2.2.2.2 vrf v1 sou lo0 r3 tping 0 60 4321::1 vrf v1 sou lo0 r3 tping 0 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp401.tst000066400000000000000000000101061510423065500165600ustar00rootroot00000000000000description ibgp with php labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 label-pop red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 label-pop red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.13 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo1 pweompls 4321::13 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 label-pop red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 label-pop red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.11 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo1 pweompls 4321::11 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.13 vrf v1 sou lo0 r1 tping 100 60 4321::13 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 0 60 2.2.2.11 vrf v1 sou lo0 r2 tping 0 60 2.2.2.13 vrf v1 sou lo0 r2 tping 0 60 4321::11 vrf v1 sou lo0 r2 tping 0 60 4321::13 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.11 vrf v1 sou lo0 r3 tping 100 60 4321::11 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp402.tst000066400000000000000000000103161510423065500165640ustar00rootroot00000000000000description bgp additional path with php labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 label-pop neigh 1.1.1.2 additional-path-tx lab red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 label-pop neigh 1234:1::2 additional-path-tx lab red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 label-pop neigh 1.1.1.1 additional-path-rx lab neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 label-pop neigh 1.1.1.6 additional-path-rx lab red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 label-pop neigh 1234:1::1 additional-path-rx lab neigh 1234:2::2 remote-as 3 neigh 1234:2::2 label-pop neigh 1234:2::2 additional-path-rx lab red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 label-pop neigh 1.1.1.5 additional-path-rx lab neigh 1.1.1.5 additional-path-tx lab red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 label-pop neigh 1234:2::1 additional-path-tx lab neigh 1234:2::1 additional-path-tx lab red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r2 tping 0 60 2.2.2.1 vrf v1 sou lo0 r2 tping 0 60 2.2.2.3 vrf v1 sou lo0 r2 tping 0 60 4321::3 vrf v1 sou lo0 r2 tping 0 60 4321::1 vrf v1 sou lo0 r3 tping 0 60 2.2.2.1 vrf v1 sou lo0 r3 tping 0 60 2.2.2.2 vrf v1 sou lo0 r3 tping 0 60 4321::1 vrf v1 sou lo0 r3 tping 0 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp403.tst000066400000000000000000000072301510423065500165660ustar00rootroot00000000000000description ibgp rr with labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 1 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.12 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo1 pweompls 4321::12 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.2 neigh 1234::3 remote-as 1 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.11 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo1 pweompls 4321::11 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-reflect neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.3 neigh 1234::1 remote-as 1 neigh 1234::1 route-reflect neigh 1234::2 remote-as 1 neigh 1234::2 route-reflect red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.12 vrf v1 sou lo0 r1 tping 100 60 4321::12 vrf v1 sou lo0 r1 tping 100 60 2.2.2.13 vrf v1 sou lo0 r1 tping 100 60 4321::13 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.11 vrf v1 sou lo0 r2 tping 100 60 2.2.2.13 vrf v1 sou lo0 r2 tping 100 60 4321::11 vrf v1 sou lo0 r2 tping 100 60 4321::13 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.11 vrf v1 sou lo0 r3 tping 100 60 4321::11 vrf v1 sou lo0 r3 tping 100 60 2.2.2.12 vrf v1 sou lo0 r3 tping 100 60 4321::12 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r2 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp404.tst000066400000000000000000000057311510423065500165730ustar00rootroot00000000000000description confed bgp with labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 confed red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 confed neigh 1234::3 remote-as 3 neigh 1234::3 confed red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 4.4.4.3 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 6.6.6.3 neigh 1234::2 remote-as 2 neigh 1234::2 confed red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp405.tst000066400000000000000000000056371510423065500166010ustar00rootroot00000000000000description bgp route server with labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-server neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 route-server red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 route-server neigh 1234::3 remote-as 3 neigh 1234::3 route-server red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 4.4.4.3 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 6.6.6.3 neigh 1234::2 remote-as 2 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp406.tst000066400000000000000000000062231510423065500165720ustar00rootroot00000000000000description bgp soft-reconfig with labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:2::2 remote-as 3 neigh 1234:2::2 soft-reconfig red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 soft-reconfig red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp407.tst000066400000000000000000000051351510423065500165740ustar00rootroot00000000000000description bgp remove private as in with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 65534 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 65534 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit route-map rm1 sequence 10 act perm match private clear private exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 65534 neigh 1.1.1.1 route-map-in rm1 neigh 1.1.1.6 remote-as 65534 neigh 1.1.1.6 route-map-in rm1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 65534 neigh 1234:1::1 route-map-in rm1 neigh 1234:2::2 remote-as 65534 neigh 1234:2::2 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 65534 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 65534 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn exit ! r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp408.tst000066400000000000000000000050721510423065500165750ustar00rootroot00000000000000description bgp remove private as out with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 65534 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 65534 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit route-map rm1 sequence 10 act perm match private clear private exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 65534 neigh 1.1.1.1 route-map-out rm1 neigh 1.1.1.6 remote-as 65534 neigh 1.1.1.6 route-map-out rm1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 65534 neigh 1234:1::1 route-map-out rm1 neigh 1234:2::2 remote-as 65534 neigh 1234:2::2 route-map-out rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 65534 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 65534 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn exit ! r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::1 vrf v1 r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 0 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 0 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp409.tst000066400000000000000000000051421510423065500165740ustar00rootroot00000000000000description bgp remove private as in with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 65534 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 65534 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit route-policy rm1 if private clear private pass enif exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 65534 neigh 1.1.1.1 route-policy-in rm1 neigh 1.1.1.6 remote-as 65534 neigh 1.1.1.6 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 65534 neigh 1234:1::1 route-policy-in rm1 neigh 1234:2::2 remote-as 65534 neigh 1234:2::2 route-policy-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 65534 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 65534 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn exit ! r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp410.tst000066400000000000000000000050771510423065500165730ustar00rootroot00000000000000description bgp remove private as out with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 65534 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 65534 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit route-policy rm1 if private clear private pass enif exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 65534 neigh 1.1.1.1 route-policy-out rm1 neigh 1.1.1.6 remote-as 65534 neigh 1.1.1.6 route-policy-out rm1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 65534 neigh 1234:1::1 route-policy-out rm1 neigh 1234:2::2 remote-as 65534 neigh 1234:2::2 route-policy-out rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 65534 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 65534 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn exit ! r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::1 vrf v1 r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 0 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 0 60 4321::2 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp411.tst000066400000000000000000000110371510423065500165650ustar00rootroot00000000000000description bgp with srgb sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp local-as 1 segrout 10 1 base 100 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 segrout red conn exit router bgp6 1 vrf v1 no safe-ebgp local-as 1 segrout 10 1 base 200 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 segrout red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp local-as 2 segrout 10 2 base 100 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 segrout neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 segrout red conn exit router bgp6 1 vrf v1 no safe-ebgp local-as 2 segrout 10 2 base 200 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 segrout neigh 1234:2::2 remote-as 3 neigh 1234:2::2 segrout red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp local-as 3 segrout 10 3 base 100 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 segrout neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 segrout red conn exit router bgp6 1 vrf v1 no safe-ebgp local-as 3 segrout 10 3 base 200 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 segrout neigh 1234:3::2 remote-as 4 neigh 1234:3::2 segrout red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp local-as 4 segrout 10 4 base 100 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 segrout red conn exit router bgp6 1 vrf v1 no safe-ebgp local-as 4 segrout 10 4 base 200 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 segrout red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.4 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::4 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.4 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 4321::4 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 2.2.2.2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.3 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r4 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 4321::3 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp412.tst000066400000000000000000000024401510423065500165640ustar00rootroot00000000000000description bgp over point2point ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.254 ipv6 addr 1234:1::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.254 ipv6 addr 1234:1::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::3 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp413.tst000066400000000000000000000127221510423065500165710ustar00rootroot00000000000000description bgp ecmp connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:21::1 ffff:ffff:: exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.10 255.255.255.252 ipv6 addr 1234:23::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.9 remote-as 3 neigh 1.1.2.2 remote-as 2 neigh 1.1.2.9 remote-as 3 neigh 1.1.1.2 additional-path-tx uni neigh 1.1.1.9 additional-path-tx uni neigh 1.1.2.2 additional-path-tx uni neigh 1.1.2.9 additional-path-tx uni neigh 1.1.1.2 additional-path-rx uni neigh 1.1.1.9 additional-path-rx uni neigh 1.1.2.2 additional-path-rx uni neigh 1.1.2.9 additional-path-rx uni red conn ecmp exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:3::1 remote-as 3 neigh 1234:21::2 remote-as 2 neigh 1234:23::1 remote-as 3 neigh 1234:1::2 additional-path-tx uni neigh 1234:3::1 additional-path-tx uni neigh 1234:21::2 additional-path-tx uni neigh 1234:23::1 additional-path-tx uni neigh 1234:1::2 additional-path-rx uni neigh 1234:3::1 additional-path-rx uni neigh 1234:21::2 additional-path-rx uni neigh 1234:23::1 additional-path-rx uni red conn ecmp exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:21::2 ffff:ffff:: exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.252 ipv6 addr 1234:22::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.6 remote-as 3 neigh 1.1.2.1 remote-as 1 neigh 1.1.2.6 remote-as 3 neigh 1.1.1.1 additional-path-tx uni neigh 1.1.1.6 additional-path-tx uni neigh 1.1.2.1 additional-path-tx uni neigh 1.1.2.6 additional-path-tx uni neigh 1.1.1.1 additional-path-rx uni neigh 1.1.1.6 additional-path-rx uni neigh 1.1.2.1 additional-path-rx uni neigh 1.1.2.6 additional-path-rx uni red conn ecmp exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:2::2 remote-as 3 neigh 1234:21::1 remote-as 1 neigh 1234:22::2 remote-as 3 neigh 1234:1::1 additional-path-tx uni neigh 1234:2::2 additional-path-tx uni neigh 1234:21::1 additional-path-tx uni neigh 1234:22::2 additional-path-tx uni neigh 1234:1::1 additional-path-rx uni neigh 1234:2::2 additional-path-rx uni neigh 1234:21::1 additional-path-rx uni neigh 1234:22::2 additional-path-rx uni red conn ecmp exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.252 ipv6 addr 1234:22::2 ffff:ffff:: exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.9 255.255.255.252 ipv6 addr 1234:23::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.10 remote-as 1 neigh 1.1.2.5 remote-as 2 neigh 1.1.2.10 remote-as 1 neigh 1.1.1.5 additional-path-tx uni neigh 1.1.1.10 additional-path-tx uni neigh 1.1.2.5 additional-path-tx uni neigh 1.1.2.10 additional-path-tx uni neigh 1.1.1.5 additional-path-rx uni neigh 1.1.1.10 additional-path-rx uni neigh 1.1.2.5 additional-path-rx uni neigh 1.1.2.10 additional-path-rx uni red conn ecmp exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:3::2 remote-as 1 neigh 1234:22::1 remote-as 2 neigh 1234:23::2 remote-as 1 neigh 1234:2::1 additional-path-tx uni neigh 1234:3::2 additional-path-tx uni neigh 1234:22::1 additional-path-tx uni neigh 1234:23::2 additional-path-tx uni neigh 1234:2::1 additional-path-rx uni neigh 1234:3::2 additional-path-rx uni neigh 1234:22::1 additional-path-rx uni neigh 1234:23::2 additional-path-rx uni red conn ecmp exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 freeRtr-25.11.9/cfg/rout-bgp414.tst000066400000000000000000000051331510423065500165700ustar00rootroot00000000000000description bgp routemap filtering with peer asn addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 sequence 10 act deny match peerasn 3 sequence 20 act permit exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-server neigh 1.1.1.2 route-map-out rm1 neigh 1.1.1.2 ungroup neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 route-server neigh 1.1.1.3 route-map-out rm1 neigh 1.1.1.3 ungroup red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-server neigh 1234:1::2 route-map-out rm1 neigh 1234:1::2 ungroup neigh 1234:1::3 remote-as 3 neigh 1234:1::3 route-server neigh 1234:1::3 route-map-out rm1 neigh 1234:1::3 ungroup red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp415.tst000066400000000000000000000051251510423065500165720ustar00rootroot00000000000000description bgp routepolicy filtering with peer asn addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit route-policy rm1 if peerasn 3 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-server neigh 1.1.1.2 route-policy-out rm1 neigh 1.1.1.2 ungroup neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 route-server neigh 1.1.1.3 route-policy-out rm1 neigh 1.1.1.3 ungroup red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-server neigh 1234:1::2 route-policy-out rm1 neigh 1234:1::2 ungroup neigh 1234:1::3 remote-as 3 neigh 1234:1::3 route-server neigh 1234:1::3 route-policy-out rm1 neigh 1234:1::3 ungroup red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp416.tst000066400000000000000000000055361510423065500166010ustar00rootroot00000000000000description bgp routemap filtering with peer asn with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 sequence 10 act deny match peerasn 3 sequence 20 act permit exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-server neigh 1.1.1.2 route-map-out rm1 neigh 1.1.1.2 ungroup neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-server neigh 1.1.1.3 route-map-out rm1 neigh 1.1.1.3 ungroup red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-server neigh 1234:1::2 route-map-out rm1 neigh 1234:1::2 ungroup neigh 1234:1::3 remote-as 3 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-server neigh 1234:1::3 route-map-out rm1 neigh 1234:1::3 ungroup red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp417.tst000066400000000000000000000055301510423065500165740ustar00rootroot00000000000000description bgp routepolicy filtering with peer asn with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit route-policy rm1 if peerasn 3 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-server neigh 1.1.1.2 route-policy-out rm1 neigh 1.1.1.2 ungroup neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-server neigh 1.1.1.3 route-policy-out rm1 neigh 1.1.1.3 ungroup red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-server neigh 1234:1::2 route-policy-out rm1 neigh 1234:1::2 ungroup neigh 1234:1::3 remote-as 3 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-server neigh 1234:1::3 route-policy-out rm1 neigh 1234:1::3 ungroup red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp418.tst000066400000000000000000000056511510423065500166010ustar00rootroot00000000000000description bgp routemap filtering with peer standard community addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 sequence 10 act deny match peerstd 1:3 sequence 20 act permit exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-server neigh 1.1.1.2 send-comm both neigh 1.1.1.2 route-map-out rm1 neigh 1.1.1.2 ungroup neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 route-server neigh 1.1.1.3 send-comm both neigh 1.1.1.3 route-map-out rm1 neigh 1.1.1.3 ungroup red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-server neigh 1234:1::2 send-comm both neigh 1234:1::2 route-map-out rm1 neigh 1234:1::2 ungroup neigh 1234:1::3 remote-as 3 neigh 1234:1::3 route-server neigh 1234:1::3 send-comm both neigh 1234:1::3 route-map-out rm1 neigh 1234:1::3 ungroup red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set stdcomm 1:2 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn route-map rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp419.tst000066400000000000000000000056621510423065500166040ustar00rootroot00000000000000description bgp routepolicy filtering with peer standard community addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit route-policy rm1 if peerstd 1:3 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-server neigh 1.1.1.2 send-comm both neigh 1.1.1.2 route-policy-out rm1 neigh 1.1.1.2 ungroup neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 route-server neigh 1.1.1.3 send-comm both neigh 1.1.1.3 route-policy-out rm1 neigh 1.1.1.3 ungroup red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-server neigh 1234:1::2 send-comm both neigh 1234:1::2 route-policy-out rm1 neigh 1234:1::2 ungroup neigh 1234:1::3 remote-as 3 neigh 1234:1::3 route-server neigh 1234:1::3 send-comm both neigh 1234:1::3 route-policy-out rm1 neigh 1234:1::3 ungroup red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 set stdcomm 1:2 pass exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn route-policy rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn route-policy rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp420.tst000066400000000000000000000062541510423065500165720ustar00rootroot00000000000000description bgp routemap filtering with peer standard community with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 sequence 10 act deny match peerstd 1:3 sequence 20 act permit exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 send-comm both neigh 1.1.1.2 route-server neigh 1.1.1.2 route-map-out rm1 neigh 1.1.1.2 ungroup neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 send-comm both neigh 1.1.1.3 route-server neigh 1.1.1.3 route-map-out rm1 neigh 1.1.1.3 ungroup red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-server neigh 1234:1::2 send-comm both neigh 1234:1::2 route-map-out rm1 neigh 1234:1::2 ungroup neigh 1234:1::3 remote-as 3 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-server neigh 1234:1::3 send-comm both neigh 1234:1::3 route-map-out rm1 neigh 1234:1::3 ungroup red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set stdcomm 1:2 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both red conn route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both red conn route-map rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp421.tst000066400000000000000000000062651510423065500165750ustar00rootroot00000000000000description bgp routepolicy filtering with peer standard community with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit route-policy rm1 if peerstd 1:3 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-server neigh 1.1.1.2 send-comm both neigh 1.1.1.2 route-policy-out rm1 neigh 1.1.1.2 ungroup neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-server neigh 1.1.1.3 send-comm both neigh 1.1.1.3 route-policy-out rm1 neigh 1.1.1.3 ungroup red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-server neigh 1234:1::2 send-comm both neigh 1234:1::2 route-policy-out rm1 neigh 1234:1::2 ungroup neigh 1234:1::3 remote-as 3 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-server neigh 1234:1::3 send-comm both neigh 1234:1::3 route-policy-out rm1 neigh 1234:1::3 ungroup red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 set stdcomm 1:2 pass exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both red conn route-policy rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both red conn route-policy rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp422.tst000066400000000000000000000056421510423065500165740ustar00rootroot00000000000000description bgp routemap filtering with peer large community addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 sequence 10 act deny match peerlrg 1:2:3 sequence 20 act permit exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-server neigh 1.1.1.2 send-comm all neigh 1.1.1.2 route-map-out rm1 neigh 1.1.1.2 ungroup neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 route-server neigh 1.1.1.3 send-comm all neigh 1.1.1.3 route-map-out rm1 neigh 1.1.1.3 ungroup red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-server neigh 1234:1::2 send-comm all neigh 1234:1::2 route-map-out rm1 neigh 1234:1::2 ungroup neigh 1234:1::3 remote-as 3 neigh 1234:1::3 route-server neigh 1234:1::3 send-comm all neigh 1234:1::3 route-map-out rm1 neigh 1234:1::3 ungroup red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm all red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm all red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set lrgcomm 1:2:2 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm all red conn route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm all red conn route-map rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp423.tst000066400000000000000000000056531510423065500165770ustar00rootroot00000000000000description bgp routepolicy filtering with peer large community addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit route-policy rm1 if peerlrg 1:2:3 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-server neigh 1.1.1.2 send-comm all neigh 1.1.1.2 route-policy-out rm1 neigh 1.1.1.2 ungroup neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 route-server neigh 1.1.1.3 send-comm all neigh 1.1.1.3 route-policy-out rm1 neigh 1.1.1.3 ungroup red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-server neigh 1234:1::2 send-comm all neigh 1234:1::2 route-policy-out rm1 neigh 1234:1::2 ungroup neigh 1234:1::3 remote-as 3 neigh 1234:1::3 route-server neigh 1234:1::3 send-comm all neigh 1234:1::3 route-policy-out rm1 neigh 1234:1::3 ungroup red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm all red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm all red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 set lrgcomm 1:2:2 pass exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm all red conn route-policy rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm all red conn route-policy rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp424.tst000066400000000000000000000062451510423065500165760ustar00rootroot00000000000000description bgp routemap filtering with peer large community with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 sequence 10 act deny match peerlrg 1:2:3 sequence 20 act permit exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 send-comm all neigh 1.1.1.2 route-server neigh 1.1.1.2 route-map-out rm1 neigh 1.1.1.2 ungroup neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 send-comm all neigh 1.1.1.3 route-server neigh 1.1.1.3 route-map-out rm1 neigh 1.1.1.3 ungroup red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-server neigh 1234:1::2 send-comm all neigh 1234:1::2 route-map-out rm1 neigh 1234:1::2 ungroup neigh 1234:1::3 remote-as 3 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-server neigh 1234:1::3 send-comm all neigh 1234:1::3 route-map-out rm1 neigh 1234:1::3 ungroup red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm all red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm all red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set lrgcomm 1:2:2 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm all red conn route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm all red conn route-map rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp425.tst000066400000000000000000000062561510423065500166010ustar00rootroot00000000000000description bgp routepolicy filtering with peer large community with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit route-policy rm1 if peerlrg 1:2:3 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-server neigh 1.1.1.2 send-comm all neigh 1.1.1.2 route-policy-out rm1 neigh 1.1.1.2 ungroup neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-server neigh 1.1.1.3 send-comm all neigh 1.1.1.3 route-policy-out rm1 neigh 1.1.1.3 ungroup red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-server neigh 1234:1::2 send-comm all neigh 1234:1::2 route-policy-out rm1 neigh 1234:1::2 ungroup neigh 1234:1::3 remote-as 3 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-server neigh 1234:1::3 send-comm all neigh 1234:1::3 route-policy-out rm1 neigh 1234:1::3 ungroup red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm all red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm all red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 set lrgcomm 1:2:2 pass exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm all red conn route-policy rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm all red conn route-policy rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp426.tst000066400000000000000000000034671510423065500166030ustar00rootroot00000000000000description unicast+linkstate over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni linkstate local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni linkstate local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 linkstate red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni linkstate local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni linkstate local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 linkstate red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.101 vrf v1 sou lo0 r2 tping 100 60 4321::101 vrf v1 sou lo0 r2 tping 100 60 2.2.2.201 vrf v1 sou lo0 r2 tping 100 60 4321::201 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp427.tst000066400000000000000000000037021510423065500165740ustar00rootroot00000000000000description unicast+linkstate over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni linkstate local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 linkstate neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni linkstate local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 linkstate neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni linkstate local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 linkstate neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni linkstate local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 linkstate neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.101 vrf v1 sou lo0 r2 tping 100 60 4321::101 vrf v1 sou lo0 r2 tping 100 60 2.2.2.201 vrf v1 sou lo0 r2 tping 100 60 4321::201 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp428.tst000066400000000000000000000043241510423065500165760ustar00rootroot00000000000000description unicast+linkstate over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni linkstate local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 linkstate neigh 1.1.1.2 additional-path-rx uni linkstate neigh 1.1.1.2 additional-path-tx uni linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni linkstate local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 linkstate neigh 1234:1::2 additional-path-rx uni linkstate neigh 1234:1::2 additional-path-tx uni linkstate red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni linkstate local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 linkstate neigh 1.1.1.1 additional-path-rx uni linkstate neigh 1.1.1.1 additional-path-tx uni linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni linkstate local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 linkstate neigh 1234:1::1 additional-path-rx uni linkstate neigh 1234:1::1 additional-path-tx uni linkstate red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.101 vrf v1 sou lo0 r2 tping 100 60 4321::101 vrf v1 sou lo0 r2 tping 100 60 2.2.2.201 vrf v1 sou lo0 r2 tping 100 60 4321::201 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp429.tst000066400000000000000000000027051510423065500166000ustar00rootroot00000000000000description unicast+ouni over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni ouni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ouni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni ouni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ouni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp430.tst000066400000000000000000000031171510423065500165660ustar00rootroot00000000000000description unicast+ouni over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni ouni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ouni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni ouni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ouni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena no afi-other vpn afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp431.tst000066400000000000000000000034711510423065500165720ustar00rootroot00000000000000description unicast+ouni over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni ouni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 additional-path-rx uni ouni neigh 1.1.1.2 additional-path-tx uni ouni afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ouni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 additional-path-rx uni ouni neigh 1234:1::2 additional-path-tx uni ouni afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni ouni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 additional-path-rx uni ouni neigh 1.1.1.1 additional-path-tx uni ouni afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ouni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 additional-path-rx uni ouni neigh 1234:1::1 additional-path-tx uni ouni afi-other ena no afi-other vpn afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp432.tst000066400000000000000000000026151510423065500165720ustar00rootroot00000000000000description unicast+ouni over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni ouni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 address uni ouni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni ouni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 address uni ouni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp433.tst000066400000000000000000000042361510423065500165740ustar00rootroot00000000000000description unicast+ouni over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni ouni local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 address uni ouni local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni ouni local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 address uni ouni local-as 1 router-id 6.6.6.2 neigh 1234:1::3 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 address uni ouni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-reflect neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 address uni ouni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-reflect neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect afi-other ena no afi-other vpn afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp434.tst000066400000000000000000000030471510423065500165740ustar00rootroot00000000000000description unicast+ouni over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni ouni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 confed afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ouni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 confed afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni ouni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ouni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 confed afi-other ena no afi-other vpn afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp435.tst000066400000000000000000000043671510423065500166030ustar00rootroot00000000000000description unicast+ouni over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni ouni local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ouni local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 3 afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni ouni local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ouni local-as 2 router-id 6.6.6.2 neigh 1234:1::3 remote-as 3 afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni ouni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-server neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-server afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ouni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-server neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-server afi-other ena no afi-other vpn afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp436.tst000066400000000000000000000026241510423065500165760ustar00rootroot00000000000000description unicast+omul over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni omlt local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni omlt local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni omlt local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni omlt local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp437.tst000066400000000000000000000030371510423065500165760ustar00rootroot00000000000000description unicast+omul over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni omlt local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni omlt local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni omlt local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni omlt local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp438.tst000066400000000000000000000034111510423065500165730ustar00rootroot00000000000000description unicast+omul over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni omlt local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 additional-path-rx uni omlt neigh 1.1.1.2 additional-path-tx uni omlt red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni omlt local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 additional-path-rx uni omlt neigh 1234:1::2 additional-path-tx uni omlt red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni omlt local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 additional-path-rx uni omlt neigh 1.1.1.1 additional-path-tx uni omlt red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni omlt local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 additional-path-rx uni omlt neigh 1234:1::1 additional-path-tx uni omlt red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp439.tst000066400000000000000000000026241510423065500166010ustar00rootroot00000000000000description unicast+oflw over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni oflw local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni oflw local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni oflw local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni oflw local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp440.tst000066400000000000000000000030371510423065500165700ustar00rootroot00000000000000description unicast+oflw over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni oflw local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni oflw local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni oflw local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni oflw local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp441.tst000066400000000000000000000034111510423065500165650ustar00rootroot00000000000000description unicast+oflw over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni oflw local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 additional-path-rx uni oflw neigh 1.1.1.2 additional-path-tx uni oflw red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni oflw local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 additional-path-rx uni oflw neigh 1234:1::2 additional-path-tx uni oflw red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni oflw local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 additional-path-rx uni oflw neigh 1.1.1.1 additional-path-tx uni oflw red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni oflw local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 additional-path-rx uni oflw neigh 1234:1::1 additional-path-tx uni oflw red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp442.tst000066400000000000000000000026241510423065500165730ustar00rootroot00000000000000description unicast+osrt over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni osrt local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni osrt local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni osrt local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni osrt local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp443.tst000066400000000000000000000030371510423065500165730ustar00rootroot00000000000000description unicast+osrt over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni osrt local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni osrt local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni osrt local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni osrt local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp444.tst000066400000000000000000000034111510423065500165700ustar00rootroot00000000000000description unicast+osrt over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni osrt local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 additional-path-rx uni osrt neigh 1.1.1.2 additional-path-tx uni osrt red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni osrt local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 additional-path-rx uni osrt neigh 1234:1::2 additional-path-tx uni osrt red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni osrt local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 additional-path-rx uni osrt neigh 1.1.1.1 additional-path-tx uni osrt red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni osrt local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 additional-path-rx uni osrt neigh 1234:1::1 additional-path-tx uni osrt red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp445.tst000066400000000000000000000046131510423065500165760ustar00rootroot00000000000000description ouni bgp ingress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.12/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::12/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-prefix-list-in p6 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-prefix-list-in p4 afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp446.tst000066400000000000000000000046141510423065500166000ustar00rootroot00000000000000description ouni bgp egress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.11/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::11/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-prefix-list-out p6 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-prefix-list-out p4 afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp447.tst000066400000000000000000000047151510423065500166030ustar00rootroot00000000000000description ouni bgp ingress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-route-map-in p6 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-route-map-in p4 afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp448.tst000066400000000000000000000047161510423065500166050ustar00rootroot00000000000000description ouni bgp egress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map p4 sequence 10 act deny match network 2.2.2.11/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::11/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-route-map-out p6 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-route-map-out p4 afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp449.tst000066400000000000000000000050261510423065500166010ustar00rootroot00000000000000description ouni bgp ingress route filtering with prefixlist with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.12/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::12/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 other-prefix-list-in p6 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 other-prefix-list-in p4 afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena no afi-other vpn afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp450.tst000066400000000000000000000050271510423065500165720ustar00rootroot00000000000000description ouni bgp egress route filtering with prefixlist with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.11/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::11/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 other-prefix-list-out p6 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 other-prefix-list-out p4 afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena no afi-other vpn afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp451.tst000066400000000000000000000051301510423065500165660ustar00rootroot00000000000000description ouni bgp ingress route filtering with routemap with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 other-route-map-in p6 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 other-route-map-in p4 afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena no afi-other vpn afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp452.tst000066400000000000000000000051311510423065500165700ustar00rootroot00000000000000description ouni bgp egress route filtering with routemap with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map p4 sequence 10 act deny match network 2.2.2.11/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::11/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 other-route-map-out p6 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 other-route-map-out p4 afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena no afi-other vpn afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp453.tst000066400000000000000000000045641510423065500166020ustar00rootroot00000000000000description ouni bgp ingress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-policy p4 if network 2.2.2.12/32 drop else pass enif exit route-policy p6 if network 4321::12/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-route-policy-in p6 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-route-policy-in p4 afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp454.tst000066400000000000000000000045651510423065500166040ustar00rootroot00000000000000description ouni bgp egress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-policy p4 if network 2.2.2.11/32 drop else pass enif exit route-policy p6 if network 4321::11/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-route-policy-out p6 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-route-policy-out p4 afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp455.tst000066400000000000000000000047771510423065500166120ustar00rootroot00000000000000description ouni bgp ingress route filtering with routepolicy with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-policy p4 if network 2.2.2.12/32 drop else pass enif exit route-policy p6 if network 4321::12/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 other-route-policy-in p6 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 other-route-policy-in p4 afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena no afi-other vpn afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp456.tst000066400000000000000000000050001510423065500165670ustar00rootroot00000000000000description ouni bgp egress route filtering with routepolicy with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-policy p4 if network 2.2.2.11/32 drop else pass enif exit route-policy p6 if network 4321::11/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 other-route-policy-out p6 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 other-route-policy-out p4 afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena no afi-other vpn afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp457.tst000066400000000000000000000026451510423065500166040ustar00rootroot00000000000000description ouni bgp default route addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-default afi-other ena no afi-other vpn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-default afi-other ena no afi-other vpn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp458.tst000066400000000000000000000070071510423065500166020ustar00rootroot00000000000000description vpns with default route addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v2 ena afi-vrf v2 default afi-vrf v3 ena afi-vrf v3 default afi-vrf v4 ena afi-vrf v4 default exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v2 ena afi-vrf v2 default afi-vrf v3 ena afi-vrf v3 default afi-vrf v4 ena afi-vrf v4 default exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp459.tst000066400000000000000000000025671510423065500166110ustar00rootroot00000000000000description olab bgp default route addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-default afi-other ena exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-default afi-other ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp460.tst000066400000000000000000000070501510423065500165710ustar00rootroot00000000000000description othervpns with default route addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-ovrf v2 ena afi-ovrf v2 default afi-ovrf v3 ena afi-ovrf v3 default afi-ovrf v4 ena afi-ovrf v4 default exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-ovrf v2 ena afi-ovrf v2 default afi-ovrf v3 ena afi-ovrf v3 default afi-ovrf v4 ena afi-ovrf v4 default exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp461.tst000066400000000000000000000143771510423065500166040ustar00rootroot00000000000000description vpns ingress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-map p4 sequence 10 act deny match network 9.9.2.22/32 sequence 20 act deny match network 9.9.3.22/32 sequence 30 act deny match network 9.9.4.22/32 sequence 40 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 9992::22/128 sequence 20 act deny match network 9993::22/128 sequence 30 act deny match network 9994::22/128 sequence 40 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 vpn-route-map-in p4 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 vpn-route-map-in p6 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 0 60 9.9.2.22 vrf v2 r2 tping 100 60 9.9.2.11 vrf v2 r1 tping 0 60 9992::22 vrf v2 r2 tping 100 60 9992::11 vrf v2 r1 tping 0 60 9.9.3.22 vrf v3 r2 tping 100 60 9.9.3.11 vrf v3 r1 tping 0 60 9993::22 vrf v3 r2 tping 100 60 9993::11 vrf v3 r1 tping 0 60 9.9.4.22 vrf v4 r2 tping 100 60 9.9.4.11 vrf v4 r1 tping 0 60 9994::22 vrf v4 r2 tping 100 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp462.tst000066400000000000000000000144001510423065500165700ustar00rootroot00000000000000description vpns egress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-map p4 sequence 10 act deny match network 9.9.2.11/32 sequence 20 act deny match network 9.9.3.11/32 sequence 30 act deny match network 9.9.4.11/32 sequence 40 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 9992::11/128 sequence 20 act deny match network 9993::11/128 sequence 30 act deny match network 9994::11/128 sequence 40 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 vpn-route-map-out p4 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 vpn-route-map-out p6 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 100 60 9.9.2.22 vrf v2 r2 tping 0 60 9.9.2.11 vrf v2 r1 tping 100 60 9992::22 vrf v2 r2 tping 0 60 9992::11 vrf v2 r1 tping 100 60 9.9.3.22 vrf v3 r2 tping 0 60 9.9.3.11 vrf v3 r1 tping 100 60 9993::22 vrf v3 r2 tping 0 60 9993::11 vrf v3 r1 tping 100 60 9.9.4.22 vrf v4 r2 tping 0 60 9.9.4.11 vrf v4 r1 tping 100 60 9994::22 vrf v4 r2 tping 0 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp463.tst000066400000000000000000000146061510423065500166010ustar00rootroot00000000000000description vpns ingress route filtering with routemap with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-map p4 sequence 10 act deny match network 9.9.2.22/32 sequence 20 act deny match network 9.9.3.22/32 sequence 30 act deny match network 9.9.4.22/32 sequence 40 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 9992::22/128 sequence 20 act deny match network 9993::22/128 sequence 30 act deny match network 9994::22/128 sequence 40 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig neigh 2.2.2.2 vpn-route-map-in p4 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig neigh 4321::2 vpn-route-map-in p6 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 0 60 9.9.2.22 vrf v2 r2 tping 100 60 9.9.2.11 vrf v2 r1 tping 0 60 9992::22 vrf v2 r2 tping 100 60 9992::11 vrf v2 r1 tping 0 60 9.9.3.22 vrf v3 r2 tping 100 60 9.9.3.11 vrf v3 r1 tping 0 60 9993::22 vrf v3 r2 tping 100 60 9993::11 vrf v3 r1 tping 0 60 9.9.4.22 vrf v4 r2 tping 100 60 9.9.4.11 vrf v4 r1 tping 0 60 9994::22 vrf v4 r2 tping 100 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp464.tst000066400000000000000000000146071510423065500166030ustar00rootroot00000000000000description vpns egress route filtering with routemap with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-map p4 sequence 10 act deny match network 9.9.2.11/32 sequence 20 act deny match network 9.9.3.11/32 sequence 30 act deny match network 9.9.4.11/32 sequence 40 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 9992::11/128 sequence 20 act deny match network 9993::11/128 sequence 30 act deny match network 9994::11/128 sequence 40 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig neigh 2.2.2.2 vpn-route-map-out p4 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig neigh 4321::2 vpn-route-map-out p6 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 100 60 9.9.2.22 vrf v2 r2 tping 0 60 9.9.2.11 vrf v2 r1 tping 100 60 9992::22 vrf v2 r2 tping 0 60 9992::11 vrf v2 r1 tping 100 60 9.9.3.22 vrf v3 r2 tping 0 60 9.9.3.11 vrf v3 r1 tping 100 60 9993::22 vrf v3 r2 tping 0 60 9993::11 vrf v3 r1 tping 100 60 9.9.4.22 vrf v4 r2 tping 0 60 9.9.4.11 vrf v4 r1 tping 100 60 9994::22 vrf v4 r2 tping 0 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp465.tst000066400000000000000000000142461510423065500166030ustar00rootroot00000000000000description vpns ingress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-policy p4 if network 9.9.2.22/32 drop enif if network 9.9.3.22/32 drop enif if network 9.9.4.22/32 drop enif if network 0.0.0.0/0 le 32 pass enif exit route-policy p6 if network 9992::22/128 drop enif if network 9993::22/128 drop enif if network 9994::22/128 drop enif if network ::/0 le 128 pass enif exit router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 vpn-route-policy-in p4 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 vpn-route-policy-in p6 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 0 60 9.9.2.22 vrf v2 r2 tping 100 60 9.9.2.11 vrf v2 r1 tping 0 60 9992::22 vrf v2 r2 tping 100 60 9992::11 vrf v2 r1 tping 0 60 9.9.3.22 vrf v3 r2 tping 100 60 9.9.3.11 vrf v3 r1 tping 0 60 9993::22 vrf v3 r2 tping 100 60 9993::11 vrf v3 r1 tping 0 60 9.9.4.22 vrf v4 r2 tping 100 60 9.9.4.11 vrf v4 r1 tping 0 60 9994::22 vrf v4 r2 tping 100 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp466.tst000066400000000000000000000142471510423065500166050ustar00rootroot00000000000000description vpns egress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-policy p4 if network 9.9.2.11/32 drop enif if network 9.9.3.11/32 drop enif if network 9.9.4.11/32 drop enif if network 0.0.0.0/0 le 32 pass enif exit route-policy p6 if network 9992::11/128 drop enif if network 9993::11/128 drop enif if network 9994::11/128 drop enif if network ::/0 le 128 pass enif exit router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 vpn-route-policy-out p4 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 vpn-route-policy-out p6 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 100 60 9.9.2.22 vrf v2 r2 tping 0 60 9.9.2.11 vrf v2 r1 tping 100 60 9992::22 vrf v2 r2 tping 0 60 9992::11 vrf v2 r1 tping 100 60 9.9.3.22 vrf v3 r2 tping 0 60 9.9.3.11 vrf v3 r1 tping 100 60 9993::22 vrf v3 r2 tping 0 60 9993::11 vrf v3 r1 tping 100 60 9.9.4.22 vrf v4 r2 tping 0 60 9.9.4.11 vrf v4 r1 tping 100 60 9994::22 vrf v4 r2 tping 0 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp467.tst000066400000000000000000000144551510423065500166070ustar00rootroot00000000000000description vpns ingress route filtering with routepolicy with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-policy p4 if network 9.9.2.22/32 drop enif if network 9.9.3.22/32 drop enif if network 9.9.4.22/32 drop enif if network 0.0.0.0/0 le 32 pass enif exit route-policy p6 if network 9992::22/128 drop enif if network 9993::22/128 drop enif if network 9994::22/128 drop enif if network ::/0 le 128 pass enif exit router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig neigh 2.2.2.2 vpn-route-policy-in p4 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig neigh 4321::2 vpn-route-policy-in p6 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 0 60 9.9.2.22 vrf v2 r2 tping 100 60 9.9.2.11 vrf v2 r1 tping 0 60 9992::22 vrf v2 r2 tping 100 60 9992::11 vrf v2 r1 tping 0 60 9.9.3.22 vrf v3 r2 tping 100 60 9.9.3.11 vrf v3 r1 tping 0 60 9993::22 vrf v3 r2 tping 100 60 9993::11 vrf v3 r1 tping 0 60 9.9.4.22 vrf v4 r2 tping 100 60 9.9.4.11 vrf v4 r1 tping 0 60 9994::22 vrf v4 r2 tping 100 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp468.tst000066400000000000000000000144561510423065500166110ustar00rootroot00000000000000description vpns egress route filtering with routepolicy with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-policy p4 if network 9.9.2.11/32 drop enif if network 9.9.3.11/32 drop enif if network 9.9.4.11/32 drop enif if network 0.0.0.0/0 le 32 pass enif exit route-policy p6 if network 9992::11/128 drop enif if network 9993::11/128 drop enif if network 9994::11/128 drop enif if network ::/0 le 128 pass enif exit router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig neigh 2.2.2.2 vpn-route-policy-out p4 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig neigh 4321::2 vpn-route-policy-out p6 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 100 60 9.9.2.22 vrf v2 r2 tping 0 60 9.9.2.11 vrf v2 r1 tping 100 60 9992::22 vrf v2 r2 tping 0 60 9992::11 vrf v2 r1 tping 100 60 9.9.3.22 vrf v3 r2 tping 0 60 9.9.3.11 vrf v3 r1 tping 100 60 9993::22 vrf v3 r2 tping 0 60 9993::11 vrf v3 r1 tping 100 60 9.9.4.22 vrf v4 r2 tping 0 60 9.9.4.11 vrf v4 r1 tping 100 60 9994::22 vrf v4 r2 tping 0 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp469.tst000066400000000000000000000144421510423065500166050ustar00rootroot00000000000000description othervpns ingress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-map p4 sequence 10 act deny match network 9.9.2.22/32 sequence 20 act deny match network 9.9.3.22/32 sequence 30 act deny match network 9.9.4.22/32 sequence 40 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 9992::22/128 sequence 20 act deny match network 9993::22/128 sequence 30 act deny match network 9994::22/128 sequence 40 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 ovpn-route-map-in p6 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 ovpn-route-map-in p4 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 0 60 9.9.2.22 vrf v2 r2 tping 100 60 9.9.2.11 vrf v2 r1 tping 0 60 9992::22 vrf v2 r2 tping 100 60 9992::11 vrf v2 r1 tping 0 60 9.9.3.22 vrf v3 r2 tping 100 60 9.9.3.11 vrf v3 r1 tping 0 60 9993::22 vrf v3 r2 tping 100 60 9993::11 vrf v3 r1 tping 0 60 9.9.4.22 vrf v4 r2 tping 100 60 9.9.4.11 vrf v4 r1 tping 0 60 9994::22 vrf v4 r2 tping 100 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp470.tst000066400000000000000000000144431510423065500165760ustar00rootroot00000000000000description othervpns egress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-map p4 sequence 10 act deny match network 9.9.2.11/32 sequence 20 act deny match network 9.9.3.11/32 sequence 30 act deny match network 9.9.4.11/32 sequence 40 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 9992::11/128 sequence 20 act deny match network 9993::11/128 sequence 30 act deny match network 9994::11/128 sequence 40 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 ovpn-route-map-out p6 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 ovpn-route-map-out p4 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 100 60 9.9.2.22 vrf v2 r2 tping 0 60 9.9.2.11 vrf v2 r1 tping 100 60 9992::22 vrf v2 r2 tping 0 60 9992::11 vrf v2 r1 tping 100 60 9.9.3.22 vrf v3 r2 tping 0 60 9.9.3.11 vrf v3 r1 tping 100 60 9993::22 vrf v3 r2 tping 0 60 9993::11 vrf v3 r1 tping 100 60 9.9.4.22 vrf v4 r2 tping 0 60 9.9.4.11 vrf v4 r1 tping 100 60 9994::22 vrf v4 r2 tping 0 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp471.tst000066400000000000000000000146511510423065500166000ustar00rootroot00000000000000description othervpns ingress route filtering with routemap with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-map p4 sequence 10 act deny match network 9.9.2.22/32 sequence 20 act deny match network 9.9.3.22/32 sequence 30 act deny match network 9.9.4.22/32 sequence 40 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 9992::22/128 sequence 20 act deny match network 9993::22/128 sequence 30 act deny match network 9994::22/128 sequence 40 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig neigh 2.2.2.2 ovpn-route-map-in p6 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig neigh 4321::2 ovpn-route-map-in p4 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 0 60 9.9.2.22 vrf v2 r2 tping 100 60 9.9.2.11 vrf v2 r1 tping 0 60 9992::22 vrf v2 r2 tping 100 60 9992::11 vrf v2 r1 tping 0 60 9.9.3.22 vrf v3 r2 tping 100 60 9.9.3.11 vrf v3 r1 tping 0 60 9993::22 vrf v3 r2 tping 100 60 9993::11 vrf v3 r1 tping 0 60 9.9.4.22 vrf v4 r2 tping 100 60 9.9.4.11 vrf v4 r1 tping 0 60 9994::22 vrf v4 r2 tping 100 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp472.tst000066400000000000000000000146521510423065500166020ustar00rootroot00000000000000description othervpns egress route filtering with routemap with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-map p4 sequence 10 act deny match network 9.9.2.11/32 sequence 20 act deny match network 9.9.3.11/32 sequence 30 act deny match network 9.9.4.11/32 sequence 40 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 9992::11/128 sequence 20 act deny match network 9993::11/128 sequence 30 act deny match network 9994::11/128 sequence 40 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig neigh 2.2.2.2 ovpn-route-map-out p6 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig neigh 4321::2 ovpn-route-map-out p4 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 100 60 9.9.2.22 vrf v2 r2 tping 0 60 9.9.2.11 vrf v2 r1 tping 100 60 9992::22 vrf v2 r2 tping 0 60 9992::11 vrf v2 r1 tping 100 60 9.9.3.22 vrf v3 r2 tping 0 60 9.9.3.11 vrf v3 r1 tping 100 60 9993::22 vrf v3 r2 tping 0 60 9993::11 vrf v3 r1 tping 100 60 9.9.4.22 vrf v4 r2 tping 0 60 9.9.4.11 vrf v4 r1 tping 100 60 9994::22 vrf v4 r2 tping 0 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp473.tst000066400000000000000000000143111510423065500165730ustar00rootroot00000000000000description othervpns ingress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-policy p4 if network 9.9.2.22/32 drop enif if network 9.9.3.22/32 drop enif if network 9.9.4.22/32 drop enif if network 0.0.0.0/0 le 32 pass enif exit route-policy p6 if network 9992::22/128 drop enif if network 9993::22/128 drop enif if network 9994::22/128 drop enif if network ::/0 le 128 pass enif exit router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 ovpn-route-policy-in p6 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 ovpn-route-policy-in p4 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 0 60 9.9.2.22 vrf v2 r2 tping 100 60 9.9.2.11 vrf v2 r1 tping 0 60 9992::22 vrf v2 r2 tping 100 60 9992::11 vrf v2 r1 tping 0 60 9.9.3.22 vrf v3 r2 tping 100 60 9.9.3.11 vrf v3 r1 tping 0 60 9993::22 vrf v3 r2 tping 100 60 9993::11 vrf v3 r1 tping 0 60 9.9.4.22 vrf v4 r2 tping 100 60 9.9.4.11 vrf v4 r1 tping 0 60 9994::22 vrf v4 r2 tping 100 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp474.tst000066400000000000000000000143121510423065500165750ustar00rootroot00000000000000description othervpns egress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-policy p4 if network 9.9.2.11/32 drop enif if network 9.9.3.11/32 drop enif if network 9.9.4.11/32 drop enif if network 0.0.0.0/0 le 32 pass enif exit route-policy p6 if network 9992::11/128 drop enif if network 9993::11/128 drop enif if network 9994::11/128 drop enif if network ::/0 le 128 pass enif exit router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 ovpn-route-policy-out p6 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 ovpn-route-policy-out p4 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 100 60 9.9.2.22 vrf v2 r2 tping 0 60 9.9.2.11 vrf v2 r1 tping 100 60 9992::22 vrf v2 r2 tping 0 60 9992::11 vrf v2 r1 tping 100 60 9.9.3.22 vrf v3 r2 tping 0 60 9.9.3.11 vrf v3 r1 tping 100 60 9993::22 vrf v3 r2 tping 0 60 9993::11 vrf v3 r1 tping 100 60 9.9.4.22 vrf v4 r2 tping 0 60 9.9.4.11 vrf v4 r1 tping 100 60 9994::22 vrf v4 r2 tping 0 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp475.tst000066400000000000000000000145201510423065500165770ustar00rootroot00000000000000description othervpns ingress route filtering with routepolicy with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-policy p4 if network 9.9.2.22/32 drop enif if network 9.9.3.22/32 drop enif if network 9.9.4.22/32 drop enif if network 0.0.0.0/0 le 32 pass enif exit route-policy p6 if network 9992::22/128 drop enif if network 9993::22/128 drop enif if network 9994::22/128 drop enif if network ::/0 le 128 pass enif exit router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig neigh 2.2.2.2 ovpn-route-policy-in p6 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig neigh 4321::2 ovpn-route-policy-in p4 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 0 60 9.9.2.22 vrf v2 r2 tping 100 60 9.9.2.11 vrf v2 r1 tping 0 60 9992::22 vrf v2 r2 tping 100 60 9992::11 vrf v2 r1 tping 0 60 9.9.3.22 vrf v3 r2 tping 100 60 9.9.3.11 vrf v3 r1 tping 0 60 9993::22 vrf v3 r2 tping 100 60 9993::11 vrf v3 r1 tping 0 60 9.9.4.22 vrf v4 r2 tping 100 60 9.9.4.11 vrf v4 r1 tping 0 60 9994::22 vrf v4 r2 tping 100 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp476.tst000066400000000000000000000145211510423065500166010ustar00rootroot00000000000000description othervpns egress route filtering with routepolicy with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-policy p4 if network 9.9.2.11/32 drop enif if network 9.9.3.11/32 drop enif if network 9.9.4.11/32 drop enif if network 0.0.0.0/0 le 32 pass enif exit route-policy p6 if network 9992::11/128 drop enif if network 9993::11/128 drop enif if network 9994::11/128 drop enif if network ::/0 le 128 pass enif exit router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig neigh 2.2.2.2 ovpn-route-policy-out p6 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig neigh 4321::2 ovpn-route-policy-out p4 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 100 60 9.9.2.22 vrf v2 r2 tping 0 60 9.9.2.11 vrf v2 r1 tping 100 60 9992::22 vrf v2 r2 tping 0 60 9992::11 vrf v2 r1 tping 100 60 9.9.3.22 vrf v3 r2 tping 0 60 9.9.3.11 vrf v3 r1 tping 100 60 9993::22 vrf v3 r2 tping 0 60 9993::11 vrf v3 r1 tping 100 60 9.9.4.22 vrf v4 r2 tping 0 60 9.9.4.11 vrf v4 r1 tping 100 60 9994::22 vrf v4 r2 tping 0 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp477.tst000066400000000000000000000043531510423065500166040ustar00rootroot00000000000000description labels bgp ingress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit prefix-list p4 sequence 10 deny 2.2.2.12/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::12/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 prefix-list-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 prefix-list-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp478.tst000066400000000000000000000043541510423065500166060ustar00rootroot00000000000000description labels bgp egress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit prefix-list p4 sequence 10 deny 2.2.2.11/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::11/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 prefix-list-out p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 prefix-list-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp479.tst000066400000000000000000000044551510423065500166110ustar00rootroot00000000000000description labels bgp ingress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-map-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-map-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp480.tst000066400000000000000000000044561510423065500166020ustar00rootroot00000000000000description labels bgp egress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.11/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::11/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-map-out p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-map-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp481.tst000066400000000000000000000045661510423065500166050ustar00rootroot00000000000000description labels bgp ingress route filtering with prefixlist with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit prefix-list p4 sequence 10 deny 2.2.2.12/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::12/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 prefix-list-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 prefix-list-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp482.tst000066400000000000000000000045671510423065500166070ustar00rootroot00000000000000description labels bgp egress route filtering with prefixlist with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit prefix-list p4 sequence 10 deny 2.2.2.11/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::11/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 prefix-list-out p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 prefix-list-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp483.tst000066400000000000000000000046701510423065500166030ustar00rootroot00000000000000description labels bgp ingress route filtering with routemap with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-map-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-map-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp484.tst000066400000000000000000000046711510423065500166050ustar00rootroot00000000000000description labels bgp egress route filtering with routemap with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.11/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::11/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-map-out p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-map-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp485.tst000066400000000000000000000043241510423065500166010ustar00rootroot00000000000000description labels bgp ingress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-policy p4 if network 2.2.2.12/32 drop else pass enif exit route-policy p6 if network 4321::12/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-policy-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-policy-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp486.tst000066400000000000000000000043251510423065500166030ustar00rootroot00000000000000description labels bgp egress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-policy p4 if network 2.2.2.11/32 drop else pass enif exit route-policy p6 if network 4321::11/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-policy-out p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-policy-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp487.tst000066400000000000000000000045371510423065500166110ustar00rootroot00000000000000description labels bgp ingress route filtering with routepolicy with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-policy p4 if network 2.2.2.12/32 drop else pass enif exit route-policy p6 if network 4321::12/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-policy-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-policy-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp488.tst000066400000000000000000000045401510423065500166040ustar00rootroot00000000000000description labels bgp egress route filtering with routepolicy with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-policy p4 if network 2.2.2.11/32 drop else pass enif exit route-policy p6 if network 4321::11/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-policy-out p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-policy-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp489.tst000066400000000000000000000024311510423065500166020ustar00rootroot00000000000000description labels bgp default route addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 default exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 default exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp490.tst000066400000000000000000000045351510423065500166010ustar00rootroot00000000000000description olab bgp ingress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit prefix-list p4 sequence 10 deny 2.2.2.12/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::12/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-prefix-list-in p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-prefix-list-in p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp491.tst000066400000000000000000000045361510423065500166030ustar00rootroot00000000000000description olab bgp egress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit prefix-list p4 sequence 10 deny 2.2.2.11/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::11/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-prefix-list-out p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-prefix-list-out p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp492.tst000066400000000000000000000046371510423065500166060ustar00rootroot00000000000000description olab bgp ingress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-route-map-in p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-route-map-in p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp493.tst000066400000000000000000000046401510423065500166010ustar00rootroot00000000000000description olab bgp egress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.11/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::11/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-route-map-out p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-route-map-out p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp494.tst000066400000000000000000000047501510423065500166040ustar00rootroot00000000000000description olab bgp ingress route filtering with prefixlist with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit prefix-list p4 sequence 10 deny 2.2.2.12/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::12/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 other-prefix-list-in p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 other-prefix-list-in p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp495.tst000066400000000000000000000047511510423065500166060ustar00rootroot00000000000000description olab bgp egress route filtering with prefixlist with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit prefix-list p4 sequence 10 deny 2.2.2.11/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::11/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 other-prefix-list-out p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 other-prefix-list-out p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp496.tst000066400000000000000000000050521510423065500166020ustar00rootroot00000000000000description olab bgp ingress route filtering with routemap with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 other-route-map-in p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 other-route-map-in p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp497.tst000066400000000000000000000050531510423065500166040ustar00rootroot00000000000000description olab bgp egress route filtering with routemap with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.11/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::11/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 other-route-map-out p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 other-route-map-out p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp498.tst000066400000000000000000000045061510423065500166070ustar00rootroot00000000000000description olab bgp ingress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-policy p4 if network 2.2.2.12/32 drop else pass enif exit route-policy p6 if network 4321::12/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-route-policy-in p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-route-policy-in p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp499.tst000066400000000000000000000045071510423065500166110ustar00rootroot00000000000000description olab bgp egress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-policy p4 if network 2.2.2.11/32 drop else pass enif exit route-policy p6 if network 4321::11/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-route-policy-out p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-route-policy-out p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp500.tst000066400000000000000000000047211510423065500165660ustar00rootroot00000000000000description olab bgp ingress route filtering with routepolicy with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-policy p4 if network 2.2.2.12/32 drop else pass enif exit route-policy p6 if network 4321::12/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 other-route-policy-in p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 other-route-policy-in p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp501.tst000066400000000000000000000047221510423065500165700ustar00rootroot00000000000000description olab bgp egress route filtering with routepolicy with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-policy p4 if network 2.2.2.11/32 drop else pass enif exit route-policy p6 if network 4321::11/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 other-route-policy-out p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 other-route-policy-out p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp502.tst000066400000000000000000000045021510423065500165650ustar00rootroot00000000000000description labels bgp aggregation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-map-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-map-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 aggregate 2.2.2.0/24 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 aggregate 4321::/32 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp503.tst000066400000000000000000000046501510423065500165720ustar00rootroot00000000000000description olab bgp aggregation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-map-in p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-map-in p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 aggregate 2.2.2.0/24 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 aggregate 4321::/32 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp504.tst000066400000000000000000000047261510423065500165770ustar00rootroot00000000000000description ouni bgp aggregation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-map-in p6 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-map-in p4 afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 aggregate 2.2.2.0/24 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 aggregate 4321::/32 afi-other ena no afi-other vpn afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp505.tst000066400000000000000000000145041510423065500165730ustar00rootroot00000000000000description bgp vpns aggregation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-map p4 sequence 10 act perm match network 9.9.2.0/24 sequence 20 act perm match network 9.9.3.0/24 sequence 30 act perm match network 9.9.4.0/24 exit route-map p6 sequence 10 act perm match network 9992::/32 sequence 20 act perm match network 9993::/32 sequence 30 act perm match network 9994::/32 exit router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 vpn-route-map-in p4 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 vpn-route-map-in p6 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 aggregate 9.9.2.0/24 afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v3 aggregate 9.9.3.0/24 afi-vrf v4 ena afi-vrf v4 red conn afi-vrf v4 aggregate 9.9.4.0/24 exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 aggregate 9992::/32 afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v3 aggregate 9993::/32 afi-vrf v4 ena afi-vrf v4 red conn afi-vrf v4 aggregate 9994::/32 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 100 60 9.9.2.22 vrf v2 r2 tping 100 60 9.9.2.11 vrf v2 r1 tping 100 60 9992::22 vrf v2 r2 tping 100 60 9992::11 vrf v2 r1 tping 100 60 9.9.3.22 vrf v3 r2 tping 100 60 9.9.3.11 vrf v3 r1 tping 100 60 9993::22 vrf v3 r2 tping 100 60 9993::11 vrf v3 r1 tping 100 60 9.9.4.22 vrf v4 r2 tping 100 60 9.9.4.11 vrf v4 r1 tping 100 60 9994::22 vrf v4 r2 tping 100 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp506.tst000066400000000000000000000145551510423065500166020ustar00rootroot00000000000000description bgp othervpns aggregation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-map p4 sequence 10 act perm match network 9.9.2.0/24 sequence 20 act perm match network 9.9.3.0/24 sequence 30 act perm match network 9.9.4.0/24 exit route-map p6 sequence 10 act perm match network 9992::/32 sequence 20 act perm match network 9993::/32 sequence 30 act perm match network 9994::/32 exit router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 ovpn-route-map-in p6 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 ovpn-route-map-in p4 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 aggregate 9992::/32 afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v3 aggregate 9993::/32 afi-ovrf v4 ena afi-ovrf v4 red conn afi-ovrf v4 aggregate 9994::/32 exit router bgp6 1 vrf v1 no safe-ebgp address ovpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 aggregate 9.9.2.0/24 afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v3 aggregate 9.9.3.0/24 afi-ovrf v4 ena afi-ovrf v4 red conn afi-ovrf v4 aggregate 9.9.4.0/24 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 100 60 9.9.2.22 vrf v2 r2 tping 100 60 9.9.2.11 vrf v2 r1 tping 100 60 9992::22 vrf v2 r2 tping 100 60 9992::11 vrf v2 r1 tping 100 60 9.9.3.22 vrf v3 r2 tping 100 60 9.9.3.11 vrf v3 r1 tping 100 60 9993::22 vrf v3 r2 tping 100 60 9993::11 vrf v3 r1 tping 100 60 9.9.4.22 vrf v4 r2 tping 100 60 9.9.4.11 vrf v4 r1 tping 100 60 9994::22 vrf v4 r2 tping 100 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp507.tst000066400000000000000000000055561510423065500166040ustar00rootroot00000000000000description bgp routemap clearing with standard community addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 clear stdcomm 1234:4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.2 route-map-in rm1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both neigh 1.1.1.3 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::2 route-map-in rm1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both neigh 1234:1::3 route-map-in rm1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set stdcomm 1234:4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match stdcomm 1234:4321 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp508.tst000066400000000000000000000055641510423065500166040ustar00rootroot00000000000000description bgp routemap clearing with extended community addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 clear extcomm 1:1234:4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.2 route-map-in rm1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both neigh 1.1.1.3 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::2 route-map-in rm1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both neigh 1234:1::3 route-map-in rm1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set extcomm 1:1234:4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match extcomm 1:1234:4321 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp509.tst000066400000000000000000000055511510423065500166010ustar00rootroot00000000000000description bgp routemap clearing with large community addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 clear lrgcomm 1:1234:4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm all neigh 1.1.1.2 route-map-in rm1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm all neigh 1.1.1.3 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm all neigh 1234:1::2 route-map-in rm1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm all neigh 1234:1::3 route-map-in rm1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set lrgcomm 1:1234:4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm all red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm all red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match lrgcomm 1:1234:4321 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm all neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm all neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp510.tst000066400000000000000000000056061510423065500165720ustar00rootroot00000000000000description bgp routepolicy clearing with standard community addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit route-policy rm1 clear stdcomm 1234:4321 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.2 route-policy-in rm1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both neigh 1.1.1.3 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::2 route-policy-in rm1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both neigh 1234:1::3 route-policy-in rm1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set stdcomm 1234:4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match stdcomm 1234:4321 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp511.tst000066400000000000000000000056141510423065500165720ustar00rootroot00000000000000description bgp routepolicy clearing with extended community addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit route-policy rm1 clear extcomm 1:1234:4321 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.2 route-policy-in rm1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both neigh 1.1.1.3 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::2 route-policy-in rm1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both neigh 1234:1::3 route-policy-in rm1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set extcomm 1:1234:4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match extcomm 1:1234:4321 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp512.tst000066400000000000000000000056011510423065500165670ustar00rootroot00000000000000description bgp routepolicy clearing with large community addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit route-policy rm1 clear lrgcomm 1:1234:4321 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm all neigh 1.1.1.2 route-policy-in rm1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm all neigh 1.1.1.3 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm all neigh 1234:1::2 route-policy-in rm1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm all neigh 1234:1::3 route-policy-in rm1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set lrgcomm 1:1234:4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm all red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm all red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match lrgcomm 1:1234:4321 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm all neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm all neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp513.tst000066400000000000000000000051271510423065500165730ustar00rootroot00000000000000description bgp routemap clearing with aspath addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 clear exact 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 route-map-in rm1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 route-map-in rm1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 route-map-in rm1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match aspath 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp514.tst000066400000000000000000000051571510423065500165770ustar00rootroot00000000000000description bgp routepolicy clearing with aspath addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit route-policy rm1 clear exact 1234 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 route-policy-in rm1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 route-policy-in rm1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 route-policy-in rm1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match aspath 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp515.tst000066400000000000000000000050531510423065500165730ustar00rootroot00000000000000description bgp autoroute addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ int ser2 ser 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.0 ipv6 addr 9999::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit int ser2 vrf for v1 ipv4 addr 9.9.8.1 255.255.255.0 ipv6 addr 9998::1 ffff:: ipv4 autoroute bgp4 1 2.2.2.2 9.9.8.2 recur ipv6 autoroute bgp6 1 4321::2 9998::2 recur exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 9.9.9.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 9999::2 remote-as 2 red conn exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ int ser2 ser 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.0 ipv6 addr 9999::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit int ser2 vrf for v1 ipv4 addr 9.9.8.2 255.255.255.0 ipv6 addr 9998::2 ffff:: ipv4 autoroute bgp4 1 2.2.2.1 9.9.8.1 recur ipv6 autoroute bgp6 1 4321::1 9998::1 recur exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.1 neigh 9.9.9.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.1 neigh 9999::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r1 tping 0 60 9.9.9.2 vrf v1 r1 tping 0 60 9999::2 vrf v1 r2 tping 0 60 9.9.9.1 vrf v1 r2 tping 0 60 9999::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp516.tst000066400000000000000000000067661510423065500166100ustar00rootroot00000000000000description bgp extended open addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 extended-open red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 extended-open red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 extended-open neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 extended-open red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 extended-open neigh 1234:2::2 remote-as 3 neigh 1234:2::2 extended-open red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.10 remote-as 4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:3::2 remote-as 4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 extended-open red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 extended-open red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp517.tst000066400000000000000000000070101510423065500165700ustar00rootroot00000000000000description bgp extended update addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 extended-update red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 extended-update red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 extended-update neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 extended-update red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 extended-update neigh 1234:2::2 remote-as 3 neigh 1234:2::2 extended-update red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.10 remote-as 4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:3::2 remote-as 4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 extended-update red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 extended-update red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp518.tst000066400000000000000000000070401510423065500165740ustar00rootroot00000000000000description bgp multiple labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 multiple-label uni red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 multiple-label uni red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 multiple-label uni neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 multiple-label uni red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 multiple-label uni neigh 1234:2::2 remote-as 3 neigh 1234:2::2 multiple-label uni red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.10 remote-as 4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:3::2 remote-as 4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 multiple-label uni red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 multiple-label uni red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp519.tst000066400000000000000000000076311510423065500166030ustar00rootroot00000000000000description bgp graceful restart addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni graceful 10000 longlive 10000 local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 graceful uni neigh 1.1.1.2 longlive uni red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni graceful 10000 longlive 10000 local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 graceful uni neigh 1234:1::2 longlive uni red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni graceful 10000 longlive 10000 local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 graceful uni neigh 1.1.1.1 longlive uni neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 graceful uni neigh 1.1.1.6 longlive uni red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni graceful 10000 longlive 10000 local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 graceful uni neigh 1234:1::1 longlive uni neigh 1234:2::2 remote-as 3 neigh 1234:2::2 graceful uni neigh 1234:2::2 longlive uni red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.10 remote-as 4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:3::2 remote-as 4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni graceful 10000 longlive 10000 local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 graceful uni neigh 1.1.1.9 longlive uni red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni graceful 10000 longlive 10000 local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 graceful uni neigh 1234:3::1 longlive uni red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp520.tst000066400000000000000000000077411510423065500165750ustar00rootroot00000000000000description bgp extended nexthop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni multi local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 extended-nexthop-curr uni neigh 1.1.1.2 extended-nexthop-oth multi red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni multi local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 extended-nexthop-curr uni neigh 1234:1::2 extended-nexthop-oth multi red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni multi local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 extended-nexthop-curr uni neigh 1.1.1.1 extended-nexthop-oth multi neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 extended-nexthop-curr uni neigh 1.1.1.6 extended-nexthop-oth multi red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni multi local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 extended-nexthop-curr uni neigh 1234:1::1 extended-nexthop-oth multi neigh 1234:2::2 remote-as 3 neigh 1234:2::2 extended-nexthop-curr uni neigh 1234:2::2 extended-nexthop-oth multi red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni multi local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.10 remote-as 4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni multi local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:3::2 remote-as 4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni multi local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 extended-nexthop-curr uni neigh 1.1.1.9 extended-nexthop-oth multi red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni multi local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 extended-nexthop-curr uni neigh 1234:3::1 extended-nexthop-oth multi red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp521.tst000066400000000000000000000072041510423065500165700ustar00rootroot00000000000000description bgp leak prevention with customer provider addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 leak-role prov red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 leak-role prov red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 leak-role cust neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 leak-role prov red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 leak-role cust neigh 1234:2::2 remote-as 3 neigh 1234:2::2 leak-role prov red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 leak-role cust neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 leak-role cust red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 leak-role cust neigh 1234:3::2 remote-as 4 neigh 1234:3::2 leak-role cust red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 leak-role prov red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 leak-role prov red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 0 60 2.2.2.4 vrf v1 r1 tping 0 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r2 tping 0 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 0 60 2.2.2.1 vrf v1 r4 tping 0 60 4321::1 vrf v1 r4 tping 0 60 2.2.2.2 vrf v1 r4 tping 0 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp522.tst000066400000000000000000000072171510423065500165750ustar00rootroot00000000000000description bgp leak prevention with route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 leak-role prov red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 leak-role prov red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 leak-role cust neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 leak-role ix-ser red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 leak-role cust neigh 1234:2::2 remote-as 3 neigh 1234:2::2 leak-role ix-ser red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 leak-role ix-cli neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 leak-role ix-cli red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 leak-role ix-cli neigh 1234:3::2 remote-as 4 neigh 1234:3::2 leak-role ix-cli red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 leak-role ix-ser red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 leak-role ix-ser red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 0 60 2.2.2.4 vrf v1 r1 tping 0 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r2 tping 0 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 0 60 2.2.2.1 vrf v1 r4 tping 0 60 4321::1 vrf v1 r4 tping 0 60 2.2.2.2 vrf v1 r4 tping 0 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp523.tst000066400000000000000000000071571510423065500166010ustar00rootroot00000000000000description bgp leak prevention with peer addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 leak-role prov red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 leak-role prov red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 leak-role cust neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 leak-role peer red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 leak-role cust neigh 1234:2::2 remote-as 3 neigh 1234:2::2 leak-role peer red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 leak-role peer neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 leak-role peer red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 leak-role peer neigh 1234:3::2 remote-as 4 neigh 1234:3::2 leak-role peer red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 leak-role peer red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 leak-role peer red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 0 60 2.2.2.4 vrf v1 r1 tping 0 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r2 tping 0 60 4321::4 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 0 60 2.2.2.1 vrf v1 r4 tping 0 60 4321::1 vrf v1 r4 tping 0 60 2.2.2.2 vrf v1 r4 tping 0 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp524.tst000066400000000000000000000026171510423065500165760ustar00rootroot00000000000000description unicast+nsh over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni nsh local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni nsh local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni nsh local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni nsh local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp525.tst000066400000000000000000000030321510423065500165670ustar00rootroot00000000000000description unicast+nsh over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni nsh local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni nsh local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni nsh local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni nsh local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp526.tst000066400000000000000000000033741510423065500166010ustar00rootroot00000000000000description unicast+nsh over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni nsh local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 additional-path-rx uni nsh neigh 1.1.1.2 additional-path-tx uni nsh red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni nsh local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 additional-path-rx uni nsh neigh 1234:1::2 additional-path-tx uni nsh red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni nsh local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 additional-path-rx uni nsh neigh 1.1.1.1 additional-path-tx uni nsh red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni nsh local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 additional-path-rx uni nsh neigh 1234:1::1 additional-path-tx uni nsh red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp527.tst000066400000000000000000000117571510423065500166060ustar00rootroot00000000000000description bgp with polka addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 segrout 10 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 segrout red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 segrout 10 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 segrout red conn exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.4 tunnel domain-name 2.2.2.2 2.2.2.3 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::4 tunnel domain-name 4321::2 4321::3 tunnel mode polka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable polka enable 2 65536 10 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 segrout 10 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 segrout neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 segrout red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 segrout 10 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 segrout neigh 1234:2::2 remote-as 3 neigh 1234:2::2 segrout red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 3 65536 10 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable polka enable 3 65536 10 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 segrout 10 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 segrout neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 segrout red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 segrout 10 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 segrout neigh 1234:3::2 remote-as 4 neigh 1234:3::2 segrout red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable polka enable 4 65536 10 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 segrout 10 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 segrout red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 segrout 10 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 segrout red conn exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.3 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::3 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.4 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::4 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.4 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 4321::4 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 2.2.2.2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.3 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r4 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r4 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r4 tping 100 20 3333::1 vrf v1 sou tun2 freeRtr-25.11.9/cfg/rout-bgp528.tst000066400000000000000000000065631510423065500166060ustar00rootroot00000000000000description bgp without recursion addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-reflect neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-reflect neigh 1234:2::2 remote-as 1 neigh 1234:2::2 route-reflect red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 route-reflect neigh 1.1.1.10 remote-as 1 neigh 1.1.1.10 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 neigh 1234:2::1 route-reflect neigh 1234:3::2 remote-as 1 neigh 1234:3::2 route-reflect red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:3::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 0 60 2.2.2.4 vrf v1 r1 tping 0 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r2 tping 0 60 4321::4 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 0 60 2.2.2.1 vrf v1 r4 tping 0 60 4321::1 vrf v1 r4 tping 0 60 2.2.2.2 vrf v1 r4 tping 0 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp529.tst000066400000000000000000000070101510423065500165730ustar00rootroot00000000000000description bgp with recursion addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 nexthop recur 2 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 nexthop recur 2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-reflect neigh 1.1.1.6 remote-as 1 neigh 1.1.1.6 route-reflect nexthop recur 2 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-reflect neigh 1234:2::2 remote-as 1 neigh 1234:2::2 route-reflect nexthop recur 2 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 route-reflect neigh 1.1.1.10 remote-as 1 neigh 1.1.1.10 route-reflect nexthop recur 2 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 neigh 1234:2::1 route-reflect neigh 1234:3::2 remote-as 1 neigh 1234:3::2 route-reflect nexthop recur 2 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 1 nexthop recur 2 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:3::1 remote-as 1 nexthop recur 2 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 0 60 2.2.2.4 vrf v1 r1 tping 0 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 0 60 2.2.2.1 vrf v1 r4 tping 0 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp530.tst000066400000000000000000000154721510423065500165760ustar00rootroot00000000000000description bgp with route flap dampening addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.6 remote-as 3 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:2::2 remote-as 3 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 soft-reconfig neigh 1.1.1.5 dampen 500 1000 500 10000 3000 700 900000 neigh 1.1.1.10 remote-as 4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 soft-reconfig neigh 1234:2::1 dampen 500 1000 500 10000 3000 700 900000 neigh 1234:3::2 remote-as 4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r1 send conf t r1 send router bgp4 1 r1 send no red conn r1 send exit r1 send router bgp6 1 r1 send no red conn r1 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 0 60 2.2.2.1 vrf v1 r2 tping 0 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 0 60 2.2.2.1 vrf v1 r4 tping 0 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r1 send conf t r1 send router bgp4 1 r1 send red conn r1 send exit r1 send router bgp6 1 r1 send red conn r1 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r1 send conf t r1 send router bgp4 1 r1 send no red conn r1 send exit r1 send router bgp6 1 r1 send no red conn r1 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 0 60 2.2.2.1 vrf v1 r2 tping 0 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 0 60 2.2.2.1 vrf v1 r4 tping 0 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r1 send conf t r1 send router bgp4 1 r1 send red conn r1 send exit r1 send router bgp6 1 r1 send red conn r1 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 0 60 2.2.2.1 vrf v1 r4 tping 0 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp531.tst000066400000000000000000000051401510423065500165660ustar00rootroot00000000000000description bgp routemap filtering with nexthop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 sequence 10 act deny match nexthop 1.1.1.3 sequence 20 act permit exit route-map rm2 sequence 10 act deny match nexthop 1234:1::3 sequence 20 act permit exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-server neigh 1.1.1.2 route-map-out rm1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 route-server neigh 1.1.1.3 route-map-out rm1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-server neigh 1234:1::2 route-map-out rm2 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 route-server neigh 1234:1::3 route-map-out rm2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp532.tst000066400000000000000000000051051510423065500165700ustar00rootroot00000000000000description bgp routepolicy filtering with nexthop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit route-policy rm1 if nexthop 1.1.1.3 drop else pass enif exit route-policy rm2 if nexthop 1234:1::3 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-server neigh 1.1.1.2 route-policy-out rm1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 route-server neigh 1.1.1.3 route-policy-out rm1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-server neigh 1234:1::2 route-policy-out rm2 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 route-server neigh 1234:1::3 route-policy-out rm2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp533.tst000066400000000000000000000053531510423065500165760ustar00rootroot00000000000000description bgp routemap filtering with nexthop with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 sequence 10 act deny match nexthop 1.1.1.3 sequence 20 act permit exit route-map rm2 sequence 10 act deny match nexthop 1234:1::3 sequence 20 act permit exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-server neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-map-out rm1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 route-server neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-map-out rm1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-server neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-map-out rm2 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 route-server neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-map-out rm2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp534.tst000066400000000000000000000053201510423065500165710ustar00rootroot00000000000000description bgp routepolicy filtering with nexthop with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit route-policy rm1 if nexthop 1.1.1.3 drop else pass enif exit route-policy rm2 if nexthop 1234:1::3 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-server neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-policy-out rm1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 route-server neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-policy-out rm1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-server neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-policy-out rm2 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 route-server neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-policy-out rm2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp535.tst000066400000000000000000000046551510423065500166040ustar00rootroot00000000000000description bgp routemap filtering with asend addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1234 4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match asend 4321 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp536.tst000066400000000000000000000052601510423065500165760ustar00rootroot00000000000000description bgp routemap filtering with asend with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1234 4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match asend 4321 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp537.tst000066400000000000000000000046611510423065500166030ustar00rootroot00000000000000description bgp routepolicy filtering with asend addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set aspath 1234 4321 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if asend 4321 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-policy-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp538.tst000066400000000000000000000052631510423065500166030ustar00rootroot00000000000000description bgp routepolicy filtering with asend with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set aspath 1234 4321 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if asend 4321 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-policy-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp539.tst000066400000000000000000000046551510423065500166100ustar00rootroot00000000000000description bgp routemap filtering with asmid addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1234 4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match asmid 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp540.tst000066400000000000000000000052601510423065500165710ustar00rootroot00000000000000description bgp routemap filtering with asmid with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1234 4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match asmid 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp541.tst000066400000000000000000000046611510423065500165760ustar00rootroot00000000000000description bgp routepolicy filtering with asmid addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set aspath 1234 4321 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if asmid 1234 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-policy-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp542.tst000066400000000000000000000052631510423065500165760ustar00rootroot00000000000000description bgp routepolicy filtering with asmid with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set aspath 1234 4321 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if asmid 1234 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-policy-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp543.tst000066400000000000000000000046551510423065500166030ustar00rootroot00000000000000description bgp routemap filtering with asbeg addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1234 4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match asbeg 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp544.tst000066400000000000000000000052601510423065500165750ustar00rootroot00000000000000description bgp routemap filtering with asbeg with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1234 4321 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match asbeg 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp545.tst000066400000000000000000000046611510423065500166020ustar00rootroot00000000000000description bgp routepolicy filtering with asbeg addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set aspath 1234 4321 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if asbeg 1234 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-policy-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp546.tst000066400000000000000000000052631510423065500166020ustar00rootroot00000000000000description bgp routepolicy filtering with asbeg with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set aspath 1234 4321 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if asbeg 1234 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-policy-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp547.tst000066400000000000000000000144701510423065500166030ustar00rootroot00000000000000description bgp change in metric with labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit route-map rm1 sequence 10 act deny sequence 10 match metric 4000-6000 sequence 20 act perm exit router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit route-map rm1 set metric 1000 exit router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit route-map rm1 sequence 10 act deny sequence 10 match metric 2000-4000 sequence 20 act perm exit router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 3000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp548.tst000066400000000000000000000204031510423065500165750ustar00rootroot00000000000000description ibgp rr prefix movement with labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit route-map rm1 set aspath 1000 exit router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 advertise 2.2.2.2/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 advertise 4321::2/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit route-map rm1 set aspath 1000 1000 1000 exit router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 advertise 2.2.2.3/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 advertise 4321::3/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 1000 1000 1000 1000 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 freeRtr-25.11.9/cfg/rout-bgp549.tst000066400000000000000000000151651510423065500166070ustar00rootroot00000000000000description ouni bgp change in metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address ouni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 address ouni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match metric 4000-6000 sequence 20 act perm exit router bgp4 1 vrf v1 address ouni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 other-route-map-in rm1 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 address ouni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 other-route-map-in rm1 afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set metric 1000 exit router bgp4 1 vrf v1 address ouni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn route-map rm1 exit router bgp6 1 vrf v1 address ouni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match metric 2000-4000 sequence 20 act perm exit router bgp4 1 vrf v1 address ouni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 other-route-map-in rm1 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 address ouni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 other-route-map-in rm1 afi-other ena no afi-other vpn afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 3000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp550.tst000066400000000000000000000211201510423065500165630ustar00rootroot00000000000000description ouni ibgp rr prefix movement addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address ouni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 address ouni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aspath 1000 exit router bgp4 1 vrf v1 address ouni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena no afi-other vpn afi-other advertise 4321::2/128 route-map rm1 afi-other advertise 4321::222/128 route-map rm1 exit router bgp6 1 vrf v1 address ouni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena no afi-other vpn afi-other advertise 2.2.2.2/32 route-map rm1 afi-other advertise 2.2.2.222/32 route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set aspath 1000 1000 1000 exit router bgp4 1 vrf v1 address ouni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 afi-other ena no afi-other vpn afi-other advertise 4321::3/128 route-map rm1 afi-other advertise 4321::222/128 route-map rm1 exit router bgp6 1 vrf v1 address ouni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 afi-other ena no afi-other vpn afi-other advertise 2.2.2.3/32 route-map rm1 afi-other advertise 2.2.2.222/32 route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address ouni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 address ouni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 1000 1000 1000 1000 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 freeRtr-25.11.9/cfg/rout-bgp551.tst000066400000000000000000000150211510423065500165670ustar00rootroot00000000000000description olab bgp change in metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit route-map rm1 sequence 10 act deny sequence 10 match metric 4000-6000 sequence 20 act perm exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 other-route-map-in rm1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 other-route-map-in rm1 afi-other ena afi-other red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit route-map rm1 set metric 1000 exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn route-map rm1 exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit route-map rm1 sequence 10 act deny sequence 10 match metric 2000-4000 sequence 20 act perm exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 other-route-map-in rm1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 other-route-map-in rm1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 3000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r3 tping 0 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp552.tst000066400000000000000000000207641510423065500166020ustar00rootroot00000000000000description olab ibgp rr prefix movement addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit route-map rm1 set aspath 1000 exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other advertise 4321::2/128 route-map rm1 afi-other advertise 4321::222/128 route-map rm1 exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other advertise 2.2.2.2/32 route-map rm1 afi-other advertise 2.2.2.222/32 route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit route-map rm1 set aspath 1000 1000 1000 exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other advertise 4321::3/128 route-map rm1 afi-other advertise 4321::222/128 route-map rm1 exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 afi-other ena afi-other advertise 2.2.2.3/32 route-map rm1 afi-other advertise 2.2.2.222/32 route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 1000 1000 1000 1000 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 freeRtr-25.11.9/cfg/rout-bgp553.tst000066400000000000000000000225251510423065500166000ustar00rootroot00000000000000description bgp vpns change in metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect neigh 1.1.1.4 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect neigh 1234:1::4 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit route-map rm1 sequence 10 act deny sequence 10 match metric 4000-6000 sequence 20 act perm exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 vpn-route-map-in rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 vpn-route-map-in rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit route-map rm1 set metric 1000 exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn route-map rm1 exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.4 255.255.255.255 ipv6 addr 9992::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.4 255.255.255.255 ipv6 addr 9993::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.4 255.255.255.255 ipv6 addr 9994::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit route-map rm1 sequence 10 act deny sequence 10 match metric 2000-4000 sequence 20 act perm exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 vpn-route-map-in rm1 neigh 1.1.1.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 vpn-route-map-in rm1 neigh 1234:1::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 r3 send conf t r3 send route-map rm1 r3 send set metric 3000 r3 send end r3 send clear ipv4 route v4 r3 send clear ipv6 route v4 r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 0 60 9.9.4.4 vrf v4 r3 tping 0 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 0 60 9.9.4.3 vrf v4 r4 tping 0 60 9994::3 vrf v4 r3 send conf t r3 send route-map rm1 r3 send set metric 5000 r3 send end r3 send clear ipv4 route v4 r3 send clear ipv6 route v4 r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 0 60 9.9.4.3 vrf v4 r2 tping 0 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 0 60 9.9.4.2 vrf v4 r3 tping 0 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 r3 send conf t r3 send route-map rm1 r3 send set metric 1000 r3 send end r3 send clear ipv4 route v4 r3 send clear ipv6 route v4 r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 freeRtr-25.11.9/cfg/rout-bgp554.tst000066400000000000000000000265101510423065500165770ustar00rootroot00000000000000description ibgp rr vpns prefix movement addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect neigh 1.1.1.4 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect neigh 1234:1::4 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.102 255.255.255.255 ipv6 addr 9994::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v4 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit route-map rm1 set aspath 1000 exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 advertise 9.9.4.2/32 route-map rm1 afi-vrf v4 advertise 9.9.4.222/32 route-map rm1 exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 advertise 9994::2/128 route-map rm1 afi-vrf v4 advertise 9994::222/128 route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.103 255.255.255.255 ipv6 addr 9994::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v4 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit route-map rm1 set aspath 1000 1000 1000 exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 advertise 9.9.4.3/32 route-map rm1 afi-vrf v4 advertise 9.9.4.222/32 route-map rm1 exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 advertise 9994::3/128 route-map rm1 afi-vrf v4 advertise 9994::222/128 route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.4 255.255.255.255 ipv6 addr 9992::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.4 255.255.255.255 ipv6 addr 9993::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.4 255.255.255.255 ipv6 addr 9994::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r1 tping 100 60 9.9.4.222 vrf v4 r1 tping 100 60 9994::222 vrf v4 r1 tping 0 60 9.9.4.102 vrf v4 r1 tping 0 60 9994::102 vrf v4 r1 tping 0 60 9.9.4.103 vrf v4 r1 tping 0 60 9994::103 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9994::222 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.222 vrf v4 r3 tping 100 60 9994::222 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 r4 tping 100 60 9.9.4.222 vrf v4 r4 tping 100 60 9994::222 vrf v4 r4 tping 0 60 9.9.4.102 vrf v4 r4 tping 0 60 9994::102 vrf v4 r4 tping 0 60 9.9.4.103 vrf v4 r4 tping 0 60 9994::103 vrf v4 r4 send telnet 9.9.4.222 666 vrf v4 r4 tping 100 60 9.9.4.102 vrf v4 r4 send exit r4 read closed r4 tping 0 60 9.9.4.102 vrf v4 r4 send telnet 9994::222 666 vrf v4 r4 tping 100 60 9.9.4.102 vrf v4 r4 send exit r4 read closed r4 tping 0 60 9.9.4.102 vrf v4 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 1000 1000 1000 1000 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r1 tping 100 60 9.9.4.222 vrf v4 r1 tping 100 60 9994::222 vrf v4 r1 tping 0 60 9.9.4.102 vrf v4 r1 tping 0 60 9994::102 vrf v4 r1 tping 0 60 9.9.4.103 vrf v4 r1 tping 0 60 9994::103 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9994::222 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.222 vrf v4 r3 tping 100 60 9994::222 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 r4 tping 100 60 9.9.4.222 vrf v4 r4 tping 100 60 9994::222 vrf v4 r4 tping 0 60 9.9.4.102 vrf v4 r4 tping 0 60 9994::102 vrf v4 r4 tping 0 60 9.9.4.103 vrf v4 r4 tping 0 60 9994::103 vrf v4 r4 send telnet 9.9.4.222 666 vrf v4 r4 tping 100 60 9.9.4.103 vrf v4 r4 send exit r4 read closed r4 tping 0 60 9.9.4.103 vrf v4 r4 send telnet 9994::222 666 vrf v4 r4 tping 100 60 9.9.4.103 vrf v4 r4 send exit r4 read closed r4 tping 0 60 9.9.4.103 vrf v4 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r1 tping 100 60 9.9.4.222 vrf v4 r1 tping 100 60 9994::222 vrf v4 r1 tping 0 60 9.9.4.102 vrf v4 r1 tping 0 60 9994::102 vrf v4 r1 tping 0 60 9.9.4.103 vrf v4 r1 tping 0 60 9994::103 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9994::222 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.222 vrf v4 r3 tping 100 60 9994::222 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 r4 tping 100 60 9.9.4.222 vrf v4 r4 tping 100 60 9994::222 vrf v4 r4 tping 0 60 9.9.4.102 vrf v4 r4 tping 0 60 9994::102 vrf v4 r4 tping 0 60 9.9.4.103 vrf v4 r4 tping 0 60 9994::103 vrf v4 r4 send telnet 9.9.4.222 666 vrf v4 r4 tping 100 60 9.9.4.102 vrf v4 r4 send exit r4 read closed r4 tping 0 60 9.9.4.102 vrf v4 r4 send telnet 9994::222 666 vrf v4 r4 tping 100 60 9.9.4.102 vrf v4 r4 send exit r4 read closed r4 tping 0 60 9.9.4.102 vrf v4 freeRtr-25.11.9/cfg/rout-bgp555.tst000066400000000000000000000226261510423065500166040ustar00rootroot00000000000000description bgp othervpns change in metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect neigh 1.1.1.4 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect neigh 1234:1::4 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit route-map rm1 sequence 10 act deny sequence 10 match metric 4000-6000 sequence 20 act perm exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 ovpn-route-map-in rm1 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 ovpn-route-map-in rm1 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit route-map rm1 set metric 1000 exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn route-map rm1 exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.4 255.255.255.255 ipv6 addr 9992::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.4 255.255.255.255 ipv6 addr 9993::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.4 255.255.255.255 ipv6 addr 9994::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit route-map rm1 sequence 10 act deny sequence 10 match metric 2000-4000 sequence 20 act perm exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 ovpn-route-map-in rm1 neigh 1.1.1.1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 ovpn-route-map-in rm1 neigh 1234:1::1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 r3 send conf t r3 send route-map rm1 r3 send set metric 3000 r3 send end r3 send clear ipv4 route v4 r3 send clear ipv6 route v4 r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 0 60 9.9.4.4 vrf v4 r3 tping 0 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 0 60 9.9.4.3 vrf v4 r4 tping 0 60 9994::3 vrf v4 r3 send conf t r3 send route-map rm1 r3 send set metric 5000 r3 send end r3 send clear ipv4 route v4 r3 send clear ipv6 route v4 r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 0 60 9.9.4.3 vrf v4 r2 tping 0 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 0 60 9.9.4.2 vrf v4 r3 tping 0 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 r3 send conf t r3 send route-map rm1 r3 send set metric 1000 r3 send end r3 send clear ipv4 route v4 r3 send clear ipv6 route v4 r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 freeRtr-25.11.9/cfg/rout-bgp556.tst000066400000000000000000000266121510423065500166040ustar00rootroot00000000000000description ibgp rr othervpns prefix movement addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect neigh 1.1.1.4 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect neigh 1234:1::4 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.102 255.255.255.255 ipv6 addr 9994::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v4 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit route-map rm1 set aspath 1000 exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 advertise 9994::2/128 route-map rm1 afi-ovrf v4 advertise 9994::222/128 route-map rm1 exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 advertise 9.9.4.2/32 route-map rm1 afi-ovrf v4 advertise 9.9.4.222/32 route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.103 255.255.255.255 ipv6 addr 9994::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v4 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit route-map rm1 set aspath 1000 1000 1000 exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 advertise 9994::3/128 route-map rm1 afi-ovrf v4 advertise 9994::222/128 route-map rm1 exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 advertise 9.9.4.3/32 route-map rm1 afi-ovrf v4 advertise 9.9.4.222/32 route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.4 255.255.255.255 ipv6 addr 9992::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.4 255.255.255.255 ipv6 addr 9993::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.4 255.255.255.255 ipv6 addr 9994::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r1 tping 100 60 9.9.4.222 vrf v4 r1 tping 100 60 9994::222 vrf v4 r1 tping 0 60 9.9.4.102 vrf v4 r1 tping 0 60 9994::102 vrf v4 r1 tping 0 60 9.9.4.103 vrf v4 r1 tping 0 60 9994::103 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9994::222 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.222 vrf v4 r3 tping 100 60 9994::222 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 r4 tping 100 60 9.9.4.222 vrf v4 r4 tping 100 60 9994::222 vrf v4 r4 tping 0 60 9.9.4.102 vrf v4 r4 tping 0 60 9994::102 vrf v4 r4 tping 0 60 9.9.4.103 vrf v4 r4 tping 0 60 9994::103 vrf v4 r4 send telnet 9.9.4.222 666 vrf v4 r4 tping 100 60 9.9.4.102 vrf v4 r4 send exit r4 read closed r4 tping 0 60 9.9.4.102 vrf v4 r4 send telnet 9994::222 666 vrf v4 r4 tping 100 60 9.9.4.102 vrf v4 r4 send exit r4 read closed r4 tping 0 60 9.9.4.102 vrf v4 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 1000 1000 1000 1000 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r1 tping 100 60 9.9.4.222 vrf v4 r1 tping 100 60 9994::222 vrf v4 r1 tping 0 60 9.9.4.102 vrf v4 r1 tping 0 60 9994::102 vrf v4 r1 tping 0 60 9.9.4.103 vrf v4 r1 tping 0 60 9994::103 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9994::222 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.222 vrf v4 r3 tping 100 60 9994::222 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 r4 tping 100 60 9.9.4.222 vrf v4 r4 tping 100 60 9994::222 vrf v4 r4 tping 0 60 9.9.4.102 vrf v4 r4 tping 0 60 9994::102 vrf v4 r4 tping 0 60 9.9.4.103 vrf v4 r4 tping 0 60 9994::103 vrf v4 r4 send telnet 9.9.4.222 666 vrf v4 r4 tping 100 60 9.9.4.103 vrf v4 r4 send exit r4 read closed r4 tping 0 60 9.9.4.103 vrf v4 r4 send telnet 9994::222 666 vrf v4 r4 tping 100 60 9.9.4.103 vrf v4 r4 send exit r4 read closed r4 tping 0 60 9.9.4.103 vrf v4 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r1 tping 100 60 9.9.4.222 vrf v4 r1 tping 100 60 9994::222 vrf v4 r1 tping 0 60 9.9.4.102 vrf v4 r1 tping 0 60 9994::102 vrf v4 r1 tping 0 60 9.9.4.103 vrf v4 r1 tping 0 60 9994::103 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9994::222 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.222 vrf v4 r3 tping 100 60 9994::222 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 r4 tping 100 60 9.9.4.222 vrf v4 r4 tping 100 60 9994::222 vrf v4 r4 tping 0 60 9.9.4.102 vrf v4 r4 tping 0 60 9994::102 vrf v4 r4 tping 0 60 9.9.4.103 vrf v4 r4 tping 0 60 9994::103 vrf v4 r4 send telnet 9.9.4.222 666 vrf v4 r4 tping 100 60 9.9.4.102 vrf v4 r4 send exit r4 read closed r4 tping 0 60 9.9.4.102 vrf v4 r4 send telnet 9994::222 666 vrf v4 r4 tping 100 60 9.9.4.102 vrf v4 r4 send exit r4 read closed r4 tping 0 60 9.9.4.102 vrf v4 freeRtr-25.11.9/cfg/rout-bgp557.tst000066400000000000000000000120541510423065500166000ustar00rootroot00000000000000description ibgp rr prefix withdraw with labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address lab local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address lab local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send no red conn r3 send exit r3 send router bgp6 1 r3 send no red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send red conn r3 send exit r3 send router bgp6 1 r3 send red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp558.tst000066400000000000000000000125711510423065500166050ustar00rootroot00000000000000description ouni ibgp rr prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address ouni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 address ouni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address ouni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 address ouni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 address ouni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 address ouni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address ouni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 address ouni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send no afi-other red conn r3 send exit r3 send router bgp6 1 r3 send no afi-other red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send afi-other red conn r3 send exit r3 send router bgp6 1 r3 send afi-other red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp559.tst000066400000000000000000000124211510423065500166000ustar00rootroot00000000000000description olab ibgp rr prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send no afi-other red conn r3 send exit r3 send router bgp6 1 r3 send no afi-other red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r3 tping 0 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send afi-other red conn r3 send exit r3 send router bgp6 1 r3 send afi-other red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp560.tst000066400000000000000000000201411510423065500165660ustar00rootroot00000000000000description ibgp rr vpns prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect neigh 1.1.1.4 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect neigh 1234:1::4 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.4 255.255.255.255 ipv6 addr 9992::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.4 255.255.255.255 ipv6 addr 9993::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.4 255.255.255.255 ipv6 addr 9994::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 r3 send conf t r3 send router bgp4 1 r3 send no afi-vrf v4 red conn r3 send exit r3 send router bgp6 1 r3 send no afi-vrf v4 red conn r3 send end r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 0 60 9.9.4.3 vrf v4 r1 tping 0 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 0 60 9.9.4.3 vrf v4 r2 tping 0 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 0 60 9.9.4.1 vrf v4 r3 tping 0 60 9994::1 vrf v4 r3 tping 0 60 9.9.4.2 vrf v4 r3 tping 0 60 9994::2 vrf v4 r3 tping 0 60 9.9.4.4 vrf v4 r3 tping 0 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 0 60 9.9.4.3 vrf v4 r4 tping 0 60 9994::3 vrf v4 r3 send conf t r3 send router bgp4 1 r3 send afi-vrf v4 red conn r3 send exit r3 send router bgp6 1 r3 send afi-vrf v4 red conn r3 send end r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 freeRtr-25.11.9/cfg/rout-bgp561.tst000066400000000000000000000202421510423065500165710ustar00rootroot00000000000000description ibgp rr othervpns prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect neigh 1.1.1.4 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect neigh 1234:1::4 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.4 255.255.255.255 ipv6 addr 9992::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.4 255.255.255.255 ipv6 addr 9993::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.4 255.255.255.255 ipv6 addr 9994::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ovpnuni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 address ovpnuni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 r3 send conf t r3 send router bgp4 1 r3 send no afi-ovrf v4 red conn r3 send exit r3 send router bgp6 1 r3 send no afi-ovrf v4 red conn r3 send end r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 0 60 9.9.4.3 vrf v4 r1 tping 0 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 0 60 9.9.4.3 vrf v4 r2 tping 0 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 0 60 9.9.4.1 vrf v4 r3 tping 0 60 9994::1 vrf v4 r3 tping 0 60 9.9.4.2 vrf v4 r3 tping 0 60 9994::2 vrf v4 r3 tping 0 60 9.9.4.4 vrf v4 r3 tping 0 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 0 60 9.9.4.3 vrf v4 r4 tping 0 60 9994::3 vrf v4 r3 send conf t r3 send router bgp4 1 r3 send afi-ovrf v4 red conn r3 send exit r3 send router bgp6 1 r3 send afi-ovrf v4 red conn r3 send end r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 freeRtr-25.11.9/cfg/rout-bgp562.tst000066400000000000000000000126631510423065500166020ustar00rootroot00000000000000description olab ibgp fullmesh prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.4 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::3 remote-as 1 neigh 1234:1::4 remote-as 1 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.4 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::3 remote-as 1 neigh 1234:1::4 remote-as 1 afi-other ena afi-other red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.4 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::2 remote-as 1 neigh 1234:1::4 remote-as 1 afi-other ena afi-other red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address olab local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.3 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address olab local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::2 remote-as 1 neigh 1234:1::3 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send no afi-other red conn r3 send exit r3 send router bgp6 1 r3 send no afi-other red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r3 tping 0 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send afi-other red conn r3 send exit r3 send router bgp6 1 r3 send afi-other red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp563.tst000066400000000000000000000031021510423065500165670ustar00rootroot00000000000000description ebgp with safe policy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: exit router bgp4 1 vrf v1 safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 red conn exit ! r1 tping 100 60 1.1.1.2 vrf v1 r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1.1.1.1 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 0 60 2.2.2.2 vrf v1 r1 tping 0 60 4321::2 vrf v1 r2 tping 0 60 2.2.2.1 vrf v1 r2 tping 0 60 4321::1 vrf v1 r1 send conf t r1 send router bgp4 1 r1 send no safe-ebgp r1 send exit r1 send router bgp6 1 r1 send no safe-ebgp r1 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp564.tst000066400000000000000000000025161510423065500166000ustar00rootroot00000000000000description ibgp with safe policy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: exit router bgp4 1 vrf v1 safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 red conn exit router bgp6 1 vrf v1 safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.2 neigh 1234::1 remote-as 1 red conn exit ! r1 tping 100 60 1.1.1.2 vrf v1 r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1.1.1.1 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp565.tst000066400000000000000000000032401510423065500165740ustar00rootroot00000000000000description confed bgp with safe policy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: exit router bgp4 1 vrf v1 safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 confed red conn exit router bgp6 1 vrf v1 safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 confed red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 confed red conn exit ! r1 tping 100 60 1.1.1.2 vrf v1 r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1.1.1.1 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 0 60 2.2.2.2 vrf v1 r1 tping 0 60 4321::2 vrf v1 r2 tping 0 60 2.2.2.1 vrf v1 r2 tping 0 60 4321::1 vrf v1 r1 send conf t r1 send router bgp4 1 r1 send no safe-ebgp r1 send exit r1 send router bgp6 1 r1 send no safe-ebgp r1 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp566.tst000066400000000000000000000026131510423065500166000ustar00rootroot00000000000000description ibgp rr with safe policy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: exit router bgp4 1 vrf v1 safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect red conn exit router bgp6 1 vrf v1 safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.2 neigh 1234::1 remote-as 1 red conn exit ! r1 tping 100 60 1.1.1.2 vrf v1 r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1.1.1.1 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp567.tst000066400000000000000000000032061510423065500166000ustar00rootroot00000000000000description bgp route server with safe policy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: exit router bgp4 1 vrf v1 safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-server red conn exit router bgp6 1 vrf v1 safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 route-server red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 red conn exit ! r1 tping 100 60 1.1.1.2 vrf v1 r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1.1.1.1 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 0 60 2.2.2.2 vrf v1 r1 tping 0 60 4321::2 vrf v1 r2 tping 0 60 2.2.2.1 vrf v1 r2 tping 0 60 4321::1 vrf v1 r1 send conf t r1 send router bgp4 1 r1 send no safe-ebgp r1 send exit r1 send router bgp6 1 r1 send no safe-ebgp r1 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp568.tst000066400000000000000000000030651510423065500166040ustar00rootroot00000000000000description safe ebgp policy with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: exit prefix-list p4 permit 0.0.0.0/0 le 32 exit prefix-list p6 permit ::/0 le 128 exit router bgp4 1 vrf v1 safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 prefix-list-in p4 neigh 1.1.1.2 prefix-list-out p4 red conn exit router bgp6 1 vrf v1 safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 prefix-list-in p6 neigh 1234::2 prefix-list-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 red conn exit ! r1 tping 100 60 1.1.1.2 vrf v1 r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1.1.1.1 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp569.tst000066400000000000000000000027671510423065500166150ustar00rootroot00000000000000description safe ebgp policy with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: exit route-map rm1 act perm exit router bgp4 1 vrf v1 safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-map-in rm1 neigh 1.1.1.2 route-map-out rm1 red conn exit router bgp6 1 vrf v1 safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 route-map-in rm1 neigh 1234::2 route-map-out rm1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 red conn exit ! r1 tping 100 60 1.1.1.2 vrf v1 r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1.1.1.1 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp570.tst000066400000000000000000000030051510423065500165670ustar00rootroot00000000000000description safe ebgp policy with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:ffff:: exit route-policy rm1 pass exit router bgp4 1 vrf v1 safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-policy-in rm1 neigh 1.1.1.2 route-policy-out rm1 red conn exit router bgp6 1 vrf v1 safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 route-policy-in rm1 neigh 1234::2 route-policy-out rm1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 red conn exit ! r1 tping 100 60 1.1.1.2 vrf v1 r1 tping 100 60 1234::2 vrf v1 r2 tping 100 60 1.1.1.1 vrf v1 r2 tping 100 60 1234::1 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp571.tst000066400000000000000000000111141510423065500165700ustar00rootroot00000000000000description ebgp over common subnet addrouter r1 int ser1 ser - $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc ppp ppp ip4cp open ppp ip6cp open ppp ip4cp local 1.1.1.1 ppp ip6cp keep ppp ip6cp local 0000-0000-0000-0001 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.255 ipv6 addr 1234::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 red conn exit ! addrouter r2 int ser1 ser - $1b$ $1a$ int ser2 ser - $2a$ $2b$ int ser3 ser - $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo9 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.255 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc ppp ppp ip4cp open ppp ip6cp open ppp ip4cp local 1.1.1.2 ppp ip6cp keep ppp ip6cp local 0000-0000-0000-0002 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.255 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff no ipv4 gateway-local no ipv4 gateway-connect no ipv6 gateway-local no ipv6 gateway-connect exit int ser2 enc ppp ppp ip4cp open ppp ip6cp open ppp ip4cp local 1.1.1.2 ppp ip6cp keep ppp ip6cp local 0000-0000-0000-0002 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.255 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff no ipv4 gateway-local no ipv4 gateway-connect no ipv6 gateway-local no ipv6 gateway-connect exit int ser3 enc ppp ppp ip4cp open ppp ip6cp open ppp ip4cp local 1.1.1.2 ppp ip6cp keep ppp ip6cp local 0000-0000-0000-0002 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.255 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff no ipv4 gateway-local no ipv4 gateway-connect no ipv6 gateway-local no ipv6 gateway-connect exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 update lo9 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo9 neigh 1.1.1.4 remote-as 4 neigh 1.1.1.4 update lo9 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 update lo9 neigh 1234::3 remote-as 3 neigh 1234::3 update lo9 neigh 1234::4 remote-as 4 neigh 1234::4 update lo9 red conn exit ! addrouter r3 int ser1 ser - $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc ppp ppp ip4cp open ppp ip6cp open ppp ip4cp local 1.1.1.3 ppp ip6cp keep ppp ip6cp local 0000-0000-0000-0003 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.255 ipv6 addr 1234::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234::2 remote-as 2 red conn exit ! addrouter r4 int ser1 ser - $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc ppp ppp ip4cp open ppp ip6cp open ppp ip4cp local 1.1.1.4 ppp ip6cp keep ppp ip6cp local 0000-0000-0000-0004 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.255 ipv6 addr 1234::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234::2 remote-as 2 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp572.tst000066400000000000000000000067221510423065500166020ustar00rootroot00000000000000description vpls/ldp cw over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp573.tst000066400000000000000000000054661510423065500166070ustar00rootroot00000000000000description vpls/ldp cw over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 control afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 control afi-vpls 1:1 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 control afi-vpls 1:1 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 control afi-vpls 1:1 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp574.tst000066400000000000000000000074311510423065500166020ustar00rootroot00000000000000description vpls/ldp cw over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 additional-path-rx vpls neigh 2.2.2.2 additional-path-tx vpls afi-vpls 1:1 bridge 1 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 additional-path-rx vpls neigh 4321::2 additional-path-tx vpls afi-vpls 1:1 bridge 2 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 additional-path-rx vpls neigh 2.2.2.1 additional-path-tx vpls afi-vpls 1:1 bridge 1 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 additional-path-rx vpls neigh 4321::1 additional-path-tx vpls afi-vpls 1:1 bridge 2 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp575.tst000066400000000000000000000107601510423065500166020ustar00rootroot00000000000000description vpls/ldp cw over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.2 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpls local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflect neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-reflect exit router bgp6 1 vrf v1 address vpls local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-reflect neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp576.tst000066400000000000000000000070601510423065500166020ustar00rootroot00000000000000description vpls/ldp cw over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 confed neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 confed neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 confed neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 confed neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp577.tst000066400000000000000000000112261510423065500166020ustar00rootroot00000000000000description vpls/ldp cw over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-vpls 1:1 bridge 1 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 6.6.6.2 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-vpls 1:1 bridge 2 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 3 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-server neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-server exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 3 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-server neigh 4321::2 remote-as 2 neigh 4321::2 send-comm both neigh 4321::2 route-server exit ! r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp578.tst000066400000000000000000000071301510423065500166020ustar00rootroot00000000000000description vpls/ldp cw over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig afi-vpls 1:1 bridge 1 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig afi-vpls 1:1 bridge 2 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-vpls 1:1 bridge 1 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-vpls 1:1 bridge 2 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp579.tst000066400000000000000000000076371510423065500166170ustar00rootroot00000000000000description unicast+vpls/ldp cw over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp580.tst000066400000000000000000000100461510423065500165730ustar00rootroot00000000000000description unicast+vpls/ldp cw over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp581.tst000066400000000000000000000104071510423065500165750ustar00rootroot00000000000000description unicast+vpls/ldp cw over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::1 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::1 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpls uni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 additional-path-rx vpls uni neigh 2.2.2.2 additional-path-tx vpls uni red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls uni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 additional-path-rx vpls uni neigh 4321::2 additional-path-tx vpls uni red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:3 mac-learn private exit bridge 4 rd 1:4 rt-both 1:4 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.255 ipv6 addr 4444::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int bvi2 vrf for v1 ipv6 addr 4444::2 ffff:: exit int bvi3 vrf for v1 ipv6 addr 3333::2 ffff:: exit int bvi4 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpls uni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 additional-path-rx vpls uni neigh 2.2.2.1 additional-path-tx vpls uni red conn afi-vpls 1:1 bridge 1 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 3 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit router bgp6 1 vrf v1 no safe-ebgp address vpls uni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 additional-path-rx vpls uni neigh 4321::1 additional-path-tx vpls uni red conn afi-vpls 1:1 bridge 2 afi-vpls 1:1 control afi-vpls 1:1 update lo0 afi-vpls 1:2 bridge 4 afi-vpls 1:2 control afi-vpls 1:2 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 4.4.4.2 vrf v1 sou lo1 r1 tping 100 60 4444::2 vrf v1 sou lo1 r2 tping 100 60 4.4.4.1 vrf v1 sou lo1 r2 tping 100 60 4444::1 vrf v1 sou lo1 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp582.tst000066400000000000000000000052111510423065500165730ustar00rootroot00000000000000description ebgp with backup peer addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 distance 10 neigh 1.1.2.2 remote-as 2 neigh 1.1.2.2 backup 1.1.1.2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 distance 10 neigh 1234:2::2 remote-as 2 neigh 1234:2::2 backup 1234:1::2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny all 2.2.2.0 255.255.255.0 all any all deny all any all 2.2.2.0 255.255.255.0 all permit all any all any all exit access-list test6 deny all 4321:: ffff:ffff:ffff:ffff:ffff:ffff:ffff:0 all any all deny all any all 4321:: ffff:ffff:ffff:ffff:ffff:ffff:ffff:0 all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 distance 10 neigh 1.1.2.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 distance 10 neigh 1234:2::1 remote-as 1 red conn exit ! r1 tping 100 60 1.1.1.2 vrf v1 r1 tping 100 60 1234:1::2 vrf v1 r1 tping 100 60 1.1.2.2 vrf v1 r1 tping 100 60 1234:2::2 vrf v1 r2 tping 100 60 1.1.1.1 vrf v1 r2 tping 100 60 1234:1::1 vrf v1 r2 tping 100 60 1.1.2.1 vrf v1 r2 tping 100 60 1234:2::1 vrf v1 r1 tping 0 60 2.2.2.2 vrf v1 r1 tping 0 60 4321::2 vrf v1 r2 tping 0 60 2.2.2.1 vrf v1 r2 tping 0 60 4321::1 vrf v1 r1 send conf t r1 send router bgp4 1 r1 send neigh 1.1.1.2 shut r1 send exit r1 send router bgp6 1 r1 send neigh 1234:1::2 shut r1 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp583.tst000066400000000000000000000052111510423065500165740ustar00rootroot00000000000000description ibgp with backup peer addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 distance 10 neigh 1.1.2.2 remote-as 1 neigh 1.1.2.2 backup 1.1.1.2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 distance 10 neigh 1234:2::2 remote-as 1 neigh 1234:2::2 backup 1234:1::2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny all 2.2.2.0 255.255.255.0 all any all deny all any all 2.2.2.0 255.255.255.0 all permit all any all any all exit access-list test6 deny all 4321:: ffff:ffff:ffff:ffff:ffff:ffff:ffff:0 all any all deny all any all 4321:: ffff:ffff:ffff:ffff:ffff:ffff:ffff:0 all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 distance 10 neigh 1.1.2.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 distance 10 neigh 1234:2::1 remote-as 1 red conn exit ! r1 tping 100 60 1.1.1.2 vrf v1 r1 tping 100 60 1234:1::2 vrf v1 r1 tping 100 60 1.1.2.2 vrf v1 r1 tping 100 60 1234:2::2 vrf v1 r2 tping 100 60 1.1.1.1 vrf v1 r2 tping 100 60 1234:1::1 vrf v1 r2 tping 100 60 1.1.2.1 vrf v1 r2 tping 100 60 1234:2::1 vrf v1 r1 tping 0 60 2.2.2.2 vrf v1 r1 tping 0 60 4321::2 vrf v1 r2 tping 0 60 2.2.2.1 vrf v1 r2 tping 0 60 4321::1 vrf v1 r1 send conf t r1 send router bgp4 1 r1 send neigh 1.1.1.2 shut r1 send exit r1 send router bgp6 1 r1 send neigh 1234:1::2 shut r1 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp584.tst000066400000000000000000000055071510423065500166050ustar00rootroot00000000000000description confed bgp with backup peer addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 confed neigh 1.1.1.2 distance 10 neigh 1.1.2.2 remote-as 2 neigh 1.1.2.2 confed neigh 1.1.2.2 backup 1.1.1.2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 confed neigh 1234:1::2 distance 10 neigh 1234:2::2 remote-as 2 neigh 1234:2::2 confed neigh 1234:2::2 backup 1234:1::2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny all 2.2.2.0 255.255.255.0 all any all deny all any all 2.2.2.0 255.255.255.0 all permit all any all any all exit access-list test6 deny all 4321:: ffff:ffff:ffff:ffff:ffff:ffff:ffff:0 all any all deny all any all 4321:: ffff:ffff:ffff:ffff:ffff:ffff:ffff:0 all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed neigh 1.1.1.1 distance 10 neigh 1.1.2.1 remote-as 1 neigh 1.1.2.1 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 confed neigh 1234:1::1 distance 10 neigh 1234:2::1 remote-as 1 neigh 1234:2::1 confed red conn exit ! r1 tping 100 60 1.1.1.2 vrf v1 r1 tping 100 60 1234:1::2 vrf v1 r1 tping 100 60 1.1.2.2 vrf v1 r1 tping 100 60 1234:2::2 vrf v1 r2 tping 100 60 1.1.1.1 vrf v1 r2 tping 100 60 1234:1::1 vrf v1 r2 tping 100 60 1.1.2.1 vrf v1 r2 tping 100 60 1234:2::1 vrf v1 r1 tping 0 60 2.2.2.2 vrf v1 r1 tping 0 60 4321::2 vrf v1 r2 tping 0 60 2.2.2.1 vrf v1 r2 tping 0 60 4321::1 vrf v1 r1 send conf t r1 send router bgp4 1 r1 send neigh 1.1.1.2 shut r1 send exit r1 send router bgp6 1 r1 send neigh 1234:1::2 shut r1 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp585.tst000066400000000000000000000055751510423065500166130ustar00rootroot00000000000000description route server bgp with backup peer addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-server neigh 1.1.1.2 distance 10 neigh 1.1.2.2 remote-as 2 neigh 1.1.2.2 route-server neigh 1.1.2.2 backup 1.1.1.2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-server neigh 1234:1::2 distance 10 neigh 1234:2::2 remote-as 2 neigh 1234:2::2 route-server neigh 1234:2::2 backup 1234:1::2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny all 2.2.2.0 255.255.255.0 all any all deny all any all 2.2.2.0 255.255.255.0 all permit all any all any all exit access-list test6 deny all 4321:: ffff:ffff:ffff:ffff:ffff:ffff:ffff:0 all any all deny all any all 4321:: ffff:ffff:ffff:ffff:ffff:ffff:ffff:0 all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-server neigh 1.1.1.1 distance 10 neigh 1.1.2.1 remote-as 1 neigh 1.1.2.1 route-server red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-server neigh 1234:1::1 distance 10 neigh 1234:2::1 remote-as 1 neigh 1234:2::1 route-server red conn exit ! r1 tping 100 60 1.1.1.2 vrf v1 r1 tping 100 60 1234:1::2 vrf v1 r1 tping 100 60 1.1.2.2 vrf v1 r1 tping 100 60 1234:2::2 vrf v1 r2 tping 100 60 1.1.1.1 vrf v1 r2 tping 100 60 1234:1::1 vrf v1 r2 tping 100 60 1.1.2.1 vrf v1 r2 tping 100 60 1234:2::1 vrf v1 r1 tping 0 60 2.2.2.2 vrf v1 r1 tping 0 60 4321::2 vrf v1 r2 tping 0 60 2.2.2.1 vrf v1 r2 tping 0 60 4321::1 vrf v1 r1 send conf t r1 send router bgp4 1 r1 send neigh 1.1.1.2 shut r1 send exit r1 send router bgp6 1 r1 send neigh 1234:1::2 shut r1 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp586.tst000066400000000000000000000041101510423065500165740ustar00rootroot00000000000000description unicast+rtfilter over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni rtfilter local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni rtfilter local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni rtfilter local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni rtfilter local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp587.tst000066400000000000000000000043231510423065500166030ustar00rootroot00000000000000description unicast+rtfilter over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni rtfilter local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 soft-reconfig afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni rtfilter local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 soft-reconfig afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni rtfilter local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 soft-reconfig afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni rtfilter local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 soft-reconfig afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp588.tst000066400000000000000000000047351510423065500166130ustar00rootroot00000000000000description unicast+rtfilter over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni rtfilter local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 additional-path-rx uni rtfilter neigh 1.1.1.2 additional-path-tx uni rtfilter afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni rtfilter local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 additional-path-rx uni rtfilter neigh 1234:1::2 additional-path-tx uni rtfilter afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni rtfilter local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 additional-path-rx uni rtfilter neigh 1.1.1.1 additional-path-tx uni rtfilter afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni rtfilter local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 additional-path-rx uni rtfilter neigh 1234:1::1 additional-path-tx uni rtfilter afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp589.tst000066400000000000000000000043041510423065500166040ustar00rootroot00000000000000description unicast+rtfilter over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni rtfilter local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 route-reflect afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni rtfilter local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 send-comm both neigh 1234:1::2 route-reflect afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni rtfilter local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 route-reflect afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni rtfilter local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 route-reflect afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp590.tst000066400000000000000000000136511510423065500166010ustar00rootroot00000000000000description vpns with ingress rtfilter addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:41 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.12 255.255.255.255 ipv6 addr 9994::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.13 255.255.255.255 ipv6 addr 9994::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo44 vrf for v4 ipv4 addr 9.9.4.14 255.255.255.255 ipv6 addr 9994::14 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo45 vrf for v4 ipv4 addr 9.9.4.15 255.255.255.255 ipv6 addr 9994::15 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni rtfilter local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 maximum-prefix-in 5 50 neigh 2.2.2.3 route-target-filter-in afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni rtfilter local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 maximum-prefix-in 5 50 neigh 4321::3 route-target-filter-in afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:43 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.31 255.255.255.255 ipv6 addr 9994::31 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.32 255.255.255.255 ipv6 addr 9994::32 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.33 255.255.255.255 ipv6 addr 9994::33 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo44 vrf for v4 ipv4 addr 9.9.4.34 255.255.255.255 ipv6 addr 9994::34 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo45 vrf for v4 ipv4 addr 9.9.4.35 255.255.255.255 ipv6 addr 9994::35 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni rtfilter local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 maximum-prefix-in 5 50 neigh 2.2.2.1 route-target-filter-in afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni rtfilter local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 maximum-prefix-in 5 50 neigh 4321::1 route-target-filter-in afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r3 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r3 tping 100 60 9993::1 vrf v3 freeRtr-25.11.9/cfg/rout-bgp591.tst000066400000000000000000000136541510423065500166050ustar00rootroot00000000000000description vpns with egress rtfilter addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:41 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.12 255.255.255.255 ipv6 addr 9994::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.13 255.255.255.255 ipv6 addr 9994::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo44 vrf for v4 ipv4 addr 9.9.4.14 255.255.255.255 ipv6 addr 9994::14 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo45 vrf for v4 ipv4 addr 9.9.4.15 255.255.255.255 ipv6 addr 9994::15 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni rtfilter local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 maximum-prefix-in 5 50 neigh 2.2.2.3 route-target-filter-out afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni rtfilter local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 maximum-prefix-in 5 50 neigh 4321::3 route-target-filter-out afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:43 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.31 255.255.255.255 ipv6 addr 9994::31 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.32 255.255.255.255 ipv6 addr 9994::32 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.33 255.255.255.255 ipv6 addr 9994::33 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo44 vrf for v4 ipv4 addr 9.9.4.34 255.255.255.255 ipv6 addr 9994::34 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo45 vrf for v4 ipv4 addr 9.9.4.35 255.255.255.255 ipv6 addr 9994::35 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni rtfilter local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 maximum-prefix-in 5 50 neigh 2.2.2.1 route-target-filter-out afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni rtfilter local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 maximum-prefix-in 5 50 neigh 4321::1 route-target-filter-out afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r3 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r3 tping 100 60 9993::1 vrf v3 freeRtr-25.11.9/cfg/rout-bgp592.tst000066400000000000000000000137121510423065500166010ustar00rootroot00000000000000description othervpns with ingress rtfilter addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:41 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.12 255.255.255.255 ipv6 addr 9994::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.13 255.255.255.255 ipv6 addr 9994::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo44 vrf for v4 ipv4 addr 9.9.4.14 255.255.255.255 ipv6 addr 9994::14 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo45 vrf for v4 ipv4 addr 9.9.4.15 255.255.255.255 ipv6 addr 9994::15 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address ovpnuni rtfilter local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 maximum-prefix-in 5 50 neigh 2.2.2.3 route-target-filter-in afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 address ovpnuni rtfilter local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 maximum-prefix-in 5 50 neigh 4321::3 route-target-filter-in afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:43 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.31 255.255.255.255 ipv6 addr 9994::31 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.32 255.255.255.255 ipv6 addr 9994::32 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.33 255.255.255.255 ipv6 addr 9994::33 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo44 vrf for v4 ipv4 addr 9.9.4.34 255.255.255.255 ipv6 addr 9994::34 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo45 vrf for v4 ipv4 addr 9.9.4.35 255.255.255.255 ipv6 addr 9994::35 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address ovpnuni rtfilter local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 maximum-prefix-in 5 50 neigh 2.2.2.1 route-target-filter-in afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 address ovpnuni rtfilter local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 maximum-prefix-in 5 50 neigh 4321::1 route-target-filter-in afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r3 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r3 tping 100 60 9993::1 vrf v3 freeRtr-25.11.9/cfg/rout-bgp593.tst000066400000000000000000000137151510423065500166050ustar00rootroot00000000000000description othervpns with egress rtfilter addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:41 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.12 255.255.255.255 ipv6 addr 9994::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.13 255.255.255.255 ipv6 addr 9994::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo44 vrf for v4 ipv4 addr 9.9.4.14 255.255.255.255 ipv6 addr 9994::14 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo45 vrf for v4 ipv4 addr 9.9.4.15 255.255.255.255 ipv6 addr 9994::15 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address ovpnuni rtfilter local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 maximum-prefix-in 5 50 neigh 2.2.2.3 route-target-filter-out afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 address ovpnuni rtfilter local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 maximum-prefix-in 5 50 neigh 4321::3 route-target-filter-out afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:43 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.31 255.255.255.255 ipv6 addr 9994::31 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.32 255.255.255.255 ipv6 addr 9994::32 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.33 255.255.255.255 ipv6 addr 9994::33 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo44 vrf for v4 ipv4 addr 9.9.4.34 255.255.255.255 ipv6 addr 9994::34 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo45 vrf for v4 ipv4 addr 9.9.4.35 255.255.255.255 ipv6 addr 9994::35 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address ovpnuni rtfilter local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 maximum-prefix-in 5 50 neigh 2.2.2.1 route-target-filter-out afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit router bgp6 1 vrf v1 address ovpnuni rtfilter local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 maximum-prefix-in 5 50 neigh 4321::1 route-target-filter-out afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v3 ena afi-ovrf v3 red conn afi-ovrf v4 ena afi-ovrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r3 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r3 tping 100 60 9993::1 vrf v3 freeRtr-25.11.9/cfg/rout-bgp594.tst000066400000000000000000000076031510423065500166050ustar00rootroot00000000000000description vpls/ldp with ingress rtfilter addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:13 mac-learn private exit bridge 4 rd 1:4 rt-both 1:14 mac-learn private exit bridge 5 rd 1:5 rt-both 1:15 mac-learn private exit bridge 6 rd 1:6 rt-both 1:16 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpls rtfilter local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 maximum-prefix-in 5 50 neigh 2.2.2.2 route-target-filter-in afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:3 bridge 3 afi-vpls 1:3 update lo0 afi-vpls 1:5 bridge 5 afi-vpls 1:5 update lo0 exit router bgp6 1 vrf v1 address vpls rtfilter local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 maximum-prefix-in 5 50 neigh 4321::2 route-target-filter-in afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:4 bridge 4 afi-vpls 1:4 update lo0 afi-vpls 1:6 bridge 6 afi-vpls 1:6 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:23 mac-learn private exit bridge 4 rd 1:4 rt-both 1:24 mac-learn private exit bridge 5 rd 1:5 rt-both 1:25 mac-learn private exit bridge 6 rd 1:6 rt-both 1:26 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpls rtfilter local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 maximum-prefix-in 5 50 neigh 2.2.2.1 route-target-filter-in afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:3 bridge 3 afi-vpls 1:3 update lo0 afi-vpls 1:5 bridge 5 afi-vpls 1:5 update lo0 exit router bgp6 1 vrf v1 address vpls rtfilter local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 maximum-prefix-in 5 50 neigh 4321::1 route-target-filter-in afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:4 bridge 4 afi-vpls 1:4 update lo0 afi-vpls 1:6 bridge 6 afi-vpls 1:6 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp595.tst000066400000000000000000000076061510423065500166110ustar00rootroot00000000000000description vpls/ldp with egress rtfilter addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:13 mac-learn private exit bridge 4 rd 1:4 rt-both 1:14 mac-learn private exit bridge 5 rd 1:5 rt-both 1:15 mac-learn private exit bridge 6 rd 1:6 rt-both 1:16 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpls rtfilter local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 maximum-prefix-in 5 50 neigh 2.2.2.2 route-target-filter-out afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:3 bridge 3 afi-vpls 1:3 update lo0 afi-vpls 1:5 bridge 5 afi-vpls 1:5 update lo0 exit router bgp6 1 vrf v1 address vpls rtfilter local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 maximum-prefix-in 5 50 neigh 4321::2 route-target-filter-out afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:4 bridge 4 afi-vpls 1:4 update lo0 afi-vpls 1:6 bridge 6 afi-vpls 1:6 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:23 mac-learn private exit bridge 4 rd 1:4 rt-both 1:24 mac-learn private exit bridge 5 rd 1:5 rt-both 1:25 mac-learn private exit bridge 6 rd 1:6 rt-both 1:26 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpls rtfilter local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 maximum-prefix-in 5 50 neigh 2.2.2.1 route-target-filter-out afi-vpls 1:1 bridge 1 afi-vpls 1:1 update lo0 afi-vpls 1:3 bridge 3 afi-vpls 1:3 update lo0 afi-vpls 1:5 bridge 5 afi-vpls 1:5 update lo0 exit router bgp6 1 vrf v1 address vpls rtfilter local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 maximum-prefix-in 5 50 neigh 4321::1 route-target-filter-out afi-vpls 1:1 bridge 2 afi-vpls 1:1 update lo0 afi-vpls 1:4 bridge 4 afi-vpls 1:4 update lo0 afi-vpls 1:6 bridge 6 afi-vpls 1:6 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp596.tst000066400000000000000000000077231510423065500166120ustar00rootroot00000000000000description evpn/pbb with ingress rtfilter addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:13 mac-learn private exit bridge 4 rd 1:4 rt-both 1:14 mac-learn private exit bridge 5 rd 1:5 rt-both 1:15 mac-learn private exit bridge 6 rd 1:6 rt-both 1:16 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn rtfilter local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 maximum-prefix-in 5 50 neigh 2.2.2.2 route-target-filter-in afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 103 bridge 3 afi-evpn 103 update lo0 afi-evpn 105 bridge 5 afi-evpn 105 update lo0 exit router bgp6 1 vrf v1 address evpn rtfilter local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 maximum-prefix-in 5 50 neigh 4321::2 route-target-filter-in afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 104 bridge 4 afi-evpn 104 update lo0 afi-evpn 106 bridge 6 afi-evpn 106 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:23 mac-learn private exit bridge 4 rd 1:4 rt-both 1:24 mac-learn private exit bridge 5 rd 1:5 rt-both 1:25 mac-learn private exit bridge 6 rd 1:6 rt-both 1:26 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn rtfilter local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 maximum-prefix-in 5 50 neigh 2.2.2.1 route-target-filter-in afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 103 bridge 3 afi-evpn 103 update lo0 afi-evpn 105 bridge 5 afi-evpn 105 update lo0 exit router bgp6 1 vrf v1 address evpn rtfilter local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 maximum-prefix-in 5 50 neigh 4321::1 route-target-filter-in afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 104 bridge 4 afi-evpn 104 update lo0 afi-evpn 106 bridge 6 afi-evpn 106 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp597.tst000066400000000000000000000077261510423065500166160ustar00rootroot00000000000000description evpn/pbb with egress rtfilter addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:13 mac-learn private exit bridge 4 rd 1:4 rt-both 1:14 mac-learn private exit bridge 5 rd 1:5 rt-both 1:15 mac-learn private exit bridge 6 rd 1:6 rt-both 1:16 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn rtfilter local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 pmsi neigh 2.2.2.2 maximum-prefix-in 5 50 neigh 2.2.2.2 route-target-filter-out afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 103 bridge 3 afi-evpn 103 update lo0 afi-evpn 105 bridge 5 afi-evpn 105 update lo0 exit router bgp6 1 vrf v1 address evpn rtfilter local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 pmsi neigh 4321::2 maximum-prefix-in 5 50 neigh 4321::2 route-target-filter-out afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 104 bridge 4 afi-evpn 104 update lo0 afi-evpn 106 bridge 6 afi-evpn 106 update lo0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 rd 1:1 rt-both 1:1 mac-learn private exit bridge 2 rd 1:2 rt-both 1:2 mac-learn private exit bridge 3 rd 1:3 rt-both 1:23 mac-learn private exit bridge 4 rd 1:4 rt-both 1:24 mac-learn private exit bridge 5 rd 1:5 rt-both 1:25 mac-learn private exit bridge 6 rd 1:6 rt-both 1:26 mac-learn private exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int bvi1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:: exit int bvi2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn rtfilter local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 pmsi neigh 2.2.2.1 maximum-prefix-in 5 50 neigh 2.2.2.1 route-target-filter-out afi-evpn 101 bridge 1 afi-evpn 101 update lo0 afi-evpn 103 bridge 3 afi-evpn 103 update lo0 afi-evpn 105 bridge 5 afi-evpn 105 update lo0 exit router bgp6 1 vrf v1 address evpn rtfilter local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 pmsi neigh 4321::1 maximum-prefix-in 5 50 neigh 4321::1 route-target-filter-out afi-evpn 101 bridge 2 afi-evpn 101 update lo0 afi-evpn 104 bridge 4 afi-evpn 104 update lo0 afi-evpn 106 bridge 6 afi-evpn 106 update lo0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 r1 tping 100 60 3333::2 vrf v1 r1 tping 100 60 4.4.4.2 vrf v1 r1 tping 100 60 4444::2 vrf v1 r2 tping 100 60 3.3.3.1 vrf v1 r2 tping 100 60 3333::1 vrf v1 r2 tping 100 60 4.4.4.1 vrf v1 r2 tping 100 60 4444::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp598.tst000066400000000000000000000027401510423065500166060ustar00rootroot00000000000000description ebgp ao password addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 authen-type sha1 1 neigh 1.1.1.2 password test red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 authen-type sha1 1 neigh 1234:1::2 password test red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 authen-type sha1 1 neigh 1.1.1.1 password test red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 authen-type sha1 1 neigh 1234:1::1 password test red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp599.tst000066400000000000000000000111271510423065500166060ustar00rootroot00000000000000description bgp maximum prefix out addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.32 255.255.255.255 ipv6 addr 4321::32 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v1 ipv4 addr 2.2.2.42 255.255.255.255 ipv6 addr 4321::42 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo5 vrf for v1 ipv4 addr 2.2.2.52 255.255.255.255 ipv6 addr 4321::52 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo6 vrf for v1 ipv4 addr 2.2.2.62 255.255.255.255 ipv6 addr 4321::62 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo7 vrf for v1 ipv4 addr 2.2.2.72 255.255.255.255 ipv6 addr 4321::72 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo8 vrf for v1 ipv4 addr 2.2.2.82 255.255.255.255 ipv6 addr 4321::82 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 maximum-prefix-out 3 50 aggregate 2.2.2.0/24 summary red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 maximum-prefix-out 3 50 aggregate 4321::/32 summary red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r1 tping 100 60 2.2.2.32 vrf v1 r1 tping 100 60 4321::32 vrf v1 r1 tping 100 60 2.2.2.42 vrf v1 r1 tping 100 60 4321::42 vrf v1 r1 tping 100 60 2.2.2.52 vrf v1 r1 tping 100 60 4321::52 vrf v1 r1 tping 100 60 2.2.2.62 vrf v1 r1 tping 100 60 4321::62 vrf v1 r1 tping 100 60 2.2.2.72 vrf v1 r1 tping 100 60 4321::72 vrf v1 r1 tping 100 60 2.2.2.82 vrf v1 r1 tping 100 60 4321::82 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 r2 send conf t r2 send router bgp4 1 r2 send no aggregate 2.2.2.0/24 summary r2 send exit r2 send router bgp6 1 r2 send no aggregate 4321::/32 summary r2 send end r1 tping 0 60 2.2.2.2 vrf v1 r1 tping 0 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 0 60 2.2.2.22 vrf v1 r1 tping 0 60 4321::22 vrf v1 r2 tping 0 60 2.2.2.1 vrf v1 r2 tping 0 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 0 60 2.2.2.21 vrf v1 r2 tping 0 60 4321::21 vrf v1 r2 send conf t r2 send router bgp4 1 r2 send aggregate 2.2.2.0/24 summary r2 send exit r2 send router bgp6 1 r2 send aggregate 4321::/32 summary r2 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r1 tping 100 60 2.2.2.32 vrf v1 r1 tping 100 60 4321::32 vrf v1 r1 tping 100 60 2.2.2.42 vrf v1 r1 tping 100 60 4321::42 vrf v1 r1 tping 100 60 2.2.2.52 vrf v1 r1 tping 100 60 4321::52 vrf v1 r1 tping 100 60 2.2.2.62 vrf v1 r1 tping 100 60 4321::62 vrf v1 r1 tping 100 60 2.2.2.72 vrf v1 r1 tping 100 60 4321::72 vrf v1 r1 tping 100 60 2.2.2.82 vrf v1 r1 tping 100 60 4321::82 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp600.tst000066400000000000000000000050611510423065500165650ustar00rootroot00000000000000description bgp attribute filtering addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 attribute-filter 5 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 attribute-filter 5 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 attribute-filter 5 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 attribute-filter 5 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set locpref 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match locpref 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp601.tst000066400000000000000000000063121510423065500165660ustar00rootroot00000000000000description bgp unknown attribute ingress addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 unknowns-in all neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 unknowns-in all neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect neigh 1.1.1.4 unknowns-in all red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-reflect neigh 1234::2 unknowns-in all neigh 1234::3 remote-as 1 neigh 1234::3 route-reflect neigh 1234::3 unknowns-in all neigh 1234::4 remote-as 1 neigh 1234::4 route-reflect neigh 1234::4 unknowns-in all red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit route-map all action permit exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match unknown 2 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 neigh 1.1.1.1 unknowns-in all neigh 1.1.1.1 unknowns-out all red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234::1 remote-as 1 neigh 1234::1 route-map-in rm1 neigh 1234::1 unknowns-in all neigh 1234::1 unknowns-out all red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:ffff:: exit route-map all action permit exit ! r2 tping 100 60 1.1.1.1 vrf v1 r2 send pack bgpattr v1 eth1 1.1.1.1 1 2.2.2.2/32 all 255 4 3 2 1 2 3 4 , 0 1 2 3 2 1 r2 read wait r4 tping 100 60 1234::1 vrf v1 r4 send pack bgpattr v1 eth1 1234::1 1 4321::4/128 all 255 4 3 2 1 2 3 4 , 0 1 2 3 2 1 r4 read wait r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 0 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 freeRtr-25.11.9/cfg/rout-bgp602.tst000066400000000000000000000063171510423065500165740ustar00rootroot00000000000000description bgp unknown attribute egress addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 unknowns-out all neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 unknowns-out all neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect neigh 1.1.1.4 unknowns-out all red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-reflect neigh 1234::2 unknowns-out all neigh 1234::3 remote-as 1 neigh 1234::3 route-reflect neigh 1234::3 unknowns-out all neigh 1234::4 remote-as 1 neigh 1234::4 route-reflect neigh 1234::4 unknowns-out all red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit route-map all action permit exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match unknown 2 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 neigh 1.1.1.1 unknowns-in all neigh 1.1.1.1 unknowns-out all red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234::1 remote-as 1 neigh 1234::1 route-map-in rm1 neigh 1234::1 unknowns-in all neigh 1234::1 unknowns-out all red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:ffff:: exit route-map all action permit exit ! r2 tping 100 60 1.1.1.1 vrf v1 r2 send pack bgpattr v1 eth1 1.1.1.1 1 2.2.2.2/32 all 255 4 3 2 1 2 3 4 , 0 1 2 3 2 1 r2 read wait r4 tping 100 60 1234::1 vrf v1 r4 send pack bgpattr v1 eth1 1234::1 1 4321::4/128 all 255 4 3 2 1 2 3 4 , 0 1 2 3 2 1 r4 read wait r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 0 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 freeRtr-25.11.9/cfg/rout-bgp603.tst000066400000000000000000000066261510423065500166000ustar00rootroot00000000000000description bgp routemap filtering with unknown attribute addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 unknowns-in all neigh 1.1.1.2 unknowns-out all neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 unknowns-in all neigh 1.1.1.3 unknowns-out all neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect neigh 1.1.1.4 unknowns-in all neigh 1.1.1.4 unknowns-out all red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-reflect neigh 1234::2 unknowns-in all neigh 1234::2 unknowns-out all neigh 1234::3 remote-as 1 neigh 1234::3 route-reflect neigh 1234::3 unknowns-in all neigh 1234::3 unknowns-out all neigh 1234::4 remote-as 1 neigh 1234::4 route-reflect neigh 1234::4 unknowns-in all neigh 1234::4 unknowns-out all red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit route-map all action permit exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match unknown 2 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 neigh 1.1.1.1 unknowns-in all neigh 1.1.1.1 unknowns-out all red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234::1 remote-as 1 neigh 1234::1 route-map-in rm1 neigh 1234::1 unknowns-in all neigh 1234::1 unknowns-out all red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:ffff:: exit route-map all action permit exit ! r2 tping 100 60 1.1.1.1 vrf v1 r2 send pack bgpattr v1 eth1 1.1.1.1 1 2.2.2.2/32 all 255 4 3 2 1 2 3 4 , 0 1 2 3 2 1 r2 read wait r4 tping 100 60 1234::1 vrf v1 r4 send pack bgpattr v1 eth1 1234::1 1 4321::4/128 all 255 4 3 2 1 2 3 4 , 0 1 2 3 2 1 r4 read wait r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 0 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r3 tping 0 60 4321::4 vrf v1 freeRtr-25.11.9/cfg/rout-bgp604.tst000066400000000000000000000066121510423065500165740ustar00rootroot00000000000000description bgp routepolicy filtering with unknown attribute addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 unknowns-in all neigh 1.1.1.2 unknowns-out all neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 unknowns-in all neigh 1.1.1.3 unknowns-out all neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect neigh 1.1.1.4 unknowns-in all neigh 1.1.1.4 unknowns-out all red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 route-reflect neigh 1234::2 unknowns-in all neigh 1234::2 unknowns-out all neigh 1234::3 remote-as 1 neigh 1234::3 route-reflect neigh 1234::3 unknowns-in all neigh 1234::3 unknowns-out all neigh 1234::4 remote-as 1 neigh 1234::4 route-reflect neigh 1234::4 unknowns-in all neigh 1234::4 unknowns-out all red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit route-map all action permit exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit route-policy rm1 if unknown 2 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-policy-in rm1 neigh 1.1.1.1 unknowns-in all neigh 1.1.1.1 unknowns-out all red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234::1 remote-as 1 neigh 1234::1 route-policy-in rm1 neigh 1234::1 unknowns-in all neigh 1234::1 unknowns-out all red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:ffff:: exit route-map all action permit exit ! r2 tping 100 60 1.1.1.1 vrf v1 r2 send pack bgpattr v1 eth1 1.1.1.1 1 2.2.2.2/32 all 255 4 3 2 1 2 3 4 , 0 1 2 3 2 1 r2 read wait r4 tping 100 60 1234::1 vrf v1 r4 send pack bgpattr v1 eth1 1234::1 1 4321::4/128 all 255 4 3 2 1 2 3 4 , 0 1 2 3 2 1 r4 read wait r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 0 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r3 tping 0 60 4321::4 vrf v1 freeRtr-25.11.9/cfg/rout-bgp605.tst000066400000000000000000000062611510423065500165750ustar00rootroot00000000000000description ebgp with ctp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.6 remote-as 3 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:2::2 remote-as 3 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp606.tst000066400000000000000000000077331510423065500166030ustar00rootroot00000000000000description ibgp with ctp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address ctp local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 red conn exit router bgp6 1 vrf v1 address ctp local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.13 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo1 pweompls 4321::13 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address ctp local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 red conn exit router bgp6 1 vrf v1 address ctp local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.11 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo1 pweompls 4321::11 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.13 vrf v1 sou lo0 r1 tping 100 60 4321::13 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 0 60 2.2.2.11 vrf v1 sou lo0 r2 tping 0 60 2.2.2.13 vrf v1 sou lo0 r2 tping 0 60 4321::11 vrf v1 sou lo0 r2 tping 0 60 4321::13 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.11 vrf v1 sou lo0 r3 tping 100 60 4321::11 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp607.tst000066400000000000000000000071061510423065500165760ustar00rootroot00000000000000description bgp additional path with ctp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 additional-path-tx lab red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 additional-path-tx lab red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 additional-path-rx ctp neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 additional-path-rx ctp red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 additional-path-rx ctp neigh 1234:2::2 remote-as 3 neigh 1234:2::2 additional-path-rx ctp red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 additional-path-rx ctp neigh 1.1.1.5 additional-path-tx ctp red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 additional-path-tx ctp neigh 1234:2::1 additional-path-tx ctp red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp608.tst000066400000000000000000000074661510423065500166100ustar00rootroot00000000000000description ebgp with php ctp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 label-pop red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 label-pop red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 label-pop neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 label-pop red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 label-pop neigh 1234:2::2 remote-as 3 neigh 1234:2::2 label-pop red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 label-pop red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 label-pop red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r2 tping 0 60 2.2.2.1 vrf v1 sou lo0 r2 tping 0 60 2.2.2.3 vrf v1 sou lo0 r2 tping 0 60 4321::3 vrf v1 sou lo0 r2 tping 0 60 4321::1 vrf v1 sou lo0 r3 tping 0 60 2.2.2.1 vrf v1 sou lo0 r3 tping 0 60 2.2.2.2 vrf v1 sou lo0 r3 tping 0 60 4321::1 vrf v1 sou lo0 r3 tping 0 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp609.tst000066400000000000000000000101031510423065500165670ustar00rootroot00000000000000description ibgp with php ctp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address ctp local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 label-pop red conn exit router bgp6 1 vrf v1 address ctp local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 label-pop red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.13 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo1 pweompls 4321::13 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address ctp local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 label-pop red conn exit router bgp6 1 vrf v1 address ctp local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 label-pop red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.11 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo1 pweompls 4321::11 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.13 vrf v1 sou lo0 r1 tping 100 60 4321::13 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 0 60 2.2.2.11 vrf v1 sou lo0 r2 tping 0 60 2.2.2.13 vrf v1 sou lo0 r2 tping 0 60 4321::11 vrf v1 sou lo0 r2 tping 0 60 4321::13 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.11 vrf v1 sou lo0 r3 tping 100 60 4321::11 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp610.tst000066400000000000000000000103131510423065500165620ustar00rootroot00000000000000description bgp additional path with php ctp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 label-pop neigh 1.1.1.2 additional-path-tx ctp red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 label-pop neigh 1234:1::2 additional-path-tx ctp red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 label-pop neigh 1.1.1.1 additional-path-rx ctp neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 label-pop neigh 1.1.1.6 additional-path-rx ctp red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 label-pop neigh 1234:1::1 additional-path-rx lab neigh 1234:2::2 remote-as 3 neigh 1234:2::2 label-pop neigh 1234:2::2 additional-path-rx lab red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 label-pop neigh 1.1.1.5 additional-path-rx lab neigh 1.1.1.5 additional-path-tx lab red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 label-pop neigh 1234:2::1 additional-path-tx lab neigh 1234:2::1 additional-path-tx lab red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r2 tping 0 60 2.2.2.1 vrf v1 sou lo0 r2 tping 0 60 2.2.2.3 vrf v1 sou lo0 r2 tping 0 60 4321::3 vrf v1 sou lo0 r2 tping 0 60 4321::1 vrf v1 sou lo0 r3 tping 0 60 2.2.2.1 vrf v1 sou lo0 r3 tping 0 60 2.2.2.2 vrf v1 sou lo0 r3 tping 0 60 4321::1 vrf v1 sou lo0 r3 tping 0 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp611.tst000066400000000000000000000072251510423065500165730ustar00rootroot00000000000000description ibgp rr with ctp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 red conn exit router bgp6 1 vrf v1 address ctp local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 1 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.12 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo1 pweompls 4321::12 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ctp local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 red conn exit router bgp6 1 vrf v1 address ctp local-as 1 router-id 6.6.6.2 neigh 1234::3 remote-as 1 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.11 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo1 pweompls 4321::11 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ctp local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-reflect neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect red conn exit router bgp6 1 vrf v1 address ctp local-as 1 router-id 6.6.6.3 neigh 1234::1 remote-as 1 neigh 1234::1 route-reflect neigh 1234::2 remote-as 1 neigh 1234::2 route-reflect red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.12 vrf v1 sou lo0 r1 tping 100 60 4321::12 vrf v1 sou lo0 r1 tping 100 60 2.2.2.13 vrf v1 sou lo0 r1 tping 100 60 4321::13 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.11 vrf v1 sou lo0 r2 tping 100 60 2.2.2.13 vrf v1 sou lo0 r2 tping 100 60 4321::11 vrf v1 sou lo0 r2 tping 100 60 4321::13 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.11 vrf v1 sou lo0 r3 tping 100 60 4321::11 vrf v1 sou lo0 r3 tping 100 60 2.2.2.12 vrf v1 sou lo0 r3 tping 100 60 4321::12 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r2 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp612.tst000066400000000000000000000057261510423065500166000ustar00rootroot00000000000000description confed bgp with ctp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 confed red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 confed neigh 1234::3 remote-as 3 neigh 1234::3 confed red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 3 router-id 4.4.4.3 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 3 router-id 6.6.6.3 neigh 1234::2 remote-as 2 neigh 1234::2 confed red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp613.tst000066400000000000000000000056341510423065500165770ustar00rootroot00000000000000description bgp route server with ctp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-server neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 route-server red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 route-server neigh 1234::3 remote-as 3 neigh 1234::3 route-server red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 3 router-id 4.4.4.3 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 3 router-id 6.6.6.3 neigh 1234::2 remote-as 2 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp614.tst000066400000000000000000000062201510423065500165700ustar00rootroot00000000000000description bgp soft-reconfig with ctp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:2::2 remote-as 3 neigh 1234:2::2 soft-reconfig red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 soft-reconfig red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp615.tst000066400000000000000000000043501510423065500165730ustar00rootroot00000000000000description ctp bgp ingress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit prefix-list p4 sequence 10 deny 2.2.2.12/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::12/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 prefix-list-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 prefix-list-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp616.tst000066400000000000000000000043511510423065500165750ustar00rootroot00000000000000description ctp bgp egress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit prefix-list p4 sequence 10 deny 2.2.2.11/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::11/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 prefix-list-out p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 prefix-list-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp617.tst000066400000000000000000000044521510423065500166000ustar00rootroot00000000000000description ctp bgp ingress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-map-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-map-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp618.tst000066400000000000000000000044531510423065500166020ustar00rootroot00000000000000description ctp bgp egress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.11/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::11/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-map-out p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-map-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp619.tst000066400000000000000000000045631510423065500166050ustar00rootroot00000000000000description ctp bgp ingress route filtering with prefixlist with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit prefix-list p4 sequence 10 deny 2.2.2.12/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::12/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 prefix-list-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 prefix-list-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp620.tst000066400000000000000000000045641510423065500165760ustar00rootroot00000000000000description ctp bgp egress route filtering with prefixlist with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit prefix-list p4 sequence 10 deny 2.2.2.11/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::11/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 prefix-list-out p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 prefix-list-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp621.tst000066400000000000000000000046651510423065500166010ustar00rootroot00000000000000description ctp bgp ingress route filtering with routemap with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-map-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-map-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp622.tst000066400000000000000000000046661510423065500166030ustar00rootroot00000000000000description ctp bgp egress route filtering with routemap with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.11/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::11/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-map-out p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-map-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp623.tst000066400000000000000000000043211510423065500165700ustar00rootroot00000000000000description ctp bgp ingress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-policy p4 if network 2.2.2.12/32 drop else pass enif exit route-policy p6 if network 4321::12/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-policy-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-policy-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp624.tst000066400000000000000000000043221510423065500165720ustar00rootroot00000000000000description ctp bgp egress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-policy p4 if network 2.2.2.11/32 drop else pass enif exit route-policy p6 if network 4321::11/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-policy-out p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-policy-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp625.tst000066400000000000000000000045341510423065500166000ustar00rootroot00000000000000description ctp bgp ingress route filtering with routepolicy with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-policy p4 if network 2.2.2.12/32 drop else pass enif exit route-policy p6 if network 4321::12/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-policy-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-policy-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp626.tst000066400000000000000000000045351510423065500166020ustar00rootroot00000000000000description ctp bgp egress route filtering with routepolicy with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-policy p4 if network 2.2.2.11/32 drop else pass enif exit route-policy p6 if network 4321::11/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-policy-out p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-policy-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp627.tst000066400000000000000000000024261510423065500166000ustar00rootroot00000000000000description ctp bgp default route addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 default exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 default exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp628.tst000066400000000000000000000044771510423065500166110ustar00rootroot00000000000000description ctp bgp aggregation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-map-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-map-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 aggregate 2.2.2.0/24 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 aggregate 4321::/32 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp629.tst000066400000000000000000000144651510423065500166100ustar00rootroot00000000000000description bgp change in metric with ctp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit route-map rm1 sequence 10 act deny sequence 10 match metric 4000-6000 sequence 20 act perm exit router bgp4 1 vrf v1 address ctp local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address ctp local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit route-map rm1 set metric 1000 exit router bgp4 1 vrf v1 address ctp local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address ctp local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit route-map rm1 sequence 10 act deny sequence 10 match metric 2000-4000 sequence 20 act perm exit router bgp4 1 vrf v1 address ctp local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address ctp local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 3000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp630.tst000066400000000000000000000204001510423065500165620ustar00rootroot00000000000000description ibgp rr prefix movement with ctp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit route-map rm1 set aspath 1000 exit router bgp4 1 vrf v1 address ctp local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 advertise 2.2.2.2/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 address ctp local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 advertise 4321::2/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit route-map rm1 set aspath 1000 1000 1000 exit router bgp4 1 vrf v1 address ctp local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 advertise 2.2.2.3/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 address ctp local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 advertise 4321::3/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ctp local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address ctp local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 1000 1000 1000 1000 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 freeRtr-25.11.9/cfg/rout-bgp631.tst000066400000000000000000000120511510423065500165660ustar00rootroot00000000000000description ibgp rr prefix withdraw with ctp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ctp local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address ctp local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ctp local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address ctp local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ctp local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address ctp local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send no red conn r3 send exit r3 send router bgp6 1 r3 send no red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send red conn r3 send exit r3 send router bgp6 1 r3 send red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp632.tst000066400000000000000000000036321510423065500165740ustar00rootroot00000000000000description unicast+octp over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 afi-other ena afi-other red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.2 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni octp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r2 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp633.tst000066400000000000000000000040441510423065500165730ustar00rootroot00000000000000description unicast+octp over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig afi-other ena afi-other red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.2 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni octp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena afi-other red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r2 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp634.tst000066400000000000000000000044161510423065500165770ustar00rootroot00000000000000description unicast+octp over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 additional-path-rx uni octp neigh 1.1.1.2 additional-path-tx uni octp afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 additional-path-rx uni octp neigh 1234:1::2 additional-path-Tx uni octp afi-other ena afi-other red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.2 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 additional-path-rx uni octp neigh 1.1.1.1 additional-path-tx uni octp afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni octp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 additional-path-rx uni octp neigh 1234:1::1 additional-path-tx uni octp afi-other ena afi-other red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r2 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp635.tst000066400000000000000000000042371510423065500166010ustar00rootroot00000000000000description unicast+octp over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni octp local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 3 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni octp local-as 2 router-id 6.6.6.2 neigh 1234:1::3 remote-as 3 afi-other ena afi-other red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni octp local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-server neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-server afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni octp local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-server neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-server afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp636.tst000066400000000000000000000025311510423065500165750ustar00rootroot00000000000000description unicast+octp over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 address uni octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address uni octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 address uni octp local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address uni octp local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp637.tst000066400000000000000000000041061510423065500165760ustar00rootroot00000000000000description unicast+octp over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 address uni octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address uni octp local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 1 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 address uni octp local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address uni octp local-as 1 router-id 6.6.6.2 neigh 1234:1::3 remote-as 1 afi-other ena afi-other red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 address uni octp local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-reflect neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address uni octp local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-reflect neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp638.tst000066400000000000000000000027631510423065500166060ustar00rootroot00000000000000description unicast+octp over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 confed afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 confed afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni octp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 confed afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp639.tst000066400000000000000000000034211510423065500165770ustar00rootroot00000000000000description octp over srv6 over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp640.tst000066400000000000000000000035111510423065500165670ustar00rootroot00000000000000description octp over srv6 over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp641.tst000066400000000000000000000050021510423065500165650ustar00rootroot00000000000000description octp over srv6 over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 1 neigh 1234::3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.2 neigh 1234::3 remote-as 1 neigh 1234::3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 segrou neigh 1.1.1.1 route-reflect neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 segrou neigh 1.1.1.2 route-reflect exit router bgp6 1 vrf v1 address octp local-as 1 router-id 4.4.4.3 neigh 1234::1 remote-as 1 neigh 1234::1 segrou neigh 1234::1 route-reflect neigh 1234::2 remote-as 1 neigh 1234::2 segrou neigh 1234::2 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp642.tst000066400000000000000000000050751510423065500166000ustar00rootroot00000000000000description octp over srv6 over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 3 neigh 1234::3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 6.6.6.2 neigh 1234::3 remote-as 3 neigh 1234::3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 segrou neigh 1.1.1.1 confed neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 segrou neigh 1.1.1.2 confed exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 3 router-id 4.4.4.3 neigh 1234::1 remote-as 1 neigh 1234::1 segrou neigh 1234::1 confed neigh 1234::2 remote-as 2 neigh 1234::2 segrou neigh 1234::2 confed exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp643.tst000066400000000000000000000051331510423065500165740ustar00rootroot00000000000000description octp over srv6 over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 3 neigh 1234::3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 6.6.6.2 neigh 1234::3 remote-as 3 neigh 1234::3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 segrou neigh 1.1.1.1 route-server neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 segrou neigh 1.1.1.2 route-server exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 3 router-id 4.4.4.3 neigh 1234::1 remote-as 1 neigh 1234::1 segrou neigh 1234::1 route-server neigh 1234::2 remote-as 2 neigh 1234::2 segrou neigh 1234::2 route-server exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp644.tst000066400000000000000000000036271510423065500166030ustar00rootroot00000000000000description octp over srv6 over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 segrou neigh 1.1.1.2 soft-reconfig afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 segrou neigh 1234::2 soft-reconfig afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 segrou neigh 1.1.1.1 soft-reconfig afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 segrou neigh 1234::1 soft-reconfig afi-other ena afi-other red conn afi-other srv6 tun1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp645.tst000066400000000000000000000041301510423065500165720ustar00rootroot00000000000000description octp over srv6 over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 segrou neigh 1.1.1.2 additional-path-rx octp neigh 1.1.1.2 additional-path-tx octp afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 segrou neigh 1234::2 additional-path-rx octp neigh 1234::2 additional-path-tx octp afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 segrou neigh 1.1.1.1 additional-path-rx octp neigh 1.1.1.1 additional-path-tx octp afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 segrou neigh 1234::1 additional-path-rx octp neigh 1234::1 additional-path-tx octp afi-other ena afi-other red conn afi-other srv6 tun1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp646.tst000066400000000000000000000025671510423065500166070ustar00rootroot00000000000000description octp bgp default route addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-default afi-other ena exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-default afi-other ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp647.tst000066400000000000000000000045351510423065500166050ustar00rootroot00000000000000description octp bgp ingress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit prefix-list p4 sequence 10 deny 2.2.2.12/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::12/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-prefix-list-in p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-prefix-list-in p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp648.tst000066400000000000000000000045361510423065500166070ustar00rootroot00000000000000description octp bgp egress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit prefix-list p4 sequence 10 deny 2.2.2.11/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::11/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-prefix-list-out p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-prefix-list-out p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp649.tst000066400000000000000000000046371510423065500166120ustar00rootroot00000000000000description octp bgp ingress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-route-map-in p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-route-map-in p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp650.tst000066400000000000000000000046401510423065500165740ustar00rootroot00000000000000description octp bgp egress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.11/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::11/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-route-map-out p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-route-map-out p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp651.tst000066400000000000000000000047501510423065500165770ustar00rootroot00000000000000description octp bgp ingress route filtering with prefixlist with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit prefix-list p4 sequence 10 deny 2.2.2.12/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::12/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 other-prefix-list-in p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 other-prefix-list-in p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp652.tst000066400000000000000000000047511510423065500166010ustar00rootroot00000000000000description octp bgp egress route filtering with prefixlist with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit prefix-list p4 sequence 10 deny 2.2.2.11/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::11/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 other-prefix-list-out p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 other-prefix-list-out p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp653.tst000066400000000000000000000050521510423065500165750ustar00rootroot00000000000000description octp bgp ingress route filtering with routemap with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 other-route-map-in p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 other-route-map-in p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp654.tst000066400000000000000000000050531510423065500165770ustar00rootroot00000000000000description octp bgp egress route filtering with routemap with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.11/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::11/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 other-route-map-out p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 other-route-map-out p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp655.tst000066400000000000000000000045061510423065500166020ustar00rootroot00000000000000description octp bgp ingress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-policy p4 if network 2.2.2.12/32 drop else pass enif exit route-policy p6 if network 4321::12/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-route-policy-in p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-route-policy-in p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp656.tst000066400000000000000000000045071510423065500166040ustar00rootroot00000000000000description octp bgp egress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-policy p4 if network 2.2.2.11/32 drop else pass enif exit route-policy p6 if network 4321::11/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-route-policy-out p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-route-policy-out p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp657.tst000066400000000000000000000047211510423065500166030ustar00rootroot00000000000000description octp bgp ingress route filtering with routepolicy with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-policy p4 if network 2.2.2.12/32 drop else pass enif exit route-policy p6 if network 4321::12/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 other-route-policy-in p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 other-route-policy-in p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp658.tst000066400000000000000000000047221510423065500166050ustar00rootroot00000000000000description octp bgp egress route filtering with routepolicy with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-policy p4 if network 2.2.2.11/32 drop else pass enif exit route-policy p6 if network 4321::11/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 other-route-policy-out p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 other-route-policy-out p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp659.tst000066400000000000000000000046501510423065500166060ustar00rootroot00000000000000description octp bgp aggregation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-map-in p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-map-in p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 aggregate 2.2.2.0/24 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 aggregate 4321::/32 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp660.tst000066400000000000000000000150211510423065500165700ustar00rootroot00000000000000description octp bgp change in metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit route-map rm1 sequence 10 act deny sequence 10 match metric 4000-6000 sequence 20 act perm exit router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 other-route-map-in rm1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 other-route-map-in rm1 afi-other ena afi-other red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit route-map rm1 set metric 1000 exit router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn route-map rm1 exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit route-map rm1 sequence 10 act deny sequence 10 match metric 2000-4000 sequence 20 act perm exit router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 other-route-map-in rm1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 other-route-map-in rm1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 3000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r3 tping 0 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp661.tst000066400000000000000000000207641510423065500166030ustar00rootroot00000000000000description octp ibgp rr prefix movement addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit route-map rm1 set aspath 1000 exit router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other advertise 4321::2/128 route-map rm1 afi-other advertise 4321::222/128 route-map rm1 exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other advertise 2.2.2.2/32 route-map rm1 afi-other advertise 2.2.2.222/32 route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit route-map rm1 set aspath 1000 1000 1000 exit router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other advertise 4321::3/128 route-map rm1 afi-other advertise 4321::222/128 route-map rm1 exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 afi-other ena afi-other advertise 2.2.2.3/32 route-map rm1 afi-other advertise 2.2.2.222/32 route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 1000 1000 1000 1000 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 freeRtr-25.11.9/cfg/rout-bgp662.tst000066400000000000000000000124211510423065500165730ustar00rootroot00000000000000description octp ibgp rr prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send no afi-other red conn r3 send exit r3 send router bgp6 1 r3 send no afi-other red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r3 tping 0 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send afi-other red conn r3 send exit r3 send router bgp6 1 r3 send afi-other red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp663.tst000066400000000000000000000126631510423065500166040ustar00rootroot00000000000000description octp ibgp fullmesh prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.4 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::3 remote-as 1 neigh 1234:1::4 remote-as 1 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.4 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::3 remote-as 1 neigh 1234:1::4 remote-as 1 afi-other ena afi-other red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.4 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::2 remote-as 1 neigh 1234:1::4 remote-as 1 afi-other ena afi-other red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.3 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::2 remote-as 1 neigh 1234:1::3 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send no afi-other red conn r3 send exit r3 send router bgp6 1 r3 send no afi-other red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r3 tping 0 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send afi-other red conn r3 send exit r3 send router bgp6 1 r3 send afi-other red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp664.tst000066400000000000000000000036331510423065500166020ustar00rootroot00000000000000description olab+octp over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address olab octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 afi-other ena afi-other red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.2 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address olab octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab octp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r2 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp665.tst000066400000000000000000000121161510423065500165770ustar00rootroot00000000000000description bgp routemap rd rewrite addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit route-map rm1 sequence 10 act deny sequence 10 match rd 1:3 sequence 20 act perm exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 vpn-route-map-in rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 vpn-route-map-in rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit route-map rm1 sequence 10 act perm sequence 10 match rd 1:3 sequence 10 set rd 1:33 sequence 20 act perm exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 vpn-route-map-out rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 vpn-route-map-out rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r3 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r3 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r3 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp666.tst000066400000000000000000000120261510423065500166000ustar00rootroot00000000000000description bgp routepolicy rd rewrite addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit route-policy rm1 if rd 1:3 drop else pass enif exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 vpn-route-policy-in rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 vpn-route-policy-in rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit route-policy rm1 if rd 1:3 set rd 1:33 pass else pass enif exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 vpn-route-policy-out rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 vpn-route-policy-out rm1 afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r3 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r3 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r3 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp667.tst000066400000000000000000000202561510423065500166050ustar00rootroot00000000000000description bgp csc vpn with ctp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-both 1:3 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v3 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 red conn exit router bgp4 4 vrf v1 no safe-ebgp address vpnuni local-as 4 router-id 4.4.4.1 neigh 2.2.2.4 remote-as 4 neigh 2.2.2.4 update lo0 neigh 2.2.2.4 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 4 vrf v1 no safe-ebgp address vpnuni local-as 4 router-id 6.6.6.1 neigh 4321::4 remote-as 4 neigh 4321::4 update lo0 neigh 4321::4 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 3.3.3.102 255.255.255.255 3.3.3.2 ipv6 route v1 3333::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 3333::2 router bgp4 1 vrf v2 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn red bgp4 2 exit router bgp6 1 vrf v2 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn red bgp6 2 exit router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.1 neigh 3.3.3.102 remote-as 2 neigh 3.3.3.102 update lo0 neigh 3.3.3.102 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp4 1 exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.1 neigh 3333::102 remote-as 2 neigh 3333::102 update lo0 neigh 3333::102 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp6 1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 ipv6 addr 3333::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 3.3.3.101 255.255.255.255 3.3.3.1 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 3333::1 ipv4 route v1 3.3.3.102 255.255.255.255 3.3.3.6 ipv6 route v1 3333::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 3333::6 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 3.3.3.102 255.255.255.255 ipv6 addr 3333::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 3.3.3.6 255.255.255.252 ipv6 addr 3333::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v2 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 3.3.3.101 255.255.255.255 3.3.3.5 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 3333::5 router bgp4 1 vrf v2 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 1.1.1.6 remote-as 3 red conn red bgp4 2 exit router bgp6 1 vrf v2 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 1234:2::2 remote-as 3 red conn red bgp6 2 exit router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.2 neigh 3.3.3.101 remote-as 2 neigh 3.3.3.101 update lo0 neigh 3.3.3.101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp4 1 exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.2 neigh 3333::101 remote-as 2 neigh 3333::101 update lo0 neigh 3333::101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp6 1 exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-both 1:3 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v3 ipv4 addr 4.4.4.4 255.255.255.255 ipv6 addr 4444::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 red conn exit router bgp4 4 vrf v1 no safe-ebgp address vpnuni local-as 4 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 4 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 4 vrf v1 no safe-ebgp address vpnuni local-as 4 router-id 6.6.6.2 neigh 4321::1 remote-as 4 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! r2 tping 100 60 3.3.3.102 vrf v1 sou lo0 r2 tping 100 60 3333::102 vrf v1 sou lo0 r4 tping 100 60 3.3.3.101 vrf v1 sou lo0 r4 tping 100 60 3333::101 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v2 sou lo1 r2 tping 100 60 2.2.2.3 vrf v2 sou lo1 r2 tping 100 60 2.2.2.4 vrf v2 sou lo1 r2 tping 100 60 4321::1 vrf v2 sou lo1 r2 tping 100 60 4321::3 vrf v2 sou lo1 r2 tping 100 60 4321::4 vrf v2 sou lo1 r4 tping 100 60 2.2.2.1 vrf v2 sou lo1 r4 tping 100 60 2.2.2.2 vrf v2 sou lo1 r4 tping 100 60 2.2.2.4 vrf v2 sou lo1 r4 tping 100 60 4321::1 vrf v2 sou lo1 r4 tping 100 60 4321::2 vrf v2 sou lo1 r4 tping 100 60 4321::4 vrf v2 sou lo1 r5 tping 100 60 2.2.2.1 vrf v1 sou lo0 r5 tping 100 60 2.2.2.2 vrf v1 sou lo0 r5 tping 100 60 2.2.2.3 vrf v1 sou lo0 r5 tping 100 60 4321::1 vrf v1 sou lo0 r5 tping 100 60 4321::2 vrf v1 sou lo0 r5 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 4.4.4.4 vrf v3 sou lo1 r1 tping 100 60 4444::4 vrf v3 sou lo1 r5 tping 100 60 4.4.4.1 vrf v3 sou lo1 r5 tping 100 60 4444::1 vrf v3 sou lo1 freeRtr-25.11.9/cfg/rout-bgp668.tst000066400000000000000000000067701510423065500166130ustar00rootroot00000000000000description ctp colors over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp669.tst000066400000000000000000000071421510423065500166060ustar00rootroot00000000000000description other ctp colors over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp670.tst000066400000000000000000000067701510423065500166040ustar00rootroot00000000000000description ctp colors over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp671.tst000066400000000000000000000071421510423065500165770ustar00rootroot00000000000000description other ctp colors over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp672.tst000066400000000000000000000074671510423065500166120ustar00rootroot00000000000000description ctp colors over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 additional-path-rx ctp neigh 2.2.2.2 additional-path-tx ctp afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 additional-path-rx ctp neigh 4321::2 additional-path-tx ctp afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 additional-path-rx ctp neigh 2.2.2.1 additional-path-tx ctp afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 additional-path-rx ctp neigh 4321::1 additional-path-tx ctp afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp673.tst000066400000000000000000000076511510423065500166060ustar00rootroot00000000000000description other ctp colors over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 additional-path-rx octp neigh 2.2.2.2 additional-path-tx octp afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 additional-path-rx octp neigh 4321::2 additional-path-tx octp afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 additional-path-rx octp neigh 2.2.2.1 additional-path-tx octp afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 additional-path-rx octp neigh 4321::1 additional-path-tx octp afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp674.tst000066400000000000000000000110011510423065500165670ustar00rootroot00000000000000description ctp colors over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.2 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address ctp local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflect neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-reflect exit router bgp6 1 vrf v1 address ctp local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-reflect neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp675.tst000066400000000000000000000111551510423065500166020ustar00rootroot00000000000000description other ctp colors over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.2 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address octp local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflect neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-reflect exit router bgp6 1 vrf v1 address octp local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-reflect neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp676.tst000066400000000000000000000071261510423065500166060ustar00rootroot00000000000000description ctp colors over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 confed neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 confed neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 confed neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 confed neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp677.tst000066400000000000000000000073001510423065500166010ustar00rootroot00000000000000description other ctp colors over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 confed neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 confed neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 confed neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 confed neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp678.tst000066400000000000000000000110431510423065500166010ustar00rootroot00000000000000description ctp colors over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 3 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-server neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-server exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 3 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-server neigh 4321::2 remote-as 2 neigh 4321::2 send-comm both neigh 4321::2 route-server exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp679.tst000066400000000000000000000112171510423065500166050ustar00rootroot00000000000000description other ctp colors over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 6.6.6.2 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address octp local-as 3 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-server neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-server exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 3 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-server neigh 4321::2 remote-as 2 neigh 4321::2 send-comm both neigh 4321::2 route-server exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp680.tst000066400000000000000000000071761510423065500166060ustar00rootroot00000000000000description ctp colors over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 soft-reconfig neigh 2.2.2.2 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 soft-reconfig neigh 4321::2 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 soft-reconfig neigh 2.2.2.1 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 soft-reconfig neigh 4321::1 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp681.tst000066400000000000000000000071641510423065500166040ustar00rootroot00000000000000description other ctp colors over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp682.tst000066400000000000000000000050651510423065500166030ustar00rootroot00000000000000description ebgp with strict bfd addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 bfd 100 100 3 ipv6 bfd 100 100 3 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 bfd 100 100 3 ipv6 bfd 100 100 3 exit route-map rm1 set aspath 3 3 3 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 bfd-trigger strict neigh 1.1.1.2 route-map-in rm1 neigh 1.1.1.2 route-map-out rm1 neigh 1.1.1.6 remote-as 2 neigh 1.1.1.6 bfd-trigger strict red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 bfd-trigger strict neigh 1234:1::2 route-map-in rm1 neigh 1234:1::2 route-map-out rm1 neigh 1234:2::2 remote-as 2 neigh 1234:2::2 bfd-trigger strict red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 bfd 100 100 3 ipv6 bfd 100 100 3 exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 bfd 100 100 3 ipv6 bfd 100 100 3 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 bfd-trigger strict neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 bfd-trigger strict red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 bfd-trigger strict neigh 1234:2::1 remote-as 1 neigh 1234:2::1 bfd-trigger strict red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 sleep 3000 r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 send conf t r2 send int eth2 r2 send shut r2 send end r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp683.tst000066400000000000000000000050351510423065500166010ustar00rootroot00000000000000description ebgp with asymmetric bfd addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 bfd 100 100 3 ipv6 bfd 100 100 3 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 bfd 100 100 3 ipv6 bfd 100 100 3 exit route-map rm1 set aspath 3 3 3 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 bfd-trigger strict neigh 1.1.1.2 route-map-in rm1 neigh 1.1.1.2 route-map-out rm1 neigh 1.1.1.6 remote-as 2 neigh 1.1.1.6 bfd-trigger strict red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 bfd-trigger strict neigh 1234:1::2 route-map-in rm1 neigh 1234:1::2 route-map-out rm1 neigh 1234:2::2 remote-as 2 neigh 1234:2::2 bfd-trigger strict red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 bfd 100 100 3 ipv6 bfd 100 100 3 exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 bfd 100 100 3 ipv6 bfd 100 100 3 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 bfd-trigger neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 bfd-trigger red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 bfd-trigger neigh 1234:2::1 remote-as 1 neigh 1234:2::1 bfd-trigger red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 sleep 3000 r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 send conf t r2 send int eth2 r2 send shut r2 send end r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp684.tst000066400000000000000000000026171510423065500166050ustar00rootroot00000000000000description unicast+rpd over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni rpd local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni rpd local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni rpd local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni rpd local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp685.tst000066400000000000000000000030321510423065500165760ustar00rootroot00000000000000description unicast+rpd over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni rpd local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni rpd local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni rpd local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni rpd local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp686.tst000066400000000000000000000033741510423065500166100ustar00rootroot00000000000000description unicast+rpd over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni rpd local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 additional-path-rx uni rpd neigh 1.1.1.2 additional-path-tx uni rpd red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni rpd local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 additional-path-rx uni rpd neigh 1234:1::2 additional-path-tx uni rpd red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni rpd local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 additional-path-rx uni rpd neigh 1.1.1.1 additional-path-tx uni rpd red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni rpd local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 additional-path-rx uni rpd neigh 1234:1::1 additional-path-tx uni rpd red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp687.tst000066400000000000000000000031511510423065500166020ustar00rootroot00000000000000description legacy bgp session addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 no neigh 1.1.1.2 wide-as no neigh 1.1.1.2 route-refresh-orig no neigh 1.1.1.2 route-refresh-enha red conn exit router bgp6 1 vrf v1 no safe-ebgp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 no neigh 1234:1::2 wide-as no neigh 1234:1::2 route-refresh-orig no neigh 1234:1::2 route-refresh-enha red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 no neigh 1.1.1.1 wide-as no neigh 1.1.1.1 route-refresh-orig no neigh 1.1.1.1 route-refresh-enha red conn exit router bgp6 1 vrf v1 no safe-ebgp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 no neigh 1234:1::1 wide-as no neigh 1234:1::1 route-refresh-orig no neigh 1234:1::1 route-refresh-enha red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp688.tst000066400000000000000000000057531510423065500166150ustar00rootroot00000000000000description bgp auto summarization addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-map-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-map-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.6 remote-as 3 autosumm red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:2::2 remote-as 3 autosumm red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp689.tst000066400000000000000000000312111510423065500166020ustar00rootroot00000000000000description bgp interas vpn with multiple labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3331::1 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 multiple-label vpnuni afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 multiple-label vpnuni afi-vrf v2 ena afi-vrf v2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3332::2 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 multiple-label vpnuni neigh 2.2.2.1 route-reflect neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 multiple-label vpnuni neigh 2.2.2.3 route-reflect afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 multiple-label vpnuni neigh 4321::1 route-reflect neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 multiple-label vpnuni neigh 4321::3 route-reflect afi-vrf v2 ena afi-vrf v2 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 1.1.1.10 255.255.255.255 1.1.1.10 mplsimp ipv6 route v1 1234:3::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 mplsimp router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 multiple-label vpnuni neigh 2.2.2.2 next-hop-multi neigh 1.1.1.10 remote-as 2 neigh 1.1.1.10 send-comm both neigh 1.1.1.10 multiple-label vpnuni neigh 1.1.1.10 next-hop-multi afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.3 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 multiple-label vpnuni neigh 4321::2 next-hop-multi neigh 1234:3::2 remote-as 2 neigh 1234:3::2 send-comm both neigh 1234:3::2 multiple-label vpnuni neigh 1234:3::2 next-hop-multi afi-vrf v2 ena afi-vrf v2 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.4 255.255.255.255 ipv6 addr 3334::4 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.14 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.14 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v1 1.1.1.9 255.255.255.255 1.1.1.9 mplsimp ipv6 route v1 1234:3::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 mplsimp router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.4 neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 send-comm both neigh 2.2.2.5 multiple-label vpnuni neigh 2.2.2.5 next-hop-multi neigh 1.1.1.9 remote-as 1 neigh 1.1.1.9 send-comm both neigh 1.1.1.9 multiple-label vpnuni neigh 1.1.1.9 next-hop-multi afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.4 neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 send-comm both neigh 4321::5 multiple-label vpnuni neigh 4321::5 next-hop-multi neigh 1234:3::1 remote-as 1 neigh 1234:3::1 send-comm both neigh 1234:3::1 multiple-label vpnuni neigh 1234:3::1 next-hop-multi afi-vrf v2 ena afi-vrf v2 red conn exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ int eth2 eth 0000.0000.5555 $5a$ $5b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.5 255.255.255.255 ipv6 addr 3335::5 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.17 255.255.255.252 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.13 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.18 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.5 neigh 2.2.2.4 remote-as 2 neigh 2.2.2.4 update lo0 neigh 2.2.2.4 send-comm both neigh 2.2.2.4 multiple-label vpnuni neigh 2.2.2.4 route-reflect neigh 2.2.2.6 remote-as 2 neigh 2.2.2.6 update lo0 neigh 2.2.2.6 send-comm both neigh 2.2.2.6 multiple-label vpnuni neigh 2.2.2.6 route-reflect afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.5 neigh 4321::4 remote-as 2 neigh 4321::4 update lo0 neigh 4321::4 send-comm both neigh 4321::4 multiple-label vpnuni neigh 4321::4 route-reflect neigh 4321::6 remote-as 2 neigh 4321::6 update lo0 neigh 4321::6 send-comm both neigh 4321::6 multiple-label vpnuni neigh 4321::6 route-reflect afi-vrf v2 ena afi-vrf v2 red conn exit ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.6 255.255.255.255 ipv6 addr 3336::6 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.18 255.255.255.252 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.17 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.17 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.6 neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 send-comm both neigh 2.2.2.5 multiple-label vpnuni afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.6 neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 send-comm both neigh 4321::5 multiple-label vpnuni afi-vrf v2 ena afi-vrf v2 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.5 vrf v1 sou lo0 r4 tping 100 60 4321::5 vrf v1 sou lo0 r4 tping 100 60 2.2.2.6 vrf v1 sou lo0 r4 tping 100 60 4321::6 vrf v1 sou lo0 r5 tping 100 60 2.2.2.4 vrf v1 sou lo0 r5 tping 100 60 4321::4 vrf v1 sou lo0 r5 tping 100 60 2.2.2.6 vrf v1 sou lo0 r5 tping 100 60 4321::6 vrf v1 sou lo0 r6 tping 100 60 2.2.2.4 vrf v1 sou lo0 r6 tping 100 60 4321::4 vrf v1 sou lo0 r6 tping 100 60 2.2.2.5 vrf v1 sou lo0 r6 tping 100 60 4321::5 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v2 sou lo1 r1 tping 100 60 3332::2 vrf v2 sou lo1 r1 tping 100 60 3.3.3.3 vrf v2 sou lo1 r1 tping 100 60 3333::3 vrf v2 sou lo1 r2 tping 100 60 3.3.3.1 vrf v2 sou lo1 r2 tping 100 60 3331::1 vrf v2 sou lo1 r2 tping 100 60 3.3.3.3 vrf v2 sou lo1 r2 tping 100 60 3333::3 vrf v2 sou lo1 r3 tping 100 60 3.3.3.1 vrf v2 sou lo1 r3 tping 100 60 3331::1 vrf v2 sou lo1 r3 tping 100 60 3.3.3.2 vrf v2 sou lo1 r3 tping 100 60 3332::2 vrf v2 sou lo1 r4 tping 100 60 3.3.3.5 vrf v2 sou lo1 r4 tping 100 60 3335::5 vrf v2 sou lo1 r4 tping 100 60 3.3.3.6 vrf v2 sou lo1 r4 tping 100 60 3336::6 vrf v2 sou lo1 r5 tping 100 60 3.3.3.4 vrf v2 sou lo1 r5 tping 100 60 3334::4 vrf v2 sou lo1 r5 tping 100 60 3.3.3.6 vrf v2 sou lo1 r5 tping 100 60 3336::6 vrf v2 sou lo1 r6 tping 100 60 3.3.3.4 vrf v2 sou lo1 r6 tping 100 60 3334::4 vrf v2 sou lo1 r6 tping 100 60 3.3.3.5 vrf v2 sou lo1 r6 tping 100 60 3335::5 vrf v2 sou lo1 r4 tping 100 60 3.3.3.1 vrf v2 sou lo1 r4 tping 100 60 3331::1 vrf v2 sou lo1 r4 tping 100 60 3.3.3.2 vrf v2 sou lo1 r4 tping 100 60 3332::2 vrf v2 sou lo1 r4 tping 100 60 3.3.3.3 vrf v2 sou lo1 r4 tping 100 60 3333::3 vrf v2 sou lo1 r5 tping 100 60 3.3.3.1 vrf v2 sou lo1 r5 tping 100 60 3331::1 vrf v2 sou lo1 r5 tping 100 60 3.3.3.2 vrf v2 sou lo1 r5 tping 100 60 3332::2 vrf v2 sou lo1 r5 tping 100 60 3.3.3.3 vrf v2 sou lo1 r5 tping 100 60 3333::3 vrf v2 sou lo1 r6 tping 100 60 3.3.3.1 vrf v2 sou lo1 r6 tping 100 60 3331::1 vrf v2 sou lo1 r6 tping 100 60 3.3.3.2 vrf v2 sou lo1 r6 tping 100 60 3332::2 vrf v2 sou lo1 r6 tping 100 60 3.3.3.3 vrf v2 sou lo1 r6 tping 100 60 3333::3 vrf v2 sou lo1 r1 tping 100 60 3.3.3.4 vrf v2 sou lo1 r1 tping 100 60 3334::4 vrf v2 sou lo1 r1 tping 100 60 3.3.3.5 vrf v2 sou lo1 r1 tping 100 60 3335::5 vrf v2 sou lo1 r1 tping 100 60 3.3.3.6 vrf v2 sou lo1 r1 tping 100 60 3336::6 vrf v2 sou lo1 r2 tping 100 60 3.3.3.4 vrf v2 sou lo1 r2 tping 100 60 3334::4 vrf v2 sou lo1 r2 tping 100 60 3.3.3.5 vrf v2 sou lo1 r2 tping 100 60 3335::5 vrf v2 sou lo1 r2 tping 100 60 3.3.3.6 vrf v2 sou lo1 r2 tping 100 60 3336::6 vrf v2 sou lo1 r3 tping 100 60 3.3.3.4 vrf v2 sou lo1 r3 tping 100 60 3334::4 vrf v2 sou lo1 r3 tping 100 60 3.3.3.5 vrf v2 sou lo1 r3 tping 100 60 3335::5 vrf v2 sou lo1 r3 tping 100 60 3.3.3.6 vrf v2 sou lo1 r3 tping 100 60 3336::6 vrf v2 sou lo1 freeRtr-25.11.9/cfg/rout-bgp690.tst000066400000000000000000000316321510423065500166010ustar00rootroot00000000000000description bgp interas othervpn with multiple labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3331::1 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 multiple-label vpnuni ovpnuni afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 multiple-label vpnuni ovpnuni exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3332::2 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 multiple-label vpnuni ovpnuni neigh 2.2.2.1 route-reflect neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 multiple-label vpnuni ovpnuni neigh 2.2.2.3 route-reflect afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 multiple-label vpnuni ovpnuni neigh 4321::1 route-reflect neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 multiple-label vpnuni ovpnuni neigh 4321::3 route-reflect exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 1.1.1.10 255.255.255.255 1.1.1.10 mplsimp ipv6 route v1 1234:3::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 mplsimp router bgp4 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 multiple-label vpnuni ovpnuni neigh 2.2.2.2 next-hop-multi neigh 1.1.1.10 remote-as 2 neigh 1.1.1.10 send-comm both neigh 1.1.1.10 multiple-label vpnuni ovpnuni neigh 1.1.1.10 next-hop-multi afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 1 router-id 6.6.6.3 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 multiple-label vpnuni ovpnuni neigh 4321::2 next-hop-multi neigh 1234:3::2 remote-as 2 neigh 1234:3::2 send-comm both neigh 1234:3::2 multiple-label vpnuni ovpnuni neigh 1234:3::2 next-hop-multi exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.4 255.255.255.255 ipv6 addr 3334::4 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.14 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.14 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v1 1.1.1.9 255.255.255.255 1.1.1.9 mplsimp ipv6 route v1 1234:3::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 mplsimp router bgp4 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 4.4.4.4 neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 send-comm both neigh 2.2.2.5 multiple-label vpnuni ovpnuni neigh 2.2.2.5 next-hop-multi neigh 1.1.1.9 remote-as 1 neigh 1.1.1.9 send-comm both neigh 1.1.1.9 multiple-label vpnuni ovpnuni neigh 1.1.1.9 next-hop-multi afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 6.6.6.4 neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 send-comm both neigh 4321::5 multiple-label vpnuni ovpnuni neigh 4321::5 next-hop-multi neigh 1234:3::1 remote-as 1 neigh 1234:3::1 send-comm both neigh 1234:3::1 multiple-label vpnuni ovpnuni neigh 1234:3::1 next-hop-multi exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ int eth2 eth 0000.0000.5555 $5a$ $5b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.5 255.255.255.255 ipv6 addr 3335::5 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.17 255.255.255.252 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.13 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.18 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 router bgp4 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 4.4.4.5 neigh 2.2.2.4 remote-as 2 neigh 2.2.2.4 update lo0 neigh 2.2.2.4 send-comm both neigh 2.2.2.4 multiple-label vpnuni ovpnuni neigh 2.2.2.4 route-reflect neigh 2.2.2.6 remote-as 2 neigh 2.2.2.6 update lo0 neigh 2.2.2.6 send-comm both neigh 2.2.2.6 multiple-label vpnuni ovpnuni neigh 2.2.2.6 route-reflect afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 6.6.6.5 neigh 4321::4 remote-as 2 neigh 4321::4 update lo0 neigh 4321::4 send-comm both neigh 4321::4 multiple-label vpnuni ovpnuni neigh 4321::4 route-reflect neigh 4321::6 remote-as 2 neigh 4321::6 update lo0 neigh 4321::6 send-comm both neigh 4321::6 multiple-label vpnuni ovpnuni neigh 4321::6 route-reflect exit ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo0 vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.6 255.255.255.255 ipv6 addr 3336::6 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.18 255.255.255.252 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.17 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.17 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 router bgp4 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 4.4.4.6 neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 send-comm both neigh 2.2.2.5 multiple-label vpnuni ovpnuni afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni ovpnuni local-as 2 router-id 6.6.6.6 neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 send-comm both neigh 4321::5 multiple-label vpnuni ovpnuni exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.5 vrf v1 sou lo0 r4 tping 100 60 4321::5 vrf v1 sou lo0 r4 tping 100 60 2.2.2.6 vrf v1 sou lo0 r4 tping 100 60 4321::6 vrf v1 sou lo0 r5 tping 100 60 2.2.2.4 vrf v1 sou lo0 r5 tping 100 60 4321::4 vrf v1 sou lo0 r5 tping 100 60 2.2.2.6 vrf v1 sou lo0 r5 tping 100 60 4321::6 vrf v1 sou lo0 r6 tping 100 60 2.2.2.4 vrf v1 sou lo0 r6 tping 100 60 4321::4 vrf v1 sou lo0 r6 tping 100 60 2.2.2.5 vrf v1 sou lo0 r6 tping 100 60 4321::5 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v2 sou lo1 r1 tping 100 60 3332::2 vrf v2 sou lo1 r1 tping 100 60 3.3.3.3 vrf v2 sou lo1 r1 tping 100 60 3333::3 vrf v2 sou lo1 r2 tping 100 60 3.3.3.1 vrf v2 sou lo1 r2 tping 100 60 3331::1 vrf v2 sou lo1 r2 tping 100 60 3.3.3.3 vrf v2 sou lo1 r2 tping 100 60 3333::3 vrf v2 sou lo1 r3 tping 100 60 3.3.3.1 vrf v2 sou lo1 r3 tping 100 60 3331::1 vrf v2 sou lo1 r3 tping 100 60 3.3.3.2 vrf v2 sou lo1 r3 tping 100 60 3332::2 vrf v2 sou lo1 r4 tping 100 60 3.3.3.5 vrf v2 sou lo1 r4 tping 100 60 3335::5 vrf v2 sou lo1 r4 tping 100 60 3.3.3.6 vrf v2 sou lo1 r4 tping 100 60 3336::6 vrf v2 sou lo1 r5 tping 100 60 3.3.3.4 vrf v2 sou lo1 r5 tping 100 60 3334::4 vrf v2 sou lo1 r5 tping 100 60 3.3.3.6 vrf v2 sou lo1 r5 tping 100 60 3336::6 vrf v2 sou lo1 r6 tping 100 60 3.3.3.4 vrf v2 sou lo1 r6 tping 100 60 3334::4 vrf v2 sou lo1 r6 tping 100 60 3.3.3.5 vrf v2 sou lo1 r6 tping 100 60 3335::5 vrf v2 sou lo1 r4 tping 100 60 3.3.3.1 vrf v2 sou lo1 r4 tping 100 60 3331::1 vrf v2 sou lo1 r4 tping 100 60 3.3.3.2 vrf v2 sou lo1 r4 tping 100 60 3332::2 vrf v2 sou lo1 r4 tping 100 60 3.3.3.3 vrf v2 sou lo1 r4 tping 100 60 3333::3 vrf v2 sou lo1 r5 tping 100 60 3.3.3.1 vrf v2 sou lo1 r5 tping 100 60 3331::1 vrf v2 sou lo1 r5 tping 100 60 3.3.3.2 vrf v2 sou lo1 r5 tping 100 60 3332::2 vrf v2 sou lo1 r5 tping 100 60 3.3.3.3 vrf v2 sou lo1 r5 tping 100 60 3333::3 vrf v2 sou lo1 r6 tping 100 60 3.3.3.1 vrf v2 sou lo1 r6 tping 100 60 3331::1 vrf v2 sou lo1 r6 tping 100 60 3.3.3.2 vrf v2 sou lo1 r6 tping 100 60 3332::2 vrf v2 sou lo1 r6 tping 100 60 3.3.3.3 vrf v2 sou lo1 r6 tping 100 60 3333::3 vrf v2 sou lo1 r1 tping 100 60 3.3.3.4 vrf v2 sou lo1 r1 tping 100 60 3334::4 vrf v2 sou lo1 r1 tping 100 60 3.3.3.5 vrf v2 sou lo1 r1 tping 100 60 3335::5 vrf v2 sou lo1 r1 tping 100 60 3.3.3.6 vrf v2 sou lo1 r1 tping 100 60 3336::6 vrf v2 sou lo1 r2 tping 100 60 3.3.3.4 vrf v2 sou lo1 r2 tping 100 60 3334::4 vrf v2 sou lo1 r2 tping 100 60 3.3.3.5 vrf v2 sou lo1 r2 tping 100 60 3335::5 vrf v2 sou lo1 r2 tping 100 60 3.3.3.6 vrf v2 sou lo1 r2 tping 100 60 3336::6 vrf v2 sou lo1 r3 tping 100 60 3.3.3.4 vrf v2 sou lo1 r3 tping 100 60 3334::4 vrf v2 sou lo1 r3 tping 100 60 3.3.3.5 vrf v2 sou lo1 r3 tping 100 60 3335::5 vrf v2 sou lo1 r3 tping 100 60 3.3.3.6 vrf v2 sou lo1 r3 tping 100 60 3336::6 vrf v2 sou lo1 freeRtr-25.11.9/cfg/rout-bgp691.tst000066400000000000000000000277461510423065500166150ustar00rootroot00000000000000description bgp interas labels with multiple labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode all-igp exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3331::1 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 multiple-label lab justadvert lo1 exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 multiple-label lab justadvert lo1 exit int pweth1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.0 pseudo v1 lo1 pweompls 3.3.3.6 1234 exit int pweth2 vrf for v1 ipv4 addr 4.4.5.1 255.255.255.0 pseudo v1 lo1 pweompls 3336::6 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode all-igp exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3332::2 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 multiple-label lab neigh 2.2.2.1 route-reflect neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 multiple-label lab neigh 2.2.2.3 route-reflect justadvert lo1 exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 multiple-label lab neigh 4321::1 route-reflect neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 multiple-label lab neigh 4321::3 route-reflect justadvert lo1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode all-igp exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 1.1.1.10 255.255.255.255 1.1.1.10 mplsimp ipv6 route v1 1234:3::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 mplsimp router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 4.4.4.3 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 multiple-label lab neigh 2.2.2.2 next-hop-multi neigh 1.1.1.10 remote-as 2 neigh 1.1.1.10 multiple-label lab neigh 1.1.1.10 next-hop-multi justadvert lo1 exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router-id 6.6.6.3 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 multiple-label lab neigh 4321::2 next-hop-multi neigh 1234:3::2 remote-as 2 neigh 1234:3::2 multiple-label lab neigh 1234:3::2 next-hop-multi justadvert lo1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode all-igp exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.4 255.255.255.255 ipv6 addr 3334::4 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.14 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.14 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v1 1.1.1.9 255.255.255.255 1.1.1.9 mplsimp ipv6 route v1 1234:3::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 mplsimp router bgp4 2 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.4 neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 multiple-label lab neigh 2.2.2.5 next-hop-multi neigh 1.1.1.9 remote-as 1 neigh 1.1.1.9 multiple-label lab neigh 1.1.1.9 next-hop-multi justadvert lo1 exit router bgp6 2 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.4 neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 multiple-label lab neigh 4321::5 next-hop-multi neigh 1234:3::1 remote-as 1 neigh 1234:3::1 multiple-label lab neigh 1234:3::1 next-hop-multi justadvert lo1 exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ int eth2 eth 0000.0000.5555 $5a$ $5b$ ! vrf def v1 rd 1:1 label-mode all-igp exit int lo0 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.5 255.255.255.255 ipv6 addr 3335::5 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.17 255.255.255.252 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.13 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.18 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 router bgp4 2 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.5 neigh 2.2.2.4 remote-as 2 neigh 2.2.2.4 update lo0 neigh 2.2.2.4 multiple-label lab neigh 2.2.2.4 route-reflect neigh 2.2.2.6 remote-as 2 neigh 2.2.2.6 update lo0 neigh 2.2.2.6 multiple-label lab neigh 2.2.2.6 route-reflect justadvert lo1 exit router bgp6 2 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.5 neigh 4321::4 remote-as 2 neigh 4321::4 update lo0 neigh 4321::4 multiple-label lab neigh 4321::4 route-reflect neigh 4321::6 remote-as 2 neigh 4321::6 update lo0 neigh 4321::6 multiple-label lab neigh 4321::6 route-reflect justadvert lo1 exit ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode all-igp exit int lo0 vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.6 255.255.255.255 ipv6 addr 3336::6 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.18 255.255.255.252 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.17 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.17 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 router bgp4 2 vrf v1 no safe-ebgp address lab local-as 2 router-id 4.4.4.6 neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 multiple-label lab justadvert lo1 exit router bgp6 2 vrf v1 no safe-ebgp address lab local-as 2 router-id 6.6.6.6 neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 multiple-label lab justadvert lo1 exit int pweth1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.0 pseudo v1 lo1 pweompls 3.3.3.1 1234 exit int pweth2 vrf for v1 ipv4 addr 4.4.5.2 255.255.255.0 pseudo v1 lo1 pweompls 3331::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.5 vrf v1 sou lo0 r4 tping 100 60 4321::5 vrf v1 sou lo0 r4 tping 100 60 2.2.2.6 vrf v1 sou lo0 r4 tping 100 60 4321::6 vrf v1 sou lo0 r5 tping 100 60 2.2.2.4 vrf v1 sou lo0 r5 tping 100 60 4321::4 vrf v1 sou lo0 r5 tping 100 60 2.2.2.6 vrf v1 sou lo0 r5 tping 100 60 4321::6 vrf v1 sou lo0 r6 tping 100 60 2.2.2.4 vrf v1 sou lo0 r6 tping 100 60 4321::4 vrf v1 sou lo0 r6 tping 100 60 2.2.2.5 vrf v1 sou lo0 r6 tping 100 60 4321::5 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 sou lo1 r1 tping 100 60 3332::2 vrf v1 sou lo1 r1 tping 100 60 3.3.3.3 vrf v1 sou lo1 r1 tping 100 60 3333::3 vrf v1 sou lo1 r2 tping 100 60 3.3.3.1 vrf v1 sou lo1 r2 tping 100 60 3331::1 vrf v1 sou lo1 r2 tping 100 60 3.3.3.3 vrf v1 sou lo1 r2 tping 100 60 3333::3 vrf v1 sou lo1 r3 tping 100 60 3.3.3.1 vrf v1 sou lo1 r3 tping 100 60 3331::1 vrf v1 sou lo1 r3 tping 100 60 3.3.3.2 vrf v1 sou lo1 r3 tping 100 60 3332::2 vrf v1 sou lo1 r4 tping 100 60 3.3.3.5 vrf v1 sou lo1 r4 tping 100 60 3335::5 vrf v1 sou lo1 r4 tping 100 60 3.3.3.6 vrf v1 sou lo1 r4 tping 100 60 3336::6 vrf v1 sou lo1 r5 tping 100 60 3.3.3.4 vrf v1 sou lo1 r5 tping 100 60 3334::4 vrf v1 sou lo1 r5 tping 100 60 3.3.3.6 vrf v1 sou lo1 r5 tping 100 60 3336::6 vrf v1 sou lo1 r6 tping 100 60 3.3.3.4 vrf v1 sou lo1 r6 tping 100 60 3334::4 vrf v1 sou lo1 r6 tping 100 60 3.3.3.5 vrf v1 sou lo1 r6 tping 100 60 3335::5 vrf v1 sou lo1 r4 tping 100 60 3.3.3.1 vrf v1 sou lo1 r4 tping 100 60 3331::1 vrf v1 sou lo1 r4 tping 100 60 3.3.3.2 vrf v1 sou lo1 r4 tping 100 60 3332::2 vrf v1 sou lo1 r4 tping 100 60 3.3.3.3 vrf v1 sou lo1 r4 tping 100 60 3333::3 vrf v1 sou lo1 r5 tping 100 60 3.3.3.1 vrf v1 sou lo1 r5 tping 100 60 3331::1 vrf v1 sou lo1 r5 tping 100 60 3.3.3.2 vrf v1 sou lo1 r5 tping 100 60 3332::2 vrf v1 sou lo1 r5 tping 100 60 3.3.3.3 vrf v1 sou lo1 r5 tping 100 60 3333::3 vrf v1 sou lo1 r6 tping 100 60 3.3.3.1 vrf v1 sou lo1 r6 tping 100 60 3331::1 vrf v1 sou lo1 r6 tping 100 60 3.3.3.2 vrf v1 sou lo1 r6 tping 100 60 3332::2 vrf v1 sou lo1 r6 tping 100 60 3.3.3.3 vrf v1 sou lo1 r6 tping 100 60 3333::3 vrf v1 sou lo1 r1 tping 100 60 3.3.3.4 vrf v1 sou lo1 r1 tping 100 60 3334::4 vrf v1 sou lo1 r1 tping 100 60 3.3.3.5 vrf v1 sou lo1 r1 tping 100 60 3335::5 vrf v1 sou lo1 r1 tping 100 60 3.3.3.6 vrf v1 sou lo1 r1 tping 100 60 3336::6 vrf v1 sou lo1 r2 tping 100 60 3.3.3.4 vrf v1 sou lo1 r2 tping 100 60 3334::4 vrf v1 sou lo1 r2 tping 100 60 3.3.3.5 vrf v1 sou lo1 r2 tping 100 60 3335::5 vrf v1 sou lo1 r2 tping 100 60 3.3.3.6 vrf v1 sou lo1 r2 tping 100 60 3336::6 vrf v1 sou lo1 r3 tping 100 60 3.3.3.4 vrf v1 sou lo1 r3 tping 100 60 3334::4 vrf v1 sou lo1 r3 tping 100 60 3.3.3.5 vrf v1 sou lo1 r3 tping 100 60 3335::5 vrf v1 sou lo1 r3 tping 100 60 3.3.3.6 vrf v1 sou lo1 r3 tping 100 60 3336::6 vrf v1 sou lo1 r1 tping 100 40 4.4.4.2 vrf v1 r6 tping 100 40 4.4.4.1 vrf v1 r1 tping 100 40 4.4.5.2 vrf v1 r6 tping 100 40 4.4.5.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp692.tst000066400000000000000000000277431510423065500166130ustar00rootroot00000000000000description bgp interas ctp with multiple labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode all-igp exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3331::1 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 multiple-label ctp justadvert lo1 exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 multiple-label ctp justadvert lo1 exit int pweth1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.0 pseudo v1 lo1 pweompls 3.3.3.6 1234 exit int pweth2 vrf for v1 ipv4 addr 4.4.5.1 255.255.255.0 pseudo v1 lo1 pweompls 3336::6 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode all-igp exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3332::2 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 multiple-label ctp neigh 2.2.2.1 route-reflect neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 multiple-label ctp neigh 2.2.2.3 route-reflect justadvert lo1 exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 multiple-label ctp neigh 4321::1 route-reflect neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 multiple-label ctp neigh 4321::3 route-reflect justadvert lo1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode all-igp exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 1.1.1.10 255.255.255.255 1.1.1.10 mplsimp ipv6 route v1 1234:3::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 mplsimp router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 4.4.4.3 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 multiple-label ctp neigh 2.2.2.2 next-hop-multi neigh 1.1.1.10 remote-as 2 neigh 1.1.1.10 multiple-label ctp neigh 1.1.1.10 next-hop-multi justadvert lo1 exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router-id 6.6.6.3 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 multiple-label ctp neigh 4321::2 next-hop-multi neigh 1234:3::2 remote-as 2 neigh 1234:3::2 multiple-label ctp neigh 1234:3::2 next-hop-multi justadvert lo1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode all-igp exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.4 255.255.255.255 ipv6 addr 3334::4 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.14 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.14 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v1 1.1.1.9 255.255.255.255 1.1.1.9 mplsimp ipv6 route v1 1234:3::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 mplsimp router bgp4 2 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.4 neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 multiple-label ctp neigh 2.2.2.5 next-hop-multi neigh 1.1.1.9 remote-as 1 neigh 1.1.1.9 multiple-label ctp neigh 1.1.1.9 next-hop-multi justadvert lo1 exit router bgp6 2 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.4 neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 multiple-label ctp neigh 4321::5 next-hop-multi neigh 1234:3::1 remote-as 1 neigh 1234:3::1 multiple-label ctp neigh 1234:3::1 next-hop-multi justadvert lo1 exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ int eth2 eth 0000.0000.5555 $5a$ $5b$ ! vrf def v1 rd 1:1 label-mode all-igp exit int lo0 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.5 255.255.255.255 ipv6 addr 3335::5 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.17 255.255.255.252 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.13 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.18 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 router bgp4 2 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.5 neigh 2.2.2.4 remote-as 2 neigh 2.2.2.4 update lo0 neigh 2.2.2.4 multiple-label ctp neigh 2.2.2.4 route-reflect neigh 2.2.2.6 remote-as 2 neigh 2.2.2.6 update lo0 neigh 2.2.2.6 multiple-label ctp neigh 2.2.2.6 route-reflect justadvert lo1 exit router bgp6 2 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.5 neigh 4321::4 remote-as 2 neigh 4321::4 update lo0 neigh 4321::4 multiple-label ctp neigh 4321::4 route-reflect neigh 4321::6 remote-as 2 neigh 4321::6 update lo0 neigh 4321::6 multiple-label ctp neigh 4321::6 route-reflect justadvert lo1 exit ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode all-igp exit int lo0 vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.6 255.255.255.255 ipv6 addr 3336::6 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.18 255.255.255.252 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.17 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.17 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 router bgp4 2 vrf v1 no safe-ebgp address ctp local-as 2 router-id 4.4.4.6 neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 multiple-label ctp justadvert lo1 exit router bgp6 2 vrf v1 no safe-ebgp address ctp local-as 2 router-id 6.6.6.6 neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 multiple-label ctp justadvert lo1 exit int pweth1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.0 pseudo v1 lo1 pweompls 3.3.3.1 1234 exit int pweth2 vrf for v1 ipv4 addr 4.4.5.2 255.255.255.0 pseudo v1 lo1 pweompls 3331::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.5 vrf v1 sou lo0 r4 tping 100 60 4321::5 vrf v1 sou lo0 r4 tping 100 60 2.2.2.6 vrf v1 sou lo0 r4 tping 100 60 4321::6 vrf v1 sou lo0 r5 tping 100 60 2.2.2.4 vrf v1 sou lo0 r5 tping 100 60 4321::4 vrf v1 sou lo0 r5 tping 100 60 2.2.2.6 vrf v1 sou lo0 r5 tping 100 60 4321::6 vrf v1 sou lo0 r6 tping 100 60 2.2.2.4 vrf v1 sou lo0 r6 tping 100 60 4321::4 vrf v1 sou lo0 r6 tping 100 60 2.2.2.5 vrf v1 sou lo0 r6 tping 100 60 4321::5 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 sou lo1 r1 tping 100 60 3332::2 vrf v1 sou lo1 r1 tping 100 60 3.3.3.3 vrf v1 sou lo1 r1 tping 100 60 3333::3 vrf v1 sou lo1 r2 tping 100 60 3.3.3.1 vrf v1 sou lo1 r2 tping 100 60 3331::1 vrf v1 sou lo1 r2 tping 100 60 3.3.3.3 vrf v1 sou lo1 r2 tping 100 60 3333::3 vrf v1 sou lo1 r3 tping 100 60 3.3.3.1 vrf v1 sou lo1 r3 tping 100 60 3331::1 vrf v1 sou lo1 r3 tping 100 60 3.3.3.2 vrf v1 sou lo1 r3 tping 100 60 3332::2 vrf v1 sou lo1 r4 tping 100 60 3.3.3.5 vrf v1 sou lo1 r4 tping 100 60 3335::5 vrf v1 sou lo1 r4 tping 100 60 3.3.3.6 vrf v1 sou lo1 r4 tping 100 60 3336::6 vrf v1 sou lo1 r5 tping 100 60 3.3.3.4 vrf v1 sou lo1 r5 tping 100 60 3334::4 vrf v1 sou lo1 r5 tping 100 60 3.3.3.6 vrf v1 sou lo1 r5 tping 100 60 3336::6 vrf v1 sou lo1 r6 tping 100 60 3.3.3.4 vrf v1 sou lo1 r6 tping 100 60 3334::4 vrf v1 sou lo1 r6 tping 100 60 3.3.3.5 vrf v1 sou lo1 r6 tping 100 60 3335::5 vrf v1 sou lo1 r4 tping 100 60 3.3.3.1 vrf v1 sou lo1 r4 tping 100 60 3331::1 vrf v1 sou lo1 r4 tping 100 60 3.3.3.2 vrf v1 sou lo1 r4 tping 100 60 3332::2 vrf v1 sou lo1 r4 tping 100 60 3.3.3.3 vrf v1 sou lo1 r4 tping 100 60 3333::3 vrf v1 sou lo1 r5 tping 100 60 3.3.3.1 vrf v1 sou lo1 r5 tping 100 60 3331::1 vrf v1 sou lo1 r5 tping 100 60 3.3.3.2 vrf v1 sou lo1 r5 tping 100 60 3332::2 vrf v1 sou lo1 r5 tping 100 60 3.3.3.3 vrf v1 sou lo1 r5 tping 100 60 3333::3 vrf v1 sou lo1 r6 tping 100 60 3.3.3.1 vrf v1 sou lo1 r6 tping 100 60 3331::1 vrf v1 sou lo1 r6 tping 100 60 3.3.3.2 vrf v1 sou lo1 r6 tping 100 60 3332::2 vrf v1 sou lo1 r6 tping 100 60 3.3.3.3 vrf v1 sou lo1 r6 tping 100 60 3333::3 vrf v1 sou lo1 r1 tping 100 60 3.3.3.4 vrf v1 sou lo1 r1 tping 100 60 3334::4 vrf v1 sou lo1 r1 tping 100 60 3.3.3.5 vrf v1 sou lo1 r1 tping 100 60 3335::5 vrf v1 sou lo1 r1 tping 100 60 3.3.3.6 vrf v1 sou lo1 r1 tping 100 60 3336::6 vrf v1 sou lo1 r2 tping 100 60 3.3.3.4 vrf v1 sou lo1 r2 tping 100 60 3334::4 vrf v1 sou lo1 r2 tping 100 60 3.3.3.5 vrf v1 sou lo1 r2 tping 100 60 3335::5 vrf v1 sou lo1 r2 tping 100 60 3.3.3.6 vrf v1 sou lo1 r2 tping 100 60 3336::6 vrf v1 sou lo1 r3 tping 100 60 3.3.3.4 vrf v1 sou lo1 r3 tping 100 60 3334::4 vrf v1 sou lo1 r3 tping 100 60 3.3.3.5 vrf v1 sou lo1 r3 tping 100 60 3335::5 vrf v1 sou lo1 r3 tping 100 60 3.3.3.6 vrf v1 sou lo1 r3 tping 100 60 3336::6 vrf v1 sou lo1 r1 tping 100 40 4.4.4.2 vrf v1 r6 tping 100 40 4.4.4.1 vrf v1 r1 tping 100 40 4.4.5.2 vrf v1 r6 tping 100 40 4.4.5.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp693.tst000066400000000000000000000025511510423065500166020ustar00rootroot00000000000000description ebgp with hostname addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 hostname red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 hostname red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 bfd 100 100 3 ipv6 bfd 100 100 3 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 hostname red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 hostname red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp694.tst000066400000000000000000000025511510423065500166030ustar00rootroot00000000000000description ebgp with software addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 software red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 software red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 bfd 100 100 3 ipv6 bfd 100 100 3 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 software red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 software red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp695.tst000066400000000000000000000062611510423065500166060ustar00rootroot00000000000000description ebgp with car addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.6 remote-as 3 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:2::2 remote-as 3 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp696.tst000066400000000000000000000077331510423065500166140ustar00rootroot00000000000000description ibgp with car addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address car local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 red conn exit router bgp6 1 vrf v1 address car local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.13 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo1 pweompls 4321::13 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address car local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 red conn exit router bgp6 1 vrf v1 address car local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.11 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo1 pweompls 4321::11 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.13 vrf v1 sou lo0 r1 tping 100 60 4321::13 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 0 60 2.2.2.11 vrf v1 sou lo0 r2 tping 0 60 2.2.2.13 vrf v1 sou lo0 r2 tping 0 60 4321::11 vrf v1 sou lo0 r2 tping 0 60 4321::13 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.11 vrf v1 sou lo0 r3 tping 100 60 4321::11 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp697.tst000066400000000000000000000071061510423065500166070ustar00rootroot00000000000000description bgp additional path with car addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 additional-path-tx lab red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 additional-path-tx lab red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 additional-path-rx car neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 additional-path-rx car red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 additional-path-rx car neigh 1234:2::2 remote-as 3 neigh 1234:2::2 additional-path-rx car red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 additional-path-rx car neigh 1.1.1.5 additional-path-tx car red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 additional-path-tx car neigh 1234:2::1 additional-path-tx car red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp698.tst000066400000000000000000000074661510423065500166210ustar00rootroot00000000000000description ebgp with php car addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 label-pop red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 label-pop red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 label-pop neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 label-pop red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 label-pop neigh 1234:2::2 remote-as 3 neigh 1234:2::2 label-pop red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 label-pop red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 label-pop red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r2 tping 0 60 2.2.2.1 vrf v1 sou lo0 r2 tping 0 60 2.2.2.3 vrf v1 sou lo0 r2 tping 0 60 4321::3 vrf v1 sou lo0 r2 tping 0 60 4321::1 vrf v1 sou lo0 r3 tping 0 60 2.2.2.1 vrf v1 sou lo0 r3 tping 0 60 2.2.2.2 vrf v1 sou lo0 r3 tping 0 60 4321::1 vrf v1 sou lo0 r3 tping 0 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp699.tst000066400000000000000000000101031510423065500166000ustar00rootroot00000000000000description ibgp with php car addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address car local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 label-pop red conn exit router bgp6 1 vrf v1 address car local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 label-pop red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.13 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo1 pweompls 4321::13 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address car local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 label-pop red conn exit router bgp6 1 vrf v1 address car local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 label-pop red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.11 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo1 pweompls 4321::11 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.13 vrf v1 sou lo0 r1 tping 100 60 4321::13 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 0 60 2.2.2.11 vrf v1 sou lo0 r2 tping 0 60 2.2.2.13 vrf v1 sou lo0 r2 tping 0 60 4321::11 vrf v1 sou lo0 r2 tping 0 60 4321::13 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.11 vrf v1 sou lo0 r3 tping 100 60 4321::11 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp700.tst000066400000000000000000000103131510423065500165620ustar00rootroot00000000000000description bgp additional path with php car addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 label-pop neigh 1.1.1.2 additional-path-tx lab red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 label-pop neigh 1234:1::2 additional-path-tx lab red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 label-pop neigh 1.1.1.1 additional-path-rx car neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 label-pop neigh 1.1.1.6 additional-path-rx car red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 label-pop neigh 1234:1::1 additional-path-rx car neigh 1234:2::2 remote-as 3 neigh 1234:2::2 label-pop neigh 1234:2::2 additional-path-rx car red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 label-pop neigh 1.1.1.5 additional-path-rx car neigh 1.1.1.5 additional-path-tx car red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 label-pop neigh 1234:2::1 additional-path-tx car neigh 1234:2::1 additional-path-tx car red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 0 60 2.2.2.2 vrf v1 sou lo0 r1 tping 0 60 2.2.2.3 vrf v1 sou lo0 r1 tping 0 60 4321::2 vrf v1 sou lo0 r1 tping 0 60 4321::3 vrf v1 sou lo0 r2 tping 0 60 2.2.2.1 vrf v1 sou lo0 r2 tping 0 60 2.2.2.3 vrf v1 sou lo0 r2 tping 0 60 4321::3 vrf v1 sou lo0 r2 tping 0 60 4321::1 vrf v1 sou lo0 r3 tping 0 60 2.2.2.1 vrf v1 sou lo0 r3 tping 0 60 2.2.2.2 vrf v1 sou lo0 r3 tping 0 60 4321::1 vrf v1 sou lo0 r3 tping 0 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp701.tst000066400000000000000000000072251510423065500165730ustar00rootroot00000000000000description ibgp rr with car addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 red conn exit router bgp6 1 vrf v1 address car local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 1 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.12 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo1 pweompls 4321::12 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address car local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 red conn exit router bgp6 1 vrf v1 address car local-as 1 router-id 6.6.6.2 neigh 1234::3 remote-as 1 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.11 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo1 pweompls 4321::11 1234 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address car local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-reflect neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect red conn exit router bgp6 1 vrf v1 address car local-as 1 router-id 6.6.6.3 neigh 1234::1 remote-as 1 neigh 1234::1 route-reflect neigh 1234::2 remote-as 1 neigh 1234::2 route-reflect red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.12 vrf v1 sou lo0 r1 tping 100 60 4321::12 vrf v1 sou lo0 r1 tping 100 60 2.2.2.13 vrf v1 sou lo0 r1 tping 100 60 4321::13 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.11 vrf v1 sou lo0 r2 tping 100 60 2.2.2.13 vrf v1 sou lo0 r2 tping 100 60 4321::11 vrf v1 sou lo0 r2 tping 100 60 4321::13 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.11 vrf v1 sou lo0 r3 tping 100 60 4321::11 vrf v1 sou lo0 r3 tping 100 60 2.2.2.12 vrf v1 sou lo0 r3 tping 100 60 4321::12 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r2 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp702.tst000066400000000000000000000057261510423065500166000ustar00rootroot00000000000000description confed bgp with car addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 confed red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 confed neigh 1234::3 remote-as 3 neigh 1234::3 confed red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 3 router-id 4.4.4.3 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 confed red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 3 router-id 6.6.6.3 neigh 1234::2 remote-as 2 neigh 1234::2 confed red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp703.tst000066400000000000000000000056341510423065500165770ustar00rootroot00000000000000description bgp route server with car addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-server neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 route-server red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 route-server neigh 1234::3 remote-as 3 neigh 1234::3 route-server red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 3 router-id 4.4.4.3 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 3 router-id 6.6.6.3 neigh 1234::2 remote-as 2 red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp704.tst000066400000000000000000000062201510423065500165700ustar00rootroot00000000000000description bgp soft-reconfig with car addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:2::2 remote-as 3 neigh 1234:2::2 soft-reconfig red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 soft-reconfig red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp705.tst000066400000000000000000000043501510423065500165730ustar00rootroot00000000000000description car bgp ingress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit prefix-list p4 sequence 10 deny 2.2.2.12/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::12/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 prefix-list-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 prefix-list-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp706.tst000066400000000000000000000043511510423065500165750ustar00rootroot00000000000000description car bgp egress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit prefix-list p4 sequence 10 deny 2.2.2.11/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::11/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 prefix-list-out p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 prefix-list-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp707.tst000066400000000000000000000044521510423065500166000ustar00rootroot00000000000000description car bgp ingress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-map-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-map-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp708.tst000066400000000000000000000044531510423065500166020ustar00rootroot00000000000000description car bgp egress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.11/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::11/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-map-out p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-map-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp709.tst000066400000000000000000000045631510423065500166050ustar00rootroot00000000000000description car bgp ingress route filtering with prefixlist with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit prefix-list p4 sequence 10 deny 2.2.2.12/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::12/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 prefix-list-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 prefix-list-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp710.tst000066400000000000000000000045641510423065500165760ustar00rootroot00000000000000description car bgp egress route filtering with prefixlist with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit prefix-list p4 sequence 10 deny 2.2.2.11/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::11/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 prefix-list-out p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 prefix-list-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp711.tst000066400000000000000000000046651510423065500166010ustar00rootroot00000000000000description car bgp ingress route filtering with routemap with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-map-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-map-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp712.tst000066400000000000000000000046661510423065500166030ustar00rootroot00000000000000description car bgp egress route filtering with routemap with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.11/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::11/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-map-out p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-map-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp713.tst000066400000000000000000000043211510423065500165700ustar00rootroot00000000000000description car bgp ingress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-policy p4 if network 2.2.2.12/32 drop else pass enif exit route-policy p6 if network 4321::12/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-policy-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-policy-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp714.tst000066400000000000000000000043221510423065500165720ustar00rootroot00000000000000description car bgp egress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-policy p4 if network 2.2.2.11/32 drop else pass enif exit route-policy p6 if network 4321::11/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-policy-out p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-policy-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp715.tst000066400000000000000000000045341510423065500166000ustar00rootroot00000000000000description car bgp ingress route filtering with routepolicy with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-policy p4 if network 2.2.2.12/32 drop else pass enif exit route-policy p6 if network 4321::12/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-policy-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-policy-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp716.tst000066400000000000000000000045351510423065500166020ustar00rootroot00000000000000description car bgp egress route filtering with routepolicy with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-policy p4 if network 2.2.2.11/32 drop else pass enif exit route-policy p6 if network 4321::11/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-policy-out p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-policy-out p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp717.tst000066400000000000000000000024261510423065500166000ustar00rootroot00000000000000description car bgp default route addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 default exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 default exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp718.tst000066400000000000000000000044771510423065500166110ustar00rootroot00000000000000description car bgp aggregation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-map-in p4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-map-in p6 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 aggregate 2.2.2.0/24 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 aggregate 4321::/32 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp719.tst000066400000000000000000000144651510423065500166100ustar00rootroot00000000000000description bgp change in metric with car addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address car local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit route-map rm1 sequence 10 act deny sequence 10 match metric 4000-6000 sequence 20 act perm exit router bgp4 1 vrf v1 address car local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address car local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit route-map rm1 set metric 1000 exit router bgp4 1 vrf v1 address car local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address car local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit route-map rm1 sequence 10 act deny sequence 10 match metric 2000-4000 sequence 20 act perm exit router bgp4 1 vrf v1 address car local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address car local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 3000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp720.tst000066400000000000000000000204001510423065500165620ustar00rootroot00000000000000description ibgp rr prefix movement with car addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address car local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit route-map rm1 set aspath 1000 exit router bgp4 1 vrf v1 address car local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 advertise 2.2.2.2/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 address car local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 advertise 4321::2/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit route-map rm1 set aspath 1000 1000 1000 exit router bgp4 1 vrf v1 address car local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 advertise 2.2.2.3/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router bgp6 1 vrf v1 address car local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 advertise 4321::3/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address car local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address car local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 1000 1000 1000 1000 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 freeRtr-25.11.9/cfg/rout-bgp721.tst000066400000000000000000000120511510423065500165660ustar00rootroot00000000000000description ibgp rr prefix withdraw with car addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address car local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address car local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address car local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address car local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address car local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address car local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address car local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send no red conn r3 send exit r3 send router bgp6 1 r3 send no red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send red conn r3 send exit r3 send router bgp6 1 r3 send red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp722.tst000066400000000000000000000036321510423065500165740ustar00rootroot00000000000000description unicast+ocar over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 afi-other ena afi-other red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.2 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni ocar local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ocar local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r2 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp723.tst000066400000000000000000000040441510423065500165730ustar00rootroot00000000000000description unicast+ocar over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig afi-other ena afi-other red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.2 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni ocar local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ocar local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena afi-other red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r2 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp724.tst000066400000000000000000000044161510423065500165770ustar00rootroot00000000000000description unicast+ocar over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 additional-path-rx uni ocar neigh 1.1.1.2 additional-path-tx uni ocar afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 additional-path-rx uni ocar neigh 1234:1::2 additional-path-Tx uni ocar afi-other ena afi-other red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.2 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni ocar local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 additional-path-rx uni ocar neigh 1.1.1.1 additional-path-tx uni ocar afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ocar local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 additional-path-rx uni ocar neigh 1234:1::1 additional-path-tx uni ocar afi-other ena afi-other red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r2 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp725.tst000066400000000000000000000042371510423065500166010ustar00rootroot00000000000000description unicast+ocar over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 3 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni ocar local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ocar local-as 2 router-id 6.6.6.2 neigh 1234:1::3 remote-as 3 afi-other ena afi-other red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni ocar local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-server neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-server afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ocar local-as 3 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-server neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-server afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp726.tst000066400000000000000000000025311510423065500165750ustar00rootroot00000000000000description unicast+ocar over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 address uni ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address uni ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 address uni ocar local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address uni ocar local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp727.tst000066400000000000000000000041061510423065500165760ustar00rootroot00000000000000description unicast+ocar over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 address uni ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address uni ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 1 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 address uni ocar local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address uni ocar local-as 1 router-id 6.6.6.2 neigh 1234:1::3 remote-as 1 afi-other ena afi-other red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 address uni ocar local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-reflect neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address uni ocar local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-reflect neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp728.tst000066400000000000000000000027631510423065500166060ustar00rootroot00000000000000description unicast+ocar over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 confed afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 confed afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address uni ocar local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 confed afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni ocar local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 confed afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp729.tst000066400000000000000000000034211510423065500165770ustar00rootroot00000000000000description ocar over srv6 over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp730.tst000066400000000000000000000035111510423065500165670ustar00rootroot00000000000000description ocar over srv6 over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp731.tst000066400000000000000000000050021510423065500165650ustar00rootroot00000000000000description ocar over srv6 over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 1 neigh 1234::3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.2 neigh 1234::3 remote-as 1 neigh 1234::3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 segrou neigh 1.1.1.1 route-reflect neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 segrou neigh 1.1.1.2 route-reflect exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 4.4.4.3 neigh 1234::1 remote-as 1 neigh 1234::1 segrou neigh 1234::1 route-reflect neigh 1234::2 remote-as 1 neigh 1234::2 segrou neigh 1234::2 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp732.tst000066400000000000000000000050751510423065500166000ustar00rootroot00000000000000description ocar over srv6 over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 3 neigh 1234::3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 6.6.6.2 neigh 1234::3 remote-as 3 neigh 1234::3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 segrou neigh 1.1.1.1 confed neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 segrou neigh 1.1.1.2 confed exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 3 router-id 4.4.4.3 neigh 1234::1 remote-as 1 neigh 1234::1 segrou neigh 1234::1 confed neigh 1234::2 remote-as 2 neigh 1234::2 segrou neigh 1234::2 confed exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp733.tst000066400000000000000000000051331510423065500165740ustar00rootroot00000000000000description ocar over srv6 over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.1 neigh 1234::3 remote-as 3 neigh 1234::3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 6.6.6.2 neigh 1234::3 remote-as 3 neigh 1234::3 segrou afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 3 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 segrou neigh 1.1.1.1 route-server neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 segrou neigh 1.1.1.2 route-server exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 3 router-id 4.4.4.3 neigh 1234::1 remote-as 1 neigh 1234::1 segrou neigh 1234::1 route-server neigh 1234::2 remote-as 2 neigh 1234::2 segrou neigh 1234::2 route-server exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp734.tst000066400000000000000000000036271510423065500166030ustar00rootroot00000000000000description ocar over srv6 over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 segrou neigh 1.1.1.2 soft-reconfig afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 segrou neigh 1234::2 soft-reconfig afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 segrou neigh 1.1.1.1 soft-reconfig afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 segrou neigh 1234::1 soft-reconfig afi-other ena afi-other red conn afi-other srv6 tun1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp735.tst000066400000000000000000000041301510423065500165720ustar00rootroot00000000000000description ocar over srv6 over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234::2 router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 segrou neigh 1.1.1.2 additional-path-rx ocar neigh 1.1.1.2 additional-path-tx ocar afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 1 neigh 1234::2 segrou neigh 1234::2 additional-path-rx ocar neigh 1234::2 additional-path-tx ocar afi-other ena afi-other red conn afi-other srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234::1 router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 segrou neigh 1.1.1.1 additional-path-rx ocar neigh 1.1.1.1 additional-path-tx ocar afi-other ena afi-other red conn afi-other srv6 tun1 exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 segrou neigh 1234::1 additional-path-rx ocar neigh 1234::1 additional-path-tx ocar afi-other ena afi-other red conn afi-other srv6 tun1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp736.tst000066400000000000000000000025671510423065500166070ustar00rootroot00000000000000description ocar bgp default route addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-default afi-other ena exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-default afi-other ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp737.tst000066400000000000000000000045351510423065500166050ustar00rootroot00000000000000description ocar bgp ingress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit prefix-list p4 sequence 10 deny 2.2.2.12/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::12/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-prefix-list-in p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-prefix-list-in p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp738.tst000066400000000000000000000045361510423065500166070ustar00rootroot00000000000000description ocar bgp egress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit prefix-list p4 sequence 10 deny 2.2.2.11/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::11/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-prefix-list-out p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-prefix-list-out p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp739.tst000066400000000000000000000046371510423065500166120ustar00rootroot00000000000000description ocar bgp ingress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-route-map-in p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-route-map-in p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp740.tst000066400000000000000000000046401510423065500165740ustar00rootroot00000000000000description ocar bgp egress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.11/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::11/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-route-map-out p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-route-map-out p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp741.tst000066400000000000000000000047501510423065500165770ustar00rootroot00000000000000description ocar bgp ingress route filtering with prefixlist with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit prefix-list p4 sequence 10 deny 2.2.2.12/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::12/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 other-prefix-list-in p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 other-prefix-list-in p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp742.tst000066400000000000000000000047511510423065500166010ustar00rootroot00000000000000description ocar bgp egress route filtering with prefixlist with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit prefix-list p4 sequence 10 deny 2.2.2.11/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::11/128 sequence 20 permit ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 other-prefix-list-out p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 other-prefix-list-out p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp743.tst000066400000000000000000000050521510423065500165750ustar00rootroot00000000000000description ocar bgp ingress route filtering with routemap with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 other-route-map-in p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 other-route-map-in p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp744.tst000066400000000000000000000050531510423065500165770ustar00rootroot00000000000000description ocar bgp egress route filtering with routemap with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.11/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::11/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 other-route-map-out p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 other-route-map-out p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp745.tst000066400000000000000000000045061510423065500166020ustar00rootroot00000000000000description ocar bgp ingress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-policy p4 if network 2.2.2.12/32 drop else pass enif exit route-policy p6 if network 4321::12/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-route-policy-in p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-route-policy-in p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp746.tst000066400000000000000000000045071510423065500166040ustar00rootroot00000000000000description ocar bgp egress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-policy p4 if network 2.2.2.11/32 drop else pass enif exit route-policy p6 if network 4321::11/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 other-route-policy-out p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 other-route-policy-out p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp747.tst000066400000000000000000000047211510423065500166030ustar00rootroot00000000000000description ocar bgp ingress route filtering with routepolicy with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-policy p4 if network 2.2.2.12/32 drop else pass enif exit route-policy p6 if network 4321::12/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 other-route-policy-in p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 other-route-policy-in p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.12 vrf v1 r1 tping 0 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp748.tst000066400000000000000000000047221510423065500166050ustar00rootroot00000000000000description ocar bgp egress route filtering with routepolicy with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-policy p4 if network 2.2.2.11/32 drop else pass enif exit route-policy p6 if network 4321::11/128 drop else pass enif exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 other-route-policy-out p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 other-route-policy-out p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.11 vrf v1 r2 tping 0 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp749.tst000066400000000000000000000046501510423065500166060ustar00rootroot00000000000000description ocar bgp aggregation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 route-map-in p6 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 route-map-in p4 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 aggregate 2.2.2.0/24 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 aggregate 4321::/32 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-bgp750.tst000066400000000000000000000150211510423065500165700ustar00rootroot00000000000000description ocar bgp change in metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit route-map rm1 sequence 10 act deny sequence 10 match metric 4000-6000 sequence 20 act perm exit router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 other-route-map-in rm1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 other-route-map-in rm1 afi-other ena afi-other red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit route-map rm1 set metric 1000 exit router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn route-map rm1 exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit route-map rm1 sequence 10 act deny sequence 10 match metric 2000-4000 sequence 20 act perm exit router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 other-route-map-in rm1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 other-route-map-in rm1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 3000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r3 tping 0 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set metric 1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp751.tst000066400000000000000000000207641510423065500166030ustar00rootroot00000000000000description ocar ibgp rr prefix movement addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit route-map rm1 set aspath 1000 exit router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other advertise 4321::2/128 route-map rm1 afi-other advertise 4321::222/128 route-map rm1 exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other advertise 2.2.2.2/32 route-map rm1 afi-other advertise 2.2.2.222/32 route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit route-map rm1 set aspath 1000 1000 1000 exit router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other advertise 4321::3/128 route-map rm1 afi-other advertise 4321::222/128 route-map rm1 exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 afi-other ena afi-other advertise 2.2.2.3/32 route-map rm1 afi-other advertise 2.2.2.222/32 route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 1000 1000 1000 1000 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.103 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.103 vrf v1 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 2.2.2.222 vrf v1 r1 tping 100 60 4321::222 vrf v1 r1 tping 0 60 2.2.2.102 vrf v1 r1 tping 0 60 4321::102 vrf v1 r1 tping 0 60 2.2.2.103 vrf v1 r1 tping 0 60 4321::103 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 tping 100 60 4321::222 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.222 vrf v1 r3 tping 100 60 4321::222 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 2.2.2.222 vrf v1 r4 tping 100 60 4321::222 vrf v1 r4 tping 0 60 2.2.2.102 vrf v1 r4 tping 0 60 4321::102 vrf v1 r4 tping 0 60 2.2.2.103 vrf v1 r4 tping 0 60 4321::103 vrf v1 r4 send telnet 2.2.2.222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 r4 send telnet 4321::222 666 vrf v1 r4 tping 100 60 2.2.2.102 vrf v1 r4 send exit r4 read closed r4 tping 0 60 2.2.2.102 vrf v1 freeRtr-25.11.9/cfg/rout-bgp752.tst000066400000000000000000000124211510423065500165730ustar00rootroot00000000000000description ocar ibgp rr prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send no afi-other red conn r3 send exit r3 send router bgp6 1 r3 send no afi-other red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r3 tping 0 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send afi-other red conn r3 send exit r3 send router bgp6 1 r3 send afi-other red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp753.tst000066400000000000000000000126631510423065500166040ustar00rootroot00000000000000description ocar ibgp fullmesh prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.4 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::3 remote-as 1 neigh 1234:1::4 remote-as 1 afi-other ena afi-other red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.4 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::3 remote-as 1 neigh 1234:1::4 remote-as 1 afi-other ena afi-other red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.4 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::2 remote-as 1 neigh 1234:1::4 remote-as 1 afi-other ena afi-other red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.3 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::2 remote-as 1 neigh 1234:1::3 remote-as 1 afi-other ena afi-other red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send no afi-other red conn r3 send exit r3 send router bgp6 1 r3 send no afi-other red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r3 tping 0 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send router bgp4 1 r3 send afi-other red conn r3 send exit r3 send router bgp6 1 r3 send afi-other red conn r3 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp754.tst000066400000000000000000000036331510423065500166020ustar00rootroot00000000000000description olab+ocar over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address olab ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 afi-other ena afi-other red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.2 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address olab ocar local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab ocar local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r2 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp755.tst000066400000000000000000000036331510423065500166030ustar00rootroot00000000000000description ocar+octp over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address ocar octp local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar octp local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 afi-other ena afi-other red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.2 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo0 pweompls 4321::2 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena exit router bgp4 1 vrf v1 no safe-ebgp address ocar octp local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar octp local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 afi-other ena afi-other red conn exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo0 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo0 pweompls 4321::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 40 3.3.3.2 vrf v1 r2 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r2 tping 100 40 3.3.4.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp756.tst000066400000000000000000000202561510423065500166040ustar00rootroot00000000000000description bgp csc vpn with car addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-both 1:3 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v3 ipv4 addr 4.4.4.1 255.255.255.255 ipv6 addr 4444::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 red conn exit router bgp4 4 vrf v1 no safe-ebgp address vpnuni local-as 4 router-id 4.4.4.1 neigh 2.2.2.4 remote-as 4 neigh 2.2.2.4 update lo0 neigh 2.2.2.4 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 4 vrf v1 no safe-ebgp address vpnuni local-as 4 router-id 6.6.6.1 neigh 4321::4 remote-as 4 neigh 4321::4 update lo0 neigh 4321::4 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 3.3.3.101 255.255.255.255 ipv6 addr 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 3.3.3.102 255.255.255.255 3.3.3.2 ipv6 route v1 3333::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 3333::2 router bgp4 1 vrf v2 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn red bgp4 2 exit router bgp6 1 vrf v2 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn red bgp6 2 exit router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.1 neigh 3.3.3.102 remote-as 2 neigh 3.3.3.102 update lo0 neigh 3.3.3.102 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp4 1 exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.1 neigh 3333::102 remote-as 2 neigh 3333::102 update lo0 neigh 3333::102 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp6 1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int eth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 ipv6 addr 3333::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v1 ipv4 addr 3.3.3.5 255.255.255.252 ipv6 addr 3333::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 3.3.3.101 255.255.255.255 3.3.3.1 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 3333::1 ipv4 route v1 3.3.3.102 255.255.255.255 3.3.3.6 ipv6 route v1 3333::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 3333::6 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 3.3.3.102 255.255.255.255 ipv6 addr 3333::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 3.3.3.6 255.255.255.252 ipv6 addr 3333::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls ldp4 mpls ldp6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit int eth2 vrf for v2 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable ipv4 access-group-in test4 ipv6 access-group-in test6 exit ipv4 route v1 3.3.3.101 255.255.255.255 3.3.3.5 ipv6 route v1 3333::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 3333::5 router bgp4 1 vrf v2 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 1.1.1.6 remote-as 3 red conn red bgp4 2 exit router bgp6 1 vrf v2 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 1234:2::2 remote-as 3 red conn red bgp6 2 exit router bgp4 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.2 neigh 3.3.3.101 remote-as 2 neigh 3.3.3.101 update lo0 neigh 3.3.3.101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp4 1 exit router bgp6 2 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.2 neigh 3333::101 remote-as 2 neigh 3333::101 update lo0 neigh 3333::101 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red bgp6 1 exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v3 rd 1:3 rt-both 1:3 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v3 ipv4 addr 4.4.4.4 255.255.255.255 ipv6 addr 4444::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 red conn exit router bgp4 4 vrf v1 no safe-ebgp address vpnuni local-as 4 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 4 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit router bgp6 4 vrf v1 no safe-ebgp address vpnuni local-as 4 router-id 6.6.6.2 neigh 4321::1 remote-as 4 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v3 ena afi-vrf v3 red conn exit ! r2 tping 100 60 3.3.3.102 vrf v1 sou lo0 r2 tping 100 60 3333::102 vrf v1 sou lo0 r4 tping 100 60 3.3.3.101 vrf v1 sou lo0 r4 tping 100 60 3333::101 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v2 sou lo1 r2 tping 100 60 2.2.2.3 vrf v2 sou lo1 r2 tping 100 60 2.2.2.4 vrf v2 sou lo1 r2 tping 100 60 4321::1 vrf v2 sou lo1 r2 tping 100 60 4321::3 vrf v2 sou lo1 r2 tping 100 60 4321::4 vrf v2 sou lo1 r4 tping 100 60 2.2.2.1 vrf v2 sou lo1 r4 tping 100 60 2.2.2.2 vrf v2 sou lo1 r4 tping 100 60 2.2.2.4 vrf v2 sou lo1 r4 tping 100 60 4321::1 vrf v2 sou lo1 r4 tping 100 60 4321::2 vrf v2 sou lo1 r4 tping 100 60 4321::4 vrf v2 sou lo1 r5 tping 100 60 2.2.2.1 vrf v1 sou lo0 r5 tping 100 60 2.2.2.2 vrf v1 sou lo0 r5 tping 100 60 2.2.2.3 vrf v1 sou lo0 r5 tping 100 60 4321::1 vrf v1 sou lo0 r5 tping 100 60 4321::2 vrf v1 sou lo0 r5 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 4.4.4.4 vrf v3 sou lo1 r1 tping 100 60 4444::4 vrf v3 sou lo1 r5 tping 100 60 4.4.4.1 vrf v3 sou lo1 r5 tping 100 60 4444::1 vrf v3 sou lo1 freeRtr-25.11.9/cfg/rout-bgp757.tst000066400000000000000000000277431510423065500166150ustar00rootroot00000000000000description bgp interas car with multiple labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode all-igp exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3331::1 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 multiple-label car justadvert lo1 exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 multiple-label car justadvert lo1 exit int pweth1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.0 pseudo v1 lo1 pweompls 3.3.3.6 1234 exit int pweth2 vrf for v1 ipv4 addr 4.4.5.1 255.255.255.0 pseudo v1 lo1 pweompls 3336::6 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode all-igp exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.255 ipv6 addr 3332::2 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 multiple-label car neigh 2.2.2.1 route-reflect neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 multiple-label car neigh 2.2.2.3 route-reflect justadvert lo1 exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 multiple-label car neigh 4321::1 route-reflect neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 multiple-label car neigh 4321::3 route-reflect justadvert lo1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode all-igp exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 1.1.1.10 255.255.255.255 1.1.1.10 mplsimp ipv6 route v1 1234:3::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 mplsimp router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.3 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 multiple-label car neigh 2.2.2.2 next-hop-multi neigh 1.1.1.10 remote-as 2 neigh 1.1.1.10 multiple-label car neigh 1.1.1.10 next-hop-multi justadvert lo1 exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.3 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 multiple-label car neigh 4321::2 next-hop-multi neigh 1234:3::2 remote-as 2 neigh 1234:3::2 multiple-label car neigh 1234:3::2 next-hop-multi justadvert lo1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode all-igp exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.4 255.255.255.255 ipv6 addr 3334::4 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.14 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.14 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ipv4 route v1 1.1.1.9 255.255.255.255 1.1.1.9 mplsimp ipv6 route v1 1234:3::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 mplsimp router bgp4 2 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.4 neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 multiple-label car neigh 2.2.2.5 next-hop-multi neigh 1.1.1.9 remote-as 1 neigh 1.1.1.9 multiple-label car neigh 1.1.1.9 next-hop-multi justadvert lo1 exit router bgp6 2 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.4 neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 multiple-label car neigh 4321::5 next-hop-multi neigh 1234:3::1 remote-as 1 neigh 1234:3::1 multiple-label car neigh 1234:3::1 next-hop-multi justadvert lo1 exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ int eth2 eth 0000.0000.5555 $5a$ $5b$ ! vrf def v1 rd 1:1 label-mode all-igp exit int lo0 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.5 255.255.255.255 ipv6 addr 3335::5 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.17 255.255.255.252 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.13 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 ipv4 route v1 2.2.2.6 255.255.255.255 1.1.1.18 ipv6 route v1 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::2 router bgp4 2 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.5 neigh 2.2.2.4 remote-as 2 neigh 2.2.2.4 update lo0 neigh 2.2.2.4 multiple-label car neigh 2.2.2.4 route-reflect neigh 2.2.2.6 remote-as 2 neigh 2.2.2.6 update lo0 neigh 2.2.2.6 multiple-label car neigh 2.2.2.6 route-reflect justadvert lo1 exit router bgp6 2 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.5 neigh 4321::4 remote-as 2 neigh 4321::4 update lo0 neigh 4321::4 multiple-label car neigh 4321::4 route-reflect neigh 4321::6 remote-as 2 neigh 4321::6 update lo0 neigh 4321::6 multiple-label car neigh 4321::6 route-reflect justadvert lo1 exit ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 label-mode all-igp exit int lo0 vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 3.3.3.6 255.255.255.255 ipv6 addr 3336::6 ffff:ffff:ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.18 255.255.255.252 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.17 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 ipv4 route v1 2.2.2.5 255.255.255.255 1.1.1.17 ipv6 route v1 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:5::1 router bgp4 2 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.6 neigh 2.2.2.5 remote-as 2 neigh 2.2.2.5 update lo0 neigh 2.2.2.5 multiple-label car justadvert lo1 exit router bgp6 2 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.6 neigh 4321::5 remote-as 2 neigh 4321::5 update lo0 neigh 4321::5 multiple-label car justadvert lo1 exit int pweth1 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.0 pseudo v1 lo1 pweompls 3.3.3.1 1234 exit int pweth2 vrf for v1 ipv4 addr 4.4.5.2 255.255.255.0 pseudo v1 lo1 pweompls 3331::1 1234 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.5 vrf v1 sou lo0 r4 tping 100 60 4321::5 vrf v1 sou lo0 r4 tping 100 60 2.2.2.6 vrf v1 sou lo0 r4 tping 100 60 4321::6 vrf v1 sou lo0 r5 tping 100 60 2.2.2.4 vrf v1 sou lo0 r5 tping 100 60 4321::4 vrf v1 sou lo0 r5 tping 100 60 2.2.2.6 vrf v1 sou lo0 r5 tping 100 60 4321::6 vrf v1 sou lo0 r6 tping 100 60 2.2.2.4 vrf v1 sou lo0 r6 tping 100 60 4321::4 vrf v1 sou lo0 r6 tping 100 60 2.2.2.5 vrf v1 sou lo0 r6 tping 100 60 4321::5 vrf v1 sou lo0 r1 tping 100 60 3.3.3.2 vrf v1 sou lo1 r1 tping 100 60 3332::2 vrf v1 sou lo1 r1 tping 100 60 3.3.3.3 vrf v1 sou lo1 r1 tping 100 60 3333::3 vrf v1 sou lo1 r2 tping 100 60 3.3.3.1 vrf v1 sou lo1 r2 tping 100 60 3331::1 vrf v1 sou lo1 r2 tping 100 60 3.3.3.3 vrf v1 sou lo1 r2 tping 100 60 3333::3 vrf v1 sou lo1 r3 tping 100 60 3.3.3.1 vrf v1 sou lo1 r3 tping 100 60 3331::1 vrf v1 sou lo1 r3 tping 100 60 3.3.3.2 vrf v1 sou lo1 r3 tping 100 60 3332::2 vrf v1 sou lo1 r4 tping 100 60 3.3.3.5 vrf v1 sou lo1 r4 tping 100 60 3335::5 vrf v1 sou lo1 r4 tping 100 60 3.3.3.6 vrf v1 sou lo1 r4 tping 100 60 3336::6 vrf v1 sou lo1 r5 tping 100 60 3.3.3.4 vrf v1 sou lo1 r5 tping 100 60 3334::4 vrf v1 sou lo1 r5 tping 100 60 3.3.3.6 vrf v1 sou lo1 r5 tping 100 60 3336::6 vrf v1 sou lo1 r6 tping 100 60 3.3.3.4 vrf v1 sou lo1 r6 tping 100 60 3334::4 vrf v1 sou lo1 r6 tping 100 60 3.3.3.5 vrf v1 sou lo1 r6 tping 100 60 3335::5 vrf v1 sou lo1 r4 tping 100 60 3.3.3.1 vrf v1 sou lo1 r4 tping 100 60 3331::1 vrf v1 sou lo1 r4 tping 100 60 3.3.3.2 vrf v1 sou lo1 r4 tping 100 60 3332::2 vrf v1 sou lo1 r4 tping 100 60 3.3.3.3 vrf v1 sou lo1 r4 tping 100 60 3333::3 vrf v1 sou lo1 r5 tping 100 60 3.3.3.1 vrf v1 sou lo1 r5 tping 100 60 3331::1 vrf v1 sou lo1 r5 tping 100 60 3.3.3.2 vrf v1 sou lo1 r5 tping 100 60 3332::2 vrf v1 sou lo1 r5 tping 100 60 3.3.3.3 vrf v1 sou lo1 r5 tping 100 60 3333::3 vrf v1 sou lo1 r6 tping 100 60 3.3.3.1 vrf v1 sou lo1 r6 tping 100 60 3331::1 vrf v1 sou lo1 r6 tping 100 60 3.3.3.2 vrf v1 sou lo1 r6 tping 100 60 3332::2 vrf v1 sou lo1 r6 tping 100 60 3.3.3.3 vrf v1 sou lo1 r6 tping 100 60 3333::3 vrf v1 sou lo1 r1 tping 100 60 3.3.3.4 vrf v1 sou lo1 r1 tping 100 60 3334::4 vrf v1 sou lo1 r1 tping 100 60 3.3.3.5 vrf v1 sou lo1 r1 tping 100 60 3335::5 vrf v1 sou lo1 r1 tping 100 60 3.3.3.6 vrf v1 sou lo1 r1 tping 100 60 3336::6 vrf v1 sou lo1 r2 tping 100 60 3.3.3.4 vrf v1 sou lo1 r2 tping 100 60 3334::4 vrf v1 sou lo1 r2 tping 100 60 3.3.3.5 vrf v1 sou lo1 r2 tping 100 60 3335::5 vrf v1 sou lo1 r2 tping 100 60 3.3.3.6 vrf v1 sou lo1 r2 tping 100 60 3336::6 vrf v1 sou lo1 r3 tping 100 60 3.3.3.4 vrf v1 sou lo1 r3 tping 100 60 3334::4 vrf v1 sou lo1 r3 tping 100 60 3.3.3.5 vrf v1 sou lo1 r3 tping 100 60 3335::5 vrf v1 sou lo1 r3 tping 100 60 3.3.3.6 vrf v1 sou lo1 r3 tping 100 60 3336::6 vrf v1 sou lo1 r1 tping 100 40 4.4.4.2 vrf v1 r6 tping 100 40 4.4.4.1 vrf v1 r1 tping 100 40 4.4.5.2 vrf v1 r6 tping 100 40 4.4.5.1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp758.tst000066400000000000000000000067701510423065500166130ustar00rootroot00000000000000description car colors over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp759.tst000066400000000000000000000071421510423065500166060ustar00rootroot00000000000000description other car colors over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp760.tst000066400000000000000000000067701510423065500166040ustar00rootroot00000000000000description car colors over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp761.tst000066400000000000000000000071421510423065500165770ustar00rootroot00000000000000description other car colors over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp762.tst000066400000000000000000000074671510423065500166120ustar00rootroot00000000000000description car colors over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 additional-path-rx car neigh 2.2.2.2 additional-path-tx car afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 additional-path-rx car neigh 4321::2 additional-path-tx car afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 additional-path-rx car neigh 2.2.2.1 additional-path-tx car afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 additional-path-rx car neigh 4321::1 additional-path-tx car afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp763.tst000066400000000000000000000076511510423065500166060ustar00rootroot00000000000000description other car colors over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 additional-path-rx ocar neigh 2.2.2.2 additional-path-tx ocar afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 additional-path-rx ocar neigh 4321::2 additional-path-tx ocar afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 additional-path-rx ocar neigh 2.2.2.1 additional-path-tx ocar afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 additional-path-rx ocar neigh 4321::1 additional-path-tx ocar afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp764.tst000066400000000000000000000110011510423065500165670ustar00rootroot00000000000000description car colors over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.2 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address car local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflect neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-reflect exit router bgp6 1 vrf v1 address car local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-reflect neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp765.tst000066400000000000000000000111551510423065500166020ustar00rootroot00000000000000description other car colors over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.2 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address ocar local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflect neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-reflect exit router bgp6 1 vrf v1 address ocar local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-reflect neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp766.tst000066400000000000000000000071261510423065500166060ustar00rootroot00000000000000description car colors over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 confed neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 confed neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 confed neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 confed neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp767.tst000066400000000000000000000073001510423065500166010ustar00rootroot00000000000000description other car colors over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 confed neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 confed neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 confed neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 confed neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp768.tst000066400000000000000000000110431510423065500166010ustar00rootroot00000000000000description car colors over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address car local-as 3 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-server neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-server exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 3 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-server neigh 4321::2 remote-as 2 neigh 4321::2 send-comm both neigh 4321::2 route-server exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp769.tst000066400000000000000000000112171510423065500166050ustar00rootroot00000000000000description other car colors over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 6.6.6.2 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 3 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-server neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-server exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 3 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-server neigh 4321::2 remote-as 2 neigh 4321::2 send-comm both neigh 4321::2 route-server exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp770.tst000066400000000000000000000071761510423065500166060ustar00rootroot00000000000000description car colors over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 soft-reconfig neigh 2.2.2.2 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 soft-reconfig neigh 4321::2 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 soft-reconfig neigh 2.2.2.1 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 soft-reconfig neigh 4321::1 send-comm both afi-clr v2 ena afi-clr v2 red conn afi-clr v3 ena afi-clr v3 red conn afi-clr v4 ena afi-clr v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp771.tst000066400000000000000000000071641510423065500166040ustar00rootroot00000000000000description other car colors over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 clr-both 2 exit vrf def v3 rd 1:3 clr-both 3 exit vrf def v4 rd 1:4 clr-both 4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-other enable afi-oclr v2 ena afi-oclr v2 red conn afi-oclr v3 ena afi-oclr v3 red conn afi-oclr v4 ena afi-oclr v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp772.tst000066400000000000000000000115131510423065500165760ustar00rootroot00000000000000description vpn colors over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 label-mode per-prefix exit vrf def v3 label-mode per-prefix exit vrf def v4 rd 1:4 rt-both 1:4 exit vrf def v5 rd 1:5 rt-both 1:5 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo5 vrf for v5 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth1.22 vrf for v2 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth1.33 vrf for v3 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v2 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v2 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v3 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v3 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v4 ena afi-vrf v4 red conn afi-vrf v4 set-vrf v2 ipv4 afi-vrf v5 ena afi-vrf v5 red conn afi-vrf v5 set-vrf v3 ipv4 exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v4 ena afi-vrf v4 red conn afi-vrf v4 set-vrf v2 ipv6 afi-vrf v5 ena afi-vrf v5 red conn afi-vrf v5 set-vrf v3 ipv6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 label-mode per-prefix exit vrf def v3 label-mode per-prefix exit vrf def v4 rd 1:4 rt-both 1:4 exit vrf def v5 rd 1:5 rt-both 1:5 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo5 vrf for v5 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth1.22 vrf for v2 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth1.33 vrf for v3 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v2 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v2 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v3 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v3 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v4 ena afi-vrf v4 red conn afi-vrf v4 set-vrf v2 ipv4 afi-vrf v5 ena afi-vrf v5 red conn afi-vrf v5 set-vrf v3 ipv4 exit router bgp6 1 vrf v1 no safe-ebgp address vpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v4 ena afi-vrf v4 red conn afi-vrf v4 set-vrf v2 ipv6 afi-vrf v5 ena afi-vrf v5 red conn afi-vrf v5 set-vrf v2 ipv6 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 1.1.1.2 vrf v2 r1 tping 100 60 1234:1::2 vrf v2 r1 tping 100 60 1.1.1.2 vrf v3 r1 tping 100 60 1234:1::2 vrf v3 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.3.2 vrf v4 r2 tping 100 60 9.9.3.1 vrf v4 r1 tping 100 60 9993::2 vrf v4 r2 tping 100 60 9993::1 vrf v4 r1 tping 100 60 9.9.4.2 vrf v5 r2 tping 100 60 9.9.4.1 vrf v5 r1 tping 100 60 9994::2 vrf v5 r2 tping 100 60 9994::1 vrf v5 freeRtr-25.11.9/cfg/rout-bgp773.tst000066400000000000000000000114231510423065500165770ustar00rootroot00000000000000description vpn colors over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 label-mode per-prefix exit vrf def v3 label-mode per-prefix exit vrf def v4 rd 1:4 rt-both 1:4 exit vrf def v5 rd 1:5 rt-both 1:5 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo5 vrf for v5 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth1.22 vrf for v2 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth1.33 vrf for v3 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v2 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v2 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v3 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v3 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-vrf v4 ena afi-vrf v4 red conn afi-vrf v4 set-vrf v2 ipv4 afi-vrf v5 ena afi-vrf v5 red conn afi-vrf v5 set-vrf v3 ipv4 exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-vrf v4 ena afi-vrf v4 red conn afi-vrf v4 set-vrf v2 ipv6 afi-vrf v5 ena afi-vrf v5 red conn afi-vrf v5 set-vrf v3 ipv6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 label-mode per-prefix exit vrf def v3 label-mode per-prefix exit vrf def v4 rd 1:4 rt-both 1:4 exit vrf def v5 rd 1:5 rt-both 1:5 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v3 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo5 vrf for v5 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth1.22 vrf for v2 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth1.33 vrf for v3 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v2 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v2 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v3 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v3 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v4 ena afi-vrf v4 red conn afi-vrf v4 set-vrf v2 ipv4 afi-vrf v5 ena afi-vrf v5 red conn afi-vrf v5 set-vrf v3 ipv4 exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v4 ena afi-vrf v4 red conn afi-vrf v4 set-vrf v2 ipv6 afi-vrf v5 ena afi-vrf v5 red conn afi-vrf v5 set-vrf v2 ipv6 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 1.1.1.2 vrf v2 r1 tping 100 60 1234:1::2 vrf v2 r1 tping 100 60 1.1.1.2 vrf v3 r1 tping 100 60 1234:1::2 vrf v3 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.3.2 vrf v4 r2 tping 100 60 9.9.3.1 vrf v4 r1 tping 100 60 9993::2 vrf v4 r2 tping 100 60 9993::1 vrf v4 r1 tping 100 60 9.9.4.2 vrf v5 r2 tping 100 60 9.9.4.1 vrf v5 r1 tping 100 60 9994::2 vrf v5 r2 tping 100 60 9994::1 vrf v5 freeRtr-25.11.9/cfg/rout-bgp774.tst000066400000000000000000000064151510423065500166050ustar00rootroot00000000000000description ebgp with any remote addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as any red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as any red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.6 remote-as 3 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:2::2 remote-as 3 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.10 remote-as 4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:3::2 remote-as 4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp775.tst000066400000000000000000000062411510423065500166030ustar00rootroot00000000000000description ibgp with any remote addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as any red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as any red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.6 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::1 remote-as 1 neigh 1234:2::2 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.10 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:2::1 remote-as 1 neigh 1234:3::2 remote-as 1 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:3::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 0 60 2.2.2.4 vrf v1 r1 tping 0 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r2 tping 0 60 4321::4 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 0 60 2.2.2.1 vrf v1 r4 tping 0 60 4321::1 vrf v1 r4 tping 0 60 2.2.2.2 vrf v1 r4 tping 0 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp776.tst000066400000000000000000000124361510423065500166070ustar00rootroot00000000000000description unicast+vpns over ebgp with dynamic capability addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address unicast vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 dynamic afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit router bgp6 1 vrf v1 no safe-ebgp address unicast vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 dynamic afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address unicast vpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 dynamic afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit router bgp6 1 vrf v1 no safe-ebgp address unicast vpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 dynamic afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 2.2.2.12 vrf v1 sou lo1 r1 tping 100 60 4321::12 vrf v1 sou lo1 r2 tping 100 60 2.2.2.11 vrf v1 sou lo1 r2 tping 100 60 4321::11 vrf v1 sou lo1 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 send clear ipv4 bgp 1 peer 2.2.2.2 del vpnuni r1 send clear ipv6 bgp 1 peer 4321::2 del vpnuni r1 tping 100 5 2.2.2.12 vrf v1 sou lo1 r1 tping 100 5 4321::12 vrf v1 sou lo1 r2 tping 100 5 2.2.2.11 vrf v1 sou lo1 r2 tping 100 5 4321::11 vrf v1 sou lo1 r1 tping 0 5 9.9.2.2 vrf v2 r2 tping 0 5 9.9.2.1 vrf v2 r1 tping 0 5 9992::2 vrf v2 r2 tping 0 5 9992::1 vrf v2 r1 tping 0 5 9.9.3.2 vrf v3 r2 tping 0 5 9.9.3.1 vrf v3 r1 tping 0 5 9993::2 vrf v3 r2 tping 0 5 9993::1 vrf v3 r1 tping 0 5 9.9.4.2 vrf v4 r2 tping 0 5 9.9.4.1 vrf v4 r1 tping 0 5 9994::2 vrf v4 r2 tping 0 5 9994::1 vrf v4 r1 send clear ipv4 bgp 1 peer 2.2.2.2 add vpnuni r1 send clear ipv6 bgp 1 peer 4321::2 add vpnuni r1 tping 100 5 2.2.2.12 vrf v1 sou lo1 r1 tping 100 5 4321::12 vrf v1 sou lo1 r2 tping 100 5 2.2.2.11 vrf v1 sou lo1 r2 tping 100 5 4321::11 vrf v1 sou lo1 r1 tping 100 5 9.9.2.2 vrf v2 r2 tping 100 5 9.9.2.1 vrf v2 r1 tping 100 5 9992::2 vrf v2 r2 tping 100 5 9992::1 vrf v2 r1 tping 100 5 9.9.3.2 vrf v3 r2 tping 100 5 9.9.3.1 vrf v3 r1 tping 100 5 9993::2 vrf v3 r2 tping 100 5 9993::1 vrf v3 r1 tping 100 5 9.9.4.2 vrf v4 r2 tping 100 5 9.9.4.1 vrf v4 r1 tping 100 5 9994::2 vrf v4 r2 tping 100 5 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp777.tst000066400000000000000000000124361510423065500166100ustar00rootroot00000000000000description unicast+vpns over ibgp with dynamic capability addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address unicast vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 dynamic afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit router bgp6 1 vrf v1 no safe-ebgp address unicast vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 dynamic afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address unicast vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 dynamic afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit router bgp6 1 vrf v1 no safe-ebgp address unicast vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 dynamic afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 2.2.2.12 vrf v1 sou lo1 r1 tping 100 60 4321::12 vrf v1 sou lo1 r2 tping 100 60 2.2.2.11 vrf v1 sou lo1 r2 tping 100 60 4321::11 vrf v1 sou lo1 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 send clear ipv4 bgp 1 peer 2.2.2.2 del vpnuni r1 send clear ipv6 bgp 1 peer 4321::2 del vpnuni r1 tping 100 5 2.2.2.12 vrf v1 sou lo1 r1 tping 100 5 4321::12 vrf v1 sou lo1 r2 tping 100 5 2.2.2.11 vrf v1 sou lo1 r2 tping 100 5 4321::11 vrf v1 sou lo1 r1 tping 0 5 9.9.2.2 vrf v2 r2 tping 0 5 9.9.2.1 vrf v2 r1 tping 0 5 9992::2 vrf v2 r2 tping 0 5 9992::1 vrf v2 r1 tping 0 5 9.9.3.2 vrf v3 r2 tping 0 5 9.9.3.1 vrf v3 r1 tping 0 5 9993::2 vrf v3 r2 tping 0 5 9993::1 vrf v3 r1 tping 0 5 9.9.4.2 vrf v4 r2 tping 0 5 9.9.4.1 vrf v4 r1 tping 0 5 9994::2 vrf v4 r2 tping 0 5 9994::1 vrf v4 r1 send clear ipv4 bgp 1 peer 2.2.2.2 add vpnuni r1 send clear ipv6 bgp 1 peer 4321::2 add vpnuni r1 tping 100 5 2.2.2.12 vrf v1 sou lo1 r1 tping 100 5 4321::12 vrf v1 sou lo1 r2 tping 100 5 2.2.2.11 vrf v1 sou lo1 r2 tping 100 5 4321::11 vrf v1 sou lo1 r1 tping 100 5 9.9.2.2 vrf v2 r2 tping 100 5 9.9.2.1 vrf v2 r1 tping 100 5 9992::2 vrf v2 r2 tping 100 5 9992::1 vrf v2 r1 tping 100 5 9.9.3.2 vrf v3 r2 tping 100 5 9.9.3.1 vrf v3 r1 tping 100 5 9993::2 vrf v3 r2 tping 100 5 9993::1 vrf v3 r1 tping 100 5 9.9.4.2 vrf v4 r2 tping 100 5 9.9.4.1 vrf v4 r1 tping 100 5 9994::2 vrf v4 r2 tping 100 5 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp778.tst000066400000000000000000000125741510423065500166140ustar00rootroot00000000000000description unicast+vpns over confed bgp with dynamic capability addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address unicast vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 dynamic neigh 2.2.2.2 confed afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit router bgp6 1 vrf v1 no safe-ebgp address unicast vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 dynamic neigh 4321::2 confed afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address unicast vpnuni local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 dynamic neigh 2.2.2.1 confed afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit router bgp6 1 vrf v1 no safe-ebgp address unicast vpnuni local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 dynamic neigh 4321::1 confed afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 2.2.2.12 vrf v1 sou lo1 r1 tping 100 60 4321::12 vrf v1 sou lo1 r2 tping 100 60 2.2.2.11 vrf v1 sou lo1 r2 tping 100 60 4321::11 vrf v1 sou lo1 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 send clear ipv4 bgp 1 peer 2.2.2.2 del vpnuni r1 send clear ipv6 bgp 1 peer 4321::2 del vpnuni r1 tping 100 5 2.2.2.12 vrf v1 sou lo1 r1 tping 100 5 4321::12 vrf v1 sou lo1 r2 tping 100 5 2.2.2.11 vrf v1 sou lo1 r2 tping 100 5 4321::11 vrf v1 sou lo1 r1 tping 0 5 9.9.2.2 vrf v2 r2 tping 0 5 9.9.2.1 vrf v2 r1 tping 0 5 9992::2 vrf v2 r2 tping 0 5 9992::1 vrf v2 r1 tping 0 5 9.9.3.2 vrf v3 r2 tping 0 5 9.9.3.1 vrf v3 r1 tping 0 5 9993::2 vrf v3 r2 tping 0 5 9993::1 vrf v3 r1 tping 0 5 9.9.4.2 vrf v4 r2 tping 0 5 9.9.4.1 vrf v4 r1 tping 0 5 9994::2 vrf v4 r2 tping 0 5 9994::1 vrf v4 r1 send clear ipv4 bgp 1 peer 2.2.2.2 add vpnuni r1 send clear ipv6 bgp 1 peer 4321::2 add vpnuni r1 tping 100 5 2.2.2.12 vrf v1 sou lo1 r1 tping 100 5 4321::12 vrf v1 sou lo1 r2 tping 100 5 2.2.2.11 vrf v1 sou lo1 r2 tping 100 5 4321::11 vrf v1 sou lo1 r1 tping 100 5 9.9.2.2 vrf v2 r2 tping 100 5 9.9.2.1 vrf v2 r1 tping 100 5 9992::2 vrf v2 r2 tping 100 5 9992::1 vrf v2 r1 tping 100 5 9.9.3.2 vrf v3 r2 tping 100 5 9.9.3.1 vrf v3 r1 tping 100 5 9993::2 vrf v3 r2 tping 100 5 9993::1 vrf v3 r1 tping 100 5 9.9.4.2 vrf v4 r2 tping 100 5 9.9.4.1 vrf v4 r1 tping 100 5 9994::2 vrf v4 r2 tping 100 5 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp779.tst000066400000000000000000000166741510423065500166220ustar00rootroot00000000000000description unicast+vpns over ibgp rr with dynamic capability addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 router bgp4 1 vrf v1 no safe-ebgp address unicast vpnuni local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 dynamic neigh 2.2.2.3 confed afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit router bgp6 1 vrf v1 no safe-ebgp address unicast vpnuni local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 dynamic neigh 4321::3 confed afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 router bgp4 1 vrf v1 no safe-ebgp address unicast vpnuni local-as 1 router-id 4.4.4.2 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 dynamic neigh 2.2.2.3 confed afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit router bgp6 1 vrf v1 no safe-ebgp address unicast vpnuni local-as 1 router-id 6.6.6.2 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 dynamic neigh 4321::3 confed afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.252 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address unicast vpnuni local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 dynamic neigh 2.2.2.1 route-reflector neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 dynamic neigh 2.2.2.2 route-reflector red conn exit router bgp6 1 vrf v1 no safe-ebgp address unicast vpnuni local-as 1 router-id 4.4.4.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 dynamic neigh 4321::1 route-reflector neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 dynamic neigh 4321::2 route-reflector red conn exit ! r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.12 vrf v1 sou lo1 r3 tping 100 60 4321::12 vrf v1 sou lo1 r3 tping 100 60 2.2.2.11 vrf v1 sou lo1 r3 tping 100 60 4321::11 vrf v1 sou lo1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 2.2.2.12 vrf v1 sou lo1 r1 tping 100 60 4321::12 vrf v1 sou lo1 r2 tping 100 60 2.2.2.11 vrf v1 sou lo1 r2 tping 100 60 4321::11 vrf v1 sou lo1 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 send clear ipv4 bgp 1 peer 2.2.2.3 del vpnuni r1 send clear ipv6 bgp 1 peer 4321::3 del vpnuni r1 tping 100 5 2.2.2.12 vrf v1 sou lo1 r1 tping 100 5 4321::12 vrf v1 sou lo1 r2 tping 100 5 2.2.2.11 vrf v1 sou lo1 r2 tping 100 5 4321::11 vrf v1 sou lo1 r1 tping 0 5 9.9.2.2 vrf v2 r2 tping 0 5 9.9.2.1 vrf v2 r1 tping 0 5 9992::2 vrf v2 r2 tping 0 5 9992::1 vrf v2 r1 tping 0 5 9.9.3.2 vrf v3 r2 tping 0 5 9.9.3.1 vrf v3 r1 tping 0 5 9993::2 vrf v3 r2 tping 0 5 9993::1 vrf v3 r1 tping 0 5 9.9.4.2 vrf v4 r2 tping 0 5 9.9.4.1 vrf v4 r1 tping 0 5 9994::2 vrf v4 r2 tping 0 5 9994::1 vrf v4 r1 send clear ipv4 bgp 1 peer 2.2.2.3 add vpnuni r1 send clear ipv6 bgp 1 peer 4321::3 add vpnuni r1 tping 100 5 2.2.2.12 vrf v1 sou lo1 r1 tping 100 5 4321::12 vrf v1 sou lo1 r2 tping 100 5 2.2.2.11 vrf v1 sou lo1 r2 tping 100 5 4321::11 vrf v1 sou lo1 r1 tping 100 5 9.9.2.2 vrf v2 r2 tping 100 5 9.9.2.1 vrf v2 r1 tping 100 5 9992::2 vrf v2 r2 tping 100 5 9992::1 vrf v2 r1 tping 100 5 9.9.3.2 vrf v3 r2 tping 100 5 9.9.3.1 vrf v3 r1 tping 100 5 9993::2 vrf v3 r2 tping 100 5 9993::1 vrf v3 r1 tping 100 5 9.9.4.2 vrf v4 r2 tping 100 5 9.9.4.1 vrf v4 r1 tping 100 5 9994::2 vrf v4 r2 tping 100 5 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp780.tst000066400000000000000000000026521510423065500166010ustar00rootroot00000000000000description ebgp with pmtud addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 ipinfo pmtud 512 1024 666 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 ipinfo pmtud 512 1024 666 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 bfd 100 100 3 ipv6 bfd 100 100 3 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 ipinfo pmtud 512 1024 666 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 ipinfo pmtud 512 1024 666 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp781.tst000066400000000000000000000026521510423065500166020ustar00rootroot00000000000000description ibgp with pmtud addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 ipinfo pmtud 512 1024 666 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 ipinfo pmtud 512 1024 666 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 bfd 100 100 3 ipv6 bfd 100 100 3 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 ipinfo pmtud 512 1024 666 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 ipinfo pmtud 512 1024 666 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-bgp782.tst000066400000000000000000000056601510423065500166050ustar00rootroot00000000000000description bgp routemap filtering with roa validity addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set validroa 1 exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 rpki-out rew neigh 1.1.1.1 route-map-out rm1 red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 rpki-out rew neigh 1234:1::1 route-map-out rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match validroa 1 sequence 20 act permit exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 rpki-in acc neigh 1.1.1.1 route-map-in rm1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 rpki-in acc neigh 1234:1::1 route-map-in rm1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp783.tst000066400000000000000000000062631510423065500166060ustar00rootroot00000000000000description bgp routemap filtering with roa validity with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set validroa 1 exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both neigh 1.1.1.1 rpki-out rew neigh 1.1.1.1 route-map-out rm1 red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both neigh 1234:1::1 rpki-out rew neigh 1234:1::1 route-map-out rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match validroa 1 sequence 20 act permit exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 rpki-in acc neigh 1.1.1.1 route-map-in rm1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 rpki-in acc neigh 1234:1::1 route-map-in rm1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp784.tst000066400000000000000000000157341510423065500166120ustar00rootroot00000000000000description bgp change in roa validity addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 send-comm both neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 send-comm both neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 send-comm both neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 send-comm both neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match validroa 3 sequence 20 act perm exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 rpki-in acc neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 rpki-in acc neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set validroa 1 exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 rpki-out rew neigh 1.1.1.1 route-map-out rm1 red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 rpki-out rew neigh 1234:1::1 route-map-out rm1 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match validroa 2 sequence 20 act perm exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 rpki-in acc neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 rpki-in acc neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set validroa 2 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set validroa 3 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set validroa 1 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp785.tst000066400000000000000000000165271510423065500166140ustar00rootroot00000000000000description bgp change in roa validity with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 send-comm both neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 send-comm both neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 soft-reconfig neigh 1.1.1.4 send-comm both neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 send-comm both neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 send-comm both neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 soft-reconfig neigh 1234:1::4 send-comm both neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match validroa 3 sequence 20 act perm exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both neigh 1.1.1.1 rpki-in acc neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both neigh 1234:1::1 rpki-in acc neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set validroa 1 exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both neigh 1.1.1.1 rpki-out rew neigh 1.1.1.1 route-map-out rm1 red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both neigh 1234:1::1 rpki-out rew neigh 1234:1::1 route-map-out rm1 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match validroa 2 sequence 20 act perm exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both neigh 1.1.1.1 rpki-in acc neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both neigh 1234:1::1 rpki-in acc neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set validroa 2 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set validroa 3 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set validroa 1 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp786.tst000066400000000000000000000056631510423065500166140ustar00rootroot00000000000000description bgp routepolicy filtering with roa validity addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set validroa 1 pass exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 rpki-out rew neigh 1.1.1.1 route-policy-out rm1 red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 rpki-out rew neigh 1234:1::1 route-policy-out rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if validroa 1 drop else pass enif exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 rpki-in acc neigh 1.1.1.1 route-policy-in rm1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 rpki-in acc neigh 1234:1::1 route-policy-in rm1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp787.tst000066400000000000000000000062661510423065500166150ustar00rootroot00000000000000description bgp routepolicy filtering with roa validity with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set validroa 1 pass exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both neigh 1.1.1.1 rpki-out rew neigh 1.1.1.1 route-policy-out rm1 red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both neigh 1234:1::1 rpki-out rew neigh 1234:1::1 route-policy-out rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if validroa 1 drop else pass enif exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 rpki-in acc neigh 1.1.1.1 route-policy-in rm1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 rpki-in acc neigh 1234:1::1 route-policy-in rm1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp788.tst000066400000000000000000000052511510423065500166070ustar00rootroot00000000000000description bgp routemap filtering with leak-role addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 leak-role attr neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 leak-role attr red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 leak-role attr neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 leak-role attr red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set customer 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 leak-role attr red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 leak-role attr red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match customer 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 neigh 1.1.1.1 leak-role attr red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 neigh 1234:1::1 leak-role attr red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp789.tst000066400000000000000000000056541510423065500166170ustar00rootroot00000000000000description bgp routemap filtering with leak-role with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.2 leak-role attr neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect neigh 1.1.1.3 leak-role attr red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::2 leak-role attr neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect neigh 1234:1::3 leak-role attr red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set customer 1234 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 leak-role attr red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 leak-role attr red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match customer 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-map-in rm1 neigh 1.1.1.1 leak-role attr red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-map-in rm1 neigh 1234:1::1 leak-role attr red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp790.tst000066400000000000000000000151731510423065500166040ustar00rootroot00000000000000description bgp change in leak-role addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 leak-role attr neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 leak-role attr neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 leak-role attr neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 leak-role attr neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 leak-role attr neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 leak-role attr neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match customer 4000-6000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 leak-role attr neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 leak-role attr neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set customer 1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 leak-role attr red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 leak-role attr red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match customer 2000-4000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 leak-role attr neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 leak-role attr neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set customer 3000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set customer 5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set customer 1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp791.tst000066400000000000000000000157661510423065500166150ustar00rootroot00000000000000description bgp change in leak-role with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 leak-role attr neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 leak-role attr neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 soft-reconfig neigh 1.1.1.4 leak-role attr neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 leak-role attr neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 leak-role attr neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 soft-reconfig neigh 1234:1::4 leak-role attr neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match customer 4000-6000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 leak-role attr neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 leak-role attr neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set customer 1000 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 leak-role attr red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 leak-role attr red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match customer 2000-4000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 leak-role attr neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 leak-role attr neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set customer 3000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set customer 5000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set customer 1000 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp792.tst000066400000000000000000000052541510423065500166050ustar00rootroot00000000000000description bgp routepolicy filtering with leak-role addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 leak-role attr neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 leak-role attr red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 leak-role attr neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 leak-role attr red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set customer 1234 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 leak-role attr red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 leak-role attr red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if customer 1234 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-policy-in rm1 neigh 1.1.1.1 leak-role attr red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-policy-in rm1 neigh 1234:1::1 leak-role attr red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp793.tst000066400000000000000000000056571510423065500166150ustar00rootroot00000000000000description bgp routepolicy filtering with leak-role with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.2 leak-role attr neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect neigh 1.1.1.3 leak-role attr red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::2 leak-role attr neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect neigh 1234:1::3 leak-role attr red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set customer 1234 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 leak-role attr red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 leak-role attr red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if customer 1234 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-policy-in rm1 neigh 1.1.1.1 leak-role attr red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-policy-in rm1 neigh 1234:1::1 leak-role attr red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp794.tst000066400000000000000000000047001510423065500166020ustar00rootroot00000000000000description bgp routemap filtering with aggregator addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aggregator 1234 1.1.1.111 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match aggregator 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp795.tst000066400000000000000000000053031510423065500166030ustar00rootroot00000000000000description bgp routemap filtering with aggregator with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set aggregator 1234 1.1.1.111 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match aggregator 1234 sequence 20 act permit exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp796.tst000066400000000000000000000144741510423065500166150ustar00rootroot00000000000000description bgp change in aggregator addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match aggregator 4000-6000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set aggregator 1000 1.1.1.111 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match aggregator 2000-4000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set aggregator 3000 1.1.1.111 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set aggregator 5000 1.1.1.111 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set aggregator 1000 1.1.1.111 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp797.tst000066400000000000000000000152671510423065500166170ustar00rootroot00000000000000description bgp change in aggregator with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 soft-reconfig neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 soft-reconfig neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match aggregator 4000-6000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set aggregator 1000 1.1.1.111 exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match aggregator 2000-4000 sequence 20 act perm exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set aggregator 3000 1.1.1.111 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set aggregator 5000 1.1.1.111 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set aggregator 1000 1.1.1.111 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp798.tst000066400000000000000000000047031510423065500166110ustar00rootroot00000000000000description bgp routepolicy filtering with aggregator addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set aggregator 1234 1.1.1.111 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if aggregator 1234 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 route-policy-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp799.tst000066400000000000000000000053061510423065500166120ustar00rootroot00000000000000description bgp routepolicy filtering with aggregator with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set aggregator 1234 1.1.1.111 pass exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig red conn route-policy rm1 exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig red conn route-policy rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if aggregator 1234 drop else pass enif exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 route-policy-in rm1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 route-policy-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp800.tst000066400000000000000000000067771510423065500166060ustar00rootroot00000000000000description l3evpns over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp801.tst000066400000000000000000000113411510423065500165660ustar00rootroot00000000000000description l3evpns over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r3 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r3 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r3 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp802.tst000066400000000000000000000110351510423065500165670ustar00rootroot00000000000000description l3evpns over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflect neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-reflect exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-reflect neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp803.tst000066400000000000000000000071351510423065500165760ustar00rootroot00000000000000description l3evpns over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 confed neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 confed neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 confed neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 confed neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp804.tst000066400000000000000000000113021510423065500165660ustar00rootroot00000000000000description l3evpns over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-server neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-server exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-server neigh 4321::2 remote-as 2 neigh 4321::2 send-comm both neigh 4321::2 route-server exit ! r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp805.tst000066400000000000000000000072051510423065500165760ustar00rootroot00000000000000description l3evpns over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp806.tst000066400000000000000000000075061510423065500166030ustar00rootroot00000000000000description l3evpns over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 additional-path-rx evpn neigh 2.2.2.2 additional-path-tx evpn afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 additional-path-rx evpn neigh 4321::2 additional-path-tx evpn afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 additional-path-rx evpn neigh 2.2.2.1 additional-path-tx evpn afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 additional-path-rx evpn neigh 4321::1 additional-path-tx evpn afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp807.tst000066400000000000000000000074571510423065500166110ustar00rootroot00000000000000description l3evpns over bgp auto mesh tunnel addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn automesh all local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn automesh all local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn automesh all local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn automesh all local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp808.tst000066400000000000000000000070341510423065500166010ustar00rootroot00000000000000description l3otherevpns over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp809.tst000066400000000000000000000113761510423065500166060ustar00rootroot00000000000000description l3eothervpns over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r3 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r3 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r3 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp810.tst000066400000000000000000000110721510423065500165670ustar00rootroot00000000000000description l3otherevpns over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-reflect neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-reflect exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-reflect neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp811.tst000066400000000000000000000071721510423065500165760ustar00rootroot00000000000000description l3otherevpns over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 confed neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 confed neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 confed neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 confed neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp812.tst000066400000000000000000000113371510423065500165750ustar00rootroot00000000000000description l3otherevpns over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 route-server neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-server exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 route-server neigh 4321::2 remote-as 2 neigh 4321::2 send-comm both neigh 4321::2 route-server exit ! r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp813.tst000066400000000000000000000072421510423065500165760ustar00rootroot00000000000000description l3otherevpns over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp814.tst000066400000000000000000000075431510423065500166030ustar00rootroot00000000000000description l3otherevpns over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 additional-path-rx evpn neigh 2.2.2.2 additional-path-tx evpn afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 additional-path-rx evpn neigh 4321::2 additional-path-tx evpn afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 additional-path-rx evpn neigh 2.2.2.1 additional-path-tx evpn afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 additional-path-rx evpn neigh 4321::1 additional-path-tx evpn afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp815.tst000066400000000000000000000075141510423065500166020ustar00rootroot00000000000000description l3otherevpns over bgp auto mesh tunnel addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn automesh all local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn automesh all local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls rsvp4 mpls rsvp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn automesh all local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn automesh all local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp816.tst000066400000000000000000000070021510423065500165730ustar00rootroot00000000000000description l3evpns with default route addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-l3e v2 ena afi-l3e v2 default afi-l3e v3 ena afi-l3e v3 default afi-l3e v4 ena afi-l3e v4 default exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-l3e v2 ena afi-l3e v2 default afi-l3e v3 ena afi-l3e v3 default afi-l3e v4 ena afi-l3e v4 default exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp817.tst000066400000000000000000000070371510423065500166040ustar00rootroot00000000000000description otherl3evpns with default route addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both afi-ol3e v2 ena afi-ol3e v2 default afi-ol3e v3 ena afi-ol3e v3 default afi-ol3e v4 ena afi-ol3e v4 default exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both afi-ol3e v2 ena afi-ol3e v2 default afi-ol3e v3 ena afi-ol3e v3 default afi-ol3e v4 ena afi-ol3e v4 default exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp818.tst000066400000000000000000000225141510423065500166020ustar00rootroot00000000000000description bgp l3evpns change in metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect neigh 1.1.1.4 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect neigh 1234:1::4 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit route-map rm1 sequence 10 act deny sequence 10 match metric 4000-6000 sequence 20 act perm exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 evpn-route-map-in rm1 afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 evpn-route-map-in rm1 afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit route-map rm1 set metric 1000 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn route-map rm1 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.4 255.255.255.255 ipv6 addr 9992::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.4 255.255.255.255 ipv6 addr 9993::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.4 255.255.255.255 ipv6 addr 9994::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit route-map rm1 sequence 10 act deny sequence 10 match metric 2000-4000 sequence 20 act perm exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 evpn-route-map-in rm1 neigh 1.1.1.1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 evpn-route-map-in rm1 neigh 1234:1::1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 r3 send conf t r3 send route-map rm1 r3 send set metric 3000 r3 send end r3 send clear ipv4 route v4 r3 send clear ipv6 route v4 r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 0 60 9.9.4.4 vrf v4 r3 tping 0 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 0 60 9.9.4.3 vrf v4 r4 tping 0 60 9994::3 vrf v4 r3 send conf t r3 send route-map rm1 r3 send set metric 5000 r3 send end r3 send clear ipv4 route v4 r3 send clear ipv6 route v4 r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 0 60 9.9.4.3 vrf v4 r2 tping 0 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 0 60 9.9.4.2 vrf v4 r3 tping 0 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 r3 send conf t r3 send route-map rm1 r3 send set metric 1000 r3 send end r3 send clear ipv4 route v4 r3 send clear ipv6 route v4 r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 freeRtr-25.11.9/cfg/rout-bgp819.tst000066400000000000000000000264731510423065500166130ustar00rootroot00000000000000description ibgp rr l3evpns prefix movement addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect neigh 1.1.1.4 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect neigh 1234:1::4 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.102 255.255.255.255 ipv6 addr 9994::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v4 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit route-map rm1 set aspath 1000 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 advertise 9.9.4.2/32 route-map rm1 afi-l3e v4 advertise 9.9.4.222/32 route-map rm1 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 advertise 9994::2/128 route-map rm1 afi-l3e v4 advertise 9994::222/128 route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.103 255.255.255.255 ipv6 addr 9994::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v4 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit route-map rm1 set aspath 1000 1000 1000 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 advertise 9.9.4.3/32 route-map rm1 afi-l3e v4 advertise 9.9.4.222/32 route-map rm1 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 advertise 9994::3/128 route-map rm1 afi-l3e v4 advertise 9994::222/128 route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.4 255.255.255.255 ipv6 addr 9992::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.4 255.255.255.255 ipv6 addr 9993::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.4 255.255.255.255 ipv6 addr 9994::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r1 tping 100 60 9.9.4.222 vrf v4 r1 tping 100 60 9994::222 vrf v4 r1 tping 0 60 9.9.4.102 vrf v4 r1 tping 0 60 9994::102 vrf v4 r1 tping 0 60 9.9.4.103 vrf v4 r1 tping 0 60 9994::103 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9994::222 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.222 vrf v4 r3 tping 100 60 9994::222 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 r4 tping 100 60 9.9.4.222 vrf v4 r4 tping 100 60 9994::222 vrf v4 r4 tping 0 60 9.9.4.102 vrf v4 r4 tping 0 60 9994::102 vrf v4 r4 tping 0 60 9.9.4.103 vrf v4 r4 tping 0 60 9994::103 vrf v4 r4 send telnet 9.9.4.222 666 vrf v4 r4 tping 100 60 9.9.4.102 vrf v4 r4 send exit r4 read closed r4 tping 0 60 9.9.4.102 vrf v4 r4 send telnet 9994::222 666 vrf v4 r4 tping 100 60 9.9.4.102 vrf v4 r4 send exit r4 read closed r4 tping 0 60 9.9.4.102 vrf v4 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 1000 1000 1000 1000 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r1 tping 100 60 9.9.4.222 vrf v4 r1 tping 100 60 9994::222 vrf v4 r1 tping 0 60 9.9.4.102 vrf v4 r1 tping 0 60 9994::102 vrf v4 r1 tping 0 60 9.9.4.103 vrf v4 r1 tping 0 60 9994::103 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9994::222 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.222 vrf v4 r3 tping 100 60 9994::222 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 r4 tping 100 60 9.9.4.222 vrf v4 r4 tping 100 60 9994::222 vrf v4 r4 tping 0 60 9.9.4.102 vrf v4 r4 tping 0 60 9994::102 vrf v4 r4 tping 0 60 9.9.4.103 vrf v4 r4 tping 0 60 9994::103 vrf v4 r4 send telnet 9.9.4.222 666 vrf v4 r4 tping 100 60 9.9.4.103 vrf v4 r4 send exit r4 read closed r4 tping 0 60 9.9.4.103 vrf v4 r4 send telnet 9994::222 666 vrf v4 r4 tping 100 60 9.9.4.103 vrf v4 r4 send exit r4 read closed r4 tping 0 60 9.9.4.103 vrf v4 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r1 tping 100 60 9.9.4.222 vrf v4 r1 tping 100 60 9994::222 vrf v4 r1 tping 0 60 9.9.4.102 vrf v4 r1 tping 0 60 9994::102 vrf v4 r1 tping 0 60 9.9.4.103 vrf v4 r1 tping 0 60 9994::103 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9994::222 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.222 vrf v4 r3 tping 100 60 9994::222 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 r4 tping 100 60 9.9.4.222 vrf v4 r4 tping 100 60 9994::222 vrf v4 r4 tping 0 60 9.9.4.102 vrf v4 r4 tping 0 60 9994::102 vrf v4 r4 tping 0 60 9.9.4.103 vrf v4 r4 tping 0 60 9994::103 vrf v4 r4 send telnet 9.9.4.222 666 vrf v4 r4 tping 100 60 9.9.4.102 vrf v4 r4 send exit r4 read closed r4 tping 0 60 9.9.4.102 vrf v4 r4 send telnet 9994::222 666 vrf v4 r4 tping 100 60 9.9.4.102 vrf v4 r4 send exit r4 read closed r4 tping 0 60 9.9.4.102 vrf v4 freeRtr-25.11.9/cfg/rout-bgp820.tst000066400000000000000000000226011510423065500165700ustar00rootroot00000000000000description bgp otherl3evpns change in metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect neigh 1.1.1.4 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect neigh 1234:1::4 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit route-map rm1 sequence 10 act deny sequence 10 match metric 4000-6000 sequence 20 act perm exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 evpn-route-map-in rm1 afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 evpn-route-map-in rm1 afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit route-map rm1 set metric 1000 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn route-map rm1 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.4 255.255.255.255 ipv6 addr 9992::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.4 255.255.255.255 ipv6 addr 9993::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.4 255.255.255.255 ipv6 addr 9994::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit route-map rm1 sequence 10 act deny sequence 10 match metric 2000-4000 sequence 20 act perm exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 evpn-route-map-in rm1 neigh 1.1.1.1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 evpn-route-map-in rm1 neigh 1234:1::1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 r3 send conf t r3 send route-map rm1 r3 send set metric 3000 r3 send end r3 send clear ipv4 route v4 r3 send clear ipv6 route v4 r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 0 60 9.9.4.4 vrf v4 r3 tping 0 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 0 60 9.9.4.3 vrf v4 r4 tping 0 60 9994::3 vrf v4 r3 send conf t r3 send route-map rm1 r3 send set metric 5000 r3 send end r3 send clear ipv4 route v4 r3 send clear ipv6 route v4 r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 0 60 9.9.4.3 vrf v4 r2 tping 0 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 0 60 9.9.4.2 vrf v4 r3 tping 0 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 r3 send conf t r3 send route-map rm1 r3 send set metric 1000 r3 send end r3 send clear ipv4 route v4 r3 send clear ipv6 route v4 r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 freeRtr-25.11.9/cfg/rout-bgp821.tst000066400000000000000000000265651510423065500166060ustar00rootroot00000000000000description ibgp rr otherl3evpns prefix movement addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect neigh 1.1.1.4 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect neigh 1234:1::4 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.102 255.255.255.255 ipv6 addr 9994::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v4 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit route-map rm1 set aspath 1000 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 advertise 9994::2/128 route-map rm1 afi-ol3e v4 advertise 9994::222/128 route-map rm1 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 advertise 9.9.4.2/32 route-map rm1 afi-ol3e v4 advertise 9.9.4.222/32 route-map rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.103 255.255.255.255 ipv6 addr 9994::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v4 port 666 exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit route-map rm1 set aspath 1000 1000 1000 exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 advertise 9994::3/128 route-map rm1 afi-ol3e v4 advertise 9994::222/128 route-map rm1 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 advertise 9.9.4.3/32 route-map rm1 afi-ol3e v4 advertise 9.9.4.222/32 route-map rm1 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.4 255.255.255.255 ipv6 addr 9992::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.4 255.255.255.255 ipv6 addr 9993::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.4 255.255.255.255 ipv6 addr 9994::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r1 tping 100 60 9.9.4.222 vrf v4 r1 tping 100 60 9994::222 vrf v4 r1 tping 0 60 9.9.4.102 vrf v4 r1 tping 0 60 9994::102 vrf v4 r1 tping 0 60 9.9.4.103 vrf v4 r1 tping 0 60 9994::103 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9994::222 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.222 vrf v4 r3 tping 100 60 9994::222 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 r4 tping 100 60 9.9.4.222 vrf v4 r4 tping 100 60 9994::222 vrf v4 r4 tping 0 60 9.9.4.102 vrf v4 r4 tping 0 60 9994::102 vrf v4 r4 tping 0 60 9.9.4.103 vrf v4 r4 tping 0 60 9994::103 vrf v4 r4 send telnet 9.9.4.222 666 vrf v4 r4 tping 100 60 9.9.4.102 vrf v4 r4 send exit r4 read closed r4 tping 0 60 9.9.4.102 vrf v4 r4 send telnet 9994::222 666 vrf v4 r4 tping 100 60 9.9.4.102 vrf v4 r4 send exit r4 read closed r4 tping 0 60 9.9.4.102 vrf v4 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 1000 1000 1000 1000 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r1 tping 100 60 9.9.4.222 vrf v4 r1 tping 100 60 9994::222 vrf v4 r1 tping 0 60 9.9.4.102 vrf v4 r1 tping 0 60 9994::102 vrf v4 r1 tping 0 60 9.9.4.103 vrf v4 r1 tping 0 60 9994::103 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9994::222 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.222 vrf v4 r3 tping 100 60 9994::222 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 r4 tping 100 60 9.9.4.222 vrf v4 r4 tping 100 60 9994::222 vrf v4 r4 tping 0 60 9.9.4.102 vrf v4 r4 tping 0 60 9994::102 vrf v4 r4 tping 0 60 9.9.4.103 vrf v4 r4 tping 0 60 9994::103 vrf v4 r4 send telnet 9.9.4.222 666 vrf v4 r4 tping 100 60 9.9.4.103 vrf v4 r4 send exit r4 read closed r4 tping 0 60 9.9.4.103 vrf v4 r4 send telnet 9994::222 666 vrf v4 r4 tping 100 60 9.9.4.103 vrf v4 r4 send exit r4 read closed r4 tping 0 60 9.9.4.103 vrf v4 r2 send conf t r2 send route-map rm1 r2 send set aspath 1000 r2 send end r2 send clear ipv4 route v1 r2 send clear ipv6 route v1 r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r1 tping 100 60 9.9.4.222 vrf v4 r1 tping 100 60 9994::222 vrf v4 r1 tping 0 60 9.9.4.102 vrf v4 r1 tping 0 60 9994::102 vrf v4 r1 tping 0 60 9.9.4.103 vrf v4 r1 tping 0 60 9994::103 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9994::222 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.222 vrf v4 r3 tping 100 60 9994::222 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 r4 tping 100 60 9.9.4.222 vrf v4 r4 tping 100 60 9994::222 vrf v4 r4 tping 0 60 9.9.4.102 vrf v4 r4 tping 0 60 9994::102 vrf v4 r4 tping 0 60 9.9.4.103 vrf v4 r4 tping 0 60 9994::103 vrf v4 r4 send telnet 9.9.4.222 666 vrf v4 r4 tping 100 60 9.9.4.102 vrf v4 r4 send exit r4 read closed r4 tping 0 60 9.9.4.102 vrf v4 r4 send telnet 9994::222 666 vrf v4 r4 tping 100 60 9.9.4.102 vrf v4 r4 send exit r4 read closed r4 tping 0 60 9.9.4.102 vrf v4 freeRtr-25.11.9/cfg/rout-bgp822.tst000066400000000000000000000201241510423065500165700ustar00rootroot00000000000000description ibgp rr l3evpns prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect neigh 1.1.1.4 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect neigh 1234:1::4 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.4 255.255.255.255 ipv6 addr 9992::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.4 255.255.255.255 ipv6 addr 9993::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.4 255.255.255.255 ipv6 addr 9994::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 r3 send conf t r3 send router bgp4 1 r3 send no afi-l3e v4 red conn r3 send exit r3 send router bgp6 1 r3 send no afi-l3e v4 red conn r3 send end r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 0 60 9.9.4.3 vrf v4 r1 tping 0 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 0 60 9.9.4.3 vrf v4 r2 tping 0 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 0 60 9.9.4.1 vrf v4 r3 tping 0 60 9994::1 vrf v4 r3 tping 0 60 9.9.4.2 vrf v4 r3 tping 0 60 9994::2 vrf v4 r3 tping 0 60 9.9.4.4 vrf v4 r3 tping 0 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 0 60 9.9.4.3 vrf v4 r4 tping 0 60 9994::3 vrf v4 r3 send conf t r3 send router bgp4 1 r3 send afi-l3e v4 red conn r3 send exit r3 send router bgp6 1 r3 send afi-l3e v4 red conn r3 send end r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 freeRtr-25.11.9/cfg/rout-bgp823.tst000066400000000000000000000202151510423065500165720ustar00rootroot00000000000000description ibgp rr otherl3evpns prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect neigh 1.1.1.4 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect neigh 1234:1::4 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.4 255.255.255.255 ipv6 addr 9992::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.4 255.255.255.255 ipv6 addr 9993::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.4 255.255.255.255 ipv6 addr 9994::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 r3 send conf t r3 send router bgp4 1 r3 send no afi-ol3e v4 red conn r3 send exit r3 send router bgp6 1 r3 send no afi-ol3e v4 red conn r3 send end r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 0 60 9.9.4.3 vrf v4 r1 tping 0 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 0 60 9.9.4.3 vrf v4 r2 tping 0 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 0 60 9.9.4.1 vrf v4 r3 tping 0 60 9994::1 vrf v4 r3 tping 0 60 9.9.4.2 vrf v4 r3 tping 0 60 9994::2 vrf v4 r3 tping 0 60 9.9.4.4 vrf v4 r3 tping 0 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 0 60 9.9.4.3 vrf v4 r4 tping 0 60 9994::3 vrf v4 r3 send conf t r3 send router bgp4 1 r3 send afi-ol3e v4 red conn r3 send exit r3 send router bgp6 1 r3 send afi-ol3e v4 red conn r3 send end r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r1 tping 100 60 9.9.4.4 vrf v4 r1 tping 100 60 9994::4 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 100 60 9.9.4.3 vrf v4 r2 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.4 vrf v4 r2 tping 100 60 9994::4 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 100 60 9.9.4.2 vrf v4 r3 tping 100 60 9994::2 vrf v4 r3 tping 100 60 9.9.4.4 vrf v4 r3 tping 100 60 9994::4 vrf v4 r4 tping 100 60 9.9.4.1 vrf v4 r4 tping 100 60 9994::1 vrf v4 r4 tping 100 60 9.9.4.2 vrf v4 r4 tping 100 60 9994::2 vrf v4 r4 tping 100 60 9.9.4.3 vrf v4 r4 tping 100 60 9994::3 vrf v4 freeRtr-25.11.9/cfg/rout-bgp824.tst000066400000000000000000000136441510423065500166030ustar00rootroot00000000000000description l3evpns with ingress rtfilter addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:41 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.12 255.255.255.255 ipv6 addr 9994::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.13 255.255.255.255 ipv6 addr 9994::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo44 vrf for v4 ipv4 addr 9.9.4.14 255.255.255.255 ipv6 addr 9994::14 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo45 vrf for v4 ipv4 addr 9.9.4.15 255.255.255.255 ipv6 addr 9994::15 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn rtfilter local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 maximum-prefix-in 5 50 neigh 2.2.2.3 route-target-filter-in afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 address evpn rtfilter local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 maximum-prefix-in 5 50 neigh 4321::3 route-target-filter-in afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:43 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.31 255.255.255.255 ipv6 addr 9994::31 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.32 255.255.255.255 ipv6 addr 9994::32 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.33 255.255.255.255 ipv6 addr 9994::33 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo44 vrf for v4 ipv4 addr 9.9.4.34 255.255.255.255 ipv6 addr 9994::34 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo45 vrf for v4 ipv4 addr 9.9.4.35 255.255.255.255 ipv6 addr 9994::35 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address evpn rtfilter local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 maximum-prefix-in 5 50 neigh 2.2.2.1 route-target-filter-in afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 address evpn rtfilter local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 maximum-prefix-in 5 50 neigh 4321::1 route-target-filter-in afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r3 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r3 tping 100 60 9993::1 vrf v3 freeRtr-25.11.9/cfg/rout-bgp825.tst000066400000000000000000000136471510423065500166070ustar00rootroot00000000000000description l3evpns with egress rtfilter addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:41 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.12 255.255.255.255 ipv6 addr 9994::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.13 255.255.255.255 ipv6 addr 9994::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo44 vrf for v4 ipv4 addr 9.9.4.14 255.255.255.255 ipv6 addr 9994::14 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo45 vrf for v4 ipv4 addr 9.9.4.15 255.255.255.255 ipv6 addr 9994::15 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn rtfilter local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 maximum-prefix-in 5 50 neigh 2.2.2.3 route-target-filter-out afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 address evpn rtfilter local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 maximum-prefix-in 5 50 neigh 4321::3 route-target-filter-out afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:43 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.31 255.255.255.255 ipv6 addr 9994::31 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.32 255.255.255.255 ipv6 addr 9994::32 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.33 255.255.255.255 ipv6 addr 9994::33 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo44 vrf for v4 ipv4 addr 9.9.4.34 255.255.255.255 ipv6 addr 9994::34 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo45 vrf for v4 ipv4 addr 9.9.4.35 255.255.255.255 ipv6 addr 9994::35 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address evpn rtfilter local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 maximum-prefix-in 5 50 neigh 2.2.2.1 route-target-filter-out afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 address evpn rtfilter local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 maximum-prefix-in 5 50 neigh 4321::1 route-target-filter-out afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r3 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r3 tping 100 60 9993::1 vrf v3 freeRtr-25.11.9/cfg/rout-bgp826.tst000066400000000000000000000137011510423065500165770ustar00rootroot00000000000000description otherl3evpns with ingress rtfilter addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:41 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.12 255.255.255.255 ipv6 addr 9994::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.13 255.255.255.255 ipv6 addr 9994::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo44 vrf for v4 ipv4 addr 9.9.4.14 255.255.255.255 ipv6 addr 9994::14 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo45 vrf for v4 ipv4 addr 9.9.4.15 255.255.255.255 ipv6 addr 9994::15 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn rtfilter local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 maximum-prefix-in 5 50 neigh 2.2.2.3 route-target-filter-in afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 address evpn rtfilter local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 maximum-prefix-in 5 50 neigh 4321::3 route-target-filter-in afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:43 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.31 255.255.255.255 ipv6 addr 9994::31 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.32 255.255.255.255 ipv6 addr 9994::32 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.33 255.255.255.255 ipv6 addr 9994::33 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo44 vrf for v4 ipv4 addr 9.9.4.34 255.255.255.255 ipv6 addr 9994::34 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo45 vrf for v4 ipv4 addr 9.9.4.35 255.255.255.255 ipv6 addr 9994::35 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address evpn rtfilter local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 maximum-prefix-in 5 50 neigh 2.2.2.1 route-target-filter-in afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 address evpn rtfilter local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 maximum-prefix-in 5 50 neigh 4321::1 route-target-filter-in afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r3 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r3 tping 100 60 9993::1 vrf v3 freeRtr-25.11.9/cfg/rout-bgp827.tst000066400000000000000000000137041510423065500166030ustar00rootroot00000000000000description otherl3evpns with egress rtfilter addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:41 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.12 255.255.255.255 ipv6 addr 9994::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.13 255.255.255.255 ipv6 addr 9994::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo44 vrf for v4 ipv4 addr 9.9.4.14 255.255.255.255 ipv6 addr 9994::14 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo45 vrf for v4 ipv4 addr 9.9.4.15 255.255.255.255 ipv6 addr 9994::15 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn rtfilter local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 maximum-prefix-in 5 50 neigh 2.2.2.3 route-target-filter-out afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 address evpn rtfilter local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 maximum-prefix-in 5 50 neigh 4321::3 route-target-filter-out afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:43 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.31 255.255.255.255 ipv6 addr 9994::31 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.32 255.255.255.255 ipv6 addr 9994::32 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.33 255.255.255.255 ipv6 addr 9994::33 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo44 vrf for v4 ipv4 addr 9.9.4.34 255.255.255.255 ipv6 addr 9994::34 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo45 vrf for v4 ipv4 addr 9.9.4.35 255.255.255.255 ipv6 addr 9994::35 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address evpn rtfilter local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 maximum-prefix-in 5 50 neigh 2.2.2.1 route-target-filter-out afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 address evpn rtfilter local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 maximum-prefix-in 5 50 neigh 4321::1 route-target-filter-out afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r3 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r3 tping 100 60 9993::1 vrf v3 freeRtr-25.11.9/cfg/rout-bgp828.tst000066400000000000000000000124211510423065500165770ustar00rootroot00000000000000description unicast+l3evpns over ebgp with dynamic capability addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address unicast evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 dynamic afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn red conn exit router bgp6 1 vrf v1 no safe-ebgp address unicast evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 dynamic afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address unicast evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 dynamic afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn red conn exit router bgp6 1 vrf v1 no safe-ebgp address unicast evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 dynamic afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 2.2.2.12 vrf v1 sou lo1 r1 tping 100 60 4321::12 vrf v1 sou lo1 r2 tping 100 60 2.2.2.11 vrf v1 sou lo1 r2 tping 100 60 4321::11 vrf v1 sou lo1 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 send clear ipv4 bgp 1 peer 2.2.2.2 del evpn r1 send clear ipv6 bgp 1 peer 4321::2 del evpn r1 tping 100 5 2.2.2.12 vrf v1 sou lo1 r1 tping 100 5 4321::12 vrf v1 sou lo1 r2 tping 100 5 2.2.2.11 vrf v1 sou lo1 r2 tping 100 5 4321::11 vrf v1 sou lo1 r1 tping 0 5 9.9.2.2 vrf v2 r2 tping 0 5 9.9.2.1 vrf v2 r1 tping 0 5 9992::2 vrf v2 r2 tping 0 5 9992::1 vrf v2 r1 tping 0 5 9.9.3.2 vrf v3 r2 tping 0 5 9.9.3.1 vrf v3 r1 tping 0 5 9993::2 vrf v3 r2 tping 0 5 9993::1 vrf v3 r1 tping 0 5 9.9.4.2 vrf v4 r2 tping 0 5 9.9.4.1 vrf v4 r1 tping 0 5 9994::2 vrf v4 r2 tping 0 5 9994::1 vrf v4 r1 send clear ipv4 bgp 1 peer 2.2.2.2 add evpn r1 send clear ipv6 bgp 1 peer 4321::2 add evpn r1 tping 100 5 2.2.2.12 vrf v1 sou lo1 r1 tping 100 5 4321::12 vrf v1 sou lo1 r2 tping 100 5 2.2.2.11 vrf v1 sou lo1 r2 tping 100 5 4321::11 vrf v1 sou lo1 r1 tping 100 5 9.9.2.2 vrf v2 r2 tping 100 5 9.9.2.1 vrf v2 r1 tping 100 5 9992::2 vrf v2 r2 tping 100 5 9992::1 vrf v2 r1 tping 100 5 9.9.3.2 vrf v3 r2 tping 100 5 9.9.3.1 vrf v3 r1 tping 100 5 9993::2 vrf v3 r2 tping 100 5 9993::1 vrf v3 r1 tping 100 5 9.9.4.2 vrf v4 r2 tping 100 5 9.9.4.1 vrf v4 r1 tping 100 5 9994::2 vrf v4 r2 tping 100 5 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp829.tst000066400000000000000000000124211510423065500166000ustar00rootroot00000000000000description unicast+l3evpns over ibgp with dynamic capability addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address unicast evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 dynamic afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn red conn exit router bgp6 1 vrf v1 no safe-ebgp address unicast evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 dynamic afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address unicast evpn local-as 1 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 dynamic afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn red conn exit router bgp6 1 vrf v1 no safe-ebgp address unicast evpn local-as 1 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 dynamic afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 2.2.2.12 vrf v1 sou lo1 r1 tping 100 60 4321::12 vrf v1 sou lo1 r2 tping 100 60 2.2.2.11 vrf v1 sou lo1 r2 tping 100 60 4321::11 vrf v1 sou lo1 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 send clear ipv4 bgp 1 peer 2.2.2.2 del evpn r1 send clear ipv6 bgp 1 peer 4321::2 del evpn r1 tping 100 5 2.2.2.12 vrf v1 sou lo1 r1 tping 100 5 4321::12 vrf v1 sou lo1 r2 tping 100 5 2.2.2.11 vrf v1 sou lo1 r2 tping 100 5 4321::11 vrf v1 sou lo1 r1 tping 0 5 9.9.2.2 vrf v2 r2 tping 0 5 9.9.2.1 vrf v2 r1 tping 0 5 9992::2 vrf v2 r2 tping 0 5 9992::1 vrf v2 r1 tping 0 5 9.9.3.2 vrf v3 r2 tping 0 5 9.9.3.1 vrf v3 r1 tping 0 5 9993::2 vrf v3 r2 tping 0 5 9993::1 vrf v3 r1 tping 0 5 9.9.4.2 vrf v4 r2 tping 0 5 9.9.4.1 vrf v4 r1 tping 0 5 9994::2 vrf v4 r2 tping 0 5 9994::1 vrf v4 r1 send clear ipv4 bgp 1 peer 2.2.2.2 add evpn r1 send clear ipv6 bgp 1 peer 4321::2 add evpn r1 tping 100 5 2.2.2.12 vrf v1 sou lo1 r1 tping 100 5 4321::12 vrf v1 sou lo1 r2 tping 100 5 2.2.2.11 vrf v1 sou lo1 r2 tping 100 5 4321::11 vrf v1 sou lo1 r1 tping 100 5 9.9.2.2 vrf v2 r2 tping 100 5 9.9.2.1 vrf v2 r1 tping 100 5 9992::2 vrf v2 r2 tping 100 5 9992::1 vrf v2 r1 tping 100 5 9.9.3.2 vrf v3 r2 tping 100 5 9.9.3.1 vrf v3 r1 tping 100 5 9993::2 vrf v3 r2 tping 100 5 9993::1 vrf v3 r1 tping 100 5 9.9.4.2 vrf v4 r2 tping 100 5 9.9.4.1 vrf v4 r1 tping 100 5 9994::2 vrf v4 r2 tping 100 5 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp830.tst000066400000000000000000000125571510423065500166020ustar00rootroot00000000000000description unicast+l3evpns over confed bgp with dynamic capability addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address unicast evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 dynamic neigh 2.2.2.2 confed afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn red conn exit router bgp6 1 vrf v1 no safe-ebgp address unicast evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 dynamic neigh 4321::2 confed afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address unicast evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 dynamic neigh 2.2.2.1 confed afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn red conn exit router bgp6 1 vrf v1 no safe-ebgp address unicast evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 dynamic neigh 4321::1 confed afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 2.2.2.12 vrf v1 sou lo1 r1 tping 100 60 4321::12 vrf v1 sou lo1 r2 tping 100 60 2.2.2.11 vrf v1 sou lo1 r2 tping 100 60 4321::11 vrf v1 sou lo1 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 send clear ipv4 bgp 1 peer 2.2.2.2 del evpn r1 send clear ipv6 bgp 1 peer 4321::2 del evpn r1 tping 100 5 2.2.2.12 vrf v1 sou lo1 r1 tping 100 5 4321::12 vrf v1 sou lo1 r2 tping 100 5 2.2.2.11 vrf v1 sou lo1 r2 tping 100 5 4321::11 vrf v1 sou lo1 r1 tping 0 5 9.9.2.2 vrf v2 r2 tping 0 5 9.9.2.1 vrf v2 r1 tping 0 5 9992::2 vrf v2 r2 tping 0 5 9992::1 vrf v2 r1 tping 0 5 9.9.3.2 vrf v3 r2 tping 0 5 9.9.3.1 vrf v3 r1 tping 0 5 9993::2 vrf v3 r2 tping 0 5 9993::1 vrf v3 r1 tping 0 5 9.9.4.2 vrf v4 r2 tping 0 5 9.9.4.1 vrf v4 r1 tping 0 5 9994::2 vrf v4 r2 tping 0 5 9994::1 vrf v4 r1 send clear ipv4 bgp 1 peer 2.2.2.2 add evpn r1 send clear ipv6 bgp 1 peer 4321::2 add evpn r1 tping 100 5 2.2.2.12 vrf v1 sou lo1 r1 tping 100 5 4321::12 vrf v1 sou lo1 r2 tping 100 5 2.2.2.11 vrf v1 sou lo1 r2 tping 100 5 4321::11 vrf v1 sou lo1 r1 tping 100 5 9.9.2.2 vrf v2 r2 tping 100 5 9.9.2.1 vrf v2 r1 tping 100 5 9992::2 vrf v2 r2 tping 100 5 9992::1 vrf v2 r1 tping 100 5 9.9.3.2 vrf v3 r2 tping 100 5 9.9.3.1 vrf v3 r1 tping 100 5 9993::2 vrf v3 r2 tping 100 5 9993::1 vrf v3 r1 tping 100 5 9.9.4.2 vrf v4 r2 tping 100 5 9.9.4.1 vrf v4 r1 tping 100 5 9994::2 vrf v4 r2 tping 100 5 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp831.tst000066400000000000000000000166531510423065500166040ustar00rootroot00000000000000description unicast+l3evpns over ibgp rr with dynamic capability addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 router bgp4 1 vrf v1 no safe-ebgp address unicast evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 dynamic neigh 2.2.2.3 confed afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn red conn exit router bgp6 1 vrf v1 no safe-ebgp address unicast evpn local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 dynamic neigh 4321::3 confed afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 router bgp4 1 vrf v1 no safe-ebgp address unicast evpn local-as 1 router-id 4.4.4.2 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 dynamic neigh 2.2.2.3 confed afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn red conn exit router bgp6 1 vrf v1 no safe-ebgp address unicast evpn local-as 1 router-id 6.6.6.2 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 dynamic neigh 4321::3 confed afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.252 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address unicast evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 dynamic neigh 2.2.2.1 route-reflector neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 dynamic neigh 2.2.2.2 route-reflector red conn exit router bgp6 1 vrf v1 no safe-ebgp address unicast evpn local-as 1 router-id 4.4.4.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 dynamic neigh 4321::1 route-reflector neigh 4321::2 remote-as 1 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 dynamic neigh 4321::2 route-reflector red conn exit ! r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.12 vrf v1 sou lo1 r3 tping 100 60 4321::12 vrf v1 sou lo1 r3 tping 100 60 2.2.2.11 vrf v1 sou lo1 r3 tping 100 60 4321::11 vrf v1 sou lo1 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 2.2.2.12 vrf v1 sou lo1 r1 tping 100 60 4321::12 vrf v1 sou lo1 r2 tping 100 60 2.2.2.11 vrf v1 sou lo1 r2 tping 100 60 4321::11 vrf v1 sou lo1 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 send clear ipv4 bgp 1 peer 2.2.2.3 del evpn r1 send clear ipv6 bgp 1 peer 4321::3 del evpn r1 tping 100 5 2.2.2.12 vrf v1 sou lo1 r1 tping 100 5 4321::12 vrf v1 sou lo1 r2 tping 100 5 2.2.2.11 vrf v1 sou lo1 r2 tping 100 5 4321::11 vrf v1 sou lo1 r1 tping 0 5 9.9.2.2 vrf v2 r2 tping 0 5 9.9.2.1 vrf v2 r1 tping 0 5 9992::2 vrf v2 r2 tping 0 5 9992::1 vrf v2 r1 tping 0 5 9.9.3.2 vrf v3 r2 tping 0 5 9.9.3.1 vrf v3 r1 tping 0 5 9993::2 vrf v3 r2 tping 0 5 9993::1 vrf v3 r1 tping 0 5 9.9.4.2 vrf v4 r2 tping 0 5 9.9.4.1 vrf v4 r1 tping 0 5 9994::2 vrf v4 r2 tping 0 5 9994::1 vrf v4 r1 send clear ipv4 bgp 1 peer 2.2.2.3 add evpn r1 send clear ipv6 bgp 1 peer 4321::3 add evpn r1 tping 100 5 2.2.2.12 vrf v1 sou lo1 r1 tping 100 5 4321::12 vrf v1 sou lo1 r2 tping 100 5 2.2.2.11 vrf v1 sou lo1 r2 tping 100 5 4321::11 vrf v1 sou lo1 r1 tping 100 5 9.9.2.2 vrf v2 r2 tping 100 5 9.9.2.1 vrf v2 r1 tping 100 5 9992::2 vrf v2 r2 tping 100 5 9992::1 vrf v2 r1 tping 100 5 9.9.3.2 vrf v3 r2 tping 100 5 9.9.3.1 vrf v3 r1 tping 100 5 9993::2 vrf v3 r2 tping 100 5 9993::1 vrf v3 r1 tping 100 5 9.9.4.2 vrf v4 r2 tping 100 5 9.9.4.1 vrf v4 r1 tping 100 5 9994::2 vrf v4 r2 tping 100 5 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp832.tst000066400000000000000000000143741510423065500166030ustar00rootroot00000000000000description l3evpns ingress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-map p4 sequence 10 act deny match network 9.9.2.22/32 sequence 20 act deny match network 9.9.3.22/32 sequence 30 act deny match network 9.9.4.22/32 sequence 40 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 9992::22/128 sequence 20 act deny match network 9993::22/128 sequence 30 act deny match network 9994::22/128 sequence 40 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 evpn-route-map-in p4 afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 evpn-route-map-in p6 afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 0 60 9.9.2.22 vrf v2 r2 tping 100 60 9.9.2.11 vrf v2 r1 tping 0 60 9992::22 vrf v2 r2 tping 100 60 9992::11 vrf v2 r1 tping 0 60 9.9.3.22 vrf v3 r2 tping 100 60 9.9.3.11 vrf v3 r1 tping 0 60 9993::22 vrf v3 r2 tping 100 60 9993::11 vrf v3 r1 tping 0 60 9.9.4.22 vrf v4 r2 tping 100 60 9.9.4.11 vrf v4 r1 tping 0 60 9994::22 vrf v4 r2 tping 100 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp833.tst000066400000000000000000000143751510423065500166050ustar00rootroot00000000000000description l3evpns egress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-map p4 sequence 10 act deny match network 9.9.2.11/32 sequence 20 act deny match network 9.9.3.11/32 sequence 30 act deny match network 9.9.4.11/32 sequence 40 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 9992::11/128 sequence 20 act deny match network 9993::11/128 sequence 30 act deny match network 9994::11/128 sequence 40 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 evpn-route-map-out p4 afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 evpn-route-map-out p6 afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 100 60 9.9.2.22 vrf v2 r2 tping 0 60 9.9.2.11 vrf v2 r1 tping 100 60 9992::22 vrf v2 r2 tping 0 60 9992::11 vrf v2 r1 tping 100 60 9.9.3.22 vrf v3 r2 tping 0 60 9.9.3.11 vrf v3 r1 tping 100 60 9993::22 vrf v3 r2 tping 0 60 9993::11 vrf v3 r1 tping 100 60 9.9.4.22 vrf v4 r2 tping 0 60 9.9.4.11 vrf v4 r1 tping 100 60 9994::22 vrf v4 r2 tping 0 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp834.tst000066400000000000000000000146031510423065500166000ustar00rootroot00000000000000description l3evpns ingress route filtering with routemap with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-map p4 sequence 10 act deny match network 9.9.2.22/32 sequence 20 act deny match network 9.9.3.22/32 sequence 30 act deny match network 9.9.4.22/32 sequence 40 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 9992::22/128 sequence 20 act deny match network 9993::22/128 sequence 30 act deny match network 9994::22/128 sequence 40 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig neigh 2.2.2.2 evpn-route-map-in p4 afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig neigh 4321::2 evpn-route-map-in p6 afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 0 60 9.9.2.22 vrf v2 r2 tping 100 60 9.9.2.11 vrf v2 r1 tping 0 60 9992::22 vrf v2 r2 tping 100 60 9992::11 vrf v2 r1 tping 0 60 9.9.3.22 vrf v3 r2 tping 100 60 9.9.3.11 vrf v3 r1 tping 0 60 9993::22 vrf v3 r2 tping 100 60 9993::11 vrf v3 r1 tping 0 60 9.9.4.22 vrf v4 r2 tping 100 60 9.9.4.11 vrf v4 r1 tping 0 60 9994::22 vrf v4 r2 tping 100 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp835.tst000066400000000000000000000146041510423065500166020ustar00rootroot00000000000000description l3evpns egress route filtering with routemap with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-map p4 sequence 10 act deny match network 9.9.2.11/32 sequence 20 act deny match network 9.9.3.11/32 sequence 30 act deny match network 9.9.4.11/32 sequence 40 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 9992::11/128 sequence 20 act deny match network 9993::11/128 sequence 30 act deny match network 9994::11/128 sequence 40 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig neigh 2.2.2.2 evpn-route-map-out p4 afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig neigh 4321::2 evpn-route-map-out p6 afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 100 60 9.9.2.22 vrf v2 r2 tping 0 60 9.9.2.11 vrf v2 r1 tping 100 60 9992::22 vrf v2 r2 tping 0 60 9992::11 vrf v2 r1 tping 100 60 9.9.3.22 vrf v3 r2 tping 0 60 9.9.3.11 vrf v3 r1 tping 100 60 9993::22 vrf v3 r2 tping 0 60 9993::11 vrf v3 r1 tping 100 60 9.9.4.22 vrf v4 r2 tping 0 60 9.9.4.11 vrf v4 r1 tping 100 60 9994::22 vrf v4 r2 tping 0 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp836.tst000066400000000000000000000142431510423065500166020ustar00rootroot00000000000000description l3evpns ingress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-policy p4 if network 9.9.2.22/32 drop enif if network 9.9.3.22/32 drop enif if network 9.9.4.22/32 drop enif if network 0.0.0.0/0 le 32 pass enif exit route-policy p6 if network 9992::22/128 drop enif if network 9993::22/128 drop enif if network 9994::22/128 drop enif if network ::/0 le 128 pass enif exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 evpn-route-policy-in p4 afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 evpn-route-policy-in p6 afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 0 60 9.9.2.22 vrf v2 r2 tping 100 60 9.9.2.11 vrf v2 r1 tping 0 60 9992::22 vrf v2 r2 tping 100 60 9992::11 vrf v2 r1 tping 0 60 9.9.3.22 vrf v3 r2 tping 100 60 9.9.3.11 vrf v3 r1 tping 0 60 9993::22 vrf v3 r2 tping 100 60 9993::11 vrf v3 r1 tping 0 60 9.9.4.22 vrf v4 r2 tping 100 60 9.9.4.11 vrf v4 r1 tping 0 60 9994::22 vrf v4 r2 tping 100 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp837.tst000066400000000000000000000142441510423065500166040ustar00rootroot00000000000000description l3evpns egress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-policy p4 if network 9.9.2.11/32 drop enif if network 9.9.3.11/32 drop enif if network 9.9.4.11/32 drop enif if network 0.0.0.0/0 le 32 pass enif exit route-policy p6 if network 9992::11/128 drop enif if network 9993::11/128 drop enif if network 9994::11/128 drop enif if network ::/0 le 128 pass enif exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 evpn-route-policy-out p4 afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 evpn-route-policy-out p6 afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 100 60 9.9.2.22 vrf v2 r2 tping 0 60 9.9.2.11 vrf v2 r1 tping 100 60 9992::22 vrf v2 r2 tping 0 60 9992::11 vrf v2 r1 tping 100 60 9.9.3.22 vrf v3 r2 tping 0 60 9.9.3.11 vrf v3 r1 tping 100 60 9993::22 vrf v3 r2 tping 0 60 9993::11 vrf v3 r1 tping 100 60 9.9.4.22 vrf v4 r2 tping 0 60 9.9.4.11 vrf v4 r1 tping 100 60 9994::22 vrf v4 r2 tping 0 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp838.tst000066400000000000000000000144521510423065500166060ustar00rootroot00000000000000description l3evpns ingress route filtering with routepolicy with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-policy p4 if network 9.9.2.22/32 drop enif if network 9.9.3.22/32 drop enif if network 9.9.4.22/32 drop enif if network 0.0.0.0/0 le 32 pass enif exit route-policy p6 if network 9992::22/128 drop enif if network 9993::22/128 drop enif if network 9994::22/128 drop enif if network ::/0 le 128 pass enif exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig neigh 2.2.2.2 evpn-route-policy-in p4 afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig neigh 4321::2 evpn-route-policy-in p6 afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 0 60 9.9.2.22 vrf v2 r2 tping 100 60 9.9.2.11 vrf v2 r1 tping 0 60 9992::22 vrf v2 r2 tping 100 60 9992::11 vrf v2 r1 tping 0 60 9.9.3.22 vrf v3 r2 tping 100 60 9.9.3.11 vrf v3 r1 tping 0 60 9993::22 vrf v3 r2 tping 100 60 9993::11 vrf v3 r1 tping 0 60 9.9.4.22 vrf v4 r2 tping 100 60 9.9.4.11 vrf v4 r1 tping 0 60 9994::22 vrf v4 r2 tping 100 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp839.tst000066400000000000000000000144531510423065500166100ustar00rootroot00000000000000description l3evpns egress route filtering with routepolicy with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-policy p4 if network 9.9.2.11/32 drop enif if network 9.9.3.11/32 drop enif if network 9.9.4.11/32 drop enif if network 0.0.0.0/0 le 32 pass enif exit route-policy p6 if network 9992::11/128 drop enif if network 9993::11/128 drop enif if network 9994::11/128 drop enif if network ::/0 le 128 pass enif exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig neigh 2.2.2.2 evpn-route-policy-out p4 afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig neigh 4321::2 evpn-route-policy-out p6 afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v4 ena afi-l3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 100 60 9.9.2.22 vrf v2 r2 tping 0 60 9.9.2.11 vrf v2 r1 tping 100 60 9992::22 vrf v2 r2 tping 0 60 9992::11 vrf v2 r1 tping 100 60 9.9.3.22 vrf v3 r2 tping 0 60 9.9.3.11 vrf v3 r1 tping 100 60 9993::22 vrf v3 r2 tping 0 60 9993::11 vrf v3 r1 tping 100 60 9.9.4.22 vrf v4 r2 tping 0 60 9.9.4.11 vrf v4 r1 tping 100 60 9994::22 vrf v4 r2 tping 0 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp840.tst000066400000000000000000000144311510423065500165740ustar00rootroot00000000000000description otherl3evpns ingress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-map p4 sequence 10 act deny match network 9.9.2.22/32 sequence 20 act deny match network 9.9.3.22/32 sequence 30 act deny match network 9.9.4.22/32 sequence 40 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 9992::22/128 sequence 20 act deny match network 9993::22/128 sequence 30 act deny match network 9994::22/128 sequence 40 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 evpn-route-map-in p6 afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 evpn-route-map-in p4 afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 0 60 9.9.2.22 vrf v2 r2 tping 100 60 9.9.2.11 vrf v2 r1 tping 0 60 9992::22 vrf v2 r2 tping 100 60 9992::11 vrf v2 r1 tping 0 60 9.9.3.22 vrf v3 r2 tping 100 60 9.9.3.11 vrf v3 r1 tping 0 60 9993::22 vrf v3 r2 tping 100 60 9993::11 vrf v3 r1 tping 0 60 9.9.4.22 vrf v4 r2 tping 100 60 9.9.4.11 vrf v4 r1 tping 0 60 9994::22 vrf v4 r2 tping 100 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp841.tst000066400000000000000000000144321510423065500165760ustar00rootroot00000000000000description otherl3evpns egress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-map p4 sequence 10 act deny match network 9.9.2.11/32 sequence 20 act deny match network 9.9.3.11/32 sequence 30 act deny match network 9.9.4.11/32 sequence 40 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 9992::11/128 sequence 20 act deny match network 9993::11/128 sequence 30 act deny match network 9994::11/128 sequence 40 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 evpn-route-map-out p6 afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 evpn-route-map-out p4 afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 100 60 9.9.2.22 vrf v2 r2 tping 0 60 9.9.2.11 vrf v2 r1 tping 100 60 9992::22 vrf v2 r2 tping 0 60 9992::11 vrf v2 r1 tping 100 60 9.9.3.22 vrf v3 r2 tping 0 60 9.9.3.11 vrf v3 r1 tping 100 60 9993::22 vrf v3 r2 tping 0 60 9993::11 vrf v3 r1 tping 100 60 9.9.4.22 vrf v4 r2 tping 0 60 9.9.4.11 vrf v4 r1 tping 100 60 9994::22 vrf v4 r2 tping 0 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp842.tst000066400000000000000000000146401510423065500166000ustar00rootroot00000000000000description otherl3evpns ingress route filtering with routemap with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-map p4 sequence 10 act deny match network 9.9.2.22/32 sequence 20 act deny match network 9.9.3.22/32 sequence 30 act deny match network 9.9.4.22/32 sequence 40 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 9992::22/128 sequence 20 act deny match network 9993::22/128 sequence 30 act deny match network 9994::22/128 sequence 40 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig neigh 2.2.2.2 evpn-route-map-in p6 afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig neigh 4321::2 evpn-route-map-in p4 afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 0 60 9.9.2.22 vrf v2 r2 tping 100 60 9.9.2.11 vrf v2 r1 tping 0 60 9992::22 vrf v2 r2 tping 100 60 9992::11 vrf v2 r1 tping 0 60 9.9.3.22 vrf v3 r2 tping 100 60 9.9.3.11 vrf v3 r1 tping 0 60 9993::22 vrf v3 r2 tping 100 60 9993::11 vrf v3 r1 tping 0 60 9.9.4.22 vrf v4 r2 tping 100 60 9.9.4.11 vrf v4 r1 tping 0 60 9994::22 vrf v4 r2 tping 100 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp843.tst000066400000000000000000000146411510423065500166020ustar00rootroot00000000000000description otherl3evpns egress route filtering with routemap with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-map p4 sequence 10 act deny match network 9.9.2.11/32 sequence 20 act deny match network 9.9.3.11/32 sequence 30 act deny match network 9.9.4.11/32 sequence 40 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 9992::11/128 sequence 20 act deny match network 9993::11/128 sequence 30 act deny match network 9994::11/128 sequence 40 act perm match network ::/0 le 128 exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig neigh 2.2.2.2 evpn-route-map-out p6 afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig neigh 4321::2 evpn-route-map-out p4 afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 100 60 9.9.2.22 vrf v2 r2 tping 0 60 9.9.2.11 vrf v2 r1 tping 100 60 9992::22 vrf v2 r2 tping 0 60 9992::11 vrf v2 r1 tping 100 60 9.9.3.22 vrf v3 r2 tping 0 60 9.9.3.11 vrf v3 r1 tping 100 60 9993::22 vrf v3 r2 tping 0 60 9993::11 vrf v3 r1 tping 100 60 9.9.4.22 vrf v4 r2 tping 0 60 9.9.4.11 vrf v4 r1 tping 100 60 9994::22 vrf v4 r2 tping 0 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp844.tst000066400000000000000000000143001510423065500165730ustar00rootroot00000000000000description otherl3evpns ingress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-policy p4 if network 9.9.2.22/32 drop enif if network 9.9.3.22/32 drop enif if network 9.9.4.22/32 drop enif if network 0.0.0.0/0 le 32 pass enif exit route-policy p6 if network 9992::22/128 drop enif if network 9993::22/128 drop enif if network 9994::22/128 drop enif if network ::/0 le 128 pass enif exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 evpn-route-policy-in p6 afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 evpn-route-policy-in p4 afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 0 60 9.9.2.22 vrf v2 r2 tping 100 60 9.9.2.11 vrf v2 r1 tping 0 60 9992::22 vrf v2 r2 tping 100 60 9992::11 vrf v2 r1 tping 0 60 9.9.3.22 vrf v3 r2 tping 100 60 9.9.3.11 vrf v3 r1 tping 0 60 9993::22 vrf v3 r2 tping 100 60 9993::11 vrf v3 r1 tping 0 60 9.9.4.22 vrf v4 r2 tping 100 60 9.9.4.11 vrf v4 r1 tping 0 60 9994::22 vrf v4 r2 tping 100 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp845.tst000066400000000000000000000143011510423065500165750ustar00rootroot00000000000000description otherl3evpns egress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-policy p4 if network 9.9.2.11/32 drop enif if network 9.9.3.11/32 drop enif if network 9.9.4.11/32 drop enif if network 0.0.0.0/0 le 32 pass enif exit route-policy p6 if network 9992::11/128 drop enif if network 9993::11/128 drop enif if network 9994::11/128 drop enif if network ::/0 le 128 pass enif exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 evpn-route-policy-out p6 afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 evpn-route-policy-out p4 afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 100 60 9.9.2.22 vrf v2 r2 tping 0 60 9.9.2.11 vrf v2 r1 tping 100 60 9992::22 vrf v2 r2 tping 0 60 9992::11 vrf v2 r1 tping 100 60 9.9.3.22 vrf v3 r2 tping 0 60 9.9.3.11 vrf v3 r1 tping 100 60 9993::22 vrf v3 r2 tping 0 60 9993::11 vrf v3 r1 tping 100 60 9.9.4.22 vrf v4 r2 tping 0 60 9.9.4.11 vrf v4 r1 tping 100 60 9994::22 vrf v4 r2 tping 0 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp846.tst000066400000000000000000000145071510423065500166060ustar00rootroot00000000000000description otherl3evpns ingress route filtering with routepolicy with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-policy p4 if network 9.9.2.22/32 drop enif if network 9.9.3.22/32 drop enif if network 9.9.4.22/32 drop enif if network 0.0.0.0/0 le 32 pass enif exit route-policy p6 if network 9992::22/128 drop enif if network 9993::22/128 drop enif if network 9994::22/128 drop enif if network ::/0 le 128 pass enif exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig neigh 2.2.2.2 evpn-route-policy-in p6 afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig neigh 4321::2 evpn-route-policy-in p4 afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 0 60 9.9.2.22 vrf v2 r2 tping 100 60 9.9.2.11 vrf v2 r1 tping 0 60 9992::22 vrf v2 r2 tping 100 60 9992::11 vrf v2 r1 tping 0 60 9.9.3.22 vrf v3 r2 tping 100 60 9.9.3.11 vrf v3 r1 tping 0 60 9993::22 vrf v3 r2 tping 100 60 9993::11 vrf v3 r1 tping 0 60 9.9.4.22 vrf v4 r2 tping 100 60 9.9.4.11 vrf v4 r1 tping 0 60 9994::22 vrf v4 r2 tping 100 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp847.tst000066400000000000000000000145101510423065500166010ustar00rootroot00000000000000description otherl3evpns egress route filtering with routepolicy with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.11 255.255.255.255 ipv6 addr 9992::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.111 255.255.255.255 ipv6 addr 9992::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.11 255.255.255.255 ipv6 addr 9993::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.111 255.255.255.255 ipv6 addr 9993::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.11 255.255.255.255 ipv6 addr 9994::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.111 255.255.255.255 ipv6 addr 9994::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 route-policy p4 if network 9.9.2.11/32 drop enif if network 9.9.3.11/32 drop enif if network 9.9.4.11/32 drop enif if network 0.0.0.0/0 le 32 pass enif exit route-policy p6 if network 9992::11/128 drop enif if network 9993::11/128 drop enif if network 9994::11/128 drop enif if network ::/0 le 128 pass enif exit router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 soft-reconfig neigh 2.2.2.2 evpn-route-policy-out p6 afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 soft-reconfig neigh 4321::2 evpn-route-policy-out p4 afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo21 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo22 vrf for v2 ipv4 addr 9.9.2.22 255.255.255.255 ipv6 addr 9992::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo23 vrf for v2 ipv4 addr 9.9.2.222 255.255.255.255 ipv6 addr 9992::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo31 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo32 vrf for v3 ipv4 addr 9.9.3.22 255.255.255.255 ipv6 addr 9993::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo33 vrf for v3 ipv4 addr 9.9.3.222 255.255.255.255 ipv6 addr 9993::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo41 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo42 vrf for v4 ipv4 addr 9.9.4.22 255.255.255.255 ipv6 addr 9994::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo43 vrf for v4 ipv4 addr 9.9.4.222 255.255.255.255 ipv6 addr 9994::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 soft-reconfig afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 soft-reconfig afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v4 ena afi-ol3e v4 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 r1 tping 100 60 9.9.2.22 vrf v2 r2 tping 0 60 9.9.2.11 vrf v2 r1 tping 100 60 9992::22 vrf v2 r2 tping 0 60 9992::11 vrf v2 r1 tping 100 60 9.9.3.22 vrf v3 r2 tping 0 60 9.9.3.11 vrf v3 r1 tping 100 60 9993::22 vrf v3 r2 tping 0 60 9993::11 vrf v3 r1 tping 100 60 9.9.4.22 vrf v4 r2 tping 0 60 9.9.4.11 vrf v4 r1 tping 100 60 9994::22 vrf v4 r2 tping 0 60 9994::11 vrf v4 r1 tping 100 60 9.9.2.222 vrf v2 r2 tping 100 60 9.9.2.111 vrf v2 r1 tping 100 60 9992::222 vrf v2 r2 tping 100 60 9992::111 vrf v2 r1 tping 100 60 9.9.3.222 vrf v3 r2 tping 100 60 9.9.3.111 vrf v3 r1 tping 100 60 9993::222 vrf v3 r2 tping 100 60 9993::111 vrf v3 r1 tping 100 60 9.9.4.222 vrf v4 r2 tping 100 60 9.9.4.111 vrf v4 r1 tping 100 60 9994::222 vrf v4 r2 tping 100 60 9994::111 vrf v4 freeRtr-25.11.9/cfg/rout-bgp848.tst000066400000000000000000000026311510423065500166030ustar00rootroot00000000000000description unicast+mtree over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni mtree local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni mtree local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni mtree local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni mtree local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp849.tst000066400000000000000000000030441510423065500166030ustar00rootroot00000000000000description unicast+mtree over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni mtree local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni mtree local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni mtree local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni mtree local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp850.tst000066400000000000000000000034261510423065500165770ustar00rootroot00000000000000description unicast+mtree over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni mtree local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 additional-path-rx uni mtree neigh 1.1.1.2 additional-path-tx uni mtree red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni mtree local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 additional-path-rx uni mtree neigh 1234:1::2 additional-path-tx uni mtree red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni mtree local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 additional-path-rx uni mtree neigh 1.1.1.1 additional-path-tx uni mtree red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni mtree local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 additional-path-rx uni mtree neigh 1234:1::1 additional-path-tx uni mtree red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp851.tst000066400000000000000000000026421510423065500165770ustar00rootroot00000000000000description unicast+othermtree over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni omtree local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni omtree local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni omtree local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni omtree local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp852.tst000066400000000000000000000030551510423065500165770ustar00rootroot00000000000000description unicast+othermtree over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni omtree local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni omtree local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni omtree local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni omtree local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp853.tst000066400000000000000000000034471510423065500166050ustar00rootroot00000000000000description unicast+othermtree over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni omtree local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 additional-path-rx uni omtree neigh 1.1.1.2 additional-path-tx uni omtree red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni omtree local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 additional-path-rx uni omtree neigh 1234:1::2 additional-path-tx uni omtree red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni omtree local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 additional-path-rx uni omtree neigh 1.1.1.1 additional-path-tx uni omtree red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni omtree local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 additional-path-rx uni omtree neigh 1234:1::1 additional-path-tx uni omtree red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp854.tst000066400000000000000000000072641510423065500166070ustar00rootroot00000000000000description bgp routemap filtering with pathlimit addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 set aslimit 2 4 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 aspath-limit red conn route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 aspath-limit red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 aspath-limit neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 aspath-limit red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 aspath-limit neigh 1234:2::2 remote-as 3 neigh 1234:2::2 aspath-limit red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 aspath-limit neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 aspath-limit red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 aspath-limit neigh 1234:3::2 remote-as 4 neigh 1234:3::2 aspath-limit red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 aspath-limit red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 aspath-limit red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 0 60 2.2.2.1 vrf v1 r4 tping 0 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp855.tst000066400000000000000000000073061510423065500166050ustar00rootroot00000000000000description bgp routepolicy filtering with pathlimit addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-policy rm1 set aslimit 2 4 pass exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 aspath-limit red conn route-policy rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 aspath-limit red conn route-policy rm1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 aspath-limit neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 aspath-limit red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 aspath-limit neigh 1234:2::2 remote-as 3 neigh 1234:2::2 aspath-limit red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 aspath-limit neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 aspath-limit red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 aspath-limit neigh 1234:3::2 remote-as 4 neigh 1234:3::2 aspath-limit red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 aspath-limit red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 aspath-limit red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 0 60 2.2.2.1 vrf v1 r4 tping 0 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp856.tst000066400000000000000000000100601510423065500165750ustar00rootroot00000000000000description bgp routemap filtering with pathlimit with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 set aslimit 2 4 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 aspath-limit neigh 1.1.1.2 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 aspath-limit neigh 1234:1::2 soft-reconfig red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 aspath-limit neigh 1.1.1.1 soft-reconfig neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 aspath-limit neigh 1.1.1.6 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 aspath-limit neigh 1234:1::1 soft-reconfig neigh 1234:2::2 remote-as 3 neigh 1234:2::2 aspath-limit neigh 1234:2::2 soft-reconfig red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 aspath-limit neigh 1.1.1.5 soft-reconfig neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 aspath-limit neigh 1.1.1.10 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 aspath-limit neigh 1234:2::1 soft-reconfig neigh 1234:3::2 remote-as 4 neigh 1234:3::2 aspath-limit neigh 1234:3::2 soft-reconfig red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 aspath-limit neigh 1.1.1.9 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 aspath-limit neigh 1234:3::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 0 60 2.2.2.1 vrf v1 r4 tping 0 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp857.tst000066400000000000000000000101021510423065500165730ustar00rootroot00000000000000description bgp routepolicy filtering with pathlimit with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-policy rm1 set aslimit 2 4 pass exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 aspath-limit neigh 1.1.1.2 soft-reconfig red conn route-policy rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 aspath-limit neigh 1234:1::2 soft-reconfig red conn route-policy rm1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 aspath-limit neigh 1.1.1.1 soft-reconfig neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 aspath-limit neigh 1.1.1.6 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 aspath-limit neigh 1234:1::1 soft-reconfig neigh 1234:2::2 remote-as 3 neigh 1234:2::2 aspath-limit neigh 1234:2::2 soft-reconfig red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 aspath-limit neigh 1.1.1.5 soft-reconfig neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 aspath-limit neigh 1.1.1.10 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 aspath-limit neigh 1234:2::1 soft-reconfig neigh 1234:3::2 remote-as 4 neigh 1234:3::2 aspath-limit neigh 1234:3::2 soft-reconfig red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 aspath-limit neigh 1.1.1.9 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 aspath-limit neigh 1234:3::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 0 60 2.2.2.1 vrf v1 r4 tping 0 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp858.tst000066400000000000000000000110241510423065500166000ustar00rootroot00000000000000description bgp change in pathlimit addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 set aslimit 2 4 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 aspath-limit red conn route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 aspath-limit red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 aspath-limit neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 aspath-limit red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 aspath-limit neigh 1234:2::2 remote-as 3 neigh 1234:2::2 aspath-limit red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 aspath-limit neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 aspath-limit red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 aspath-limit neigh 1234:3::2 remote-as 4 neigh 1234:3::2 aspath-limit red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 aspath-limit red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 aspath-limit red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 0 60 2.2.2.1 vrf v1 r4 tping 0 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set aslimit 4 4 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp859.tst000066400000000000000000000116201510423065500166030ustar00rootroot00000000000000description bgp change in pathlimit with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 set aslimit 2 4 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 aspath-limit neigh 1.1.1.2 soft-reconfig red conn route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 aspath-limit neigh 1234:1::2 soft-reconfig red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 aspath-limit neigh 1.1.1.1 soft-reconfig neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 aspath-limit neigh 1.1.1.6 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 aspath-limit neigh 1234:1::1 soft-reconfig neigh 1234:2::2 remote-as 3 neigh 1234:2::2 aspath-limit neigh 1234:2::2 soft-reconfig red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 aspath-limit neigh 1.1.1.5 soft-reconfig neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 aspath-limit neigh 1.1.1.10 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 aspath-limit neigh 1234:2::1 soft-reconfig neigh 1234:3::2 remote-as 4 neigh 1234:3::2 aspath-limit neigh 1234:3::2 soft-reconfig red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 aspath-limit neigh 1.1.1.9 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 aspath-limit neigh 1234:3::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 0 60 2.2.2.1 vrf v1 r4 tping 0 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set aslimit 4 4 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp860.tst000066400000000000000000000026171510423065500166010ustar00rootroot00000000000000description unicast+spf over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni spf local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni spf local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni spf local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni spf local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp861.tst000066400000000000000000000030321510423065500165720ustar00rootroot00000000000000description unicast+spf over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni spf local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni spf local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni spf local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni spf local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp862.tst000066400000000000000000000033741510423065500166040ustar00rootroot00000000000000description unicast+spf over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni spf local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 additional-path-rx uni spf neigh 1.1.1.2 additional-path-tx uni spf red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni spf local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 additional-path-rx uni spf neigh 1234:1::2 additional-path-tx uni spf red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni spf local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 additional-path-rx uni spf neigh 1.1.1.1 additional-path-tx uni spf red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni spf local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 additional-path-rx uni spf neigh 1234:1::1 additional-path-tx uni spf red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp863.tst000066400000000000000000000072461510423065500166070ustar00rootroot00000000000000description spf bgp in chain addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 linkstate red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 linkstate neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 linkstate neigh 1234:2::2 remote-as 3 neigh 1234:2::2 linkstate red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 linkstate neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 linkstate neigh 1234:3::2 remote-as 4 neigh 1234:3::2 linkstate red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 linkstate red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp864.tst000066400000000000000000000110121510423065500165720ustar00rootroot00000000000000description spf bgp prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 linkstate red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 linkstate neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 linkstate neigh 1234:2::2 remote-as 3 neigh 1234:2::2 linkstate red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 linkstate neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 linkstate neigh 1234:3::2 remote-as 4 neigh 1234:3::2 linkstate red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 linkstate red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r1 send conf t r1 send router bgp4 1 r1 send no red conn r1 send exit r1 send router bgp6 1 r1 send no red conn r1 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 0 60 2.2.2.1 vrf v1 r2 tping 0 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 0 60 2.2.2.1 vrf v1 r4 tping 0 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp865.tst000066400000000000000000000131211510423065500165760ustar00rootroot00000000000000description spf bgp change in metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 1000 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 linkstate red conn route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 linkstate red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny sequence 10 match metric 2000-4000 sequence 20 act perm exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena afi-spf route-map rm1 address spf local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 linkstate neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena afi-spf route-map rm1 address spf local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 linkstate neigh 1234:2::2 remote-as 3 neigh 1234:2::2 linkstate red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 linkstate neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 linkstate neigh 1234:3::2 remote-as 4 neigh 1234:3::2 linkstate red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 linkstate red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 3000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 0 60 2.2.2.1 vrf v1 r2 tping 0 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 0 60 2.2.2.1 vrf v1 r4 tping 0 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 5000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp866.tst000066400000000000000000000131021510423065500165760ustar00rootroot00000000000000description spf bgp change in tag addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set tag 1000 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 linkstate red conn route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 linkstate red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny sequence 10 match tag 2000-4000 sequence 20 act perm exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena afi-spf route-map rm1 address spf local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 linkstate neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena afi-spf route-map rm1 address spf local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 linkstate neigh 1234:2::2 remote-as 3 neigh 1234:2::2 linkstate red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 linkstate neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 linkstate neigh 1234:3::2 remote-as 4 neigh 1234:3::2 linkstate red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 linkstate red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set tag 3000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 0 60 2.2.2.1 vrf v1 r2 tping 0 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 0 60 2.2.2.1 vrf v1 r4 tping 0 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set tag 5000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp867.tst000066400000000000000000000056771510423065500166210ustar00rootroot00000000000000description spf bgp triangle connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 linkstate neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 linkstate neigh 1234:3::1 remote-as 3 neigh 1234:3::1 linkstate red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 linkstate neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 linkstate neigh 1234:2::2 remote-as 3 neigh 1234:2::2 linkstate red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 linkstate neigh 1.1.1.10 remote-as 1 neigh 1.1.1.10 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 linkstate neigh 1234:3::2 remote-as 1 neigh 1234:3::2 linkstate red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp868.tst000066400000000000000000000072711510423065500166120ustar00rootroot00000000000000description spf bgp default route addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena afi-spf default address spf local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 linkstate exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena afi-spf default address spf local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 linkstate exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 linkstate neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 linkstate neigh 1234:2::2 remote-as 3 neigh 1234:2::2 linkstate red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 linkstate neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 linkstate neigh 1234:3::2 remote-as 4 neigh 1234:3::2 linkstate red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 linkstate red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp869.tst000066400000000000000000000105061510423065500166060ustar00rootroot00000000000000description spf bgp ecmp connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:21::1 ffff:ffff:: exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.10 255.255.255.252 ipv6 addr 1234:23::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 linkstate neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 linkstate neigh 1.1.2.2 remote-as 2 neigh 1.1.2.2 linkstate neigh 1.1.2.9 remote-as 3 neigh 1.1.2.9 linkstate afi-spf spf-ecmp ecmp red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 linkstate neigh 1234:3::1 remote-as 3 neigh 1234:3::1 linkstate neigh 1234:21::2 remote-as 2 neigh 1234:21::2 linkstate neigh 1234:23::1 remote-as 3 neigh 1234:23::1 linkstate afi-spf spf-ecmp ecmp red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:21::2 ffff:ffff:: exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.252 ipv6 addr 1234:22::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 linkstate neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 linkstate neigh 1.1.2.1 remote-as 1 neigh 1.1.2.1 linkstate neigh 1.1.2.6 remote-as 3 neigh 1.1.2.6 linkstate afi-spf spf-ecmp ecmp red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 linkstate neigh 1234:2::2 remote-as 3 neigh 1234:2::2 linkstate neigh 1234:21::1 remote-as 1 neigh 1234:21::1 linkstate neigh 1234:22::2 remote-as 3 neigh 1234:22::2 linkstate afi-spf spf-ecmp ecmp red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.252 ipv6 addr 1234:22::2 ffff:ffff:: exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.9 255.255.255.252 ipv6 addr 1234:23::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 linkstate neigh 1.1.1.10 remote-as 1 neigh 1.1.1.10 linkstate neigh 1.1.2.5 remote-as 2 neigh 1.1.2.5 linkstate neigh 1.1.2.10 remote-as 1 neigh 1.1.2.10 linkstate afi-spf spf-ecmp ecmp red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 linkstate neigh 1234:3::2 remote-as 1 neigh 1234:3::2 linkstate neigh 1234:22::1 remote-as 2 neigh 1234:22::1 linkstate neigh 1234:23::2 remote-as 1 neigh 1234:23::2 linkstate afi-spf spf-ecmp ecmp red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp870.tst000066400000000000000000000072631510423065500166040ustar00rootroot00000000000000description spf bgp stub node addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 linkstate red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena afi-spf stub address spf local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 linkstate neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena afi-spf stub address spf local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 linkstate neigh 1234:2::2 remote-as 3 neigh 1234:2::2 linkstate red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 linkstate neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 linkstate neigh 1234:3::2 remote-as 4 neigh 1234:3::2 linkstate red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 linkstate red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 0 60 2.2.2.4 vrf v1 r1 tping 0 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 0 60 2.2.2.1 vrf v1 r4 tping 0 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp871.tst000066400000000000000000000073731510423065500166070ustar00rootroot00000000000000description spf bgp stub peer addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 linkstate red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 linkstate neigh 1.1.1.1 spf-stub neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 linkstate neigh 1.1.1.6 spf-stub red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 linkstate neigh 1234:1::1 spf-stub neigh 1234:2::2 remote-as 3 neigh 1234:2::2 linkstate neigh 1234:2::2 spf-stub red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 linkstate neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 linkstate neigh 1234:3::2 remote-as 4 neigh 1234:3::2 linkstate red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 linkstate red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 2.2.2.3 vrf v1 r1 tping 0 60 4321::3 vrf v1 r1 tping 0 60 2.2.2.4 vrf v1 r1 tping 0 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 0 60 2.2.2.1 vrf v1 r3 tping 0 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 0 60 2.2.2.1 vrf v1 r4 tping 0 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp872.tst000066400000000000000000000122071510423065500166000ustar00rootroot00000000000000description spf bgp with sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 1 local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 1 local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 linkstate red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 2 local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 linkstate neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 2 local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 linkstate neigh 1234:2::2 remote-as 3 neigh 1234:2::2 linkstate red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 3 local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 linkstate neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 3 local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 linkstate neigh 1234:3::2 remote-as 4 neigh 1234:3::2 linkstate red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 4 local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 4 local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 linkstate red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.4 vrf v1 sou lo0 r2 tping 100 60 4321::4 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.4 vrf v1 sou lo0 r3 tping 100 60 4321::4 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r4 tping 100 60 2.2.2.2 vrf v1 sou lo0 r4 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.3 vrf v1 sou lo0 r4 tping 100 60 4321::3 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp873.tst000066400000000000000000000123241510423065500166010ustar00rootroot00000000000000description spf bgp with srgb sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 1 base 100 local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 1 base 200 local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 linkstate red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 2 base 100 local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 linkstate neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 2 base 200 local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 linkstate neigh 1234:2::2 remote-as 3 neigh 1234:2::2 linkstate red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 3 base 100 local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 linkstate neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 3 base 200 local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 linkstate neigh 1234:3::2 remote-as 4 neigh 1234:3::2 linkstate red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 4 base 100 local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 4 base 200 local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 linkstate red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.4 vrf v1 sou lo0 r2 tping 100 60 4321::4 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.4 vrf v1 sou lo0 r3 tping 100 60 4321::4 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r4 tping 100 60 2.2.2.2 vrf v1 sou lo0 r4 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.3 vrf v1 sou lo0 r4 tping 100 60 4321::3 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp874.tst000066400000000000000000000116221510423065500166020ustar00rootroot00000000000000description spf bgp with bier addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf bier 256 10 1 local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf bier 256 10 1 local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 linkstate red conn exit int tun1 tun sou lo0 tun dest 9.9.9.9 tun doma 2.2.2.4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 tun sou lo0 tun dest 9999::9 tun doma 4321::4 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf bier 256 10 2 local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 linkstate neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf bier 256 10 2 local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 linkstate neigh 1234:2::2 remote-as 3 neigh 1234:2::2 linkstate red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf bier 256 10 3 local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 linkstate neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf bier 256 10 3 local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 linkstate neigh 1234:3::2 remote-as 4 neigh 1234:3::2 linkstate red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf bier 256 10 4 local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf bier 256 10 4 local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 linkstate red conn exit int tun1 tun sou lo0 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int tun2 tun sou lo0 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv6 addr 4321::1112 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.4 vrf v1 sou lo0 r2 tping 100 60 4321::4 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.4 vrf v1 sou lo0 r3 tping 100 60 4321::4 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r4 tping 100 60 2.2.2.2 vrf v1 sou lo0 r4 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.3 vrf v1 sou lo0 r4 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 20 3.3.3.2 vrf v1 r1 tping 100 20 4321::1112 vrf v1 r4 tping 100 20 3.3.3.1 vrf v1 r4 tping 100 20 4321::1111 vrf v1 freeRtr-25.11.9/cfg/rout-bgp875.tst000066400000000000000000000076301510423065500166070ustar00rootroot00000000000000description spf bgp with bgp linkstate addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf linkstate afi-link bgp4 1 0 local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf linkstate afi-link bgp6 1 0 local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 linkstate red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf linkstate afi-link bgp4 1 0 local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 linkstate neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf linkstate afi-link bgp6 1 0 local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 linkstate neigh 1234:2::2 remote-as 3 neigh 1234:2::2 linkstate red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf linkstate afi-link bgp4 1 0 local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 linkstate neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf linkstate afi-link bgp6 1 0 local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 linkstate neigh 1234:3::2 remote-as 4 neigh 1234:3::2 linkstate red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf linkstate afi-link bgp4 1 0 local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf linkstate afi-link bgp6 1 0 local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 linkstate red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp876.tst000066400000000000000000000123141510423065500166030ustar00rootroot00000000000000description spf bgp with polka addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 1 local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 1 local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 linkstate red conn exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.4 tunnel domain-name 2.2.2.2 2.2.2.3 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::4 tunnel domain-name 4321::2 4321::3 tunnel mode polka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable polka enable 2 65536 10 exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 2 local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 linkstate neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 2 local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 linkstate neigh 1234:2::2 remote-as 3 neigh 1234:2::2 linkstate red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 3 65536 10 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable polka enable 3 65536 10 exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 3 local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 linkstate neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 3 local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 linkstate neigh 1234:3::2 remote-as 4 neigh 1234:3::2 linkstate red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable polka enable 4 65536 10 exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 4 local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 4 local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 linkstate red conn exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.3 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::3 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.4 vrf v1 sou lo0 r2 tping 100 60 4321::4 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.4 vrf v1 sou lo0 r3 tping 100 60 4321::4 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r4 tping 100 60 2.2.2.2 vrf v1 sou lo0 r4 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.3 vrf v1 sou lo0 r4 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r4 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r4 tping 100 20 3333::1 vrf v1 sou tun2 freeRtr-25.11.9/cfg/rout-bgp877.tst000066400000000000000000000125411510423065500166060ustar00rootroot00000000000000description spf bgp with mpolka addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 1 local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 1 local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 linkstate red conn exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.4 tunnel domain-name 2.2.2.2 2.2.2.3 , 2.2.2.3 2.2.2.4 , 2.2.2.4 2.2.2.4 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::4 tunnel domain-name 4321::2 4321::3 , 4321::3 4321::4 , 4321::4 4321::4 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable polka enable 2 65536 10 exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 2 local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 linkstate neigh 1.1.1.6 remote-as 3 neigh 1.1.1.6 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 2 local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 linkstate neigh 1234:2::2 remote-as 3 neigh 1234:2::2 linkstate red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 3 65536 10 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable polka enable 3 65536 10 exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 3 local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.5 linkstate neigh 1.1.1.10 remote-as 4 neigh 1.1.1.10 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 3 local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:2::1 linkstate neigh 1234:3::2 remote-as 4 neigh 1234:3::2 linkstate red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable polka enable 4 65536 10 exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 4 local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 neigh 1.1.1.9 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf segrout 10 4 local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 neigh 1234:3::1 linkstate red conn exit interface tun1 tunnel vrf v1 tunnel source loopback0 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.3 2.2.2.2 , 2.2.2.2 2.2.2.1 , 2.2.2.1 2.2.2.1 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback0 tunnel destination 4321::1 tunnel domain-name 4321::3 4321::2 , 4321::2 4321::1 , 4321::1 4321::1 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.4 vrf v1 sou lo0 r2 tping 100 60 4321::4 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r3 tping 100 60 2.2.2.4 vrf v1 sou lo0 r3 tping 100 60 4321::4 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r4 tping 100 60 2.2.2.2 vrf v1 sou lo0 r4 tping 100 60 4321::2 vrf v1 sou lo0 r4 tping 100 60 2.2.2.3 vrf v1 sou lo0 r4 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r4 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r4 tping 100 20 3333::1 vrf v1 sou tun2 freeRtr-25.11.9/cfg/rout-bgp878.tst000066400000000000000000000056631510423065500166160ustar00rootroot00000000000000description bgp routemap filtering with aspa validity addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set validaspa 1 exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 rpki-out rew neigh 1.1.1.1 route-map-out rm1 red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 rpki-out rew neigh 1234:1::1 route-map-out rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match validaspa 1 sequence 20 act permit exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 rpki-in acc neigh 1.1.1.1 route-map-in rm1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 rpki-in acc neigh 1234:1::1 route-map-in rm1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp879.tst000066400000000000000000000062661510423065500166170ustar00rootroot00000000000000description bgp routemap filtering with aspa validity with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 set validaspa 1 exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both neigh 1.1.1.1 rpki-out rew neigh 1.1.1.1 route-map-out rm1 red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both neigh 1234:1::1 rpki-out rew neigh 1234:1::1 route-map-out rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 sequence 10 act deny match validaspa 1 sequence 20 act permit exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 rpki-in acc neigh 1.1.1.1 route-map-in rm1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 rpki-in acc neigh 1234:1::1 route-map-in rm1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp890.tst000066400000000000000000000157431510423065500166100ustar00rootroot00000000000000description bgp change in aspa validity addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 send-comm both neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 send-comm both neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 send-comm both neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 send-comm both neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match validaspa 3 sequence 20 act perm exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 rpki-in acc neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 rpki-in acc neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set validaspa 1 exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 rpki-out rew neigh 1.1.1.1 route-map-out rm1 red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 rpki-out rew neigh 1234:1::1 route-map-out rm1 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match validaspa 2 sequence 20 act perm exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 rpki-in acc neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 rpki-in acc neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set validaspa 2 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set validaspa 3 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set validaspa 1 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp891.tst000066400000000000000000000165361510423065500166120ustar00rootroot00000000000000description bgp change in aspa validity with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 send-comm both neigh 1.1.1.2 route-reflect neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 send-comm both neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 soft-reconfig neigh 1.1.1.4 send-comm both neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 send-comm both neigh 1234:1::2 route-reflect neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 send-comm both neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 soft-reconfig neigh 1234:1::4 send-comm both neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match validaspa 3 sequence 20 act perm exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both neigh 1.1.1.1 rpki-in acc neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both neigh 1234:1::1 rpki-in acc neigh 1234:1::1 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-map rm1 set validaspa 1 exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both neigh 1.1.1.1 rpki-out rew neigh 1.1.1.1 route-map-out rm1 red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both neigh 1234:1::1 rpki-out rew neigh 1234:1::1 route-map-out rm1 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit route-map rm1 sequence 10 act deny sequence 10 match validaspa 2 sequence 20 act perm exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both neigh 1.1.1.1 rpki-in acc neigh 1.1.1.1 route-map-in rm1 red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both neigh 1234:1::1 rpki-in acc neigh 1234:1::1 route-map-in rm1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set validaspa 2 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set validaspa 3 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 0 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 r3 send conf t r3 send route-map rm1 r3 send set validaspa 1 r3 send end r3 send clear ipv4 route v1 r3 send clear ipv6 route v1 r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp892.tst000066400000000000000000000056661510423065500166150ustar00rootroot00000000000000description bgp routepolicy filtering with aspa validity addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set validaspa 1 pass exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 rpki-out rew neigh 1.1.1.1 route-policy-out rm1 red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 rpki-out rew neigh 1234:1::1 route-policy-out rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if validaspa 1 drop else pass enif exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 rpki-in acc neigh 1.1.1.1 route-policy-in rm1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 rpki-in acc neigh 1234:1::1 route-policy-in rm1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp893.tst000066400000000000000000000062711510423065500166070ustar00rootroot00000000000000description bgp routepolicy filtering with aspa validity with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 soft-reconfig neigh 1.1.1.2 route-reflect neigh 1.1.1.2 send-comm both neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 soft-reconfig neigh 1.1.1.3 route-reflect neigh 1.1.1.3 send-comm both red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 soft-reconfig neigh 1234:1::2 route-reflect neigh 1234:1::2 send-comm both neigh 1234:1::3 remote-as 1 neigh 1234:1::3 soft-reconfig neigh 1234:1::3 route-reflect neigh 1234:1::3 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit route-policy rm1 set validaspa 1 pass exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 send-comm both neigh 1.1.1.1 rpki-out rew neigh 1.1.1.1 route-policy-out rm1 red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 send-comm both neigh 1234:1::1 rpki-out rew neigh 1234:1::1 route-policy-out rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit route-policy rm1 if validaspa 1 drop else pass enif exit router rpki4 1 vrf v1 exit router bgp4 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 soft-reconfig neigh 1.1.1.1 rpki-in acc neigh 1.1.1.1 route-policy-in rm1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 rpki rpki4 1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 soft-reconfig neigh 1234:1::1 rpki-in acc neigh 1234:1::1 route-policy-in rm1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 0 60 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-bgp894.tst000066400000000000000000000107061510423065500166060ustar00rootroot00000000000000description bgp aspa rpki valid addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 set aspath 11 12 13 14 15 16 exit router rpki4 1 vrf v1 exit router rpki6 1 vrf v1 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.1 rpki rpki4 1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 rpki-in acc red conn route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 rpki rpki6 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 rpki-in acc red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit route-map rm1 set locpref 1234 exit route-map rm2 match validaspa 1 set locpref 4321 exit server rpki r vrf v1 provider 16 15 provider 15 14 provider 14 13 provider 13 14 provider 12 13 provider 11 12 provider 3 11 provider 1 3 exit router rpki4 1 vrf v1 neigh 2.2.2.2 port 323 wakeup bgp4 1 exit router rpki6 1 vrf v1 neigh 4321::2 port 323 wakeup bgp6 1 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.2 rpki rpki4 1 neigh 1.1.1.1 remote-as 3 neigh 1.1.1.1 rpki-in rew neigh 1.1.1.1 send-comm both neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.1 route-map-in rm2 neigh 1.1.1.6 remote-as 2 neigh 1.1.1.6 rpki-in rew neigh 1.1.1.6 send-comm both neigh 1.1.1.6 prefix-list-in p4 neigh 1.1.1.6 route-map-in rm1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.2 rpki rpki6 1 neigh 1234:1::1 remote-as 3 neigh 1234:1::1 rpki-in rew neigh 1234:1::1 send-comm both neigh 1234:1::1 prefix-list-in p6 neigh 1234:1::1 route-map-in rm2 neigh 1234:2::2 remote-as 2 neigh 1234:2::2 rpki-in rew neigh 1234:2::2 send-comm both neigh 1234:2::2 prefix-list-in p6 neigh 1234:2::2 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-map rm1 set aspath 21 22 23 exit router rpki4 1 vrf v1 exit router rpki6 1 vrf v1 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.3 rpki rpki4 1 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 rpki-in acc red conn route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.3 rpki rpki6 1 neigh 1234:2::1 remote-as 1 neigh 1234:2::1 rpki-in acc red conn route-map rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp895.tst000066400000000000000000000107241510423065500166070ustar00rootroot00000000000000description bgp aspa rpki invalid addrouter r1 int eth1 eth 0000.0000.2222 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit route-map rm1 set aspath 21 22 23 exit router rpki4 1 vrf v1 exit router rpki6 1 vrf v1 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.1 rpki rpki4 1 neigh 1.1.1.2 remote-as 1 neigh 1.1.1.2 rpki-in acc red conn route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 rpki rpki6 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 1 neigh 1234:1::2 rpki-in acc red conn route-map rm1 exit ! addrouter r2 int eth1 eth 0000.0000.1111 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit route-map rm1 set locpref 1234 exit route-map rm2 match validaspa 2 set locpref 4321 exit server rpki r vrf v1 provider 16 15 provider 15 14 provider 14 13 provider 13 14 provider 12 13 provider 11 12 provider 2 11 provider 1 3 exit router rpki4 1 vrf v1 neigh 2.2.2.2 port 323 wakeup bgp4 1 exit router rpki6 1 vrf v1 neigh 4321::2 port 323 wakeup bgp6 1 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.2 rpki rpki4 1 neigh 1.1.1.1 remote-as 3 neigh 1.1.1.1 rpki-in rew neigh 1.1.1.1 send-comm both neigh 1.1.1.1 prefix-list-in p4 neigh 1.1.1.1 route-map-in rm2 neigh 1.1.1.6 remote-as 2 neigh 1.1.1.6 rpki-in rew neigh 1.1.1.6 send-comm both neigh 1.1.1.6 prefix-list-in p4 neigh 1.1.1.6 route-map-in rm1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.2 rpki rpki6 1 neigh 1234:1::1 remote-as 3 neigh 1234:1::1 rpki-in rew neigh 1234:1::1 send-comm both neigh 1234:1::1 prefix-list-in p6 neigh 1234:1::1 route-map-in rm2 neigh 1234:2::2 remote-as 2 neigh 1234:2::2 rpki-in rew neigh 1234:2::2 send-comm both neigh 1234:2::2 prefix-list-in p6 neigh 1234:2::2 route-map-in rm1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit route-map rm1 set aspath 11 12 13 12 11 12 13 14 15 16 exit router rpki4 1 vrf v1 exit router rpki6 1 vrf v1 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.3 rpki rpki4 1 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 rpki-in acc red conn route-map rm1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.3 rpki rpki6 1 neigh 1234:2::1 remote-as 1 neigh 1234:2::1 rpki-in acc red conn route-map rm1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.111 vrf v1 r2 tping 100 60 4321::111 vrf v1 r2 tping 0 60 2.2.2.222 vrf v1 r2 tping 0 60 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 60 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 60 2.2.2.222 vrf v1 freeRtr-25.11.9/cfg/rout-bgp896.tst000066400000000000000000000064421510423065500166120ustar00rootroot00000000000000description ibgp rr in subnet without client reflection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.1 no client-reflect neigh 1.1.1.2 remote-as 1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 route-reflect neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 route-reflect red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.1 no client-reflect neigh 1234:1::2 remote-as 1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 route-reflect neigh 1234:1::4 remote-as 1 neigh 1234:1::4 route-reflect red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.3 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.3 neigh 1234:1::1 remote-as 1 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit router bgp4 1 vrf v1 address uni local-as 1 router-id 4.4.4.4 neigh 1.1.1.1 remote-as 1 red conn exit router bgp6 1 vrf v1 address uni local-as 1 router-id 6.6.6.4 neigh 1234:1::1 remote-as 1 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r3 tping 0 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/rout-bgp897.tst000066400000000000000000000172021510423065500166070ustar00rootroot00000000000000description vpns over ibgp rr without client reflection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.1 neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 update lo0 neigh 1.1.1.4 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.1 neigh 1234:1::4 remote-as 1 neigh 1234:1::4 update lo0 neigh 1234:1::4 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.2 neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 update lo0 neigh 1.1.1.4 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.2 neigh 1234:1::4 remote-as 1 neigh 1234:1::4 update lo0 neigh 1234:1::4 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.3 neigh 1.1.1.4 remote-as 1 neigh 1.1.1.4 update lo0 neigh 1.1.1.4 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.3 neigh 1234:1::4 remote-as 1 neigh 1234:1::4 update lo0 neigh 1234:1::4 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v3 ena afi-vrf v3 red conn afi-vrf v4 ena afi-vrf v4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $1b$ $1a$ int eth2 eth 0000.0000.4444 $2b$ $2a$ int eth3 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int eth3 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234:1::4 ffff:ffff:: exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.3 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address vpnuni local-as 1 router-id 4.4.4.4 no client-reflect neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 route-reflect neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 route-reflect exit router bgp6 1 vrf v1 address vpnuni local-as 1 router-id 6.6.6.4 no client-reflect neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 route-reflect neigh 4321::3 remote-as 1 neigh 4321::3 send-comm both neigh 4321::3 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r1 tping 100 60 9992::2 vrf v2 r1 tping 100 60 9.9.2.3 vrf v2 r1 tping 100 60 9992::3 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r2 tping 100 60 9992::1 vrf v2 r2 tping 0 60 9.9.2.3 vrf v2 r2 tping 0 60 9992::3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r3 tping 100 60 9992::1 vrf v2 r3 tping 0 60 9.9.2.2 vrf v2 r3 tping 0 60 9992::2 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r1 tping 100 60 9993::2 vrf v3 r1 tping 100 60 9.9.3.3 vrf v3 r1 tping 100 60 9993::3 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r2 tping 100 60 9993::1 vrf v3 r2 tping 0 60 9.9.3.3 vrf v3 r2 tping 0 60 9993::3 vrf v3 r3 tping 100 60 9.9.3.1 vrf v3 r3 tping 100 60 9993::1 vrf v3 r3 tping 0 60 9.9.3.2 vrf v3 r3 tping 0 60 9993::2 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r1 tping 100 60 9994::2 vrf v4 r1 tping 100 60 9.9.4.3 vrf v4 r1 tping 100 60 9994::3 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r2 tping 100 60 9994::1 vrf v4 r2 tping 0 60 9.9.4.3 vrf v4 r2 tping 0 60 9994::3 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r3 tping 100 60 9994::1 vrf v4 r3 tping 0 60 9.9.4.2 vrf v4 r3 tping 0 60 9994::2 vrf v4 freeRtr-25.11.9/cfg/rout-bgp898.tst000066400000000000000000000026311510423065500166100ustar00rootroot00000000000000description unicast+sdwan over bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni sdwan local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni sdwan local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni sdwan local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni sdwan local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp899.tst000066400000000000000000000030441510423065500166100ustar00rootroot00000000000000description unicast+sdwan over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni sdwan local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni sdwan local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 soft-reconfig red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni sdwan local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 soft-reconfig red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni sdwan local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 soft-reconfig red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp900.tst000066400000000000000000000034261510423065500165730ustar00rootroot00000000000000description unicast+sdwan over bgp with additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni sdwan local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 send-comm both neigh 1.1.1.2 additional-path-rx uni sdwan neigh 1.1.1.2 additional-path-tx uni sdwan red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni sdwan local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 send-comm both neigh 1234:1::2 additional-path-rx uni sdwan neigh 1234:1::2 additional-path-tx uni sdwan red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni sdwan local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 send-comm both neigh 1.1.1.1 additional-path-rx uni sdwan neigh 1.1.1.1 additional-path-tx uni sdwan red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni sdwan local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:1::1 send-comm both neigh 1234:1::1 additional-path-rx uni sdwan neigh 1234:1::1 additional-path-tx uni sdwan red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 freeRtr-25.11.9/cfg/rout-bgp901.tst000066400000000000000000000101531510423065500165670ustar00rootroot00000000000000description l3evpns over srv6 over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234:1::2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 segrou afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 segrou afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 segrou afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 segrou afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp902.tst000066400000000000000000000125411510423065500165730ustar00rootroot00000000000000description l3evpns over srv6 over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234:1::2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 segrou afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 segrou afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit ipv6 route v1 4321:1:: ffff:ffff:: 1234:1::1 ipv6 route v1 4321:2:: ffff:ffff:: 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 segrou afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 segrou afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r3 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r3 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r3 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp903.tst000066400000000000000000000123451510423065500165760ustar00rootroot00000000000000description l3evpns over srv6 over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234:1::2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 segrou afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both neigh 1234:1::3 segrou afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 segrou afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both neigh 1234:1::3 segrou afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 segrou neigh 2.2.2.1 route-reflect neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 segrou neigh 2.2.2.2 route-reflect exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 segrou neigh 4321::1 route-reflect neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 segrou neigh 4321::2 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp904.tst000066400000000000000000000103111510423065500165660ustar00rootroot00000000000000description l3evpns over srv6 over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234:1::2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 confed neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 segrou afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 confed neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 segrou afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 confed neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 segrou afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 confed neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 segrou afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp905.tst000066400000000000000000000126121510423065500165750ustar00rootroot00000000000000description l3evpns over srv6 over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234:1::2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 segrou afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both neigh 1234:1::3 segrou afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 segrou afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both neigh 1234:1::3 segrou afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 segrou neigh 2.2.2.1 route-server neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 segrou neigh 2.2.2.2 route-server exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 segrou neigh 4321::1 route-server neigh 4321::2 remote-as 2 neigh 4321::2 send-comm both neigh 4321::2 segrou neigh 4321::2 route-server exit ! r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp906.tst000066400000000000000000000103611510423065500165750ustar00rootroot00000000000000description l3evpns over srv6 over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234:1::2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 segrou neigh 2.2.2.2 soft-reconfig afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 segrou neigh 4321::2 soft-reconfig afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 segrou neigh 2.2.2.1 soft-reconfig afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 segrou neigh 4321::1 soft-reconfig afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp907.tst000066400000000000000000000106621510423065500166020ustar00rootroot00000000000000description l3evpns over srv6 over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234:1::2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 segrou neigh 2.2.2.2 additional-path-rx evpn neigh 2.2.2.2 additional-path-tx evpn afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 segrou neigh 4321::2 additional-path-rx evpn neigh 4321::2 additional-path-tx evpn afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 segrou neigh 2.2.2.1 additional-path-rx evpn neigh 2.2.2.1 additional-path-tx evpn afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 segrou neigh 4321::1 additional-path-rx evpn neigh 4321::1 additional-path-tx evpn afi-l3e v2 ena afi-l3e v2 red conn afi-l3e v2 srv6 tun1 afi-l3e v3 ena afi-l3e v3 red conn afi-l3e v3 srv6 tun1 afi-l3e v4 ena afi-l3e v4 red conn afi-l3e v4 srv6 tun1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp908.tst000066400000000000000000000102241510423065500165750ustar00rootroot00000000000000description l3otherevpns over srv6 over ebgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234:1::2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 segrou afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 segrou afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 segrou afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 segrou afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp909.tst000066400000000000000000000126121510423065500166010ustar00rootroot00000000000000description l3eothervpns over srv6 over ibgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234:1::2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.3 segrou afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::3 segrou afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit ipv6 route v1 4321:1:: ffff:ffff:: 1234:1::1 ipv6 route v1 4321:2:: ffff:ffff:: 1234:2::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.3 255.255.255.255 ipv6 addr 9992::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.3 255.255.255.255 ipv6 addr 9993::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.3 255.255.255.255 ipv6 addr 9994::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234:2::1 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.5 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 segrou afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 segrou afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 9.9.2.3 vrf v2 r3 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::3 vrf v2 r3 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.3 vrf v3 r3 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::3 vrf v3 r3 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.3 vrf v4 r3 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::3 vrf v4 r3 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp910.tst000066400000000000000000000124161510423065500165730ustar00rootroot00000000000000description l3otherevpns over srv6 over ibgp rr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234:1::2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 segrou afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both neigh 1234:1::3 segrou afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 1 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 segrou afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.2 neigh 1234:1::3 remote-as 1 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both neigh 1234:1::3 segrou afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 address evpn local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 segrou neigh 2.2.2.1 route-reflect neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 segrou neigh 2.2.2.2 route-reflect exit router bgp6 1 vrf v1 address evpn local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 segrou neigh 4321::1 route-reflect neigh 4321::2 remote-as 1 neigh 4321::2 send-comm both neigh 4321::2 segrou neigh 4321::2 route-reflect exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp911.tst000066400000000000000000000103621510423065500165720ustar00rootroot00000000000000description l3otherevpns over srv6 over confed bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234:1::2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 confed neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 segrou afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 confed neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 segrou afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 confed neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 segrou afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 confed neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 segrou afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp912.tst000066400000000000000000000126631510423065500166010ustar00rootroot00000000000000description l3otherevpns over srv6 over bgp route server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234:1::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234:1::2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 segrou afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both neigh 1234:1::3 segrou afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 1.1.1.3 remote-as 3 neigh 1.1.1.3 update lo0 neigh 1.1.1.3 send-comm both neigh 1.1.1.3 segrou afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 1234:1::3 remote-as 3 neigh 1234:1::3 update lo0 neigh 1234:1::3 send-comm both neigh 1234:1::3 segrou afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $1b$ $1a$ int eth2 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234:1::3 ffff:ffff:: exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 segrou neigh 2.2.2.1 route-server neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 segrou neigh 2.2.2.2 route-server exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 3 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 send-comm both neigh 4321::1 segrou neigh 4321::1 route-server neigh 4321::2 remote-as 2 neigh 4321::2 send-comm both neigh 4321::2 segrou neigh 4321::2 route-server exit ! r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r3 tping 100 60 2.2.2.2 vrf v1 sou lo0 r3 tping 100 60 4321::2 vrf v1 sou lo0 r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp913.tst000066400000000000000000000104321510423065500165720ustar00rootroot00000000000000description l3otherevpns over srv6 over bgp with soft-reconfig addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234:1::2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 segrou neigh 2.2.2.2 soft-reconfig afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 segrou neigh 4321::2 soft-reconfig afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 segrou neigh 2.2.2.1 soft-reconfig afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 segrou neigh 4321::1 soft-reconfig afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-bgp914.tst000066400000000000000000000107331510423065500165770ustar00rootroot00000000000000description l3otherevpns over srv6 over bgp additional path addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.1 255.255.255.255 ipv6 addr 9992::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.1 255.255.255.255 ipv6 addr 9993::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.1 255.255.255.255 ipv6 addr 9994::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:1:: ffff:ffff:: tun sour eth1 tun dest 4321:1:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:2:: ffff:ffff:: 1234:1::2 ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.2 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 4.4.4.1 neigh 2.2.2.2 remote-as 2 neigh 2.2.2.2 update lo0 neigh 2.2.2.2 send-comm both neigh 2.2.2.2 segrou neigh 2.2.2.2 additional-path-rx evpn neigh 2.2.2.2 additional-path-tx evpn afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 1 router-id 6.6.6.1 neigh 4321::2 remote-as 2 neigh 4321::2 update lo0 neigh 4321::2 send-comm both neigh 4321::2 segrou neigh 4321::2 additional-path-rx evpn neigh 4321::2 additional-path-tx evpn afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit vrf def v3 rd 1:3 rt-both 1:3 exit vrf def v4 rd 1:4 rt-both 1:4 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v2 ipv4 addr 9.9.2.2 255.255.255.255 ipv6 addr 9992::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v3 ipv4 addr 9.9.3.2 255.255.255.255 ipv6 addr 9993::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v4 ipv4 addr 9.9.4.2 255.255.255.255 ipv6 addr 9994::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int tun1 vrf for v1 ipv6 addr 4321:2:: ffff:ffff:: tun sour eth1 tun dest 4321:2:: tun vrf v1 tun mod srv6 exit ipv6 route v1 4321:1:: ffff:ffff:: 1234:1::1 ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.1 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 router bgp4 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 4.4.4.2 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both neigh 2.2.2.1 segrou neigh 2.2.2.1 additional-path-rx evpn neigh 2.2.2.1 additional-path-tx evpn afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit router bgp6 1 vrf v1 no safe-ebgp address evpn local-as 2 router-id 6.6.6.2 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both neigh 4321::1 segrou neigh 4321::1 additional-path-rx evpn neigh 4321::1 additional-path-tx evpn afi-ol3e v2 ena afi-ol3e v2 red conn afi-ol3e v2 srv6 tun1 afi-ol3e v3 ena afi-ol3e v3 red conn afi-ol3e v3 srv6 tun1 afi-ol3e v4 ena afi-ol3e v4 red conn afi-ol3e v4 srv6 tun1 exit ! r1 tping 100 60 2.2.2.2 vrf v1 sou lo0 r1 tping 100 60 4321::2 vrf v1 sou lo0 r2 tping 100 60 2.2.2.1 vrf v1 sou lo0 r2 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 9.9.2.2 vrf v2 r2 tping 100 60 9.9.2.1 vrf v2 r1 tping 100 60 9992::2 vrf v2 r2 tping 100 60 9992::1 vrf v2 r1 tping 100 60 9.9.3.2 vrf v3 r2 tping 100 60 9.9.3.1 vrf v3 r1 tping 100 60 9993::2 vrf v3 r2 tping 100 60 9993::1 vrf v3 r1 tping 100 60 9.9.4.2 vrf v4 r2 tping 100 60 9.9.4.1 vrf v4 r1 tping 100 60 9994::2 vrf v4 r2 tping 100 60 9994::1 vrf v4 freeRtr-25.11.9/cfg/rout-eigrp01.tst000066400000000000000000000023541510423065500170400ustar00rootroot00000000000000description eigrp point2point connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp02.tst000066400000000000000000000060601510423065500170370ustar00rootroot00000000000000description eigrp point2multipoint connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit router eigrp4 1 vrf v1 router 4.4.4.3 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.3 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit bridge 1 exit router eigrp4 1 vrf v1 router 4.4.4.4 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.4 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.4 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::4 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.4 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::4 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.4 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::4 vrf v1 r4 tping 100 40 2.2.2.1 vrf v1 r4 tping 100 40 2.2.2.2 vrf v1 r4 tping 100 40 2.2.2.3 vrf v1 r4 tping 100 40 4321::1 vrf v1 r4 tping 100 40 4321::2 vrf v1 r4 tping 100 40 4321::3 vrf v1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp03.tst000066400000000000000000000070401510423065500170370ustar00rootroot00000000000000description eigrp point2point chain addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.3 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.3 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.4 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.4 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.4 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::4 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.4 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::4 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.4 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::4 vrf v1 r4 tping 100 40 2.2.2.1 vrf v1 r4 tping 100 40 2.2.2.2 vrf v1 r4 tping 100 40 2.2.2.3 vrf v1 r4 tping 100 40 4321::1 vrf v1 r4 tping 100 40 4321::2 vrf v1 r4 tping 100 40 4321::3 vrf v1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 output ../binTmp/rout-eigrp.html here are the ipv4 neighbors:
show:0
here are the ipv6 neighbors:
show:1
here is the ipv4 database:
show:2
here is the ipv6 database:
show:3
here are the ipv4 routes:
show:4
here are the ipv6 routes:
show:5
! freeRtr-25.11.9/cfg/rout-eigrp04.tst000066400000000000000000000064121510423065500170420ustar00rootroot00000000000000description eigrp ingress delay addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router eigrp4 1 ena router eigrp4 1 passiv router eigrp6 1 ena router eigrp6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router eigrp4 1 ena router eigrp4 1 passiv router eigrp6 1 ena router eigrp6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router eigrp4 1 ena router eigrp4 1 delay-in 100 router eigrp6 1 ena router eigrp6 1 delay-in 100 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.3 as 1 exit router eigrp6 1 vrf v1 router 6.6.6.3 as 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router eigrp4 1 ena router eigrp4 1 passiv router eigrp6 1 ena router eigrp6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router eigrp4 1 ena router eigrp4 1 passiv router eigrp6 1 ena router eigrp6 1 passiv exit int lo3 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit server telnet tel vrf v1 port 666 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.111 vrf v1 r2 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.222 vrf v1 r2 tping 0 40 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp05.tst000066400000000000000000000064131510423065500170440ustar00rootroot00000000000000description eigrp egress delay addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router eigrp4 1 ena router eigrp4 1 passiv router eigrp6 1 ena router eigrp6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router eigrp4 1 ena router eigrp4 1 passiv router eigrp6 1 ena router eigrp6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router eigrp4 1 ena router eigrp4 1 delay-out 100 router eigrp6 1 ena router eigrp6 1 delay-out 100 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.3 as 1 exit router eigrp6 1 vrf v1 router 6.6.6.3 as 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router eigrp4 1 ena router eigrp4 1 passiv router eigrp6 1 ena router eigrp6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router eigrp4 1 ena router eigrp4 1 passiv router eigrp6 1 ena router eigrp6 1 passiv exit int lo3 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit server telnet tel vrf v1 port 666 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.111 vrf v1 r2 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.222 vrf v1 r2 tping 0 40 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp06.tst000066400000000000000000000033111510423065500170370ustar00rootroot00000000000000description eigrp address suppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router eigrp4 1 ena router eigrp4 1 passiv router eigrp6 1 ena router eigrp6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router eigrp4 1 ena router eigrp4 1 passiv router eigrp4 1 suppress router eigrp6 1 ena router eigrp6 1 passiv router eigrp6 1 suppress exit int lo3 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router eigrp4 1 ena router eigrp4 1 passiv router eigrp6 1 ena router eigrp6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 0 40 2.2.2.2 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 0 40 4321::2 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp07.tst000066400000000000000000000043441510423065500170470ustar00rootroot00000000000000description eigrp ingress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit prefix-list p4 sequence 10 deny 2.2.2.12/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::12/128 sequence 20 permit ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena router eigrp4 1 prefix-list-in p4 router eigrp6 1 prefix-list-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 0 40 2.2.2.12 vrf v1 r1 tping 0 40 4321::12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 4321::22 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp08.tst000066400000000000000000000043451510423065500170510ustar00rootroot00000000000000description eigrp egress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit prefix-list p4 sequence 10 deny 2.2.2.11/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::11/128 sequence 20 permit ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena router eigrp4 1 prefix-list-out p4 router eigrp6 1 prefix-list-out p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 4321::12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 4321::22 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 0 40 2.2.2.11 vrf v1 r2 tping 0 40 4321::11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp09.tst000066400000000000000000000044461510423065500170540ustar00rootroot00000000000000description eigrp ingress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena router eigrp4 1 route-map-in p4 router eigrp6 1 route-map-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 0 40 2.2.2.12 vrf v1 r1 tping 0 40 4321::12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 4321::22 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp10.tst000066400000000000000000000044471510423065500170450ustar00rootroot00000000000000description eigrp egress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map p4 sequence 10 act deny match network 2.2.2.11/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::11/128 sequence 20 act perm match network ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena router eigrp4 1 route-map-out p4 router eigrp6 1 route-map-out p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 4321::12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 4321::22 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 0 40 2.2.2.11 vrf v1 r2 tping 0 40 4321::11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp11.tst000066400000000000000000000043151510423065500170400ustar00rootroot00000000000000description eigrp ingress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-policy p4 if network 2.2.2.12/32 drop else pass enif exit route-policy p6 if network 4321::12/128 drop else pass enif exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena router eigrp4 1 route-policy-in p4 router eigrp6 1 route-policy-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 0 40 2.2.2.12 vrf v1 r1 tping 0 40 4321::12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 4321::22 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp12.tst000066400000000000000000000043171510423065500170430ustar00rootroot00000000000000description eigrp egress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-policy p4 if network 2.2.2.11/32 drop else pass enif exit route-policy p6 if network 4321::11/128 drop else pass enif exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena router eigrp4 1 route-policy-out p4 router eigrp6 1 route-policy-out p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 4321::12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 4321::22 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 0 40 2.2.2.11 vrf v1 r2 tping 0 40 4321::11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp13.tst000066400000000000000000000024251510423065500170420ustar00rootroot00000000000000description eigrp default route addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router eigrp4 1 ena router eigrp4 1 default router eigrp6 1 ena router eigrp6 1 default exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp14.tst000066400000000000000000000046101510423065500170410ustar00rootroot00000000000000description eigrp with bfd addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 bfd 100 100 3 router eigrp4 1 ena router eigrp4 1 bfd ipv6 addr 1234:1::1 ffff:ffff:: ipv6 bfd 100 100 3 router eigrp6 1 ena router eigrp6 1 bfd exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 bfd 100 100 3 router eigrp4 1 ena router eigrp4 1 bfd router eigrp4 1 delay-in 100 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 bfd 100 100 3 router eigrp6 1 ena router eigrp6 1 bfd router eigrp6 1 delay-in 100 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 bfd 100 100 3 router eigrp4 1 ena router eigrp4 1 bfd ipv6 addr 1234:1::2 ffff:ffff:: ipv6 bfd 100 100 3 router eigrp6 1 ena router eigrp6 1 bfd exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 bfd 100 100 3 router eigrp4 1 ena router eigrp4 1 bfd router eigrp4 1 delay-in 100 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 bfd 100 100 3 router eigrp6 1 ena router eigrp6 1 bfd router eigrp6 1 delay-in 100 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 sleep 3000 r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 send conf t r2 send int eth1 r2 send shut r2 send end r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp15.tst000066400000000000000000000026711510423065500170470ustar00rootroot00000000000000description eigrp peer template addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int temp1 vrf for v1 ipv4 addr 9.9.9.9 255.255.255.0 ipv6 addr 9999::9 ffff:: router eigrp4 1 ena router eigrp6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: temp temp1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int temp1 vrf for v1 ipv4 addr 9.9.9.9 255.255.255.0 ipv6 addr 9999::9 ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: temp temp1 exit int temp1 router eigrp4 1 ena router eigrp6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp16.tst000066400000000000000000000033541510423065500170470ustar00rootroot00000000000000description eigrp prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router eigrp4 1 ena router eigrp6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router eigrp4 1 ena router eigrp6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r1 send conf t r1 send int lo1 r1 send no router eigrp4 1 ena r1 send no router eigrp6 1 ena r1 send end r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 0 40 2.2.2.1 vrf v1 r2 tping 0 40 4321::1 vrf v1 r1 send conf t r1 send int lo1 r1 send router eigrp4 1 ena r1 send router eigrp6 1 ena r1 send end r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp17.tst000066400000000000000000000044731510423065500170530ustar00rootroot00000000000000description eigrp aggregation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena router eigrp4 1 route-map-in p4 router eigrp6 1 route-map-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 aggregate 2.2.2.0/24 red conn exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 aggregate 4321::/32 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 4321::12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 4321::22 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp18.tst000066400000000000000000000041431510423065500170460ustar00rootroot00000000000000description eigrp auto mesh tunnel addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn automesh all exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn automesh all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.0 ipv6 addr 9999::1 ffff:: router eigrp4 1 ena router eigrp6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 red conn automesh all exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 red conn automesh all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.0 ipv6 addr 9999::2 ffff:: router eigrp4 1 ena router eigrp6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit ! r1 tping 100 40 9.9.9.2 vrf v1 r1 tping 100 40 9999::2 vrf v1 r2 tping 100 40 9.9.9.1 vrf v1 r2 tping 100 40 9999::1 vrf v1 r1 tping 0 40 2.2.2.2 vrf v1 r1 tping 0 40 4321::2 vrf v1 r2 tping 0 40 2.2.2.1 vrf v1 r2 tping 0 40 4321::1 vrf v1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp19.tst000066400000000000000000000024061510423065500170470ustar00rootroot00000000000000description eigrp stub addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn stub conn exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn stub conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 red conn stub conn exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 red conn stub conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp20.tst000066400000000000000000000056201510423065500170400ustar00rootroot00000000000000description eigrp triangle connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router eigrp4 1 ena router eigrp4 1 delay-in 100 router eigrp6 1 ena router eigrp6 1 delay-in 100 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.3 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.3 as 1 red conn exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router eigrp4 1 ena router eigrp4 1 delay-in 100 router eigrp6 1 ena router eigrp6 1 delay-in 100 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp21.tst000066400000000000000000000050401510423065500170350ustar00rootroot00000000000000description eigrp autoroute addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ int ser2 ser 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit router eigrp4 1 vrf v1 router 4.4.4.1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.0 ipv6 addr 9999::1 ffff:: router eigrp4 1 ena router eigrp6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int ser2 vrf for v1 ipv4 addr 9.9.8.1 255.255.255.0 ipv6 addr 9998::1 ffff:: ipv4 autoroute eigrp4 1 2.2.2.2 9.9.8.2 ipv6 autoroute eigrp6 1 4321::2 9998::2 exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ int ser2 ser 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit router eigrp4 1 vrf v1 router 4.4.4.2 red conn exit router eigrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.0 ipv6 addr 9999::2 ffff:: router eigrp4 1 ena router eigrp6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int ser2 vrf for v1 ipv4 addr 9.9.8.2 255.255.255.0 ipv6 addr 9998::2 ffff:: ipv4 autoroute eigrp4 1 2.2.2.1 9.9.8.1 ipv6 autoroute eigrp6 1 4321::1 9998::1 exit ! r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 4321::12 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 4321::11 vrf v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r1 tping 0 40 9.9.9.2 vrf v1 r1 tping 0 40 9999::2 vrf v1 r2 tping 0 40 9.9.9.1 vrf v1 r2 tping 0 40 9999::1 vrf v1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp22.tst000066400000000000000000000024651510423065500170460ustar00rootroot00000000000000description eigrp over point2point ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.254 ipv6 addr 1234::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe router eigrp4 1 ena router eigrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.254 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe router eigrp4 1 ena router eigrp6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp23.tst000066400000000000000000000066631510423065500170530ustar00rootroot00000000000000description eigrp ecmp connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn ecmp exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:21::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.10 255.255.255.252 ipv6 addr 1234:23::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 red conn ecmp exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 red conn ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:21::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.252 ipv6 addr 1234:22::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.3 as 1 red conn ecmp exit router eigrp6 1 vrf v1 router 6.6.6.3 as 1 red conn ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.252 ipv6 addr 1234:22::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.9 255.255.255.252 ipv6 addr 1234:23::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp24.tst000066400000000000000000000037011510423065500170420ustar00rootroot00000000000000description eigrp default address suppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 suppress exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 suppress exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router eigrp4 1 ena router eigrp4 1 passiv router eigrp6 1 ena router eigrp6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router eigrp4 1 ena router eigrp4 1 passiv router eigrp6 1 ena router eigrp6 1 passiv exit int lo3 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router eigrp4 1 ena router eigrp4 1 passiv router eigrp6 1 ena router eigrp6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router eigrp4 1 ena router eigrp4 1 passiv router eigrp6 1 ena router eigrp6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! r1 tping 100 40 2.2.2.111 vrf v1 r1 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.1 vrf v1 r2 tping 0 40 2.2.2.2 vrf v1 r2 tping 0 40 2.2.2.3 vrf v1 r2 tping 0 40 4321::1 vrf v1 r2 tping 0 40 4321::2 vrf v1 r2 tping 0 40 4321::3 vrf v1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp25.tst000066400000000000000000000037671510423065500170570ustar00rootroot00000000000000description eigrp address unsuppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 suppress exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 suppress exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router eigrp4 1 ena router eigrp4 1 passiv router eigrp6 1 ena router eigrp6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router eigrp4 1 ena router eigrp4 1 passiv router eigrp4 1 unsuppress router eigrp6 1 ena router eigrp6 1 passiv router eigrp6 1 unsuppress exit int lo3 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router eigrp4 1 ena router eigrp4 1 passiv router eigrp6 1 ena router eigrp6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router eigrp4 1 ena router eigrp4 1 passiv router eigrp6 1 ena router eigrp6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! r1 tping 100 40 2.2.2.111 vrf v1 r1 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.2 vrf v1 r2 tping 0 40 2.2.2.3 vrf v1 r2 tping 0 40 4321::1 vrf v1 r2 tping 100 40 4321::2 vrf v1 r2 tping 0 40 4321::3 vrf v1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp26.tst000066400000000000000000000056461510423065500170560ustar00rootroot00000000000000description eigrp auto summarization addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena router eigrp4 1 route-map-in p4 router eigrp6 1 route-map-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 autosumm red conn exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 autosumm red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.3 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.3 as 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router eigrp4 1 ena router eigrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 4321::12 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-eigrp27.tst000066400000000000000000000026141510423065500170470ustar00rootroot00000000000000description eigrp with pmtud addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router eigrp4 1 ena router eigrp6 1 ena router eigrp4 1 ipinfo pmtud 512 1024 666 router eigrp6 1 ipinfo pmtud 512 1024 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router eigrp4 1 ena router eigrp6 1 ena router eigrp4 1 ipinfo pmtud 512 1024 666 router eigrp6 1 ipinfo pmtud 512 1024 666 exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 eigrp 1 sum r2 output show ipv6 eigrp 1 sum r2 output show ipv4 eigrp 1 rou r2 output show ipv6 eigrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis001.tst000066400000000000000000000026561510423065500167660ustar00rootroot00000000000000description isis over ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis002.tst000066400000000000000000000025631510423065500167640ustar00rootroot00000000000000description isis over ethernet vlan addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis003.tst000066400000000000000000000031551510423065500167630ustar00rootroot00000000000000description isis over ethernet bridge addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 exit bridge 2 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 bridge-gr 1 exit int eth2.12 bridge-gr 2 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int bvi2 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 exit bridge 2 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 bridge-gr 1 exit int eth2.12 bridge-gr 2 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena exit int bvi2 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis004.tst000066400000000000000000000031321510423065500167570ustar00rootroot00000000000000description isis over hdlc addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ int ser2 ser 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc hdlc vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 raw-encapsulation exit int ser2 enc hdlc vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena router isis6 1 raw-encapsulation exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ int ser2 ser 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc hdlc vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena router isis4 1 raw-encapsulation exit int ser2 enc hdlc vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 raw-encapsulation exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis005.tst000066400000000000000000000033351510423065500167650ustar00rootroot00000000000000description isis over ppp addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ int ser2 ser 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 raw-encapsulation exit int ser2 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena router isis6 1 raw-encapsulation exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ int ser2 ser 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena router isis4 1 raw-encapsulation exit int ser2 enc ppp ppp ip4cp close ppp ip6cp close vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 raw-encapsulation exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis006.tst000066400000000000000000000034401510423065500167630ustar00rootroot00000000000000description isis over framerelay addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ int ser2 ser 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc framerelay framerelay mode dce framerelay dlci 123 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 raw-encapsulation exit int ser2 enc framerelay framerelay mode dce framerelay dlci 123 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena router isis6 1 raw-encapsulation exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ int ser2 ser 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc framerelay framerelay mode dte framerelay dlci 123 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena router isis4 1 raw-encapsulation exit int ser2 enc framerelay framerelay mode dte framerelay dlci 123 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 raw-encapsulation exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis007.tst000066400000000000000000000033241510423065500167650ustar00rootroot00000000000000description isis over atmdxi addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ int ser2 ser 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 raw-encapsulation exit int ser2 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena router isis6 1 raw-encapsulation exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ int ser2 ser 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena router isis4 1 raw-encapsulation exit int ser2 enc atmdxi atmdxi vpi 1 atmdxi vci 2 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 raw-encapsulation exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis008.tst000066400000000000000000000035411510423065500167670ustar00rootroot00000000000000description isis over gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.252 ipv6 addr 9999::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 9999::2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int tun2 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 9.9.9.2 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.252 ipv6 addr 9999::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 9999::1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena exit int tun2 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 9.9.9.1 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis009.tst000066400000000000000000000063761510423065500170010ustar00rootroot00000000000000description isis narrow metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 no metric-wide is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 no metric-wide is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 no metric-wide is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 no metric-wide is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r1 tping 0 20 2.2.2.3 vrf v1 sou lo1 r1 tping 0 20 4321::3 vrf v1 sou lo1 r2 tping 0 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.3 vrf v1 r3 send conf t r3 send router isis4 1 r3 send no metric-wide r3 send end r3 send conf t r3 send router isis6 1 r3 send no metric-wide r3 send end r3 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 output ../binTmp/rout-isis.html here are the ipv4 neighbors:
show:0
here are the ipv6 neighbors:
show:1
here is the ipv4 database:
show:2
here is the ipv6 database:
show:3
here is the ipv4 tree:
show:4
here is the ipv6 tree:
show:5
here are the ipv4 routes:
show:6
here are the ipv6 routes:
show:7
! freeRtr-25.11.9/cfg/rout-isis010.tst000066400000000000000000000062211510423065500167560ustar00rootroot00000000000000description isis overload addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level1 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level1 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level1 red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 is-type level1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r2 tping 100 20 2.2.2.2 vrf v1 r2 send conf t r2 send router isis4 1 r2 send both set-over r2 send end r2 send conf t r2 send router isis6 1 r2 send both set-over r2 send end r2 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 0 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 0 20 4321::3 vrf v1 sou lo1 r3 tping 0 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 0 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis011.tst000066400000000000000000000055771510423065500167740ustar00rootroot00000000000000description isis attached addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level1 exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level1 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level1 red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 is-type level1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 0 20 4321::1 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 0 20 2.2.2.1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 0 20 4321::1 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 send conf t r1 send router isis4 1 r1 send both set-atta r1 send end r1 send conf t r1 send router isis6 1 r1 send both set-atta r1 send end r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 4321::2 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis012.tst000066400000000000000000000050271510423065500167630ustar00rootroot00000000000000description isis chain of broadcast nets addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena router isis4 1 net broad exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena router isis6 1 net broad exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena router isis4 1 net broad exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena router isis6 1 net broad exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena router isis4 1 net broad exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena router isis6 1 net broad exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena router isis4 1 net broad exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena router isis6 1 net broad exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 4321::2 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis013.tst000066400000000000000000000053651510423065500167710ustar00rootroot00000000000000description isis broadcast subnet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit bridge 2 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 bridge-gr 1 exit int eth1.12 bridge-gr 2 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 net broad exit int bvi2 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena router isis6 1 net broad exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit bridge 2 mac-learn exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 bridge-gr 1 exit int eth1.12 bridge-gr 2 exit int eth2.11 bridge-gr 1 exit int eth2.12 bridge-gr 2 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena router isis4 1 net broad exit int bvi2 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 net broad exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 exit bridge 2 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 bridge-gr 1 exit int eth1.12 bridge-gr 2 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 router isis4 1 ena router isis4 1 net broad exit int bvi2 vrf for v1 ipv6 addr 1234::3 ffff:: router isis6 1 ena router isis6 1 net broad exit ! r1 tping 100 20 2.2.2.1 vrf v1 sou lo1 r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis014.tst000066400000000000000000000137711510423065500167720ustar00rootroot00000000000000description isis updown bit addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 is-type level1 red conn exit router isis6 1 vrf v1 net 11.6666.0000.1111.00 is-type level1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 11.4444.0000.2222.00 is-type both red conn exit router isis6 1 vrf v1 net 11.6666.0000.2222.00 is-type both red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 is-type both red conn exit router isis6 1 vrf v1 net 22.6666.0000.3333.00 is-type both red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:3::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.4444.00 is-type level1 red conn exit router isis6 1 vrf v1 net 22.6666.0000.4444.00 is-type level1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:3::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:4::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ int eth2 eth 0000.0000.5555 $5a$ $5b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.5555.00 is-type both red conn exit router isis6 1 vrf v1 net 22.6666.0000.5555.00 is-type both red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:4::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.17 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:5::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 33.4444.0000.6666.00 is-type level2 red conn exit router isis6 1 vrf v1 net 33.6666.0000.6666.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.18 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:5::2 ffff:ffff:: router isis6 1 ena exit ! r5 tping 100 20 2.2.2.1 vrf v1 r5 tping 100 20 2.2.2.2 vrf v1 r5 tping 100 20 2.2.2.3 vrf v1 r5 tping 100 20 2.2.2.4 vrf v1 r5 tping 100 20 2.2.2.6 vrf v1 r5 tping 100 20 4321::1 vrf v1 r5 tping 100 20 4321::2 vrf v1 r5 tping 100 20 4321::3 vrf v1 r5 tping 100 20 4321::4 vrf v1 r5 tping 100 20 4321::6 vrf v1 r6 tping 0 20 2.2.2.1 vrf v1 r6 tping 0 20 2.2.2.2 vrf v1 r6 tping 100 20 2.2.2.3 vrf v1 r6 tping 100 20 2.2.2.4 vrf v1 r6 tping 100 20 2.2.2.5 vrf v1 r6 tping 0 20 4321::1 vrf v1 r6 tping 0 20 4321::2 vrf v1 r6 tping 100 20 4321::3 vrf v1 r6 tping 100 20 4321::4 vrf v1 r6 tping 100 20 4321::5 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 2.2.2.4 vrf v1 r2 tping 100 20 2.2.2.5 vrf v1 r2 tping 0 20 2.2.2.6 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 4321::3 vrf v1 r2 tping 100 20 4321::4 vrf v1 r2 tping 100 20 4321::5 vrf v1 r2 tping 0 20 4321::6 vrf v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 2.2.2.4 vrf v1 r1 tping 100 20 2.2.2.5 vrf v1 r1 tping 0 20 2.2.2.6 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 4321::3 vrf v1 r1 tping 100 20 4321::4 vrf v1 r1 tping 100 20 4321::5 vrf v1 r1 tping 0 20 4321::6 vrf v1 r4 tping 100 20 2.2.2.1 vrf v1 r4 tping 100 20 2.2.2.2 vrf v1 r4 tping 100 20 2.2.2.3 vrf v1 r4 tping 100 20 2.2.2.5 vrf v1 r4 tping 100 20 2.2.2.6 vrf v1 r4 tping 100 20 4321::1 vrf v1 r4 tping 100 20 4321::2 vrf v1 r4 tping 100 20 4321::3 vrf v1 r4 tping 100 20 4321::5 vrf v1 r4 tping 100 20 4321::6 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 2.2.2.4 vrf v1 r3 tping 100 20 2.2.2.5 vrf v1 r3 tping 100 20 2.2.2.6 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 4321::2 vrf v1 r3 tping 100 20 4321::4 vrf v1 r3 tping 100 20 4321::5 vrf v1 r3 tping 100 20 4321::6 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis015.tst000066400000000000000000000143141510423065500167650ustar00rootroot00000000000000description isis updown bit with narrow metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 is-type level1 no metric-wide red conn exit router isis6 1 vrf v1 net 11.6666.0000.1111.00 is-type level1 no metric-wide red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 11.4444.0000.2222.00 is-type both no metric-wide red conn exit router isis6 1 vrf v1 net 11.6666.0000.2222.00 is-type both no metric-wide red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 is-type both no metric-wide red conn exit router isis6 1 vrf v1 net 22.6666.0000.3333.00 is-type both no metric-wide red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:3::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.4444.00 is-type level1 no metric-wide red conn exit router isis6 1 vrf v1 net 22.6666.0000.4444.00 is-type level1 no metric-wide red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:3::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:4::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ int eth2 eth 0000.0000.5555 $5a$ $5b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.5555.00 is-type both no metric-wide red conn exit router isis6 1 vrf v1 net 22.6666.0000.5555.00 is-type both no metric-wide red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:4::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.17 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:5::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 33.4444.0000.6666.00 is-type level2 no metric-wide red conn exit router isis6 1 vrf v1 net 33.6666.0000.6666.00 is-type level2 no metric-wide red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.18 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:5::2 ffff:ffff:: router isis6 1 ena exit ! r5 tping 100 20 2.2.2.1 vrf v1 r5 tping 100 20 2.2.2.2 vrf v1 r5 tping 100 20 2.2.2.3 vrf v1 r5 tping 100 20 2.2.2.4 vrf v1 r5 tping 100 20 2.2.2.6 vrf v1 r5 tping 100 20 4321::1 vrf v1 r5 tping 100 20 4321::2 vrf v1 r5 tping 100 20 4321::3 vrf v1 r5 tping 100 20 4321::4 vrf v1 r5 tping 100 20 4321::6 vrf v1 r6 tping 0 20 2.2.2.1 vrf v1 r6 tping 0 20 2.2.2.2 vrf v1 r6 tping 100 20 2.2.2.3 vrf v1 r6 tping 100 20 2.2.2.4 vrf v1 r6 tping 100 20 2.2.2.5 vrf v1 r6 tping 0 20 4321::1 vrf v1 r6 tping 0 20 4321::2 vrf v1 r6 tping 100 20 4321::3 vrf v1 r6 tping 100 20 4321::4 vrf v1 r6 tping 100 20 4321::5 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 2.2.2.4 vrf v1 r2 tping 100 20 2.2.2.5 vrf v1 r2 tping 0 20 2.2.2.6 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 4321::3 vrf v1 r2 tping 100 20 4321::4 vrf v1 r2 tping 100 20 4321::5 vrf v1 r2 tping 0 20 4321::6 vrf v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 2.2.2.4 vrf v1 r1 tping 100 20 2.2.2.5 vrf v1 r1 tping 0 20 2.2.2.6 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 4321::3 vrf v1 r1 tping 100 20 4321::4 vrf v1 r1 tping 100 20 4321::5 vrf v1 r1 tping 0 20 4321::6 vrf v1 r4 tping 100 20 2.2.2.1 vrf v1 r4 tping 100 20 2.2.2.2 vrf v1 r4 tping 100 20 2.2.2.3 vrf v1 r4 tping 100 20 2.2.2.5 vrf v1 r4 tping 100 20 2.2.2.6 vrf v1 r4 tping 100 20 4321::1 vrf v1 r4 tping 100 20 4321::2 vrf v1 r4 tping 100 20 4321::3 vrf v1 r4 tping 100 20 4321::5 vrf v1 r4 tping 100 20 4321::6 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 2.2.2.4 vrf v1 r3 tping 100 20 2.2.2.5 vrf v1 r3 tping 100 20 2.2.2.6 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 4321::2 vrf v1 r3 tping 100 20 4321::4 vrf v1 r3 tping 100 20 4321::5 vrf v1 r3 tping 100 20 4321::6 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis016.tst000066400000000000000000000036521510423065500167710ustar00rootroot00000000000000description isis address suppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 exit int lo11 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 router isis4 1 ena router isis4 1 passive exit int lo12 vrf for v1 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 passive exit int lo21 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 router isis4 1 ena router isis4 1 passive router isis4 1 suppress-pref exit int lo22 vrf for v1 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 passive router isis6 1 suppress-pref exit int lo31 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 passive exit int lo32 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 passive exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena exit ! r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 0 20 2.2.2.2 vrf v1 r2 tping 0 20 4321::2 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis017.tst000066400000000000000000000046321510423065500167710ustar00rootroot00000000000000description isis inter-level routes addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 11.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 is-type both red conn exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 is-type both red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 is-type level1 red conn exit router isis6 1 vrf v1 net 22.6666.0000.3333.00 is-type level1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis018.tst000066400000000000000000000027641510423065500167760ustar00rootroot00000000000000description isis text authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 password tester exit int eth1.12 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena router isis6 1 password tester exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena router isis4 1 password tester exit int eth1.12 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 password tester exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis019.tst000066400000000000000000000065511510423065500167750ustar00rootroot00000000000000description isis intra level metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 11.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena router isis4 1 metric 100 exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena router isis6 1 metric 100 exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 exit router isis6 1 vrf v1 net 22.6666.0000.3333.00 exit int lo11 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 passive exit int lo12 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 passive exit int lo21 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 router isis4 1 ena router isis4 1 passive exit int lo22 vrf for v1 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 passive exit int lo3 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit server telnet tel vrf v1 port 666 exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r2 tping 100 40 2.2.2.111 vrf v1 r2 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.222 vrf v1 r2 tping 0 40 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis020.tst000066400000000000000000000065601510423065500167650ustar00rootroot00000000000000description isis external metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 100 exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 red conn route-map rm1 exit router isis6 1 vrf v1 net 11.6666.0000.1111.00 red conn route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 exit router isis6 1 vrf v1 net 22.6666.0000.3333.00 exit int lo11 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 passive exit int lo12 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 passive exit int lo21 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 router isis4 1 ena router isis4 1 passive exit int lo22 vrf for v1 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 passive exit int lo3 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit server telnet tel vrf v1 port 666 exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r2 tping 100 40 2.2.2.111 vrf v1 r2 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.222 vrf v1 r2 tping 0 40 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis021.tst000066400000000000000000000067261510423065500167720ustar00rootroot00000000000000description isis external narrow metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 30 exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 no metric-wide red conn route-map rm1 exit router isis6 1 vrf v1 net 11.6666.0000.1111.00 no metric-wide red conn route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 no metric-wide red conn exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 no metric-wide red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 no metric-wide exit router isis6 1 vrf v1 net 22.6666.0000.3333.00 no metric-wide exit int lo11 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 passive exit int lo12 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 passive exit int lo21 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 router isis4 1 ena router isis4 1 passive exit int lo22 vrf for v1 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 passive exit int lo3 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit server telnet tel vrf v1 port 666 exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r2 tping 100 40 2.2.2.111 vrf v1 r2 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.222 vrf v1 r2 tping 0 40 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis022.tst000066400000000000000000000066721510423065500167730ustar00rootroot00000000000000description isis external metric vs intra level metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 100 exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 red conn route-map rm1 exit router isis6 1 vrf v1 net 11.6666.0000.1111.00 red conn route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena router isis4 1 metric 50 exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena router isis6 1 metric 50 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 exit router isis6 1 vrf v1 net 22.6666.0000.3333.00 exit int lo11 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 passive exit int lo12 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 passive exit int lo21 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 router isis4 1 ena router isis4 1 passive exit int lo22 vrf for v1 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 passive exit int lo3 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit server telnet tel vrf v1 port 666 exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r2 tping 100 40 2.2.2.111 vrf v1 r2 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.222 vrf v1 r2 tping 0 40 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis023.tst000066400000000000000000000065771510423065500170000ustar00rootroot00000000000000description isis inter level ingress filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 22.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit prefix-list p4 sequence 10 deny 2.2.2.8/29 le 32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::10/124 le 128 sequence 20 permit ::/0 le 128 exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 is-type both red conn both prefix-list-from p4 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 is-type both red conn both prefix-list-from p6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 is-type level1 red conn exit router isis6 1 vrf v1 net 22.6666.0000.3333.00 is-type level1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.12 vrf v1 r1 tping 100 20 4321::12 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 0 20 4321::13 vrf v1 r2 tping 0 20 2.2.2.11 vrf v1 r2 tping 0 20 4321::11 vrf v1 r2 tping 0 20 2.2.2.13 vrf v1 r2 tping 0 20 4321::13 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 100 20 2.2.2.12 vrf v1 r3 tping 100 20 4321::12 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis024.tst000066400000000000000000000065761510423065500170000ustar00rootroot00000000000000description isis inter level egress filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 22.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit prefix-list p4 sequence 10 deny 2.2.2.8/29 le 32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::10/124 le 128 sequence 20 permit ::/0 le 128 exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 is-type both red conn both prefix-list-into p4 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 is-type both red conn both prefix-list-into p6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 is-type level1 red conn exit router isis6 1 vrf v1 net 22.6666.0000.3333.00 is-type level1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 tping 0 20 2.2.2.12 vrf v1 r1 tping 0 20 4321::12 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 0 20 4321::13 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 4321::13 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 0 20 2.2.2.12 vrf v1 r3 tping 0 20 4321::12 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis025.tst000066400000000000000000000067011510423065500167670ustar00rootroot00000000000000description isis inter level ingress filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 22.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map p4 sequence 10 act deny match network 2.2.2.8/29 le 32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::10/124 le 128 sequence 20 act perm match network ::/0 le 128 exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 is-type both red conn both route-map-from p4 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 is-type both red conn both route-map-from p6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 is-type level1 red conn exit router isis6 1 vrf v1 net 22.6666.0000.3333.00 is-type level1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.12 vrf v1 r1 tping 100 20 4321::12 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 0 20 4321::13 vrf v1 r2 tping 0 20 2.2.2.11 vrf v1 r2 tping 0 20 4321::11 vrf v1 r2 tping 0 20 2.2.2.13 vrf v1 r2 tping 0 20 4321::13 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 100 20 2.2.2.12 vrf v1 r3 tping 100 20 4321::12 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis026.tst000066400000000000000000000067001510423065500167670ustar00rootroot00000000000000description isis inter level egress filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 22.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map p4 sequence 10 act deny match network 2.2.2.8/29 le 32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::10/124 le 128 sequence 20 act perm match network ::/0 le 128 exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 is-type both red conn both route-map-into p4 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 is-type both red conn both route-map-into p6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 is-type level1 red conn exit router isis6 1 vrf v1 net 22.6666.0000.3333.00 is-type level1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 tping 0 20 2.2.2.12 vrf v1 r1 tping 0 20 4321::12 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 0 20 4321::13 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 4321::13 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 0 20 2.2.2.12 vrf v1 r3 tping 0 20 4321::12 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis027.tst000066400000000000000000000065501510423065500167730ustar00rootroot00000000000000description isis inter level ingress filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 22.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-policy p4 if network 2.2.2.8/29 le 32 drop else pass enif exit route-policy p6 if network 4321::10/124 le 128 drop else pass enif exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 is-type both red conn both route-policy-from p4 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 is-type both red conn both route-policy-from p6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 is-type level1 red conn exit router isis6 1 vrf v1 net 22.6666.0000.3333.00 is-type level1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.12 vrf v1 r1 tping 100 20 4321::12 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 0 20 4321::13 vrf v1 r2 tping 0 20 2.2.2.11 vrf v1 r2 tping 0 20 4321::11 vrf v1 r2 tping 0 20 2.2.2.13 vrf v1 r2 tping 0 20 4321::13 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 100 20 2.2.2.12 vrf v1 r3 tping 100 20 4321::12 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis028.tst000066400000000000000000000065471510423065500170020ustar00rootroot00000000000000description isis inter level egress filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 22.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-policy p4 if network 2.2.2.8/29 le 32 drop else pass enif exit route-policy p6 if network 4321::10/124 le 128 drop else pass enif exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 is-type both red conn both route-policy-into p4 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 is-type both red conn both route-policy-into p6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 is-type level1 red conn exit router isis6 1 vrf v1 net 22.6666.0000.3333.00 is-type level1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 tping 0 20 2.2.2.12 vrf v1 r1 tping 0 20 4321::12 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 0 20 4321::13 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 4321::13 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 0 20 2.2.2.12 vrf v1 r3 tping 0 20 4321::12 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis029.tst000066400000000000000000000025661510423065500170000ustar00rootroot00000000000000description isis default route addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both default exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 both default exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis030.tst000066400000000000000000000050731510423065500167640ustar00rootroot00000000000000description isis with bfd addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 bfd 100 100 3 router isis4 1 ena router isis4 1 bfd exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 bfd 100 100 3 router isis6 1 ena router isis6 1 bfd exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 bfd 100 100 3 router isis4 1 ena router isis4 1 bfd router isis4 1 metric 100 exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 bfd 100 100 3 router isis6 1 ena router isis6 1 bfd router isis6 1 metric 100 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 bfd 100 100 3 router isis4 1 ena router isis4 1 bfd exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 bfd 100 100 3 router isis6 1 ena router isis6 1 bfd exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 bfd 100 100 3 router isis4 1 ena router isis4 1 bfd router isis4 1 metric 100 exit int eth2.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 bfd 100 100 3 router isis6 1 ena router isis6 1 bfd router isis6 1 metric 100 exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 sleep 3000 r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 send conf t r2 send int eth1 r2 send shut r2 send end r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis031.tst000066400000000000000000000027621510423065500167670ustar00rootroot00000000000000description isis with te addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 traffeng 4.4.4.1 both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 traffeng 6.6.6.1 both traff red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 traffeng 4.4.4.2 both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 traffeng 6.6.6.1 both traff red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis032.tst000066400000000000000000000033441510423065500167650ustar00rootroot00000000000000description isis peer template addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int temp1 vrf for v1 ipv4 addr 9.9.9.9 255.255.255.0 router isis4 1 ena exit int temp2 vrf for v1 ipv6 addr 9999::9 ffff:: router isis6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 temp temp1 exit int eth2 vrf for v1 ipv6 addr 1234::1 ffff:: temp temp2 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int temp1 vrf for v1 ipv4 addr 9.9.9.9 255.255.255.0 exit int temp2 vrf for v1 ipv6 addr 9999::9 ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 temp temp1 exit int eth2 vrf for v1 ipv6 addr 1234::2 ffff:: temp temp2 exit int temp1 router isis4 1 ena exit int temp2 router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis033.tst000066400000000000000000000052121510423065500167620ustar00rootroot00000000000000description isis chain of broadcast nets with narrow metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 no metric-wide red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 no metric-wide red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena router isis4 1 net broad exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena router isis6 1 net broad exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 no metric-wide red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 no metric-wide red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena router isis4 1 net broad exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena router isis6 1 net broad exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena router isis4 1 net broad exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena router isis6 1 net broad exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 no metric-wide red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 no metric-wide red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena router isis4 1 net broad exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena router isis6 1 net broad exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 4321::2 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis034.tst000066400000000000000000000055501510423065500167700ustar00rootroot00000000000000description isis broadcast subnet with narrow metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit bridge 2 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 no metric-wide red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 no metric-wide red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 bridge-gr 1 exit int eth1.12 bridge-gr 2 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 net broad exit int bvi2 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena router isis6 1 net broad exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit bridge 2 mac-learn exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 no metric-wide red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 no metric-wide red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 bridge-gr 1 exit int eth1.12 bridge-gr 2 exit int eth2.11 bridge-gr 1 exit int eth2.12 bridge-gr 2 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena router isis4 1 net broad exit int bvi2 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 net broad exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 exit bridge 2 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 no metric-wide red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 no metric-wide red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 bridge-gr 1 exit int eth1.12 bridge-gr 2 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 router isis4 1 ena router isis4 1 net broad exit int bvi2 vrf for v1 ipv6 addr 1234::3 ffff:: router isis6 1 ena router isis6 1 net broad exit ! r1 tping 100 20 2.2.2.1 vrf v1 sou lo1 r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis035.tst000066400000000000000000000052051510423065500167660ustar00rootroot00000000000000description isis multi-topology addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 multi-topology red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 multi-topology red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 multi-topology red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 multi-topology red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r1 tping 0 20 2.2.2.3 vrf v1 sou lo1 r1 tping 0 20 4321::3 vrf v1 sou lo1 r2 tping 0 20 2.2.2.3 vrf v1 sou lo1 r2 tping 0 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.3 vrf v1 r3 send conf t r3 send router isis4 1 r3 send multi-topology r3 send end r3 send conf t r3 send router isis6 1 r3 send multi-topology r3 send end r3 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis036.tst000066400000000000000000000143151510423065500167710ustar00rootroot00000000000000description isis updown bit with multi-topology addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 is-type level1 multi-topology red conn exit router isis6 1 vrf v1 net 11.6666.0000.1111.00 is-type level1 multi-topology red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 11.4444.0000.2222.00 is-type both multi-topology red conn exit router isis6 1 vrf v1 net 11.6666.0000.2222.00 is-type both multi-topology red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 is-type both multi-topology red conn exit router isis6 1 vrf v1 net 22.6666.0000.3333.00 is-type both multi-topology red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:3::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.4444.00 is-type level1 multi-topology red conn exit router isis6 1 vrf v1 net 22.6666.0000.4444.00 is-type level1 multi-topology red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:3::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:4::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ int eth2 eth 0000.0000.5555 $5a$ $5b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.5555.00 is-type both multi-topology red conn exit router isis6 1 vrf v1 net 22.6666.0000.5555.00 is-type both multi-topology red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:4::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.17 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:5::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 33.4444.0000.6666.00 is-type level2 multi-topology red conn exit router isis6 1 vrf v1 net 33.6666.0000.6666.00 is-type level2 multi-topology red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.18 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:5::2 ffff:ffff:: router isis6 1 ena exit ! r5 tping 100 20 2.2.2.1 vrf v1 r5 tping 100 20 2.2.2.2 vrf v1 r5 tping 100 20 2.2.2.3 vrf v1 r5 tping 100 20 2.2.2.4 vrf v1 r5 tping 100 20 2.2.2.6 vrf v1 r5 tping 100 20 4321::1 vrf v1 r5 tping 100 20 4321::2 vrf v1 r5 tping 100 20 4321::3 vrf v1 r5 tping 100 20 4321::4 vrf v1 r5 tping 100 20 4321::6 vrf v1 r6 tping 0 20 2.2.2.1 vrf v1 r6 tping 0 20 2.2.2.2 vrf v1 r6 tping 100 20 2.2.2.3 vrf v1 r6 tping 100 20 2.2.2.4 vrf v1 r6 tping 100 20 2.2.2.5 vrf v1 r6 tping 0 20 4321::1 vrf v1 r6 tping 0 20 4321::2 vrf v1 r6 tping 100 20 4321::3 vrf v1 r6 tping 100 20 4321::4 vrf v1 r6 tping 100 20 4321::5 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 2.2.2.4 vrf v1 r2 tping 100 20 2.2.2.5 vrf v1 r2 tping 0 20 2.2.2.6 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 4321::3 vrf v1 r2 tping 100 20 4321::4 vrf v1 r2 tping 100 20 4321::5 vrf v1 r2 tping 0 20 4321::6 vrf v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 2.2.2.4 vrf v1 r1 tping 100 20 2.2.2.5 vrf v1 r1 tping 0 20 2.2.2.6 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 4321::3 vrf v1 r1 tping 100 20 4321::4 vrf v1 r1 tping 100 20 4321::5 vrf v1 r1 tping 0 20 4321::6 vrf v1 r4 tping 100 20 2.2.2.1 vrf v1 r4 tping 100 20 2.2.2.2 vrf v1 r4 tping 100 20 2.2.2.3 vrf v1 r4 tping 100 20 2.2.2.5 vrf v1 r4 tping 100 20 2.2.2.6 vrf v1 r4 tping 100 20 4321::1 vrf v1 r4 tping 100 20 4321::2 vrf v1 r4 tping 100 20 4321::3 vrf v1 r4 tping 100 20 4321::5 vrf v1 r4 tping 100 20 4321::6 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 2.2.2.4 vrf v1 r3 tping 100 20 2.2.2.5 vrf v1 r3 tping 100 20 2.2.2.6 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 4321::2 vrf v1 r3 tping 100 20 4321::4 vrf v1 r3 tping 100 20 4321::5 vrf v1 r3 tping 100 20 4321::6 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis037.tst000066400000000000000000000067271510423065500170020ustar00rootroot00000000000000description isis external multi-topology addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 30 exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 multi-topology red conn route-map rm1 exit router isis6 1 vrf v1 net 11.6666.0000.1111.00 multi-topology red conn route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 multi-topology red conn exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 multi-topology red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 multi-topology exit router isis6 1 vrf v1 net 22.6666.0000.3333.00 multi-topology exit int lo11 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 passive exit int lo12 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 passive exit int lo21 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 router isis4 1 ena router isis4 1 passive exit int lo22 vrf for v1 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 passive exit int lo3 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit server telnet tel vrf v1 port 666 exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r2 tping 100 40 2.2.2.111 vrf v1 r2 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.222 vrf v1 r2 tping 0 40 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis038.tst000066400000000000000000000031011510423065500167620ustar00rootroot00000000000000description isis multi-topology with te addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 traffeng 4.4.4.1 multi-topology both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 traffeng 6.6.6.1 multi-topology both traff red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 traffeng 4.4.4.2 multi-topology both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 traffeng 6.6.6.1 multi-topology both traff red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis039.tst000066400000000000000000000052131510423065500167710ustar00rootroot00000000000000description isis chain of broadcast nets with multi-topology addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 multi-topology red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 multi-topology red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena router isis4 1 net broad exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena router isis6 1 net broad exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 multi-topology red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 multi-topology red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena router isis4 1 net broad exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena router isis6 1 net broad exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena router isis4 1 net broad exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena router isis6 1 net broad exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 multi-topology red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 multi-topology red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena router isis4 1 net broad exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena router isis6 1 net broad exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 4321::2 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis040.tst000066400000000000000000000055511510423065500167660ustar00rootroot00000000000000description isis broadcast subnet with multi-topology addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit bridge 2 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 multi-topology red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 multi-topology red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 bridge-gr 1 exit int eth1.12 bridge-gr 2 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 net broad exit int bvi2 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena router isis6 1 net broad exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit bridge 2 mac-learn exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 multi-topology red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 multi-topology red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 bridge-gr 1 exit int eth1.12 bridge-gr 2 exit int eth2.11 bridge-gr 1 exit int eth2.12 bridge-gr 2 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena router isis4 1 net broad exit int bvi2 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 net broad exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 exit bridge 2 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 multi-topology red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 multi-topology red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 bridge-gr 1 exit int eth1.12 bridge-gr 2 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 router isis4 1 ena router isis4 1 net broad exit int bvi2 vrf for v1 ipv6 addr 1234::3 ffff:: router isis6 1 ena router isis6 1 net broad exit ! r1 tping 100 20 2.2.2.1 vrf v1 sou lo1 r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis041.tst000066400000000000000000000102751510423065500167660ustar00rootroot00000000000000description isis with sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 traffeng 4.4.4.1 segrout 10 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 traffeng 6.6.6.1 segrout 10 both segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 1 router isis4 1 segrout node exit int lo2 vrf for v1 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 1 router isis6 1 segrout node exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 traffeng 4.4.4.2 segrout 10 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 traffeng 6.6.6.2 segrout 10 both segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 2 router isis4 1 segrout node exit int lo2 vrf for v1 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 2 router isis6 1 segrout node exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 traffeng 4.4.4.3 segrout 10 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 is-type level2 traffeng 6.6.6.3 segrout 10 both segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 3 router isis4 1 segrout node exit int lo2 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 3 router isis6 1 segrout node exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo2 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo2 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo2 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo2 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo2 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo2 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 segrou v1 r2 output show ipv6 segrou v1 freeRtr-25.11.9/cfg/rout-isis042.tst000066400000000000000000000103051510423065500167610ustar00rootroot00000000000000description isis inter-level with sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 is-type level2 traffeng 4.4.4.1 segrout 10 both segrout red conn exit router isis6 1 vrf v1 net 11.6666.0000.1111.00 is-type level2 traffeng 6.6.6.1 segrout 10 both segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 1 router isis4 1 segrout node exit int lo2 vrf for v1 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 1 router isis6 1 segrout node exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 is-type both traffeng 4.4.4.2 segrout 10 both segrout red conn exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 is-type both traffeng 6.6.6.2 segrout 10 both segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 2 router isis4 1 segrout node exit int lo2 vrf for v1 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 2 router isis6 1 segrout node exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 is-type level1 traffeng 4.4.4.3 segrout 10 both segrout red conn exit router isis6 1 vrf v1 net 22.6666.0000.3333.00 is-type level1 traffeng 6.6.6.3 segrout 10 both segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 3 router isis4 1 segrout node exit int lo2 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 3 router isis6 1 segrout node exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo2 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo2 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo2 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo2 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo2 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo2 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 segrou v1 r2 output show ipv6 segrou v1 freeRtr-25.11.9/cfg/rout-isis043.tst000066400000000000000000000104541510423065500167670ustar00rootroot00000000000000description isis multi-topology with sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 multi-topology is-type level2 traffeng 4.4.4.1 segrout 10 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 multi-topology is-type level2 traffeng 6.6.6.1 segrout 10 both segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 1 router isis4 1 segrout node exit int lo2 vrf for v1 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 1 router isis6 1 segrout node exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 multi-topology is-type level2 traffeng 4.4.4.2 segrout 10 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 multi-topology is-type level2 traffeng 6.6.6.2 segrout 10 both segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 2 router isis4 1 segrout node exit int lo2 vrf for v1 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 2 router isis6 1 segrout node exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 multi-topology is-type level2 traffeng 4.4.4.3 segrout 10 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 multi-topology is-type level2 traffeng 6.6.6.3 segrout 10 both segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 3 router isis4 1 segrout node exit int lo2 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 3 router isis6 1 segrout node exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo2 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo2 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo2 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo2 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo2 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo2 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 segrou v1 r2 output show ipv6 segrou v1 freeRtr-25.11.9/cfg/rout-isis044.tst000066400000000000000000000037311510423065500167700ustar00rootroot00000000000000description isis prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 exit router isis6 1 vrf v1 net 11.6666.0000.1111.00 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 router isis4 1 ena exit int lo2 vrf for v1 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 router isis4 1 ena exit int lo2 vrf for v1 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r1 send conf t r1 send int lo1 r1 send no router isis4 1 ena r1 send exit r1 send int lo2 r1 send no router isis6 1 ena r1 send end r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r2 tping 0 20 4321::1 vrf v1 r1 send conf t r1 send int lo1 r1 send router isis4 1 ena r1 send exit r1 send int lo2 r1 send router isis6 1 ena r1 send end r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis045.tst000066400000000000000000000067711510423065500170000ustar00rootroot00000000000000description isis change in metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 1000 exit router isis4 1 vrf v1 net 22.4444.0000.1111.00 red conn route-map rm1 exit router isis6 1 vrf v1 net 22.6666.0000.1111.00 red conn route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map rm1 sequence 10 act deny sequence 10 match metric 2000-4000 sequence 20 act perm exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 red conn both route-map-from rm1 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 red conn both route-map-from rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 red conn exit router isis6 1 vrf v1 net 22.6666.0000.3333.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 3000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r2 tping 0 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 0 20 2.2.2.1 vrf v1 r3 tping 0 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 5000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis046.tst000066400000000000000000000067321510423065500167760ustar00rootroot00000000000000description isis aggregate addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 22.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map p4 sequence 10 act deny match network 2.2.2.8/29 le 32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::10/124 le 128 sequence 20 act perm match network ::/0 le 128 exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 is-type both aggregate 2.2.2.0/24 red conn both route-map-into p4 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 is-type both aggregate 4321::/32 red conn both route-map-into p6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 is-type level1 red conn exit router isis6 1 vrf v1 net 22.6666.0000.3333.00 is-type level1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.12 vrf v1 r1 tping 100 20 4321::12 vrf v1 r1 tping 100 20 2.2.2.13 vrf v1 r1 tping 100 20 4321::13 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 4321::13 vrf v1 r3 tping 100 20 2.2.2.11 vrf v1 r3 tping 100 20 4321::11 vrf v1 r3 tping 100 20 2.2.2.12 vrf v1 r3 tping 100 20 4321::12 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis047.tst000066400000000000000000000045101510423065500167670ustar00rootroot00000000000000description isis auto mesh tunnel addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ int ser2 ser 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn automesh all exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn automesh all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.0 router isis4 1 ena ipv4 access-group-in test4 mpls enable mpls rsvp4 exit int ser2 vrf for v1 ipv6 addr 9999::1 ffff:: router isis6 1 ena ipv6 access-group-in test6 mpls enable mpls rsvp6 exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ int ser2 ser 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn automesh all exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn automesh all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.0 router isis4 1 ena ipv4 access-group-in test4 mpls enable mpls rsvp4 exit int ser2 vrf for v1 ipv6 addr 9999::2 ffff:: router isis6 1 ena ipv6 access-group-in test6 mpls enable mpls rsvp6 exit ! r1 tping 100 20 9.9.9.2 vrf v1 r1 tping 100 20 9999::2 vrf v1 r2 tping 100 20 9.9.9.1 vrf v1 r2 tping 100 20 9999::1 vrf v1 r1 tping 0 20 2.2.2.2 vrf v1 r1 tping 0 20 4321::2 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r2 tping 0 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis048.tst000066400000000000000000000062211510423065500167710ustar00rootroot00000000000000description isis triangle connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 11.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 router isis4 1 ena router isis4 1 metric 100 exit int eth2.12 vrf for v1 ipv6 addr 1234:3::2 ffff:ffff:: router isis6 1 ena router isis6 1 metric 100 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 red conn exit router isis6 1 vrf v1 net 22.6666.0000.3333.00 red conn exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 router isis4 1 ena router isis4 1 metric 100 ipv4 access-group-in test4 exit int eth2.12 vrf for v1 ipv6 addr 1234:3::1 ffff:ffff:: router isis6 1 ena router isis6 1 metric 100 ipv6 access-group-in test6 exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis049.tst000066400000000000000000000137451510423065500170030ustar00rootroot00000000000000description isis prefix movement addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 10 exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 advertise 2.2.2.1/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router isis6 1 vrf v1 net 11.6666.0000.1111.00 advertise 4321::1/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 advertise 2.2.2.2/32 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 advertise 4321::2/128 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 router isis4 1 ena exit int lo2 vrf for v1 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 20 exit router isis4 1 vrf v1 net 33.4444.0000.3333.00 advertise 2.2.2.3/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router isis6 1 vrf v1 net 33.6666.0000.3333.00 advertise 4321::3/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 2.2.2.222 vrf v1 r1 tping 100 40 4321::222 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 tping 100 40 4321::222 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 2.2.2.3 vrf v1 r3 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.222 vrf v1 r3 tping 100 40 4321::222 vrf v1 r2 tping 0 40 2.2.2.101 vrf v1 r2 tping 0 40 4321::101 vrf v1 r2 tping 0 40 2.2.2.103 vrf v1 r2 tping 0 40 4321::103 vrf v1 r2 send telnet 2.2.2.222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r2 send telnet 4321::222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 30 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 2.2.2.222 vrf v1 r1 tping 100 40 4321::222 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 tping 100 40 4321::222 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 2.2.2.3 vrf v1 r3 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.222 vrf v1 r3 tping 100 40 4321::222 vrf v1 r2 tping 0 40 2.2.2.101 vrf v1 r2 tping 0 40 4321::101 vrf v1 r2 tping 0 40 2.2.2.103 vrf v1 r2 tping 0 40 4321::103 vrf v1 r2 send telnet 2.2.2.222 666 vrf v1 r2 tping 100 40 2.2.2.103 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.103 vrf v1 r2 send telnet 4321::222 666 vrf v1 r2 tping 100 40 2.2.2.103 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.103 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 10 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 2.2.2.222 vrf v1 r1 tping 100 40 4321::222 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 tping 100 40 4321::222 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 2.2.2.3 vrf v1 r3 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.222 vrf v1 r3 tping 100 40 4321::222 vrf v1 r2 tping 0 40 2.2.2.101 vrf v1 r2 tping 0 40 4321::101 vrf v1 r2 tping 0 40 2.2.2.103 vrf v1 r2 tping 0 40 4321::103 vrf v1 r2 send telnet 2.2.2.222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r2 send telnet 4321::222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis050.tst000066400000000000000000000105141510423065500167620ustar00rootroot00000000000000description isis with bier addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 bier 256 10 both bier red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 bier 256 10 both bier red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 router isis4 1 ena router isis4 1 bier index 1 exit int lo2 vrf for v1 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 bier index 1 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 tun sou lo2 tun dest 9999::9 tun doma 4321::3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 bier 256 10 both bier red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 bier 256 10 both bier red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 router isis4 1 ena router isis4 1 bier index 2 exit int lo2 vrf for v1 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 bier index 2 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 bier 256 10 both bier red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 is-type level2 bier 256 10 both bier red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 bier index 3 exit int lo2 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 bier index 3 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int tun2 tun sou lo2 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv6 addr 4321::1112 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 0 20 2.2.2.3 vrf v1 sou lo1 r3 tping 0 20 2.2.2.1 vrf v1 sou lo1 r1 tping 0 20 4321::3 vrf v1 sou lo2 r3 tping 0 20 4321::1 vrf v1 sou lo2 r1 tping 100 20 3.3.3.2 vrf v1 r1 tping 100 20 4321::1112 vrf v1 r3 tping 100 20 3.3.3.1 vrf v1 r3 tping 100 20 4321::1111 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 bier v1 r2 output show ipv6 bier v1 freeRtr-25.11.9/cfg/rout-isis051.tst000066400000000000000000000105241510423065500167640ustar00rootroot00000000000000description isis inter-level with bier addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 is-type level2 bier 256 10 both bier red conn exit router isis6 1 vrf v1 net 11.6666.0000.1111.00 is-type level2 bier 256 10 both bier red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 router isis4 1 ena router isis4 1 bier index 1 exit int lo2 vrf for v1 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 bier index 1 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 tun sou lo2 tun dest 9999::9 tun doma 4321::3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 is-type both bier 256 10 both bier red conn exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 is-type both bier 256 10 both bier red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 router isis4 1 ena router isis4 1 bier index 2 exit int lo2 vrf for v1 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 bier index 2 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 is-type level1 bier 256 10 both bier red conn exit router isis6 1 vrf v1 net 22.6666.0000.3333.00 is-type level1 bier 256 10 both bier red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 bier index 3 exit int lo2 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 bier index 3 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int tun2 tun sou lo2 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv6 addr 4321::1112 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 0 20 2.2.2.3 vrf v1 sou lo1 r3 tping 0 20 2.2.2.1 vrf v1 sou lo1 r1 tping 0 20 4321::3 vrf v1 sou lo2 r3 tping 0 20 4321::1 vrf v1 sou lo2 r1 tping 100 20 3.3.3.2 vrf v1 r1 tping 100 20 4321::1112 vrf v1 r3 tping 100 20 3.3.3.1 vrf v1 r3 tping 100 20 4321::1111 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 bier v1 r2 output show ipv6 bier v1 freeRtr-25.11.9/cfg/rout-isis052.tst000066400000000000000000000105331510423065500167650ustar00rootroot00000000000000description isis multi-topology with bier addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 multi-topology bier 256 10 both bier red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 multi-topology bier 256 10 both bier red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 router isis4 1 ena router isis4 1 bier index 1 exit int lo2 vrf for v1 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 bier index 1 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 tun sou lo2 tun dest 9999::9 tun doma 4321::3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 multi-topology bier 256 10 both bier red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 multi-topology bier 256 10 both bier red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 router isis4 1 ena router isis4 1 bier index 2 exit int lo2 vrf for v1 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 bier index 2 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 multi-topology bier 256 10 both bier red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 multi-topology bier 256 10 both bier red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 bier index 3 exit int lo2 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 bier index 3 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int tun2 tun sou lo2 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv6 addr 4321::1112 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 0 20 2.2.2.3 vrf v1 sou lo1 r3 tping 0 20 2.2.2.1 vrf v1 sou lo1 r1 tping 0 20 4321::3 vrf v1 sou lo2 r3 tping 0 20 4321::1 vrf v1 sou lo2 r1 tping 100 20 3.3.3.2 vrf v1 r1 tping 100 20 4321::1112 vrf v1 r3 tping 100 20 3.3.3.1 vrf v1 r3 tping 100 20 4321::1111 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 bier v1 r2 output show ipv6 bier v1 freeRtr-25.11.9/cfg/rout-isis053.tst000066400000000000000000000056011510423065500167660ustar00rootroot00000000000000description isis autoroute addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ int ser2 ser 0000.0000.1111 $2a$ $2b$ int ser3 ser 0000.0000.1111 $3a$ $3b$ int ser4 ser 0000.0000.1111 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.0 router isis4 1 ena ipv4 access-group-in test4 exit int ser2 vrf for v1 ipv6 addr 9999::1 ffff:: router isis6 1 ena ipv6 access-group-in test6 exit int ser3 vrf for v1 ipv4 addr 9.9.8.1 255.255.255.0 ipv4 autoroute isis4 1 2.2.2.2 9.9.8.2 exit int ser4 vrf for v1 ipv6 addr 9998::1 ffff:: ipv6 autoroute isis6 1 4321::2 9998::2 exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ int ser2 ser 0000.0000.2222 $2b$ $2a$ int ser3 ser 0000.0000.2222 $3b$ $3a$ int ser4 ser 0000.0000.2222 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.0 router isis4 1 ena ipv4 access-group-in test4 exit int ser2 vrf for v1 ipv6 addr 9999::2 ffff:: router isis6 1 ena ipv6 access-group-in test6 exit int ser3 vrf for v1 ipv4 addr 9.9.8.2 255.255.255.0 ipv4 autoroute isis4 1 2.2.2.1 9.9.8.1 exit int ser4 vrf for v1 ipv6 addr 9998::2 ffff:: ipv6 autoroute isis6 1 4321::1 9998::1 exit ! r1 tping 100 20 2.2.2.12 vrf v1 r1 tping 100 20 4321::12 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 4321::11 vrf v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r1 tping 0 20 9.9.9.2 vrf v1 r1 tping 0 20 9999::2 vrf v1 r2 tping 0 20 9.9.9.1 vrf v1 r2 tping 0 20 9999::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis054.tst000066400000000000000000000030201510423065500167600ustar00rootroot00000000000000description isis lsp text authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both lsp-pass tester red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 both lsp-pass tester red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 both lsp-pass tester red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 both lsp-pass tester red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis055.tst000066400000000000000000000067521510423065500170000ustar00rootroot00000000000000description isis change in tag addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set tag 1000 exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 red conn route-map rm1 exit router isis6 1 vrf v1 net 11.6666.0000.1111.00 red conn route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map rm1 sequence 10 act deny sequence 10 match tag 2000-4000 sequence 20 act perm exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 red conn both route-map-from rm1 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 red conn both route-map-from rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 red conn exit router isis6 1 vrf v1 net 22.6666.0000.3333.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set tag 3000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r2 tping 0 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 0 20 2.2.2.1 vrf v1 r3 tping 0 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set tag 5000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis056.tst000066400000000000000000000071311510423065500167710ustar00rootroot00000000000000description isis multi-topology change in tag addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set tag 1000 exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 multi-topology red conn route-map rm1 exit router isis6 1 vrf v1 net 11.6666.0000.1111.00 multi-topology red conn route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map rm1 sequence 10 act deny sequence 10 match tag 2000-4000 sequence 20 act perm exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 multi-topology red conn both route-map-from rm1 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 multi-topology red conn both route-map-from rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 multi-topology red conn exit router isis6 1 vrf v1 net 22.6666.0000.3333.00 multi-topology red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set tag 3000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r2 tping 0 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 0 20 2.2.2.1 vrf v1 r3 tping 0 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set tag 5000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis057.tst000066400000000000000000000115271510423065500167760ustar00rootroot00000000000000description isis with php sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 traffeng 4.4.4.1 segrout 10 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 traffeng 6.6.6.1 segrout 10 both segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 1 router isis4 1 segrout node router isis4 1 segrout pop exit int lo2 vrf for v1 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 1 router isis6 1 segrout node router isis6 1 segrout pop exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo2 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 traffeng 4.4.4.2 segrout 10 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 traffeng 6.6.6.2 segrout 10 both segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 2 router isis4 1 segrout node router isis4 1 segrout pop exit int lo2 vrf for v1 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 2 router isis6 1 segrout node router isis6 1 segrout pop exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 traffeng 4.4.4.3 segrout 10 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 is-type level2 traffeng 6.6.6.3 segrout 10 both segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 3 router isis4 1 segrout node router isis4 1 segrout pop exit int lo2 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 3 router isis6 1 segrout node router isis6 1 segrout pop exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo2 pweompls 4321::1 1234 exit ! r1 tping 0 20 2.2.2.2 vrf v1 sou lo1 r1 tping 0 20 4321::2 vrf v1 sou lo2 r1 tping 0 20 2.2.2.3 vrf v1 sou lo1 r1 tping 0 20 4321::3 vrf v1 sou lo2 r2 tping 0 20 2.2.2.1 vrf v1 sou lo1 r2 tping 0 20 4321::1 vrf v1 sou lo2 r2 tping 0 20 2.2.2.3 vrf v1 sou lo1 r2 tping 0 20 4321::3 vrf v1 sou lo2 r3 tping 0 20 2.2.2.1 vrf v1 sou lo1 r3 tping 0 20 4321::1 vrf v1 sou lo2 r3 tping 0 20 2.2.2.2 vrf v1 sou lo1 r3 tping 0 20 4321::2 vrf v1 sou lo2 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 segrou v1 r2 output show ipv6 segrou v1 freeRtr-25.11.9/cfg/rout-isis058.tst000066400000000000000000000103701510423065500167720ustar00rootroot00000000000000description isis with srgb sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 traffeng 4.4.4.1 segrout 10 base 100 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 traffeng 6.6.6.1 segrout 10 base 200 both segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 1 router isis4 1 segrout node exit int lo2 vrf for v1 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 1 router isis6 1 segrout node exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 traffeng 4.4.4.2 segrout 10 base 100 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 traffeng 6.6.6.2 segrout 10 base 200 both segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 2 router isis4 1 segrout node exit int lo2 vrf for v1 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 2 router isis6 1 segrout node exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 traffeng 4.4.4.3 segrout 10 base 100 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 is-type level2 traffeng 6.6.6.3 segrout 10 base 200 both segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 3 router isis4 1 segrout node exit int lo2 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 3 router isis6 1 segrout node exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 access-group-in test4 mpls enable router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo2 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo2 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo2 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo2 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo2 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo2 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 segrou v1 r2 output show ipv6 segrou v1 freeRtr-25.11.9/cfg/rout-isis059.tst000066400000000000000000000030001510423065500167630ustar00rootroot00000000000000description isis over point2point ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.254 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr 1234::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.254 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis060.tst000066400000000000000000000027611510423065500167700ustar00rootroot00000000000000description isis with bidir check addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn both spf-bidir exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn both spf-bidir exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn both spf-bidir exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn both spf-bidir exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis061.tst000066400000000000000000000055251510423065500167720ustar00rootroot00000000000000description isis narrow metric with bidir check addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 no metric-wide is-type level2 red conn both spf-bidir exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 no metric-wide is-type level2 red conn both spf-bidir exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 no metric-wide is-type level2 red conn both spf-bidir exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 no metric-wide is-type level2 red conn both spf-bidir exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 red conn both spf-bidir exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 is-type level2 red conn both spf-bidir exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r1 tping 0 20 2.2.2.3 vrf v1 sou lo1 r1 tping 0 20 4321::3 vrf v1 sou lo1 r2 tping 0 20 2.2.2.3 vrf v1 sou lo1 r2 tping 0 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.3 vrf v1 r3 send conf t r3 send router isis4 1 r3 send no metric-wide r3 send end r3 send conf t r3 send router isis6 1 r3 send no metric-wide r3 send end r3 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis062.tst000066400000000000000000000052101510423065500167620ustar00rootroot00000000000000description isis chain of broadcast nets with bidir check addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn both spf-bidir exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn both spf-bidir exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena router isis4 1 net broad exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena router isis6 1 net broad exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn both spf-bidir exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn both spf-bidir exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena router isis4 1 net broad exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena router isis6 1 net broad exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena router isis4 1 net broad exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena router isis6 1 net broad exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 red conn both spf-bidir exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 red conn both spf-bidir exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena router isis4 1 net broad exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena router isis6 1 net broad exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 4321::2 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis063.tst000066400000000000000000000053661510423065500167770ustar00rootroot00000000000000description isis multi-topology with bidir check addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 multi-topology red conn both spf-bidir exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 multi-topology red conn both spf-bidir exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 multi-topology red conn both spf-bidir exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 multi-topology red conn both spf-bidir exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 red conn both spf-bidir exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 red conn both spf-bidir exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r1 tping 0 20 2.2.2.3 vrf v1 sou lo1 r1 tping 0 20 4321::3 vrf v1 sou lo1 r2 tping 0 20 2.2.2.3 vrf v1 sou lo1 r2 tping 0 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.3 vrf v1 r3 send conf t r3 send router isis4 1 r3 send multi-topology r3 send end r3 send conf t r3 send router isis6 1 r3 send multi-topology r3 send end r3 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis064.tst000066400000000000000000000076601510423065500167770ustar00rootroot00000000000000description isis ecmp connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 red conn both spf-ecmp ecmp exit router isis6 1 vrf v1 net 11.6666.0000.1111.00 red conn both spf-ecmp ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit int eth1.21 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 router isis4 1 ena exit int eth1.22 vrf for v1 ipv6 addr 1234:21::1 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:3::2 ffff:ffff:: router isis6 1 ena exit int eth2.21 vrf for v1 ipv4 addr 1.1.2.10 255.255.255.252 router isis4 1 ena exit int eth2.22 vrf for v1 ipv6 addr 1234:23::2 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 red conn both spf-ecmp ecmp exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 red conn both spf-ecmp ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth1.21 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 router isis4 1 ena exit int eth1.22 vrf for v1 ipv6 addr 1234:21::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena exit int eth2.21 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.252 router isis4 1 ena exit int eth2.22 vrf for v1 ipv6 addr 1234:22::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 red conn both spf-ecmp ecmp exit router isis6 1 vrf v1 net 22.6666.0000.3333.00 red conn both spf-ecmp ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit int eth1.21 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.252 router isis4 1 ena exit int eth1.22 vrf for v1 ipv6 addr 1234:22::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:3::1 ffff:ffff:: router isis6 1 ena exit int eth2.21 vrf for v1 ipv4 addr 1.1.2.9 255.255.255.252 router isis4 1 ena exit int eth2.22 vrf for v1 ipv6 addr 1234:23::1 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis065.tst000066400000000000000000000052651510423065500167770ustar00rootroot00000000000000description isis with bgp linkstate addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 justadvert lo1 exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 justadvert lo1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena exit router bgp4 1 vrf v1 no safe-ebgp address uni linkstate local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 linkstate afi-link isis4 1 2 justadvert lo2 exit router bgp6 1 vrf v1 no safe-ebgp address uni linkstate local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 linkstate afi-link isis6 1 2 justadvert lo2 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 justadvert lo1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 justadvert lo1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena exit router bgp4 1 vrf v1 no safe-ebgp address uni linkstate local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 linkstate afi-link isis4 1 2 justadvert lo2 exit router bgp6 1 vrf v1 no safe-ebgp address uni linkstate local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 linkstate afi-link isis6 1 2 justadvert lo2 exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r1 tping 100 20 2.2.2.102 vrf v1 r2 tping 100 20 2.2.2.101 vrf v1 r1 tping 100 20 4321::102 vrf v1 r2 tping 100 20 4321::101 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r1 output show ipv4 bgp 1 uni dat r1 output show ipv6 bgp 1 uni dat r1 output show ipv4 bgp 1 links dat r1 output show ipv6 bgp 1 links dat freeRtr-25.11.9/cfg/rout-isis066.tst000066400000000000000000000024151510423065500167720ustar00rootroot00000000000000description integrated isis over ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 other-ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis067.tst000066400000000000000000000025411510423065500167730ustar00rootroot00000000000000description integrated isis over hdlc addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc hdlc vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router isis4 1 ena router isis4 1 other-ena router isis4 1 raw-encapsulation exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis6 1 vrf v1 net 48.4444.0000.2222.00 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 enc hdlc vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 other-ena router isis6 1 raw-encapsulation exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis068.tst000066400000000000000000000032461510423065500167770ustar00rootroot00000000000000description integrated isis over gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.252 ipv6 addr 9999::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 9999::2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router isis4 1 ena router isis4 1 other-ena router isis4 1 raw-encapsulation exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis6 1 vrf v1 net 48.4444.0000.2222.00 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.252 ipv6 addr 9999::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 9999::1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 other-ena router isis6 1 raw-encapsulation exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis069.tst000066400000000000000000000047601510423065500170020ustar00rootroot00000000000000description integrated isis narrow metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 no metric-wide is-type level2 red conn afi-other enable no afi-other metric-wide afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 no metric-wide is-type level2 red conn afi-other enable no afi-other metric-wide afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r1 tping 0 20 2.2.2.3 vrf v1 sou lo1 r1 tping 0 20 4321::3 vrf v1 sou lo1 r2 tping 0 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.3 vrf v1 r3 send conf t r3 send router isis4 1 r3 send no metric-wide r3 send no afi-other metric-wide r3 send end r3 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis070.tst000066400000000000000000000051131510423065500167630ustar00rootroot00000000000000description integrated isis attached addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level1 afi-other enable exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level1 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level1 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 0 20 4321::1 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 0 20 2.2.2.1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 0 20 4321::1 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 send conf t r1 send router isis4 1 r1 send both set-atta r1 send end r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 4321::2 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis071.tst000066400000000000000000000043751510423065500167750ustar00rootroot00000000000000description integrated isis chain of broadcast nets addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena router isis4 1 net broad exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena router isis6 1 net broad exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena router isis6 1 net broad exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena router isis4 1 net broad exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 4321::2 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis072.tst000066400000000000000000000045421510423065500167720ustar00rootroot00000000000000description integrated isis broadcast subnet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router isis4 1 ena router isis4 1 other-ena router isis4 1 net broad exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 other-ena router isis6 1 net broad exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit bridge 1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: router isis4 1 ena router isis4 1 other-ena router isis4 1 net broad exit ! r1 tping 100 20 2.2.2.1 vrf v1 sou lo1 r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis073.tst000066400000000000000000000032761510423065500167760ustar00rootroot00000000000000description integrated isis address suppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 afi-other enable exit int lo11 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 other-ena router isis4 1 passive exit int lo21 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 passive router isis4 1 other-ena router isis4 1 suppress-pref router isis4 1 other-suppress-pref exit int lo31 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 other-ena router isis4 1 passive exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn afi-other enable afi-other red conn exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 other-ena exit ! r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 0 20 2.2.2.2 vrf v1 r2 tping 0 20 4321::2 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis074.tst000066400000000000000000000042721510423065500167740ustar00rootroot00000000000000description integrated isis inter-level routes addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 is-type level2 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 is-type both red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 is-type level1 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis075.tst000066400000000000000000000062451510423065500167770ustar00rootroot00000000000000description integrated isis inter level ingress filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.1111.00 is-type level2 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit prefix-list p4 sequence 10 deny 2.2.2.8/29 le 32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::10/124 le 128 sequence 20 permit ::/0 le 128 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 is-type both red conn afi-other enable afi-other red conn both prefix-list-from p6 both other-prefix-list-from p4 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 is-type level1 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.12 vrf v1 r1 tping 100 20 4321::12 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 0 20 4321::13 vrf v1 r2 tping 0 20 2.2.2.11 vrf v1 r2 tping 0 20 4321::11 vrf v1 r2 tping 0 20 2.2.2.13 vrf v1 r2 tping 0 20 4321::13 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 100 20 2.2.2.12 vrf v1 r3 tping 100 20 4321::12 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis076.tst000066400000000000000000000062441510423065500167770ustar00rootroot00000000000000description integrated isis inter level egress filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.1111.00 is-type level2 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit prefix-list p4 sequence 10 deny 2.2.2.8/29 le 32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::10/124 le 128 sequence 20 permit ::/0 le 128 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 is-type both red conn afi-other enable afi-other red conn both prefix-list-into p6 both other-prefix-list-into p4 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 is-type level1 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 tping 0 20 2.2.2.12 vrf v1 r1 tping 0 20 4321::12 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 0 20 4321::13 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 4321::13 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 0 20 2.2.2.12 vrf v1 r3 tping 0 20 4321::12 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis077.tst000066400000000000000000000063471510423065500170040ustar00rootroot00000000000000description integrated isis inter level ingress filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.1111.00 is-type level2 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map p4 sequence 10 act deny match network 2.2.2.8/29 le 32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::10/124 le 128 sequence 20 act perm match network ::/0 le 128 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 is-type both red conn afi-other enable afi-other red conn both route-map-from p6 both other-route-map-from p4 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 is-type level1 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.12 vrf v1 r1 tping 100 20 4321::12 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 0 20 4321::13 vrf v1 r2 tping 0 20 2.2.2.11 vrf v1 r2 tping 0 20 4321::11 vrf v1 r2 tping 0 20 2.2.2.13 vrf v1 r2 tping 0 20 4321::13 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 100 20 2.2.2.12 vrf v1 r3 tping 100 20 4321::12 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis078.tst000066400000000000000000000063461510423065500170040ustar00rootroot00000000000000description integrated isis inter level egress filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.1111.00 is-type level2 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map p4 sequence 10 act deny match network 2.2.2.8/29 le 32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::10/124 le 128 sequence 20 act perm match network ::/0 le 128 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 is-type both red conn afi-other enable afi-other red conn both route-map-into p6 both other-route-map-into p4 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 is-type level1 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 tping 0 20 2.2.2.12 vrf v1 r1 tping 0 20 4321::12 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 0 20 4321::13 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 4321::13 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 0 20 2.2.2.12 vrf v1 r3 tping 0 20 4321::12 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis079.tst000066400000000000000000000062161510423065500170010ustar00rootroot00000000000000description integrated isis inter level ingress filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.1111.00 is-type level2 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-policy p4 if network 2.2.2.8/29 le 32 drop else pass enif exit route-policy p6 if network 4321::10/124 le 128 drop else pass enif exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 is-type both red conn afi-other enable afi-other red conn both route-policy-from p6 both other-route-policy-from p4 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 is-type level1 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.12 vrf v1 r1 tping 100 20 4321::12 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 0 20 4321::13 vrf v1 r2 tping 0 20 2.2.2.11 vrf v1 r2 tping 0 20 4321::11 vrf v1 r2 tping 0 20 2.2.2.13 vrf v1 r2 tping 0 20 4321::13 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 100 20 2.2.2.12 vrf v1 r3 tping 100 20 4321::12 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis080.tst000066400000000000000000000062151510423065500167700ustar00rootroot00000000000000description integrated isis inter level egress filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.1111.00 is-type level2 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-policy p4 if network 2.2.2.8/29 le 32 drop else pass enif exit route-policy p6 if network 4321::10/124 le 128 drop else pass enif exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 is-type both red conn afi-other enable afi-other red conn both route-policy-into p6 both other-route-policy-into p4 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 is-type level1 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 tping 0 20 2.2.2.12 vrf v1 r1 tping 0 20 4321::12 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 0 20 4321::13 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 4321::13 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 0 20 2.2.2.12 vrf v1 r3 tping 0 20 4321::12 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis081.tst000066400000000000000000000024211510423065500167640ustar00rootroot00000000000000description integrated isis default route addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 afi-other enable both default both other-default exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 other-ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis082.tst000066400000000000000000000046771510423065500170040ustar00rootroot00000000000000description integrated isis multi-topology addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 multi-topology red conn afi-other enable afi-other multi-topology afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.6666.0000.2222.00 multi-topology red conn afi-other enable afi-other multi-topology afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r1 tping 0 20 2.2.2.3 vrf v1 sou lo1 r1 tping 0 20 4321::3 vrf v1 sou lo1 r2 tping 0 20 2.2.2.3 vrf v1 sou lo1 r2 tping 0 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.3 vrf v1 r3 send conf t r3 send router isis4 1 r3 send multi-topology r3 send afi-other multi-topology r3 send end r3 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis083.tst000066400000000000000000000072421510423065500167740ustar00rootroot00000000000000description integrated isis with sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 traffeng 4.4.4.1 segrout 10 both segrout red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 other-ena router isis4 1 segrout index 1 router isis4 1 segrout other-index 2 router isis4 1 segrout node exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 traffeng 6.6.6.2 segrout 10 both segrout red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 other-ena router isis6 1 segrout index 3 router isis6 1 segrout other-index 4 router isis6 1 segrout node exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena router isis6 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena router isis6 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 traffeng 4.4.4.3 segrout 10 both segrout red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 other-ena router isis4 1 segrout index 5 router isis4 1 segrout other-index 6 router isis4 1 segrout node exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis4 1 ena router isis4 1 other-ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 segrou v1 r2 output show ipv6 segrou v1 freeRtr-25.11.9/cfg/rout-isis084.tst000066400000000000000000000072541510423065500170000ustar00rootroot00000000000000description integrated isis inter-level with sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 is-type level2 traffeng 4.4.4.1 segrout 10 both segrout red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 other-ena router isis4 1 segrout index 1 router isis4 1 segrout other-index 2 router isis4 1 segrout node exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 is-type both traffeng 6.6.6.2 segrout 10 both segrout red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 other-ena router isis6 1 segrout index 3 router isis6 1 segrout other-index 4 router isis6 1 segrout node exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena router isis6 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena router isis6 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 is-type level1 traffeng 4.4.4.3 segrout 10 both segrout red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 other-ena router isis4 1 segrout index 5 router isis4 1 segrout other-index 6 router isis4 1 segrout node exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis4 1 ena router isis4 1 other-ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 segrou v1 r2 output show ipv6 segrou v1 freeRtr-25.11.9/cfg/rout-isis085.tst000066400000000000000000000074571510423065500170060ustar00rootroot00000000000000description integrated isis multi-topology with sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 multi-topology is-type level2 traffeng 4.4.4.1 segrout 10 both segrout red conn afi-other enable afi-other multi-topology afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 other-ena router isis4 1 segrout index 1 router isis4 1 segrout other-index 2 router isis4 1 segrout node exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.6666.0000.2222.00 multi-topology is-type level2 traffeng 6.6.6.2 segrout 10 both segrout red conn afi-other enable afi-other multi-topology afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 other-ena router isis4 1 segrout index 3 router isis4 1 segrout other-index 4 router isis4 1 segrout node exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis4 1 ena router isis4 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis4 1 ena router isis4 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 multi-topology is-type level2 traffeng 4.4.4.3 segrout 10 both segrout red conn afi-other enable afi-other multi-topology afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 other-ena router isis4 1 segrout index 5 router isis4 1 segrout other-index 6 router isis4 1 segrout node exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis4 1 ena router isis4 1 other-ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 segrou v1 r2 output show ipv6 segrou v1 freeRtr-25.11.9/cfg/rout-isis086.tst000066400000000000000000000034521510423065500167760ustar00rootroot00000000000000description integrated isis prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 afi-other enable exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 other-ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 afi-other enable exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 other-ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r1 send conf t r1 send int lo1 r1 send no router isis4 1 ena r1 send no router isis4 1 other-ena r1 send exit r1 send exit r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r2 tping 0 20 4321::1 vrf v1 r1 send conf t r1 send int lo1 r1 send router isis4 1 ena r1 send router isis4 1 other-ena r1 send exit r1 send exit r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis087.tst000066400000000000000000000065151510423065500170020ustar00rootroot00000000000000description integrated isis change in metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 1000 exit router isis4 1 vrf v1 net 22.4444.0000.1111.00 red conn route-map rm1 afi-other enable afi-other red conn route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map rm1 sequence 10 act deny sequence 10 match metric 2000-4000 sequence 20 act perm exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 red conn afi-other enable afi-other red conn both route-map-from rm1 both other-route-map-from rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 3000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r2 tping 0 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 0 20 2.2.2.1 vrf v1 r3 tping 0 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 5000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis088.tst000066400000000000000000000064121510423065500167770ustar00rootroot00000000000000description integrated isis aggregate addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.1111.00 is-type level2 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map p4 sequence 10 act deny match network 2.2.2.8/29 le 32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::10/124 le 128 sequence 20 act perm match network ::/0 le 128 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 is-type both aggregate 4321::/32 afi-other aggregate 2.2.2.0/24 red conn afi-other enable afi-other red conn both route-map-into p6 both other-route-map-into p4 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 is-type level1 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.12 vrf v1 r1 tping 100 20 4321::12 vrf v1 r1 tping 100 20 2.2.2.13 vrf v1 r1 tping 100 20 4321::13 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 4321::13 vrf v1 r3 tping 100 20 2.2.2.11 vrf v1 r3 tping 100 20 4321::11 vrf v1 r3 tping 100 20 2.2.2.12 vrf v1 r3 tping 100 20 4321::12 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis089.tst000066400000000000000000000134631510423065500170040ustar00rootroot00000000000000description integrated isis prefix movement addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 10 exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 afi-other enable advertise 2.2.2.1/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 afi-other advertise 4321::1/128 route-map rm1 afi-other advertise 4321::222/128 route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 afi-other enable advertise 4321::2/128 afi-other advertise 2.2.2.2/32 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 other-ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 20 exit router isis4 1 vrf v1 net 33.4444.0000.3333.00 afi-other enable advertise 2.2.2.3/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 afi-other advertise 4321::3/128 route-map rm1 afi-other advertise 4321::222/128 route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 2.2.2.222 vrf v1 r1 tping 100 40 4321::222 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 tping 100 40 4321::222 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 2.2.2.3 vrf v1 r3 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.222 vrf v1 r3 tping 100 40 4321::222 vrf v1 r2 tping 0 40 2.2.2.101 vrf v1 r2 tping 0 40 4321::101 vrf v1 r2 tping 0 40 2.2.2.103 vrf v1 r2 tping 0 40 4321::103 vrf v1 r2 send telnet 2.2.2.222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r2 send telnet 4321::222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 30 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 2.2.2.222 vrf v1 r1 tping 100 40 4321::222 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 tping 100 40 4321::222 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 2.2.2.3 vrf v1 r3 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.222 vrf v1 r3 tping 100 40 4321::222 vrf v1 r2 tping 0 40 2.2.2.101 vrf v1 r2 tping 0 40 4321::101 vrf v1 r2 tping 0 40 2.2.2.103 vrf v1 r2 tping 0 40 4321::103 vrf v1 r2 send telnet 2.2.2.222 666 vrf v1 r2 tping 100 40 2.2.2.103 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.103 vrf v1 r2 send telnet 4321::222 666 vrf v1 r2 tping 100 40 2.2.2.103 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.103 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 10 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 2.2.2.222 vrf v1 r1 tping 100 40 4321::222 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 tping 100 40 4321::222 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 2.2.2.3 vrf v1 r3 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.222 vrf v1 r3 tping 100 40 4321::222 vrf v1 r2 tping 0 40 2.2.2.101 vrf v1 r2 tping 0 40 4321::101 vrf v1 r2 tping 0 40 2.2.2.103 vrf v1 r2 tping 0 40 4321::103 vrf v1 r2 send telnet 2.2.2.222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r2 send telnet 4321::222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis090.tst000066400000000000000000000077041510423065500167750ustar00rootroot00000000000000description integrated isis with bier addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 bier 256 10 both bier red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 other-ena router isis4 1 bier index 1 router isis4 1 bier other-index 2 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis4 1 ena router isis4 1 other-ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 bier 256 10 both bier red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 other-ena router isis6 1 bier index 3 router isis6 1 bier other-index 4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena router isis6 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena router isis6 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 bier 256 10 both bier red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 other-ena router isis4 1 bier index 5 router isis4 1 bier other-index 6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis4 1 ena router isis4 1 other-ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv6 addr 4321::1112 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 0 20 2.2.2.3 vrf v1 sou lo1 r3 tping 0 20 2.2.2.1 vrf v1 sou lo1 r1 tping 0 20 4321::3 vrf v1 sou lo1 r3 tping 0 20 4321::1 vrf v1 sou lo1 r1 tping 100 20 3.3.3.2 vrf v1 r1 tping 100 20 4321::1112 vrf v1 r3 tping 100 20 3.3.3.1 vrf v1 r3 tping 100 20 4321::1111 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 bier v1 r2 output show ipv6 bier v1 freeRtr-25.11.9/cfg/rout-isis091.tst000066400000000000000000000077161510423065500170010ustar00rootroot00000000000000description integrated isis inter-level with bier addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 is-type level2 bier 256 10 both bier red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 other-ena router isis4 1 bier index 1 router isis4 1 bier other-index 2 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis4 1 ena router isis4 1 other-ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 is-type both bier 256 10 both bier red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 other-ena router isis6 1 bier index 3 router isis6 1 bier other-index 4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena router isis6 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena router isis6 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 is-type level1 bier 256 10 both bier red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 other-ena router isis4 1 bier index 5 router isis4 1 bier other-index 6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis4 1 ena router isis4 1 other-ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv6 addr 4321::1112 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 0 20 2.2.2.3 vrf v1 sou lo1 r3 tping 0 20 2.2.2.1 vrf v1 sou lo1 r1 tping 0 20 4321::3 vrf v1 sou lo1 r3 tping 0 20 4321::1 vrf v1 sou lo1 r1 tping 100 20 3.3.3.2 vrf v1 r1 tping 100 20 4321::1112 vrf v1 r3 tping 100 20 3.3.3.1 vrf v1 r3 tping 100 20 4321::1111 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 bier v1 r2 output show ipv6 bier v1 freeRtr-25.11.9/cfg/rout-isis092.tst000066400000000000000000000100411510423065500167630ustar00rootroot00000000000000description integrated isis multi-topology with bier addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 multi-topology bier 256 10 both bier red conn afi-other enable afi-other multi-topology afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 other-ena router isis4 1 bier index 1 router isis4 1 bier other-index 2 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis4 1 ena router isis4 1 other-ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.6666.0000.2222.00 multi-topology bier 256 10 both bier red conn afi-other enable afi-other multi-topology afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 other-ena router isis4 1 bier index 3 router isis4 1 bier other-index 4 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis4 1 ena router isis4 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis4 1 ena router isis4 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 multi-topology bier 256 10 both bier red conn afi-other enable afi-other multi-topology afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 other-ena router isis4 1 bier index 5 router isis4 1 bier other-index 6 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis4 1 ena router isis4 1 other-ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv6 addr 4321::1112 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 0 20 2.2.2.3 vrf v1 sou lo1 r3 tping 0 20 2.2.2.1 vrf v1 sou lo1 r1 tping 0 20 4321::3 vrf v1 sou lo1 r3 tping 0 20 4321::1 vrf v1 sou lo1 r1 tping 100 20 3.3.3.2 vrf v1 r1 tping 100 20 4321::1112 vrf v1 r3 tping 100 20 3.3.3.1 vrf v1 r3 tping 100 20 4321::1111 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 bier v1 r2 output show ipv6 bier v1 freeRtr-25.11.9/cfg/rout-isis093.tst000066400000000000000000000064761510423065500170050ustar00rootroot00000000000000description integrated isis change in tag addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set tag 1000 exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 red conn route-map rm1 afi-other enable afi-other red conn route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map rm1 sequence 10 act deny sequence 10 match tag 2000-4000 sequence 20 act perm exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 red conn afi-other enable afi-other red conn both route-map-from rm1 both other-route-map-from rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set tag 3000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r2 tping 0 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 0 20 2.2.2.1 vrf v1 r3 tping 0 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set tag 5000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis094.tst000066400000000000000000000103501510423065500167700ustar00rootroot00000000000000description integrated isis with php sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 traffeng 4.4.4.1 segrout 10 both segrout red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 other-ena router isis4 1 segrout index 1 router isis4 1 segrout other-index 2 router isis4 1 segrout node router isis4 1 segrout pop exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:1::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis4 1 ena router isis4 1 other-ena exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo1 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 traffeng 6.6.6.2 segrout 10 both segrout red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 other-ena router isis6 1 segrout index 3 router isis6 1 segrout other-index 4 router isis6 1 segrout node router isis6 1 segrout pop exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:1::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena router isis6 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis6 1 ena router isis6 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 traffeng 4.4.4.3 segrout 10 both segrout red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 other-ena router isis4 1 segrout index 5 router isis4 1 segrout other-index 6 router isis4 1 segrout node router isis4 1 segrout pop exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 access-group-in test4 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 access-group-in test6 mpls enable router isis4 1 ena router isis4 1 other-ena exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo1 pweompls 4321::1 1234 exit ! r1 tping 0 20 2.2.2.2 vrf v1 sou lo1 r1 tping 0 20 4321::2 vrf v1 sou lo1 r1 tping 0 20 2.2.2.3 vrf v1 sou lo1 r1 tping 0 20 4321::3 vrf v1 sou lo1 r2 tping 0 20 2.2.2.1 vrf v1 sou lo1 r2 tping 0 20 4321::1 vrf v1 sou lo1 r2 tping 0 20 2.2.2.3 vrf v1 sou lo1 r2 tping 0 20 4321::3 vrf v1 sou lo1 r3 tping 0 20 2.2.2.1 vrf v1 sou lo1 r3 tping 0 20 4321::1 vrf v1 sou lo1 r3 tping 0 20 2.2.2.2 vrf v1 sou lo1 r3 tping 0 20 4321::2 vrf v1 sou lo1 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 segrou v1 r2 output show ipv6 segrou v1 freeRtr-25.11.9/cfg/rout-isis095.tst000066400000000000000000000025371510423065500170010ustar00rootroot00000000000000description integrated isis over point2point ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.254 ipv6 addr 1234::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.254 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe router isis6 1 ena router isis6 1 other-ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis096.tst000066400000000000000000000070731510423065500170020ustar00rootroot00000000000000description integrated isis ecmp connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 red conn afi-other enable afi-other red conn afi-other ecmp both spf-ecmp ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:21::1 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.10 255.255.255.252 ipv6 addr 1234:23::2 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 red conn afi-other enable afi-other red conn afi-other ecmp both spf-ecmp ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:21::2 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.252 ipv6 addr 1234:22::1 ffff:ffff:: router isis6 1 ena router isis6 1 other-ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 red conn afi-other enable afi-other red conn afi-other ecmp both spf-ecmp ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.252 ipv6 addr 1234:22::2 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.9 255.255.255.252 ipv6 addr 1234:23::1 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis097.tst000066400000000000000000000035221510423065500167760ustar00rootroot00000000000000description asymmetric integrated isis addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.6666.0000.2222.00 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router isis4 1 ena router isis4 1 other-ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router isis4 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis098.tst000066400000000000000000000110621510423065500167750ustar00rootroot00000000000000description isis with polka addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 traffeng 4.4.4.1 segrout 10 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 traffeng 6.6.6.1 segrout 10 both segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 1 router isis4 1 segrout node exit int lo2 vrf for v1 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 1 router isis6 1 segrout node exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 mpls enable polka enable 1 65536 10 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router isis6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback1 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback2 tunnel destination 4321::3 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 traffeng 4.4.4.2 segrout 10 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 traffeng 6.6.6.2 segrout 10 both segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 2 router isis4 1 segrout node exit int lo2 vrf for v1 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 2 router isis6 1 segrout node exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 mpls enable polka enable 2 65536 10 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 mpls enable polka enable 2 65536 10 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable polka enable 2 65536 10 router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 traffeng 4.4.4.3 segrout 10 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 is-type level2 traffeng 6.6.6.3 segrout 10 both segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 3 router isis4 1 segrout node exit int lo2 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 3 router isis6 1 segrout node exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 mpls enable polka enable 3 65536 10 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 3 65536 10 router isis6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback1 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback2 tunnel destination 4321::1 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo2 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo2 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo2 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo2 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo2 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo2 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r3 tping 100 20 3333::1 vrf v1 sou tun2 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 segrou v1 r2 output show ipv6 segrou v1 freeRtr-25.11.9/cfg/rout-isis099.tst000066400000000000000000000043101510423065500167740ustar00rootroot00000000000000description isis default address suppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both suppress-pref exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 both suppress-pref exit int lo11 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 router isis4 1 ena router isis4 1 passive exit int lo12 vrf for v1 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 passive exit int lo21 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 router isis4 1 ena router isis4 1 passive exit int lo22 vrf for v1 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 passive exit int lo31 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 passive exit int lo32 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 passive exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo11 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 router isis4 1 ena router isis4 1 passive exit int lo12 vrf for v1 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 passive exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.111 vrf v1 r1 tping 100 20 4321::111 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r2 tping 0 20 4321::1 vrf v1 r2 tping 0 20 2.2.2.2 vrf v1 r2 tping 0 20 4321::2 vrf v1 r2 tping 0 20 2.2.2.3 vrf v1 r2 tping 0 20 4321::3 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis100.tst000066400000000000000000000036571510423065500167700ustar00rootroot00000000000000description integrated isis default address suppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both suppress-pref both other-suppress-pref afi-other enable exit int lo11 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 other-ena router isis4 1 passive exit int lo21 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 passive router isis4 1 other-ena exit int lo31 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 other-ena router isis4 1 passive exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn afi-other enable afi-other red conn exit int lo11 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 other-ena router isis6 1 passive exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 other-ena exit ! r1 tping 100 20 2.2.2.111 vrf v1 r1 tping 100 20 4321::111 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r2 tping 0 20 4321::1 vrf v1 r2 tping 0 20 2.2.2.2 vrf v1 r2 tping 0 20 4321::2 vrf v1 r2 tping 0 20 2.2.2.3 vrf v1 r2 tping 0 20 4321::3 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis101.tst000066400000000000000000000043741510423065500167660ustar00rootroot00000000000000description isis address unsuppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both suppress-pref exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 both suppress-pref exit int lo11 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 router isis4 1 ena router isis4 1 passive exit int lo12 vrf for v1 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 passive exit int lo21 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 router isis4 1 ena router isis4 1 passive router isis4 1 unsuppress exit int lo22 vrf for v1 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 passive router isis6 1 unsuppress exit int lo31 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 passive exit int lo32 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 passive exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo11 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 router isis4 1 ena router isis4 1 passive exit int lo12 vrf for v1 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 passive exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.111 vrf v1 r1 tping 100 20 4321::111 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r2 tping 0 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 4321::2 vrf v1 r2 tping 0 20 2.2.2.3 vrf v1 r2 tping 0 20 4321::3 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis102.tst000066400000000000000000000037511510423065500167650ustar00rootroot00000000000000description integrated isis address unsuppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both suppress-pref both other-suppress-pref afi-other enable exit int lo11 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 other-ena router isis4 1 passive exit int lo21 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 passive router isis4 1 other-ena router isis4 1 unsuppress router isis4 1 other-unsuppress exit int lo31 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis4 1 ena router isis4 1 other-ena router isis4 1 passive exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn afi-other enable afi-other red conn exit int lo11 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 other-ena router isis6 1 passive exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 other-ena exit ! r1 tping 100 20 2.2.2.111 vrf v1 r1 tping 100 20 4321::111 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r2 tping 0 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 4321::2 vrf v1 r2 tping 0 20 2.2.2.3 vrf v1 r2 tping 0 20 4321::3 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis103.tst000066400000000000000000000031631510423065500167630ustar00rootroot00000000000000description isis md5 authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 password tester router isis4 1 authen-type md5 exit int eth1.12 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena router isis6 1 password tester router isis6 1 authen-type md5 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena router isis4 1 password tester router isis4 1 authen-type md5 exit int eth1.12 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 password tester router isis6 1 authen-type md5 exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis104.tst000066400000000000000000000031471510423065500167660ustar00rootroot00000000000000description isis lsp md5 authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both lsp-pass tester both authen-type md5 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 both lsp-pass tester both authen-type md5 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 both lsp-pass tester both authen-type md5 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 both lsp-pass tester both authen-type md5 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis105.tst000066400000000000000000000044631510423065500167710ustar00rootroot00000000000000description isis dynamic icmp metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.1111 $3a$ $3b$ int eth4 eth 0000.0000.1111 $4a$ $4b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 metric 100 exit int eth2 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena router isis6 1 metric 100 exit int eth3 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 router isis4 1 ena router isis4 1 metric 1 exit int eth4 vrf for v1 ipv6 addr 1235::1 ffff:: router isis6 1 ena router isis6 1 metric 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ int eth3 eth 0000.0000.2222 $3b$ $3a$ int eth4 eth 0000.0000.2222 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router isis4 1 ena router isis4 1 metric 2 router isis4 1 dynamic-met mod icm exit int eth2 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 metric 2 router isis6 1 dynamic-met mod icm exit int eth3 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: router isis4 1 ena router isis4 1 metric 200 router isis4 1 dynamic-met mod icm exit int eth4 vrf for v1 ipv6 addr 1235::2 ffff:: router isis6 1 ena router isis6 1 metric 200 router isis6 1 dynamic-met mod icm exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis106.tst000066400000000000000000000045161510423065500167710ustar00rootroot00000000000000description isis dynamic udp metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.1111 $3a$ $3b$ int eth4 eth 0000.0000.1111 $4a$ $4b$ ! vrf def v1 rd 1:1 exit server echo e vrf v1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 metric 100 exit int eth2 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena router isis6 1 metric 100 exit int eth3 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 router isis4 1 ena router isis4 1 metric 1 exit int eth4 vrf for v1 ipv6 addr 1235::1 ffff:: router isis6 1 ena router isis6 1 metric 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ int eth3 eth 0000.0000.2222 $3b$ $3a$ int eth4 eth 0000.0000.2222 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router isis4 1 ena router isis4 1 metric 2 router isis4 1 dynamic-met mod udp exit int eth2 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 metric 2 router isis6 1 dynamic-met mod udp exit int eth3 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: router isis4 1 ena router isis4 1 metric 200 router isis4 1 dynamic-met mod udp exit int eth4 vrf for v1 ipv6 addr 1235::2 ffff:: router isis6 1 ena router isis6 1 metric 200 router isis6 1 dynamic-met mod udp exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis107.tst000066400000000000000000000045211510423065500167660ustar00rootroot00000000000000description isis dynamic twamp metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.1111 $3a$ $3b$ int eth4 eth 0000.0000.1111 $4a$ $4b$ ! vrf def v1 rd 1:1 exit server twamp t vrf v1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 metric 100 exit int eth2 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena router isis6 1 metric 100 exit int eth3 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 router isis4 1 ena router isis4 1 metric 1 exit int eth4 vrf for v1 ipv6 addr 1235::1 ffff:: router isis6 1 ena router isis6 1 metric 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ int eth3 eth 0000.0000.2222 $3b$ $3a$ int eth4 eth 0000.0000.2222 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router isis4 1 ena router isis4 1 metric 2 router isis4 1 dynamic-met mod twa exit int eth2 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 metric 2 router isis6 1 dynamic-met mod twa exit int eth3 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: router isis4 1 ena router isis4 1 metric 200 router isis4 1 dynamic-met mod twa exit int eth4 vrf for v1 ipv6 addr 1235::2 ffff:: router isis6 1 ena router isis6 1 metric 200 router isis6 1 dynamic-met mod twa exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis108.tst000066400000000000000000000112371510423065500167710ustar00rootroot00000000000000description isis with mpolka addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 traffeng 4.4.4.1 segrout 10 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 traffeng 6.6.6.1 segrout 10 both segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 1 router isis4 1 segrout node exit int lo2 vrf for v1 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 1 router isis6 1 segrout node exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 mpls enable polka enable 1 65536 10 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router isis6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback1 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 2.2.2.3 , 2.2.2.3 2.2.2.3 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback2 tunnel destination 4321::3 tunnel domain-name 4321::2 4321::3 , 4321::3 4321::3 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 traffeng 4.4.4.2 segrout 10 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 traffeng 6.6.6.2 segrout 10 both segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 2 router isis4 1 segrout node exit int lo2 vrf for v1 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 2 router isis6 1 segrout node exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 mpls enable polka enable 2 65536 10 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 mpls enable polka enable 2 65536 10 router isis4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable polka enable 2 65536 10 router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 traffeng 4.4.4.3 segrout 10 both segrout red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 is-type level2 traffeng 6.6.6.3 segrout 10 both segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena router isis4 1 segrout index 3 router isis4 1 segrout node exit int lo2 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena router isis6 1 segrout index 3 router isis6 1 segrout node exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 mpls enable polka enable 3 65536 10 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 3 65536 10 router isis6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback1 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 2.2.2.1 , 2.2.2.1 2.2.2.1 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback2 tunnel destination 4321::1 tunnel domain-name 4321::2 4321::1 , 4321::1 4321::1 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo2 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo2 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo2 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo2 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo2 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo2 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r3 tping 100 20 3333::1 vrf v1 sou tun2 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 segrou v1 r2 output show ipv6 segrou v1 freeRtr-25.11.9/cfg/rout-isis109.tst000066400000000000000000000033011510423065500167630ustar00rootroot00000000000000description isis flexalgo addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 segrout 10 both segrout flexalgo 128 v2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 segrout 10 both segrout flexalgo 128 v2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 segrout 10 both segrout flexalgo 128 v2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 segrout 10 both segrout flexalgo 128 v2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 route v2 r2 output show ipv6 route v2 freeRtr-25.11.9/cfg/rout-isis110.tst000066400000000000000000000027121510423065500167600ustar00rootroot00000000000000description integrated isis flexalgo addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn segrout 10 both segrout afi-other enable afi-other red conn flexalgo 128 v2 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router isis4 1 ena router isis4 1 other-ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn segrout 10 both segrout afi-other enable afi-other red conn flexalgo 128 v2 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 other-ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 route v2 r2 output show ipv6 route v2 freeRtr-25.11.9/cfg/rout-isis111.tst000066400000000000000000000031231510423065500167560ustar00rootroot00000000000000description isis with pmtud addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 ipinfo pmtud 512 1024 666 exit int eth2 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena router isis6 1 ipinfo pmtud 512 1024 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena router isis4 1 ipinfo pmtud 512 1024 666 exit int eth2 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 ipinfo pmtud 512 1024 666 exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis112.tst000066400000000000000000000031271510423065500167630ustar00rootroot00000000000000description isis ldp sync addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 traffeng 4.4.4.1 both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 traffeng 6.6.6.1 both traff red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena router isis4 1 ldp-sync exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena router isis6 1 ldp-sync exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 traffeng 4.4.4.2 both traff red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 traffeng 6.6.6.1 both traff red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena router isis4 1 ldp-sync exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena router isis6 1 ldp-sync exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis113.tst000066400000000000000000000024721510423065500167660ustar00rootroot00000000000000description integrated isis ldp sync addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router isis4 1 ena router isis4 1 other-ena router isis4 1 ldp-sync exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn afi-other enable afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 other-ena router isis6 1 ldp-sync exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis114.tst000066400000000000000000000031701510423065500167630ustar00rootroot00000000000000description isis sha1 authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 password tester router isis4 1 authen-type sha1 exit int eth1.12 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena router isis6 1 password tester router isis6 1 authen-type sha1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena router isis4 1 password tester router isis4 1 authen-type sha1 exit int eth1.12 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 password tester router isis6 1 authen-type sha1 exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis115.tst000066400000000000000000000031541510423065500167660ustar00rootroot00000000000000description isis lsp sha1 authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both lsp-pass tester both authen-type sha1 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 both lsp-pass tester both authen-type sha1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 both lsp-pass tester both authen-type sha1 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 both lsp-pass tester both authen-type sha1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis116.tst000066400000000000000000000032021510423065500167610ustar00rootroot00000000000000description isis sha224 authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 password tester router isis4 1 authen-type sha224 exit int eth1.12 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena router isis6 1 password tester router isis6 1 authen-type sha224 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena router isis4 1 password tester router isis4 1 authen-type sha224 exit int eth1.12 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 password tester router isis6 1 authen-type sha224 exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis117.tst000066400000000000000000000031661510423065500167730ustar00rootroot00000000000000description isis lsp sha224 authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both lsp-pass tester both authen-type sha224 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 both lsp-pass tester both authen-type sha224 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 both lsp-pass tester both authen-type sha224 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 both lsp-pass tester both authen-type sha224 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis118.tst000066400000000000000000000032021510423065500167630ustar00rootroot00000000000000description isis sha256 authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 password tester router isis4 1 authen-type sha256 exit int eth1.12 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena router isis6 1 password tester router isis6 1 authen-type sha256 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena router isis4 1 password tester router isis4 1 authen-type sha256 exit int eth1.12 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 password tester router isis6 1 authen-type sha256 exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis119.tst000066400000000000000000000031661510423065500167750ustar00rootroot00000000000000description isis lsp sha256 authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both lsp-pass tester both authen-type sha256 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 both lsp-pass tester both authen-type sha256 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 both lsp-pass tester both authen-type sha256 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 both lsp-pass tester both authen-type sha256 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis120.tst000066400000000000000000000032021510423065500167540ustar00rootroot00000000000000description isis sha384 authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 password tester router isis4 1 authen-type sha384 exit int eth1.12 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena router isis6 1 password tester router isis6 1 authen-type sha384 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena router isis4 1 password tester router isis4 1 authen-type sha384 exit int eth1.12 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 password tester router isis6 1 authen-type sha384 exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis121.tst000066400000000000000000000031661510423065500167660ustar00rootroot00000000000000description isis lsp sha384 authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both lsp-pass tester both authen-type sha384 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 both lsp-pass tester both authen-type sha384 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 both lsp-pass tester both authen-type sha384 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 both lsp-pass tester both authen-type sha384 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis122.tst000066400000000000000000000032021510423065500167560ustar00rootroot00000000000000description isis sha512 authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena router isis4 1 password tester router isis4 1 authen-type sha512 exit int eth1.12 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena router isis6 1 password tester router isis6 1 authen-type sha512 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena router isis4 1 password tester router isis4 1 authen-type sha512 exit int eth1.12 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena router isis6 1 password tester router isis6 1 authen-type sha512 exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-isis123.tst000066400000000000000000000031661510423065500167700ustar00rootroot00000000000000description isis lsp sha512 authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 both lsp-pass tester both authen-type sha512 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 both lsp-pass tester both authen-type sha512 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr 1234::1 ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 both lsp-pass tester both authen-type sha512 red conn exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 both lsp-pass tester both authen-type sha512 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 router isis4 1 ena exit int eth2 vrf for v1 ipv6 addr 1234::2 ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 isis 1 nei r2 output show ipv6 isis 1 nei r2 output show ipv4 isis 1 dat 2 r2 output show ipv6 isis 1 dat 2 r2 output show ipv4 isis 1 tre 2 r2 output show ipv6 isis 1 tre 2 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp01.tst000066400000000000000000000024051510423065500167070ustar00rootroot00000000000000description lsrp point2point connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp02.tst000066400000000000000000000060511510423065500167110ustar00rootroot00000000000000description lsrp point2multipoint connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit router lsrp4 1 vrf v1 router 4.4.4.3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit bridge 1 exit router lsrp4 1 vrf v1 router 4.4.4.4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.4 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::4 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.4 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::4 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.4 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::4 vrf v1 r4 tping 100 40 2.2.2.1 vrf v1 r4 tping 100 40 2.2.2.2 vrf v1 r4 tping 100 40 2.2.2.3 vrf v1 r4 tping 100 40 4321::1 vrf v1 r4 tping 100 40 4321::2 vrf v1 r4 tping 100 40 4321::3 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp03.tst000066400000000000000000000071601510423065500167140ustar00rootroot00000000000000description lsrp point2point chain addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.4 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::4 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.4 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::4 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.4 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::4 vrf v1 r4 tping 100 40 2.2.2.1 vrf v1 r4 tping 100 40 2.2.2.2 vrf v1 r4 tping 100 40 2.2.2.3 vrf v1 r4 tping 100 40 4321::1 vrf v1 r4 tping 100 40 4321::2 vrf v1 r4 tping 100 40 4321::3 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 output ../binTmp/rout-lsrp.html here are the ipv4 neighbors:
show:0
here are the ipv6 neighbors:
show:1
here is the ipv4 database:
show:2
here is the ipv6 database:
show:3
here is the ipv4 tree:
show:4
here is the ipv6 tree:
show:5
here are the ipv4 routes:
show:6
here are the ipv6 routes:
show:7
! freeRtr-25.11.9/cfg/rout-lsrp04.tst000066400000000000000000000063641510423065500167220ustar00rootroot00000000000000description lsrp metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 exit router lsrp6 1 vrf v1 router 6.6.6.1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp4 1 passiv router lsrp6 1 ena router lsrp6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp4 1 passiv router lsrp6 1 ena router lsrp6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router lsrp4 1 ena router lsrp4 1 metric 100 router lsrp6 1 ena router lsrp6 1 metric 100 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 exit router lsrp6 1 vrf v1 router 6.6.6.3 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp4 1 passiv router lsrp6 1 ena router lsrp6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp4 1 passiv router lsrp6 1 ena router lsrp6 1 passiv exit int lo3 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit server telnet tel vrf v1 port 666 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.111 vrf v1 r2 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.222 vrf v1 r2 tping 0 40 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp05.tst000066400000000000000000000033241510423065500167140ustar00rootroot00000000000000description lsrp address suppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 exit router lsrp6 1 vrf v1 router 6.6.6.1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp4 1 passiv router lsrp6 1 ena router lsrp6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp4 1 passiv router lsrp4 1 suppress router lsrp6 1 ena router lsrp6 1 passiv router lsrp6 1 suppress exit int lo3 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp4 1 passiv router lsrp6 1 ena router lsrp6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 exit router lsrp6 1 vrf v1 router 6.6.6.2 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 0 40 2.2.2.2 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 0 40 4321::2 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp06.tst000066400000000000000000000043171510423065500167200ustar00rootroot00000000000000description lsrp route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit prefix-list p4 sequence 10 deny 2.2.2.12/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::12/128 sequence 20 permit ::/0 le 128 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn prefix-list p4 exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn prefix-list p6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 0 40 2.2.2.12 vrf v1 r1 tping 0 40 4321::12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 4321::22 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp07.tst000066400000000000000000000044211510423065500167150ustar00rootroot00000000000000description lsrp route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router lsrp4 1 vrf v1 router 4.4.4.1 route-map p4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 route-map p6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 0 40 2.2.2.12 vrf v1 r1 tping 0 40 4321::12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 4321::22 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp08.tst000066400000000000000000000042701510423065500167200ustar00rootroot00000000000000description lsrp route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-policy p4 if network 2.2.2.12/32 drop else pass enif exit route-policy p6 if network 4321::12/128 drop else pass enif exit router lsrp4 1 vrf v1 router 4.4.4.1 route-policy p4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 route-policy p6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 0 40 2.2.2.12 vrf v1 r1 tping 0 40 4321::12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 4321::22 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp09.tst000066400000000000000000000045031510423065500167200ustar00rootroot00000000000000description lsrp tag addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set tag 1234 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn route-map rm1 exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn route-map rm1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map rm1 sequence 10 act deny match tag 1234 sequence 20 act perm exit router lsrp4 1 vrf v1 router 4.4.4.2 route-map rm1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 route-map rm1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit route-map rm1 set tag 1234 exit router lsrp4 1 vrf v1 router 4.4.4.3 red conn route-map rm1 exit router lsrp6 1 vrf v1 router 6.6.6.3 red conn route-map rm1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 0 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 0 40 4321::3 vrf v1 r3 tping 0 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 0 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 tping 0 40 2.2.2.1 vrf v1 r2 tping 0 40 2.2.2.3 vrf v1 r2 tping 0 40 4321::1 vrf v1 r2 tping 0 40 4321::3 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp10.tst000066400000000000000000000024161510423065500167110ustar00rootroot00000000000000description lsrp default route addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 default exit router lsrp6 1 vrf v1 router 6.6.6.1 default exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp11.tst000066400000000000000000000046111510423065500167110ustar00rootroot00000000000000description lsrp with bfd addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 bfd 100 100 3 router lsrp4 1 ena router lsrp4 1 bfd ipv6 addr 1234:1::1 ffff:ffff:: ipv6 bfd 100 100 3 router lsrp6 1 ena router lsrp6 1 bfd exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 bfd 100 100 3 router lsrp4 1 ena router lsrp4 1 bfd router lsrp4 1 metric 100 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 bfd 100 100 3 router lsrp6 1 ena router lsrp6 1 bfd router lsrp6 1 metric 100 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 bfd 100 100 3 router lsrp4 1 ena router lsrp4 1 bfd ipv6 addr 1234:1::2 ffff:ffff:: ipv6 bfd 100 100 3 router lsrp6 1 ena router lsrp6 1 bfd exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 bfd 100 100 3 router lsrp4 1 ena router lsrp4 1 bfd router lsrp4 1 metric 100 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 bfd 100 100 3 router lsrp6 1 ena router lsrp6 1 bfd router lsrp6 1 metric 100 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 sleep 3000 r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 send conf t r2 send int eth1 r2 send shut r2 send end r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp12.tst000066400000000000000000000026111510423065500167100ustar00rootroot00000000000000description lsrp authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router lsrp4 1 ena router lsrp4 1 password test ipv6 addr 1234:1::1 ffff:ffff:: router lsrp6 1 ena router lsrp6 1 password test exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router lsrp4 1 ena router lsrp4 1 password test ipv6 addr 1234:1::2 ffff:ffff:: router lsrp6 1 ena router lsrp6 1 password test exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp13.tst000066400000000000000000000042171510423065500167150ustar00rootroot00000000000000description lsrp ssh encryption addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 crypto certificate dsa generate dsa dsa crypto certificate rsa generate rsa rsa crypto certificate ecdsa generate ecdsa ecdsa crypto certificate mldsa generate mldsa mldsa vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router lsrp4 1 ena router lsrp4 1 encryption ssh rsa dsa ecdsa mldsa rsa dsa ecdsa mldsa ipv6 addr 1234:1::1 ffff:ffff:: router lsrp6 1 ena router lsrp6 1 encryption ssh rsa dsa ecdsa mldsa rsa dsa ecdsa mldsa exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 crypto certificate dsa generate dsa dsa crypto certificate rsa generate rsa rsa crypto certificate ecdsa generate ecdsa ecdsa crypto certificate mldsa generate mldsa mldsa vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router lsrp4 1 ena router lsrp4 1 encryption ssh rsa dsa ecdsa mldsa rsa dsa ecdsa mldsa ipv6 addr 1234:1::2 ffff:ffff:: router lsrp6 1 ena router lsrp6 1 encryption ssh rsa dsa ecdsa mldsa rsa dsa ecdsa mldsa exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp14.tst000066400000000000000000000042171510423065500167160ustar00rootroot00000000000000description lsrp tls encryption addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 crypto certificate dsa generate dsa dsa crypto certificate rsa generate rsa rsa crypto certificate ecdsa generate ecdsa ecdsa crypto certificate mldsa generate mldsa mldsa vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router lsrp4 1 ena router lsrp4 1 encryption tls rsa dsa ecdsa mldsa rsa dsa ecdsa mldsa ipv6 addr 1234:1::1 ffff:ffff:: router lsrp6 1 ena router lsrp6 1 encryption tls rsa dsa ecdsa mldsa rsa dsa ecdsa mldsa exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 crypto certificate dsa generate dsa dsa crypto certificate rsa generate rsa rsa crypto certificate ecdsa generate ecdsa ecdsa crypto certificate mldsa generate mldsa mldsa vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router lsrp4 1 ena router lsrp4 1 encryption tls rsa dsa ecdsa mldsa rsa dsa ecdsa mldsa ipv6 addr 1234:1::2 ffff:ffff:: router lsrp6 1 ena router lsrp6 1 encryption tls rsa dsa ecdsa mldsa rsa dsa ecdsa mldsa exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp15.tst000066400000000000000000000027221510423065500167160ustar00rootroot00000000000000description lsrp peer template addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int temp1 vrf for v1 ipv4 addr 9.9.9.9 255.255.255.0 ipv6 addr 9999::9 ffff:: router lsrp4 1 ena router lsrp6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: temp temp1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int temp1 vrf for v1 ipv4 addr 9.9.9.9 255.255.255.0 ipv6 addr 9999::9 ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: temp temp1 exit int temp1 router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp16.tst000066400000000000000000000061251510423065500167200ustar00rootroot00000000000000description lsrp with sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 segrou v1 r2 output show ipv6 segrou v1 freeRtr-25.11.9/cfg/rout-lsrp17.tst000066400000000000000000000033751510423065500167250ustar00rootroot00000000000000description lsrp prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 exit router lsrp6 1 vrf v1 router 6.6.6.1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 exit router lsrp6 1 vrf v1 router 6.6.6.2 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r2 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r1 send conf t r1 send int lo1 r1 send no router lsrp4 1 ena r1 send no router lsrp6 1 ena r1 send end r1 tping 100 40 2.2.2.2 vrf v1 r2 tping 100 40 4321::2 vrf v1 r2 tping 0 40 2.2.2.1 vrf v1 r2 tping 0 40 4321::1 vrf v1 r1 send conf t r1 send int lo1 r1 send router lsrp4 1 ena r1 send router lsrp6 1 ena r1 send end r1 tping 100 40 2.2.2.2 vrf v1 r2 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp18.tst000066400000000000000000000064441510423065500167260ustar00rootroot00000000000000description lsrp change in metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 1000 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn route-map rm1 exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map rm1 sequence 10 act deny sequence 10 match metric 2000-4000 sequence 20 act perm exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn route-map rm1 exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 3000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 0 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 0 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 0 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 0 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 5000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp19.tst000066400000000000000000000064251510423065500167260ustar00rootroot00000000000000description lsrp change in tag addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set tag 1000 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn route-map rm1 exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map rm1 sequence 10 act deny sequence 10 match tag 2000-4000 sequence 20 act perm exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn route-map rm1 exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set tag 3000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 0 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 0 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 0 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 0 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set tag 5000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp20.tst000066400000000000000000000041741510423065500167150ustar00rootroot00000000000000description lsrp auto mesh tunnel addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn automesh all exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn automesh all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.0 ipv6 addr 9999::1 ffff:: router lsrp4 1 ena router lsrp6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn automesh all exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn automesh all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.0 ipv6 addr 9999::2 ffff:: router lsrp4 1 ena router lsrp6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit ! r1 tping 100 40 9.9.9.2 vrf v1 r1 tping 100 40 9999::2 vrf v1 r2 tping 100 40 9.9.9.1 vrf v1 r2 tping 100 40 9999::1 vrf v1 r1 tping 0 40 2.2.2.2 vrf v1 r1 tping 0 40 4321::2 vrf v1 r2 tping 0 40 2.2.2.1 vrf v1 r2 tping 0 40 4321::1 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp21.tst000066400000000000000000000056071510423065500167200ustar00rootroot00000000000000description lsrp triangle connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router lsrp4 1 ena router lsrp4 1 metric 100 router lsrp6 1 ena router lsrp6 1 metric 100 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 red conn exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router lsrp4 1 ena router lsrp4 1 metric 100 router lsrp6 1 ena router lsrp6 1 metric 100 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp22.tst000066400000000000000000000134031510423065500167120ustar00rootroot00000000000000description lsrp prefix movement addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 10 exit router lsrp4 1 vrf v1 router 4.4.4.1 advertise 2.2.2.1/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router lsrp6 1 vrf v1 router 6.6.6.1 advertise 4321::1/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 advertise 2.2.2.2/32 exit router lsrp6 1 vrf v1 router 6.6.6.2 advertise 4321::2/128 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 20 exit router lsrp4 1 vrf v1 router 4.4.4.3 advertise 2.2.2.3/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router lsrp6 1 vrf v1 router 6.6.6.3 advertise 4321::3/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 2.2.2.222 vrf v1 r1 tping 100 40 4321::222 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 tping 100 40 4321::222 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 2.2.2.3 vrf v1 r3 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.222 vrf v1 r3 tping 100 40 4321::222 vrf v1 r2 tping 0 40 2.2.2.101 vrf v1 r2 tping 0 40 4321::101 vrf v1 r2 tping 0 40 2.2.2.103 vrf v1 r2 tping 0 40 4321::103 vrf v1 r2 send telnet 2.2.2.222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r2 send telnet 4321::222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 30 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 2.2.2.222 vrf v1 r1 tping 100 40 4321::222 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 tping 100 40 4321::222 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 2.2.2.3 vrf v1 r3 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.222 vrf v1 r3 tping 100 40 4321::222 vrf v1 r2 tping 0 40 2.2.2.101 vrf v1 r2 tping 0 40 4321::101 vrf v1 r2 tping 0 40 2.2.2.103 vrf v1 r2 tping 0 40 4321::103 vrf v1 r2 send telnet 2.2.2.222 666 vrf v1 r2 tping 100 40 2.2.2.103 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.103 vrf v1 r2 send telnet 4321::222 666 vrf v1 r2 tping 100 40 2.2.2.103 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.103 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 10 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 2.2.2.222 vrf v1 r1 tping 100 40 4321::222 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 tping 100 40 4321::222 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 2.2.2.3 vrf v1 r3 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.222 vrf v1 r3 tping 100 40 4321::222 vrf v1 r2 tping 0 40 2.2.2.101 vrf v1 r2 tping 0 40 4321::101 vrf v1 r2 tping 0 40 2.2.2.103 vrf v1 r2 tping 0 40 4321::103 vrf v1 r2 send telnet 2.2.2.222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r2 send telnet 4321::222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp23.tst000066400000000000000000000070561510423065500167220ustar00rootroot00000000000000description lsrp with bier addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.2 bier 256 10 2 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 bier 256 10 2 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv6 addr 4321::1112 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 0 20 2.2.2.3 vrf v1 sou lo1 r3 tping 0 20 2.2.2.1 vrf v1 sou lo1 r1 tping 0 20 4321::3 vrf v1 sou lo1 r3 tping 0 20 4321::1 vrf v1 sou lo1 r1 tping 100 20 3.3.3.2 vrf v1 r1 tping 100 20 4321::1112 vrf v1 r3 tping 100 20 3.3.3.1 vrf v1 r3 tping 100 20 4321::1111 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 bier v1 r2 output show ipv6 bier v1 freeRtr-25.11.9/cfg/rout-lsrp24.tst000066400000000000000000000051151510423065500167150ustar00rootroot00000000000000description lsrp autoroute addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ int ser2 ser 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.0 ipv6 addr 9999::1 ffff:: router lsrp4 1 ena router lsrp6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int ser2 vrf for v1 ipv4 addr 9.9.8.1 255.255.255.0 ipv6 addr 9998::1 ffff:: ipv4 autoroute lsrp4 1 2.2.2.2 9.9.8.2 ipv6 autoroute lsrp6 1 4321::2 9998::2 exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ int ser2 ser 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.0 ipv6 addr 9999::2 ffff:: router lsrp4 1 ena router lsrp6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int ser2 vrf for v1 ipv4 addr 9.9.8.2 255.255.255.0 ipv6 addr 9998::2 ffff:: ipv4 autoroute lsrp4 1 2.2.2.1 9.9.8.1 ipv6 autoroute lsrp6 1 4321::1 9998::1 exit ! r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 4321::12 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 4321::11 vrf v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r1 tping 0 40 9.9.9.2 vrf v1 r1 tping 0 40 9999::2 vrf v1 r2 tping 0 40 9.9.9.1 vrf v1 r2 tping 0 40 9999::1 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp25.tst000066400000000000000000000061141510423065500167160ustar00rootroot00000000000000description lsrp stub node addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 stub red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 stub red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.4 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::4 vrf v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 0 40 2.2.2.3 vrf v1 r1 tping 0 40 2.2.2.4 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 0 40 4321::3 vrf v1 r1 tping 0 40 4321::4 vrf v1 r3 tping 0 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.4 vrf v1 r3 tping 0 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::4 vrf v1 r4 tping 0 40 2.2.2.1 vrf v1 r4 tping 100 40 2.2.2.2 vrf v1 r4 tping 100 40 2.2.2.3 vrf v1 r4 tping 0 40 4321::1 vrf v1 r4 tping 100 40 4321::2 vrf v1 r4 tping 100 40 4321::3 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp26.tst000066400000000000000000000062311510423065500167170ustar00rootroot00000000000000description lsrp stub interface addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router lsrp4 1 ena router lsrp4 1 stub router lsrp6 1 ena router lsrp6 1 stub exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router lsrp4 1 ena router lsrp4 1 stub router lsrp6 1 ena router lsrp6 1 stub exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.4 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::4 vrf v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 0 40 2.2.2.3 vrf v1 r1 tping 0 40 2.2.2.4 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 0 40 4321::3 vrf v1 r1 tping 0 40 4321::4 vrf v1 r3 tping 0 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.4 vrf v1 r3 tping 0 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::4 vrf v1 r4 tping 0 40 2.2.2.1 vrf v1 r4 tping 100 40 2.2.2.2 vrf v1 r4 tping 100 40 2.2.2.3 vrf v1 r4 tping 0 40 4321::1 vrf v1 r4 tping 100 40 4321::2 vrf v1 r4 tping 100 40 4321::3 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp27.tst000066400000000000000000000062771510423065500167320ustar00rootroot00000000000000description lsrp unstub interface addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 stub red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 stub red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router lsrp4 1 ena router lsrp4 1 unstub router lsrp6 1 ena router lsrp6 1 unstub exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router lsrp4 1 ena router lsrp4 1 unstub router lsrp6 1 ena router lsrp6 1 unstub exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.4 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::4 vrf v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.4 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::4 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.4 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::4 vrf v1 r4 tping 100 40 2.2.2.1 vrf v1 r4 tping 100 40 2.2.2.2 vrf v1 r4 tping 100 40 2.2.2.3 vrf v1 r4 tping 100 40 4321::1 vrf v1 r4 tping 100 40 4321::2 vrf v1 r4 tping 100 40 4321::3 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp28.tst000066400000000000000000000031761510423065500167260ustar00rootroot00000000000000description lsrp default address suppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.1 suppress justadv lo1 exit router lsrp6 1 vrf v1 router 6.6.6.1 suppress justadv lo1 exit int lo2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp4 1 passiv router lsrp6 1 ena router lsrp6 1 passiv exit int lo3 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp4 1 passiv router lsrp6 1 ena router lsrp6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 exit router lsrp6 1 vrf v1 router 6.6.6.2 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 0 40 2.2.2.2 vrf v1 r2 tping 0 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 0 40 4321::2 vrf v1 r2 tping 0 40 4321::3 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp29.tst000066400000000000000000000032621510423065500167230ustar00rootroot00000000000000description lsrp address unsuppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.1 suppress justadv lo1 exit router lsrp6 1 vrf v1 router 6.6.6.1 suppress justadv lo1 exit int lo2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp4 1 passiv router lsrp6 1 ena router lsrp6 1 passiv exit int lo3 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp4 1 passiv router lsrp4 1 unsuppress router lsrp6 1 ena router lsrp6 1 passiv router lsrp6 1 unsuppress exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 exit router lsrp6 1 vrf v1 router 6.6.6.2 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 0 40 2.2.2.2 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 0 40 4321::2 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp30.tst000066400000000000000000000071371510423065500167200ustar00rootroot00000000000000description lsrp with php sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 pop red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 pop red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo1 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 pop red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 pop red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 pop red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 pop red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo1 pweompls 4321::1 1234 exit ! r1 tping 0 20 2.2.2.2 vrf v1 sou lo1 r1 tping 0 20 2.2.2.3 vrf v1 sou lo1 r2 tping 0 20 2.2.2.1 vrf v1 sou lo1 r2 tping 0 20 2.2.2.3 vrf v1 sou lo1 r3 tping 0 20 2.2.2.1 vrf v1 sou lo1 r3 tping 0 20 2.2.2.2 vrf v1 sou lo1 r1 tping 0 20 4321::2 vrf v1 sou lo1 r1 tping 0 20 4321::3 vrf v1 sou lo1 r2 tping 0 20 4321::1 vrf v1 sou lo1 r2 tping 0 20 4321::3 vrf v1 sou lo1 r3 tping 0 20 4321::1 vrf v1 sou lo1 r3 tping 0 20 4321::2 vrf v1 sou lo1 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 segrou v1 r2 output show ipv6 segrou v1 freeRtr-25.11.9/cfg/rout-lsrp31.tst000066400000000000000000000062201510423065500167110ustar00rootroot00000000000000description lsrp with srgb sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 base 100 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 base 200 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 base 100 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 base 200 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 base 100 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 base 200 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 segrou v1 r2 output show ipv6 segrou v1 freeRtr-25.11.9/cfg/rout-lsrp32.tst000066400000000000000000000025161510423065500167160ustar00rootroot00000000000000description lsrp over point2point ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.254 ipv6 addr 1234::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.254 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp33.tst000066400000000000000000000065551510423065500167260ustar00rootroot00000000000000description lsrp with selective sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 0 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 0 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena router lsrp4 1 segrou 1 router lsrp6 1 segrou 1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 0 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 0 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena router lsrp4 1 segrou 2 router lsrp6 1 segrou 2 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 0 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 0 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena router lsrp4 1 segrou 3 router lsrp6 1 segrou 3 exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 segrou v1 r2 output show ipv6 segrou v1 freeRtr-25.11.9/cfg/rout-lsrp34.tst000066400000000000000000000075061510423065500167240ustar00rootroot00000000000000description lsrp with selective bier addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 0 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 0 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena router lsrp4 1 bier 1 3 router lsrp6 1 bier 1 3 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.2 bier 256 10 0 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 bier 256 10 0 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena router lsrp4 1 bier 2 3 router lsrp6 1 bier 2 3 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 0 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 0 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena router lsrp4 1 bier 3 3 router lsrp6 1 bier 3 3 exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router lsrp4 1 ena router lsrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv6 addr 4321::1112 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 0 20 2.2.2.3 vrf v1 sou lo1 r3 tping 0 20 2.2.2.1 vrf v1 sou lo1 r1 tping 0 20 4321::3 vrf v1 sou lo1 r3 tping 0 20 4321::1 vrf v1 sou lo1 r1 tping 100 20 3.3.3.2 vrf v1 r1 tping 100 20 4321::1112 vrf v1 r3 tping 100 20 3.3.3.1 vrf v1 r3 tping 100 20 4321::1111 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 bier v1 r2 output show ipv6 bier v1 freeRtr-25.11.9/cfg/rout-lsrp35.tst000066400000000000000000000040721510423065500167200ustar00rootroot00000000000000description lsrp peer metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router lsrp4 1 ena router lsrp4 1 metric 100 router lsrp6 1 ena router lsrp6 1 metric 100 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: mpls enable router lsrp4 1 ena router lsrp4 1 metric 1 router lsrp6 1 ena router lsrp6 1 metric 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router lsrp4 1 ena router lsrp4 1 metric 2 router lsrp4 1 accept-met router lsrp6 1 ena router lsrp6 1 metric 2 router lsrp6 1 accept-met exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router lsrp4 1 ena router lsrp4 1 metric 200 router lsrp4 1 accept-met router lsrp6 1 ena router lsrp6 1 metric 200 router lsrp6 1 accept-met exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 segrou v1 r2 output show ipv6 segrou v1 freeRtr-25.11.9/cfg/rout-lsrp36.tst000066400000000000000000000025021510423065500167150ustar00rootroot00000000000000description lsrp point2point connection with bidir check addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn spf-bidir exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn spf-bidir exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn spf-bidir exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn spf-bidir exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp37.tst000066400000000000000000000062221510423065500167210ustar00rootroot00000000000000description lsrp point2multipoint connection with bidir check addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn spf-bidir exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn spf-bidir exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn spf-bidir exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn spf-bidir exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit router lsrp4 1 vrf v1 router 4.4.4.3 red conn spf-bidir exit router lsrp6 1 vrf v1 router 6.6.6.3 red conn spf-bidir exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit bridge 1 exit router lsrp4 1 vrf v1 router 4.4.4.4 red conn spf-bidir exit router lsrp6 1 vrf v1 router 6.6.6.4 red conn spf-bidir exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.4 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::4 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.4 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::4 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.4 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::4 vrf v1 r4 tping 100 40 2.2.2.1 vrf v1 r4 tping 100 40 2.2.2.2 vrf v1 r4 tping 100 40 2.2.2.3 vrf v1 r4 tping 100 40 4321::1 vrf v1 r4 tping 100 40 4321::2 vrf v1 r4 tping 100 40 4321::3 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp38.tst000066400000000000000000000067461510423065500167350ustar00rootroot00000000000000description lsrp ecmp connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn spf-ecmp ecmp exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn spf-ecmp ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:21::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.10 255.255.255.252 ipv6 addr 1234:23::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn spf-ecmp ecmp exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn spf-ecmp ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:21::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.252 ipv6 addr 1234:22::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 red conn spf-ecmp ecmp exit router lsrp6 1 vrf v1 router 6.6.6.3 red conn spf-ecmp ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.252 ipv6 addr 1234:22::2 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.9 255.255.255.252 ipv6 addr 1234:23::1 ffff:ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp39.tst000066400000000000000000000050031510423065500167170ustar00rootroot00000000000000description lsrp with bgp linkstate addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.1 justadvert lo1 exit router lsrp6 1 vrf v1 router 6.6.6.1 justadvert lo1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router lsrp4 1 ena router lsrp6 1 ena exit router bgp4 1 vrf v1 no safe-ebgp address uni linkstate local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 linkstate afi-link lsrp4 1 0 justadvert lo2 exit router bgp6 1 vrf v1 no safe-ebgp address uni linkstate local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 linkstate afi-link lsrp6 1 0 justadvert lo2 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router lsrp4 1 vrf v1 router 4.4.4.2 justadvert lo1 exit router lsrp6 1 vrf v1 router 6.6.6.2 justadvert lo1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router lsrp4 1 ena router lsrp6 1 ena exit router bgp4 1 vrf v1 no safe-ebgp address uni linkstate local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 linkstate afi-link lsrp4 1 0 justadvert lo2 exit router bgp6 1 vrf v1 no safe-ebgp address uni linkstate local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 linkstate afi-link lsrp6 1 0 justadvert lo2 exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r1 tping 100 20 2.2.2.102 vrf v1 r2 tping 100 20 2.2.2.101 vrf v1 r1 tping 100 20 4321::102 vrf v1 r2 tping 100 20 4321::101 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 r1 output show ipv4 bgp 1 uni dat r1 output show ipv6 bgp 1 uni dat r1 output show ipv4 bgp 1 links dat r1 output show ipv6 bgp 1 links dat freeRtr-25.11.9/cfg/rout-lsrp40.tst000066400000000000000000000026121510423065500167120ustar00rootroot00000000000000description lsrp no authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router lsrp4 1 ena router lsrp4 1 password test router lsrp4 1 disable-pass ipv6 addr 1234:1::1 ffff:ffff:: router lsrp6 1 ena router lsrp6 1 password test router lsrp6 1 disable-pass exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router lsrp4 1 ena ipv6 addr 1234:1::2 ffff:ffff:: router lsrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp41.tst000066400000000000000000000025521510423065500167160ustar00rootroot00000000000000description lsrp database authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 database-pass test red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 database-pass test red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router lsrp4 1 ena ipv6 addr 1234:1::1 ffff:ffff:: router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 database-pass test red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 database-pass test red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router lsrp4 1 ena ipv6 addr 1234:1::2 ffff:ffff:: router lsrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp42.tst000066400000000000000000000046721510423065500167240ustar00rootroot00000000000000description lsrp with strict bfd addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 bfd 100 100 3 router lsrp4 1 ena router lsrp4 1 bfd strict ipv6 addr 1234:1::1 ffff:ffff:: ipv6 bfd 100 100 3 router lsrp6 1 ena router lsrp6 1 bfd strict exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 bfd 100 100 3 router lsrp4 1 ena router lsrp4 1 bfd strict router lsrp4 1 metric 100 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 bfd 100 100 3 router lsrp6 1 ena router lsrp6 1 bfd strict router lsrp6 1 metric 100 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 bfd 100 100 3 router lsrp4 1 ena router lsrp4 1 bfd strict ipv6 addr 1234:1::2 ffff:ffff:: ipv6 bfd 100 100 3 router lsrp6 1 ena router lsrp6 1 bfd strict exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 bfd 100 100 3 router lsrp4 1 ena router lsrp4 1 bfd router lsrp4 1 metric 100 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 bfd 100 100 3 router lsrp6 1 ena router lsrp6 1 bfd router lsrp6 1 metric 100 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 sleep 3000 r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 send conf t r2 send int eth1 r2 send shut r2 send end r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp43.tst000066400000000000000000000065461510423065500167270ustar00rootroot00000000000000description lsrp with polka addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback1 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback1 tunnel destination 4321::3 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback1 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback1 tunnel destination 4321::1 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r3 tping 100 20 3333::1 vrf v1 sou tun2 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 segrou v1 r2 output show ipv6 segrou v1 freeRtr-25.11.9/cfg/rout-lsrp44.tst000066400000000000000000000037151510423065500167230ustar00rootroot00000000000000description lsrp dynamic inband metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router lsrp4 1 ena router lsrp4 1 metric 100 router lsrp6 1 ena router lsrp6 1 metric 100 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: router lsrp4 1 ena router lsrp4 1 metric 1 router lsrp6 1 ena router lsrp6 1 metric 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router lsrp4 1 ena router lsrp4 1 metric 2 router lsrp4 1 dynamic-met mod inb router lsrp6 1 ena router lsrp6 1 metric 2 router lsrp6 1 dynamic-met mod inb exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: router lsrp4 1 ena router lsrp4 1 metric 200 router lsrp4 1 dynamic-met mod inb router lsrp6 1 ena router lsrp6 1 metric 200 router lsrp6 1 dynamic-met mod inb exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp45.tst000066400000000000000000000037131510423065500167220ustar00rootroot00000000000000description lsrp dynamic icmp metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router lsrp4 1 ena router lsrp4 1 metric 100 router lsrp6 1 ena router lsrp6 1 metric 100 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: router lsrp4 1 ena router lsrp4 1 metric 1 router lsrp6 1 ena router lsrp6 1 metric 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router lsrp4 1 ena router lsrp4 1 metric 2 router lsrp4 1 dynamic-met mod icm router lsrp6 1 ena router lsrp6 1 metric 2 router lsrp6 1 dynamic-met mod icm exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: router lsrp4 1 ena router lsrp4 1 metric 200 router lsrp4 1 dynamic-met mod icm router lsrp6 1 ena router lsrp6 1 metric 200 router lsrp6 1 dynamic-met mod icm exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp46.tst000066400000000000000000000037461510423065500167310ustar00rootroot00000000000000description lsrp dynamic udp metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit server echo e vrf v1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router lsrp4 1 ena router lsrp4 1 metric 100 router lsrp6 1 ena router lsrp6 1 metric 100 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: router lsrp4 1 ena router lsrp4 1 metric 1 router lsrp6 1 ena router lsrp6 1 metric 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router lsrp4 1 ena router lsrp4 1 metric 2 router lsrp4 1 dynamic-met mod udp router lsrp6 1 ena router lsrp6 1 metric 2 router lsrp6 1 dynamic-met mod udp exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: router lsrp4 1 ena router lsrp4 1 metric 200 router lsrp4 1 dynamic-met mod udp router lsrp6 1 ena router lsrp6 1 metric 200 router lsrp6 1 dynamic-met mod udp exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp47.tst000066400000000000000000000037511510423065500167260ustar00rootroot00000000000000description lsrp dynamic twamp metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit server twamp t vrf v1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router lsrp4 1 ena router lsrp4 1 metric 100 router lsrp6 1 ena router lsrp6 1 metric 100 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: router lsrp4 1 ena router lsrp4 1 metric 1 router lsrp6 1 ena router lsrp6 1 metric 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router lsrp4 1 ena router lsrp4 1 metric 2 router lsrp4 1 dynamic-met mod twa router lsrp6 1 ena router lsrp6 1 metric 2 router lsrp6 1 dynamic-met mod twa exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: router lsrp4 1 ena router lsrp4 1 metric 200 router lsrp4 1 dynamic-met mod twa router lsrp6 1 ena router lsrp6 1 metric 200 router lsrp6 1 dynamic-met mod twa exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp48.tst000066400000000000000000000067231510423065500167310ustar00rootroot00000000000000description lsrp with mpolka addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable polka enable 1 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback1 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 2.2.2.3 , 2.2.2.3 2.2.2.3 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback1 tunnel destination 4321::3 tunnel domain-name 4321::2 4321::3 , 4321::3 4321::3 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable polka enable 2 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable polka enable 3 65536 10 router lsrp4 1 ena router lsrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback1 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 2.2.2.1 , 2.2.2.1 2.2.2.1 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback1 tunnel destination 4321::1 tunnel domain-name 4321::2 4321::1 , 4321::1 4321::1 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r3 tping 100 20 3333::1 vrf v1 sou tun2 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 segrou v1 r2 output show ipv6 segrou v1 freeRtr-25.11.9/cfg/rout-lsrp49.tst000066400000000000000000000026471510423065500167330ustar00rootroot00000000000000description lsrp flexalgo addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 flexalgo 128 v2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 flexalgo 128 v2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 flexalgo 128 v2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 flexalgo 128 v2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router lsrp4 1 ena router lsrp6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 route v2 r2 output show ipv6 route v2 freeRtr-25.11.9/cfg/rout-lsrp50.tst000066400000000000000000000026411510423065500167150ustar00rootroot00000000000000description lsrp with pmtud addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router lsrp4 1 ena router lsrp6 1 ena router lsrp4 1 ipinfo pmtud 512 1024 666 router lsrp6 1 ipinfo pmtud 512 1024 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router lsrp4 1 ena router lsrp6 1 ena router lsrp4 1 ipinfo pmtud 512 1024 666 router lsrp6 1 ipinfo pmtud 512 1024 666 exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-lsrp51.tst000066400000000000000000000025331510423065500167160ustar00rootroot00000000000000description lsrp ldp sync addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router lsrp4 1 ena router lsrp6 1 ena router lsrp4 1 ldp-sync router lsrp6 1 ldp-sync exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router lsrp4 1 ena router lsrp6 1 ena router lsrp4 1 ldp-sync router lsrp6 1 ldp-sync exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 lsrp 1 nei r2 output show ipv6 lsrp 1 nei r2 output show ipv4 lsrp 1 dat r2 output show ipv6 lsrp 1 dat r2 output show ipv4 lsrp 1 tre r2 output show ipv6 lsrp 1 tre r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-mcast01.tst000066400000000000000000000050071510423065500170370ustar00rootroot00000000000000description multicast routing with static flooding addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 multi static 232.2.2.2 1.1.1.1 ipv6 multi static ff06::1 1234:1::1 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 multi static 232.2.2.2 1.1.1.1 ipv6 multi static ff06::1 1234:1::1 exit int eth3 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 multi static 232.2.2.2 1.1.1.1 ipv6 multi static ff06::1 1234:1::1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 route v1 :: :: 1234:2::2 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 mroute v1 :: :: 1234:2::2 ipv4 multi v1 join 232.2.2.2 1.1.1.1 ipv6 multi v1 join ff06::1 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.10 ipv6 route v1 :: :: 1234:3::2 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.10 ipv6 mroute v1 :: :: 1234:3::2 ipv4 multi v1 join 232.2.2.2 1.1.1.1 ipv6 multi v1 join ff06::1 1234:1::1 ! r2 tping 100 5 1.1.1.9 vrf v1 r2 tping 100 5 1.1.1.5 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:3::1 vrf v1 r2 tping 100 5 1234:2::1 vrf v1 r2 tping 100 5 1234:1::1 vrf v1 r1 tping 100 5 1.1.1.9 vrf v1 r1 tping 100 5 1.1.1.5 vrf v1 r1 tping 100 5 1234:3::1 vrf v1 r1 tping 100 5 1234:2::1 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1234:1::1 vrf v1 r4 tping 100 5 1.1.1.1 vrf v1 r4 tping 100 5 1234:1::1 vrf v1 r1 tping 200 5 232.2.2.2 vrf v1 sou eth1 multi r1 tping 200 5 ff06::1 vrf v1 sou eth1 multi r2 output show ipv4 mroute v1 r2 output show ipv6 mroute v1 output ../binTmp/rout-mcast.html here is the ipv4 route:
show:0
here is the ipv6 route:
show:1
! freeRtr-25.11.9/cfg/rout-mcast02.tst000066400000000000000000000042361510423065500170430ustar00rootroot00000000000000description multicast routing with pim ssm addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit int eth3 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 route v1 :: :: 1234:2::2 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 mroute v1 :: :: 1234:2::2 ipv4 multi v1 join 232.2.2.2 1.1.1.1 ipv6 multi v1 join ff06::1 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.10 ipv6 route v1 :: :: 1234:3::2 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.10 ipv6 mroute v1 :: :: 1234:3::2 ipv4 multi v1 join 232.2.2.2 1.1.1.1 ipv6 multi v1 join ff06::1 1234:1::1 ! r2 tping 100 5 1.1.1.9 vrf v1 r2 tping 100 5 1.1.1.5 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:3::1 vrf v1 r2 tping 100 5 1234:2::1 vrf v1 r2 tping 100 5 1234:1::1 vrf v1 r1 tping 100 5 1.1.1.9 vrf v1 r1 tping 100 5 1.1.1.5 vrf v1 r1 tping 100 5 1234:3::1 vrf v1 r1 tping 100 5 1234:2::1 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1234:1::1 vrf v1 r4 tping 100 5 1.1.1.1 vrf v1 r4 tping 100 5 1234:1::1 vrf v1 r1 tping 200 5 232.2.2.2 vrf v1 sou eth1 multi r1 tping 200 5 ff06::1 vrf v1 sou eth1 multi freeRtr-25.11.9/cfg/rout-mcast03.tst000066400000000000000000000047571510423065500170540ustar00rootroot00000000000000description multicast routing with igmp/mld addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 multi host-ena ipv4 multi host-pro ipv6 multi host-ena ipv6 multi host-pro exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 multi host-ena ipv4 multi host-pro ipv6 multi host-ena ipv6 multi host-pro exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 multi host-ena ipv4 multi host-pro ipv6 multi host-ena ipv6 multi host-pro exit int eth3 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 multi host-ena ipv4 multi host-pro ipv6 multi host-ena ipv6 multi host-pro exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 multi host-ena ipv4 multi host-pro ipv6 multi host-ena ipv6 multi host-pro exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 route v1 :: :: 1234:2::2 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 mroute v1 :: :: 1234:2::2 ipv4 multi v1 join 232.2.2.2 1.1.1.1 ipv6 multi v1 join ff06::1 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 multi host-ena ipv4 multi host-pro ipv6 multi host-ena ipv6 multi host-pro exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.10 ipv6 route v1 :: :: 1234:3::2 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.10 ipv6 mroute v1 :: :: 1234:3::2 ipv4 multi v1 join 232.2.2.2 1.1.1.1 ipv6 multi v1 join ff06::1 1234:1::1 ! r2 tping 100 5 1.1.1.9 vrf v1 r2 tping 100 5 1.1.1.5 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:3::1 vrf v1 r2 tping 100 5 1234:2::1 vrf v1 r2 tping 100 5 1234:1::1 vrf v1 r1 tping 100 5 1.1.1.9 vrf v1 r1 tping 100 5 1.1.1.5 vrf v1 r1 tping 100 5 1234:3::1 vrf v1 r1 tping 100 5 1234:2::1 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1234:1::1 vrf v1 r4 tping 100 5 1.1.1.1 vrf v1 r4 tping 100 5 1234:1::1 vrf v1 r1 tping 200 5 232.2.2.2 vrf v1 sou eth1 multi r1 tping 200 5 ff06::1 vrf v1 sou eth1 multi freeRtr-25.11.9/cfg/rout-mcast04.tst000066400000000000000000000045771510423065500170550ustar00rootroot00000000000000description multicast routing with mldp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int eth3 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 route v1 :: :: 1234:2::2 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 mroute v1 :: :: 1234:2::2 ipv4 multi v1 join 232.2.2.2 1.1.1.1 ipv6 multi v1 join ff06::1 1234:1::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.10 ipv6 route v1 :: :: 1234:3::2 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.10 ipv6 mroute v1 :: :: 1234:3::2 ipv4 multi v1 join 232.2.2.2 1.1.1.1 ipv6 multi v1 join ff06::1 1234:1::1 ! r2 tping 100 5 1.1.1.9 vrf v1 r2 tping 100 5 1.1.1.5 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:3::1 vrf v1 r2 tping 100 5 1234:2::1 vrf v1 r2 tping 100 5 1234:1::1 vrf v1 r1 tping 100 5 1.1.1.9 vrf v1 r1 tping 100 5 1.1.1.5 vrf v1 r1 tping 100 5 1234:3::1 vrf v1 r1 tping 100 5 1234:2::1 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1234:1::1 vrf v1 r4 tping 100 5 1.1.1.1 vrf v1 r4 tping 100 5 1234:1::1 vrf v1 r1 tping 200 5 232.2.2.2 vrf v1 sou eth1 multi r1 tping 200 5 ff06::1 vrf v1 sou eth1 multi freeRtr-25.11.9/cfg/rout-mcast05.tst000066400000000000000000000077501510423065500170520ustar00rootroot00000000000000description multicast between pim and mldp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.5 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 red conn exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.10 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 ipv4 multi mldp mpls ldp6 ipv6 multi mldp exit int eth2 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.9 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 red conn exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 red conn exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.14 ipv6 route v1 :: :: 1234:4::2 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.14 ipv6 mroute v1 :: :: 1234:4::2 ipv4 multi v1 join 232.2.2.2 1.1.1.1 ipv6 multi v1 join ff06::1 1234:1::1 ! r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 2.2.2.1 vrf v1 r1 tping 100 60 4321::1 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r5 tping 100 60 2.2.2.3 vrf v1 r5 tping 100 60 4321::3 vrf v1 r5 tping 100 60 2.2.2.1 vrf v1 r5 tping 100 60 4321::1 vrf v1 r1 tping 100 60 1.1.1.13 vrf v1 r1 tping 100 60 1234:4::1 vrf v1 r5 tping 100 60 1.1.1.1 vrf v1 r5 tping 100 60 1234:1::1 vrf v1 r1 tping 100 10 232.2.2.2 vrf v1 sou eth1 r1 tping 100 10 ff06::1 vrf v1 sou eth1 freeRtr-25.11.9/cfg/rout-mcast06.tst000066400000000000000000000123221510423065500170420ustar00rootroot00000000000000description multicast vpn routing with mldp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.5 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.5 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.4 remote-as 1 neigh 2.2.2.4 update lo0 neigh 2.2.2.4 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::4 remote-as 1 neigh 4321::4 update lo0 neigh 4321::4 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit int eth3 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.10 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.14 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.9 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 multi v2 join 232.2.2.2 3.3.3.1 ipv6 multi v2 join ff06::1 3333::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.4 255.255.255.255 ipv6 addr 3333::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.13 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.4 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.4 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 multi v2 join 232.2.2.2 3.3.3.1 ipv6 multi v2 join ff06::1 3333::1 ! r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.3 vrf v2 r1 tping 100 60 3333::3 vrf v2 r1 tping 100 60 3.3.3.4 vrf v2 r1 tping 100 60 3333::4 vrf v2 r3 tping 100 60 3.3.3.1 vrf v2 r3 tping 100 60 3333::1 vrf v2 r4 tping 100 60 3.3.3.1 vrf v2 r4 tping 100 60 3333::1 vrf v2 r1 tping 200 10 232.2.2.2 vrf v2 sou lo1 multi r1 tping 200 10 ff06::1 vrf v2 sou lo1 multi freeRtr-25.11.9/cfg/rout-mcast07.tst000066400000000000000000000107001510423065500170410ustar00rootroot00000000000000description multicast vpn between pim and mldp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.5 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.10 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit int eth2 vrf for v2 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.9 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.14 ipv6 route v1 :: :: 1234:4::2 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.14 ipv6 mroute v1 :: :: 1234:4::2 ipv4 multi v1 join 232.2.2.2 1.1.1.1 ipv6 multi v1 join ff06::1 1234:1::1 ! r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.1 vrf v1 r1 tping 100 60 3333::1 vrf v1 r1 tping 100 60 3.3.3.3 vrf v1 r1 tping 100 60 3333::3 vrf v1 r5 tping 100 60 3.3.3.3 vrf v1 r5 tping 100 60 3333::3 vrf v1 r5 tping 100 60 3.3.3.1 vrf v1 r5 tping 100 60 3333::1 vrf v1 r1 tping 100 60 1.1.1.13 vrf v1 r1 tping 100 60 1234:4::1 vrf v1 r5 tping 100 60 1.1.1.1 vrf v1 r5 tping 100 60 1234:1::1 vrf v1 r1 tping 100 10 232.2.2.2 vrf v1 sou eth1 r1 tping 100 10 ff06::1 vrf v1 sou eth1 freeRtr-25.11.9/cfg/rout-mcast08.tst000066400000000000000000000124751510423065500170550ustar00rootroot00000000000000description multicast othervpn routing with mldp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.5 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.5 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni vpnmlt ovpnuni ovpnmlt local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.4 remote-as 1 neigh 2.2.2.4 update lo0 neigh 2.2.2.4 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt ovpnuni ovpnmlt local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::4 remote-as 1 neigh 4321::4 update lo0 neigh 4321::4 send-comm both exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit int eth3 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.10 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ipv4 route v1 2.2.2.4 255.255.255.255 1.1.1.14 ipv6 route v1 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.9 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 router bgp4 1 vrf v1 address vpnuni vpnmlt ovpnuni ovpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt ovpnuni ovpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both exit ipv4 multi v2 join 232.2.2.2 3.3.3.1 ipv6 multi v2 join ff06::1 3333::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.4 255.255.255.255 ipv6 addr 3333::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.13 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:4::1 router bgp4 1 vrf v1 address vpnuni vpnmlt ovpnuni ovpnmlt local-as 1 router-id 4.4.4.4 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt ovpnuni ovpnmlt local-as 1 router-id 6.6.6.4 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both exit ipv4 multi v2 join 232.2.2.2 3.3.3.1 ipv6 multi v2 join ff06::1 3333::1 ! r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.3 vrf v2 r1 tping 100 60 3333::3 vrf v2 r1 tping 100 60 3.3.3.4 vrf v2 r1 tping 100 60 3333::4 vrf v2 r3 tping 100 60 3.3.3.1 vrf v2 r3 tping 100 60 3333::1 vrf v2 r4 tping 100 60 3.3.3.1 vrf v2 r4 tping 100 60 3333::1 vrf v2 r1 tping 200 10 232.2.2.2 vrf v2 sou lo1 multi r1 tping 200 10 ff06::1 vrf v2 sou lo1 multi freeRtr-25.11.9/cfg/rout-mcast09.tst000066400000000000000000000110111510423065500170370ustar00rootroot00000000000000description multicast othervpn between pim and mldp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.5 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 router bgp4 1 vrf v1 address vpnuni vpnmlt ovpnuni ovpnmlt local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt ovpnuni ovpnmlt local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.6 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.10 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::2 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 mldp mdt6 mldp exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v2 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls ena mpls ldp4 mpls ldp6 exit int eth2 vrf for v2 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 2.2.2.1 255.255.255.255 1.1.1.9 ipv6 route v1 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::1 router bgp4 1 vrf v1 address vpnuni vpnmlt ovpnuni ovpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt ovpnuni ovpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.14 ipv6 route v1 :: :: 1234:4::2 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.14 ipv6 mroute v1 :: :: 1234:4::2 ipv4 multi v1 join 232.2.2.2 1.1.1.1 ipv6 multi v1 join ff06::1 1234:1::1 ! r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.1 vrf v1 r1 tping 100 60 3333::1 vrf v1 r1 tping 100 60 3.3.3.3 vrf v1 r1 tping 100 60 3333::3 vrf v1 r5 tping 100 60 3.3.3.3 vrf v1 r5 tping 100 60 3333::3 vrf v1 r5 tping 100 60 3.3.3.1 vrf v1 r5 tping 100 60 3333::1 vrf v1 r1 tping 100 60 1.1.1.13 vrf v1 r1 tping 100 60 1234:4::1 vrf v1 r5 tping 100 60 1.1.1.1 vrf v1 r5 tping 100 60 1234:1::1 vrf v1 r1 tping 100 10 232.2.2.2 vrf v1 sou eth1 r1 tping 100 10 ff06::1 vrf v1 sou eth1 freeRtr-25.11.9/cfg/rout-mcast10.tst000066400000000000000000000032531510423065500170400ustar00rootroot00000000000000description multicast routing ttl treshold addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 multi static 232.2.2.2 1.1.1.1 ipv6 multi static ff06::1 1234:1::1 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 multi static 232.2.2.2 1.1.1.1 ipv6 multi static ff06::1 1234:1::1 ipv4 multi ttl 123 ipv6 multi ttl 123 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 route v1 :: :: 1234:2::2 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 mroute v1 :: :: 1234:2::2 ipv4 multi v1 join 232.2.2.2 1.1.1.1 ipv6 multi v1 join ff06::1 1234:1::1 ! r2 tping 100 5 1.1.1.5 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:2::1 vrf v1 r2 tping 100 5 1234:1::1 vrf v1 r1 tping 100 5 1.1.1.5 vrf v1 r1 tping 100 5 1234:2::1 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1234:1::1 vrf v1 r1 tping 100 5 232.2.2.2 vrf v1 sou eth1 ttl 150 r1 tping 100 5 ff06::1 vrf v1 sou eth1 ttl 150 r1 tping 0 5 232.2.2.2 vrf v1 sou eth1 ttl 50 r1 tping 0 5 ff06::1 vrf v1 sou eth1 ttl 50 r1 tping 100 5 232.2.2.2 vrf v1 sou eth1 ttl 150 r1 tping 100 5 ff06::1 vrf v1 sou eth1 ttl 150 freeRtr-25.11.9/cfg/rout-mcast11.tst000066400000000000000000000034461510423065500170450ustar00rootroot00000000000000description multicast routing decoupled from unicast addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth3 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 route v1 :: :: 1234:2::2 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.10 ipv6 mroute v1 :: :: 1234:3::2 ipv4 multi v1 join 232.2.2.2 1.1.1.1 ipv6 multi v1 join ff06::1 1234:1::1 ! r2 tping 100 5 1.1.1.9 vrf v1 r2 tping 100 5 1.1.1.5 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:3::1 vrf v1 r2 tping 100 5 1234:2::1 vrf v1 r2 tping 100 5 1234:1::1 vrf v1 r1 tping 100 5 1.1.1.5 vrf v1 r1 tping 100 5 1234:2::1 vrf v1 r1 tping 100 5 1.1.1.9 vrf v1 r1 tping 100 5 1234:3::1 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1234:1::1 vrf v1 r1 tping 100 5 232.2.2.2 vrf v1 sou eth1 r1 tping 100 5 ff06::1 vrf v1 sou eth1 freeRtr-25.11.9/cfg/rout-mcast12.tst000066400000000000000000000036331510423065500170440ustar00rootroot00000000000000description multicast routing with pim join source addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 pim ena ipv6 pim ena ipv4 pim join lo1 ipv6 pim join lo1 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 pim ena ipv6 pim ena ipv4 pim join lo1 ipv6 pim join lo1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 pim ena ipv6 pim ena ipv4 pim join lo1 ipv6 pim join lo1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 pim ena ipv6 pim ena ipv4 pim join lo1 ipv6 pim join lo1 exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 route v1 :: :: 1234:2::2 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 mroute v1 :: :: 1234:2::2 ipv4 multi v1 join 232.2.2.2 1.1.1.1 ipv6 multi v1 join ff06::1 1234:1::1 ! r2 tping 100 5 1.1.1.5 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:2::1 vrf v1 r2 tping 100 5 1234:1::1 vrf v1 r1 tping 100 5 1.1.1.5 vrf v1 r1 tping 100 5 1234:2::1 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1234:1::1 vrf v1 r1 tping 100 5 232.2.2.2 vrf v1 sou eth1 r1 tping 100 5 ff06::1 vrf v1 sou eth1 freeRtr-25.11.9/cfg/rout-mcast13.tst000066400000000000000000000163161510423065500170470ustar00rootroot00000000000000description multicast routing with pim over bier addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo1 ipv6 pim join lo1 ipv4 pim bier 1 ipv6 pim bier 1 exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo1 ipv6 pim join lo1 ipv4 pim bier 1 ipv6 pim bier 1 exit router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.1 neigh 2.2.2.4 remote-as 1 neigh 2.2.2.4 update lo1 neigh 2.2.2.5 remote-as 1 neigh 2.2.2.5 update lo1 red conn exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.1 neigh 4321::4 remote-as 1 neigh 4321::4 update lo1 neigh 4321::5 remote-as 1 neigh 4321::5 update lo1 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit router lsrp4 1 vrf v1 router 4.4.4.2 bier 256 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 bier 256 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ int eth3 eth 0000.0000.3333 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1236::3 ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena exit int eth3 vrf for v1 ipv4 addr 1.1.4.3 255.255.255.0 ipv6 addr 1237::3 ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo1 ipv6 pim join lo1 ipv4 pim bier 4 ipv6 pim bier 4 exit int lo2 vrf for v1 ipv4 addr 2.2.2.14 255.255.255.255 ipv6 addr 4321::14 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1236::4 ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo1 ipv6 pim join lo1 ipv4 pim bier 4 ipv6 pim bier 4 exit router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.4 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo1 red conn exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.4 neigh 4321::1 remote-as 1 neigh 4321::1 update lo1 red conn exit ipv4 multi v1 join 232.2.2.2 2.2.2.1 ipv6 multi v1 join ff06::1 4321::1 ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit router lsrp4 1 vrf v1 router 4.4.4.5 bier 256 10 5 exit router lsrp6 1 vrf v1 router 6.6.6.5 bier 256 10 5 exit int lo1 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo1 ipv6 pim join lo1 ipv4 pim bier 5 ipv6 pim bier 5 exit int lo2 vrf for v1 ipv4 addr 2.2.2.15 255.255.255.255 ipv6 addr 4321::15 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.4.5 255.255.255.0 ipv6 addr 1237::5 ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo1 ipv6 pim join lo1 ipv4 pim bier 5 ipv6 pim bier 5 exit router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.5 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo1 red conn exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.5 neigh 4321::1 remote-as 1 neigh 4321::1 update lo1 red conn exit ipv4 multi v1 join 232.2.2.2 2.2.2.1 ipv6 multi v1 join ff06::1 4321::1 ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 2.2.2.4 vrf v1 sou lo1 r1 tping 100 20 4321::4 vrf v1 sou lo1 r1 tping 100 20 2.2.2.5 vrf v1 sou lo1 r1 tping 100 20 4321::5 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.4 vrf v1 sou lo1 r2 tping 100 20 4321::4 vrf v1 sou lo1 r2 tping 100 20 2.2.2.5 vrf v1 sou lo1 r2 tping 100 20 4321::5 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r3 tping 100 20 2.2.2.4 vrf v1 sou lo1 r3 tping 100 20 4321::4 vrf v1 sou lo1 r3 tping 100 20 2.2.2.5 vrf v1 sou lo1 r3 tping 100 20 4321::5 vrf v1 sou lo1 r4 tping 100 20 2.2.2.1 vrf v1 sou lo1 r4 tping 100 20 4321::1 vrf v1 sou lo1 r4 tping 100 20 2.2.2.2 vrf v1 sou lo1 r4 tping 100 20 4321::2 vrf v1 sou lo1 r4 tping 100 20 2.2.2.3 vrf v1 sou lo1 r4 tping 100 20 4321::3 vrf v1 sou lo1 r4 tping 100 20 2.2.2.5 vrf v1 sou lo1 r4 tping 100 20 4321::5 vrf v1 sou lo1 r5 tping 100 20 2.2.2.1 vrf v1 sou lo1 r5 tping 100 20 4321::1 vrf v1 sou lo1 r5 tping 100 20 2.2.2.2 vrf v1 sou lo1 r5 tping 100 20 4321::2 vrf v1 sou lo1 r5 tping 100 20 2.2.2.3 vrf v1 sou lo1 r5 tping 100 20 4321::3 vrf v1 sou lo1 r5 tping 100 20 2.2.2.4 vrf v1 sou lo1 r5 tping 100 20 4321::4 vrf v1 sou lo1 r1 tping 100 20 2.2.2.14 vrf v1 sou lo2 r1 tping 100 20 4321::14 vrf v1 sou lo2 r1 tping 100 20 2.2.2.15 vrf v1 sou lo2 r1 tping 100 20 4321::15 vrf v1 sou lo2 r4 tping 100 20 2.2.2.11 vrf v1 sou lo2 r4 tping 100 20 4321::11 vrf v1 sou lo2 r5 tping 100 20 2.2.2.11 vrf v1 sou lo2 r5 tping 100 20 4321::11 vrf v1 sou lo2 r1 tping 200 10 232.2.2.2 vrf v1 sou lo1 multi r1 tping 200 10 ff06::1 vrf v1 sou lo1 multi freeRtr-25.11.9/cfg/rout-mcast14.tst000066400000000000000000000143171510423065500170470ustar00rootroot00000000000000description multicast between pim and pim over bier addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo1 ipv6 pim join lo1 ipv4 pim bier 1 ipv6 pim bier 1 exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo1 ipv6 pim join lo1 ipv4 pim bier 1 ipv6 pim bier 1 exit int eth2 vrf for v1 ipv4 addr 4.4.4.2 255.255.255.252 ipv6 addr 4444::2 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.1 neigh 2.2.2.4 remote-as 1 neigh 2.2.2.4 update lo1 red conn red stat exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.1 neigh 4321::4 remote-as 1 neigh 4321::4 update lo1 red conn red stat exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit router lsrp4 1 vrf v1 router 4.4.4.2 bier 256 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 bier 256 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.3.3 255.255.255.0 ipv6 addr 1236::3 ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $5a$ $5b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo1 ipv6 pim join lo1 ipv4 pim bier 4 ipv6 pim bier 4 exit int lo2 vrf for v1 ipv4 addr 2.2.2.14 255.255.255.255 ipv6 addr 4321::14 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.3.4 255.255.255.0 ipv6 addr 1236::4 ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo1 ipv6 pim join lo1 ipv4 pim bier 4 ipv6 pim bier 4 exit int eth2 vrf for v1 ipv4 addr 5.5.5.2 255.255.255.252 ipv6 addr 5555::2 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit router bgp4 1 vrf v1 address uni multi local-as 1 router-id 4.4.4.4 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo1 red conn red stat exit router bgp6 1 vrf v1 address uni multi local-as 1 router-id 6.6.6.4 neigh 4321::1 remote-as 1 neigh 4321::1 update lo1 red conn red stat exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 4.4.4.1 255.255.255.252 ipv6 addr 4444::1 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 0.0.0.0 0.0.0.0 4.4.4.2 ipv6 route v1 :: :: 4444::2 ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 5.5.5.1 255.255.255.252 ipv6 addr 5555::1 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 0.0.0.0 0.0.0.0 5.5.5.2 ipv6 route v1 :: :: 5555::2 ipv4 mroute v1 0.0.0.0 0.0.0.0 5.5.5.2 ipv6 mroute v1 :: :: 5555::2 ipv4 multi v1 join 232.2.2.2 4.4.4.1 ipv6 multi v1 join ff06::1 4444::1 ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 2.2.2.4 vrf v1 sou lo1 r1 tping 100 20 4321::4 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.4 vrf v1 sou lo1 r2 tping 100 20 4321::4 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r3 tping 100 20 2.2.2.4 vrf v1 sou lo1 r3 tping 100 20 4321::4 vrf v1 sou lo1 r4 tping 100 20 2.2.2.1 vrf v1 sou lo1 r4 tping 100 20 4321::1 vrf v1 sou lo1 r4 tping 100 20 2.2.2.2 vrf v1 sou lo1 r4 tping 100 20 4321::2 vrf v1 sou lo1 r4 tping 100 20 2.2.2.3 vrf v1 sou lo1 r4 tping 100 20 4321::3 vrf v1 sou lo1 r1 tping 100 20 2.2.2.14 vrf v1 sou lo2 r1 tping 100 20 4321::14 vrf v1 sou lo2 r4 tping 100 20 2.2.2.11 vrf v1 sou lo2 r4 tping 100 20 4321::11 vrf v1 sou lo2 r5 tping 100 20 2.2.2.11 vrf v1 sou eth1 r5 tping 100 20 4321::11 vrf v1 sou eth1 r5 tping 100 20 2.2.2.14 vrf v1 sou eth1 r5 tping 100 20 4321::14 vrf v1 sou eth1 r6 tping 100 20 2.2.2.11 vrf v1 sou eth1 r6 tping 100 20 4321::11 vrf v1 sou eth1 r6 tping 100 20 2.2.2.14 vrf v1 sou eth1 r6 tping 100 20 4321::14 vrf v1 sou eth1 r5 tping 100 10 232.2.2.2 vrf v1 sou eth1 r5 tping 100 10 ff06::1 vrf v1 sou eth1 freeRtr-25.11.9/cfg/rout-mcast15.tst000066400000000000000000000031501510423065500170410ustar00rootroot00000000000000description multicast routing with pim snooping addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! bridge 1 mac-learn block-unicast block-multicast exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 route v1 :: :: 1234:2::2 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 mroute v1 :: :: 1234:2::2 ipv4 multi v1 join 232.2.2.2 1.1.1.1 ipv6 multi v1 join ff06::1 1234:1::1 ! r3 tping 100 5 1.1.1.5 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1234:2::1 vrf v1 r3 tping 100 5 1234:1::1 vrf v1 r1 tping 100 5 1.1.1.5 vrf v1 r1 tping 100 5 1234:2::1 vrf v1 r4 tping 100 5 1.1.1.1 vrf v1 r4 tping 100 5 1234:1::1 vrf v1 r1 tping 100 5 232.2.2.2 vrf v1 sou eth1 r1 tping 100 5 ff06::1 vrf v1 sou eth1 freeRtr-25.11.9/cfg/rout-mcast16.tst000066400000000000000000000034431510423065500170470ustar00rootroot00000000000000description multicast routing with igmp/mld snooping addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 multi host-ena ipv6 multi host-ena exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! bridge 1 mac-learn block-unicast block-multicast exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 multi host-ena ipv4 multi host-pro ipv6 multi host-ena ipv6 multi host-pro exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 multi host-ena ipv4 multi host-pro ipv6 multi host-ena ipv6 multi host-pro exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 multi host-ena ipv4 multi host-pro ipv6 multi host-ena ipv6 multi host-pro exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 route v1 :: :: 1234:2::2 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 mroute v1 :: :: 1234:2::2 ipv4 multi v1 join 232.2.2.2 1.1.1.1 ipv6 multi v1 join ff06::1 1234:1::1 ! r3 tping 100 5 1.1.1.5 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1234:2::1 vrf v1 r3 tping 100 5 1234:1::1 vrf v1 r1 tping 100 5 1.1.1.5 vrf v1 r1 tping 100 5 1234:2::1 vrf v1 r4 tping 100 5 1.1.1.1 vrf v1 r4 tping 100 5 1234:1::1 vrf v1 r1 tping 100 5 232.2.2.2 vrf v1 sou eth1 r1 tping 100 5 ff06::1 vrf v1 sou eth1 freeRtr-25.11.9/cfg/rout-mcast17.tst000066400000000000000000000142571510423065500170550ustar00rootroot00000000000000description multicast vpn routing with bier addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int lo1 vrf for v2 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.4 remote-as 1 neigh 2.2.2.4 update lo0 neigh 2.2.2.4 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::4 remote-as 1 neigh 4321::4 update lo0 neigh 4321::4 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit router lsrp4 1 vrf v1 router 4.4.4.2 bier 256 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 bier 256 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 2 ipv6 pim bier 2 exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 2 ipv6 pim bier 2 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 2 ipv6 pim bier 2 exit int eth3 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 2 ipv6 pim bier 2 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit int lo1 vrf for v2 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 multi v2 join 232.2.2.2 3.3.3.1 ipv6 multi v2 join ff06::1 3333::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int lo1 vrf for v2 ipv4 addr 3.3.3.4 255.255.255.255 ipv6 addr 3333::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.4 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.4 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ipv4 multi v2 join 232.2.2.2 3.3.3.1 ipv6 multi v2 join ff06::1 3333::1 ! r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.3 vrf v2 r1 tping 100 60 3333::3 vrf v2 r1 tping 100 60 3.3.3.4 vrf v2 r1 tping 100 60 3333::4 vrf v2 r3 tping 100 60 3.3.3.1 vrf v2 r3 tping 100 60 3333::1 vrf v2 r4 tping 100 60 3.3.3.1 vrf v2 r4 tping 100 60 3333::1 vrf v2 r1 tping 200 10 232.2.2.2 vrf v2 sou lo1 multi r1 tping 200 10 ff06::1 vrf v2 sou lo1 multi freeRtr-25.11.9/cfg/rout-mcast18.tst000066400000000000000000000123631510423065500170520ustar00rootroot00000000000000description multicast vpn between pim and bier addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int lo1 vrf for v2 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit router lsrp4 1 vrf v1 router 4.4.4.2 bier 256 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 bier 256 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 2 ipv6 pim bier 2 exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 2 ipv6 pim bier 2 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 2 ipv6 pim bier 2 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit int lo1 vrf for v2 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit int eth2 vrf for v2 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit router bgp4 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.14 ipv6 route v1 :: :: 1234:4::2 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.14 ipv6 mroute v1 :: :: 1234:4::2 ipv4 multi v1 join 232.2.2.2 1.1.1.1 ipv6 multi v1 join ff06::1 1234:1::1 ! r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.1 vrf v1 r1 tping 100 60 3333::1 vrf v1 r1 tping 100 60 3.3.3.3 vrf v1 r1 tping 100 60 3333::3 vrf v1 r5 tping 100 60 3.3.3.3 vrf v1 r5 tping 100 60 3333::3 vrf v1 r5 tping 100 60 3.3.3.1 vrf v1 r5 tping 100 60 3333::1 vrf v1 r1 tping 100 60 1.1.1.13 vrf v1 r1 tping 100 60 1234:4::1 vrf v1 r5 tping 100 60 1.1.1.1 vrf v1 r5 tping 100 60 1234:1::1 vrf v1 r1 tping 100 10 232.2.2.2 vrf v1 sou eth1 r1 tping 100 10 ff06::1 vrf v1 sou eth1 freeRtr-25.11.9/cfg/rout-mcast19.tst000066400000000000000000000144321510423065500170520ustar00rootroot00000000000000description multicast othervpn routing with bier addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int lo1 vrf for v2 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit router bgp4 1 vrf v1 address vpnuni vpnmlt ovpnuni ovpnmlt local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both neigh 2.2.2.4 remote-as 1 neigh 2.2.2.4 update lo0 neigh 2.2.2.4 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt ovpnuni ovpnmlt local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both neigh 4321::4 remote-as 1 neigh 4321::4 update lo0 neigh 4321::4 send-comm both exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit router lsrp4 1 vrf v1 router 4.4.4.2 bier 256 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 bier 256 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 2 ipv6 pim bier 2 exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 2 ipv6 pim bier 2 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 2 ipv6 pim bier 2 exit int eth3 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 2 ipv6 pim bier 2 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit int lo1 vrf for v2 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit router bgp4 1 vrf v1 address vpnuni vpnmlt ovpnuni ovpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt ovpnuni ovpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both exit ipv4 multi v2 join 232.2.2.2 3.3.3.1 ipv6 multi v2 join ff06::1 3333::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.4 bier 256 10 4 red conn exit router lsrp6 1 vrf v1 router 6.6.6.4 bier 256 10 4 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit int lo1 vrf for v2 ipv4 addr 3.3.3.4 255.255.255.255 ipv6 addr 3333::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 4 ipv6 pim bier 4 exit router bgp4 1 vrf v1 address vpnuni vpnmlt ovpnuni ovpnmlt local-as 1 router-id 4.4.4.4 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt ovpnuni ovpnmlt local-as 1 router-id 6.6.6.4 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both exit ipv4 multi v2 join 232.2.2.2 3.3.3.1 ipv6 multi v2 join ff06::1 3333::1 ! r1 tping 100 60 2.2.2.3 vrf v1 sou lo0 r1 tping 100 60 4321::3 vrf v1 sou lo0 r1 tping 100 60 2.2.2.4 vrf v1 sou lo0 r1 tping 100 60 4321::4 vrf v1 sou lo0 r3 tping 100 60 2.2.2.1 vrf v1 sou lo0 r3 tping 100 60 4321::1 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.3 vrf v2 r1 tping 100 60 3333::3 vrf v2 r1 tping 100 60 3.3.3.4 vrf v2 r1 tping 100 60 3333::4 vrf v2 r3 tping 100 60 3.3.3.1 vrf v2 r3 tping 100 60 3333::1 vrf v2 r4 tping 100 60 3.3.3.1 vrf v2 r4 tping 100 60 3333::1 vrf v2 r1 tping 200 10 232.2.2.2 vrf v2 sou lo1 multi r1 tping 200 10 ff06::1 vrf v2 sou lo1 multi freeRtr-25.11.9/cfg/rout-mcast20.tst000066400000000000000000000124741510423065500170460ustar00rootroot00000000000000description multicast othervpn between pim and bier addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 red conn exit router lsrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit int lo1 vrf for v2 ipv4 addr 3.3.3.1 255.255.255.255 ipv6 addr 3333::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v2 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 1 ipv6 pim bier 1 exit router bgp4 1 vrf v1 address vpnuni vpnmlt ovpnuni ovpnmlt local-as 1 router-id 4.4.4.1 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo0 neigh 2.2.2.3 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt ovpnuni ovpnmlt local-as 1 router-id 6.6.6.1 neigh 4321::3 remote-as 1 neigh 4321::3 update lo0 neigh 4321::3 send-comm both exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit router lsrp4 1 vrf v1 router 4.4.4.2 bier 256 10 2 red conn exit router lsrp6 1 vrf v1 router 6.6.6.2 bier 256 10 2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 2 ipv6 pim bier 2 exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 2 ipv6 pim bier 2 exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 2 ipv6 pim bier 2 exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ int eth2 eth 0000.0000.4444 $4a$ $4b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 mdt4 bier mdt6 bier exit router lsrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit int lo1 vrf for v2 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 router lsrp4 1 ena router lsrp6 1 ena ipv4 pim ena ipv6 pim ena ipv4 pim join lo0 ipv6 pim join lo0 ipv4 pim bier 3 ipv6 pim bier 3 exit int eth2 vrf for v2 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit router bgp4 1 vrf v1 address vpnuni vpnmlt ovpnuni ovpnmlt local-as 1 router-id 4.4.4.3 neigh 2.2.2.1 remote-as 1 neigh 2.2.2.1 update lo0 neigh 2.2.2.1 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni vpnmlt ovpnuni ovpnmlt local-as 1 router-id 6.6.6.3 neigh 4321::1 remote-as 1 neigh 4321::1 update lo0 neigh 4321::1 send-comm both exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.14 ipv6 route v1 :: :: 1234:4::2 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.14 ipv6 mroute v1 :: :: 1234:4::2 ipv4 multi v1 join 232.2.2.2 1.1.1.1 ipv6 multi v1 join ff06::1 1234:1::1 ! r2 tping 100 60 2.2.2.3 vrf v1 sou lo0 r2 tping 100 60 4321::3 vrf v1 sou lo0 r4 tping 100 60 2.2.2.1 vrf v1 sou lo0 r4 tping 100 60 4321::1 vrf v1 sou lo0 r1 tping 100 60 3.3.3.1 vrf v1 r1 tping 100 60 3333::1 vrf v1 r1 tping 100 60 3.3.3.3 vrf v1 r1 tping 100 60 3333::3 vrf v1 r5 tping 100 60 3.3.3.3 vrf v1 r5 tping 100 60 3333::3 vrf v1 r5 tping 100 60 3.3.3.1 vrf v1 r5 tping 100 60 3333::1 vrf v1 r1 tping 100 60 1.1.1.13 vrf v1 r1 tping 100 60 1234:4::1 vrf v1 r5 tping 100 60 1.1.1.1 vrf v1 r5 tping 100 60 1234:1::1 vrf v1 r1 tping 100 10 232.2.2.2 vrf v1 sou eth1 r1 tping 100 10 ff06::1 vrf v1 sou eth1 freeRtr-25.11.9/cfg/rout-mcast21.tst000066400000000000000000000075711510423065500170510ustar00rootroot00000000000000description multicast routing with mgre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit int tun1 tunnel vrf v1 tunnel mode mgre tunnel source ethernet1 tunnel domain 1.1.1.5 1.1.1.9 tunnel destination 232.2.2.2 vrf for v2 ipv4 addr 2.2.2.1 255.255.255.0 no ipv4 resend-packet exit int tun2 tunnel vrf v1 tunnel mode mgre tunnel source ethernet1 tunnel domain 1234:2::1 1234:3::1 tunnel destination ff06::1 vrf for v2 ipv6 addr 4321::1 ffff:ffff:: no ipv6 resend-packet exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 mroute v1 :: :: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ int eth3 eth 0000.0000.2222 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit int eth3 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit int tun1 tunnel vrf v1 tunnel mode mgre tunnel source ethernet1 tunnel domain 1.1.1.1 1.1.1.9 tunnel destination 232.2.2.2 vrf for v2 ipv4 addr 2.2.2.3 255.255.255.0 no ipv4 resend-packet exit int tun2 tunnel vrf v1 tunnel mode mgre tunnel source ethernet1 tunnel domain 1234:1::1 1234:3::1 tunnel destination ff06::1 vrf for v2 ipv6 addr 4321::3 ffff:ffff:: no ipv6 resend-packet exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 route v1 :: :: 1234:2::2 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 mroute v1 :: :: 1234:2::2 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:2 exit int eth1 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: ipv4 pim ena ipv6 pim ena exit int tun1 tunnel vrf v1 tunnel mode mgre tunnel source ethernet1 tunnel domain 1.1.1.1 1.1.1.5 tunnel destination 232.2.2.2 vrf for v2 ipv4 addr 2.2.2.4 255.255.255.0 no ipv4 resend-packet exit int tun2 tunnel vrf v1 tunnel mode mgre tunnel source ethernet1 tunnel domain 1234:1::1 1234:2::1 tunnel destination ff06::1 vrf for v2 ipv6 addr 4321::4 ffff:ffff:: no ipv6 resend-packet exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.10 ipv6 route v1 :: :: 1234:3::2 ipv4 mroute v1 0.0.0.0 0.0.0.0 1.1.1.10 ipv6 mroute v1 :: :: 1234:3::2 ! r2 tping 100 5 1.1.1.9 vrf v1 r2 tping 100 5 1.1.1.5 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234:3::1 vrf v1 r2 tping 100 5 1234:2::1 vrf v1 r2 tping 100 5 1234:1::1 vrf v1 r1 tping 100 5 1.1.1.9 vrf v1 r1 tping 100 5 1.1.1.5 vrf v1 r1 tping 100 5 1234:3::1 vrf v1 r1 tping 100 5 1234:2::1 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1234:1::1 vrf v1 r4 tping 100 5 1.1.1.1 vrf v1 r4 tping 100 5 1234:1::1 vrf v1 r1 tping 200 5 232.2.2.2 vrf v1 sou eth1 multi r1 tping 200 5 ff06::1 vrf v1 sou eth1 multi r3 tping 200 5 232.2.2.2 vrf v1 sou eth1 multi r3 tping 200 5 ff06::1 vrf v1 sou eth1 multi r4 tping 200 5 232.2.2.2 vrf v1 sou eth1 multi r4 tping 200 5 ff06::1 vrf v1 sou eth1 multi r1 tping 100 5 2.2.2.3 vrf v2 r1 tping 100 5 4321::3 vrf v2 r1 tping 100 5 2.2.2.4 vrf v2 r1 tping 100 5 4321::4 vrf v2 r3 tping 100 5 2.2.2.1 vrf v2 r3 tping 100 5 4321::1 vrf v2 r3 tping 100 5 2.2.2.4 vrf v2 r3 tping 100 5 4321::4 vrf v2 r4 tping 100 5 2.2.2.1 vrf v2 r4 tping 100 5 4321::1 vrf v2 r4 tping 100 5 2.2.2.3 vrf v2 r4 tping 100 5 4321::3 vrf v2 freeRtr-25.11.9/cfg/rout-olsr01.tst000066400000000000000000000054361510423065500167150ustar00rootroot00000000000000description olsr on one subnet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router olsr4 1 ena router olsr6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router olsr4 1 ena router olsr6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: router olsr4 1 ena router olsr6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: router olsr4 1 ena router olsr6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 2.2.2.4 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r1 tping 100 130 4321::4 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 2.2.2.4 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r2 tping 100 130 4321::4 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 2.2.2.4 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r3 tping 100 130 4321::4 vrf v1 r4 tping 100 130 2.2.2.1 vrf v1 r4 tping 100 130 2.2.2.2 vrf v1 r4 tping 100 130 2.2.2.3 vrf v1 r4 tping 100 130 4321::1 vrf v1 r4 tping 100 130 4321::2 vrf v1 r4 tping 100 130 4321::3 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr02.tst000066400000000000000000000065441510423065500167170ustar00rootroot00000000000000description olsr in chain addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 2.2.2.4 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r1 tping 100 130 4321::4 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 2.2.2.4 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r2 tping 100 130 4321::4 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 2.2.2.4 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r3 tping 100 130 4321::4 vrf v1 r4 tping 100 130 2.2.2.1 vrf v1 r4 tping 100 130 2.2.2.2 vrf v1 r4 tping 100 130 2.2.2.3 vrf v1 r4 tping 100 130 4321::1 vrf v1 r4 tping 100 130 4321::2 vrf v1 r4 tping 100 130 4321::3 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 output ../binTmp/rout-olsr.html here are the ipv4 neighbors:
show:0
here are the ipv6 neighbors:
show:1
here is the ipv4 database:
show:2
here is the ipv6 database:
show:3
here are the ipv4 routes:
show:4
here are the ipv6 routes:
show:5
! freeRtr-25.11.9/cfg/rout-olsr03.tst000066400000000000000000000042111510423065500167050ustar00rootroot00000000000000description olsr ingress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit prefix-list p4 sequence 10 deny 2.2.2.12/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::12/128 sequence 20 permit ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena router olsr4 1 prefix-list-in p4 router olsr6 1 prefix-list-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 0 130 2.2.2.12 vrf v1 r1 tping 0 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr04.tst000066400000000000000000000042121510423065500167070ustar00rootroot00000000000000description olsr egress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit prefix-list p4 sequence 10 deny 2.2.2.11/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::11/128 sequence 20 permit ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena router olsr4 1 prefix-list-out p4 router olsr6 1 prefix-list-out p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 0 130 2.2.2.11 vrf v1 r2 tping 0 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr05.tst000066400000000000000000000043131510423065500167120ustar00rootroot00000000000000description olsr ingress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena router olsr4 1 route-map-in p4 router olsr6 1 route-map-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 0 130 2.2.2.12 vrf v1 r1 tping 0 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr06.tst000066400000000000000000000043141510423065500167140ustar00rootroot00000000000000description olsr egress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map p4 sequence 10 act deny match network 2.2.2.11/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::11/128 sequence 20 act perm match network ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena router olsr4 1 route-map-out p4 router olsr6 1 route-map-out p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 0 130 2.2.2.11 vrf v1 r2 tping 0 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr07.tst000066400000000000000000000041621510423065500167160ustar00rootroot00000000000000description olsr ingress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-policy p4 if network 2.2.2.12/32 drop else pass enif exit route-policy p6 if network 4321::12/128 drop else pass enif exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena router olsr4 1 route-policy-in p4 router olsr6 1 route-policy-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 0 130 2.2.2.12 vrf v1 r1 tping 0 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr08.tst000066400000000000000000000041631510423065500167200ustar00rootroot00000000000000description olsr egress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-policy p4 if network 2.2.2.11/32 drop else pass enif exit route-policy p6 if network 4321::11/128 drop else pass enif exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena router olsr4 1 route-policy-out p4 router olsr6 1 route-policy-out p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 0 130 2.2.2.11 vrf v1 r2 tping 0 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr09.tst000066400000000000000000000044061510423065500167210ustar00rootroot00000000000000description olsr max metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 set metric +200 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena router olsr4 1 route-map-in rm1 router olsr6 1 route-map-in rm1 router olsr4 1 route-map-out rm1 router olsr6 1 route-map-out rm1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena router olsr4 1 route-map-in rm1 router olsr6 1 route-map-in rm1 router olsr4 1 route-map-out rm1 router olsr6 1 route-map-out rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 0 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 0 130 4321::3 vrf v1 r3 tping 0 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 0 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr10.tst000066400000000000000000000040521510423065500167060ustar00rootroot00000000000000description olsr address suppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 exit router olsr6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena router olsr4 1 suppress-prefix router olsr6 1 suppress-prefix exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 0 130 2.2.2.11 vrf v1 r2 tping 0 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr11.tst000066400000000000000000000036641510423065500167170ustar00rootroot00000000000000description olsr default route addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 exit router olsr6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena router olsr4 1 default-originate router olsr6 1 default-originate exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr12.tst000066400000000000000000000057121510423065500167140ustar00rootroot00000000000000description olsr incoming interface metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 exit router olsr6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena router olsr4 1 metric-in 200 router olsr6 1 metric-in 200 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 exit router olsr6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.111 vrf v1 r2 tping 100 130 4321::111 vrf v1 r2 tping 0 130 2.2.2.222 vrf v1 r2 tping 0 130 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr13.tst000066400000000000000000000057141510423065500167170ustar00rootroot00000000000000description olsr outgoing interface metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 exit router olsr6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 exit router olsr6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena router olsr4 1 metric-out 200 router olsr6 1 metric-out 200 exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.111 vrf v1 r2 tping 100 130 4321::111 vrf v1 r2 tping 0 130 2.2.2.222 vrf v1 r2 tping 0 130 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr14.tst000066400000000000000000000057711510423065500167230ustar00rootroot00000000000000description olsr incoming metric with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 exit router olsr6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 set metric +200 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena router olsr4 1 route-map-in rm1 router olsr6 1 route-map-in rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 exit router olsr6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.111 vrf v1 r2 tping 100 130 4321::111 vrf v1 r2 tping 0 130 2.2.2.222 vrf v1 r2 tping 0 130 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr15.tst000066400000000000000000000057731510423065500167260ustar00rootroot00000000000000description olsr outgoing metric with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 exit router olsr6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 exit router olsr6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit route-map rm1 set metric +200 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena router olsr4 1 route-map-out rm1 router olsr6 1 route-map-out rm1 exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.111 vrf v1 r2 tping 100 130 4321::111 vrf v1 r2 tping 0 130 2.2.2.222 vrf v1 r2 tping 0 130 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr16.tst000066400000000000000000000060131510423065500167130ustar00rootroot00000000000000description olsr incoming metric with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 exit router olsr6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-policy rm1 set metric +200 pass exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena router olsr4 1 route-policy-in rm1 router olsr6 1 route-policy-in rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 exit router olsr6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.111 vrf v1 r2 tping 100 130 4321::111 vrf v1 r2 tping 0 130 2.2.2.222 vrf v1 r2 tping 0 130 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr17.tst000066400000000000000000000060151510423065500167160ustar00rootroot00000000000000description olsr outgoing metric with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 exit router olsr6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 exit router olsr6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit route-policy rm1 set metric +200 pass exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena router olsr4 1 route-policy-out rm1 router olsr6 1 route-policy-out rm1 exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.111 vrf v1 r2 tping 100 130 4321::111 vrf v1 r2 tping 0 130 2.2.2.222 vrf v1 r2 tping 0 130 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr18.tst000066400000000000000000000044131510423065500167170ustar00rootroot00000000000000description olsr with bfd addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 bfd 100 100 3 router olsr4 1 ena router olsr4 1 bfd ipv6 addr 1234:1::1 ffff:ffff:: ipv6 bfd 100 100 3 router olsr6 1 ena router olsr6 1 bfd exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 bfd 100 100 3 router olsr4 1 ena router olsr4 1 bfd router olsr4 1 dista 150 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 bfd 100 100 3 router olsr6 1 ena router olsr6 1 bfd router olsr6 1 dista 150 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 bfd 100 100 3 router olsr4 1 ena router olsr4 1 bfd ipv6 addr 1234:1::2 ffff:ffff:: ipv6 bfd 100 100 3 router olsr6 1 ena router olsr6 1 bfd exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 bfd 100 100 3 router olsr4 1 ena router olsr4 1 bfd router olsr4 1 dista 150 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 bfd 100 100 3 router olsr6 1 ena router olsr6 1 bfd router olsr6 1 dista 150 exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 sleep 3000 r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 send conf t r2 send int eth1 r2 send shut r2 send end r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr19.tst000066400000000000000000000025531510423065500167230ustar00rootroot00000000000000description olsr peer template addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int temp1 vrf for v1 ipv4 addr 9.9.9.9 255.255.255.0 ipv6 addr 9999::9 ffff:: router olsr4 1 ena router olsr6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: temp temp1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int temp1 vrf for v1 ipv4 addr 9.9.9.9 255.255.255.0 ipv6 addr 9999::9 ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: temp temp1 exit int temp1 router olsr4 1 ena router olsr6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr20.tst000066400000000000000000000032121510423065500167040ustar00rootroot00000000000000description olsr prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 exit router olsr6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 exit router olsr6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r1 send conf t r1 send int lo0 r1 send no router olsr4 1 ena r1 send no router olsr6 1 ena r1 send end r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 0 130 2.2.2.1 vrf v1 r2 tping 0 130 4321::1 vrf v1 r1 send conf t r1 send int lo0 r1 send router olsr4 1 ena r1 send router olsr6 1 ena r1 send end r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr21.tst000066400000000000000000000043401510423065500167100ustar00rootroot00000000000000description olsr aggregation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena router olsr4 1 route-map-in p4 router olsr6 1 route-map-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 aggregate 2.2.2.0/24 red conn exit router olsr6 1 vrf v1 aggregate 4321::/32 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr22.tst000066400000000000000000000040061510423065500167100ustar00rootroot00000000000000description olsr auto mesh tunnel addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit router olsr4 1 vrf v1 red conn automesh all exit router olsr6 1 vrf v1 red conn automesh all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.0 ipv6 addr 9999::1 ffff:: router olsr4 1 ena router olsr6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit router olsr4 1 vrf v1 red conn automesh all exit router olsr6 1 vrf v1 red conn automesh all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.0 ipv6 addr 9999::2 ffff:: router olsr4 1 ena router olsr6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit ! r1 tping 100 130 9.9.9.2 vrf v1 r1 tping 100 130 9999::2 vrf v1 r2 tping 100 130 9.9.9.1 vrf v1 r2 tping 100 130 9999::1 vrf v1 r1 tping 0 130 2.2.2.2 vrf v1 r1 tping 0 130 4321::2 vrf v1 r2 tping 0 130 2.2.2.1 vrf v1 r2 tping 0 130 4321::1 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr23.tst000066400000000000000000000053651510423065500167220ustar00rootroot00000000000000description olsr triangle connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena router olsr4 1 metric-in 200 router olsr6 1 metric-in 200 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena router olsr4 1 metric-in 200 router olsr6 1 metric-in 200 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr24.tst000066400000000000000000000047331510423065500167210ustar00rootroot00000000000000description olsr autoroute addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ int ser2 ser 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.0 ipv6 addr 9999::1 ffff:: router olsr4 1 ena router olsr6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int ser2 vrf for v1 ipv4 addr 9.9.8.1 255.255.255.0 ipv6 addr 9998::1 ffff:: ipv4 autoroute olsr4 1 2.2.2.2 9.9.8.2 ipv6 autoroute olsr6 1 4321::2 9998::2 exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ int ser2 ser 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.0 ipv6 addr 9999::2 ffff:: router olsr4 1 ena router olsr6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int ser2 vrf for v1 ipv4 addr 9.9.8.2 255.255.255.0 ipv6 addr 9998::2 ffff:: ipv4 autoroute olsr4 1 2.2.2.1 9.9.8.1 ipv6 autoroute olsr6 1 4321::1 9998::1 exit ! r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r1 tping 0 130 9.9.9.2 vrf v1 r1 tping 0 130 9999::2 vrf v1 r2 tping 0 130 9.9.9.1 vrf v1 r2 tping 0 130 9999::1 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr25.tst000066400000000000000000000024021510423065500167110ustar00rootroot00000000000000description olsr over point2point ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 exit router olsr6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.254 ipv6 addr 1234:1::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe router olsr4 1 ena router olsr6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 exit router olsr6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.254 ipv6 addr 1234:1::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe router olsr4 1 ena router olsr6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr26.tst000066400000000000000000000064141510423065500167210ustar00rootroot00000000000000description olsr ecmp connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn ecmp exit router olsr6 1 vrf v1 red conn ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:21::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.10 255.255.255.252 ipv6 addr 1234:23::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn ecmp exit router olsr6 1 vrf v1 red conn ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:21::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.252 ipv6 addr 1234:22::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn ecmp exit router olsr6 1 vrf v1 red conn ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.252 ipv6 addr 1234:22::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.9 255.255.255.252 ipv6 addr 1234:23::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr27.tst000066400000000000000000000037761510423065500167320ustar00rootroot00000000000000description olsr default address suppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 suppress exit router olsr6 1 vrf v1 suppress exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 0 130 2.2.2.1 vrf v1 r2 tping 0 130 4321::1 vrf v1 r2 tping 0 130 2.2.2.11 vrf v1 r2 tping 0 130 4321::11 vrf v1 r2 tping 0 130 2.2.2.21 vrf v1 r2 tping 0 130 4321::21 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr28.tst000066400000000000000000000040621510423065500167200ustar00rootroot00000000000000description olsr address unsuppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 suppress exit router olsr6 1 vrf v1 suppress exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena router olsr4 1 unsuppress router olsr6 1 unsuppress exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router olsr4 1 ena router olsr6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 0 130 2.2.2.1 vrf v1 r2 tping 0 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 0 130 2.2.2.21 vrf v1 r2 tping 0 130 4321::21 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-olsr29.tst000066400000000000000000000054311510423065500167220ustar00rootroot00000000000000description olsr auto summarization addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena router olsr4 1 route-map-in p4 router olsr6 1 route-map-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 autosumm red conn exit router olsr6 1 vrf v1 autosumm red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router olsr4 1 ena router olsr6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::3 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 olsr 1 sum r2 output show ipv6 olsr 1 sum r2 output show ipv4 olsr 1 dat r2 output show ipv6 olsr 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf01.tst000066400000000000000000000024751510423065500167050ustar00rootroot00000000000000description ospf point2point connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf02.tst000066400000000000000000000070611510423065500167020ustar00rootroot00000000000000description ospf point2multipoint connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 resend-packet ipv6 resend-packet router ospf4 1 ena router ospf4 1 net point2multi router ospf6 1 ena router ospf6 1 net point2multi exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 resend-packet ipv6 resend-packet router ospf4 1 ena router ospf4 1 net point2multi router ospf6 1 ena router ospf6 1 net point2multi exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit router ospf4 1 vrf v1 router 4.4.4.3 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.3 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: ipv4 resend-packet ipv6 resend-packet router ospf4 1 ena router ospf4 1 net point2multi router ospf6 1 ena router ospf6 1 net point2multi exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit bridge 1 exit router ospf4 1 vrf v1 router 4.4.4.4 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.4 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: ipv4 resend-packet ipv6 resend-packet router ospf4 1 ena router ospf4 1 net point2multi router ospf6 1 ena router ospf6 1 net point2multi exit ! r1 tping 100 80 2.2.2.2 vrf v1 r1 tping 100 80 2.2.2.3 vrf v1 r1 tping 100 80 2.2.2.4 vrf v1 r1 tping 100 80 4321::2 vrf v1 r1 tping 100 80 4321::3 vrf v1 r1 tping 100 80 4321::4 vrf v1 r2 tping 100 80 2.2.2.1 vrf v1 r2 tping 100 80 2.2.2.3 vrf v1 r2 tping 100 80 2.2.2.4 vrf v1 r2 tping 100 80 4321::1 vrf v1 r2 tping 100 80 4321::3 vrf v1 r2 tping 100 80 4321::4 vrf v1 r3 tping 100 80 2.2.2.1 vrf v1 r3 tping 100 80 2.2.2.2 vrf v1 r3 tping 100 80 2.2.2.4 vrf v1 r3 tping 100 80 4321::1 vrf v1 r3 tping 100 80 4321::2 vrf v1 r3 tping 100 80 4321::4 vrf v1 r4 tping 100 80 2.2.2.1 vrf v1 r4 tping 100 80 2.2.2.2 vrf v1 r4 tping 100 80 2.2.2.3 vrf v1 r4 tping 100 80 4321::1 vrf v1 r4 tping 100 80 4321::2 vrf v1 r4 tping 100 80 4321::3 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf03.tst000066400000000000000000000071521510423065500167040ustar00rootroot00000000000000description ospf point2multipoint nonbroadcast connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router ospf4 1 ena router ospf4 1 net point2non router ospf6 1 ena router ospf6 1 net point2non exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router ospf4 1 ena router ospf4 1 net point2non router ospf6 1 ena router ospf6 1 net point2non exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit router ospf4 1 vrf v1 router 4.4.4.3 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.3 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: router ospf4 1 ena router ospf4 1 net point2non router ospf6 1 ena router ospf6 1 net point2non exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit bridge 1 exit router ospf4 1 vrf v1 router 4.4.4.4 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.4 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: router ospf4 1 ena router ospf4 1 net point2non router ospf6 1 ena router ospf6 1 net point2non ipv4 resend-packet ipv6 resend-packet router ospf4 1 neigh 1.1.1.1 router ospf4 1 neigh 1.1.1.2 router ospf4 1 neigh 1.1.1.3 router ospf6 1 neigh 1234::1 router ospf6 1 neigh 1234::2 router ospf6 1 neigh 1234::3 exit ! r1 tping 100 80 2.2.2.2 vrf v1 r1 tping 100 80 2.2.2.3 vrf v1 r1 tping 100 80 2.2.2.4 vrf v1 r1 tping 100 80 4321::2 vrf v1 r1 tping 100 80 4321::3 vrf v1 r1 tping 100 80 4321::4 vrf v1 r2 tping 100 80 2.2.2.1 vrf v1 r2 tping 100 80 2.2.2.3 vrf v1 r2 tping 100 80 2.2.2.4 vrf v1 r2 tping 100 80 4321::1 vrf v1 r2 tping 100 80 4321::3 vrf v1 r2 tping 100 80 4321::4 vrf v1 r3 tping 100 80 2.2.2.1 vrf v1 r3 tping 100 80 2.2.2.2 vrf v1 r3 tping 100 80 2.2.2.4 vrf v1 r3 tping 100 80 4321::1 vrf v1 r3 tping 100 80 4321::2 vrf v1 r3 tping 100 80 4321::4 vrf v1 r4 tping 100 80 2.2.2.1 vrf v1 r4 tping 100 80 2.2.2.2 vrf v1 r4 tping 100 80 2.2.2.3 vrf v1 r4 tping 100 80 4321::1 vrf v1 r4 tping 100 80 4321::2 vrf v1 r4 tping 100 80 4321::3 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf04.tst000066400000000000000000000066101510423065500167030ustar00rootroot00000000000000description ospf broadcast connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router ospf4 1 ena router ospf4 1 net broad router ospf4 1 prio 1 router ospf6 1 ena router ospf6 1 net broad router ospf6 1 prio 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router ospf4 1 ena router ospf4 1 net broad router ospf6 1 ena router ospf6 1 net broad exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit router ospf4 1 vrf v1 router 4.4.4.3 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.3 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: router ospf4 1 ena router ospf4 1 net broad router ospf6 1 ena router ospf6 1 net broad exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit bridge 1 exit router ospf4 1 vrf v1 router 4.4.4.4 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.4 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: router ospf4 1 ena router ospf4 1 net broad router ospf6 1 ena router ospf6 1 net broad exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.4 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::4 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.4 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::4 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.4 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::4 vrf v1 r4 tping 100 40 2.2.2.1 vrf v1 r4 tping 100 40 2.2.2.2 vrf v1 r4 tping 100 40 2.2.2.3 vrf v1 r4 tping 100 40 4321::1 vrf v1 r4 tping 100 40 4321::2 vrf v1 r4 tping 100 40 4321::3 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf05.tst000066400000000000000000000071771510423065500167150ustar00rootroot00000000000000description ospf nonbroadcast connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router ospf4 1 ena router ospf4 1 net nonbroad router ospf6 1 ena router ospf6 1 net nonbroad exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router ospf4 1 ena router ospf4 1 net nonbroad router ospf6 1 ena router ospf6 1 net nonbroad exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit router ospf4 1 vrf v1 router 4.4.4.3 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.3 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: router ospf4 1 ena router ospf4 1 net nonbroad router ospf6 1 ena router ospf6 1 net nonbroad exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit bridge 1 exit router ospf4 1 vrf v1 router 4.4.4.4 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.4 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: router ospf4 1 ena router ospf4 1 net nonbroad router ospf6 1 ena router ospf6 1 net nonbroad ipv4 resend-packet ipv6 resend-packet router ospf4 1 prio 1 router ospf6 1 prio 1 router ospf4 1 neigh 1.1.1.1 router ospf4 1 neigh 1.1.1.2 router ospf4 1 neigh 1.1.1.3 router ospf6 1 neigh 1234::1 router ospf6 1 neigh 1234::2 router ospf6 1 neigh 1234::3 exit ! r1 tping 100 80 2.2.2.2 vrf v1 r1 tping 100 80 2.2.2.3 vrf v1 r1 tping 100 80 2.2.2.4 vrf v1 r1 tping 100 80 4321::2 vrf v1 r1 tping 100 80 4321::3 vrf v1 r1 tping 100 80 4321::4 vrf v1 r2 tping 100 80 2.2.2.1 vrf v1 r2 tping 100 80 2.2.2.3 vrf v1 r2 tping 100 80 2.2.2.4 vrf v1 r2 tping 100 80 4321::1 vrf v1 r2 tping 100 80 4321::3 vrf v1 r2 tping 100 80 4321::4 vrf v1 r3 tping 100 80 2.2.2.1 vrf v1 r3 tping 100 80 2.2.2.2 vrf v1 r3 tping 100 80 2.2.2.4 vrf v1 r3 tping 100 80 4321::1 vrf v1 r3 tping 100 80 4321::2 vrf v1 r3 tping 100 80 4321::4 vrf v1 r4 tping 100 80 2.2.2.1 vrf v1 r4 tping 100 80 2.2.2.2 vrf v1 r4 tping 100 80 2.2.2.3 vrf v1 r4 tping 100 80 4321::1 vrf v1 r4 tping 100 80 4321::2 vrf v1 r4 tping 100 80 4321::3 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf06.tst000066400000000000000000000073301510423065500167050ustar00rootroot00000000000000description ospf point2point chain addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.3 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.4 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.4 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.4 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::4 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.4 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::4 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.4 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::4 vrf v1 r4 tping 100 40 2.2.2.1 vrf v1 r4 tping 100 40 2.2.2.2 vrf v1 r4 tping 100 40 2.2.2.3 vrf v1 r4 tping 100 40 4321::1 vrf v1 r4 tping 100 40 4321::2 vrf v1 r4 tping 100 40 4321::3 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 output ../binTmp/rout-ospf.html here are the ipv4 neighbors:
show:0
here are the ipv6 neighbors:
show:1
here is the ipv4 database:
show:2
here is the ipv6 database:
show:3
here is the ipv4 tree:
show:4
here is the ipv6 tree:
show:5
here are the ipv4 routes:
show:6
here are the ipv6 routes:
show:7
! freeRtr-25.11.9/cfg/rout-ospf07.tst000066400000000000000000000072001510423065500167020ustar00rootroot00000000000000description ospf broadcast chain addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 net broad router ospf6 1 ena router ospf6 1 net broad exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf4 1 net broad router ospf4 1 prio 1 router ospf6 1 ena router ospf6 1 net broad router ospf6 1 prio 1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 net broad router ospf4 1 prio 1 router ospf6 1 ena router ospf6 1 net broad router ospf6 1 prio 1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.3 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf4 1 net broad router ospf6 1 ena router ospf6 1 net broad exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 net broad router ospf6 1 ena router ospf6 1 net broad exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.4 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.4 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router ospf4 1 ena router ospf4 1 net broad router ospf4 1 prio 1 router ospf6 1 ena router ospf6 1 net broad router ospf6 1 prio 1 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.4 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::4 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.4 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::4 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.4 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::4 vrf v1 r4 tping 100 40 2.2.2.1 vrf v1 r4 tping 100 40 2.2.2.2 vrf v1 r4 tping 100 40 2.2.2.3 vrf v1 r4 tping 100 40 4321::1 vrf v1 r4 tping 100 40 4321::2 vrf v1 r4 tping 100 40 4321::3 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf08.tst000066400000000000000000000052021510423065500167030ustar00rootroot00000000000000description ospf stub area addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena area 1 ena area 1 stub red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena area 1 ena area 1 stub red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 area 1 router ospf6 1 ena router ospf6 1 area 1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 1 ena area 1 stub red conn exit router ospf6 1 vrf v1 router 6.6.6.3 area 1 ena area 1 stub red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.33 255.255.255.255 ipv6 addr 4321::33 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 passiv router ospf6 1 ena router ospf6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 0 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.33 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 0 40 4321::3 vrf v1 r1 tping 100 40 4321::33 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 0 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.33 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 0 40 4321::3 vrf v1 r2 tping 100 40 4321::33 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf09.tst000066400000000000000000000052121510423065500167050ustar00rootroot00000000000000description ospf nssa area addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena area 1 ena area 1 nssa red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena area 1 ena area 1 nssa red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 area 1 router ospf6 1 ena router ospf6 1 area 1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 1 ena area 1 nssa red conn exit router ospf6 1 vrf v1 router 6.6.6.3 area 1 ena area 1 nssa red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.33 255.255.255.255 ipv6 addr 4321::33 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 passiv router ospf6 1 ena router ospf6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.33 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::33 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.33 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::33 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf10.tst000066400000000000000000000051311510423065500166750ustar00rootroot00000000000000description ospf transit area addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena area 1 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena area 1 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 area 1 router ospf6 1 ena router ospf6 1 area 1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 1 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.3 area 1 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.33 255.255.255.255 ipv6 addr 4321::33 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 passiv router ospf6 1 ena router ospf6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.33 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::33 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.33 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::33 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf11.tst000066400000000000000000000065131510423065500167030ustar00rootroot00000000000000description ospf intra area metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 passiv router ospf6 1 ena router ospf6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 passiv router ospf6 1 ena router ospf6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf4 1 cost 100 router ospf6 1 ena router ospf6 1 cost 100 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 0 ena exit router ospf6 1 vrf v1 router 6.6.6.3 area 0 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 passiv router ospf6 1 ena router ospf6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 passiv router ospf6 1 ena router ospf6 1 passiv exit int lo3 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit server telnet tel vrf v1 port 666 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.111 vrf v1 r2 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.222 vrf v1 r2 tping 0 40 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf12.tst000066400000000000000000000066301510423065500167040ustar00rootroot00000000000000description ospf intra area vs inter area addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena area 1 ena exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena area 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 passiv router ospf6 1 ena router ospf6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 area 1 router ospf4 1 passiv router ospf6 1 ena router ospf6 1 area 1 router ospf6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 cost 100 router ospf6 1 ena router ospf6 1 cost 100 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 0 ena exit router ospf6 1 vrf v1 router 6.6.6.3 area 0 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 passiv router ospf6 1 ena router ospf6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 passiv router ospf6 1 ena router ospf6 1 passiv exit int lo3 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit server telnet tel vrf v1 port 666 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.111 vrf v1 r2 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.222 vrf v1 r2 tping 0 40 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf13.tst000066400000000000000000000063761510423065500167140ustar00rootroot00000000000000description ospf inter area vs external addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 cost 100 router ospf6 1 ena router ospf6 1 cost 100 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 0 ena area 1 ena exit router ospf6 1 vrf v1 router 6.6.6.3 area 0 ena area 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 passiv router ospf6 1 ena router ospf6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 passiv router ospf4 1 area 1 router ospf6 1 ena router ospf6 1 passiv router ospf6 1 area 1 exit int lo3 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit server telnet tel vrf v1 port 666 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.111 vrf v1 r2 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.222 vrf v1 r2 tping 0 40 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf14.tst000066400000000000000000000064411510423065500167060ustar00rootroot00000000000000description ospf external1 vs external2 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 cost 100 router ospf6 1 ena router ospf6 1 cost 100 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit route-map rm1 set origin 111 exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router ospf4 1 vrf v1 router 4.4.4.3 area 0 ena red conn route-map rm1 prefix p4 exit router ospf6 1 vrf v1 router 6.6.6.3 area 0 ena red conn route-map rm1 prefix p6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit server telnet tel vrf v1 port 666 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.111 vrf v1 r2 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.222 vrf v1 r2 tping 0 40 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf15.tst000066400000000000000000000065531510423065500167130ustar00rootroot00000000000000description ospf external1 metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set origin 111 set metric 200 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn route-map rm1 exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 cost 100 router ospf6 1 ena router ospf6 1 cost 100 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit route-map rm1 set origin 111 exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router ospf4 1 vrf v1 router 4.4.4.3 area 0 ena red conn route-map rm1 prefix p4 exit router ospf6 1 vrf v1 router 6.6.6.3 area 0 ena red conn route-map rm1 prefix p6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit server telnet tel vrf v1 port 666 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.111 vrf v1 r2 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.222 vrf v1 r2 tping 0 40 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf16.tst000066400000000000000000000064321510423065500167100ustar00rootroot00000000000000description ospf external2 metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 50 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn route-map rm1 exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 cost 100 router ospf6 1 ena router ospf6 1 cost 100 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit prefix-list p4 sequence 10 deny 2.2.2.222/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::222/128 sequence 20 permit ::/0 le 128 exit router ospf4 1 vrf v1 router 4.4.4.3 area 0 ena red conn prefix p4 exit router ospf6 1 vrf v1 router 6.6.6.3 area 0 ena red conn prefix p6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit server telnet tel vrf v1 port 666 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.111 vrf v1 r2 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.222 vrf v1 r2 tping 0 40 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf17.tst000066400000000000000000000034141510423065500167060ustar00rootroot00000000000000description ospf address suppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 passiv router ospf6 1 ena router ospf6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 passiv router ospf4 1 suppress router ospf6 1 ena router ospf6 1 passiv router ospf6 1 suppress exit int lo3 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 passiv router ospf6 1 ena router ospf6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 0 40 2.2.2.2 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 0 40 4321::2 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf18.tst000066400000000000000000000026161510423065500167120ustar00rootroot00000000000000description ospf text authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf19.tst000066400000000000000000000064541510423065500167170ustar00rootroot00000000000000description ospf inter area ingress filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit prefix-list p4 sequence 10 deny 2.2.2.8/29 le 32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::10/124 le 128 sequence 20 permit ::/0 le 128 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena area 1 ena red conn area 0 prefix-list-from p4 area 1 prefix-list-from p4 exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena area 1 ena red conn area 0 prefix-list-from p6 area 1 prefix-list-from p6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 area 1 router ospf6 1 ena router ospf6 1 area 1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 1 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.3 area 1 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 4321::12 vrf v1 r1 tping 0 40 2.2.2.13 vrf v1 r1 tping 0 40 4321::13 vrf v1 r2 tping 0 40 2.2.2.11 vrf v1 r2 tping 0 40 4321::11 vrf v1 r2 tping 0 40 2.2.2.13 vrf v1 r2 tping 0 40 4321::13 vrf v1 r3 tping 0 40 2.2.2.11 vrf v1 r3 tping 0 40 4321::11 vrf v1 r3 tping 100 40 2.2.2.12 vrf v1 r3 tping 100 40 4321::12 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf20.tst000066400000000000000000000065521510423065500167060ustar00rootroot00000000000000description ospf inter area ingress filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map p4 sequence 10 act deny match network 2.2.2.8/29 le 32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::10/124 le 128 sequence 20 act perm match network ::/0 le 128 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena area 1 ena red conn area 0 route-map-from p4 area 1 route-map-from p4 exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena area 1 ena red conn area 0 route-map-from p6 area 1 route-map-from p6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 area 1 router ospf6 1 ena router ospf6 1 area 1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 1 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.3 area 1 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 4321::12 vrf v1 r1 tping 0 40 2.2.2.13 vrf v1 r1 tping 0 40 4321::13 vrf v1 r2 tping 0 40 2.2.2.11 vrf v1 r2 tping 0 40 4321::11 vrf v1 r2 tping 0 40 2.2.2.13 vrf v1 r2 tping 0 40 4321::13 vrf v1 r3 tping 0 40 2.2.2.11 vrf v1 r3 tping 0 40 4321::11 vrf v1 r3 tping 100 40 2.2.2.12 vrf v1 r3 tping 100 40 4321::12 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf21.tst000066400000000000000000000064531510423065500167070ustar00rootroot00000000000000description ospf inter area egress filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit prefix-list p4 sequence 10 deny 2.2.2.8/29 le 32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::10/124 le 128 sequence 20 permit ::/0 le 128 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena area 1 ena red conn area 0 prefix-list-into p4 area 1 prefix-list-into p4 exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena area 1 ena red conn area 0 prefix-list-into p6 area 1 prefix-list-into p6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 area 1 router ospf6 1 ena router ospf6 1 area 1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 1 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.3 area 1 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 tping 0 20 2.2.2.12 vrf v1 r1 tping 0 20 4321::12 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 0 20 4321::13 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 4321::13 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 0 20 2.2.2.12 vrf v1 r3 tping 0 20 4321::12 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf22.tst000066400000000000000000000065511510423065500167070ustar00rootroot00000000000000description ospf inter area egress filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map p4 sequence 10 act deny match network 2.2.2.8/29 le 32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::10/124 le 128 sequence 20 act perm match network ::/0 le 128 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena area 1 ena red conn area 0 route-map-into p4 area 1 route-map-into p4 exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena area 1 ena red conn area 0 route-map-into p6 area 1 route-map-into p6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 area 1 router ospf6 1 ena router ospf6 1 area 1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 1 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.3 area 1 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 tping 0 20 2.2.2.12 vrf v1 r1 tping 0 20 4321::12 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 0 20 4321::13 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 4321::13 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 0 20 2.2.2.12 vrf v1 r3 tping 0 20 4321::12 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf23.tst000066400000000000000000000064271510423065500167120ustar00rootroot00000000000000description ospf inter area ingress filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-policy p4 if network 2.2.2.8/29 le 32 drop else pass enif exit route-policy p6 if network 4321::10/124 le 128 drop else pass enif exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena area 1 ena red conn area 0 route-policy-from p4 area 1 route-policy-from p4 exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena area 1 ena red conn area 0 route-policy-from p6 area 1 route-policy-from p6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 area 1 router ospf6 1 ena router ospf6 1 area 1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 1 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.3 area 1 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 4321::12 vrf v1 r1 tping 0 40 2.2.2.13 vrf v1 r1 tping 0 40 4321::13 vrf v1 r2 tping 0 40 2.2.2.11 vrf v1 r2 tping 0 40 4321::11 vrf v1 r2 tping 0 40 2.2.2.13 vrf v1 r2 tping 0 40 4321::13 vrf v1 r3 tping 0 40 2.2.2.11 vrf v1 r3 tping 0 40 4321::11 vrf v1 r3 tping 100 40 2.2.2.12 vrf v1 r3 tping 100 40 4321::12 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf24.tst000066400000000000000000000064261510423065500167120ustar00rootroot00000000000000description ospf inter area egress filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-policy p4 if network 2.2.2.8/29 le 32 drop else pass enif exit route-policy p6 if network 4321::10/124 le 128 drop else pass enif exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena area 1 ena red conn area 0 route-policy-into p4 area 1 route-policy-into p4 exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena area 1 ena red conn area 0 route-policy-into p6 area 1 route-policy-into p6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 area 1 router ospf6 1 ena router ospf6 1 area 1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 1 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.3 area 1 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 tping 0 20 2.2.2.12 vrf v1 r1 tping 0 20 4321::12 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 0 20 4321::13 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 4321::13 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 0 20 2.2.2.12 vrf v1 r3 tping 0 20 4321::12 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf25.tst000066400000000000000000000025241510423065500167060ustar00rootroot00000000000000description ospf default route addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena area 0 default exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena area 0 default exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf26.tst000066400000000000000000000046651510423065500167170ustar00rootroot00000000000000description ospf with bfd addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 bfd 100 100 3 router ospf4 1 ena router ospf4 1 bfd ipv6 addr 1234:1::1 ffff:ffff:: ipv6 bfd 100 100 3 router ospf6 1 ena router ospf6 1 bfd exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 bfd 100 100 3 router ospf4 1 ena router ospf4 1 bfd router ospf4 1 cost 10 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 bfd 100 100 3 router ospf6 1 ena router ospf6 1 bfd router ospf6 1 cost 10 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 bfd 100 100 3 router ospf4 1 ena router ospf4 1 bfd ipv6 addr 1234:1::2 ffff:ffff:: ipv6 bfd 100 100 3 router ospf6 1 ena router ospf6 1 bfd exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 bfd 100 100 3 router ospf4 1 ena router ospf4 1 bfd router ospf4 1 cost 10 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 bfd 100 100 3 router ospf6 1 ena router ospf6 1 bfd router ospf6 1 cost 10 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 sleep 3000 r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 send conf t r2 send int eth1 r2 send shut r2 send end r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf27.tst000066400000000000000000000027021510423065500167060ustar00rootroot00000000000000description ospf with te addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 traffeng 4.4.4.1 area 0 ena area 0 traff red conn exit router ospf6 1 vrf v1 router 6.6.6.1 traffeng 6.6.6.1 area 0 ena area 0 traff red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router ospf4 1 ena ipv6 addr 1234:1::1 ffff:ffff:: router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 traffeng 4.4.4.2 area 0 ena area 0 traff red conn exit router ospf6 1 vrf v1 router 6.6.6.2 traffeng 6.6.6.2 area 0 ena area 0 traff red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router ospf4 1 ena ipv6 addr 1234:1::2 ffff:ffff:: router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf28.tst000066400000000000000000000030121510423065500167020ustar00rootroot00000000000000description ospf peer template addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int temp1 vrf for v1 ipv4 addr 9.9.9.9 255.255.255.0 ipv6 addr 9999::9 ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: temp temp1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int temp1 vrf for v1 ipv4 addr 9.9.9.9 255.255.255.0 ipv6 addr 9999::9 ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: temp temp1 exit int temp1 router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf29.tst000066400000000000000000000074061510423065500167160ustar00rootroot00000000000000description ospf with sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.1 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.1 segrout 10 area 0 ena area 0 segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 segrout index 1 router ospf4 1 segrout node router ospf6 1 ena router ospf6 1 segrout index 1 router ospf6 1 segrout node exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.2 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.2 segrout 10 area 0 ena area 0 segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 segrout index 2 router ospf4 1 segrout node router ospf6 1 ena router ospf6 1 segrout index 2 router ospf6 1 segrout node exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router ospf4 1 ena router ospf6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.3 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.3 segrout 10 area 0 ena area 0 segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 segrout index 3 router ospf4 1 segrout node router ospf6 1 ena router ospf6 1 segrout index 3 router ospf6 1 segrout node exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 segrou v1 r2 output show ipv6 segrou v1 freeRtr-25.11.9/cfg/rout-ospf30.tst000066400000000000000000000075711510423065500167110ustar00rootroot00000000000000description ospf transit area with sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.1 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.1 segrout 10 area 0 ena area 0 segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 segrout index 1 router ospf4 1 segrout node router ospf6 1 ena router ospf6 1 segrout index 1 router ospf6 1 segrout node exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.2 segrout 10 area 0 ena area 0 segrout area 1 ena area 1 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.2 segrout 10 area 0 ena area 0 segrout area 1 ena area 1 segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 segrout index 2 router ospf4 1 segrout node router ospf6 1 ena router ospf6 1 segrout index 2 router ospf6 1 segrout node exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router ospf4 1 ena router ospf4 1 area 1 router ospf6 1 ena router ospf6 1 area 1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.3 segrout 10 area 1 ena area 1 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.3 segrout 10 area 1 ena area 1 segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 segrout index 3 router ospf4 1 segrout node router ospf6 1 ena router ospf6 1 segrout index 3 router ospf6 1 segrout node exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 segrou v1 r2 output show ipv6 segrou v1 freeRtr-25.11.9/cfg/rout-ospf31.tst000066400000000000000000000034651510423065500167100ustar00rootroot00000000000000description ospf prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r1 send conf t r1 send int lo1 r1 send no router ospf4 1 ena r1 send no router ospf6 1 ena r1 send end r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 0 40 2.2.2.1 vrf v1 r2 tping 0 40 4321::1 vrf v1 r1 send conf t r1 send int lo1 r1 send router ospf4 1 ena r1 send router ospf6 1 ena r1 send end r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf32.tst000066400000000000000000000066141510423065500167100ustar00rootroot00000000000000description ospf change in metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 1000 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn route-map rm1 exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map rm1 sequence 10 act deny sequence 10 match metric 2000-4000 sequence 20 act perm exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn area 0 route-map-from rm1 exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn area 0 route-map-from rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.3 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 3000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 0 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 0 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 0 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 0 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 5000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf33.tst000066400000000000000000000065751510423065500167170ustar00rootroot00000000000000description ospf change in tag addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set tag 1000 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn route-map rm1 exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map rm1 sequence 10 act deny sequence 10 match tag 2000-4000 sequence 20 act perm exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn area 0 route-map-from rm1 exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn area 0 route-map-from rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.3 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set tag 3000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 0 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 0 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 0 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 0 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set tag 5000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf34.tst000066400000000000000000000065741510423065500167170ustar00rootroot00000000000000description ospf aggregate addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map p4 sequence 10 act deny match network 2.2.2.8/29 le 32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::10/124 le 128 sequence 20 act perm match network ::/0 le 128 exit router ospf4 1 vrf v1 router 4.4.4.2 aggregate 2.2.2.0/24 area 0 ena area 1 ena red conn area 0 route-map-into p4 area 1 route-map-into p4 exit router ospf6 1 vrf v1 router 6.6.6.2 aggregate 4321::/32 area 0 ena area 1 ena red conn area 0 route-map-into p6 area 1 route-map-into p6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 area 1 router ospf6 1 ena router ospf6 1 area 1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 1 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.3 area 1 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 tping 0 20 2.2.2.12 vrf v1 r1 tping 0 20 4321::12 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 0 20 4321::13 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 4321::13 vrf v1 r3 tping 100 20 2.2.2.11 vrf v1 r3 tping 100 20 4321::11 vrf v1 r3 tping 100 20 2.2.2.12 vrf v1 r3 tping 100 20 4321::12 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf35.tst000066400000000000000000000042641510423065500167120ustar00rootroot00000000000000description ospf auto mesh tunnel addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn automesh all exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn automesh all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.0 ipv6 addr 9999::1 ffff:: router ospf4 1 ena router ospf6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn automesh all exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn automesh all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.0 ipv6 addr 9999::2 ffff:: router ospf4 1 ena router ospf6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit ! r1 tping 100 20 9.9.9.2 vrf v1 r1 tping 100 20 9999::2 vrf v1 r2 tping 100 20 9.9.9.1 vrf v1 r2 tping 100 20 9999::1 vrf v1 r1 tping 0 20 2.2.2.2 vrf v1 r1 tping 0 20 4321::2 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r2 tping 0 20 4321::1 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf36.tst000066400000000000000000000057171510423065500167170ustar00rootroot00000000000000description ospf triangle connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router ospf4 1 ena router ospf4 1 cost 100 router ospf6 1 ena router ospf6 1 cost 100 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.3 area 0 ena red conn exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 cost 100 router ospf6 1 ena router ospf6 1 cost 100 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf37.tst000066400000000000000000000135231510423065500167120ustar00rootroot00000000000000description ospf prefix movement addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 10 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena advertise 2.2.2.1/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena advertise 4321::1/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena advertise 2.2.2.2/32 exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena advertise 4321::2/128 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 20 exit router ospf4 1 vrf v1 router 4.4.4.3 area 0 ena advertise 2.2.2.3/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router ospf6 1 vrf v1 router 6.6.6.3 area 0 ena advertise 4321::3/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 2.2.2.222 vrf v1 r1 tping 100 40 4321::222 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 tping 100 40 4321::222 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 2.2.2.3 vrf v1 r3 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.222 vrf v1 r3 tping 100 40 4321::222 vrf v1 r2 tping 0 40 2.2.2.101 vrf v1 r2 tping 0 40 4321::101 vrf v1 r2 tping 0 40 2.2.2.103 vrf v1 r2 tping 0 40 4321::103 vrf v1 r2 send telnet 2.2.2.222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r2 send telnet 4321::222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 30 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 2.2.2.222 vrf v1 r1 tping 100 40 4321::222 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 tping 100 40 4321::222 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 2.2.2.3 vrf v1 r3 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.222 vrf v1 r3 tping 100 40 4321::222 vrf v1 r2 tping 0 40 2.2.2.101 vrf v1 r2 tping 0 40 4321::101 vrf v1 r2 tping 0 40 2.2.2.103 vrf v1 r2 tping 0 40 4321::103 vrf v1 r2 send telnet 2.2.2.222 666 vrf v1 r2 tping 100 40 2.2.2.103 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.103 vrf v1 r2 send telnet 4321::222 666 vrf v1 r2 tping 100 40 2.2.2.103 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.103 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 10 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 2.2.2.222 vrf v1 r1 tping 100 40 4321::222 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 tping 100 40 4321::222 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 2.2.2.3 vrf v1 r3 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.222 vrf v1 r3 tping 100 40 4321::222 vrf v1 r2 tping 0 40 2.2.2.101 vrf v1 r2 tping 0 40 4321::101 vrf v1 r2 tping 0 40 2.2.2.103 vrf v1 r2 tping 0 40 4321::103 vrf v1 r2 send telnet 2.2.2.222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r2 send telnet 4321::222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf38.tst000066400000000000000000000077761510423065500167300ustar00rootroot00000000000000description ospf with bier addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.1 bier 256 10 area 0 ena area 0 bier red conn exit router ospf6 1 vrf v1 router 6.6.6.1 bier 256 10 area 0 ena area 0 bier red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 bier index 1 router ospf6 1 ena router ospf6 1 bier index 1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router ospf4 1 ena router ospf6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.2 bier 256 10 area 0 ena area 0 bier red conn exit router ospf6 1 vrf v1 router 6.6.6.2 bier 256 10 area 0 ena area 0 bier red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 bier index 2 router ospf6 1 ena router ospf6 1 bier index 2 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router ospf4 1 ena router ospf6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.3 bier 256 10 area 0 ena area 0 bier red conn exit router ospf6 1 vrf v1 router 6.6.6.3 bier 256 10 area 0 ena area 0 bier red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 bier index 3 router ospf6 1 ena router ospf6 1 bier index 3 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router ospf4 1 ena router ospf6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv6 addr 4321::1112 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 0 40 2.2.2.3 vrf v1 sou lo1 r3 tping 0 40 2.2.2.1 vrf v1 sou lo1 r1 tping 0 40 4321::3 vrf v1 sou lo1 r3 tping 0 40 4321::1 vrf v1 sou lo1 r1 tping 100 40 3.3.3.2 vrf v1 r1 tping 100 40 4321::1112 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r3 tping 100 40 4321::1111 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 bier v1 r2 output show ipv6 bier v1 freeRtr-25.11.9/cfg/rout-ospf39.tst000066400000000000000000000101531510423065500167100ustar00rootroot00000000000000description ospf transit area with bier addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.1 bier 256 10 area 0 ena area 0 bier red conn exit router ospf6 1 vrf v1 router 6.6.6.1 bier 256 10 area 0 ena area 0 bier red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 bier index 1 router ospf6 1 ena router ospf6 1 bier index 1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router ospf4 1 ena router ospf6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.2 bier 256 10 area 0 ena area 0 bier area 1 ena area 1 bier red conn exit router ospf6 1 vrf v1 router 6.6.6.2 bier 256 10 area 0 ena area 0 bier area 1 ena area 1 bier red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 bier index 2 router ospf6 1 ena router ospf6 1 bier index 2 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router ospf4 1 ena router ospf4 1 area 1 router ospf6 1 ena router ospf6 1 area 1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.3 bier 256 10 area 1 ena area 1 bier red conn exit router ospf6 1 vrf v1 router 6.6.6.3 bier 256 10 area 1 ena area 1 bier red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 bier index 3 router ospf6 1 ena router ospf6 1 bier index 3 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router ospf4 1 ena router ospf6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv6 addr 4321::1112 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 0 40 2.2.2.3 vrf v1 sou lo1 r3 tping 0 40 2.2.2.1 vrf v1 sou lo1 r1 tping 0 40 4321::3 vrf v1 sou lo1 r3 tping 0 40 4321::1 vrf v1 sou lo1 r1 tping 100 40 3.3.3.2 vrf v1 r1 tping 100 40 4321::1112 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r3 tping 100 40 4321::1111 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 bier v1 r2 output show ipv6 bier v1 freeRtr-25.11.9/cfg/rout-ospf40.tst000066400000000000000000000052051510423065500167020ustar00rootroot00000000000000description ospf autoroute addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ int ser2 ser 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.0 ipv6 addr 9999::1 ffff:: router ospf4 1 ena router ospf6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int ser2 vrf for v1 ipv4 addr 9.9.8.1 255.255.255.0 ipv6 addr 9998::1 ffff:: ipv4 autoroute ospf4 1 2.2.2.2 9.9.8.2 ipv6 autoroute ospf6 1 4321::2 9998::2 exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ int ser2 ser 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.0 ipv6 addr 9999::2 ffff:: router ospf4 1 ena router ospf6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int ser2 vrf for v1 ipv4 addr 9.9.8.2 255.255.255.0 ipv6 addr 9998::2 ffff:: ipv4 autoroute ospf4 1 2.2.2.1 9.9.8.1 ipv6 autoroute ospf6 1 4321::1 9998::1 exit ! r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 4321::12 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 4321::11 vrf v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r1 tping 0 40 9.9.9.2 vrf v1 r1 tping 0 40 9999::2 vrf v1 r2 tping 0 40 9.9.9.1 vrf v1 r2 tping 0 40 9999::1 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf41.tst000066400000000000000000000106401510423065500167020ustar00rootroot00000000000000description ospf with php sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.1 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.1 segrout 10 area 0 ena area 0 segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 segrout index 1 router ospf4 1 segrout node router ospf4 1 segrout pop router ospf6 1 ena router ospf6 1 segrout index 1 router ospf6 1 segrout node router ospf6 1 segrout pop exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router ospf4 1 ena router ospf6 1 ena exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo1 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.2 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.2 segrout 10 area 0 ena area 0 segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 segrout index 2 router ospf4 1 segrout node router ospf4 1 segrout pop router ospf6 1 ena router ospf6 1 segrout index 2 router ospf6 1 segrout node router ospf6 1 segrout pop exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router ospf4 1 ena router ospf6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.3 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.3 segrout 10 area 0 ena area 0 segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 segrout index 3 router ospf4 1 segrout node router ospf4 1 segrout pop router ospf6 1 ena router ospf6 1 segrout index 3 router ospf6 1 segrout node router ospf6 1 segrout pop exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router ospf4 1 ena router ospf6 1 ena exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo1 pweompls 4321::1 1234 exit ! r1 tping 0 40 2.2.2.2 vrf v1 sou lo1 r1 tping 0 40 2.2.2.3 vrf v1 sou lo1 r1 tping 0 40 4321::2 vrf v1 sou lo1 r1 tping 0 40 4321::3 vrf v1 sou lo1 r2 tping 0 40 2.2.2.1 vrf v1 sou lo1 r2 tping 0 40 2.2.2.3 vrf v1 sou lo1 r2 tping 0 40 4321::1 vrf v1 sou lo1 r2 tping 0 40 4321::3 vrf v1 sou lo1 r3 tping 0 40 2.2.2.1 vrf v1 sou lo1 r3 tping 0 40 2.2.2.2 vrf v1 sou lo1 r3 tping 0 40 4321::1 vrf v1 sou lo1 r3 tping 0 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 segrou v1 r2 output show ipv6 segrou v1 freeRtr-25.11.9/cfg/rout-ospf42.tst000066400000000000000000000075011510423065500167050ustar00rootroot00000000000000description ospf with srgb sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.1 segrout 10 base 100 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.1 segrout 10 base 200 area 0 ena area 0 segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 segrout index 1 router ospf4 1 segrout node router ospf6 1 ena router ospf6 1 segrout index 1 router ospf6 1 segrout node exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.2 segrout 10 base 100 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.2 segrout 10 base 200 area 0 ena area 0 segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 segrout index 2 router ospf4 1 segrout node router ospf6 1 ena router ospf6 1 segrout index 2 router ospf6 1 segrout node exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router ospf4 1 ena router ospf6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router ospf4 1 vrf v1 router 4.4.4.3 segrout 10 base 100 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.3 segrout 10 base 200 area 0 ena area 0 segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 segrout index 3 router ospf4 1 segrout node router ospf6 1 ena router ospf6 1 segrout index 3 router ospf6 1 segrout node exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 segrou v1 r2 output show ipv6 segrou v1 freeRtr-25.11.9/cfg/rout-ospf43.tst000066400000000000000000000026061510423065500167070ustar00rootroot00000000000000description ospf over point2point ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.254 ipv6 addr 1234::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.254 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf44.tst000066400000000000000000000072071510423065500167120ustar00rootroot00000000000000description ospf multi area addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 1 ena area 2 ena exit router ospf6 1 vrf v1 router 6.6.6.1 area 1 ena area 2 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 area 1 router ospf6 1 ena router ospf6 1 area 1 exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 area 2 router ospf6 1 ena router ospf6 1 area 2 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 area 1 2 router ospf6 1 ena router ospf6 1 area 1 2 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 1 ena area 2 ena exit router ospf6 1 vrf v1 router 6.6.6.2 area 1 ena area 2 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 area 1 router ospf6 1 ena router ospf6 1 area 1 exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 area 2 router ospf6 1 ena router ospf6 1 area 2 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf4 1 area 1 2 router ospf6 1 ena router ospf6 1 area 1 2 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 area 1 2 router ospf6 1 ena router ospf6 1 area 1 2 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 1 ena area 2 ena exit router ospf6 1 vrf v1 router 6.6.6.3 area 1 ena area 2 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 area 1 router ospf6 1 ena router ospf6 1 area 1 exit int lo2 vrf for v1 ipv4 addr 2.2.2.33 255.255.255.255 ipv6 addr 4321::33 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 area 2 router ospf6 1 ena router ospf6 1 area 2 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf4 1 area 1 2 router ospf6 1 ena router ospf6 1 area 1 2 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 2.2.2.33 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::22 vrf v1 r1 tping 100 40 4321::33 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 2.2.2.33 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 4321::33 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.11 vrf v1 r3 tping 100 40 2.2.2.22 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::11 vrf v1 r3 tping 100 40 4321::22 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf45.tst000066400000000000000000000072721510423065500167150ustar00rootroot00000000000000description ospf asymmetric multi area addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 1 ena area 2 ena exit router ospf6 1 vrf v1 router 6.6.6.1 area 1 ena area 2 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 area 1 router ospf6 1 ena router ospf6 1 area 1 exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 area 2 router ospf6 1 ena router ospf6 1 area 2 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 area 1 2 router ospf6 1 ena router ospf6 1 area 1 2 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 1 ena area 2 ena area 3 ena exit router ospf6 1 vrf v1 router 6.6.6.2 area 1 ena area 2 ena area 3 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 area 1 router ospf6 1 ena router ospf6 1 area 1 exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 area 1 2 3 router ospf6 1 ena router ospf6 1 area 1 2 3 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf4 1 area 1 2 3 router ospf6 1 ena router ospf6 1 area 1 2 3 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 area 1 2 3 router ospf6 1 ena router ospf6 1 area 1 2 3 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 1 ena area 3 ena exit router ospf6 1 vrf v1 router 6.6.6.3 area 1 ena area 3 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 area 1 router ospf6 1 ena router ospf6 1 area 1 exit int lo2 vrf for v1 ipv4 addr 2.2.2.33 255.255.255.255 ipv6 addr 4321::33 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 area 3 router ospf6 1 ena router ospf6 1 area 3 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf4 1 area 1 3 router ospf6 1 ena router ospf6 1 area 1 3 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 2.2.2.33 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::22 vrf v1 r1 tping 100 40 4321::33 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 2.2.2.33 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 4321::33 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.11 vrf v1 r3 tping 100 40 2.2.2.22 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::11 vrf v1 r3 tping 100 40 4321::22 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf46.tst000066400000000000000000000065411510423065500167140ustar00rootroot00000000000000description ospf point2point chain with bidir check addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena area 0 spf-bidir red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena area 0 spf-bidir red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena area 0 spf-bidir red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena area 0 spf-bidir red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 0 ena area 0 spf-bidir red conn exit router ospf6 1 vrf v1 router 6.6.6.3 area 0 ena area 0 spf-bidir red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.4 area 0 ena area 0 spf-bidir red conn exit router ospf6 1 vrf v1 router 6.6.6.4 area 0 ena area 0 spf-bidir red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.4 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::4 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.4 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::4 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.4 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::4 vrf v1 r4 tping 100 40 2.2.2.1 vrf v1 r4 tping 100 40 2.2.2.2 vrf v1 r4 tping 100 40 2.2.2.3 vrf v1 r4 tping 100 40 4321::1 vrf v1 r4 tping 100 40 4321::2 vrf v1 r4 tping 100 40 4321::3 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf47.tst000066400000000000000000000074411510423065500167150ustar00rootroot00000000000000description ospf broadcast chain with bidir check addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena area 0 spf-bidir red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena area 0 spf-bidir red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 net broad router ospf6 1 ena router ospf6 1 net broad exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena area 0 spf-bidir red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena area 0 spf-bidir red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf4 1 net broad router ospf4 1 prio 1 router ospf6 1 ena router ospf6 1 net broad router ospf6 1 prio 1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 net broad router ospf4 1 prio 1 router ospf6 1 ena router ospf6 1 net broad router ospf6 1 prio 1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 0 ena area 0 spf-bidir red conn exit router ospf6 1 vrf v1 router 6.6.6.3 area 0 ena area 0 spf-bidir red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf4 1 net broad router ospf6 1 ena router ospf6 1 net broad exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 net broad router ospf6 1 ena router ospf6 1 net broad exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.4 area 0 ena area 0 spf-bidir red conn exit router ospf6 1 vrf v1 router 6.6.6.4 area 0 ena area 0 spf-bidir red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router ospf4 1 ena router ospf4 1 net broad router ospf4 1 prio 1 router ospf6 1 ena router ospf6 1 net broad router ospf6 1 prio 1 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.4 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::4 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.4 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::4 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.4 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::4 vrf v1 r4 tping 100 40 2.2.2.1 vrf v1 r4 tping 100 40 2.2.2.2 vrf v1 r4 tping 100 40 2.2.2.3 vrf v1 r4 tping 100 40 4321::1 vrf v1 r4 tping 100 40 4321::2 vrf v1 r4 tping 100 40 4321::3 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf48.tst000066400000000000000000000071401510423065500167120ustar00rootroot00000000000000description ospf ecmp connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn area 0 spf-ecmp ecmp exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn area 0 spf-ecmp ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:21::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.10 255.255.255.252 ipv6 addr 1234:23::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn area 0 spf-ecmp ecmp exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn area 0 spf-ecmp ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:21::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.252 ipv6 addr 1234:22::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 0 ena red conn area 0 spf-ecmp ecmp exit router ospf6 1 vrf v1 router 6.6.6.3 area 0 ena red conn area 0 spf-ecmp ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.252 ipv6 addr 1234:22::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.9 255.255.255.252 ipv6 addr 1234:23::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf49.tst000066400000000000000000000051001510423065500167050ustar00rootroot00000000000000description ospf with bgp linkstate addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena justadvert lo1 exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena justadvert lo1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234::1 ffff:: router ospf4 1 ena router ospf6 1 ena exit router bgp4 1 vrf v1 no safe-ebgp address uni linkstate local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 linkstate afi-link ospf4 1 0 justadvert lo2 exit router bgp6 1 vrf v1 no safe-ebgp address uni linkstate local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 linkstate afi-link ospf6 1 0 justadvert lo2 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena justadvert lo1 exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena justadvert lo1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234::2 ffff:: router ospf4 1 ena router ospf6 1 ena exit router bgp4 1 vrf v1 no safe-ebgp address uni linkstate local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 linkstate afi-link ospf4 1 0 justadvert lo2 exit router bgp6 1 vrf v1 no safe-ebgp address uni linkstate local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 linkstate afi-link ospf6 1 0 justadvert lo2 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r1 tping 100 20 2.2.2.102 vrf v1 r2 tping 100 20 2.2.2.101 vrf v1 r1 tping 100 20 4321::102 vrf v1 r2 tping 100 20 4321::101 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r1 output show ipv4 bgp 1 uni dat r1 output show ipv6 bgp 1 uni dat r1 output show ipv4 bgp 1 links dat r1 output show ipv6 bgp 1 links dat freeRtr-25.11.9/cfg/rout-ospf50.tst000066400000000000000000000100271510423065500167010ustar00rootroot00000000000000description ospf with polka addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.1 segrout 10 area 0 ena area 0 segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 segrout index 1 router ospf4 1 segrout node router ospf6 1 ena router ospf6 1 segrout index 1 router ospf6 1 segrout node exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router ospf4 1 ena router ospf6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback1 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback1 tunnel destination 4321::3 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.2 segrout 10 area 0 ena area 0 segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 segrout index 2 router ospf4 1 segrout node router ospf6 1 ena router ospf6 1 segrout index 2 router ospf6 1 segrout node exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable polka enable 2 65536 10 router ospf4 1 ena router ospf6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.3 segrout 10 area 0 ena area 0 segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 segrout index 3 router ospf4 1 segrout node router ospf6 1 ena router ospf6 1 segrout index 3 router ospf6 1 segrout node exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 3 65536 10 router ospf4 1 ena router ospf6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback1 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback1 tunnel destination 4321::1 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r3 tping 100 20 3333::1 vrf v1 sou tun2 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 segrou v1 r2 output show ipv6 segrou v1 freeRtr-25.11.9/cfg/rout-ospf51.tst000066400000000000000000000040201510423065500166760ustar00rootroot00000000000000description ospf default address suppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena area 0 suppress exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena area 0 suppress exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 passiv router ospf6 1 ena router ospf6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 passiv router ospf6 1 ena router ospf6 1 passiv exit int lo3 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 passiv router ospf6 1 ena router ospf6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 passiv router ospf6 1 ena router ospf6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.111 vrf v1 r1 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.1 vrf v1 r2 tping 0 40 2.2.2.2 vrf v1 r2 tping 0 40 2.2.2.3 vrf v1 r2 tping 0 40 4321::1 vrf v1 r2 tping 0 40 4321::2 vrf v1 r2 tping 0 40 4321::3 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf52.tst000066400000000000000000000041041510423065500167020ustar00rootroot00000000000000description ospf address unsuppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena area 0 suppress exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena area 0 suppress exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 passiv router ospf6 1 ena router ospf6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 passiv router ospf4 1 unsuppress router ospf6 1 ena router ospf6 1 passiv router ospf6 1 unsuppress exit int lo3 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 passiv router ospf6 1 ena router ospf6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 passiv router ospf6 1 ena router ospf6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.111 vrf v1 r1 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.2 vrf v1 r2 tping 0 40 2.2.2.3 vrf v1 r2 tping 0 40 4321::1 vrf v1 r2 tping 100 40 4321::2 vrf v1 r2 tping 0 40 4321::3 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf53.tst000066400000000000000000000054061510423065500167110ustar00rootroot00000000000000description ospf maximum metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.3 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 tping 100 20 2.2.2.2 vrf v1 r2 send conf t r2 send router ospf4 1 r2 send area 0 max-met r2 send end r2 send conf t r2 send router ospf6 1 r2 send area 0 max-met r2 send end r2 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 0 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 0 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 0 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 0 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf54.tst000066400000000000000000000030111510423065500167000ustar00rootroot00000000000000description ospf md5 authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf4 1 authen-id 123 router ospf4 1 authen-type md5 router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf4 1 authen-id 123 router ospf4 1 authen-type md5 router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf55.tst000066400000000000000000000037611510423065500167150ustar00rootroot00000000000000description ospf dynamic icmp cost addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router ospf4 1 ena router ospf4 1 cost 100 router ospf6 1 ena router ospf6 1 cost 100 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: router ospf4 1 ena router ospf4 1 cost 1 router ospf6 1 ena router ospf6 1 cost 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router ospf4 1 ena router ospf4 1 cost 2 router ospf4 1 dynamic-met mod icm router ospf6 1 ena router ospf6 1 cost 2 router ospf6 1 dynamic-met mod icm exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: router ospf4 1 ena router ospf4 1 cost 200 router ospf4 1 dynamic-met mod icm router ospf6 1 ena router ospf6 1 cost 200 router ospf6 1 dynamic-met mod icm exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf56.tst000066400000000000000000000040141510423065500167060ustar00rootroot00000000000000description ospf dynamic udp cost addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit server echo e vrf v1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router ospf4 1 ena router ospf4 1 cost 100 router ospf6 1 ena router ospf6 1 cost 100 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: router ospf4 1 ena router ospf4 1 cost 1 router ospf6 1 ena router ospf6 1 cost 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router ospf4 1 ena router ospf4 1 cost 2 router ospf4 1 dynamic-met mod udp router ospf6 1 ena router ospf6 1 cost 2 router ospf6 1 dynamic-met mod udp exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: router ospf4 1 ena router ospf4 1 cost 200 router ospf4 1 dynamic-met mod udp router ospf6 1 ena router ospf6 1 cost 200 router ospf6 1 dynamic-met mod udp exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf57.tst000066400000000000000000000040171510423065500167120ustar00rootroot00000000000000description ospf dynamic twamp cost addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit server twamp t vrf v1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router ospf4 1 ena router ospf4 1 cost 100 router ospf6 1 ena router ospf6 1 cost 100 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: router ospf4 1 ena router ospf4 1 cost 1 router ospf6 1 ena router ospf6 1 cost 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router ospf4 1 ena router ospf4 1 cost 2 router ospf4 1 dynamic-met mod twa router ospf6 1 ena router ospf6 1 cost 2 router ospf6 1 dynamic-met mod twa exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: router ospf4 1 ena router ospf4 1 cost 200 router ospf4 1 dynamic-met mod twa router ospf6 1 ena router ospf6 1 cost 200 router ospf6 1 dynamic-met mod twa exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf58.tst000066400000000000000000000102041510423065500167060ustar00rootroot00000000000000description ospf with mpolka addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.1 segrout 10 area 0 ena area 0 segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 segrout index 1 router ospf4 1 segrout node router ospf6 1 ena router ospf6 1 segrout index 1 router ospf6 1 segrout node exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: mpls enable polka enable 1 65536 10 router ospf4 1 ena router ospf6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback1 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 2.2.2.3 , 2.2.2.3 2.2.2.3 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback1 tunnel destination 4321::3 tunnel domain-name 4321::2 4321::3 , 4321::3 4321::3 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.2 segrout 10 area 0 ena area 0 segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 segrout index 2 router ospf4 1 segrout node router ospf6 1 ena router ospf6 1 segrout index 2 router ospf6 1 segrout node exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: mpls enable polka enable 2 65536 10 router ospf4 1 ena router ospf6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable polka enable 2 65536 10 router ospf4 1 ena router ospf6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 segrout 10 area 0 ena area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.3 segrout 10 area 0 ena area 0 segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router ospf4 1 ena router ospf4 1 segrout index 3 router ospf4 1 segrout node router ospf6 1 ena router ospf6 1 segrout index 3 router ospf6 1 segrout node exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable polka enable 3 65536 10 router ospf4 1 ena router ospf6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback1 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 2.2.2.1 , 2.2.2.1 2.2.2.1 tunnel mode mpolka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback1 tunnel destination 4321::1 tunnel domain-name 4321::2 4321::1 , 4321::1 4321::1 tunnel mode mpolka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r3 tping 100 20 3333::1 vrf v1 sou tun2 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 segrou v1 r2 output show ipv6 segrou v1 freeRtr-25.11.9/cfg/rout-ospf59.tst000066400000000000000000000031171510423065500167140ustar00rootroot00000000000000description ospf flexalgo addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 flexalgo 128 v2 area 0 ena segrout 10 area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.1 flexalgo 128 v2 area 0 ena segrout 10 area 0 segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router ospf4 1 ena router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 flexalgo 128 v2 area 0 ena segrout 10 area 0 segrout red conn exit router ospf6 1 vrf v1 router 6.6.6.2 flexalgo 128 v2 area 0 ena segrout 10 area 0 segrout red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router ospf4 1 ena router ospf6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 r2 output show ipv4 route v2 r2 output show ipv6 route v2 freeRtr-25.11.9/cfg/rout-ospf60.tst000066400000000000000000000027311510423065500167050ustar00rootroot00000000000000description ospf with pmtud addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router ospf4 1 ena router ospf6 1 ena router ospf4 1 ipinfo pmtud 512 1024 666 router ospf6 1 ipinfo pmtud 512 1024 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router ospf4 1 ena router ospf6 1 ena router ospf4 1 ipinfo pmtud 512 1024 666 router ospf6 1 ipinfo pmtud 512 1024 666 exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf61.tst000066400000000000000000000026231510423065500167060ustar00rootroot00000000000000description ospf ldp sync addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router ospf4 1 ena router ospf6 1 ena router ospf4 1 ldp-sync router ospf6 1 ldp-sync exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router ospf4 1 ena router ospf6 1 ena router ospf4 1 ldp-sync router ospf6 1 ldp-sync exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf62.tst000066400000000000000000000030141510423065500167020ustar00rootroot00000000000000description ospf sha1 authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf4 1 authen-id 123 router ospf4 1 authen-type sha1 router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf4 1 authen-id 123 router ospf4 1 authen-type sha1 router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf63.tst000066400000000000000000000030221510423065500167020ustar00rootroot00000000000000description ospf sha256 authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf4 1 authen-id 123 router ospf4 1 authen-type sha256 router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf4 1 authen-id 123 router ospf4 1 authen-type sha256 router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf64.tst000066400000000000000000000030221510423065500167030ustar00rootroot00000000000000description ospf sha384 authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf4 1 authen-id 123 router ospf4 1 authen-type sha384 router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf4 1 authen-id 123 router ospf4 1 authen-type sha384 router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-ospf65.tst000066400000000000000000000030221510423065500167040ustar00rootroot00000000000000description ospf sha512 authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf4 1 authen-id 123 router ospf4 1 authen-type sha512 router ospf6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router ospf4 1 ena router ospf4 1 password tester router ospf4 1 authen-id 123 router ospf4 1 authen-type sha512 router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 ospf 1 nei r2 output show ipv6 ospf 1 nei r2 output show ipv4 ospf 1 dat 0 r2 output show ipv6 ospf 1 dat 0 r2 output show ipv4 ospf 1 tre 0 r2 output show ipv6 ospf 1 tre 0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pbr01.tst000066400000000000000000000053061510423065500165150ustar00rootroot00000000000000description policy routing with nexthop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit access-list a2b4 permit all 2.2.2.101 255.255.255.255 all 2.2.2.201 255.255.255.255 all exit access-list a2b6 permit all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit ipv4 pbr v1 a2b4 v1 next 1.1.1.2 ipv6 pbr v1 a2b6 v1 next 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit access-list a2b4 permit all 2.2.2.101 255.255.255.255 all 2.2.2.201 255.255.255.255 all exit access-list b2a4 permit all 2.2.2.201 255.255.255.255 all 2.2.2.101 255.255.255.255 all exit access-list a2b6 permit all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list b2a6 permit all 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit ipv4 pbr v1 a2b4 v1 next 1.1.1.5 ipv6 pbr v1 a2b6 v1 next 1234:2::1 ipv4 pbr v1 b2a4 v1 next 1.1.1.1 ipv6 pbr v1 b2a6 v1 next 1234:1::1 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit access-list b2a4 permit all 2.2.2.201 255.255.255.255 all 2.2.2.101 255.255.255.255 all exit access-list b2a6 permit all 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit ipv4 pbr v1 b2a4 v1 next 1.1.1.6 ipv6 pbr v1 b2a6 v1 next 1234:2::2 ! r1 tping 100 5 2.2.2.201 vrf v1 sou lo0 r1 tping 100 5 4321::201 vrf v1 sou lo0 r3 tping 100 5 2.2.2.101 vrf v1 sou lo0 r3 tping 100 5 4321::101 vrf v1 sou lo0 r1 tping 0 5 2.2.2.201 vrf v1 r1 tping 0 5 4321::201 vrf v1 r3 tping 0 5 2.2.2.101 vrf v1 r3 tping 0 5 4321::101 vrf v1 r2 output show ipv4 pbr v1 r2 output show ipv6 pbr v1 output ../binTmp/rout-pbr.html here are the ipv4 forwarding:
show:0
here are the ipv6 forwarding:
show:1
! freeRtr-25.11.9/cfg/rout-pbr02.tst000066400000000000000000000050241510423065500165130ustar00rootroot00000000000000description policy routing with interface and nexthop between vrfs addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit access-list a2b4 permit all 2.2.2.101 255.255.255.255 all 2.2.2.201 255.255.255.255 all exit access-list a2b6 permit all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit ipv4 pbr v1 a2b4 v1 int eth1 next 1.1.1.2 ipv6 pbr v1 a2b6 v1 int eth1 next 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v2 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit access-list a2b4 permit all 2.2.2.101 255.255.255.255 all 2.2.2.201 255.255.255.255 all exit access-list b2a4 permit all 2.2.2.201 255.255.255.255 all 2.2.2.101 255.255.255.255 all exit access-list a2b6 permit all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list b2a6 permit all 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit ipv4 pbr v1 a2b4 v2 int eth2 next 1.1.1.5 ipv6 pbr v1 a2b6 v2 int eth2 next 1234:2::1 ipv4 pbr v2 b2a4 v1 int eth1 next 1.1.1.1 ipv6 pbr v2 b2a6 v1 int eth1 next 1234:1::1 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit access-list b2a4 permit all 2.2.2.201 255.255.255.255 all 2.2.2.101 255.255.255.255 all exit access-list b2a6 permit all 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit ipv4 pbr v1 b2a4 v1 int eth1 next 1.1.1.6 ipv6 pbr v1 b2a6 v1 int eth1 next 1234:2::2 ! r1 tping 100 5 2.2.2.201 vrf v1 sou lo0 r1 tping 100 5 4321::201 vrf v1 sou lo0 r3 tping 100 5 2.2.2.101 vrf v1 sou lo0 r3 tping 100 5 4321::101 vrf v1 sou lo0 r1 tping 0 5 2.2.2.201 vrf v1 r1 tping 0 5 4321::201 vrf v1 r3 tping 0 5 2.2.2.101 vrf v1 r3 tping 0 5 4321::101 vrf v1 freeRtr-25.11.9/cfg/rout-pbr03.tst000066400000000000000000000047561510423065500165270ustar00rootroot00000000000000description policy routing with interface and nexthop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit access-list a2b4 permit all 2.2.2.101 255.255.255.255 all 2.2.2.201 255.255.255.255 all exit access-list a2b6 permit all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit ipv4 pbr v1 a2b4 v1 int eth1 next 1.1.1.2 ipv6 pbr v1 a2b6 v1 int eth1 next 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit access-list a2b4 permit all 2.2.2.101 255.255.255.255 all 2.2.2.201 255.255.255.255 all exit access-list b2a4 permit all 2.2.2.201 255.255.255.255 all 2.2.2.101 255.255.255.255 all exit access-list a2b6 permit all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list b2a6 permit all 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit ipv4 pbr v1 a2b4 v1 int eth2 next 1.1.1.5 ipv6 pbr v1 a2b6 v1 int eth2 next 1234:2::1 ipv4 pbr v1 b2a4 v1 int eth1 next 1.1.1.1 ipv6 pbr v1 b2a6 v1 int eth1 next 1234:1::1 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit access-list b2a4 permit all 2.2.2.201 255.255.255.255 all 2.2.2.101 255.255.255.255 all exit access-list b2a6 permit all 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit ipv4 pbr v1 b2a4 v1 int eth1 next 1.1.1.6 ipv6 pbr v1 b2a6 v1 int eth1 next 1234:2::2 ! r1 tping 100 5 2.2.2.201 vrf v1 sou lo0 r1 tping 100 5 4321::201 vrf v1 sou lo0 r3 tping 100 5 2.2.2.101 vrf v1 sou lo0 r3 tping 100 5 4321::101 vrf v1 sou lo0 r1 tping 0 5 2.2.2.201 vrf v1 r1 tping 0 5 4321::201 vrf v1 r3 tping 0 5 2.2.2.101 vrf v1 r3 tping 0 5 4321::101 vrf v1 freeRtr-25.11.9/cfg/rout-pbr04.tst000066400000000000000000000052361510423065500165220ustar00rootroot00000000000000description policy routing between vrfs with routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit access-list a2b4 permit all 2.2.2.101 255.255.255.255 all 2.2.2.201 255.255.255.255 all exit access-list a2b6 permit all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit ipv4 pbr v1 a2b4 v1 int eth1 next 1.1.1.2 ipv6 pbr v1 a2b6 v1 int eth1 next 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v2 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v2 2.2.2.201 255.255.255.255 1.1.1.5 ipv6 route v2 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 access-list a2b4 permit all 2.2.2.101 255.255.255.255 all 2.2.2.201 255.255.255.255 all exit access-list b2a4 permit all 2.2.2.201 255.255.255.255 all 2.2.2.101 255.255.255.255 all exit access-list a2b6 permit all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list b2a6 permit all 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit ipv4 pbr v1 a2b4 v2 ipv6 pbr v1 a2b6 v2 ipv4 pbr v2 b2a4 v1 ipv6 pbr v2 b2a6 v1 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit access-list b2a4 permit all 2.2.2.201 255.255.255.255 all 2.2.2.101 255.255.255.255 all exit access-list b2a6 permit all 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit ipv4 pbr v1 b2a4 v1 int eth1 next 1.1.1.6 ipv6 pbr v1 b2a6 v1 int eth1 next 1234:2::2 ! r1 tping 100 5 2.2.2.201 vrf v1 sou lo0 r1 tping 100 5 4321::201 vrf v1 sou lo0 r3 tping 100 5 2.2.2.101 vrf v1 sou lo0 r3 tping 100 5 4321::101 vrf v1 sou lo0 r1 tping 0 5 2.2.2.201 vrf v1 r1 tping 0 5 4321::201 vrf v1 r3 tping 0 5 2.2.2.101 vrf v1 r3 tping 0 5 4321::101 vrf v1 freeRtr-25.11.9/cfg/rout-pbr05.tst000066400000000000000000000046351510423065500165250ustar00rootroot00000000000000description policy routing with nexthop on interface addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit access-list a2b4 permit all 2.2.2.101 255.255.255.255 all 2.2.2.201 255.255.255.255 all exit access-list a2b6 permit all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit ipv4 pbr v1 a2b4 v1 next 1.1.1.2 ipv6 pbr v1 a2b6 v1 next 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list a2b4 permit all 2.2.2.101 255.255.255.255 all 2.2.2.201 255.255.255.255 all exit access-list b2a4 permit all 2.2.2.201 255.255.255.255 all 2.2.2.101 255.255.255.255 all exit access-list a2b6 permit all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list b2a6 permit all 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 pbr a2b4 v1 next 1.1.1.5 ipv6 pbr a2b6 v1 next 1234:2::1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 pbr b2a4 v1 next 1.1.1.1 ipv6 pbr b2a6 v1 next 1234:1::1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit access-list b2a4 permit all 2.2.2.201 255.255.255.255 all 2.2.2.101 255.255.255.255 all exit access-list b2a6 permit all 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit ipv4 pbr v1 b2a4 v1 next 1.1.1.6 ipv6 pbr v1 b2a6 v1 next 1234:2::2 ! r1 tping 100 5 2.2.2.201 vrf v1 sou lo0 r1 tping 100 5 4321::201 vrf v1 sou lo0 r3 tping 100 5 2.2.2.101 vrf v1 sou lo0 r3 tping 100 5 4321::101 vrf v1 sou lo0 r1 tping 0 5 2.2.2.201 vrf v1 r1 tping 0 5 4321::201 vrf v1 r3 tping 0 5 2.2.2.101 vrf v1 r3 tping 0 5 4321::101 vrf v1 freeRtr-25.11.9/cfg/rout-pbr06.tst000066400000000000000000000047031510423065500165220ustar00rootroot00000000000000description policy routing with nexthop on interface between vrfs addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit access-list a2b4 permit all 2.2.2.101 255.255.255.255 all 2.2.2.201 255.255.255.255 all exit access-list a2b6 permit all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit ipv4 pbr v1 a2b4 v1 next 1.1.1.2 ipv6 pbr v1 a2b6 v1 next 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit access-list a2b4 permit all 2.2.2.101 255.255.255.255 all 2.2.2.201 255.255.255.255 all exit access-list b2a4 permit all 2.2.2.201 255.255.255.255 all 2.2.2.101 255.255.255.255 all exit access-list a2b6 permit all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit access-list b2a6 permit all 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 pbr a2b4 v2 next 1.1.1.5 ipv6 pbr a2b6 v2 next 1234:2::1 exit int eth2 vrf for v2 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 pbr b2a4 v1 next 1.1.1.1 ipv6 pbr b2a6 v1 next 1234:1::1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit access-list b2a4 permit all 2.2.2.201 255.255.255.255 all 2.2.2.101 255.255.255.255 all exit access-list b2a6 permit all 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff all exit ipv4 pbr v1 b2a4 v1 next 1.1.1.6 ipv6 pbr v1 b2a6 v1 next 1234:2::2 ! r1 tping 100 5 2.2.2.201 vrf v1 sou lo0 r1 tping 100 5 4321::201 vrf v1 sou lo0 r3 tping 100 5 2.2.2.101 vrf v1 sou lo0 r3 tping 100 5 4321::101 vrf v1 sou lo0 r1 tping 0 5 2.2.2.201 vrf v1 r1 tping 0 5 4321::201 vrf v1 r3 tping 0 5 2.2.2.101 vrf v1 r3 tping 0 5 4321::101 vrf v1 freeRtr-25.11.9/cfg/rout-pvrp01.tst000066400000000000000000000023071510423065500167170ustar00rootroot00000000000000description pvrp point2point connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp02.tst000066400000000000000000000057531510423065500167300ustar00rootroot00000000000000description pvrp point2multipoint connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit bridge 1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit router pvrp4 1 vrf v1 router 4.4.4.3 red conn exit router pvrp6 1 vrf v1 router 6.6.6.3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit bridge 1 exit router pvrp4 1 vrf v1 router 4.4.4.4 red conn exit router pvrp6 1 vrf v1 router 6.6.6.4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 bridge-gr 1 exit int bvi1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.4 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::4 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.4 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::4 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.4 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::4 vrf v1 r4 tping 100 40 2.2.2.1 vrf v1 r4 tping 100 40 2.2.2.2 vrf v1 r4 tping 100 40 2.2.2.3 vrf v1 r4 tping 100 40 4321::1 vrf v1 r4 tping 100 40 4321::2 vrf v1 r4 tping 100 40 4321::3 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp03.tst000066400000000000000000000067261510423065500167320ustar00rootroot00000000000000description pvrp point2point chain addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.3 red conn exit router pvrp6 1 vrf v1 router 6.6.6.3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.4 red conn exit router pvrp6 1 vrf v1 router 6.6.6.4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.4 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::4 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.4 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::4 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.4 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::4 vrf v1 r4 tping 100 40 2.2.2.1 vrf v1 r4 tping 100 40 2.2.2.2 vrf v1 r4 tping 100 40 2.2.2.3 vrf v1 r4 tping 100 40 4321::1 vrf v1 r4 tping 100 40 4321::2 vrf v1 r4 tping 100 40 4321::3 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 output ../binTmp/rout-pvrp.html here are the ipv4 neighbors:
show:0
here are the ipv6 neighbors:
show:1
here is the ipv4 database:
show:2
here is the ipv6 database:
show:3
here are the ipv4 routes:
show:4
here are the ipv6 routes:
show:5
! freeRtr-25.11.9/cfg/rout-pvrp04.tst000066400000000000000000000063171510423065500167270ustar00rootroot00000000000000description pvrp incoming interface metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 exit router pvrp6 1 vrf v1 router 6.6.6.1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp4 1 metric-in 100 router pvrp6 1 ena router pvrp6 1 metric-in 100 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.3 exit router pvrp6 1 vrf v1 router 6.6.6.3 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int lo3 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit server telnet tel vrf v1 port 666 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.111 vrf v1 r2 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.222 vrf v1 r2 tping 0 40 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp05.tst000066400000000000000000000063211510423065500167230ustar00rootroot00000000000000description pvrp outgoing interface metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 exit router pvrp6 1 vrf v1 router 6.6.6.1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp4 1 metric-out 100 router pvrp6 1 ena router pvrp6 1 metric-out 100 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.3 exit router pvrp6 1 vrf v1 router 6.6.6.3 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int lo3 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit server telnet tel vrf v1 port 666 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.111 vrf v1 r2 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.222 vrf v1 r2 tping 0 40 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp06.tst000066400000000000000000000063711510423065500167310ustar00rootroot00000000000000description pvrp incoming routemap metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 exit router pvrp6 1 vrf v1 router 6.6.6.1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit route-map rm1 set metric +100 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp4 1 route-map-in rm1 router pvrp6 1 ena router pvrp6 1 route-map-in rm1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.3 exit router pvrp6 1 vrf v1 router 6.6.6.3 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int lo3 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit server telnet tel vrf v1 port 666 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.111 vrf v1 r2 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.222 vrf v1 r2 tping 0 40 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp07.tst000066400000000000000000000063731510423065500167340ustar00rootroot00000000000000description pvrp outgoing routemap metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 exit router pvrp6 1 vrf v1 router 6.6.6.1 exit route-map rm1 set metric +100 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp4 1 route-map-out rm1 router pvrp6 1 ena router pvrp6 1 route-map-out rm1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.3 exit router pvrp6 1 vrf v1 router 6.6.6.3 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int lo3 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit server telnet tel vrf v1 port 666 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.111 vrf v1 r2 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.222 vrf v1 r2 tping 0 40 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp08.tst000066400000000000000000000064131510423065500167300ustar00rootroot00000000000000description pvrp incoming routepolicy metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 exit router pvrp6 1 vrf v1 router 6.6.6.1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit route-policy rm1 set metric +100 pass exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp4 1 route-policy-in rm1 router pvrp6 1 ena router pvrp6 1 route-policy-in rm1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.3 exit router pvrp6 1 vrf v1 router 6.6.6.3 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int lo3 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit server telnet tel vrf v1 port 666 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.111 vrf v1 r2 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.222 vrf v1 r2 tping 0 40 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp09.tst000066400000000000000000000064151510423065500167330ustar00rootroot00000000000000description pvrp outgoing routepolicy metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 exit router pvrp6 1 vrf v1 router 6.6.6.1 exit route-policy rm1 set metric +100 pass exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp4 1 route-policy-out rm1 router pvrp6 1 ena router pvrp6 1 route-policy-out rm1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.3 exit router pvrp6 1 vrf v1 router 6.6.6.3 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int lo3 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit server telnet tel vrf v1 port 666 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.111 vrf v1 r2 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.222 vrf v1 r2 tping 0 40 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp10.tst000066400000000000000000000032261510423065500167200ustar00rootroot00000000000000description pvrp address suppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 exit router pvrp6 1 vrf v1 router 6.6.6.1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp4 1 suppress router pvrp6 1 ena router pvrp6 1 passiv router pvrp6 1 suppress exit int lo3 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 exit router pvrp6 1 vrf v1 router 6.6.6.2 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 0 40 2.2.2.2 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 0 40 4321::2 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp11.tst000066400000000000000000000042751510423065500167260ustar00rootroot00000000000000description pvrp ingress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit prefix-list p4 sequence 10 deny 2.2.2.12/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::12/128 sequence 20 permit ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena router pvrp4 1 prefix-list-in p4 router pvrp6 1 prefix-list-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 0 40 2.2.2.12 vrf v1 r1 tping 0 40 4321::12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 4321::22 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp12.tst000066400000000000000000000042761510423065500167300ustar00rootroot00000000000000description pvrp egress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit prefix-list p4 sequence 10 deny 2.2.2.11/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::11/128 sequence 20 permit ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena router pvrp4 1 prefix-list-out p4 router pvrp6 1 prefix-list-out p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 4321::12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 4321::22 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 0 40 2.2.2.11 vrf v1 r2 tping 0 40 4321::11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp13.tst000066400000000000000000000043771510423065500167330ustar00rootroot00000000000000description pvrp ingress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena router pvrp4 1 route-map-in p4 router pvrp6 1 route-map-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 0 40 2.2.2.12 vrf v1 r1 tping 0 40 4321::12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 4321::22 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp14.tst000066400000000000000000000044001510423065500167170ustar00rootroot00000000000000description pvrp egress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map p4 sequence 10 act deny match network 2.2.2.11/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::11/128 sequence 20 act perm match network ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena router pvrp4 1 route-map-out p4 router pvrp6 1 route-map-out p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 4321::12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 4321::22 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 0 40 2.2.2.11 vrf v1 r2 tping 0 40 4321::11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp15.tst000066400000000000000000000042461510423065500167300ustar00rootroot00000000000000description pvrp ingress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-policy p4 if network 2.2.2.12/32 drop else pass enif exit route-policy p6 if network 4321::12/128 drop else pass enif exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena router pvrp4 1 route-policy-in p4 router pvrp6 1 route-policy-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 0 40 2.2.2.12 vrf v1 r1 tping 0 40 4321::12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 4321::22 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp16.tst000066400000000000000000000042471510423065500167320ustar00rootroot00000000000000description pvrp egress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-policy p4 if network 2.2.2.11/32 drop else pass enif exit route-policy p6 if network 4321::11/128 drop else pass enif exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena router pvrp4 1 route-policy-out p4 router pvrp6 1 route-policy-out p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 4321::12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 4321::22 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 0 40 2.2.2.11 vrf v1 r2 tping 0 40 4321::11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp17.tst000066400000000000000000000045671510423065500167400ustar00rootroot00000000000000description pvrp tag addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set tag 1234 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn route-map rm1 exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn route-map rm1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act deny match tag 1234 sequence 20 act perm exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena router pvrp4 1 route-map-out rm1 router pvrp6 1 route-map-out rm1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena router pvrp4 1 route-map-out rm1 router pvrp6 1 route-map-out rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit route-map rm1 set tag 1234 exit router pvrp4 1 vrf v1 router 4.4.4.3 red conn route-map rm1 exit router pvrp6 1 vrf v1 router 6.6.6.3 red conn route-map rm1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 0 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 0 40 4321::3 vrf v1 r3 tping 0 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 0 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp18.tst000066400000000000000000000023561510423065500167330ustar00rootroot00000000000000description pvrp default route addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 exit router pvrp6 1 vrf v1 router 6.6.6.1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp4 1 default router pvrp6 1 ena router pvrp6 1 default exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp19.tst000066400000000000000000000045271510423065500167360ustar00rootroot00000000000000description pvrp with bfd addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 bfd 100 100 3 router pvrp4 1 ena router pvrp4 1 bfd ipv6 addr 1234:1::1 ffff:ffff:: ipv6 bfd 100 100 3 router pvrp6 1 ena router pvrp6 1 bfd exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 bfd 100 100 3 router pvrp4 1 ena router pvrp4 1 bfd router pvrp4 1 metric-in 100 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 bfd 100 100 3 router pvrp6 1 ena router pvrp6 1 bfd router pvrp6 1 metric-in 100 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 bfd 100 100 3 router pvrp4 1 ena router pvrp4 1 bfd ipv6 addr 1234:1::2 ffff:ffff:: ipv6 bfd 100 100 3 router pvrp6 1 ena router pvrp6 1 bfd exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 bfd 100 100 3 router pvrp4 1 ena router pvrp4 1 bfd router pvrp4 1 metric-in 100 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 bfd 100 100 3 router pvrp6 1 ena router pvrp6 1 bfd router pvrp6 1 metric-in 100 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 sleep 3000 r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 send conf t r2 send int eth1 r2 send shut r2 send end r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp20.tst000066400000000000000000000025131510423065500167170ustar00rootroot00000000000000description pvrp authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router pvrp4 1 ena router pvrp4 1 password test ipv6 addr 1234:1::1 ffff:ffff:: router pvrp6 1 ena router pvrp6 1 password test exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router pvrp4 1 ena router pvrp4 1 password test ipv6 addr 1234:1::2 ffff:ffff:: router pvrp6 1 ena router pvrp6 1 password test exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp21.tst000066400000000000000000000041211510423065500167150ustar00rootroot00000000000000description pvrp ssh encryption addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 crypto certificate dsa generate dsa dsa crypto certificate rsa generate rsa rsa crypto certificate ecdsa generate ecdsa ecdsa crypto certificate mldsa generate mldsa mldsa vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router pvrp4 1 ena router pvrp4 1 encryption ssh rsa dsa ecdsa mldsa rsa dsa ecdsa mldsa ipv6 addr 1234:1::1 ffff:ffff:: router pvrp6 1 ena router pvrp6 1 encryption ssh rsa dsa ecdsa mldsa rsa dsa ecdsa mldsa exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 crypto certificate dsa generate dsa dsa crypto certificate rsa generate rsa rsa crypto certificate ecdsa generate ecdsa ecdsa crypto certificate mldsa generate mldsa mldsa vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router pvrp4 1 ena router pvrp4 1 encryption ssh rsa dsa ecdsa mldsa rsa dsa ecdsa mldsa ipv6 addr 1234:1::2 ffff:ffff:: router pvrp6 1 ena router pvrp6 1 encryption ssh rsa dsa ecdsa mldsa rsa dsa ecdsa mldsa exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp22.tst000066400000000000000000000041211510423065500167160ustar00rootroot00000000000000description pvrp tls encryption addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 crypto certificate dsa generate dsa dsa crypto certificate rsa generate rsa rsa crypto certificate ecdsa generate ecdsa ecdsa crypto certificate mldsa generate mldsa mldsa vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router pvrp4 1 ena router pvrp4 1 encryption tls rsa dsa ecdsa mldsa rsa dsa ecdsa mldsa ipv6 addr 1234:1::1 ffff:ffff:: router pvrp6 1 ena router pvrp6 1 encryption tls rsa dsa ecdsa mldsa rsa dsa ecdsa mldsa exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 crypto certificate dsa generate dsa dsa crypto certificate rsa generate rsa rsa crypto certificate ecdsa generate ecdsa ecdsa crypto certificate mldsa generate mldsa mldsa vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router pvrp4 1 ena router pvrp4 1 encryption tls rsa dsa ecdsa mldsa rsa dsa ecdsa mldsa ipv6 addr 1234:1::2 ffff:ffff:: router pvrp6 1 ena router pvrp6 1 encryption tls rsa dsa ecdsa mldsa rsa dsa ecdsa mldsa exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp23.tst000066400000000000000000000026241510423065500167250ustar00rootroot00000000000000description pvrp peer template addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int temp1 vrf for v1 ipv4 addr 9.9.9.9 255.255.255.0 ipv6 addr 9999::9 ffff:: router pvrp4 1 ena router pvrp6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: temp temp1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int temp1 vrf for v1 ipv4 addr 9.9.9.9 255.255.255.0 ipv6 addr 9999::9 ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: temp temp1 exit int temp1 router pvrp4 1 ena router pvrp6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp24.tst000066400000000000000000000070031510423065500167220ustar00rootroot00000000000000description pvrp with labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.1 label red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 label red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo1 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.2 label red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 label red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.3 label red conn exit router pvrp6 1 vrf v1 router 6.6.6.3 label red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo1 pweompls 4321::1 1234 exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp25.tst000066400000000000000000000032761510423065500167330ustar00rootroot00000000000000description pvrp prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 exit router pvrp6 1 vrf v1 router 6.6.6.1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 exit router pvrp6 1 vrf v1 router 6.6.6.2 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r1 send conf t r1 send int lo1 r1 send no router pvrp4 1 ena r1 send no router pvrp6 1 ena r1 send end r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 0 40 2.2.2.1 vrf v1 r2 tping 0 40 4321::1 vrf v1 r1 send conf t r1 send int lo1 r1 send router pvrp4 1 ena r1 send router pvrp6 1 ena r1 send end r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp26.tst000066400000000000000000000044241510423065500167300ustar00rootroot00000000000000description pvrp aggregation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena router pvrp4 1 route-map-in p4 router pvrp6 1 route-map-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 aggregate 2.2.2.0/24 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 aggregate 4321::/32 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 4321::12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 4321::22 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp27.tst000066400000000000000000000040761510423065500167340ustar00rootroot00000000000000description pvrp auto mesh tunnel addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn automesh all exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn automesh all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.0 ipv6 addr 9999::1 ffff:: router pvrp4 1 ena router pvrp6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn automesh all exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn automesh all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.0 ipv6 addr 9999::2 ffff:: router pvrp4 1 ena router pvrp6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit ! r1 tping 100 40 9.9.9.2 vrf v1 r1 tping 100 40 9999::2 vrf v1 r2 tping 100 40 9.9.9.1 vrf v1 r2 tping 100 40 9999::1 vrf v1 r1 tping 0 40 2.2.2.2 vrf v1 r1 tping 0 40 4321::2 vrf v1 r2 tping 0 40 2.2.2.1 vrf v1 r2 tping 0 40 4321::1 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp28.tst000066400000000000000000000055251510423065500167350ustar00rootroot00000000000000description pvrp triangle connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router pvrp4 1 ena router pvrp4 1 metric-in 100 router pvrp6 1 ena router pvrp6 1 metric-in 100 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.3 red conn exit router pvrp6 1 vrf v1 router 6.6.6.3 red conn exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router pvrp4 1 ena router pvrp4 1 metric-in 100 router pvrp6 1 ena router pvrp6 1 metric-in 100 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp29.tst000066400000000000000000000133051510423065500167310ustar00rootroot00000000000000description pvrp prefix movement addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 10 exit router pvrp4 1 vrf v1 router 4.4.4.1 advertise 2.2.2.1/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router pvrp6 1 vrf v1 router 6.6.6.1 advertise 4321::1/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 advertise 2.2.2.2/32 exit router pvrp6 1 vrf v1 router 6.6.6.2 advertise 4321::2/128 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 20 exit router pvrp4 1 vrf v1 router 4.4.4.3 advertise 2.2.2.3/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router pvrp6 1 vrf v1 router 6.6.6.3 advertise 4321::3/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 2.2.2.222 vrf v1 r1 tping 100 40 4321::222 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 tping 100 40 4321::222 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 2.2.2.3 vrf v1 r3 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.222 vrf v1 r3 tping 100 40 4321::222 vrf v1 r2 tping 0 40 2.2.2.101 vrf v1 r2 tping 0 40 4321::101 vrf v1 r2 tping 0 40 2.2.2.103 vrf v1 r2 tping 0 40 4321::103 vrf v1 r2 send telnet 2.2.2.222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r2 send telnet 4321::222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 30 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 2.2.2.222 vrf v1 r1 tping 100 40 4321::222 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 tping 100 40 4321::222 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 2.2.2.3 vrf v1 r3 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.222 vrf v1 r3 tping 100 40 4321::222 vrf v1 r2 tping 0 40 2.2.2.101 vrf v1 r2 tping 0 40 4321::101 vrf v1 r2 tping 0 40 2.2.2.103 vrf v1 r2 tping 0 40 4321::103 vrf v1 r2 send telnet 2.2.2.222 666 vrf v1 r2 tping 100 40 2.2.2.103 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.103 vrf v1 r2 send telnet 4321::222 666 vrf v1 r2 tping 100 40 2.2.2.103 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.103 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 10 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 2.2.2.222 vrf v1 r1 tping 100 40 4321::222 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 tping 100 40 4321::222 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 2.2.2.3 vrf v1 r3 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.222 vrf v1 r3 tping 100 40 4321::222 vrf v1 r2 tping 0 40 2.2.2.101 vrf v1 r2 tping 0 40 4321::101 vrf v1 r2 tping 0 40 2.2.2.103 vrf v1 r2 tping 0 40 4321::103 vrf v1 r2 send telnet 2.2.2.222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r2 send telnet 4321::222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp30.tst000066400000000000000000000050161510423065500167210ustar00rootroot00000000000000description pvrp autoroute addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ int ser2 ser 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.0 ipv6 addr 9999::1 ffff:: router pvrp4 1 ena router pvrp6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int ser2 vrf for v1 ipv4 addr 9.9.8.1 255.255.255.0 ipv6 addr 9998::1 ffff:: ipv4 autoroute pvrp4 1 2.2.2.2 9.9.8.2 ipv6 autoroute pvrp6 1 4321::2 9998::2 exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ int ser2 ser 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.0 ipv6 addr 9999::2 ffff:: router pvrp4 1 ena router pvrp6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int ser2 vrf for v1 ipv4 addr 9.9.8.2 255.255.255.0 ipv6 addr 9998::2 ffff:: ipv4 autoroute pvrp4 1 2.2.2.1 9.9.8.1 ipv6 autoroute pvrp6 1 4321::1 9998::1 exit ! r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 4321::12 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 4321::11 vrf v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r1 tping 0 40 9.9.9.2 vrf v1 r1 tping 0 40 9999::2 vrf v1 r2 tping 0 40 9.9.9.1 vrf v1 r2 tping 0 40 9999::1 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp31.tst000066400000000000000000000031001510423065500167120ustar00rootroot00000000000000description pvrp default address suppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router pvrp4 1 vrf v1 router 4.4.4.1 justadv lo1 suppress exit router pvrp6 1 vrf v1 router 6.6.6.1 justadv lo1 suppress exit int lo2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int lo3 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 exit router pvrp6 1 vrf v1 router 6.6.6.2 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 0 40 2.2.2.2 vrf v1 r2 tping 0 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 0 40 4321::2 vrf v1 r2 tping 0 40 4321::3 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp32.tst000066400000000000000000000031641510423065500167250ustar00rootroot00000000000000description pvrp address unsuppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router pvrp4 1 vrf v1 router 4.4.4.1 justadv lo1 suppress exit router pvrp6 1 vrf v1 router 6.6.6.1 justadv lo1 suppress exit int lo2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp6 1 ena router pvrp6 1 passiv exit int lo3 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp4 1 passiv router pvrp4 1 unsuppress router pvrp6 1 ena router pvrp6 1 passiv router pvrp6 1 unsuppress exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 exit router pvrp6 1 vrf v1 router 6.6.6.2 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 0 40 2.2.2.2 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 0 40 4321::2 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp33.tst000066400000000000000000000072741510423065500167340ustar00rootroot00000000000000description pvrp with php labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.1 label red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 label red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp4 1 label-pop router pvrp6 1 ena router pvrp6 1 label-pop exit int pweth1 vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.3 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.1 255.255.255.0 pseudo v1 lo1 pweompls 4321::3 1234 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.2 label red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 label red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp4 1 label-pop router pvrp6 1 ena router pvrp6 1 label-pop exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp4 1 label-pop router pvrp6 1 ena router pvrp6 1 label-pop exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.3 label red conn exit router pvrp6 1 vrf v1 router 6.6.6.3 label red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp4 1 label-pop router pvrp6 1 ena router pvrp6 1 label-pop exit int pweth1 vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 pseudo v1 lo1 pweompls 2.2.2.1 1234 exit int pweth2 vrf for v1 ipv4 addr 3.3.4.2 255.255.255.0 pseudo v1 lo1 pweompls 4321::1 1234 exit ! r1 tping 0 20 2.2.2.2 vrf v1 sou lo1 r1 tping 0 20 2.2.2.3 vrf v1 sou lo1 r2 tping 0 20 2.2.2.1 vrf v1 sou lo1 r2 tping 0 20 2.2.2.3 vrf v1 sou lo1 r3 tping 0 20 2.2.2.1 vrf v1 sou lo1 r3 tping 0 20 2.2.2.2 vrf v1 sou lo1 r1 tping 0 20 4321::2 vrf v1 sou lo1 r1 tping 0 20 4321::3 vrf v1 sou lo1 r2 tping 0 20 4321::1 vrf v1 sou lo1 r2 tping 0 20 4321::3 vrf v1 sou lo1 r3 tping 0 20 4321::1 vrf v1 sou lo1 r3 tping 0 20 4321::2 vrf v1 sou lo1 r1 tping 100 40 3.3.3.2 vrf v1 r3 tping 100 40 3.3.3.1 vrf v1 r1 tping 100 40 3.3.4.2 vrf v1 r3 tping 100 40 3.3.4.1 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp34.tst000066400000000000000000000047001510423065500167240ustar00rootroot00000000000000description ingress label filtering with pvrp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit prefix-list p4 sequence 10 deny 2.2.2.3/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::3/128 sequence 20 permit ::/0 le 128 exit router pvrp4 1 vrf v1 router 4.4.4.1 label red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 label red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp4 1 label-in p4 router pvrp6 1 ena router pvrp6 1 label-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.2 label red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 label red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit ! r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 0 10 2.2.2.3 vrf v1 sou lo0 r1 tping 0 10 4321::3 vrf v1 sou lo0 r1 tping 100 10 2.2.2.4 vrf v1 sou lo0 r1 tping 100 10 4321::4 vrf v1 sou lo0 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp35.tst000066400000000000000000000047011510423065500167260ustar00rootroot00000000000000description egress label filtering with pvrp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.1 label red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 label red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit prefix-list p4 sequence 10 deny 2.2.2.3/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::3/128 sequence 20 permit ::/0 le 128 exit router pvrp4 1 vrf v1 router 4.4.4.2 label red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 label red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp4 1 label-out p4 router pvrp6 1 ena router pvrp6 1 label-out p6 exit ! r2 tping 100 10 2.2.2.1 vrf v1 sou lo0 r2 tping 100 10 4321::1 vrf v1 sou lo0 r1 tping 0 10 1.1.1.2 vrf v1 r2 tping 0 10 1.1.1.1 vrf v1 r1 tping 100 10 2.2.2.2 vrf v1 sou lo0 r1 tping 100 10 4321::2 vrf v1 sou lo0 r1 tping 0 10 2.2.2.3 vrf v1 sou lo0 r1 tping 0 10 4321::3 vrf v1 sou lo0 r1 tping 100 10 2.2.2.4 vrf v1 sou lo0 r1 tping 100 10 4321::4 vrf v1 sou lo0 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp36.tst000066400000000000000000000060161510423065500167300ustar00rootroot00000000000000description pvrp stub node addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 stub red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 stub red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.3 red conn exit router pvrp6 1 vrf v1 router 6.6.6.3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.4 red conn exit router pvrp6 1 vrf v1 router 6.6.6.4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.4 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::4 vrf v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 0 40 2.2.2.3 vrf v1 r1 tping 0 40 2.2.2.4 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 0 40 4321::3 vrf v1 r1 tping 0 40 4321::4 vrf v1 r3 tping 0 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.4 vrf v1 r3 tping 0 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::4 vrf v1 r4 tping 0 40 2.2.2.1 vrf v1 r4 tping 100 40 2.2.2.2 vrf v1 r4 tping 100 40 2.2.2.3 vrf v1 r4 tping 0 40 4321::1 vrf v1 r4 tping 100 40 4321::2 vrf v1 r4 tping 100 40 4321::3 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp37.tst000066400000000000000000000061331510423065500167310ustar00rootroot00000000000000description pvrp stub interface addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp4 1 stub router pvrp6 1 ena router pvrp6 1 stub exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router pvrp4 1 ena router pvrp4 1 stub router pvrp6 1 ena router pvrp6 1 stub exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.3 red conn exit router pvrp6 1 vrf v1 router 6.6.6.3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.4 red conn exit router pvrp6 1 vrf v1 router 6.6.6.4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.4 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::4 vrf v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 0 40 2.2.2.3 vrf v1 r1 tping 0 40 2.2.2.4 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 0 40 4321::3 vrf v1 r1 tping 0 40 4321::4 vrf v1 r3 tping 0 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.4 vrf v1 r3 tping 0 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::4 vrf v1 r4 tping 0 40 2.2.2.1 vrf v1 r4 tping 100 40 2.2.2.2 vrf v1 r4 tping 100 40 2.2.2.3 vrf v1 r4 tping 0 40 4321::1 vrf v1 r4 tping 100 40 4321::2 vrf v1 r4 tping 100 40 4321::3 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp38.tst000066400000000000000000000062011510423065500167260ustar00rootroot00000000000000description pvrp unstub interface addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 stub red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 stub red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp4 1 unstub router pvrp6 1 ena router pvrp6 1 unstub exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router pvrp4 1 ena router pvrp4 1 unstub router pvrp6 1 ena router pvrp6 1 unstub exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.3 red conn exit router pvrp6 1 vrf v1 router 6.6.6.3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.4 red conn exit router pvrp6 1 vrf v1 router 6.6.6.4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.4 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::4 vrf v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.4 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::4 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.4 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::4 vrf v1 r4 tping 100 40 2.2.2.1 vrf v1 r4 tping 100 40 2.2.2.2 vrf v1 r4 tping 100 40 2.2.2.3 vrf v1 r4 tping 100 40 4321::1 vrf v1 r4 tping 100 40 4321::2 vrf v1 r4 tping 100 40 4321::3 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp39.tst000066400000000000000000000024201510423065500167260ustar00rootroot00000000000000description pvrp over point2point ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.254 ipv6 addr 1234::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.254 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe router pvrp4 1 ena router pvrp6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp40.tst000066400000000000000000000037521510423065500167270ustar00rootroot00000000000000description pvrp peer metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit router pvrp4 1 vrf v1 router 4.4.4.1 label red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 label red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router pvrp4 1 ena router pvrp4 1 metric-in 100 router pvrp6 1 ena router pvrp6 1 metric-in 100 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: mpls enable router pvrp4 1 ena router pvrp4 1 metric-in 1 router pvrp6 1 ena router pvrp6 1 metric-in 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit router pvrp4 1 vrf v1 router 4.4.4.2 label red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 label red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable router pvrp4 1 ena router pvrp4 1 metric-in 2 router pvrp4 1 accept-met router pvrp6 1 ena router pvrp6 1 metric-in 2 router pvrp6 1 accept-met exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable router pvrp4 1 ena router pvrp4 1 metric-in 200 router pvrp4 1 accept-met router pvrp6 1 ena router pvrp6 1 metric-in 200 router pvrp6 1 accept-met exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp41.tst000066400000000000000000000065541510423065500167330ustar00rootroot00000000000000description pvrp ecmp connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn ecmp exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:21::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.10 255.255.255.252 ipv6 addr 1234:23::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn ecmp exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:21::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.252 ipv6 addr 1234:22::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.3 red conn ecmp exit router pvrp6 1 vrf v1 router 6.6.6.3 red conn ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.252 ipv6 addr 1234:22::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.9 255.255.255.252 ipv6 addr 1234:23::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp42.tst000066400000000000000000000025141510423065500167240ustar00rootroot00000000000000description pvrp no authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router pvrp4 1 ena router pvrp4 1 password test router pvrp4 1 disable-pass ipv6 addr 1234:1::1 ffff:ffff:: router pvrp6 1 ena router pvrp6 1 password test router pvrp6 1 disable-pass exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router pvrp4 1 ena ipv6 addr 1234:1::2 ffff:ffff:: router pvrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp43.tst000066400000000000000000000046101510423065500167240ustar00rootroot00000000000000description pvrp with strict bfd addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 bfd 100 100 3 router pvrp4 1 ena router pvrp4 1 bfd strict ipv6 addr 1234:1::1 ffff:ffff:: ipv6 bfd 100 100 3 router pvrp6 1 ena router pvrp6 1 bfd strict exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 bfd 100 100 3 router pvrp4 1 ena router pvrp4 1 bfd strict router pvrp4 1 metric-in 100 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 bfd 100 100 3 router pvrp6 1 ena router pvrp6 1 bfd strict router pvrp6 1 metric-in 100 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 bfd 100 100 3 router pvrp4 1 ena router pvrp4 1 bfd strict ipv6 addr 1234:1::2 ffff:ffff:: ipv6 bfd 100 100 3 router pvrp6 1 ena router pvrp6 1 bfd strict exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 bfd 100 100 3 router pvrp4 1 ena router pvrp4 1 bfd router pvrp4 1 metric-in 100 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 bfd 100 100 3 router pvrp6 1 ena router pvrp6 1 bfd router pvrp6 1 metric-in 100 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 sleep 3000 r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 send conf t r2 send int eth1 r2 send shut r2 send end r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp44.tst000066400000000000000000000036471510423065500167360ustar00rootroot00000000000000description pvrp dynamic inband metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router pvrp4 1 ena router pvrp4 1 metric-in 100 router pvrp6 1 ena router pvrp6 1 metric-in 100 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: router pvrp4 1 ena router pvrp4 1 metric-in 1 router pvrp6 1 ena router pvrp6 1 metric-in 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router pvrp4 1 ena router pvrp4 1 metric-in 2 router pvrp4 1 dynamic-met mod inb router pvrp6 1 ena router pvrp6 1 metric-in 2 router pvrp6 1 dynamic-met mod inb exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: router pvrp4 1 ena router pvrp4 1 metric-in 200 router pvrp4 1 dynamic-met mod inb router pvrp6 1 ena router pvrp6 1 metric-in 200 router pvrp6 1 dynamic-met mod inb exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp45.tst000066400000000000000000000036451510423065500167350ustar00rootroot00000000000000description pvrp dynamic icmp metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router pvrp4 1 ena router pvrp4 1 metric-in 100 router pvrp6 1 ena router pvrp6 1 metric-in 100 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: router pvrp4 1 ena router pvrp4 1 metric-in 1 router pvrp6 1 ena router pvrp6 1 metric-in 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router pvrp4 1 ena router pvrp4 1 metric-in 2 router pvrp4 1 dynamic-met mod icm router pvrp6 1 ena router pvrp6 1 metric-in 2 router pvrp6 1 dynamic-met mod icm exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: router pvrp4 1 ena router pvrp4 1 metric-in 200 router pvrp4 1 dynamic-met mod icm router pvrp6 1 ena router pvrp6 1 metric-in 200 router pvrp6 1 dynamic-met mod icm exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp46.tst000066400000000000000000000037001510423065500167260ustar00rootroot00000000000000description pvrp dynamic udp metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit server echo e vrf v1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router pvrp4 1 ena router pvrp4 1 metric-in 100 router pvrp6 1 ena router pvrp6 1 metric-in 100 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: router pvrp4 1 ena router pvrp4 1 metric-in 1 router pvrp6 1 ena router pvrp6 1 metric-in 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router pvrp4 1 ena router pvrp4 1 metric-in 2 router pvrp4 1 dynamic-met mod udp router pvrp6 1 ena router pvrp6 1 metric-in 2 router pvrp6 1 dynamic-met mod udp exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: router pvrp4 1 ena router pvrp4 1 metric-in 200 router pvrp4 1 dynamic-met mod udp router pvrp6 1 ena router pvrp6 1 metric-in 200 router pvrp6 1 dynamic-met mod udp exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp47.tst000066400000000000000000000036461510423065500167400ustar00rootroot00000000000000description pvrp dynamic twamp metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router pvrp4 1 ena router pvrp4 1 metric-in 100 router pvrp6 1 ena router pvrp6 1 metric-in 100 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: router pvrp4 1 ena router pvrp4 1 metric-in 1 router pvrp6 1 ena router pvrp6 1 metric-in 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router pvrp4 1 ena router pvrp4 1 metric-in 2 router pvrp4 1 dynamic-met mod twa router pvrp6 1 ena router pvrp6 1 metric-in 2 router pvrp6 1 dynamic-met mod twa exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: router pvrp4 1 ena router pvrp4 1 metric-in 200 router pvrp4 1 dynamic-met mod twa router pvrp6 1 ena router pvrp6 1 metric-in 200 router pvrp6 1 dynamic-met mod twa exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp48.tst000066400000000000000000000057331510423065500167400ustar00rootroot00000000000000description pvrp with sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router pvrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp49.tst000066400000000000000000000066701510423065500167420ustar00rootroot00000000000000description pvrp with bier addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.1 bier 256 10 1 3 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 bier 256 10 1 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.2 bier 256 10 2 3 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 bier 256 10 2 # red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.3 bier 256 10 3 3 red conn exit router pvrp6 1 vrf v1 router 6.6.6.3 bier 256 10 3 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv6 addr 4321::1112 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 0 20 2.2.2.3 vrf v1 sou lo1 r3 tping 0 20 2.2.2.1 vrf v1 sou lo1 r1 tping 0 20 4321::3 vrf v1 sou lo1 r3 tping 0 20 4321::1 vrf v1 sou lo1 r1 tping 100 20 3.3.3.2 vrf v1 r1 tping 100 20 4321::1112 vrf v1 r3 tping 100 20 3.3.3.1 vrf v1 r3 tping 100 20 4321::1111 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp50.tst000066400000000000000000000060261510423065500167250ustar00rootroot00000000000000description pvrp with srgb sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 base 100 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 base 200 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 base 100 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 base 200 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 base 100 red conn exit router pvrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 base 200 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp51.tst000066400000000000000000000063631510423065500167320ustar00rootroot00000000000000description pvrp with selective sr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.1 segrout 10 0 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 segrout 10 0 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp6 1 ena router pvrp4 1 segrou 1 router pvrp6 1 segrou 1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.2 segrout 10 0 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 segrout 10 0 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp6 1 ena router pvrp4 1 segrou 2 router pvrp6 1 segrou 2 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.3 segrout 10 0 red conn exit router pvrp6 1 vrf v1 router 6.6.6.3 segrout 10 0 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp6 1 ena router pvrp4 1 segrou 3 router pvrp6 1 segrou 3 exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp52.tst000066400000000000000000000073201510423065500167250ustar00rootroot00000000000000description pvrp with selective bier addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.1 bier 256 10 0 3 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 bier 256 10 0 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp6 1 ena router pvrp4 1 bier 1 3 router pvrp6 1 bier 1 3 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv4 addr 3.3.3.1 255.255.255.252 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::3 tun vrf v1 tun key 1 tun mod bier vrf for v1 ipv6 addr 4321::1111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.2 bier 256 10 0 3 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 bier 256 10 0 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp6 1 ena router pvrp4 1 bier 2 3 router pvrp6 1 bier 2 3 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit router pvrp4 1 vrf v1 router 4.4.4.3 bier 256 10 0 3 red conn exit router pvrp6 1 vrf v1 router 6.6.6.3 bier 256 10 0 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router pvrp4 1 ena router pvrp6 1 ena router pvrp4 1 bier 3 3 router pvrp6 1 bier 3 3 exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable router pvrp4 1 ena router pvrp6 1 ena exit int tun1 tun sou lo1 tun dest 9.9.9.9 tun doma 2.2.2.1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv4 addr 3.3.3.2 255.255.255.252 exit int tun2 tun sou lo1 tun dest 9999::9 tun doma 4321::1 tun vrf v1 tun key 3 tun mod bier vrf for v1 ipv6 addr 4321::1112 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 exit ! r1 tping 0 20 2.2.2.3 vrf v1 sou lo1 r3 tping 0 20 2.2.2.1 vrf v1 sou lo1 r1 tping 0 20 4321::3 vrf v1 sou lo1 r3 tping 0 20 4321::1 vrf v1 sou lo1 r1 tping 100 20 3.3.3.2 vrf v1 r1 tping 100 20 4321::1112 vrf v1 r3 tping 100 20 3.3.3.1 vrf v1 r3 tping 100 20 4321::1111 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp53.tst000066400000000000000000000063541510423065500167340ustar00rootroot00000000000000description pvrp with polka addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 segrout 10 1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 segrout 10 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: mpls enable polka enable 1 65536 10 router pvrp4 1 ena router pvrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback1 tunnel destination 2.2.2.3 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.1 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback1 tunnel destination 4321::3 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 segrout 10 2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 segrout 10 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: mpls enable polka enable 2 65536 10 router pvrp4 1 ena router pvrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: mpls enable polka enable 2 65536 10 router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.3 segrout 10 3 red conn exit router pvrp6 1 vrf v1 router 6.6.6.3 segrout 10 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.2.3 255.255.255.0 ipv6 addr 1235::3 ffff:: mpls enable polka enable 3 65536 10 router pvrp4 1 ena router pvrp6 1 ena exit interface tun1 tunnel vrf v1 tunnel source loopback1 tunnel destination 2.2.2.1 tunnel domain-name 2.2.2.2 tunnel mode polka vrf forwarding v1 ipv4 address 3.3.3.2 255.255.255.252 exit interface tun2 tunnel vrf v1 tunnel source loopback1 tunnel destination 4321::1 tunnel domain-name 4321::2 tunnel mode polka vrf forwarding v1 ipv6 address 3333::2 ffff:: exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 2.2.2.3 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r2 tping 100 20 2.2.2.3 vrf v1 sou lo1 r3 tping 100 20 2.2.2.1 vrf v1 sou lo1 r3 tping 100 20 2.2.2.2 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 4321::3 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 tping 100 20 4321::3 vrf v1 sou lo1 r3 tping 100 20 4321::1 vrf v1 sou lo1 r3 tping 100 20 4321::2 vrf v1 sou lo1 r1 tping 100 20 3.3.3.2 vrf v1 sou tun1 r3 tping 100 20 3.3.3.1 vrf v1 sou tun1 r1 tping 100 20 3333::2 vrf v1 sou tun2 r3 tping 100 20 3333::1 vrf v1 sou tun2 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp54.tst000066400000000000000000000055551510423065500167370ustar00rootroot00000000000000description pvrp auto summarization addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena router pvrp4 1 route-map-in p4 router pvrp6 1 route-map-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 autosumm red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 autosumm red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.3 red conn exit router pvrp6 1 vrf v1 router 6.6.6.3 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router pvrp4 1 ena router pvrp6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r1 tping 100 20 2.2.2.12 vrf v1 r1 tping 100 20 4321::12 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 2.2.2.21 vrf v1 r2 tping 100 20 4321::21 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp55.tst000066400000000000000000000025431510423065500167320ustar00rootroot00000000000000description pvrp with pmtud addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router pvrp4 1 ena router pvrp6 1 ena router pvrp4 1 ipinfo pmtud 512 1024 666 router pvrp6 1 ipinfo pmtud 512 1024 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router pvrp4 1 ena router pvrp6 1 ena router pvrp4 1 ipinfo pmtud 512 1024 666 router pvrp6 1 ipinfo pmtud 512 1024 666 exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-pvrp56.tst000066400000000000000000000024351510423065500167330ustar00rootroot00000000000000description pvrp ldp sync addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router pvrp4 1 ena router pvrp6 1 ena router pvrp4 1 ldp-sync router pvrp6 1 ldp-sync exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router pvrp4 1 ena router pvrp6 1 ena router pvrp4 1 ldp-sync router pvrp6 1 ldp-sync exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 pvrp 1 sum r2 output show ipv6 pvrp 1 sum r2 output show ipv4 pvrp 1 rou r2 output show ipv6 pvrp 1 rou r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-redist01.tst000066400000000000000000000075301510423065500172250ustar00rootroot00000000000000description redistribution with isis addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.1111.2222.00 is-type level2 red conn red isis4 2 exit router isis6 1 vrf v1 net 48.6666.1111.2222.00 is-type level2 red conn red isis6 2 exit router isis4 2 vrf v1 net 48.4444.2222.2222.00 is-type level2 red conn red isis4 1 exit router isis6 2 vrf v1 net 48.6666.2222.2222.00 is-type level2 red conn red isis6 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 2 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 2 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 2.2.2.12 vrf v1 r1 tping 100 20 2.2.2.22 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 2.2.2.13 vrf v1 r1 tping 100 20 2.2.2.23 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 4321::12 vrf v1 r1 tping 100 20 4321::22 vrf v1 r1 tping 100 20 4321::3 vrf v1 r1 tping 100 20 4321::13 vrf v1 r1 tping 100 20 4321::23 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 2.2.2.21 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 2.2.2.23 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 4321::21 vrf v1 r2 tping 100 20 4321::3 vrf v1 r2 tping 100 20 4321::13 vrf v1 r2 tping 100 20 4321::23 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 2.2.2.11 vrf v1 r3 tping 100 20 2.2.2.21 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 2.2.2.12 vrf v1 r3 tping 100 20 2.2.2.22 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 4321::11 vrf v1 r3 tping 100 20 4321::21 vrf v1 r3 tping 100 20 4321::2 vrf v1 r3 tping 100 20 4321::12 vrf v1 r3 tping 100 20 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist02.tst000066400000000000000000000074401510423065500172260ustar00rootroot00000000000000description redistribution with ospf addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 red conn red ospf4 1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 red conn red ospf6 1 exit router ospf4 1 vrf v1 router 4.4.4.2 area 0 ena red conn red isis4 1 exit router ospf6 1 vrf v1 router 6.6.6.2 area 0 ena red conn red isis6 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router ospf4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router ospf6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.3 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router ospf4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router ospf6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.13 vrf v1 r1 tping 100 40 2.2.2.23 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::12 vrf v1 r1 tping 100 40 4321::22 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::13 vrf v1 r1 tping 100 40 4321::23 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.13 vrf v1 r2 tping 100 40 2.2.2.23 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::13 vrf v1 r2 tping 100 40 4321::23 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.11 vrf v1 r3 tping 100 40 2.2.2.21 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.12 vrf v1 r3 tping 100 40 2.2.2.22 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::11 vrf v1 r3 tping 100 40 4321::21 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::12 vrf v1 r3 tping 100 40 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist03.tst000066400000000000000000000072451510423065500172320ustar00rootroot00000000000000description redistribution with rip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 red conn red rip4 1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 red conn red rip6 1 exit router rip4 1 vrf v1 red conn red isis4 1 exit router rip6 1 vrf v1 red conn red isis6 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router rip4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router rip6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router rip4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router rip6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.13 vrf v1 r1 tping 100 40 2.2.2.23 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::12 vrf v1 r1 tping 100 40 4321::22 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::13 vrf v1 r1 tping 100 40 4321::23 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.13 vrf v1 r2 tping 100 40 2.2.2.23 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::13 vrf v1 r2 tping 100 40 4321::23 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.11 vrf v1 r3 tping 100 40 2.2.2.21 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.12 vrf v1 r3 tping 100 40 2.2.2.22 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::11 vrf v1 r3 tping 100 40 4321::21 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::12 vrf v1 r3 tping 100 40 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist04.tst000066400000000000000000000076451510423065500172370ustar00rootroot00000000000000description redistribution with bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 red conn red bgp4 1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 red conn red bgp6 1 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router 4.4.4.2 neigh 1.1.1.6 remote-as 2 red conn red isis4 1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router 6.6.6.2 neigh 1234:2::2 remote-as 2 red conn red isis6 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 2.2.2.13 vrf v1 r1 tping 100 60 2.2.2.23 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 4321::22 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 4321::13 vrf v1 r1 tping 100 60 4321::23 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 2.2.2.13 vrf v1 r2 tping 100 60 2.2.2.23 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 4321::21 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::13 vrf v1 r2 tping 100 60 4321::23 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.11 vrf v1 r3 tping 100 60 2.2.2.21 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.12 vrf v1 r3 tping 100 60 2.2.2.22 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::11 vrf v1 r3 tping 100 60 4321::21 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 4321::12 vrf v1 r3 tping 100 60 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist05.tst000066400000000000000000000105151510423065500172260ustar00rootroot00000000000000description redistribution with bgp vpn addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router isis4 1 vrf v2 net 48.4444.0000.2222.00 is-type level2 red conn red bgp4 1 exit router isis6 1 vrf v2 net 48.6666.0000.2222.00 is-type level2 red conn red bgp6 1 exit router bgp4 1 vrf v1 address vpnuni local-as 1 router 4.4.4.2 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo1 neigh 2.2.2.3 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red isis4 1 exit router bgp6 1 vrf v1 address vpnuni local-as 1 router 6.6.6.2 neigh 4321::3 remote-as 1 neigh 4321::3 update lo1 neigh 4321::3 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red isis6 1 exit int lo2 vrf for v2 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v2 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v2 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v2 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni local-as 1 router 4.4.4.3 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo1 neigh 2.2.2.2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni local-as 1 router 6.6.6.3 neigh 4321::2 remote-as 1 neigh 4321::2 update lo1 neigh 4321::2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn exit int lo2 vrf for v2 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v2 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 2.2.2.13 vrf v1 r1 tping 100 60 2.2.2.23 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 4321::22 vrf v1 r1 tping 100 60 4321::13 vrf v1 r1 tping 100 60 4321::23 vrf v1 r2 tping 100 60 2.2.2.1 vrf v2 r2 tping 100 60 2.2.2.11 vrf v2 r2 tping 100 60 2.2.2.21 vrf v2 r2 tping 100 60 2.2.2.13 vrf v2 r2 tping 100 60 2.2.2.23 vrf v2 r2 tping 100 60 4321::1 vrf v2 r2 tping 100 60 4321::11 vrf v2 r2 tping 100 60 4321::21 vrf v2 r2 tping 100 60 4321::13 vrf v2 r2 tping 100 60 4321::23 vrf v2 r3 tping 100 60 2.2.2.1 vrf v2 r3 tping 100 60 2.2.2.11 vrf v2 r3 tping 100 60 2.2.2.21 vrf v2 r3 tping 100 60 2.2.2.12 vrf v2 r3 tping 100 60 2.2.2.22 vrf v2 r3 tping 100 60 4321::1 vrf v2 r3 tping 100 60 4321::11 vrf v2 r3 tping 100 60 4321::21 vrf v2 r3 tping 100 60 4321::12 vrf v2 r3 tping 100 60 4321::22 vrf v2 freeRtr-25.11.9/cfg/rout-redist06.tst000066400000000000000000000105671510423065500172360ustar00rootroot00000000000000description redistribution with bgp othervpn addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router isis4 1 vrf v2 net 48.4444.0000.2222.00 is-type level2 red conn red bgp4 1 exit router isis6 1 vrf v2 net 48.6666.0000.2222.00 is-type level2 red conn red bgp4 1 exit router bgp4 1 vrf v1 address vpnuni ovpnuni local-as 1 router 4.4.4.2 neigh 2.2.2.3 remote-as 1 neigh 2.2.2.3 update lo1 neigh 2.2.2.3 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-vrf v2 red isis4 1 afi-ovrf v2 ena afi-ovrf v2 red conn afi-ovrf v2 red isis6 1 exit router bgp6 1 vrf v1 address vpnuni ovpnuni local-as 1 router 6.6.6.2 neigh 4321::3 remote-as 1 neigh 4321::3 update lo1 neigh 4321::3 send-comm both exit int lo2 vrf for v2 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v2 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v2 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v2 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.3 255.255.255.255 1.1.1.6 ipv6 route v1 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit vrf def v2 rd 1:2 rt-both 1:2 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router bgp4 1 vrf v1 address vpnuni ovpnuni local-as 1 router 4.4.4.3 neigh 2.2.2.2 remote-as 1 neigh 2.2.2.2 update lo1 neigh 2.2.2.2 send-comm both afi-vrf v2 ena afi-vrf v2 red conn afi-ovrf v2 ena afi-ovrf v2 red conn exit router bgp6 1 vrf v1 address vpnuni ovpnuni local-as 1 router 6.6.6.3 neigh 4321::2 remote-as 1 neigh 4321::2 update lo1 neigh 4321::2 send-comm both exit int lo2 vrf for v2 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v2 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable mpls ldp4 mpls ldp6 exit ipv4 route v1 2.2.2.2 255.255.255.255 1.1.1.5 ipv6 route v1 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 2.2.2.13 vrf v1 r1 tping 100 60 2.2.2.23 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 4321::22 vrf v1 r1 tping 100 60 4321::13 vrf v1 r1 tping 100 60 4321::23 vrf v1 r2 tping 100 60 2.2.2.1 vrf v2 r2 tping 100 60 2.2.2.11 vrf v2 r2 tping 100 60 2.2.2.21 vrf v2 r2 tping 100 60 2.2.2.13 vrf v2 r2 tping 100 60 2.2.2.23 vrf v2 r2 tping 100 60 4321::1 vrf v2 r2 tping 100 60 4321::11 vrf v2 r2 tping 100 60 4321::21 vrf v2 r2 tping 100 60 4321::13 vrf v2 r2 tping 100 60 4321::23 vrf v2 r3 tping 100 60 2.2.2.1 vrf v2 r3 tping 100 60 2.2.2.11 vrf v2 r3 tping 100 60 2.2.2.21 vrf v2 r3 tping 100 60 2.2.2.12 vrf v2 r3 tping 100 60 2.2.2.22 vrf v2 r3 tping 100 60 4321::1 vrf v2 r3 tping 100 60 4321::11 vrf v2 r3 tping 100 60 4321::21 vrf v2 r3 tping 100 60 4321::12 vrf v2 r3 tping 100 60 4321::22 vrf v2 freeRtr-25.11.9/cfg/rout-redist07.tst000066400000000000000000000073601510423065500172340ustar00rootroot00000000000000description redistribution with pvrp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 red conn red pvrp4 1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 red conn red pvrp6 1 exit router pvrp4 1 vrf v1 router 4.4.4.2 red conn red isis4 1 exit router pvrp6 1 vrf v1 router 6.6.6.2 red conn red isis6 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router pvrp4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router pvrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.3 red conn exit router pvrp6 1 vrf v1 router 6.6.6.3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router pvrp4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router pvrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.13 vrf v1 r1 tping 100 40 2.2.2.23 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::12 vrf v1 r1 tping 100 40 4321::22 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::13 vrf v1 r1 tping 100 40 4321::23 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.13 vrf v1 r2 tping 100 40 2.2.2.23 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::13 vrf v1 r2 tping 100 40 4321::23 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.11 vrf v1 r3 tping 100 40 2.2.2.21 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.12 vrf v1 r3 tping 100 40 2.2.2.22 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::11 vrf v1 r3 tping 100 40 4321::21 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::12 vrf v1 r3 tping 100 40 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist08.tst000066400000000000000000000074231510423065500172350ustar00rootroot00000000000000description redistribution with eigrp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 red conn red eigrp4 1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 red conn red eigrp6 1 exit router eigrp4 1 vrf v1 router 4.4.4.2 as 1 red conn red isis4 1 exit router eigrp6 1 vrf v1 router 6.6.6.2 as 1 red conn red isis6 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router eigrp4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router eigrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.3 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.3 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router eigrp4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router eigrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.13 vrf v1 r1 tping 100 40 2.2.2.23 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::12 vrf v1 r1 tping 100 40 4321::22 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::13 vrf v1 r1 tping 100 40 4321::23 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.13 vrf v1 r2 tping 100 40 2.2.2.23 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::13 vrf v1 r2 tping 100 40 4321::23 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.11 vrf v1 r3 tping 100 40 2.2.2.21 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.12 vrf v1 r3 tping 100 40 2.2.2.22 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::11 vrf v1 r3 tping 100 40 4321::21 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::12 vrf v1 r3 tping 100 40 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist09.tst000066400000000000000000000074531510423065500172410ustar00rootroot00000000000000description redistribution with babel addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 red conn red babel4 1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 red conn red babel6 1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 red conn red isis4 1 exit router babel6 1 vrf v1 router 1111-2222-3333-0001 red conn red isis6 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router babel4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router babel6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0002 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0002 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router babel4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router babel6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.13 vrf v1 r1 tping 100 40 2.2.2.23 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::12 vrf v1 r1 tping 100 40 4321::22 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::13 vrf v1 r1 tping 100 40 4321::23 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.13 vrf v1 r2 tping 100 40 2.2.2.23 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::13 vrf v1 r2 tping 100 40 4321::23 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.11 vrf v1 r3 tping 100 40 2.2.2.21 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.12 vrf v1 r3 tping 100 40 2.2.2.22 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::11 vrf v1 r3 tping 100 40 4321::21 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::12 vrf v1 r3 tping 100 40 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist10.tst000066400000000000000000000072601510423065500172250ustar00rootroot00000000000000description redistribution with olsr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 red conn red olsr4 1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 red conn red olsr6 1 exit router olsr4 1 vrf v1 red conn red isis4 1 exit router olsr6 1 vrf v1 red conn red isis6 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router olsr4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router olsr6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router olsr4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router olsr6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.13 vrf v1 r1 tping 100 40 2.2.2.23 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::12 vrf v1 r1 tping 100 40 4321::22 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::13 vrf v1 r1 tping 100 40 4321::23 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.13 vrf v1 r2 tping 100 40 2.2.2.23 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::13 vrf v1 r2 tping 100 40 4321::23 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.11 vrf v1 r3 tping 100 40 2.2.2.21 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.12 vrf v1 r3 tping 100 40 2.2.2.22 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::11 vrf v1 r3 tping 100 40 4321::21 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::12 vrf v1 r3 tping 100 40 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist11.tst000066400000000000000000000073601510423065500172270ustar00rootroot00000000000000description redistribution with lsrp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 red conn red lsrp4 1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 red conn red lsrp6 1 exit router lsrp4 1 vrf v1 router 4.4.4.2 red conn red isis4 1 exit router lsrp6 1 vrf v1 router 6.6.6.2 red conn red isis6 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router lsrp4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router lsrp6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.3 red conn exit router lsrp6 1 vrf v1 router 6.6.6.3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router lsrp4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router lsrp6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.13 vrf v1 r1 tping 100 40 2.2.2.23 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::12 vrf v1 r1 tping 100 40 4321::22 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::13 vrf v1 r1 tping 100 40 4321::23 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.13 vrf v1 r2 tping 100 40 2.2.2.23 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::13 vrf v1 r2 tping 100 40 4321::23 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.11 vrf v1 r3 tping 100 40 2.2.2.21 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.12 vrf v1 r3 tping 100 40 2.2.2.22 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::11 vrf v1 r3 tping 100 40 4321::21 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::12 vrf v1 r3 tping 100 40 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist12.tst000066400000000000000000000102061510423065500172210ustar00rootroot00000000000000description redistribution filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit prefix-list p4 sequence 10 deny 2.2.2.8/29 le 32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::10/124 le 128 sequence 20 permit ::/0 le 128 exit router isis4 1 vrf v1 net 48.4444.1111.2222.00 is-type level2 red conn prefix-list p4 red isis4 2 prefix-list p4 exit router isis6 1 vrf v1 net 48.6666.1111.2222.00 is-type level2 red conn prefix-list p6 red isis6 2 prefix-list p6 exit router isis4 2 vrf v1 net 48.4444.2222.2222.00 is-type level2 red conn prefix-list p4 red isis4 1 prefix-list p4 exit router isis6 2 vrf v1 net 48.6666.2222.2222.00 is-type level2 red conn prefix-list p6 red isis6 1 prefix-list p6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 2 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 2 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 2.2.2.21 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 2.2.2.23 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 4321::21 vrf v1 r2 tping 100 20 4321::3 vrf v1 r2 tping 100 20 4321::13 vrf v1 r2 tping 100 20 4321::23 vrf v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 0 20 2.2.2.12 vrf v1 r1 tping 100 20 2.2.2.22 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 100 20 2.2.2.23 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 0 20 4321::12 vrf v1 r1 tping 100 20 4321::22 vrf v1 r1 tping 100 20 4321::3 vrf v1 r1 tping 0 20 4321::13 vrf v1 r1 tping 100 20 4321::23 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 100 20 2.2.2.21 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 0 20 2.2.2.12 vrf v1 r3 tping 100 20 2.2.2.22 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 100 20 4321::21 vrf v1 r3 tping 100 20 4321::2 vrf v1 r3 tping 0 20 4321::12 vrf v1 r3 tping 100 20 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist13.tst000066400000000000000000000102741510423065500172270ustar00rootroot00000000000000description redistribution filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map p4 sequence 10 act deny match network 2.2.2.8/29 le 32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::10/124 le 128 sequence 20 act perm match network ::/0 le 128 exit router isis4 1 vrf v1 net 48.4444.1111.2222.00 is-type level2 red conn route-map p4 red isis4 2 route-map p4 exit router isis6 1 vrf v1 net 48.6666.1111.2222.00 is-type level2 red conn route-map p6 red isis6 2 route-map p6 exit router isis4 2 vrf v1 net 48.4444.2222.2222.00 is-type level2 red conn route-map p4 red isis4 1 route-map p4 exit router isis6 2 vrf v1 net 48.6666.2222.2222.00 is-type level2 red conn route-map p6 red isis6 1 route-map p6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 2 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 2 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 2.2.2.21 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 2.2.2.23 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 4321::21 vrf v1 r2 tping 100 20 4321::3 vrf v1 r2 tping 100 20 4321::13 vrf v1 r2 tping 100 20 4321::23 vrf v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 0 20 2.2.2.12 vrf v1 r1 tping 100 20 2.2.2.22 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 100 20 2.2.2.23 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 0 20 4321::12 vrf v1 r1 tping 100 20 4321::22 vrf v1 r1 tping 100 20 4321::3 vrf v1 r1 tping 0 20 4321::13 vrf v1 r1 tping 100 20 4321::23 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 100 20 2.2.2.21 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 0 20 2.2.2.12 vrf v1 r3 tping 100 20 2.2.2.22 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 100 20 4321::21 vrf v1 r3 tping 100 20 4321::2 vrf v1 r3 tping 0 20 4321::12 vrf v1 r3 tping 100 20 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist14.tst000066400000000000000000000104271510423065500172300ustar00rootroot00000000000000description redistribution filtering with hierarchical routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map p4 sequence 10 act deny match network 2.2.2.8/29 le 32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::10/124 le 128 sequence 20 act perm match network ::/0 le 128 exit route-map h4 match route-map p4 exit route-map h6 match route-map p6 exit router isis4 1 vrf v1 net 48.4444.1111.2222.00 is-type level2 red conn route-map h4 red isis4 2 route-map h4 exit router isis6 1 vrf v1 net 48.6666.1111.2222.00 is-type level2 red conn route-map h6 red isis6 2 route-map h6 exit router isis4 2 vrf v1 net 48.4444.2222.2222.00 is-type level2 red conn route-map h4 red isis4 1 route-map h4 exit router isis6 2 vrf v1 net 48.6666.2222.2222.00 is-type level2 red conn route-map h6 red isis6 1 route-map h6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 2 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 2 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 2.2.2.21 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 2.2.2.23 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 4321::21 vrf v1 r2 tping 100 20 4321::3 vrf v1 r2 tping 100 20 4321::13 vrf v1 r2 tping 100 20 4321::23 vrf v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 0 20 2.2.2.12 vrf v1 r1 tping 100 20 2.2.2.22 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 100 20 2.2.2.23 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 0 20 4321::12 vrf v1 r1 tping 100 20 4321::22 vrf v1 r1 tping 100 20 4321::3 vrf v1 r1 tping 0 20 4321::13 vrf v1 r1 tping 100 20 4321::23 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 100 20 2.2.2.21 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 0 20 2.2.2.12 vrf v1 r3 tping 100 20 2.2.2.22 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 100 20 4321::21 vrf v1 r3 tping 100 20 4321::2 vrf v1 r3 tping 0 20 4321::12 vrf v1 r3 tping 100 20 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist15.tst000066400000000000000000000101651510423065500172300ustar00rootroot00000000000000description redistribution filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-policy p4 if network 2.2.2.8/29 le 32 drop else pass enif exit route-policy p6 if network 4321::10/124 le 128 drop else pass enif exit router isis4 1 vrf v1 net 48.4444.1111.2222.00 is-type level2 red conn route-policy p4 red isis4 2 route-policy p4 exit router isis6 1 vrf v1 net 48.6666.1111.2222.00 is-type level2 red conn route-policy p6 red isis6 2 route-policy p6 exit router isis4 2 vrf v1 net 48.4444.2222.2222.00 is-type level2 red conn route-policy p4 red isis4 1 route-policy p4 exit router isis6 2 vrf v1 net 48.6666.2222.2222.00 is-type level2 red conn route-policy p6 red isis6 1 route-policy p6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 2 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 2 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 2.2.2.21 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 2.2.2.23 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 4321::21 vrf v1 r2 tping 100 20 4321::3 vrf v1 r2 tping 100 20 4321::13 vrf v1 r2 tping 100 20 4321::23 vrf v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 0 20 2.2.2.12 vrf v1 r1 tping 100 20 2.2.2.22 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 100 20 2.2.2.23 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 0 20 4321::12 vrf v1 r1 tping 100 20 4321::22 vrf v1 r1 tping 100 20 4321::3 vrf v1 r1 tping 0 20 4321::13 vrf v1 r1 tping 100 20 4321::23 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 100 20 2.2.2.21 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 0 20 2.2.2.12 vrf v1 r3 tping 100 20 2.2.2.22 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 100 20 4321::21 vrf v1 r3 tping 100 20 4321::2 vrf v1 r3 tping 0 20 4321::12 vrf v1 r3 tping 100 20 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist16.tst000066400000000000000000000103601510423065500172260ustar00rootroot00000000000000description redistribution filtering with hierarchical routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-policy p4 if network 2.2.2.8/29 le 32 drop else pass enif exit route-policy p6 if network 4321::10/124 le 128 drop else pass enif exit route-policy h4 if route-policy p4 pass enif exit route-policy h6 if route-policy p6 pass enif exit router isis4 1 vrf v1 net 48.4444.1111.2222.00 is-type level2 red conn route-policy h4 red isis4 2 route-policy h4 exit router isis6 1 vrf v1 net 48.6666.1111.2222.00 is-type level2 red conn route-policy h6 red isis6 2 route-policy h6 exit router isis4 2 vrf v1 net 48.4444.2222.2222.00 is-type level2 red conn route-policy h4 red isis4 1 route-policy h4 exit router isis6 2 vrf v1 net 48.6666.2222.2222.00 is-type level2 red conn route-policy h6 red isis6 1 route-policy h6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 2 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 2 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 2.2.2.21 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 2.2.2.23 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 4321::21 vrf v1 r2 tping 100 20 4321::3 vrf v1 r2 tping 100 20 4321::13 vrf v1 r2 tping 100 20 4321::23 vrf v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 0 20 2.2.2.12 vrf v1 r1 tping 100 20 2.2.2.22 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 100 20 2.2.2.23 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 0 20 4321::12 vrf v1 r1 tping 100 20 4321::22 vrf v1 r1 tping 100 20 4321::3 vrf v1 r1 tping 0 20 4321::13 vrf v1 r1 tping 100 20 4321::23 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 100 20 2.2.2.21 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 0 20 2.2.2.12 vrf v1 r3 tping 100 20 2.2.2.22 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 100 20 4321::21 vrf v1 r3 tping 100 20 4321::2 vrf v1 r3 tping 0 20 4321::12 vrf v1 r3 tping 100 20 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist17.tst000066400000000000000000000041001510423065500172220ustar00rootroot00000000000000description redistribution with prefixes addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 advertise 2.2.2.1/32 advertise 2.2.2.21/32 exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 advertise 4321::1/128 advertise 4321::21/128 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.1111.2222.00 is-type level2 advertise 2.2.2.2/32 advertise 2.2.2.22/32 exit router isis6 1 vrf v1 net 48.6666.1111.2222.00 is-type level2 advertise 4321::2/128 advertise 4321::22/128 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 0 20 2.2.2.12 vrf v1 r1 tping 100 20 2.2.2.22 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 0 20 4321::12 vrf v1 r1 tping 100 20 4321::22 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 0 20 2.2.2.11 vrf v1 r2 tping 100 20 2.2.2.21 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 0 20 4321::11 vrf v1 r2 tping 100 20 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-redist18.tst000066400000000000000000000514631510423065500172410ustar00rootroot00000000000000description redistribution with everything addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.1111 $3a$ $3b$ int eth4 eth 0000.0000.1111 $4a$ $4b$ int eth5 eth 0000.0000.1111 $5a$ $5b$ int eth6 eth 0000.0000.1111 $6a$ $6b$ int eth7 eth 0000.0000.1111 $7a$ $7b$ int eth8 eth 0000.0000.1111 $8a$ $8b$ int eth9 eth 0000.0000.1111 $9a$ $9b$ int eth10 eth 0000.0000.1111 $10a$ $10b$ int eth11 eth 0000.0000.1111 $11a$ $11b$ ! vrf def v1 rd 1:1 rt-both 1:2 exit vrf def v2 rd 1:2 label-mode per-prefix exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn red ospf4 1 red rip4 1 red babel4 1 red olsr4 1 red pvrp4 1 red lsrp4 1 red eigrp4 1 red bgp4 1 red bgp4 2 red rift4 1 exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn red ospf6 1 red rip6 1 red babel6 1 red olsr6 1 red pvrp6 1 red lsrp6 1 red eigrp6 1 red bgp6 1 red bgp6 2 red rift6 1 exit router ospf4 1 vrf v1 router 4.4.4.1 area 0 ena red conn red isis4 1 red rip4 1 red babel4 1 red olsr4 1 red pvrp4 1 red lsrp4 1 red eigrp4 1 red bgp4 1 red bgp4 2 red rift4 1 exit router ospf6 1 vrf v1 router 6.6.6.1 area 0 ena red conn red isis6 1 red rip6 1 red babel6 1 red olsr6 1 red pvrp6 1 red lsrp6 1 red eigrp6 1 red bgp6 1 red bgp6 2 red rift6 1 exit router pvrp4 1 vrf v1 router 4.4.4.1 red conn red isis4 1 red ospf4 1 red rip4 1 red babel4 1 red olsr4 1 red lsrp4 1 red eigrp4 1 red bgp4 1 red bgp4 2 red rift4 1 exit router pvrp6 1 vrf v1 router 6.6.6.1 red conn red isis6 1 red ospf6 1 red rip6 1 red babel6 1 red olsr6 1 red lsrp6 1 red eigrp6 1 red bgp6 1 red bgp6 2 red rift6 1 exit router lsrp4 1 vrf v1 router 4.4.4.1 red conn red isis4 1 red ospf4 1 red rip4 1 red babel4 1 red olsr4 1 red pvrp4 1 red eigrp4 1 red bgp4 1 red bgp4 2 red rift4 1 exit router lsrp6 1 vrf v1 router 6.6.6.1 red conn red isis6 1 red ospf6 1 red rip6 1 red babel6 1 red olsr6 1 red pvrp6 1 red eigrp6 1 red bgp6 1 red bgp6 2 red rift6 1 exit router eigrp4 1 vrf v1 router 4.4.4.1 as 1 red conn red isis4 1 red ospf4 1 red rip4 1 red babel4 1 red olsr4 1 red pvrp4 1 red lsrp4 1 red bgp4 1 red bgp4 2 red rift4 1 exit router eigrp6 1 vrf v1 router 6.6.6.1 as 1 red conn red isis6 1 red ospf6 1 red rip6 1 red babel6 1 red olsr6 1 red pvrp6 1 red lsrp6 1 red bgp6 1 red bgp6 2 red rift6 1 exit router rip4 1 vrf v1 red conn red isis4 1 red ospf4 1 red babel4 1 red olsr4 1 red pvrp4 1 red lsrp4 1 red eigrp4 1 red bgp4 1 red bgp4 2 red rift4 1 exit router rip6 1 vrf v1 red conn red isis6 1 red ospf6 1 red babel6 1 red olsr6 1 red pvrp6 1 red lsrp6 1 red eigrp6 1 red bgp6 1 red bgp6 2 red rift6 1 exit router babel4 1 vrf v1 router 1111-2222-3333-0001 red conn red isis4 1 red ospf4 1 red rip4 1 red olsr4 1 red pvrp4 1 red lsrp4 1 red eigrp4 1 red bgp4 1 red bgp4 2 red rift4 1 exit router babel6 1 vrf v1 router 1111-2222-3333-0001 red conn red isis6 1 red ospf6 1 red rip6 1 red olsr6 1 red pvrp6 1 red lsrp6 1 red eigrp6 1 red bgp6 1 red bgp6 2 red rift6 1 exit router olsr4 1 vrf v1 red conn red isis4 1 red ospf4 1 red rip4 1 red babel4 1 red pvrp4 1 red lsrp4 1 red eigrp4 1 red bgp4 1 red bgp4 2 red rift4 1 exit router olsr6 1 vrf v1 red conn red isis6 1 red ospf6 1 red rip6 1 red babel6 1 red pvrp6 1 red lsrp6 1 red eigrp6 1 red bgp6 1 red bgp6 2 red rift6 1 exit router rift4 1 vrf v1 router 41 red conn red isis4 1 red ospf4 1 red rip4 1 red babel4 1 red pvrp4 1 red lsrp4 1 red eigrp4 1 red bgp4 1 red bgp4 2 red olsr4 1 exit router rift6 1 vrf v1 router 61 red conn red isis6 1 red ospf6 1 red rip6 1 red babel6 1 red pvrp6 1 red lsrp6 1 red eigrp6 1 red bgp6 1 red bgp6 2 red olsr6 1 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router 4.4.4.1 neigh 1.1.1.14 remote-as 2 red conn red isis4 1 red ospf4 1 red rip4 1 red babel4 1 red olsr4 1 red pvrp4 1 red lsrp4 1 red eigrp4 1 red bgp4 2 red rift4 1 exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router 6.6.6.1 neigh 1234:4::2 remote-as 2 red conn red isis6 1 red ospf6 1 red rip6 1 red babel6 1 red olsr6 1 red pvrp6 1 red lsrp6 1 red eigrp6 1 red bgp6 2 red rift6 1 exit router bgp4 2 vrf v2 no safe-ebgp address vpnuni local-as 1 router 4.4.4.1 neigh 1.1.1.18 remote-as 3 neigh 1.1.1.18 send-comm both afi-vrf v1 ena afi-vrf v1 red conn afi-vrf v1 red isis4 1 afi-vrf v1 red ospf4 1 afi-vrf v1 red rip4 1 afi-vrf v1 red babel4 1 afi-vrf v1 red olsr4 1 afi-vrf v1 red pvrp4 1 afi-vrf v1 red lsrp4 1 afi-vrf v1 red eigrp4 1 afi-vrf v1 red bgp4 1 afi-vrf v1 red rift4 1 exit router bgp6 2 vrf v2 no safe-ebgp address vpnuni local-as 1 router 6.6.6.2 neigh 1234:5::2 remote-as 3 neigh 1234:5::2 send-comm both afi-vrf v1 ena afi-vrf v1 red conn afi-vrf v1 red isis6 1 afi-vrf v1 red ospf6 1 afi-vrf v1 red rip6 1 afi-vrf v1 red babel6 1 afi-vrf v1 red olsr6 1 afi-vrf v1 red pvrp6 1 afi-vrf v1 red lsrp6 1 afi-vrf v1 red eigrp6 1 afi-vrf v1 red bgp6 1 afi-vrf v1 red rift6 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router ospf4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router ospf6 1 ena exit int eth3.11 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 router rip4 1 ena exit int eth3.12 vrf for v1 ipv6 addr 1234:3::1 ffff:ffff:: router rip6 1 ena exit int eth4.11 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 exit int eth4.12 vrf for v1 ipv6 addr 1234:4::1 ffff:ffff:: exit int eth5.11 vrf for v2 ipv4 addr 1.1.1.17 255.255.255.252 mpls enable exit int eth5.12 vrf for v2 ipv6 addr 1234:5::1 ffff:ffff:: mpls enable exit int eth6.11 vrf for v1 ipv4 addr 1.1.1.21 255.255.255.252 router pvrp4 1 ena exit int eth6.12 vrf for v1 ipv6 addr 1234:6::1 ffff:ffff:: router pvrp6 1 ena exit int eth7.11 vrf for v1 ipv4 addr 1.1.1.25 255.255.255.252 router eigrp4 1 ena exit int eth7.12 vrf for v1 ipv6 addr 1234:7::1 ffff:ffff:: router eigrp6 1 ena exit int eth8.11 vrf for v1 ipv4 addr 1.1.1.29 255.255.255.252 router babel4 1 ena exit int eth8.12 vrf for v1 ipv6 addr 1234:8::1 ffff:ffff:: router babel6 1 ena exit int eth9.11 vrf for v1 ipv4 addr 1.1.1.33 255.255.255.252 router lsrp4 1 ena exit int eth9.12 vrf for v1 ipv6 addr 1234:9::1 ffff:ffff:: router lsrp6 1 ena exit int eth10.11 vrf for v1 ipv4 addr 1.1.1.37 255.255.255.252 router olsr4 1 ena exit int eth10.12 vrf for v1 ipv6 addr 1234:10::1 ffff:ffff:: router olsr6 1 ena exit int eth11.11 vrf for v1 ipv4 addr 1.1.1.41 255.255.255.252 router rift4 1 ena exit int eth11.12 vrf for v1 ipv6 addr 1234:11::1 ffff:ffff:: router rift6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 red conn red isis4 2 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 red conn red isis6 2 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router ospf4 1 vrf v1 router 4.4.4.3 area 0 ena red conn exit router ospf6 1 vrf v1 router 6.6.6.3 area 0 ena red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router ospf4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router ospf6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 router rip4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:3::2 ffff:ffff:: router rip6 1 ena exit ! addrouter r5 int eth1 eth 0000.0000.5555 $4b$ $4a$ ! vrf def v1 rd 1:1 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router 4.4.4.5 neigh 1.1.1.13 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router 6.6.6.5 neigh 1234:4::1 remote-as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.5 255.255.255.255 ipv6 addr 4321::5 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 exit int eth1.12 vrf for v1 ipv6 addr 1234:4::2 ffff:ffff:: exit ! addrouter r6 int eth1 eth 0000.0000.6666 $5b$ $5a$ ! vrf def v1 rd 1:1 rt-both 1:2 exit vrf def v2 rd 1:2 label-mode per-prefix exit router bgp4 2 vrf v2 no safe-ebgp address vpnuni local-as 3 router 4.4.4.6 neigh 1.1.1.17 remote-as 1 neigh 1.1.1.17 send-comm both afi-vrf v1 ena afi-vrf v1 red conn exit router bgp6 2 vrf v2 no safe-ebgp address vpnuni local-as 3 router 6.6.6.6 neigh 1234:5::1 remote-as 1 neigh 1234:5::1 send-comm both afi-vrf v1 ena afi-vrf v1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.6 255.255.255.255 ipv6 addr 4321::6 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v2 ipv4 addr 1.1.1.18 255.255.255.252 mpls enable exit int eth1.12 vrf for v2 ipv6 addr 1234:5::2 ffff:ffff:: mpls enable exit ! addrouter r7 int eth1 eth 0000.0000.7777 $6b$ $6a$ ! vrf def v1 rd 1:1 exit router pvrp4 1 vrf v1 router 4.4.4.7 red conn exit router pvrp6 1 vrf v1 router 6.6.6.7 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.7 255.255.255.255 ipv6 addr 4321::7 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.22 255.255.255.252 router pvrp4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:6::2 ffff:ffff:: router pvrp6 1 ena exit ! addrouter r8 int eth1 eth 0000.0000.8888 $7b$ $7a$ ! vrf def v1 rd 1:1 exit router eigrp4 1 vrf v1 router 4.4.4.8 as 1 red conn exit router eigrp6 1 vrf v1 router 6.6.6.8 as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.8 255.255.255.255 ipv6 addr 4321::8 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.26 255.255.255.252 router eigrp4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:7::2 ffff:ffff:: router eigrp6 1 ena exit ! addrouter r9 int eth1 eth 0000.0000.9999 $8b$ $8a$ ! vrf def v1 rd 1:1 exit router babel4 1 vrf v1 router 1111-2222-3333-0009 red conn exit router babel6 1 vrf v1 router 1111-2222-3333-0009 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.9 255.255.255.255 ipv6 addr 4321::9 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.30 255.255.255.252 router babel4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:8::2 ffff:ffff:: router babel6 1 ena exit ! addrouter r10 int eth1 eth 0000.0000.aaaa $9b$ $9a$ ! vrf def v1 rd 1:1 exit router lsrp4 1 vrf v1 router 4.4.4.10 red conn exit router lsrp6 1 vrf v1 router 6.6.6.10 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.10 255.255.255.255 ipv6 addr 4321::10 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.34 255.255.255.252 router lsrp4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:9::2 ffff:ffff:: router lsrp6 1 ena exit ! addrouter r11 int eth1 eth 0000.0000.bbbb $10b$ $10a$ ! vrf def v1 rd 1:1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.38 255.255.255.252 router olsr4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:10::2 ffff:ffff:: router olsr6 1 ena exit ! addrouter r12 int eth1 eth 0000.0000.cccc $11b$ $11a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 red conn exit router rift6 1 vrf v1 router 62 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.42 255.255.255.252 router rift4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:11::2 ffff:ffff:: router rift6 1 ena exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 2.2.2.5 vrf v1 r1 tping 100 60 2.2.2.6 vrf v1 r1 tping 100 60 2.2.2.7 vrf v1 r1 tping 100 60 2.2.2.8 vrf v1 r1 tping 100 60 2.2.2.9 vrf v1 r1 tping 100 60 2.2.2.10 vrf v1 r1 tping 100 60 2.2.2.11 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 4321::4 vrf v1 r1 tping 100 60 4321::5 vrf v1 r1 tping 100 60 4321::6 vrf v1 r1 tping 100 60 4321::7 vrf v1 r1 tping 100 60 4321::8 vrf v1 r1 tping 100 60 4321::9 vrf v1 r1 tping 100 60 4321::10 vrf v1 r1 tping 100 60 4321::11 vrf v1 r1 tping 100 60 4321::12 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 2.2.2.5 vrf v1 r2 tping 100 60 2.2.2.6 vrf v1 r2 tping 100 60 2.2.2.7 vrf v1 r2 tping 100 60 2.2.2.8 vrf v1 r2 tping 100 60 2.2.2.9 vrf v1 r2 tping 100 60 2.2.2.10 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 2.2.2.12 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::4 vrf v1 r2 tping 100 60 4321::5 vrf v1 r2 tping 100 60 4321::6 vrf v1 r2 tping 100 60 4321::7 vrf v1 r2 tping 100 60 4321::8 vrf v1 r2 tping 100 60 4321::9 vrf v1 r2 tping 100 60 4321::10 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 4321::12 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 2.2.2.5 vrf v1 r3 tping 100 60 2.2.2.6 vrf v1 r3 tping 100 60 2.2.2.7 vrf v1 r3 tping 100 60 2.2.2.8 vrf v1 r3 tping 100 60 2.2.2.9 vrf v1 r3 tping 100 60 2.2.2.10 vrf v1 r3 tping 100 60 2.2.2.11 vrf v1 r3 tping 100 60 2.2.2.12 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 4321::4 vrf v1 r3 tping 100 60 4321::5 vrf v1 r3 tping 100 60 4321::6 vrf v1 r3 tping 100 60 4321::7 vrf v1 r3 tping 100 60 4321::8 vrf v1 r3 tping 100 60 4321::9 vrf v1 r3 tping 100 60 4321::10 vrf v1 r3 tping 100 60 4321::11 vrf v1 r3 tping 100 60 4321::12 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 2.2.2.5 vrf v1 r4 tping 100 60 2.2.2.6 vrf v1 r4 tping 100 60 2.2.2.7 vrf v1 !r4 tping 100 60 2.2.2.8 vrf v1 !r4 tping 100 60 2.2.2.9 vrf v1 r4 tping 100 60 2.2.2.10 vrf v1 r4 tping 100 60 2.2.2.11 vrf v1 r4 tping 100 60 2.2.2.12 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 4321::3 vrf v1 r4 tping 100 60 4321::5 vrf v1 r4 tping 100 60 4321::6 vrf v1 r4 tping 100 60 4321::7 vrf v1 !r4 tping 100 60 4321::8 vrf v1 !r4 tping 100 60 4321::9 vrf v1 r4 tping 100 60 4321::10 vrf v1 r4 tping 100 60 4321::11 vrf v1 r4 tping 100 60 4321::12 vrf v1 r5 tping 100 60 2.2.2.1 vrf v1 r5 tping 100 60 2.2.2.2 vrf v1 r5 tping 100 60 2.2.2.3 vrf v1 r5 tping 100 60 2.2.2.4 vrf v1 r5 tping 100 60 2.2.2.6 vrf v1 r5 tping 100 60 2.2.2.7 vrf v1 r5 tping 100 60 2.2.2.8 vrf v1 r5 tping 100 60 2.2.2.9 vrf v1 r5 tping 100 60 2.2.2.10 vrf v1 r5 tping 100 60 2.2.2.11 vrf v1 r5 tping 100 60 2.2.2.12 vrf v1 r5 tping 100 60 4321::1 vrf v1 r5 tping 100 60 4321::2 vrf v1 r5 tping 100 60 4321::3 vrf v1 r5 tping 100 60 4321::4 vrf v1 r5 tping 100 60 4321::6 vrf v1 r5 tping 100 60 4321::7 vrf v1 r5 tping 100 60 4321::8 vrf v1 r5 tping 100 60 4321::9 vrf v1 r5 tping 100 60 4321::10 vrf v1 r5 tping 100 60 4321::11 vrf v1 r5 tping 100 60 4321::12 vrf v1 r6 tping 100 60 2.2.2.1 vrf v1 r6 tping 100 60 2.2.2.2 vrf v1 r6 tping 100 60 2.2.2.3 vrf v1 r6 tping 100 60 2.2.2.4 vrf v1 r6 tping 100 60 2.2.2.5 vrf v1 r6 tping 100 60 2.2.2.7 vrf v1 r6 tping 100 60 2.2.2.8 vrf v1 r6 tping 100 60 2.2.2.9 vrf v1 r6 tping 100 60 2.2.2.10 vrf v1 r6 tping 100 60 2.2.2.11 vrf v1 r6 tping 100 60 2.2.2.12 vrf v1 r6 tping 100 60 4321::1 vrf v1 r6 tping 100 60 4321::2 vrf v1 r6 tping 100 60 4321::3 vrf v1 r6 tping 100 60 4321::4 vrf v1 r6 tping 100 60 4321::5 vrf v1 r6 tping 100 60 4321::7 vrf v1 r6 tping 100 60 4321::8 vrf v1 r6 tping 100 60 4321::9 vrf v1 r6 tping 100 60 4321::10 vrf v1 r6 tping 100 60 4321::11 vrf v1 r6 tping 100 60 4321::12 vrf v1 r7 tping 100 60 2.2.2.1 vrf v1 r7 tping 100 60 2.2.2.2 vrf v1 r7 tping 100 60 2.2.2.3 vrf v1 r7 tping 100 60 2.2.2.4 vrf v1 r7 tping 100 60 2.2.2.5 vrf v1 r7 tping 100 60 2.2.2.6 vrf v1 r7 tping 100 60 2.2.2.8 vrf v1 r7 tping 100 60 2.2.2.9 vrf v1 r7 tping 100 60 2.2.2.10 vrf v1 r7 tping 100 60 2.2.2.11 vrf v1 r7 tping 100 60 2.2.2.12 vrf v1 r7 tping 100 60 4321::1 vrf v1 r7 tping 100 60 4321::2 vrf v1 r7 tping 100 60 4321::3 vrf v1 r7 tping 100 60 4321::4 vrf v1 r7 tping 100 60 4321::5 vrf v1 r7 tping 100 60 4321::6 vrf v1 r7 tping 100 60 4321::8 vrf v1 r7 tping 100 60 4321::9 vrf v1 r7 tping 100 60 4321::10 vrf v1 r7 tping 100 60 4321::11 vrf v1 r7 tping 100 60 4321::12 vrf v1 r8 tping 100 60 2.2.2.1 vrf v1 r8 tping 100 60 2.2.2.2 vrf v1 r8 tping 100 60 2.2.2.3 vrf v1 r8 tping 100 60 2.2.2.4 vrf v1 r8 tping 100 60 2.2.2.5 vrf v1 r8 tping 100 60 2.2.2.6 vrf v1 r8 tping 100 60 2.2.2.7 vrf v1 r8 tping 100 60 2.2.2.9 vrf v1 r8 tping 100 60 2.2.2.10 vrf v1 r8 tping 100 60 2.2.2.11 vrf v1 r8 tping 100 60 2.2.2.12 vrf v1 r8 tping 100 60 4321::1 vrf v1 r8 tping 100 60 4321::2 vrf v1 r8 tping 100 60 4321::3 vrf v1 r8 tping 100 60 4321::4 vrf v1 r8 tping 100 60 4321::5 vrf v1 r8 tping 100 60 4321::6 vrf v1 r8 tping 100 60 4321::7 vrf v1 r8 tping 100 60 4321::9 vrf v1 r8 tping 100 60 4321::10 vrf v1 r8 tping 100 60 4321::11 vrf v1 r8 tping 100 60 4321::12 vrf v1 r9 tping 100 60 2.2.2.1 vrf v1 r9 tping 100 60 2.2.2.2 vrf v1 r9 tping 100 60 2.2.2.3 vrf v1 r9 tping 100 60 2.2.2.4 vrf v1 r9 tping 100 60 2.2.2.5 vrf v1 r9 tping 100 60 2.2.2.6 vrf v1 r9 tping 100 60 2.2.2.7 vrf v1 !r9 tping 100 60 2.2.2.8 vrf v1 r9 tping 100 60 2.2.2.10 vrf v1 r9 tping 100 60 2.2.2.11 vrf v1 r9 tping 100 60 2.2.2.12 vrf v1 r9 tping 100 60 4321::1 vrf v1 r9 tping 100 60 4321::2 vrf v1 r9 tping 100 60 4321::3 vrf v1 r9 tping 100 60 4321::4 vrf v1 r9 tping 100 60 4321::5 vrf v1 r9 tping 100 60 4321::6 vrf v1 r9 tping 100 60 4321::7 vrf v1 !r9 tping 100 60 4321::8 vrf v1 r9 tping 100 60 4321::10 vrf v1 r9 tping 100 60 4321::11 vrf v1 r9 tping 100 60 2.2.2.12 vrf v1 r10 tping 100 60 2.2.2.1 vrf v1 r10 tping 100 60 2.2.2.2 vrf v1 r10 tping 100 60 2.2.2.3 vrf v1 r10 tping 100 60 2.2.2.4 vrf v1 r10 tping 100 60 2.2.2.5 vrf v1 r10 tping 100 60 2.2.2.6 vrf v1 r10 tping 100 60 2.2.2.7 vrf v1 r10 tping 100 60 2.2.2.8 vrf v1 r10 tping 100 60 2.2.2.9 vrf v1 r10 tping 100 60 2.2.2.11 vrf v1 r10 tping 100 60 2.2.2.12 vrf v1 r10 tping 100 60 4321::1 vrf v1 r10 tping 100 60 4321::2 vrf v1 r10 tping 100 60 4321::3 vrf v1 r10 tping 100 60 4321::4 vrf v1 r10 tping 100 60 4321::5 vrf v1 r10 tping 100 60 4321::6 vrf v1 r10 tping 100 60 4321::7 vrf v1 r10 tping 100 60 4321::8 vrf v1 r10 tping 100 60 4321::9 vrf v1 r10 tping 100 60 4321::11 vrf v1 r10 tping 100 60 4321::12 vrf v1 r11 tping 100 60 2.2.2.1 vrf v1 r11 tping 100 60 2.2.2.2 vrf v1 r11 tping 100 60 2.2.2.3 vrf v1 r11 tping 100 60 2.2.2.4 vrf v1 r11 tping 100 60 2.2.2.5 vrf v1 r11 tping 100 60 2.2.2.6 vrf v1 r11 tping 100 60 2.2.2.7 vrf v1 !r11 tping 100 60 2.2.2.8 vrf v1 !r11 tping 100 60 2.2.2.9 vrf v1 r11 tping 100 60 2.2.2.10 vrf v1 r11 tping 100 60 2.2.2.12 vrf v1 r11 tping 100 60 4321::1 vrf v1 r11 tping 100 60 4321::2 vrf v1 r11 tping 100 60 4321::3 vrf v1 r11 tping 100 60 4321::4 vrf v1 r11 tping 100 60 4321::5 vrf v1 r11 tping 100 60 4321::6 vrf v1 r11 tping 100 60 4321::7 vrf v1 !r11 tping 100 60 4321::8 vrf v1 !r11 tping 100 60 4321::9 vrf v1 r11 tping 100 60 4321::10 vrf v1 r11 tping 100 60 4321::12 vrf v1 r12 tping 100 60 2.2.2.1 vrf v1 r12 tping 100 60 2.2.2.2 vrf v1 r12 tping 100 60 2.2.2.3 vrf v1 r12 tping 100 60 2.2.2.4 vrf v1 r12 tping 100 60 2.2.2.5 vrf v1 r12 tping 100 60 2.2.2.6 vrf v1 r12 tping 100 60 2.2.2.7 vrf v1 r12 tping 100 60 2.2.2.8 vrf v1 r12 tping 100 60 2.2.2.9 vrf v1 r12 tping 100 60 2.2.2.11 vrf v1 r12 tping 100 60 2.2.2.12 vrf v1 r12 tping 100 60 4321::1 vrf v1 r12 tping 100 60 4321::2 vrf v1 r12 tping 100 60 4321::3 vrf v1 r12 tping 100 60 4321::4 vrf v1 r12 tping 100 60 4321::5 vrf v1 r12 tping 100 60 4321::6 vrf v1 r12 tping 100 60 4321::7 vrf v1 r12 tping 100 60 4321::8 vrf v1 r12 tping 100 60 4321::9 vrf v1 r12 tping 100 60 4321::11 vrf v1 r12 tping 100 60 4321::12 vrf v1 freeRtr-25.11.9/cfg/rout-redist19.tst000066400000000000000000000065401510423065500172360ustar00rootroot00000000000000description redistribution prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 exit router isis6 1 vrf v1 net 11.6666.0000.1111.00 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 router isis4 1 ena exit int lo2 vrf for v1 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 red conn red isis4 2 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 red conn red isis6 2 exit router isis4 2 vrf v1 net 22.4444.0000.2222.00 red conn red isis4 1 exit router isis6 2 vrf v1 net 22.6666.0000.2222.00 red conn red isis6 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int lo2 vrf for v1 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 2 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 2 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 33.4444.0000.3333.00 exit router isis6 1 vrf v1 net 33.6666.0000.3333.00 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 router isis4 1 ena exit int lo2 vrf for v1 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r1 send conf t r1 send int lo1 r1 send no router isis4 1 ena r1 send exit r1 send int lo2 r1 send no router isis6 1 ena r1 send end r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r2 tping 0 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 0 20 2.2.2.1 vrf v1 r3 tping 0 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 send conf t r1 send int lo1 r1 send router isis4 1 ena r1 send exit r1 send int lo2 r1 send router isis6 1 ena r1 send end r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-redist20.tst000066400000000000000000000067001510423065500172240ustar00rootroot00000000000000description redistribution change in metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 1000 exit router isis4 1 vrf v1 net 22.4444.0000.1111.00 red conn route-map rm1 exit router isis6 1 vrf v1 net 22.6666.0000.1111.00 red conn route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 red conn red isis4 2 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 red conn red isis6 2 exit router isis4 2 vrf v1 net 22.4444.0000.2222.00 red conn red isis4 1 exit router isis6 2 vrf v1 net 22.6666.0000.2222.00 red conn red isis6 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 2 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 2 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit route-map rm1 sequence 10 act deny sequence 10 match metric 2000-4000 sequence 20 act perm exit router isis4 1 vrf v1 net 22.4444.0000.3333.00 red conn both route-map-from rm1 exit router isis6 1 vrf v1 net 22.6666.0000.3333.00 red conn both route-map-from rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 3000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 0 20 2.2.2.1 vrf v1 r3 tping 0 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 5000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 100 20 4321::3 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 4321::3 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-redist21.tst000066400000000000000000000136171510423065500172320ustar00rootroot00000000000000description redistribution prefix movement addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 10 exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 advertise 2.2.2.1/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router isis6 1 vrf v1 net 11.6666.0000.1111.00 advertise 4321::1/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 red conn red isis4 2 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 red conn red isis6 2 exit router isis4 2 vrf v1 net 22.4444.0000.2222.00 red conn red isis4 1 exit router isis6 2 vrf v1 net 22.6666.0000.2222.00 red conn red isis6 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 router isis4 1 ena exit int lo2 vrf for v1 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router isis6 1 ena exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 2 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 2 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 20 exit router isis4 1 vrf v1 net 33.4444.0000.3333.00 advertise 2.2.2.3/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router isis6 1 vrf v1 net 33.6666.0000.3333.00 advertise 4321::3/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 2.2.2.222 vrf v1 r1 tping 100 40 4321::222 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 tping 100 40 4321::222 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 2.2.2.3 vrf v1 r3 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.222 vrf v1 r3 tping 100 40 4321::222 vrf v1 r2 tping 0 40 2.2.2.101 vrf v1 r2 tping 0 40 4321::101 vrf v1 r2 tping 0 40 2.2.2.103 vrf v1 r2 tping 0 40 4321::103 vrf v1 r2 send telnet 2.2.2.222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r2 send telnet 4321::222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 30 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 2.2.2.222 vrf v1 r1 tping 100 40 4321::222 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 tping 100 40 4321::222 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 2.2.2.3 vrf v1 r3 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.222 vrf v1 r3 tping 100 40 4321::222 vrf v1 r2 tping 0 40 2.2.2.101 vrf v1 r2 tping 0 40 4321::101 vrf v1 r2 tping 0 40 2.2.2.103 vrf v1 r2 tping 0 40 4321::103 vrf v1 r2 send telnet 2.2.2.222 666 vrf v1 r2 tping 100 40 2.2.2.103 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.103 vrf v1 r2 send telnet 4321::222 666 vrf v1 r2 tping 100 40 2.2.2.103 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.103 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 10 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 2.2.2.222 vrf v1 r1 tping 100 40 4321::222 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 tping 100 40 4321::222 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 2.2.2.3 vrf v1 r3 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.222 vrf v1 r3 tping 100 40 4321::222 vrf v1 r2 tping 0 40 2.2.2.101 vrf v1 r2 tping 0 40 4321::101 vrf v1 r2 tping 0 40 2.2.2.103 vrf v1 r2 tping 0 40 4321::103 vrf v1 r2 send telnet 2.2.2.222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r2 send telnet 4321::222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 freeRtr-25.11.9/cfg/rout-redist22.tst000066400000000000000000000056061510423065500172320ustar00rootroot00000000000000description redistribution with mobile addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 red mobile4 1 just lo1 just lo2 just lo3 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 red mobile6 1 just lo1 just lo2 just lo3 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: exit router mobile4 1 vrf v1 red conn exit router mobile6 1 vrf v1 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::12 vrf v1 r1 tping 100 40 4321::22 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 4321::21 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.11 vrf v1 r3 tping 100 40 2.2.2.21 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.12 vrf v1 r3 tping 100 40 2.2.2.22 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::11 vrf v1 r3 tping 100 40 4321::21 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::12 vrf v1 r3 tping 100 40 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist23.tst000066400000000000000000000056241510423065500172330ustar00rootroot00000000000000description redistribution with deaggr addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 red deaggr4 1 just lo1 just lo2 just lo3 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 red deaggr6 1 just lo1 just lo2 just lo3 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: exit router deaggr4 1 vrf v1 just eth2.11 exit router deaggr6 1 vrf v1 just eth2.12 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::12 vrf v1 r1 tping 100 40 4321::22 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 4321::21 vrf v1 !r3 tping 100 40 2.2.2.1 vrf v1 !r3 tping 100 40 2.2.2.11 vrf v1 !r3 tping 100 40 2.2.2.21 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.12 vrf v1 r3 tping 100 40 2.2.2.22 vrf v1 !r3 tping 100 40 4321::1 vrf v1 !r3 tping 100 40 4321::11 vrf v1 !r3 tping 100 40 4321::21 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::12 vrf v1 r3 tping 100 40 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist24.tst000066400000000000000000000034741510423065500172350ustar00rootroot00000000000000description conditional redistribution with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit track t force up exit route-map rm1 sequence 10 act perm match track t exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 red conn route-map rm1 exit router isis6 1 vrf v1 net 11.6666.0000.1111.00 red conn route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 exit int lo2 vrf for v1 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int lo2 vrf for v1 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit ! r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 send conf t r1 send track t r1 send force down r1 send exit r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r2 tping 0 20 4321::1 vrf v1 r1 send conf t r1 send track t r1 send force up r1 send exit r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-redist25.tst000066400000000000000000000035101510423065500172250ustar00rootroot00000000000000description conditional redistribution with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit track t force up exit route-policy rm1 if track t pass else drop enif exit router isis4 1 vrf v1 net 11.4444.0000.1111.00 red conn route-policy rm1 exit router isis6 1 vrf v1 net 11.6666.0000.1111.00 red conn route-policy rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 exit int lo2 vrf for v1 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 red conn exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int lo2 vrf for v1 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit ! r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 send conf t r1 send track t r1 send force down r1 send exit r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r2 tping 0 20 4321::1 vrf v1 r1 send conf t r1 send track t r1 send force up r1 send exit r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 freeRtr-25.11.9/cfg/rout-redist26.tst000066400000000000000000000040121510423065500172240ustar00rootroot00000000000000description redistribution with interfaces addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 justadvert lo1 justadvert lo3 exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 justadvert lo1 justadvert lo3 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router isis4 1 vrf v1 net 48.4444.1111.2222.00 is-type level2 justadvert lo1 justadvert lo3 exit router isis6 1 vrf v1 net 48.6666.1111.2222.00 is-type level2 justadvert lo1 justadvert lo3 exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 0 20 2.2.2.12 vrf v1 r1 tping 100 20 2.2.2.22 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 0 20 4321::12 vrf v1 r1 tping 100 20 4321::22 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 0 20 2.2.2.11 vrf v1 r2 tping 100 20 2.2.2.21 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 0 20 4321::11 vrf v1 r2 tping 100 20 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-redist27.tst000066400000000000000000000035541510423065500172370ustar00rootroot00000000000000description redistribution with metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.1111.00 red conn metric 1000 exit router isis6 1 vrf v1 net 22.6666.0000.1111.00 red conn metric 1000 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit route-map rm1 sequence 10 act deny sequence 10 match metric 2000-4000 sequence 20 act perm exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 red conn both route-map-from rm1 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 red conn both route-map-from rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r1 send conf t r1 send router isis4 1 r1 send red conn metric 3000 r1 send exit r1 send router isis6 1 r1 send red conn metric 3000 r1 send exit r1 send end r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r2 tping 0 20 4321::1 vrf v1 r1 send conf t r1 send router isis4 1 r1 send red conn metric 5000 r1 send exit r1 send router isis6 1 r1 send red conn metric 5000 r1 send exit r1 send end r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-redist28.tst000066400000000000000000000104131510423065500172300ustar00rootroot00000000000000description redistribution filtering with hierarchical prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit prefix-list p4a sequence 10 permit 2.2.2.8/29 le 32 exit prefix-list p6a sequence 10 permit 4321::10/124 le 128 exit prefix-list p4b sequence 10 evaluate deny p4a sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6b sequence 10 evaluate deny p6a sequence 20 permit ::/0 le 128 exit router isis4 1 vrf v1 net 48.4444.1111.2222.00 is-type level2 red conn prefix-list p4b red isis4 2 prefix-list p4b exit router isis6 1 vrf v1 net 48.6666.1111.2222.00 is-type level2 red conn prefix-list p6b red isis6 2 prefix-list p6b exit router isis4 2 vrf v1 net 48.4444.2222.2222.00 is-type level2 red conn prefix-list p4b red isis4 1 prefix-list p4b exit router isis6 2 vrf v1 net 48.6666.2222.2222.00 is-type level2 red conn prefix-list p6b red isis6 1 prefix-list p6b exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 2 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 2 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 2.2.2.21 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 2.2.2.23 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 4321::21 vrf v1 r2 tping 100 20 4321::3 vrf v1 r2 tping 100 20 4321::13 vrf v1 r2 tping 100 20 4321::23 vrf v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 0 20 2.2.2.12 vrf v1 r1 tping 100 20 2.2.2.22 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 100 20 2.2.2.23 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 0 20 4321::12 vrf v1 r1 tping 100 20 4321::22 vrf v1 r1 tping 100 20 4321::3 vrf v1 r1 tping 0 20 4321::13 vrf v1 r1 tping 100 20 4321::23 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 100 20 2.2.2.21 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 0 20 2.2.2.12 vrf v1 r3 tping 100 20 2.2.2.22 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 100 20 4321::21 vrf v1 r3 tping 100 20 4321::2 vrf v1 r3 tping 0 20 4321::12 vrf v1 r3 tping 100 20 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist29.tst000066400000000000000000000100541510423065500172320ustar00rootroot00000000000000description redistribution with ouni bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 red conn red bgp6 1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 red conn red bgp4 1 exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 1 router 4.4.4.2 neigh 1.1.1.6 remote-as 2 afi-other ena no afi-other vpn afi-other red conn afi-other red isis6 1 exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 1 router 6.6.6.2 neigh 1234:2::2 remote-as 2 afi-other ena no afi-other vpn afi-other red conn afi-other red isis4 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router bgp4 1 vrf v1 no safe-ebgp address ouni local-as 2 router 4.4.4.3 neigh 1.1.1.5 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ouni local-as 2 router 6.6.6.3 neigh 1234:2::1 remote-as 1 afi-other ena no afi-other vpn afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 2.2.2.13 vrf v1 r1 tping 100 60 2.2.2.23 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 4321::22 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 4321::13 vrf v1 r1 tping 100 60 4321::23 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 2.2.2.13 vrf v1 r2 tping 100 60 2.2.2.23 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 4321::21 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::13 vrf v1 r2 tping 100 60 4321::23 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.11 vrf v1 r3 tping 100 60 2.2.2.21 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.12 vrf v1 r3 tping 100 60 2.2.2.22 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::11 vrf v1 r3 tping 100 60 4321::21 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 4321::12 vrf v1 r3 tping 100 60 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist30.tst000066400000000000000000000077401510423065500172320ustar00rootroot00000000000000description redistribution with bgp labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 red conn red bgp4 1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 red conn red bgp6 1 exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 1 router 4.4.4.2 neigh 1.1.1.6 remote-as 2 red conn red isis4 1 exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 1 router 6.6.6.2 neigh 1234:2::2 remote-as 2 red conn red isis6 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 mpls enable exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router bgp4 1 vrf v1 no safe-ebgp address lab local-as 2 router 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address lab local-as 2 router 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 mpls enable exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 2.2.2.13 vrf v1 r1 tping 100 60 2.2.2.23 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 4321::22 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 4321::13 vrf v1 r1 tping 100 60 4321::23 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 2.2.2.13 vrf v1 r2 tping 100 60 2.2.2.23 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 4321::21 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::13 vrf v1 r2 tping 100 60 4321::23 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.11 vrf v1 r3 tping 100 60 2.2.2.21 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.12 vrf v1 r3 tping 100 60 2.2.2.22 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::11 vrf v1 r3 tping 100 60 4321::21 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 4321::12 vrf v1 r3 tping 100 60 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist31.tst000066400000000000000000000077761510423065500172440ustar00rootroot00000000000000description redistribution with olab bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 red conn red bgp6 1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 red conn red bgp4 1 exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 1 router 4.4.4.2 neigh 1.1.1.6 remote-as 2 afi-other ena afi-other red conn afi-other red isis6 1 exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 1 router 6.6.6.2 neigh 1234:2::2 remote-as 2 afi-other ena afi-other red conn afi-other red isis4 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router bgp4 1 vrf v1 no safe-ebgp address olab local-as 2 router 4.4.4.3 neigh 1.1.1.5 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address olab local-as 2 router 6.6.6.3 neigh 1234:2::1 remote-as 1 afi-other ena afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 2.2.2.13 vrf v1 r1 tping 100 60 2.2.2.23 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 4321::22 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 4321::13 vrf v1 r1 tping 100 60 4321::23 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 2.2.2.13 vrf v1 r2 tping 100 60 2.2.2.23 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 4321::21 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::13 vrf v1 r2 tping 100 60 4321::23 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.11 vrf v1 r3 tping 100 60 2.2.2.21 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.12 vrf v1 r3 tping 100 60 2.2.2.22 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::11 vrf v1 r3 tping 100 60 4321::21 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 4321::12 vrf v1 r3 tping 100 60 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist32.tst000066400000000000000000000105731510423065500172320ustar00rootroot00000000000000description vrf route limit addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.1111.2222.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.1111.2222.00 is-type level2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.32 255.255.255.255 ipv6 addr 4321::32 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v1 ipv4 addr 2.2.2.42 255.255.255.255 ipv6 addr 4321::42 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo5 vrf for v1 ipv4 addr 2.2.2.52 255.255.255.255 ipv6 addr 4321::52 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo6 vrf for v1 ipv4 addr 2.2.2.62 255.255.255.255 ipv6 addr 4321::62 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo7 vrf for v1 ipv4 addr 2.2.2.72 255.255.255.255 ipv6 addr 4321::72 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo8 vrf for v1 ipv4 addr 2.2.2.82 255.255.255.255 ipv6 addr 4321::82 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo9 vrf for v1 ipv4 addr 9.9.9.9 255.255.255.255 ipv6 addr 9999::9 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r1 tping 100 60 2.2.2.32 vrf v1 r1 tping 100 60 4321::32 vrf v1 r1 tping 100 60 2.2.2.42 vrf v1 r1 tping 100 60 4321::42 vrf v1 r1 tping 100 60 2.2.2.52 vrf v1 r1 tping 100 60 4321::52 vrf v1 r1 tping 100 60 2.2.2.62 vrf v1 r1 tping 100 60 4321::62 vrf v1 r1 tping 100 60 2.2.2.72 vrf v1 r1 tping 100 60 4321::72 vrf v1 r1 tping 100 60 2.2.2.82 vrf v1 r1 tping 100 60 4321::82 vrf v1 r1 tping 100 60 9.9.9.9 vrf v1 r1 tping 100 60 9999::9 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 r1 send conf t r1 send vrf def v1 r1 send route4lim 5 5 5 5 r1 send route6lim 5 5 5 5 r1 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 9.9.9.9 vrf v1 r1 tping 0 60 9999::9 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r1 send conf t r1 send vrf def v1 r1 send no route4lim 5 5 5 5 r1 send no route6lim 5 5 5 5 r1 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r1 tping 100 60 2.2.2.32 vrf v1 r1 tping 100 60 4321::32 vrf v1 r1 tping 100 60 2.2.2.42 vrf v1 r1 tping 100 60 4321::42 vrf v1 r1 tping 100 60 2.2.2.52 vrf v1 r1 tping 100 60 4321::52 vrf v1 r1 tping 100 60 2.2.2.62 vrf v1 r1 tping 100 60 4321::62 vrf v1 r1 tping 100 60 2.2.2.72 vrf v1 r1 tping 100 60 4321::72 vrf v1 r1 tping 100 60 2.2.2.82 vrf v1 r1 tping 100 60 4321::82 vrf v1 r1 tping 100 60 9.9.9.9 vrf v1 r1 tping 100 60 9999::9 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-redist33.tst000066400000000000000000000077441510423065500172410ustar00rootroot00000000000000description redistribution by prefix addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.1111.2222.00 is-type level2 red conn readvertise 2.2.2.3/32 readvertise 2.2.2.23/32 exit router isis6 1 vrf v1 net 48.6666.1111.2222.00 is-type level2 red conn readvertise 4321::3/128 readvertise 4321::23/128 exit router isis4 2 vrf v1 net 48.4444.2222.2222.00 is-type level2 red conn readvertise 2.2.2.1/32 readvertise 2.2.2.21/32 exit router isis6 2 vrf v1 net 48.6666.2222.2222.00 is-type level2 red conn readvertise 4321::1/128 readvertise 4321::21/128 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 2 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 2 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 2.2.2.12 vrf v1 r1 tping 100 20 2.2.2.22 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 100 20 2.2.2.23 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 100 20 4321::12 vrf v1 r1 tping 100 20 4321::22 vrf v1 r1 tping 100 20 4321::3 vrf v1 r1 tping 0 20 4321::13 vrf v1 r1 tping 100 20 4321::23 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 2.2.2.21 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 2.2.2.23 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 4321::21 vrf v1 r2 tping 100 20 4321::3 vrf v1 r2 tping 100 20 4321::13 vrf v1 r2 tping 100 20 4321::23 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 100 20 2.2.2.21 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 100 20 2.2.2.12 vrf v1 r3 tping 100 20 2.2.2.22 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 100 20 4321::21 vrf v1 r3 tping 100 20 4321::2 vrf v1 r3 tping 100 20 4321::12 vrf v1 r3 tping 100 20 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist34.tst000066400000000000000000000035241510423065500172320ustar00rootroot00000000000000description redistribution with tag addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 22.4444.0000.1111.00 red conn tag 1000 exit router isis6 1 vrf v1 net 22.6666.0000.1111.00 red conn tag 1000 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit route-map rm1 sequence 10 act deny sequence 10 match tag 2000-4000 sequence 20 act perm exit router isis4 1 vrf v1 net 22.4444.0000.2222.00 red conn both route-map-from rm1 exit router isis6 1 vrf v1 net 22.6666.0000.2222.00 red conn both route-map-from rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 r1 send conf t r1 send router isis4 1 r1 send red conn tag 3000 r1 send exit r1 send router isis6 1 r1 send red conn tag 3000 r1 send exit r1 send end r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 0 20 2.2.2.1 vrf v1 r2 tping 0 20 4321::1 vrf v1 r1 send conf t r1 send router isis4 1 r1 send red conn tag 5000 r1 send exit r1 send router isis6 1 r1 send red conn tag 5000 r1 send exit r1 send end r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 4321::1 vrf v1 freeRtr-25.11.9/cfg/rout-redist35.tst000066400000000000000000000102441510423065500172300ustar00rootroot00000000000000description redistribution filtering with prefixlist in routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit prefix-list p4 deny 2.2.2.8/29 le 32 permit 0.0.0.0/0 le 32 exit prefix-list p6 deny 4321::10/124 le 128 permit ::/0 le 128 exit route-map h4 match prefix-list p4 exit route-map h6 match prefix-list p6 exit router isis4 1 vrf v1 net 48.4444.1111.2222.00 is-type level2 red conn route-map h4 red isis4 2 route-map h4 exit router isis6 1 vrf v1 net 48.6666.1111.2222.00 is-type level2 red conn route-map h6 red isis6 2 route-map h6 exit router isis4 2 vrf v1 net 48.4444.2222.2222.00 is-type level2 red conn route-map h4 red isis4 1 route-map h4 exit router isis6 2 vrf v1 net 48.6666.2222.2222.00 is-type level2 red conn route-map h6 red isis6 1 route-map h6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 2 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 2 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 2.2.2.21 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 2.2.2.23 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 4321::21 vrf v1 r2 tping 100 20 4321::3 vrf v1 r2 tping 100 20 4321::13 vrf v1 r2 tping 100 20 4321::23 vrf v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 0 20 2.2.2.12 vrf v1 r1 tping 100 20 2.2.2.22 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 100 20 2.2.2.23 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 0 20 4321::12 vrf v1 r1 tping 100 20 4321::22 vrf v1 r1 tping 100 20 4321::3 vrf v1 r1 tping 0 20 4321::13 vrf v1 r1 tping 100 20 4321::23 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 100 20 2.2.2.21 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 0 20 2.2.2.12 vrf v1 r3 tping 100 20 2.2.2.22 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 100 20 4321::21 vrf v1 r3 tping 100 20 4321::2 vrf v1 r3 tping 0 20 4321::12 vrf v1 r3 tping 100 20 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist36.tst000066400000000000000000000103311510423065500172260ustar00rootroot00000000000000description redistribution filtering with prefixlist in routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit prefix-list p4 deny 2.2.2.8/29 le 32 permit 0.0.0.0/0 le 32 exit prefix-list p6 deny 4321::10/124 le 128 permit ::/0 le 128 exit route-policy h4 if prefix-list p4 pass enif exit route-policy h6 if prefix-list p6 pass enif exit router isis4 1 vrf v1 net 48.4444.1111.2222.00 is-type level2 red conn route-policy h4 red isis4 2 route-policy h4 exit router isis6 1 vrf v1 net 48.6666.1111.2222.00 is-type level2 red conn route-policy h6 red isis6 2 route-policy h6 exit router isis4 2 vrf v1 net 48.4444.2222.2222.00 is-type level2 red conn route-policy h4 red isis4 1 route-policy h4 exit router isis6 2 vrf v1 net 48.6666.2222.2222.00 is-type level2 red conn route-policy h6 red isis6 1 route-policy h6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 2 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 2 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 2.2.2.21 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 2.2.2.23 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 4321::21 vrf v1 r2 tping 100 20 4321::3 vrf v1 r2 tping 100 20 4321::13 vrf v1 r2 tping 100 20 4321::23 vrf v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 0 20 2.2.2.12 vrf v1 r1 tping 100 20 2.2.2.22 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 100 20 2.2.2.23 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 0 20 4321::12 vrf v1 r1 tping 100 20 4321::22 vrf v1 r1 tping 100 20 4321::3 vrf v1 r1 tping 0 20 4321::13 vrf v1 r1 tping 100 20 4321::23 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 100 20 2.2.2.21 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 0 20 2.2.2.12 vrf v1 r3 tping 100 20 2.2.2.22 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 100 20 4321::21 vrf v1 r3 tping 100 20 4321::2 vrf v1 r3 tping 0 20 4321::12 vrf v1 r3 tping 100 20 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist37.tst000066400000000000000000000104021510423065500172260ustar00rootroot00000000000000description redistribution filtering with accesslist in routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list p4 deny all 2.2.2.8 255.255.255.248 all 0.0.0.0 0.0.0.0 all permit all any all any all exit access-list p6 deny all 4321::10 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 all :: :: all permit all any all any all exit route-map h4 match access-list p4 exit route-map h6 match access-list p6 exit router isis4 1 vrf v1 net 48.4444.1111.2222.00 is-type level2 red conn route-map h4 red isis4 2 route-map h4 exit router isis6 1 vrf v1 net 48.6666.1111.2222.00 is-type level2 red conn route-map h6 red isis6 2 route-map h6 exit router isis4 2 vrf v1 net 48.4444.2222.2222.00 is-type level2 red conn route-map h4 red isis4 1 route-map h4 exit router isis6 2 vrf v1 net 48.6666.2222.2222.00 is-type level2 red conn route-map h6 red isis6 1 route-map h6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 2 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 2 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 2.2.2.21 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 2.2.2.23 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 4321::21 vrf v1 r2 tping 100 20 4321::3 vrf v1 r2 tping 100 20 4321::13 vrf v1 r2 tping 100 20 4321::23 vrf v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 0 20 2.2.2.12 vrf v1 r1 tping 100 20 2.2.2.22 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 100 20 2.2.2.23 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 0 20 4321::12 vrf v1 r1 tping 100 20 4321::22 vrf v1 r1 tping 100 20 4321::3 vrf v1 r1 tping 0 20 4321::13 vrf v1 r1 tping 100 20 4321::23 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 100 20 2.2.2.21 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 0 20 2.2.2.12 vrf v1 r3 tping 100 20 2.2.2.22 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 100 20 4321::21 vrf v1 r3 tping 100 20 4321::2 vrf v1 r3 tping 0 20 4321::12 vrf v1 r3 tping 100 20 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist38.tst000066400000000000000000000104671510423065500172420ustar00rootroot00000000000000description redistribution filtering with accesslist in routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list p4 deny all 2.2.2.8 255.255.255.248 all 0.0.0.0 0.0.0.0 all permit all any all any all exit access-list p6 deny all 4321::10 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0 all :: :: all permit all any all any all exit route-policy h4 if access-list p4 pass enif exit route-policy h6 if access-list p6 pass enif exit router isis4 1 vrf v1 net 48.4444.1111.2222.00 is-type level2 red conn route-policy h4 red isis4 2 route-policy h4 exit router isis6 1 vrf v1 net 48.6666.1111.2222.00 is-type level2 red conn route-policy h6 red isis6 2 route-policy h6 exit router isis4 2 vrf v1 net 48.4444.2222.2222.00 is-type level2 red conn route-policy h4 red isis4 1 route-policy h4 exit router isis6 2 vrf v1 net 48.6666.2222.2222.00 is-type level2 red conn route-policy h6 red isis6 1 route-policy h6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 2 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 2 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 2.2.2.21 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 2.2.2.23 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 4321::21 vrf v1 r2 tping 100 20 4321::3 vrf v1 r2 tping 100 20 4321::13 vrf v1 r2 tping 100 20 4321::23 vrf v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 0 20 2.2.2.12 vrf v1 r1 tping 100 20 2.2.2.22 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 100 20 2.2.2.23 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 0 20 4321::12 vrf v1 r1 tping 100 20 4321::22 vrf v1 r1 tping 100 20 4321::3 vrf v1 r1 tping 0 20 4321::13 vrf v1 r1 tping 100 20 4321::23 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 100 20 2.2.2.21 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 0 20 2.2.2.12 vrf v1 r3 tping 100 20 2.2.2.22 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 100 20 4321::21 vrf v1 r3 tping 100 20 4321::2 vrf v1 r3 tping 0 20 4321::12 vrf v1 r3 tping 100 20 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist39.tst000066400000000000000000000102751510423065500172400ustar00rootroot00000000000000description redistribution filtering with routepolicy in routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-policy p4 if network 2.2.2.8/29 le 32 drop else pass enif exit route-policy p6 if network 4321::10/124 le 128 drop else pass enif exit route-map h4 match route-policy p4 exit route-map h6 match route-policy p6 exit router isis4 1 vrf v1 net 48.4444.1111.2222.00 is-type level2 red conn route-map h4 red isis4 2 route-map h4 exit router isis6 1 vrf v1 net 48.6666.1111.2222.00 is-type level2 red conn route-map h6 red isis6 2 route-map h6 exit router isis4 2 vrf v1 net 48.4444.2222.2222.00 is-type level2 red conn route-map h4 red isis4 1 route-map h4 exit router isis6 2 vrf v1 net 48.6666.2222.2222.00 is-type level2 red conn route-map h6 red isis6 1 route-map h6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 2 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 2 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 2.2.2.21 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 2.2.2.23 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 4321::21 vrf v1 r2 tping 100 20 4321::3 vrf v1 r2 tping 100 20 4321::13 vrf v1 r2 tping 100 20 4321::23 vrf v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 0 20 2.2.2.12 vrf v1 r1 tping 100 20 2.2.2.22 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 100 20 2.2.2.23 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 0 20 4321::12 vrf v1 r1 tping 100 20 4321::22 vrf v1 r1 tping 100 20 4321::3 vrf v1 r1 tping 0 20 4321::13 vrf v1 r1 tping 100 20 4321::23 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 100 20 2.2.2.21 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 0 20 2.2.2.12 vrf v1 r3 tping 100 20 2.2.2.22 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 100 20 4321::21 vrf v1 r3 tping 100 20 4321::2 vrf v1 r3 tping 0 20 4321::12 vrf v1 r3 tping 100 20 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist40.tst000066400000000000000000000105131510423065500172230ustar00rootroot00000000000000description redistribution filtering with routemap in routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map p4 sequence 10 act deny match network 2.2.2.8/29 le 32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::10/124 le 128 sequence 20 act perm match network ::/0 le 128 exit route-policy h4 if route-map p4 pass enif exit route-policy h6 if route-map p6 pass enif exit router isis4 1 vrf v1 net 48.4444.1111.2222.00 is-type level2 red conn route-policy h4 red isis4 2 route-policy h4 exit router isis6 1 vrf v1 net 48.6666.1111.2222.00 is-type level2 red conn route-policy h6 red isis6 2 route-policy h6 exit router isis4 2 vrf v1 net 48.4444.2222.2222.00 is-type level2 red conn route-policy h4 red isis4 1 route-policy h4 exit router isis6 2 vrf v1 net 48.6666.2222.2222.00 is-type level2 red conn route-policy h6 red isis6 1 route-policy h6 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router isis4 2 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router isis6 2 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.3333.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.3333.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router isis6 1 ena exit ! r2 tping 100 20 2.2.2.1 vrf v1 r2 tping 100 20 2.2.2.11 vrf v1 r2 tping 100 20 2.2.2.21 vrf v1 r2 tping 100 20 2.2.2.3 vrf v1 r2 tping 100 20 2.2.2.13 vrf v1 r2 tping 100 20 2.2.2.23 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 tping 100 20 4321::11 vrf v1 r2 tping 100 20 4321::21 vrf v1 r2 tping 100 20 4321::3 vrf v1 r2 tping 100 20 4321::13 vrf v1 r2 tping 100 20 4321::23 vrf v1 r1 tping 100 20 2.2.2.2 vrf v1 r1 tping 0 20 2.2.2.12 vrf v1 r1 tping 100 20 2.2.2.22 vrf v1 r1 tping 100 20 2.2.2.3 vrf v1 r1 tping 0 20 2.2.2.13 vrf v1 r1 tping 100 20 2.2.2.23 vrf v1 r1 tping 100 20 4321::2 vrf v1 r1 tping 0 20 4321::12 vrf v1 r1 tping 100 20 4321::22 vrf v1 r1 tping 100 20 4321::3 vrf v1 r1 tping 0 20 4321::13 vrf v1 r1 tping 100 20 4321::23 vrf v1 r3 tping 100 20 2.2.2.1 vrf v1 r3 tping 0 20 2.2.2.11 vrf v1 r3 tping 100 20 2.2.2.21 vrf v1 r3 tping 100 20 2.2.2.2 vrf v1 r3 tping 0 20 2.2.2.12 vrf v1 r3 tping 100 20 2.2.2.22 vrf v1 r3 tping 100 20 4321::1 vrf v1 r3 tping 0 20 4321::11 vrf v1 r3 tping 100 20 4321::21 vrf v1 r3 tping 100 20 4321::2 vrf v1 r3 tping 0 20 4321::12 vrf v1 r3 tping 100 20 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist41.tst000066400000000000000000000077351510423065500172400ustar00rootroot00000000000000description redistribution with ctp bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 red conn red bgp4 1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 red conn red bgp6 1 exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 1 router 4.4.4.2 neigh 1.1.1.6 remote-as 2 red conn red isis4 1 exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 1 router 6.6.6.2 neigh 1234:2::2 remote-as 2 red conn red isis6 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 mpls enable exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router bgp4 1 vrf v1 no safe-ebgp address ctp local-as 2 router 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address ctp local-as 2 router 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 mpls enable exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 2.2.2.13 vrf v1 r1 tping 100 60 2.2.2.23 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 4321::22 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 4321::13 vrf v1 r1 tping 100 60 4321::23 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 2.2.2.13 vrf v1 r2 tping 100 60 2.2.2.23 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 4321::21 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::13 vrf v1 r2 tping 100 60 4321::23 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.11 vrf v1 r3 tping 100 60 2.2.2.21 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.12 vrf v1 r3 tping 100 60 2.2.2.22 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::11 vrf v1 r3 tping 100 60 4321::21 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 4321::12 vrf v1 r3 tping 100 60 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist42.tst000066400000000000000000000077761510423065500172460ustar00rootroot00000000000000description redistribution with octp bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 red conn red bgp6 1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 red conn red bgp4 1 exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 1 router 4.4.4.2 neigh 1.1.1.6 remote-as 2 afi-other ena afi-other red conn afi-other red isis6 1 exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 1 router 6.6.6.2 neigh 1234:2::2 remote-as 2 afi-other ena afi-other red conn afi-other red isis4 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router bgp4 1 vrf v1 no safe-ebgp address octp local-as 2 router 4.4.4.3 neigh 1.1.1.5 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address octp local-as 2 router 6.6.6.3 neigh 1234:2::1 remote-as 1 afi-other ena afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 2.2.2.13 vrf v1 r1 tping 100 60 2.2.2.23 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 4321::22 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 4321::13 vrf v1 r1 tping 100 60 4321::23 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 2.2.2.13 vrf v1 r2 tping 100 60 2.2.2.23 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 4321::21 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::13 vrf v1 r2 tping 100 60 4321::23 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.11 vrf v1 r3 tping 100 60 2.2.2.21 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.12 vrf v1 r3 tping 100 60 2.2.2.22 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::11 vrf v1 r3 tping 100 60 4321::21 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 4321::12 vrf v1 r3 tping 100 60 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist43.tst000066400000000000000000000107261510423065500172340ustar00rootroot00000000000000description redistribution route limit addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.1111.2222.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.1111.2222.00 is-type level2 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.32 255.255.255.255 ipv6 addr 4321::32 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo4 vrf for v1 ipv4 addr 2.2.2.42 255.255.255.255 ipv6 addr 4321::42 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo5 vrf for v1 ipv4 addr 2.2.2.52 255.255.255.255 ipv6 addr 4321::52 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo6 vrf for v1 ipv4 addr 2.2.2.62 255.255.255.255 ipv6 addr 4321::62 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo7 vrf for v1 ipv4 addr 2.2.2.72 255.255.255.255 ipv6 addr 4321::72 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo8 vrf for v1 ipv4 addr 2.2.2.82 255.255.255.255 ipv6 addr 4321::82 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo9 vrf for v1 ipv4 addr 9.9.9.9 255.255.255.255 ipv6 addr 9999::9 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r1 tping 100 60 2.2.2.32 vrf v1 r1 tping 100 60 4321::32 vrf v1 r1 tping 100 60 2.2.2.42 vrf v1 r1 tping 100 60 4321::42 vrf v1 r1 tping 100 60 2.2.2.52 vrf v1 r1 tping 100 60 4321::52 vrf v1 r1 tping 100 60 2.2.2.62 vrf v1 r1 tping 100 60 4321::62 vrf v1 r1 tping 100 60 2.2.2.72 vrf v1 r1 tping 100 60 4321::72 vrf v1 r1 tping 100 60 2.2.2.82 vrf v1 r1 tping 100 60 4321::82 vrf v1 r1 tping 100 60 9.9.9.9 vrf v1 r1 tping 100 60 9999::9 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 r2 send conf t r2 send router isis4 1 r2 send red conn limit 5 r2 send exit r2 send router isis6 1 r2 send red conn limit 5 r2 send exit r2 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 0 60 9.9.9.9 vrf v1 r1 tping 0 60 9999::9 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 send conf t r2 send router isis4 1 r2 send red conn r2 send exit r2 send router isis6 1 r2 send red conn r2 send exit r2 send end r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 4321::22 vrf v1 r1 tping 100 60 2.2.2.32 vrf v1 r1 tping 100 60 4321::32 vrf v1 r1 tping 100 60 2.2.2.42 vrf v1 r1 tping 100 60 4321::42 vrf v1 r1 tping 100 60 2.2.2.52 vrf v1 r1 tping 100 60 4321::52 vrf v1 r1 tping 100 60 2.2.2.62 vrf v1 r1 tping 100 60 4321::62 vrf v1 r1 tping 100 60 2.2.2.72 vrf v1 r1 tping 100 60 4321::72 vrf v1 r1 tping 100 60 2.2.2.82 vrf v1 r1 tping 100 60 4321::82 vrf v1 r1 tping 100 60 9.9.9.9 vrf v1 r1 tping 100 60 9999::9 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 4321::21 vrf v1 freeRtr-25.11.9/cfg/rout-redist44.tst000066400000000000000000000073341510423065500172360ustar00rootroot00000000000000description redistribution with rift addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 red conn red rift4 1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 red conn red rift6 1 exit router rift4 1 vrf v1 router 41 red conn red isis4 1 exit router rift6 1 vrf v1 router 61 red conn red isis6 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 router rift4 1 ena exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: router rift6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 red conn exit router rift6 1 vrf v1 router 62 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 router rift4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: router rift6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.13 vrf v1 r1 tping 100 40 2.2.2.23 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::12 vrf v1 r1 tping 100 40 4321::22 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::13 vrf v1 r1 tping 100 40 4321::23 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.13 vrf v1 r2 tping 100 40 2.2.2.23 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::13 vrf v1 r2 tping 100 40 4321::23 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.11 vrf v1 r3 tping 100 40 2.2.2.21 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.12 vrf v1 r3 tping 100 40 2.2.2.22 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::11 vrf v1 r3 tping 100 40 4321::21 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::12 vrf v1 r3 tping 100 40 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist45.tst000066400000000000000000000077351510423065500172440ustar00rootroot00000000000000description redistribution with car bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 red conn red bgp4 1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 red conn red bgp6 1 exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 1 router 4.4.4.2 neigh 1.1.1.6 remote-as 2 red conn red isis4 1 exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 1 router 6.6.6.2 neigh 1234:2::2 remote-as 2 red conn red isis6 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 mpls enable exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router bgp4 1 vrf v1 no safe-ebgp address car local-as 2 router 4.4.4.3 neigh 1.1.1.5 remote-as 1 red conn exit router bgp6 1 vrf v1 no safe-ebgp address car local-as 2 router 6.6.6.3 neigh 1234:2::1 remote-as 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 mpls enable exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 2.2.2.13 vrf v1 r1 tping 100 60 2.2.2.23 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 4321::22 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 4321::13 vrf v1 r1 tping 100 60 4321::23 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 2.2.2.13 vrf v1 r2 tping 100 60 2.2.2.23 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 4321::21 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::13 vrf v1 r2 tping 100 60 4321::23 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.11 vrf v1 r3 tping 100 60 2.2.2.21 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.12 vrf v1 r3 tping 100 60 2.2.2.22 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::11 vrf v1 r3 tping 100 60 4321::21 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 4321::12 vrf v1 r3 tping 100 60 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist46.tst000066400000000000000000000077761510423065500172520ustar00rootroot00000000000000description redistribution with ocar bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 red conn red bgp6 1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 red conn red bgp4 1 exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 1 router 4.4.4.2 neigh 1.1.1.6 remote-as 2 afi-other ena afi-other red conn afi-other red isis6 1 exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 1 router 6.6.6.2 neigh 1234:2::2 remote-as 2 afi-other ena afi-other red conn afi-other red isis4 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: mpls enable exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router bgp4 1 vrf v1 no safe-ebgp address ocar local-as 2 router 4.4.4.3 neigh 1.1.1.5 remote-as 1 afi-other ena afi-other red conn exit router bgp6 1 vrf v1 no safe-ebgp address ocar local-as 2 router 6.6.6.3 neigh 1234:2::1 remote-as 1 afi-other ena afi-other red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: mpls enable exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 2.2.2.13 vrf v1 r1 tping 100 60 2.2.2.23 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 4321::22 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 4321::13 vrf v1 r1 tping 100 60 4321::23 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 2.2.2.13 vrf v1 r2 tping 100 60 2.2.2.23 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 4321::21 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::13 vrf v1 r2 tping 100 60 4321::23 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.11 vrf v1 r3 tping 100 60 2.2.2.21 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.12 vrf v1 r3 tping 100 60 2.2.2.22 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::11 vrf v1 r3 tping 100 60 4321::21 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 4321::12 vrf v1 r3 tping 100 60 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-redist47.tst000066400000000000000000000101051510423065500172270ustar00rootroot00000000000000description redistribution with spf bgp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.1111.00 is-type level2 red conn exit router isis6 1 vrf v1 net 48.6666.0000.1111.00 is-type level2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::1 ffff:ffff:: router isis6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router isis4 1 vrf v1 net 48.4444.0000.2222.00 is-type level2 red conn red bgp4 1 exit router isis6 1 vrf v1 net 48.6666.0000.2222.00 is-type level2 red conn red bgp6 1 exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 1 router 4.4.4.2 neigh 1.1.1.6 remote-as 2 neigh 1.1.1.6 linkstate red conn red isis4 1 exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 1 router 6.6.6.2 neigh 1234:2::2 remote-as 2 neigh 1234:2::2 linkstate red conn red isis6 1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 router isis4 1 ena exit int eth1.12 vrf for v1 ipv6 addr 1234:1::2 ffff:ffff:: router isis6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 exit int eth2.12 vrf for v1 ipv6 addr 1234:2::1 ffff:ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router bgp4 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 2 router 4.4.4.3 neigh 1.1.1.5 remote-as 1 neigh 1.1.1.5 linkstate red conn exit router bgp6 1 vrf v1 no safe-ebgp afi-spf ena address spf local-as 2 router 6.6.6.3 neigh 1234:2::1 remote-as 1 neigh 1234:2::1 linkstate red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 exit int eth1.12 vrf for v1 ipv6 addr 1234:2::2 ffff:ffff:: exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 2.2.2.12 vrf v1 r1 tping 100 60 2.2.2.22 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 2.2.2.13 vrf v1 r1 tping 100 60 2.2.2.23 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 4321::12 vrf v1 r1 tping 100 60 4321::22 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 4321::13 vrf v1 r1 tping 100 60 4321::23 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 2.2.2.11 vrf v1 r2 tping 100 60 2.2.2.21 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 2.2.2.13 vrf v1 r2 tping 100 60 2.2.2.23 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 4321::11 vrf v1 r2 tping 100 60 4321::21 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 4321::13 vrf v1 r2 tping 100 60 4321::23 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 2.2.2.11 vrf v1 r3 tping 100 60 2.2.2.21 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.12 vrf v1 r3 tping 100 60 2.2.2.22 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 4321::11 vrf v1 r3 tping 100 60 4321::21 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 4321::12 vrf v1 r3 tping 100 60 4321::22 vrf v1 freeRtr-25.11.9/cfg/rout-rift01.tst000066400000000000000000000023651510423065500167000ustar00rootroot00000000000000description rift point2point connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 41 red conn exit router rift6 1 vrf v1 router 61 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 red conn exit router rift6 1 vrf v1 router 62 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router rift4 1 ena router rift6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift02.tst000066400000000000000000000071141510423065500166760ustar00rootroot00000000000000description rift point2point chain addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 41 red conn exit router rift6 1 vrf v1 router 61 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 red conn exit router rift6 1 vrf v1 router 62 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 43 red conn exit router rift6 1 vrf v1 router 63 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 44 red conn exit router rift6 1 vrf v1 router 64 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.4 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::4 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.4 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::4 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.4 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::4 vrf v1 r4 tping 100 40 2.2.2.1 vrf v1 r4 tping 100 40 2.2.2.2 vrf v1 r4 tping 100 40 2.2.2.3 vrf v1 r4 tping 100 40 4321::1 vrf v1 r4 tping 100 40 4321::2 vrf v1 r4 tping 100 40 4321::3 vrf v1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 output ../binTmp/rout-rift.html here are the ipv4 neighbors:
show:0
here are the ipv6 neighbors:
show:1
here is the ipv4 database:
show:2
here is the ipv6 database:
show:3
here is the ipv4 tree:
show:4
here is the ipv6 tree:
show:5
here are the ipv4 routes:
show:6
here are the ipv6 routes:
show:7
! freeRtr-25.11.9/cfg/rout-rift03.tst000066400000000000000000000063321510423065500167000ustar00rootroot00000000000000description rift metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 41 exit router rift6 1 vrf v1 router 61 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rift4 1 ena router rift4 1 passiv router rift6 1 ena router rift6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rift4 1 ena router rift4 1 passiv router rift6 1 ena router rift6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 red conn exit router rift6 1 vrf v1 router 62 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rift4 1 ena router rift4 1 metric 100 router rift6 1 ena router rift6 1 metric 100 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 43 exit router rift6 1 vrf v1 router 63 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rift4 1 ena router rift4 1 passiv router rift6 1 ena router rift6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rift4 1 ena router rift4 1 passiv router rift6 1 ena router rift6 1 passiv exit int lo3 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit server telnet tel vrf v1 port 666 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.111 vrf v1 r2 tping 100 40 4321::111 vrf v1 r2 tping 0 40 2.2.2.222 vrf v1 r2 tping 0 40 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.222 vrf v1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift04.tst000066400000000000000000000033041510423065500166750ustar00rootroot00000000000000description rift address suppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 41 exit router rift6 1 vrf v1 router 61 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rift4 1 ena router rift4 1 passiv router rift6 1 ena router rift6 1 passiv exit int lo2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rift4 1 ena router rift4 1 passiv router rift4 1 suppress router rift6 1 ena router rift6 1 passiv router rift6 1 suppress exit int lo3 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rift4 1 ena router rift4 1 passiv router rift6 1 ena router rift6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 exit router rift6 1 vrf v1 router 62 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 0 40 2.2.2.2 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 0 40 4321::2 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift05.tst000066400000000000000000000042771510423065500167100ustar00rootroot00000000000000description rift route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit prefix-list p4 sequence 10 deny 2.2.2.12/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::12/128 sequence 20 permit ::/0 le 128 exit router rift4 1 vrf v1 router 41 red conn prefix-list p4 exit router rift6 1 vrf v1 router 61 red conn prefix-list p6 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 red conn exit router rift6 1 vrf v1 router 62 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 0 40 2.2.2.12 vrf v1 r1 tping 0 40 4321::12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 4321::22 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift06.tst000066400000000000000000000044011510423065500166760ustar00rootroot00000000000000description rift route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit router rift4 1 vrf v1 router 41 route-map p4 red conn exit router rift6 1 vrf v1 router 61 route-map p6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 red conn exit router rift6 1 vrf v1 router 62 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 0 40 2.2.2.12 vrf v1 r1 tping 0 40 4321::12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 4321::22 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift07.tst000066400000000000000000000042501510423065500167010ustar00rootroot00000000000000description rift route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-policy p4 if network 2.2.2.12/32 drop else pass enif exit route-policy p6 if network 4321::12/128 drop else pass enif exit router rift4 1 vrf v1 router 41 route-policy p4 red conn exit router rift6 1 vrf v1 router 61 route-policy p6 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 red conn exit router rift6 1 vrf v1 router 62 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 0 40 2.2.2.12 vrf v1 r1 tping 0 40 4321::12 vrf v1 r1 tping 100 40 2.2.2.22 vrf v1 r1 tping 100 40 4321::22 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 4321::11 vrf v1 r2 tping 100 40 2.2.2.21 vrf v1 r2 tping 100 40 4321::21 vrf v1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift08.tst000066400000000000000000000044511510423065500167050ustar00rootroot00000000000000description rift tag addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set tag 1234 exit router rift4 1 vrf v1 router 41 red conn route-map rm1 exit router rift6 1 vrf v1 router 61 red conn route-map rm1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map rm1 sequence 10 act deny match tag 1234 sequence 20 act perm exit router rift4 1 vrf v1 router 42 route-map rm1 red conn exit router rift6 1 vrf v1 router 62 route-map rm1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit route-map rm1 set tag 1234 exit router rift4 1 vrf v1 router 43 red conn route-map rm1 exit router rift6 1 vrf v1 router 63 red conn route-map rm1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 0 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 0 40 4321::3 vrf v1 r3 tping 0 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 0 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 tping 0 40 2.2.2.1 vrf v1 r2 tping 0 40 2.2.2.3 vrf v1 r2 tping 0 40 4321::1 vrf v1 r2 tping 0 40 4321::3 vrf v1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift09.tst000066400000000000000000000023761510423065500167120ustar00rootroot00000000000000description rift default route addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 41 default exit router rift6 1 vrf v1 router 61 default exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 red conn exit router rift6 1 vrf v1 router 62 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift10.tst000066400000000000000000000045711510423065500167010ustar00rootroot00000000000000description rift with bfd addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 41 red conn exit router rift6 1 vrf v1 router 61 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 bfd 100 100 3 router rift4 1 ena router rift4 1 bfd ipv6 addr 1234:1::1 ffff:ffff:: ipv6 bfd 100 100 3 router rift6 1 ena router rift6 1 bfd exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 bfd 100 100 3 router rift4 1 ena router rift4 1 bfd router rift4 1 metric 100 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 bfd 100 100 3 router rift6 1 ena router rift6 1 bfd router rift6 1 metric 100 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 red conn exit router rift6 1 vrf v1 router 62 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 bfd 100 100 3 router rift4 1 ena router rift4 1 bfd ipv6 addr 1234:1::2 ffff:ffff:: ipv6 bfd 100 100 3 router rift6 1 ena router rift6 1 bfd exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 bfd 100 100 3 router rift4 1 ena router rift4 1 bfd router rift4 1 metric 100 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 bfd 100 100 3 router rift6 1 ena router rift6 1 bfd router rift6 1 metric 100 exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 sleep 3000 r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 send conf t r2 send int eth1 r2 send shut r2 send end r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift11.tst000066400000000000000000000027021510423065500166740ustar00rootroot00000000000000description rift peer template addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 41 red conn exit router rift6 1 vrf v1 router 61 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int temp1 vrf for v1 ipv4 addr 9.9.9.9 255.255.255.0 ipv6 addr 9999::9 ffff:: router rift4 1 ena router rift6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: temp temp1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 red conn exit router rift6 1 vrf v1 router 62 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int temp1 vrf for v1 ipv4 addr 9.9.9.9 255.255.255.0 ipv6 addr 9999::9 ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: temp temp1 exit int temp1 router rift4 1 ena router rift6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift12.tst000066400000000000000000000033551510423065500167020ustar00rootroot00000000000000description rift prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 41 exit router rift6 1 vrf v1 router 61 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rift4 1 ena router rift6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 exit router rift6 1 vrf v1 router 62 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rift4 1 ena router rift6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r2 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r1 send conf t r1 send int lo1 r1 send no router rift4 1 ena r1 send no router rift6 1 ena r1 send end r1 tping 100 40 2.2.2.2 vrf v1 r2 tping 100 40 4321::2 vrf v1 r2 tping 0 40 2.2.2.1 vrf v1 r2 tping 0 40 4321::1 vrf v1 r1 send conf t r1 send int lo1 r1 send router rift4 1 ena r1 send router rift6 1 ena r1 send end r1 tping 100 40 2.2.2.2 vrf v1 r2 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift13.tst000066400000000000000000000064121510423065500167000ustar00rootroot00000000000000description rift change in metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 1000 exit router rift4 1 vrf v1 router 41 red conn route-map rm1 exit router rift6 1 vrf v1 router 61 red conn route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map rm1 sequence 10 act deny sequence 10 match metric 2000-4000 sequence 20 act perm exit router rift4 1 vrf v1 router 42 red conn route-map rm1 exit router rift6 1 vrf v1 router 62 red conn route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 43 red conn exit router rift6 1 vrf v1 router 63 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 3000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 0 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 0 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 0 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 0 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 5000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift14.tst000066400000000000000000000063731510423065500167070ustar00rootroot00000000000000description rift change in tag addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set tag 1000 exit router rift4 1 vrf v1 router 41 red conn route-map rm1 exit router rift6 1 vrf v1 router 61 red conn route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit route-map rm1 sequence 10 act deny sequence 10 match tag 2000-4000 sequence 20 act perm exit router rift4 1 vrf v1 router 42 red conn route-map rm1 exit router rift6 1 vrf v1 router 62 red conn route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 43 red conn exit router rift6 1 vrf v1 router 63 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set tag 3000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 0 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 0 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 0 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 0 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set tag 5000 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift15.tst000066400000000000000000000041541510423065500167030ustar00rootroot00000000000000description rift auto mesh tunnel addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit router rift4 1 vrf v1 router 41 red conn automesh all exit router rift6 1 vrf v1 router 61 red conn automesh all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.0 ipv6 addr 9999::1 ffff:: router rift4 1 ena router rift6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit router rift4 1 vrf v1 router 42 red conn automesh all exit router rift6 1 vrf v1 router 62 red conn automesh all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.0 ipv6 addr 9999::2 ffff:: router rift4 1 ena router rift6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit ! r1 tping 100 40 9.9.9.2 vrf v1 r1 tping 100 40 9999::2 vrf v1 r2 tping 100 40 9.9.9.1 vrf v1 r2 tping 100 40 9999::1 vrf v1 r1 tping 0 40 2.2.2.2 vrf v1 r1 tping 0 40 4321::2 vrf v1 r2 tping 0 40 2.2.2.1 vrf v1 r2 tping 0 40 4321::1 vrf v1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift16.tst000066400000000000000000000055551510423065500167120ustar00rootroot00000000000000description rift triangle connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 41 red conn exit router rift6 1 vrf v1 router 61 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router rift4 1 ena router rift4 1 metric 100 router rift6 1 ena router rift6 1 metric 100 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 red conn exit router rift6 1 vrf v1 router 62 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 43 red conn exit router rift6 1 vrf v1 router 63 red conn exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router rift4 1 ena router rift4 1 metric 100 router rift6 1 ena router rift6 1 metric 100 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift17.tst000066400000000000000000000133511510423065500167040ustar00rootroot00000000000000description rift prefix movement addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 10 exit router rift4 1 vrf v1 router 41 advertise 2.2.2.1/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router rift6 1 vrf v1 router 61 advertise 4321::1/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 advertise 2.2.2.2/32 exit router rift6 1 vrf v1 router 62 advertise 4321::2/128 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rift4 1 ena router rift6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit route-map rm1 set metric 20 exit router rift4 1 vrf v1 router 43 advertise 2.2.2.3/32 route-map rm1 advertise 2.2.2.222/32 route-map rm1 exit router rift6 1 vrf v1 router 63 advertise 4321::3/128 route-map rm1 advertise 4321::222/128 route-map rm1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo3 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 2.2.2.222 vrf v1 r1 tping 100 40 4321::222 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 tping 100 40 4321::222 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 2.2.2.3 vrf v1 r3 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.222 vrf v1 r3 tping 100 40 4321::222 vrf v1 r2 tping 0 40 2.2.2.101 vrf v1 r2 tping 0 40 4321::101 vrf v1 r2 tping 0 40 2.2.2.103 vrf v1 r2 tping 0 40 4321::103 vrf v1 r2 send telnet 2.2.2.222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r2 send telnet 4321::222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 30 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 2.2.2.222 vrf v1 r1 tping 100 40 4321::222 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 tping 100 40 4321::222 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 2.2.2.3 vrf v1 r3 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.222 vrf v1 r3 tping 100 40 4321::222 vrf v1 r2 tping 0 40 2.2.2.101 vrf v1 r2 tping 0 40 4321::101 vrf v1 r2 tping 0 40 2.2.2.103 vrf v1 r2 tping 0 40 4321::103 vrf v1 r2 send telnet 2.2.2.222 666 vrf v1 r2 tping 100 40 2.2.2.103 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.103 vrf v1 r2 send telnet 4321::222 666 vrf v1 r2 tping 100 40 2.2.2.103 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.103 vrf v1 r1 send conf t r1 send route-map rm1 r1 send set metric 10 r1 send end r1 send clear ipv4 route v1 r1 send clear ipv6 route v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 2.2.2.222 vrf v1 r1 tping 100 40 4321::222 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 2.2.2.222 vrf v1 r2 tping 100 40 4321::222 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 2.2.2.3 vrf v1 r3 tping 100 40 4321::3 vrf v1 r3 tping 100 40 2.2.2.222 vrf v1 r3 tping 100 40 4321::222 vrf v1 r2 tping 0 40 2.2.2.101 vrf v1 r2 tping 0 40 4321::101 vrf v1 r2 tping 0 40 2.2.2.103 vrf v1 r2 tping 0 40 4321::103 vrf v1 r2 send telnet 2.2.2.222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r2 send telnet 4321::222 666 vrf v1 r2 tping 100 40 2.2.2.101 vrf v1 r2 send exit r2 read closed r2 tping 0 40 2.2.2.101 vrf v1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift18.tst000066400000000000000000000050751510423065500167110ustar00rootroot00000000000000description rift autoroute addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ int ser2 ser 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit router rift4 1 vrf v1 router 41 red conn exit router rift6 1 vrf v1 router 61 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.0 ipv6 addr 9999::1 ffff:: router rift4 1 ena router rift6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int ser2 vrf for v1 ipv4 addr 9.9.8.1 255.255.255.0 ipv6 addr 9998::1 ffff:: ipv4 autoroute rift4 1 2.2.2.2 9.9.8.2 ipv6 autoroute rift6 1 4321::2 9998::2 exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ int ser2 ser 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit router rift4 1 vrf v1 router 42 red conn exit router rift6 1 vrf v1 router 62 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.0 ipv6 addr 9999::2 ffff:: router rift4 1 ena router rift6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int ser2 vrf for v1 ipv4 addr 9.9.8.2 255.255.255.0 ipv6 addr 9998::2 ffff:: ipv4 autoroute rift4 1 2.2.2.1 9.9.8.1 ipv6 autoroute rift6 1 4321::1 9998::1 exit ! r1 tping 100 40 2.2.2.12 vrf v1 r1 tping 100 40 4321::12 vrf v1 r2 tping 100 40 2.2.2.11 vrf v1 r2 tping 100 40 4321::11 vrf v1 r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 4321::2 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 4321::1 vrf v1 r1 tping 0 40 9.9.9.2 vrf v1 r1 tping 0 40 9999::2 vrf v1 r2 tping 0 40 9.9.9.1 vrf v1 r2 tping 0 40 9999::1 vrf v1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift19.tst000066400000000000000000000031561510423065500167100ustar00rootroot00000000000000description rift default address suppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router rift4 1 vrf v1 router 41 suppress justadv lo1 exit router rift6 1 vrf v1 router 61 suppress justadv lo1 exit int lo2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rift4 1 ena router rift4 1 passiv router rift6 1 ena router rift6 1 passiv exit int lo3 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rift4 1 ena router rift4 1 passiv router rift6 1 ena router rift6 1 passiv exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 exit router rift6 1 vrf v1 router 62 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 0 40 2.2.2.2 vrf v1 r2 tping 0 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 0 40 4321::2 vrf v1 r2 tping 0 40 4321::3 vrf v1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift20.tst000066400000000000000000000032421510423065500166740ustar00rootroot00000000000000description rift address unsuppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router rift4 1 vrf v1 router 41 suppress justadv lo1 exit router rift6 1 vrf v1 router 61 suppress justadv lo1 exit int lo2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rift4 1 ena router rift4 1 passiv router rift6 1 ena router rift6 1 passiv exit int lo3 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rift4 1 ena router rift4 1 passiv router rift4 1 unsuppress router rift6 1 ena router rift6 1 passiv router rift6 1 unsuppress exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 exit router rift6 1 vrf v1 router 62 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 0 40 2.2.2.2 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 0 40 4321::2 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift21.tst000066400000000000000000000024761510423065500167050ustar00rootroot00000000000000description rift over point2point ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 41 red conn exit router rift6 1 vrf v1 router 61 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.254 ipv6 addr 1234::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe router rift4 1 ena router rift6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 red conn exit router rift6 1 vrf v1 router 62 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.254 ipv6 addr 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe router rift4 1 ena router rift6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift22.tst000066400000000000000000000024621510423065500167010ustar00rootroot00000000000000description rift point2point connection with bidir check addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 41 red conn spf-bidir exit router rift6 1 vrf v1 router 61 red conn spf-bidir exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 red conn spf-bidir exit router rift6 1 vrf v1 router 62 red conn spf-bidir exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router rift4 1 ena router rift6 1 ena exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift23.tst000066400000000000000000000067141510423065500167060ustar00rootroot00000000000000description rift ecmp connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 41 red conn spf-ecmp ecmp exit router rift6 1 vrf v1 router 61 red conn spf-ecmp ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:21::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.10 255.255.255.252 ipv6 addr 1234:23::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 red conn spf-ecmp ecmp exit router rift6 1 vrf v1 router 62 red conn spf-ecmp ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:21::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.252 ipv6 addr 1234:22::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 43 red conn spf-ecmp ecmp exit router rift6 1 vrf v1 router 63 red conn spf-ecmp ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.252 ipv6 addr 1234:22::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.9 255.255.255.252 ipv6 addr 1234:23::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift24.tst000066400000000000000000000047631510423065500167110ustar00rootroot00000000000000description rift with bgp linkstate addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router rift4 1 vrf v1 router 41 justadvert lo1 exit router rift6 1 vrf v1 router 61 justadvert lo1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router rift4 1 ena router rift6 1 ena exit router bgp4 1 vrf v1 no safe-ebgp address uni linkstate local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 linkstate afi-link rift4 1 0 justadvert lo2 exit router bgp6 1 vrf v1 no safe-ebgp address uni linkstate local-as 1 router-id 6.6.6.1 neigh 1234::2 remote-as 2 neigh 1234::2 linkstate afi-link rift6 1 0 justadvert lo2 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit router rift4 1 vrf v1 router 42 justadvert lo1 exit router rift6 1 vrf v1 router 62 justadvert lo1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router rift4 1 ena router rift6 1 ena exit router bgp4 1 vrf v1 no safe-ebgp address uni linkstate local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.1 linkstate afi-link rift4 1 0 justadvert lo2 exit router bgp6 1 vrf v1 no safe-ebgp address uni linkstate local-as 2 router-id 6.6.6.2 neigh 1234::1 remote-as 1 neigh 1234::1 linkstate afi-link rift6 1 0 justadvert lo2 exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r1 tping 100 20 2.2.2.102 vrf v1 r2 tping 100 20 2.2.2.101 vrf v1 r1 tping 100 20 4321::102 vrf v1 r2 tping 100 20 4321::101 vrf v1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 r1 output show ipv4 bgp 1 uni dat r1 output show ipv6 bgp 1 uni dat r1 output show ipv4 bgp 1 links dat r1 output show ipv6 bgp 1 links dat freeRtr-25.11.9/cfg/rout-rift25.tst000066400000000000000000000061741510423065500167100ustar00rootroot00000000000000description rift inter level chain addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 41 level 1 red conn exit router rift6 1 vrf v1 router 61 level 1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 level 2 red conn exit router rift6 1 vrf v1 router 62 level 2 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 43 level 3 red conn exit router rift6 1 vrf v1 router 63 level 3 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 44 level 4 red conn exit router rift6 1 vrf v1 router 64 level 4 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router rift4 1 ena router rift6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 r1 tping 100 40 2.2.2.3 vrf v1 r1 tping 100 40 2.2.2.4 vrf v1 r1 tping 100 40 4321::2 vrf v1 r1 tping 100 40 4321::3 vrf v1 r1 tping 100 40 4321::4 vrf v1 r2 tping 100 40 2.2.2.1 vrf v1 r2 tping 100 40 2.2.2.3 vrf v1 r2 tping 100 40 2.2.2.4 vrf v1 r2 tping 100 40 4321::1 vrf v1 r2 tping 100 40 4321::3 vrf v1 r2 tping 100 40 4321::4 vrf v1 r3 tping 100 40 2.2.2.1 vrf v1 r3 tping 100 40 2.2.2.2 vrf v1 r3 tping 100 40 2.2.2.4 vrf v1 r3 tping 100 40 4321::1 vrf v1 r3 tping 100 40 4321::2 vrf v1 r3 tping 100 40 4321::4 vrf v1 r4 tping 100 40 2.2.2.1 vrf v1 r4 tping 100 40 2.2.2.2 vrf v1 r4 tping 100 40 2.2.2.3 vrf v1 r4 tping 100 40 4321::1 vrf v1 r4 tping 100 40 4321::2 vrf v1 r4 tping 100 40 4321::3 vrf v1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift26.tst000066400000000000000000000036731510423065500167120ustar00rootroot00000000000000description rift dynamic icmp metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 41 red conn exit router rift6 1 vrf v1 router 61 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router rift4 1 ena router rift4 1 metric 100 router rift6 1 ena router rift6 1 metric 100 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: router rift4 1 ena router rift4 1 metric 1 router rift6 1 ena router rift6 1 metric 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 red conn exit router rift6 1 vrf v1 router 62 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router rift4 1 ena router rift4 1 metric 2 router rift4 1 dynamic-met mod icm router rift6 1 ena router rift6 1 metric 2 router rift6 1 dynamic-met mod icm exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: router rift4 1 ena router rift4 1 metric 200 router rift4 1 dynamic-met mod icm router rift6 1 ena router rift6 1 metric 200 router rift6 1 dynamic-met mod icm exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift27.tst000066400000000000000000000037261510423065500167120ustar00rootroot00000000000000description rift dynamic udp metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit server echo e vrf v1 exit router rift4 1 vrf v1 router 41 red conn exit router rift6 1 vrf v1 router 61 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router rift4 1 ena router rift4 1 metric 100 router rift6 1 ena router rift6 1 metric 100 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: router rift4 1 ena router rift4 1 metric 1 router rift6 1 ena router rift6 1 metric 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 red conn exit router rift6 1 vrf v1 router 62 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router rift4 1 ena router rift4 1 metric 2 router rift4 1 dynamic-met mod udp router rift6 1 ena router rift6 1 metric 2 router rift6 1 dynamic-met mod udp exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: router rift4 1 ena router rift4 1 metric 200 router rift4 1 dynamic-met mod udp router rift6 1 ena router rift6 1 metric 200 router rift6 1 dynamic-met mod udp exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift28.tst000066400000000000000000000037311510423065500167070ustar00rootroot00000000000000description rift dynamic twamp metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit server twamp t vrf v1 exit router rift4 1 vrf v1 router 41 red conn exit router rift6 1 vrf v1 router 61 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router rift4 1 ena router rift4 1 metric 100 router rift6 1 ena router rift6 1 metric 100 exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.0 ipv6 addr 1235::1 ffff:: router rift4 1 ena router rift4 1 metric 1 router rift6 1 ena router rift6 1 metric 1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 red conn exit router rift6 1 vrf v1 router 62 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router rift4 1 ena router rift4 1 metric 2 router rift4 1 dynamic-met mod twa router rift6 1 ena router rift6 1 metric 2 router rift6 1 dynamic-met mod twa exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.0 ipv6 addr 1235::2 ffff:: router rift4 1 ena router rift4 1 metric 200 router rift4 1 dynamic-met mod twa router rift6 1 ena router rift6 1 metric 200 router rift6 1 dynamic-met mod twa exit ! r1 tping 100 20 2.2.2.2 vrf v1 sou lo1 r2 tping 100 20 2.2.2.1 vrf v1 sou lo1 r1 tping 100 20 4321::2 vrf v1 sou lo1 r2 tping 100 20 4321::1 vrf v1 sou lo1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift29.tst000066400000000000000000000026211510423065500167050ustar00rootroot00000000000000description rift with pmtud addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 41 red conn exit router rift6 1 vrf v1 router 61 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router rift4 1 ena router rift6 1 ena router rift4 1 ipinfo pmtud 512 1024 666 router rift6 1 ipinfo pmtud 512 1024 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 red conn exit router rift6 1 vrf v1 router 62 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router rift4 1 ena router rift6 1 ena router rift4 1 ipinfo pmtud 512 1024 666 router rift6 1 ipinfo pmtud 512 1024 666 exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rift30.tst000066400000000000000000000025131510423065500166750ustar00rootroot00000000000000description rift ldp sync addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 41 red conn exit router rift6 1 vrf v1 router 61 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router rift4 1 ena router rift6 1 ena router rift4 1 ldp-sync router rift6 1 ldp-sync exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rift4 1 vrf v1 router 42 red conn exit router rift6 1 vrf v1 router 62 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router rift4 1 ena router rift6 1 ena router rift4 1 ldp-sync router rift6 1 ldp-sync exit ! r1 tping 100 20 2.2.2.2 vrf v1 r2 tping 100 20 2.2.2.1 vrf v1 r1 tping 100 20 4321::2 vrf v1 r2 tping 100 20 4321::1 vrf v1 r2 output show ipv4 rift 1 nei r2 output show ipv6 rift 1 nei r2 output show ipv4 rift 1 dat r2 output show ipv6 rift 1 dat r2 output show ipv4 rift 1 tre n r2 output show ipv6 rift 1 tre n r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip01.tst000066400000000000000000000054111510423065500165210ustar00rootroot00000000000000description rip on one subnet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: router rip4 1 ena router rip6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: router rip4 1 ena router rip6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit bridge 1 mac-learn exit int eth1 bridge-gr 1 exit int eth2 bridge-gr 1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int bvi1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:: router rip4 1 ena router rip6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.4 255.255.255.0 ipv6 addr 1234::4 ffff:: router rip4 1 ena router rip6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 2.2.2.4 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r1 tping 100 130 4321::4 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 2.2.2.4 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r2 tping 100 130 4321::4 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 2.2.2.4 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r3 tping 100 130 4321::4 vrf v1 r4 tping 100 130 2.2.2.1 vrf v1 r4 tping 100 130 2.2.2.2 vrf v1 r4 tping 100 130 2.2.2.3 vrf v1 r4 tping 100 130 4321::1 vrf v1 r4 tping 100 130 4321::2 vrf v1 r4 tping 100 130 4321::3 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip02.tst000066400000000000000000000065121510423065500165250ustar00rootroot00000000000000description rip in chain addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 2.2.2.4 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r1 tping 100 130 4321::4 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 2.2.2.4 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r2 tping 100 130 4321::4 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 2.2.2.4 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r3 tping 100 130 4321::4 vrf v1 r4 tping 100 130 2.2.2.1 vrf v1 r4 tping 100 130 2.2.2.2 vrf v1 r4 tping 100 130 2.2.2.3 vrf v1 r4 tping 100 130 4321::1 vrf v1 r4 tping 100 130 4321::2 vrf v1 r4 tping 100 130 4321::3 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 output ../binTmp/rout-rip.html here are the ipv4 neighbors:
show:0
here are the ipv6 neighbors:
show:1
here is the ipv4 database:
show:2
here is the ipv6 database:
show:3
here are the ipv4 routes:
show:4
here are the ipv6 routes:
show:5
! freeRtr-25.11.9/cfg/rout-rip03.tst000066400000000000000000000041721510423065500165260ustar00rootroot00000000000000description rip ingress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit prefix-list p4 sequence 10 deny 2.2.2.12/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::12/128 sequence 20 permit ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena router rip4 1 prefix-list-in p4 router rip6 1 prefix-list-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 0 130 2.2.2.12 vrf v1 r1 tping 0 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip04.tst000066400000000000000000000041731510423065500165300ustar00rootroot00000000000000description rip egress route filtering with prefixlist addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit prefix-list p4 sequence 10 deny 2.2.2.11/32 sequence 20 permit 0.0.0.0/0 le 32 exit prefix-list p6 sequence 10 deny 4321::11/128 sequence 20 permit ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena router rip4 1 prefix-list-out p4 router rip6 1 prefix-list-out p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 0 130 2.2.2.11 vrf v1 r2 tping 0 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip05.tst000066400000000000000000000042741510423065500165330ustar00rootroot00000000000000description rip ingress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena router rip4 1 route-map-in p4 router rip6 1 route-map-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 0 130 2.2.2.12 vrf v1 r1 tping 0 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip06.tst000066400000000000000000000042751510423065500165350ustar00rootroot00000000000000description rip egress route filtering with routemap addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map p4 sequence 10 act deny match network 2.2.2.11/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::11/128 sequence 20 act perm match network ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena router rip4 1 route-map-out p4 router rip6 1 route-map-out p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 0 130 2.2.2.11 vrf v1 r2 tping 0 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip07.tst000066400000000000000000000041431510423065500165300ustar00rootroot00000000000000description rip ingress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-policy p4 if network 2.2.2.12/32 drop else pass enif exit route-policy p6 if network 4321::12/128 drop else pass enif exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena router rip4 1 route-policy-in p4 router rip6 1 route-policy-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 0 130 2.2.2.12 vrf v1 r1 tping 0 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip08.tst000066400000000000000000000041441510423065500165320ustar00rootroot00000000000000description rip egress route filtering with routepolicy addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-policy p4 if network 2.2.2.11/32 drop else pass enif exit route-policy p6 if network 4321::11/128 drop else pass enif exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena router rip4 1 route-policy-out p4 router rip6 1 route-policy-out p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 0 130 2.2.2.11 vrf v1 r2 tping 0 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip09.tst000066400000000000000000000043501510423065500165320ustar00rootroot00000000000000description rip hop count addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 set metric +9 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena router rip4 1 route-map-in rm1 router rip6 1 route-map-in rm1 router rip4 1 route-map-out rm1 router rip6 1 route-map-out rm1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena router rip4 1 route-map-in rm1 router rip6 1 route-map-in rm1 router rip4 1 route-map-out rm1 router rip6 1 route-map-out rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 0 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 0 130 4321::3 vrf v1 r3 tping 0 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 0 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip10.tst000066400000000000000000000046341510423065500165270ustar00rootroot00000000000000description rip tag addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit route-map rm1 set tag 1234 exit router rip4 1 vrf v1 red conn route-map rm1 exit router rip6 1 vrf v1 red conn route-map rm1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map rm1 sequence 10 act perm match tag 1234 set metric +9 sequence 20 act perm exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena router rip4 1 route-map-in rm1 router rip6 1 route-map-in rm1 router rip4 1 route-map-out rm1 router rip6 1 route-map-out rm1 exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena router rip4 1 route-map-in rm1 router rip6 1 route-map-in rm1 router rip4 1 route-map-out rm1 router rip6 1 route-map-out rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit route-map rm1 set tag 1234 exit router rip4 1 vrf v1 red conn route-map rm1 exit router rip6 1 vrf v1 red conn route-map rm1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 0 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 0 130 4321::3 vrf v1 r3 tping 0 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 0 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip11.tst000066400000000000000000000040251510423065500165220ustar00rootroot00000000000000description rip address suppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 exit router rip6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena router rip4 1 suppress-prefix router rip6 1 suppress-prefix exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 0 130 2.2.2.11 vrf v1 r2 tping 0 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip12.tst000066400000000000000000000036451510423065500165320ustar00rootroot00000000000000description rip default route addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 exit router rip6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena router rip4 1 default-originate router rip6 1 default-originate exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip13.tst000066400000000000000000000022761510423065500165320ustar00rootroot00000000000000description rip authentication addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip4 1 pass tester router rip6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip4 1 pass tester router rip6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip14.tst000066400000000000000000000056511510423065500165330ustar00rootroot00000000000000description rip incoming interface metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 exit router rip6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena router rip4 1 metric-in 9 router rip6 1 metric-in 9 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 exit router rip6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.111 vrf v1 r2 tping 100 130 4321::111 vrf v1 r2 tping 0 130 2.2.2.222 vrf v1 r2 tping 0 130 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip15.tst000066400000000000000000000056531510423065500165360ustar00rootroot00000000000000description rip outgoing interface metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 exit router rip6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 exit router rip6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena router rip4 1 metric-out 9 router rip6 1 metric-out 9 exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.111 vrf v1 r2 tping 100 130 4321::111 vrf v1 r2 tping 0 130 2.2.2.222 vrf v1 r2 tping 0 130 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip16.tst000066400000000000000000000057251510423065500165370ustar00rootroot00000000000000description rip incoming routemap metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 exit router rip6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit route-map rm1 set metric +9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena router rip4 1 route-map-in rm1 router rip6 1 route-map-in rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 exit router rip6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.111 vrf v1 r2 tping 100 130 4321::111 vrf v1 r2 tping 0 130 2.2.2.222 vrf v1 r2 tping 0 130 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip17.tst000066400000000000000000000057271510423065500165420ustar00rootroot00000000000000description rip outgoing routemap metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 exit router rip6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 exit router rip6 1 vrf v1 exit route-map rm1 set metric +9 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena router rip4 1 route-map-out rm1 router rip6 1 route-map-out rm1 exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.111 vrf v1 r2 tping 100 130 4321::111 vrf v1 r2 tping 0 130 2.2.2.222 vrf v1 r2 tping 0 130 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip18.tst000066400000000000000000000057471510423065500165450ustar00rootroot00000000000000description rip incoming routepolicy metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 exit router rip6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit route-policy rm1 set metric +9 pass exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena router rip4 1 route-policy-in rm1 router rip6 1 route-policy-in rm1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 exit router rip6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.111 vrf v1 r2 tping 100 130 4321::111 vrf v1 r2 tping 0 130 2.2.2.222 vrf v1 r2 tping 0 130 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip19.tst000066400000000000000000000057511510423065500165410ustar00rootroot00000000000000description rip outgoing routepolicy metric addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 exit router rip6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit server telnet tel vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 exit router rip6 1 vrf v1 exit route-policy rm1 set metric +9 pass exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena router rip4 1 route-policy-out rm1 router rip6 1 route-policy-out rm1 exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 4321::3 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 2.2.2.3 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 4321::3 vrf v1 r3 tping 100 130 2.2.2.1 vrf v1 r3 tping 100 130 2.2.2.2 vrf v1 r3 tping 100 130 4321::1 vrf v1 r3 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.111 vrf v1 r2 tping 100 130 4321::111 vrf v1 r2 tping 0 130 2.2.2.222 vrf v1 r2 tping 0 130 4321::222 vrf v1 r2 send telnet 2.2.2.111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 send telnet 4321::111 666 vrf v1 r2 tping 100 130 2.2.2.222 vrf v1 r2 send exit r2 read closed r2 tping 0 130 2.2.2.222 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip20.tst000066400000000000000000000043561510423065500165310ustar00rootroot00000000000000description rip with bfd addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv4 bfd 100 100 3 router rip4 1 ena router rip4 1 bfd ipv6 addr 1234:1::1 ffff:ffff:: ipv6 bfd 100 100 3 router rip6 1 ena router rip6 1 bfd exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv4 bfd 100 100 3 router rip4 1 ena router rip4 1 bfd router rip4 1 dista 130 ipv6 addr 1234:2::1 ffff:ffff:: ipv6 bfd 100 100 3 router rip6 1 ena router rip6 1 bfd router rip6 1 dista 130 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv4 bfd 100 100 3 router rip4 1 ena router rip4 1 bfd ipv6 addr 1234:1::2 ffff:ffff:: ipv6 bfd 100 100 3 router rip6 1 ena router rip6 1 bfd exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv4 bfd 100 100 3 router rip4 1 ena router rip4 1 bfd router rip4 1 dista 130 ipv6 addr 1234:2::2 ffff:ffff:: ipv6 bfd 100 100 3 router rip6 1 ena router rip6 1 bfd router rip6 1 dista 130 exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 sleep 3000 r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 send conf t r2 send int eth1 r2 send shut r2 send end r1 tping 100 5 2.2.2.2 vrf v1 sou lo0 r1 tping 100 5 4321::2 vrf v1 sou lo0 r2 tping 100 5 2.2.2.1 vrf v1 sou lo0 r2 tping 100 5 4321::1 vrf v1 sou lo0 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip21.tst000066400000000000000000000025361510423065500165300ustar00rootroot00000000000000description rip peer template addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int temp1 vrf for v1 ipv4 addr 9.9.9.9 255.255.255.0 ipv6 addr 9999::9 ffff:: router rip4 1 ena router rip6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: temp temp1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int temp1 vrf for v1 ipv4 addr 9.9.9.9 255.255.255.0 ipv6 addr 9999::9 ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: temp temp1 exit int temp1 router rip4 1 ena router rip6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip22.tst000066400000000000000000000037501510423065500165300ustar00rootroot00000000000000description rip prefix withdraw addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 exit router rip6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip4 1 update-time 1000 router rip4 1 hold-time 4000 router rip4 1 flush-time 4000 router rip6 1 ena router rip6 1 update-time 1000 router rip6 1 hold-time 4000 router rip6 1 flush-time 4000 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 exit router rip6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip4 1 update-time 1000 router rip4 1 hold-time 4000 router rip4 1 flush-time 4000 router rip6 1 ena router rip6 1 update-time 1000 router rip6 1 hold-time 4000 router rip6 1 flush-time 4000 exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r1 send conf t r1 send int lo0 r1 send no router rip4 1 ena r1 send no router rip6 1 ena r1 send end r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 0 130 2.2.2.1 vrf v1 r2 tping 0 130 4321::1 vrf v1 r1 send conf t r1 send int lo0 r1 send router rip4 1 ena r1 send router rip6 1 ena r1 send end r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip23.tst000066400000000000000000000043211510423065500165240ustar00rootroot00000000000000description rip aggregation addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena router rip4 1 route-map-in p4 router rip6 1 route-map-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 aggregate 2.2.2.0/24 red conn exit router rip6 1 vrf v1 aggregate 4321::/32 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip24.tst000066400000000000000000000037711510423065500165350ustar00rootroot00000000000000description rip auto mesh tunnel addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit router rip4 1 vrf v1 red conn automesh all exit router rip6 1 vrf v1 red conn automesh all exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.0 ipv6 addr 9999::1 ffff:: router rip4 1 ena router rip6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit prefix-list all sequence 10 permit 0.0.0.0/0 le 32 sequence 20 permit ::/0 le 128 exit router rip4 1 vrf v1 red conn automesh all exit router rip6 1 vrf v1 red conn automesh all exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.0 ipv6 addr 9999::2 ffff:: router rip4 1 ena router rip6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 mpls enable mpls rsvp4 mpls rsvp6 exit ! r1 tping 100 130 9.9.9.2 vrf v1 r1 tping 100 130 9999::2 vrf v1 r2 tping 100 130 9.9.9.1 vrf v1 r2 tping 100 130 9999::1 vrf v1 r1 tping 0 130 2.2.2.2 vrf v1 r1 tping 0 130 4321::2 vrf v1 r2 tping 0 130 2.2.2.1 vrf v1 r2 tping 0 130 4321::1 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip25.tst000066400000000000000000000053221510423065500165300ustar00rootroot00000000000000description rip triangle connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router rip4 1 ena router rip4 1 metric-in 6 router rip6 1 ena router rip6 1 metric-in 6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router rip4 1 ena router rip4 1 metric-in 6 router rip6 1 ena router rip6 1 metric-in 6 ipv4 access-group-in test4 ipv6 access-group-in test6 exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip26.tst000066400000000000000000000047121510423065500165330ustar00rootroot00000000000000description rip autoroute addrouter r1 int ser1 ser 0000.0000.1111 $1a$ $1b$ int ser2 ser 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.1 255.255.255.0 ipv6 addr 9999::1 ffff:: router rip4 1 ena router rip6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int ser2 vrf for v1 ipv4 addr 9.9.8.1 255.255.255.0 ipv6 addr 9998::1 ffff:: ipv4 autoroute rip4 1 2.2.2.2 9.9.8.2 ipv6 autoroute rip6 1 4321::2 9998::2 exit ! addrouter r2 int ser1 ser 0000.0000.2222 $1b$ $1a$ int ser2 ser 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 label-mode per-prefix exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny 58 any all any all permit all any all any all exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int ser1 vrf for v1 ipv4 addr 9.9.9.2 255.255.255.0 ipv6 addr 9999::2 ffff:: router rip4 1 ena router rip6 1 ena ipv4 access-group-in test4 ipv6 access-group-in test6 exit int ser2 vrf for v1 ipv4 addr 9.9.8.2 255.255.255.0 ipv6 addr 9998::2 ffff:: ipv4 autoroute rip4 1 2.2.2.1 9.9.8.1 ipv6 autoroute rip6 1 4321::1 9998::1 exit ! r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r1 tping 0 130 9.9.9.2 vrf v1 r1 tping 0 130 9999::2 vrf v1 r2 tping 0 130 9.9.9.1 vrf v1 r2 tping 0 130 9999::1 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip27.tst000066400000000000000000000023601510423065500165310ustar00rootroot00000000000000description rip over point2point ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 exit router rip6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.254 ipv6 addr 1234:1::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe router rip4 1 ena router rip6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 exit router rip6 1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.254 ipv6 addr 1234:1::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe router rip4 1 ena router rip6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip28.tst000066400000000000000000000063511510423065500165360ustar00rootroot00000000000000description rip ecmp connection addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn ecmp exit router rip6 1 vrf v1 red conn ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:21::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.10 255.255.255.252 ipv6 addr 1234:23::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn ecmp exit router rip6 1 vrf v1 red conn ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:21::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.5 255.255.255.252 ipv6 addr 1234:22::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn ecmp exit router rip6 1 vrf v1 red conn ecmp exit int lo1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1.11 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int eth1.22 vrf for v1 ipv4 addr 1.1.2.6 255.255.255.252 ipv6 addr 1234:22::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int eth2.11 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int eth2.22 vrf for v1 ipv4 addr 1.1.2.9 255.255.255.252 ipv6 addr 1234:23::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! r1 tping 100 40 2.2.2.2 vrf v1 sou lo1 r1 tping 100 40 2.2.2.3 vrf v1 sou lo1 r1 tping 100 40 4321::2 vrf v1 sou lo1 r1 tping 100 40 4321::3 vrf v1 sou lo1 r2 tping 100 40 2.2.2.1 vrf v1 sou lo1 r2 tping 100 40 2.2.2.3 vrf v1 sou lo1 r2 tping 100 40 4321::1 vrf v1 sou lo1 r2 tping 100 40 4321::3 vrf v1 sou lo1 r3 tping 100 40 2.2.2.1 vrf v1 sou lo1 r3 tping 100 40 2.2.2.2 vrf v1 sou lo1 r3 tping 100 40 4321::1 vrf v1 sou lo1 r3 tping 100 40 4321::2 vrf v1 sou lo1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip29.tst000066400000000000000000000037531510423065500165420ustar00rootroot00000000000000description rip default address suppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 suppress exit router rip6 1 vrf v1 suppress exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 0 130 2.2.2.1 vrf v1 r2 tping 0 130 4321::1 vrf v1 r2 tping 0 130 2.2.2.11 vrf v1 r2 tping 0 130 4321::11 vrf v1 r2 tping 0 130 2.2.2.21 vrf v1 r2 tping 0 130 4321::21 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip30.tst000066400000000000000000000040351510423065500165240ustar00rootroot00000000000000description rip address unsuppression addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 suppress exit router rip6 1 vrf v1 suppress exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena router rip4 1 unsuppress router rip6 1 unsuppress exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff router rip4 1 ena router rip6 1 ena exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.22 255.255.255.255 ipv6 addr 4321::22 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r1 tping 100 130 2.2.2.22 vrf v1 r1 tping 100 130 4321::22 vrf v1 r2 tping 0 130 2.2.2.1 vrf v1 r2 tping 0 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 0 130 2.2.2.21 vrf v1 r2 tping 0 130 4321::21 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-rip31.tst000066400000000000000000000054041510423065500165260ustar00rootroot00000000000000description rip auto summarization addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.11 255.255.255.255 ipv6 addr 4321::11 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.21 255.255.255.255 ipv6 addr 4321::21 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit route-map p4 sequence 10 act deny match network 2.2.2.12/32 sequence 20 act perm match network 0.0.0.0/0 le 32 exit route-map p6 sequence 10 act deny match network 4321::12/128 sequence 20 act perm match network ::/0 le 128 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena router rip4 1 route-map-in p4 router rip6 1 route-map-in p6 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 autosumm red conn exit router rip6 1 vrf v1 autosumm red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.12 255.255.255.255 ipv6 addr 4321::12 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo2 vrf for v1 ipv4 addr 2.2.2.13 255.255.255.255 ipv6 addr 4321::13 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: router rip4 1 ena router rip6 1 ena exit ! r1 tping 100 130 2.2.2.2 vrf v1 r1 tping 100 130 4321::2 vrf v1 r1 tping 100 130 2.2.2.3 vrf v1 r1 tping 100 130 4321::3 vrf v1 r1 tping 100 130 2.2.2.12 vrf v1 r1 tping 100 130 4321::12 vrf v1 r2 tping 100 130 2.2.2.1 vrf v1 r2 tping 100 130 4321::1 vrf v1 r2 tping 100 130 2.2.2.11 vrf v1 r2 tping 100 130 4321::11 vrf v1 r2 tping 100 130 2.2.2.21 vrf v1 r2 tping 100 130 4321::21 vrf v1 r2 output show ipv4 rip 1 sum r2 output show ipv6 rip 1 sum r2 output show ipv4 rip 1 dat r2 output show ipv6 rip 1 dat r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-static01.tst000066400000000000000000000035231510423065500172200ustar00rootroot00000000000000description static routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.1.5 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 route v1 :: :: 1234:2::2 ! r2 tping 100 5 2.2.2.201 vrf v1 r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::201 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r3 tping 100 5 2.2.2.101 vrf v1 r3 tping 100 5 4321::101 vrf v1 r2 output show ipv4 route v1 r2 output show ipv6 route v1 output ../binTmp/rout-static.html here are the ipv4 routes:
show:0
here are the ipv6 routes:
show:1
! freeRtr-25.11.9/cfg/rout-static02.tst000066400000000000000000000032141510423065500172160ustar00rootroot00000000000000description static routing with distance addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 dist 22 ipv6 route v1 :: :: 1234:1::2 dist 22 ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.2 dist 11 ipv6 route v1 :: :: 1234:2::2 dist 11 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 dist 22 ipv6 route v1 :: :: 1234:1::1 dist 22 ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.1 dist 11 ipv6 route v1 :: :: 1234:2::1 dist 11 ! r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r1 send conf t r1 send int eth2 r1 send shut r1 send end r2 send conf t r2 send int eth2 r2 send shut r2 send end r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-static03.tst000066400000000000000000000044401510423065500172210ustar00rootroot00000000000000description static routing with icmp tracker addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: shut exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit tracker t1 vrf v1 targ 1.1.2.2 mod icmp inter 1000 time 500 start exit tracker t2 vrf v1 targ 1234:2::2 mod icmp inter 1000 time 500 start exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 dist 22 ipv6 route v1 :: :: 1234:1::2 dist 22 ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.2 dist 11 track t1 ipv6 route v1 :: :: 1234:2::2 dist 11 track t2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit tracker t1 vrf v1 targ 1.1.2.1 mod icmp inter 1000 time 500 start exit tracker t2 vrf v1 targ 1234:2::1 mod icmp inter 1000 time 500 start exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 dist 22 ipv6 route v1 :: :: 1234:1::1 dist 22 ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.1 dist 11 track t1 ipv6 route v1 :: :: 1234:2::1 dist 11 track t2 ! r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r2 output show tracker r2 output show ipv4 route v1 r2 output show ipv6 route v1 r1 send conf t r1 send int eth1 r1 send no shut r1 send exit r1 send int eth2 r1 send shut r1 send end r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 output ../binTmp/rout-track.html here is the tracker:
show:0
here are the ipv4 routes:
show:1
here are the ipv6 routes:
show:2
! freeRtr-25.11.9/cfg/rout-static04.tst000066400000000000000000000041001510423065500172130ustar00rootroot00000000000000description static routing with tcp tracker addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: shut exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit server tel tel vrf v1 exit tracker t1 vrf v1 targ 1.1.2.2 siz 23 mod tcp inter 1000 time 500 start exit tracker t2 vrf v1 targ 1234:2::2 siz 23 mod tcp inter 1000 time 500 start exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 dist 22 ipv6 route v1 :: :: 1234:1::2 dist 22 ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.2 dist 11 track t1 ipv6 route v1 :: :: 1234:2::2 dist 11 track t2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit server tel tel vrf v1 exit tracker t1 vrf v1 targ 1.1.2.1 siz 23 mod tcp inter 1000 time 500 start exit tracker t2 vrf v1 targ 1234:2::1 siz 23 mod tcp inter 1000 time 500 start exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 dist 22 ipv6 route v1 :: :: 1234:1::1 dist 22 ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.1 dist 11 track t1 ipv6 route v1 :: :: 1234:2::1 dist 11 track t2 ! r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r1 send conf t r1 send int eth1 r1 send no shut r1 send exit r1 send int eth2 r1 send shut r1 send end r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-static05.tst000066400000000000000000000051071510423065500172240ustar00rootroot00000000000000description static routing with bfd tracker addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: shut exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 bfd 100 100 3 ipv6 bfd 100 100 3 exit server tel tel vrf v1 exit tracker t1 vrf v1 targ 1.1.2.2 mod bfd inter 1000 time 500 start exit tracker t2 vrf v1 targ 1234:2::2 mod bfd inter 1000 time 500 start exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 dist 22 ipv6 route v1 :: :: 1234:1::2 dist 22 ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.2 dist 11 track t1 ipv6 route v1 :: :: 1234:2::2 dist 11 track t2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 bfd 100 100 3 ipv6 bfd 100 100 3 exit server tel tel vrf v1 exit tracker t1 vrf v1 targ 1.1.2.1 mod bfd inter 1000 time 500 start exit tracker t2 vrf v1 targ 1234:2::1 mod bfd inter 1000 time 500 start exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 dist 22 ipv6 route v1 :: :: 1234:1::1 dist 22 ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.1 dist 11 track t1 ipv6 route v1 :: :: 1234:2::1 dist 11 track t2 ! r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r2 output show tracker r2 output show ipv4 bfd v1 nei r2 output show ipv6 bfd v1 nei r2 output show ipv4 route v1 r2 output show ipv6 route v1 r1 send conf t r1 send int eth1 r1 send no shut r1 send exit r1 send int eth2 r1 send shut r1 send end r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 output ../binTmp/rout-bfd.html here are the trackers:
show:0
here is the ipv4 neighbor:
show:1
here is the ipv6 neighbor:
show:2
here are the ipv4 routes:
show:3
here are the ipv6 routes:
show:4
! freeRtr-25.11.9/cfg/rout-static06.tst000066400000000000000000000051731510423065500172300ustar00rootroot00000000000000description static routing with labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls ena exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 mplsexp ipv6 route v1 :: :: 1234:1::2 mplsexp ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls ena exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 mplsexp ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 mplsexp ipv4 route v1 2.2.2.201 255.255.255.255 1.1.1.5 mplsexp ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 mplsexp ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls ena exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.6 mplsexp ipv6 route v1 :: :: 1234:2::2 mplsexp ! r2 tping 100 5 2.2.2.201 vrf v1 sou lo0 r2 tping 100 5 2.2.2.101 vrf v1 sou lo0 r2 tping 100 5 4321::201 vrf v1 sou lo0 r2 tping 100 5 4321::101 vrf v1 sou lo0 r1 tping 100 5 2.2.2.201 vrf v1 sou lo0 r1 tping 100 5 4321::201 vrf v1 sou lo0 r3 tping 100 5 2.2.2.101 vrf v1 sou lo0 r3 tping 100 5 4321::101 vrf v1 sou lo0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-static07.tst000066400000000000000000000023541510423065500172270ustar00rootroot00000000000000description static routing with interface addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:ffff:: exit ipv4 route v1 1.1.1.2 255.255.255.255 1.1.1.2 inter eth1 ipv4 route v1 1.1.1.3 255.255.255.255 1.1.1.3 inter eth2 ipv6 route v1 1234::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::2 int eth1 ipv6 route v1 1234::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234::3 int eth2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:ffff:: exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.0 ipv6 addr 1234::3 ffff:ffff:: exit ! r1 tping 100 5 1.1.1.2 vrf v1 r1 tping 100 5 1.1.1.3 vrf v1 r1 tping 100 5 1234::2 vrf v1 r1 tping 100 5 1234::3 vrf v1 r2 tping 100 5 1.1.1.1 vrf v1 r2 tping 100 5 1234::1 vrf v1 r3 tping 100 5 1.1.1.1 vrf v1 r3 tping 100 5 1234::1 vrf v1 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-static08.tst000066400000000000000000000033531510423065500172300ustar00rootroot00000000000000description static routing over point2point ethernet addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.3 255.255.255.254 ipv6 addr 1234:1::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.254 ipv6 addr 1234:1::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.254 ipv6 addr 1234:2::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.3 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.1.7 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.7 255.255.255.254 ipv6 addr 1234:2::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 route v1 :: :: 1234:2::2 ! r2 tping 100 5 2.2.2.201 vrf v1 r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::201 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r3 tping 100 5 2.2.2.101 vrf v1 r3 tping 100 5 4321::101 vrf v1 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-static09.tst000066400000000000000000000046001510423065500172250ustar00rootroot00000000000000description recursive static routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.1.5 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ipv4 route v1 2.2.2.102 255.255.255.255 2.2.2.101 recurigp ipv6 route v1 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 4321::101 recurigp ipv4 route v1 2.2.2.202 255.255.255.255 2.2.2.201 recurigp ipv6 route v1 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 4321::201 recurigp ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.202 255.255.255.255 ipv6 addr 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 route v1 :: :: 1234:2::2 ! r2 tping 100 5 2.2.2.201 vrf v1 r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::201 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r3 tping 100 5 2.2.2.101 vrf v1 r3 tping 100 5 4321::101 vrf v1 r2 tping 100 5 2.2.2.202 vrf v1 r2 tping 100 5 2.2.2.102 vrf v1 r2 tping 100 5 4321::202 vrf v1 r2 tping 100 5 4321::102 vrf v1 r1 tping 100 5 2.2.2.202 vrf v1 r1 tping 100 5 4321::202 vrf v1 r3 tping 100 5 2.2.2.102 vrf v1 r3 tping 100 5 4321::102 vrf v1 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-static10.tst000066400000000000000000000071661510423065500172270ustar00rootroot00000000000000description recursive static routing with labels addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls ena exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 mplsexp ipv6 route v1 :: :: 1234:1::2 mplsexp ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.222 255.255.255.255 ipv6 addr 4321::222 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.111 255.255.255.255 ipv6 addr 4321::111 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls ena exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls ena exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 mplsexp ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 mplsexp ipv4 route v1 2.2.2.201 255.255.255.255 1.1.1.5 mplsexp ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 mplsexp ipv4 route v1 2.2.2.102 255.255.255.255 2.2.2.101 recurigp mplsexp ipv6 route v1 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 4321::101 recurigp mplsexp ipv4 route v1 2.2.2.202 255.255.255.255 2.2.2.201 recurigp mplsexp ipv6 route v1 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 4321::201 recurigp mplsexp ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit access-list test4 deny 1 any all any all permit all any all any all exit access-list test6 deny all 4321:: ffff:: all 4321:: ffff:: all permit all any all any all exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.202 255.255.255.255 ipv6 addr 4321::202 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: ipv4 access-group-in test4 ipv6 access-group-in test6 mpls ena exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.6 mplsexp ipv6 route v1 :: :: 1234:2::2 mplsexp ! r2 tping 100 5 2.2.2.201 vrf v1 sou lo0 r2 tping 100 5 2.2.2.101 vrf v1 sou lo0 r2 tping 100 5 4321::201 vrf v1 sou lo0 r2 tping 100 5 4321::101 vrf v1 sou lo0 r1 tping 100 5 2.2.2.201 vrf v1 sou lo0 r1 tping 100 5 4321::201 vrf v1 sou lo0 r3 tping 100 5 2.2.2.101 vrf v1 sou lo0 r3 tping 100 5 4321::101 vrf v1 sou lo0 r2 tping 100 5 2.2.2.202 vrf v1 sou lo1 r2 tping 100 5 2.2.2.102 vrf v1 sou lo1 r2 tping 100 5 4321::202 vrf v1 sou lo1 r2 tping 100 5 4321::102 vrf v1 sou lo1 r1 tping 100 5 2.2.2.202 vrf v1 sou lo1 r1 tping 100 5 4321::202 vrf v1 sou lo1 r3 tping 100 5 2.2.2.102 vrf v1 sou lo1 r3 tping 100 5 4321::102 vrf v1 sou lo1 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-static11.tst000066400000000000000000000026041510423065500172200ustar00rootroot00000000000000description static routing with ecmp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 id 22 ipv6 route v1 :: :: 1234:1::2 id 22 ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.2 id 11 ipv6 route v1 :: :: 1234:2::2 id 11 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 id 22 ipv6 route v1 :: :: 1234:1::1 id 22 ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.1 id 11 ipv6 route v1 :: :: 1234:2::1 id 11 ! r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-static12.tst000066400000000000000000000040361510423065500172220ustar00rootroot00000000000000description static routing with udp tracker addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: shut exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit server echo e vrf v1 exit tracker t1 vrf v1 targ 1.1.2.2 mod udp inter 1000 time 500 start exit tracker t2 vrf v1 targ 1234:2::2 mod udp inter 1000 time 500 start exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 dist 22 ipv6 route v1 :: :: 1234:1::2 dist 22 ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.2 dist 11 track t1 ipv6 route v1 :: :: 1234:2::2 dist 11 track t2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit server echo e vrf v1 exit tracker t1 vrf v1 targ 1.1.2.1 mod udp inter 1000 time 500 start exit tracker t2 vrf v1 targ 1234:2::1 mod udp inter 1000 time 500 start exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 dist 22 ipv6 route v1 :: :: 1234:1::1 dist 22 ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.1 dist 11 track t1 ipv6 route v1 :: :: 1234:2::1 dist 11 track t2 ! r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r1 send conf t r1 send int eth1 r1 send no shut r1 send exit r1 send int eth2 r1 send shut r1 send end r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-static13.tst000066400000000000000000000040521510423065500172210ustar00rootroot00000000000000description static routing with twamp tracker addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: shut exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit server twamp t vrf v1 exit tracker t1 vrf v1 targ 1.1.2.2 mod twamp inter 1000 time 500 start exit tracker t2 vrf v1 targ 1234:2::2 mod twamp inter 1000 time 500 start exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 dist 22 ipv6 route v1 :: :: 1234:1::2 dist 22 ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.2 dist 11 track t1 ipv6 route v1 :: :: 1234:2::2 dist 11 track t2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit server twamp t vrf v1 exit tracker t1 vrf v1 targ 1.1.2.1 mod twamp inter 1000 time 500 start exit tracker t2 vrf v1 targ 1234:2::1 mod twamp inter 1000 time 500 start exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 dist 22 ipv6 route v1 :: :: 1234:1::1 dist 22 ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.1 dist 11 track t1 ipv6 route v1 :: :: 1234:2::1 dist 11 track t2 ! r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r1 send conf t r1 send int eth1 r1 send no shut r1 send exit r1 send int eth2 r1 send shut r1 send end r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-static14.tst000066400000000000000000000035661510423065500172330ustar00rootroot00000000000000description static routing with interface tracker addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: shut exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit tracker t1 targ eth2 mod inter inter 1000 time 500 start exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 dist 22 ipv6 route v1 :: :: 1234:1::2 dist 22 ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.2 dist 11 track t1 ipv6 route v1 :: :: 1234:2::2 dist 11 track t1 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit tracker t1 targ eth2 mod inter inter 1000 time 500 start exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 dist 22 ipv6 route v1 :: :: 1234:1::1 dist 22 ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.1 dist 11 track t1 ipv6 route v1 :: :: 1234:2::1 dist 11 track t1 ! r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r1 send conf t r1 send int eth1 r1 send no shut r1 send exit r1 send int eth2 r1 send shut r1 send end r2 send conf t r2 send int eth2 r2 send shut r2 send end r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-static15.tst000066400000000000000000000036151510423065500172270ustar00rootroot00000000000000description static routing with prefix tracker addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: shut exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit tracker t1 vrf v1 targ 1.1.2.0/30 mod pref inter 1000 time 500 start exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 dist 22 ipv6 route v1 :: :: 1234:1::2 dist 22 ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.2 dist 11 track t1 ipv6 route v1 :: :: 1234:2::2 dist 11 track t1 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit tracker t1 vrf v1 targ 1.1.2.0/30 mod pref inter 1000 time 500 start exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 dist 22 ipv6 route v1 :: :: 1234:1::1 dist 22 ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.1 dist 11 track t1 ipv6 route v1 :: :: 1234:2::1 dist 11 track t1 ! r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r1 send conf t r1 send int eth1 r1 send no shut r1 send exit r1 send int eth2 r1 send shut r1 send end r2 send conf t r2 send int eth2 r2 send shut r2 send end r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-static16.tst000066400000000000000000000037661510423065500172370ustar00rootroot00000000000000description static routing with other tracker addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: shut exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit tracker t1 targ eth2 mod inter inter 1000 time 500 start exit tracker t2 targ t1 mod other inter 1000 time 500 start exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 dist 22 ipv6 route v1 :: :: 1234:1::2 dist 22 ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.2 dist 11 track t2 ipv6 route v1 :: :: 1234:2::2 dist 11 track t2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit tracker t1 targ eth2 mod inter inter 1000 time 500 start exit tracker t2 targ t1 mod other inter 1000 time 500 start exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 dist 22 ipv6 route v1 :: :: 1234:1::1 dist 22 ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.1 dist 11 track t2 ipv6 route v1 :: :: 1234:2::1 dist 11 track t2 ! r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r1 send conf t r1 send int eth1 r1 send no shut r1 send exit r1 send int eth2 r1 send shut r1 send end r2 send conf t r2 send int eth2 r2 send shut r2 send end r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-static17.tst000066400000000000000000000037061510423065500172320ustar00rootroot00000000000000description static routing with check tracker addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: shut exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit check c1 comm sho inter descr train exit tracker t1 targ c1 mod check inter 1000 time 500 start exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 dist 22 ipv6 route v1 :: :: 1234:1::2 dist 22 ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.2 dist 11 track t1 ipv6 route v1 :: :: 1234:2::2 dist 11 track t1 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit check c1 comm sho inter descr train exit tracker t1 targ c1 mod check inter 1000 time 500 start exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 dist 22 ipv6 route v1 :: :: 1234:1::1 dist 22 ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.1 dist 11 track t1 ipv6 route v1 :: :: 1234:2::1 dist 11 track t1 ! r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r1 send conf t r1 send int eth1 r1 send no shut r1 send exit r1 send int eth2 r1 send shut r1 send end r2 send conf t r2 send int eth2 r2 send shut r2 send end r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-static18.tst000066400000000000000000000040371510423065500172310ustar00rootroot00000000000000description static routing with nrpe tracker addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: shut exit int eth2 vrf for v1 ipv4 addr 1.1.2.1 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit server nrpe n vrf v1 exit check c1 comm sho inter descr train exit tracker t1 targ 2.2.2.101/c1 vrf v1 mod nrpe inter 1000 time 500 start exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 dist 22 ipv6 route v1 :: :: 1234:1::2 dist 22 ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.2 dist 11 track t1 ipv6 route v1 :: :: 1234:2::2 dist 11 track t1 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.2.2 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit server nrpe n vrf v1 exit check c1 comm sho inter descr train exit tracker t1 targ 2.2.2.201/c1 vrf v1 mod nrpe inter 1000 time 500 start exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 dist 22 ipv6 route v1 :: :: 1234:1::1 dist 22 ipv4 route v1 0.0.0.0 0.0.0.0 1.1.2.1 dist 11 track t1 ipv6 route v1 :: :: 1234:2::1 dist 11 track t1 ! r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r1 send conf t r1 send int eth1 r1 send no shut r1 send exit r1 send int eth2 r1 send shut r1 send end r2 send conf t r2 send int eth2 r2 send shut r2 send end r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-static19.tst000066400000000000000000000047671510423065500172440ustar00rootroot00000000000000description verify source with static routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::3 ffff:ffff:ffff:ffff:: ipv4 verify rx ipv6 verify rx exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:ffff:ffff:: ipv4 verify rx ipv6 verify rx exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 ipv4 route v1 2.2.2.99 255.255.255.255 1.1.1.10 ipv6 route v1 4321::99 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:ffff:ffff:: ipv4 verify rx ipv6 verify rx exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:ffff:ffff:: ipv4 verify rx ipv6 verify rx exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.1.5 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.99 255.255.255.255 ipv6 addr 4321::99 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::3 ffff:ffff:ffff:ffff:: ipv4 verify rx ipv6 verify rx exit int eth2 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::3 ffff:ffff:ffff:ffff:: ipv4 verify rx ipv6 verify rx exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 route v1 :: :: 1234:2::2 ! r2 tping 100 5 2.2.2.201 vrf v1 r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::201 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r3 tping 100 5 2.2.2.101 vrf v1 r3 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.99 vrf v1 r1 tping 100 5 4321::99 vrf v1 r1 tping 0 5 2.2.2.99 vrf v1 sou lo0 r1 tping 0 5 4321::99 vrf v1 sou lo0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-static20.tst000066400000000000000000000050111510423065500172130ustar00rootroot00000000000000description loose verify source with static routing addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::3 ffff:ffff:ffff:ffff:: ipv4 verify any ipv6 verify any exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:ffff:ffff:: ipv4 verify any ipv6 verify any exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1234:1::2 ipv4 route v1 2.2.2.99 255.255.255.255 1.1.1.10 ipv6 route v1 4321::99 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:3::3 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:ffff:ffff:: ipv4 verify any ipv6 verify any exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:ffff:ffff:: ipv4 verify any ipv6 verify any exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::3 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.1.5 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::3 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.99 255.255.255.255 ipv6 addr 4321::99 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::3 ffff:ffff:ffff:ffff:: ipv4 verify any ipv6 verify any exit int eth2 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::3 ffff:ffff:ffff:ffff:: ipv4 verify any ipv6 verify any exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 route v1 :: :: 1234:2::2 ! r2 tping 100 5 2.2.2.201 vrf v1 r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::201 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r3 tping 100 5 2.2.2.101 vrf v1 r3 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.99 vrf v1 r1 tping 100 5 4321::99 vrf v1 r1 tping 0 5 2.2.2.99 vrf v1 sou lo0 r1 tping 0 5 4321::99 vrf v1 sou lo0 r2 output show ipv4 route v1 r2 output show ipv6 route v1 freeRtr-25.11.9/cfg/rout-static21.tst000066400000000000000000000175721510423065500172330ustar00rootroot00000000000000description static routing with lpm addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.1111 $3a$ $3b$ int eth4 eth 0000.0000.1111 $4a$ $4b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit int eth3 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit int eth4 vrf for v1 ipv4 addr 1.1.1.13 255.255.255.252 ipv6 addr 1234:4::1 ffff:ffff:: exit ipv4 route v1 2.2.2.102 255.255.255.255 1.1.1.2 ipv6 route v1 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::2 ipv4 route v1 2.2.2.0 255.255.255.0 1.1.1.6 ipv6 route v1 4321:: ffff:: 1234:2::2 ipv4 route v1 2.2.0.0 255.255.0.0 1.1.1.10 ipv6 route v1 4320:: fff0:: 1234:3::2 ipv4 route v1 2.0.0.0 255.0.0.0 1.1.1.14 ipv6 route v1 4300:: ff00:: 1234:4::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.102 255.255.255.255 ipv6 addr 4321::102 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234:1::1 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.103 255.255.255.255 ipv6 addr 4321::103 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.2.23 255.255.255.255 ipv6 addr 4321::23 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.1.104 255.255.255.255 ipv6 addr 4320::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.2.3.104 255.255.255.255 ipv6 addr 4322::104 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.9 ipv6 route v1 :: :: 1234:3::1 ! addrouter r5 int eth1 eth 0000.0000.4444 $4b$ $4a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.1.2.105 255.255.255.255 ipv6 addr 4311::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int lo1 vrf for v1 ipv4 addr 2.3.2.105 255.255.255.255 ipv6 addr 4331::105 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.14 255.255.255.252 ipv6 addr 1234:4::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.13 ipv6 route v1 :: :: 1234:4::1 ! r1 tping 100 5 2.2.2.101 vrf v1 sou lo0 r1 tping 100 5 4321::101 vrf v1 sou lo0 r1 tping 100 5 2.2.2.102 vrf v1 sou lo0 r1 tping 100 5 4321::102 vrf v1 sou lo0 r1 tping 100 5 2.2.2.103 vrf v1 sou lo0 r1 tping 100 5 4321::103 vrf v1 sou lo0 r1 tping 100 5 2.2.2.23 vrf v1 sou lo0 r1 tping 100 5 4321::23 vrf v1 sou lo0 r1 tping 100 5 2.2.1.104 vrf v1 sou lo0 r1 tping 100 5 4320::104 vrf v1 sou lo0 r1 tping 100 5 2.2.3.104 vrf v1 sou lo0 r1 tping 100 5 4322::104 vrf v1 sou lo0 r1 tping 100 5 2.1.2.105 vrf v1 sou lo0 r1 tping 100 5 4311::105 vrf v1 sou lo0 r1 tping 100 5 2.3.2.105 vrf v1 sou lo0 r1 tping 100 5 4331::105 vrf v1 sou lo0 r2 tping 100 5 2.2.2.101 vrf v1 sou lo0 r2 tping 100 5 4321::101 vrf v1 sou lo0 r2 tping 100 5 2.2.2.102 vrf v1 sou lo0 r2 tping 100 5 4321::102 vrf v1 sou lo0 r2 tping 100 5 2.2.2.103 vrf v1 sou lo0 r2 tping 100 5 4321::103 vrf v1 sou lo0 r2 tping 100 5 2.2.2.23 vrf v1 sou lo0 r2 tping 100 5 4321::23 vrf v1 sou lo0 r2 tping 100 5 2.2.1.104 vrf v1 sou lo0 r2 tping 100 5 4320::104 vrf v1 sou lo0 r2 tping 100 5 2.2.3.104 vrf v1 sou lo0 r2 tping 100 5 4322::104 vrf v1 sou lo0 r2 tping 100 5 2.1.2.105 vrf v1 sou lo0 r2 tping 100 5 4311::105 vrf v1 sou lo0 r2 tping 100 5 2.3.2.105 vrf v1 sou lo0 r2 tping 100 5 4331::105 vrf v1 sou lo0 r3 tping 100 5 2.2.2.101 vrf v1 sou lo0 r3 tping 100 5 4321::101 vrf v1 sou lo0 r3 tping 100 5 2.2.2.102 vrf v1 sou lo0 r3 tping 100 5 4321::102 vrf v1 sou lo0 r3 tping 100 5 2.2.2.103 vrf v1 sou lo0 r3 tping 100 5 4321::103 vrf v1 sou lo0 r3 tping 100 5 2.2.2.23 vrf v1 sou lo0 r3 tping 100 5 4321::23 vrf v1 sou lo0 r3 tping 100 5 2.2.1.104 vrf v1 sou lo0 r3 tping 100 5 4320::104 vrf v1 sou lo0 r3 tping 100 5 2.2.3.104 vrf v1 sou lo0 r3 tping 100 5 4322::104 vrf v1 sou lo0 r3 tping 100 5 2.1.2.105 vrf v1 sou lo0 r3 tping 100 5 4311::105 vrf v1 sou lo0 r3 tping 100 5 2.3.2.105 vrf v1 sou lo0 r3 tping 100 5 4331::105 vrf v1 sou lo0 r4 tping 100 5 2.2.2.101 vrf v1 sou lo0 r4 tping 100 5 4321::101 vrf v1 sou lo0 r4 tping 100 5 2.2.2.102 vrf v1 sou lo0 r4 tping 100 5 4321::102 vrf v1 sou lo0 r4 tping 100 5 2.2.2.103 vrf v1 sou lo0 r4 tping 100 5 4321::103 vrf v1 sou lo0 r4 tping 100 5 2.2.2.23 vrf v1 sou lo0 r4 tping 100 5 4321::23 vrf v1 sou lo0 r4 tping 100 5 2.2.1.104 vrf v1 sou lo0 r4 tping 100 5 4320::104 vrf v1 sou lo0 r4 tping 100 5 2.2.3.104 vrf v1 sou lo0 r4 tping 100 5 4322::104 vrf v1 sou lo0 r4 tping 100 5 2.1.2.105 vrf v1 sou lo0 r4 tping 100 5 4311::105 vrf v1 sou lo0 r4 tping 100 5 2.3.2.105 vrf v1 sou lo0 r4 tping 100 5 4331::105 vrf v1 sou lo0 r5 tping 100 5 2.2.2.101 vrf v1 sou lo0 r5 tping 100 5 4321::101 vrf v1 sou lo0 r5 tping 100 5 2.2.2.102 vrf v1 sou lo0 r5 tping 100 5 4321::102 vrf v1 sou lo0 r5 tping 100 5 2.2.2.103 vrf v1 sou lo0 r5 tping 100 5 4321::103 vrf v1 sou lo0 r5 tping 100 5 2.2.2.23 vrf v1 sou lo0 r5 tping 100 5 4321::23 vrf v1 sou lo0 r5 tping 100 5 2.2.1.104 vrf v1 sou lo0 r5 tping 100 5 4320::104 vrf v1 sou lo0 r5 tping 100 5 2.2.3.104 vrf v1 sou lo0 r5 tping 100 5 4322::104 vrf v1 sou lo0 r5 tping 100 5 2.1.2.105 vrf v1 sou lo0 r5 tping 100 5 4311::105 vrf v1 sou lo0 r5 tping 100 5 2.3.2.105 vrf v1 sou lo0 r5 tping 100 5 4331::105 vrf v1 sou lo0 r3 tping 100 5 2.2.2.101 vrf v1 sou lo1 r3 tping 100 5 4321::101 vrf v1 sou lo1 r3 tping 100 5 2.2.2.102 vrf v1 sou lo1 r3 tping 100 5 4321::102 vrf v1 sou lo1 r3 tping 100 5 2.2.2.103 vrf v1 sou lo1 r3 tping 100 5 4321::103 vrf v1 sou lo1 r3 tping 100 5 2.2.2.23 vrf v1 sou lo1 r3 tping 100 5 4321::23 vrf v1 sou lo1 r3 tping 100 5 2.2.1.104 vrf v1 sou lo1 r3 tping 100 5 4320::104 vrf v1 sou lo1 r3 tping 100 5 2.2.3.104 vrf v1 sou lo1 r3 tping 100 5 4322::104 vrf v1 sou lo1 r3 tping 100 5 2.1.2.105 vrf v1 sou lo1 r3 tping 100 5 4311::105 vrf v1 sou lo1 r3 tping 100 5 2.3.2.105 vrf v1 sou lo1 r3 tping 100 5 4331::105 vrf v1 sou lo1 r4 tping 100 5 2.2.2.101 vrf v1 sou lo1 r4 tping 100 5 4321::101 vrf v1 sou lo1 r4 tping 100 5 2.2.2.102 vrf v1 sou lo1 r4 tping 100 5 4321::102 vrf v1 sou lo1 r4 tping 100 5 2.2.2.103 vrf v1 sou lo1 r4 tping 100 5 4321::103 vrf v1 sou lo1 r4 tping 100 5 2.2.2.23 vrf v1 sou lo1 r4 tping 100 5 4321::23 vrf v1 sou lo1 r4 tping 100 5 2.2.1.104 vrf v1 sou lo1 r4 tping 100 5 4320::104 vrf v1 sou lo1 r4 tping 100 5 2.2.3.104 vrf v1 sou lo1 r4 tping 100 5 4322::104 vrf v1 sou lo1 r4 tping 100 5 2.1.2.105 vrf v1 sou lo1 r4 tping 100 5 4311::105 vrf v1 sou lo1 r4 tping 100 5 2.3.2.105 vrf v1 sou lo1 r4 tping 100 5 4331::105 vrf v1 sou lo1 r5 tping 100 5 2.2.2.101 vrf v1 sou lo1 r5 tping 100 5 4321::101 vrf v1 sou lo1 r5 tping 100 5 2.2.2.102 vrf v1 sou lo1 r5 tping 100 5 4321::102 vrf v1 sou lo1 r5 tping 100 5 2.2.2.103 vrf v1 sou lo1 r5 tping 100 5 4321::103 vrf v1 sou lo1 r5 tping 100 5 2.2.2.23 vrf v1 sou lo1 r5 tping 100 5 4321::23 vrf v1 sou lo1 r5 tping 100 5 2.2.1.104 vrf v1 sou lo1 r5 tping 100 5 4320::104 vrf v1 sou lo1 r5 tping 100 5 2.2.3.104 vrf v1 sou lo1 r5 tping 100 5 4322::104 vrf v1 sou lo1 r5 tping 100 5 2.1.2.105 vrf v1 sou lo1 r5 tping 100 5 4311::105 vrf v1 sou lo1 r5 tping 100 5 2.3.2.105 vrf v1 sou lo1 r5 tping 100 5 4331::105 vrf v1 sou lo1 freeRtr-25.11.9/cfg/rout-static22.tst000066400000000000000000000030601510423065500172170ustar00rootroot00000000000000description static routing over ipv4 nexthop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 ipv6 route v1 :: :: 1.1.1.2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1.1.1.1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.1.5 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1.1.1.5 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.6 ipv6 route v1 :: :: 1.1.1.6 ! r2 tping 100 5 2.2.2.201 vrf v1 r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::201 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r3 tping 100 5 2.2.2.101 vrf v1 r3 tping 100 5 4321::101 vrf v1 freeRtr-25.11.9/cfg/rout-static23.tst000066400000000000000000000031001510423065500172130ustar00rootroot00000000000000description static routing over ipv6 nexthop addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1234:1::2 ipv6 route v1 :: :: 1234:1::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1234:1::1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 ipv4 route v1 2.2.2.201 255.255.255.255 1234:2::1 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1234:2::2 ipv6 route v1 :: :: 1234:2::2 ! r2 tping 100 5 2.2.2.201 vrf v1 r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::201 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r3 tping 100 5 2.2.2.101 vrf v1 r3 tping 100 5 4321::101 vrf v1 freeRtr-25.11.9/cfg/rout-static24.tst000066400000000000000000000032271510423065500172260ustar00rootroot00000000000000description static routing over ipv4 nexthop with interface addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.2 inter eth1 ipv6 route v1 :: :: 1.1.1.2 inter eth1 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1.1.1.1 inter eth1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1.1.1.1 inter eth1 ipv4 route v1 2.2.2.201 255.255.255.255 1.1.1.5 inter eth2 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1.1.1.5 inter eth2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.6 inter eth1 ipv6 route v1 :: :: 1.1.1.6 inter eth1 ! r2 tping 100 5 2.2.2.201 vrf v1 r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::201 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r3 tping 100 5 2.2.2.101 vrf v1 r3 tping 100 5 4321::101 vrf v1 freeRtr-25.11.9/cfg/rout-static25.tst000066400000000000000000000032471510423065500172310ustar00rootroot00000000000000description static routing over ipv6 nexthop with interface addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.101 255.255.255.255 ipv6 addr 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1234:1::2 inter eth1 ipv6 route v1 :: :: 1234:1::2 inter eth1 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 2.2.2.101 255.255.255.255 1234:1::1 inter eth1 ipv6 route v1 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:1::1 inter eth1 ipv4 route v1 2.2.2.201 255.255.255.255 1234:2::1 inter eth2 ipv6 route v1 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 1234:2::1 inter eth2 ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.201 255.255.255.255 ipv6 addr 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1234:2::2 inter eth1 ipv6 route v1 :: :: 1234:2::2 inter eth1 ! r2 tping 100 5 2.2.2.201 vrf v1 r2 tping 100 5 2.2.2.101 vrf v1 r2 tping 100 5 4321::201 vrf v1 r2 tping 100 5 4321::101 vrf v1 r1 tping 100 5 2.2.2.201 vrf v1 r1 tping 100 5 4321::201 vrf v1 r3 tping 100 5 2.2.2.101 vrf v1 r3 tping 100 5 4321::101 vrf v1 freeRtr-25.11.9/cfg/serv-bmp01.tst000066400000000000000000000075321510423065500165010ustar00rootroot00000000000000description static bmp peer addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 2 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 shut exit router bgp6 2 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 shut exit server bmp bmp neigh 1.1.1.1 1.1.1.2 rx bgp4 2 1.1.1.2 neigh 1.1.1.1 1234:1::2 rx bgp6 2 1234:1::2 port 17971 vrf v1 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 monitor bmp p1 1.1.1.1 17971 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 distan 255 neigh 1.1.1.2 monitor bmp red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 monitor bmp p1 1.1.1.1 17971 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 distan 255 neigh 1234:1::2 monitor bmp red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.6 remote-as 3 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:2::2 remote-as 3 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.10 remote-as 4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:3::2 remote-as 4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/serv-bmp02.tst000066400000000000000000000075631510423065500165060ustar00rootroot00000000000000description dynamic bmp peer addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.255 ipv6 addr 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit router bgp4 2 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 temp t remote-as 2 temp t shut exit router bgp6 2 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 temp t remote-as 2 temp t shut exit access-list test permit all any all any all exit server bmp bmp1 dynei test rx bgp4 2 t port 17971 vrf v1 exit server bmp bmp2 dynei test rx bgp6 2 t port 17972 vrf v1 exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 4.4.4.1 monitor bmp p1 1.1.1.1 17971 neigh 1.1.1.2 remote-as 2 neigh 1.1.1.2 distan 255 neigh 1.1.1.2 monitor bmp red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 1 router-id 6.6.6.1 monitor bmp p1 1.1.1.1 17972 neigh 1234:1::2 remote-as 2 neigh 1234:1::2 distan 255 neigh 1234:1::2 monitor bmp red conn exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 4321::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 4.4.4.2 neigh 1.1.1.1 remote-as 1 neigh 1.1.1.6 remote-as 3 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 2 router-id 6.6.6.2 neigh 1234:1::1 remote-as 1 neigh 1234:2::2 remote-as 3 red conn exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ int eth2 eth 0000.0000.3333 $3a$ $3b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 4321::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 4.4.4.3 neigh 1.1.1.5 remote-as 2 neigh 1.1.1.10 remote-as 4 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 3 router-id 6.6.6.3 neigh 1234:2::1 remote-as 2 neigh 1234:3::2 remote-as 4 red conn exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 4321::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit router bgp4 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 4.4.4.4 neigh 1.1.1.9 remote-as 3 red conn exit router bgp6 1 vrf v1 no safe-ebgp address uni local-as 4 router-id 6.6.6.4 neigh 1234:3::1 remote-as 3 red conn exit ! r1 tping 100 60 2.2.2.2 vrf v1 r1 tping 100 60 4321::2 vrf v1 r1 tping 100 60 2.2.2.3 vrf v1 r1 tping 100 60 4321::3 vrf v1 r1 tping 100 60 2.2.2.4 vrf v1 r1 tping 100 60 4321::4 vrf v1 r2 tping 100 60 2.2.2.1 vrf v1 r2 tping 100 60 4321::1 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 4321::3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 4321::4 vrf v1 r3 tping 100 60 2.2.2.1 vrf v1 r3 tping 100 60 4321::1 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 4321::2 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 4321::4 vrf v1 r4 tping 100 60 2.2.2.1 vrf v1 r4 tping 100 60 4321::1 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 4321::2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 4321::3 vrf v1 freeRtr-25.11.9/cfg/serv-dns01.tst000066400000000000000000000014741510423065500165060ustar00rootroot00000000000000description authoritative dns server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit server dns dns zone test.corp defttl 43200 rr ip4a.test.corp ip4a 1.1.1.1 rr ip6a.test.corp ip6a 1234::1 rr ip4i.test.corp ip4i eth1 rr ip6i.test.corp ip6i eth1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit proxy-profile p1 vrf v1 source ethernet1 exit client proxy p1 client name-server 1.1.1.1 ! r2 tping 100 30 1.1.1.1 vrf v1 r2 tping 100 30 ip4a.test.corp vrf v1 r2 tping 100 30 ip6a.test.corp vrf v1 r2 tping 100 30 ip4i.test.corp vrf v1 r2 tping 100 30 ip6i.test.corp vrf v1 freeRtr-25.11.9/cfg/serv-dns02.tst000066400000000000000000000014621510423065500165040ustar00rootroot00000000000000description recursive dns server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit server dns dns zone test.corp defttl 43200 rr www.test.corp ip4a 1.1.1.1 vrf v1 exit proxy-profile p1 vrf v1 source ethernet1 exit client proxy p1 client name-server 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit server dns dns recur ena vrf v1 exit proxy-profile p1 vrf v1 source ethernet1 exit client proxy p1 client name-server 1.1.1.1 ! r2 tping 100 30 1.1.1.1 vrf v1 r2 tping 100 30 1234::1 vrf v1 r2 tping 100 30 www.test.corp vrf v1 r1 tping 100 30 www.test.corp vrf v1 freeRtr-25.11.9/cfg/serv-dns03.tst000066400000000000000000000015031510423065500165010ustar00rootroot00000000000000description relaying dns server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit server dns dns zone test.corp defttl 43200 rr www.test.corp ip4a 1.1.1.1 vrf v1 exit proxy-profile p1 vrf v1 source ethernet1 exit client proxy p1 client name-server 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit proxy-profile p1 vrf v1 source ethernet1 exit server dns dns resolv test.corp p1 1234::1 vrf v1 exit client proxy p1 client name-server 1.1.1.1 ! r2 tping 100 30 1.1.1.1 vrf v1 r2 tping 100 30 1234::1 vrf v1 r2 tping 100 30 www.test.corp vrf v1 r1 tping 100 30 www.test.corp vrf v1 freeRtr-25.11.9/cfg/serv-dns04.tst000066400000000000000000000015021510423065500165010ustar00rootroot00000000000000description dns64 server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1111:1111 ffff:: exit server dns dns zone test.corp defttl 43200 rr www.test.corp ip4a 17.17.17.17 vrf v1 exit proxy-profile p1 vrf v1 source ethernet1 exit client proxy p1 client name-server 1234::2 ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit server dns dns recursion 6to4prefix 1234:: recursion enable vrf v1 exit proxy-profile p1 vrf v1 source ethernet1 exit client proxy p1 client name-server 1.1.1.1 ! r2 tping 100 30 1.1.1.1 vrf v1 r2 tping 100 30 1234::1111:1111 vrf v1 r1 tping 100 30 www.test.corp vrf v1 ipv6 freeRtr-25.11.9/cfg/serv-dns05.tst000066400000000000000000000020501510423065500165010ustar00rootroot00000000000000description secondary dns server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit server dns dns zone test.corp defttl 43200 rr test.corp soa ns.test.corp admin.test.corp 20100101 600 600 600000 30 rr ip4a.test.corp ip4a 1.1.1.1 rr ip6a.test.corp ip6a 1234::1 rr ip4i.test.corp ip4i eth1 rr ip6i.test.corp ip6i eth1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit server dns dns zone test.corp defttl 43200 vrf v1 exit proxy-profile p1 vrf v1 source ethernet1 exit client proxy p1 client name-server 1.1.1.2 ! r2 tping 100 30 1.1.1.1 vrf v1 r2 send conf t r2 send server dns dns r2 send zone test.corp redownload p1 1.1.1.1 r2 send exit r2 send end r2 tping 100 30 ip4a.test.corp vrf v1 r2 tping 100 30 ip6a.test.corp vrf v1 r2 tping 100 30 ip4i.test.corp vrf v1 r2 tping 100 30 ip6i.test.corp vrf v1 freeRtr-25.11.9/cfg/serv-dyndest.tst000066400000000000000000000020631510423065500172260ustar00rootroot00000000000000description dynamic tunnel destination addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit server dns dns zone test.corp defttl 43200 rr www.test.corp ip4a 1.1.1.1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 1.1.1.123 tunnel domain-name www.test.corp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit proxy-profile p1 vrf v1 source ethernet1 exit client proxy p1 client name-server 1.1.1.1 ! r2 tping 100 30 1.1.1.1 vrf v1 r2 tping 100 30 www.test.corp vrf v1 r2 tping 0 5 2.2.2.1 r2 send clear tunnel-domain r2 tping 100 30 2.2.2.1 freeRtr-25.11.9/cfg/serv-eventmgr.tst000066400000000000000000000012201510423065500173750ustar00rootroot00000000000000description event manager addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: shutdown exit event-manager test event .* testing .* tcl exec "test logging debug hello there" tcl config "int eth1" "no shut" exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit ! r1 send test logging debug testing 123 r2 tping 100 30 1.1.1.1 vrf v1 r2 tping 100 30 1234::1 vrf v1 r1 tping 100 30 1.1.1.2 vrf v1 r1 tping 100 30 1234::2 vrf v1 freeRtr-25.11.9/cfg/serv-forward.tst000066400000000000000000000017621510423065500172250ustar00rootroot00000000000000description forwarder server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit server telnet tel vrf v1 port 6666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit server forwarder fwd port 666 target vrf v1 target address 1.1.1.1 target protocol tcp target port 6666 vrf v1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.0 ipv6 addr 4321::3 ffff:: exit ! r2 tping 100 30 1.1.1.1 vrf v1 r2 tping 100 30 2.2.2.3 vrf v1 r3 send telnet 2.2.2.2 666 vrf v1 r3 tping 100 30 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/serv-ldap.tst000066400000000000000000000014461510423065500165000ustar00rootroot00000000000000description ldap server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit client proxy p1 int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit aaa ldap lda server 1.1.1.2 exit server telnet tel login authentication lda vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit aaa userlist usr username c password c username c privilege 14 exit server ldap lda authen usr logg vrf v1 exit ! r2 tping 100 30 1.1.1.1 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 r2 send c r2 send c r2 tping 100 30 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/serv-loadbal.tst000066400000000000000000000017021510423065500171510ustar00rootroot00000000000000description load balancer server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit server telnet tel vrf v1 port 6666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit server loadbalancer lb server 10 1.1.1.1 6666 port 666 vrf v1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.0 ipv6 addr 4321::3 ffff:: exit ! r2 tping 100 30 1.1.1.1 vrf v1 r2 tping 100 30 2.2.2.3 vrf v1 r3 send telnet 2.2.2.2 666 vrf v1 r3 tping 100 30 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/serv-proxy.tst000066400000000000000000000023011510423065500167300ustar00rootroot00000000000000description proxy server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit proxy-profile p1 protocol http vrf v1 target 1.1.1.2 port 80 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit server http http vrf v1 proxy p1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.0 ipv6 addr 4321::3 ffff:: exit int lo0 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:: exit server telnet telnet vrf v1 exit ! r2 tping 100 30 1.1.1.1 vrf v1 r2 tping 100 30 2.2.2.3 vrf v1 r1 tping 0 5 3.3.3.3 vrf v1 r1 send telnet 2.2.2.3 prox p1 r1 tping 100 30 3.3.3.3 vrf v1 r1 send exit r1 read closed r1 tping 0 5 3.3.3.3 vrf v1 r1 send telnet 4321::3 prox p1 r1 tping 100 30 3.3.3.3 vrf v1 r1 send exit r1 read closed freeRtr-25.11.9/cfg/serv-radius.tst000066400000000000000000000015121510423065500170410ustar00rootroot00000000000000description radius server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit client proxy p1 int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit aaa radius rad secret tester server 1.1.1.2 exit server telnet tel login authentication rad vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit aaa userlist usr username c password c username c privilege 14 exit server radius rad authen usr secret tester logg vrf v1 exit ! r2 tping 100 30 1.1.1.1 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 r2 send c r2 send c r2 tping 100 30 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/serv-scheduler.tst000066400000000000000000000021001510423065500175220ustar00rootroot00000000000000description scheduler addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 1.1.1.2 vrf for v1 ipv4 addr 2.2.2.1 255.255.255.0 ipv6 addr 4321::1 ffff:: exit server dns dns zone test.corp defttl 43200 rr www.test.corp ip4a 1.1.1.1 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int tun1 tunnel vrf v1 tunnel mode gre tunnel source ethernet1 tunnel destination 1.1.1.123 tunnel domain-name www.test.corp vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit proxy-profile p1 vrf v1 source ethernet1 exit client proxy p1 client name-server 1.1.1.1 scheduler tun time 3000 delay 5000 command clear tunnel-domain start exit ! r2 tping 100 30 1.1.1.1 vrf v1 r2 tping 100 30 www.test.corp vrf v1 r2 tping 100 30 2.2.2.1 freeRtr-25.11.9/cfg/serv-sdwan01.tst000066400000000000000000000060341510423065500170330ustar00rootroot00000000000000description sdwan over ipv4 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ ! aaa userlist usr username u password p username u privilege 14 exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.99 255.255.255.255 ipv6 addr 1234::99 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit int eth3 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit ipv4 pool p4 2.2.2.2 0.0.0.1 3 ipv6 pool p6 2222::2 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa pool4 p4 pool6 p6 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234:1::1 proxy-profile p1 vrf v1 source eth1 exit int di1 vrf for v1 ipv4 addr dyn dyn ipv6 addr dyn dyn exit vpdn sdw int di1 target 1.1.1.99 proxy p1 pref ipv4 user u pass p proto sdwan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 proxy-profile p1 vrf v1 source eth1 exit int di1 vrf for v1 ipv4 addr dyn dyn ipv6 addr dyn dyn exit vpdn sdw int di1 target 1.1.1.99 proxy p1 pref ipv4 user u pass p proto sdwan exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.9 ipv6 route v1 :: :: 1234:3::1 proxy-profile p1 vrf v1 source eth1 exit int di1 vrf for v1 ipv4 addr dyn dyn ipv6 addr dyn dyn exit vpdn sdw int di1 target 1.1.1.99 proxy p1 pref ipv4 user u pass p calling 1701 proto sdwan exit ! r1 tping 100 60 1.1.1.2 vrf v1 r1 tping 100 60 1.1.1.6 vrf v1 r1 tping 100 60 1.1.1.10 vrf v1 r1 tping 100 60 1234:1::2 vrf v1 r1 tping 100 60 1234:2::2 vrf v1 r1 tping 100 60 1234:3::2 vrf v1 r2 tping 100 60 2.2.2.2 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.3 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 2222::2 vrf v1 r2 tping 100 60 2222::3 vrf v1 r2 tping 100 60 2222::4 vrf v1 r3 tping 100 60 2222::2 vrf v1 r3 tping 100 60 2222::3 vrf v1 r3 tping 100 60 2222::4 vrf v1 r4 tping 100 60 2222::2 vrf v1 r4 tping 100 60 2222::3 vrf v1 r4 tping 100 60 2222::4 vrf v1 freeRtr-25.11.9/cfg/serv-sdwan02.tst000066400000000000000000000060341510423065500170340ustar00rootroot00000000000000description sdwan over ipv6 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ ! aaa userlist usr username u password p username u privilege 14 exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.99 255.255.255.255 ipv6 addr 1234::99 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit int eth3 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit ipv4 pool p4 2.2.2.2 0.0.0.1 3 ipv6 pool p6 2222::2 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa pool4 p4 pool6 p6 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234:1::1 proxy-profile p1 vrf v1 source eth1 exit int di1 vrf for v1 ipv4 addr dyn dyn ipv6 addr dyn dyn exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p proto sdwan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 proxy-profile p1 vrf v1 source eth1 exit int di1 vrf for v1 ipv4 addr dyn dyn ipv6 addr dyn dyn exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p proto sdwan exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.9 ipv6 route v1 :: :: 1234:3::1 proxy-profile p1 vrf v1 source eth1 exit int di1 vrf for v1 ipv4 addr dyn dyn ipv6 addr dyn dyn exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p calling 1701 proto sdwan exit ! r1 tping 100 60 1.1.1.2 vrf v1 r1 tping 100 60 1.1.1.6 vrf v1 r1 tping 100 60 1.1.1.10 vrf v1 r1 tping 100 60 1234:1::2 vrf v1 r1 tping 100 60 1234:2::2 vrf v1 r1 tping 100 60 1234:3::2 vrf v1 r2 tping 100 60 2.2.2.2 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.3 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 2222::2 vrf v1 r2 tping 100 60 2222::3 vrf v1 r2 tping 100 60 2222::4 vrf v1 r3 tping 100 60 2222::2 vrf v1 r3 tping 100 60 2222::3 vrf v1 r3 tping 100 60 2222::4 vrf v1 r4 tping 100 60 2222::2 vrf v1 r4 tping 100 60 2222::3 vrf v1 r4 tping 100 60 2222::4 vrf v1 freeRtr-25.11.9/cfg/serv-sdwan03.tst000066400000000000000000000063231510423065500170360ustar00rootroot00000000000000description sdwan with fixed addresses addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ ! aaa userlist usr username u password p username u privilege 14 exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.99 255.255.255.255 ipv6 addr 1234::99 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit int eth3 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit ipv4 pool p4 2.2.2.222 0.0.0.1 3 ipv6 pool p6 2222::222 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa pool4 p4 pool6 p6 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234:1::1 proxy-profile p1 vrf v1 source eth1 exit int di1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 2222::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p proto sdwan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 proxy-profile p1 vrf v1 source eth1 exit int di1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p proto sdwan exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.9 ipv6 route v1 :: :: 1234:3::1 proxy-profile p1 vrf v1 source eth1 exit int di1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p calling 1701 proto sdwan exit ! r1 tping 100 60 1.1.1.2 vrf v1 r1 tping 100 60 1.1.1.6 vrf v1 r1 tping 100 60 1.1.1.10 vrf v1 r1 tping 100 60 1234:1::2 vrf v1 r1 tping 100 60 1234:2::2 vrf v1 r1 tping 100 60 1234:3::2 vrf v1 r2 tping 100 60 2.2.2.2 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.3 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 2222::2 vrf v1 r2 tping 100 60 2222::3 vrf v1 r2 tping 100 60 2222::4 vrf v1 r3 tping 100 60 2222::2 vrf v1 r3 tping 100 60 2222::3 vrf v1 r3 tping 100 60 2222::4 vrf v1 r4 tping 100 60 2222::2 vrf v1 r4 tping 100 60 2222::3 vrf v1 r4 tping 100 60 2222::4 vrf v1 freeRtr-25.11.9/cfg/serv-sdwan04.tst000066400000000000000000000063421510423065500170400ustar00rootroot00000000000000description sdwan hub and spoke addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ ! aaa userlist usr username u password p username u privilege 14 username h password p exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.99 255.255.255.255 ipv6 addr 1234::99 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit int eth3 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit ipv4 pool p4 2.2.2.222 0.0.0.1 3 ipv6 pool p6 2222::222 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa pool4 p4 pool6 p6 hub h vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234:1::1 proxy-profile p1 vrf v1 source eth1 exit int di1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 2222::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p proto sdwan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 proxy-profile p1 vrf v1 source eth1 exit int di1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p proto sdwan exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.9 ipv6 route v1 :: :: 1234:3::1 proxy-profile p1 vrf v1 source eth1 exit int di1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user h pass p calling 1701 proto sdwan exit ! r1 tping 100 60 1.1.1.2 vrf v1 r1 tping 100 60 1.1.1.6 vrf v1 r1 tping 100 60 1.1.1.10 vrf v1 r1 tping 100 60 1234:1::2 vrf v1 r1 tping 100 60 1234:2::2 vrf v1 r1 tping 100 60 1234:3::2 vrf v1 r2 tping 100 60 2.2.2.2 vrf v1 r2 tping 0 60 2.2.2.3 vrf v1 r2 tping 100 60 2.2.2.4 vrf v1 r3 tping 0 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.3 vrf v1 r3 tping 100 60 2.2.2.4 vrf v1 r4 tping 100 60 2.2.2.2 vrf v1 r4 tping 100 60 2.2.2.3 vrf v1 r4 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 2222::2 vrf v1 r2 tping 0 60 2222::3 vrf v1 r2 tping 100 60 2222::4 vrf v1 r3 tping 0 60 2222::2 vrf v1 r3 tping 100 60 2222::3 vrf v1 r3 tping 100 60 2222::4 vrf v1 r4 tping 100 60 2222::2 vrf v1 r4 tping 100 60 2222::3 vrf v1 r4 tping 100 60 2222::4 vrf v1 freeRtr-25.11.9/cfg/serv-sdwan05.tst000066400000000000000000000061411510423065500170360ustar00rootroot00000000000000description sdwan with mixed addresses addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ ! aaa userlist usr username u password p username u privilege 14 exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.99 255.255.255.255 ipv6 addr 1234::99 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit int eth3 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit ipv4 pool p4 2.2.2.222 0.0.0.1 3 ipv6 pool p6 2222::222 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa pool4 p4 pool6 p6 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234:1::1 proxy-profile p1 vrf v1 source eth1 exit int di1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 2222::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p proto sdwan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 proxy-profile p1 vrf v1 source eth1 exit int di1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p proto sdwan exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.9 ipv6 route v1 :: :: 1234:3::1 proxy-profile p1 vrf v1 source eth1 exit int di1 vrf for v1 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p calling 1701 proto sdwan exit ! r1 tping 100 60 1.1.1.2 vrf v1 r1 tping 100 60 1.1.1.6 vrf v1 r1 tping 100 60 1.1.1.10 vrf v1 r1 tping 100 60 1234:1::2 vrf v1 r1 tping 100 60 1234:2::2 vrf v1 r1 tping 100 60 1234:3::2 vrf v1 r2 tping 100 60 2.2.2.2 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.3 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r4 tping 0 60 2.2.2.2 vrf v1 r4 tping 0 60 2.2.2.3 vrf v1 r4 tping 0 60 2.2.2.4 vrf v1 r2 tping 100 60 2222::2 vrf v1 r2 tping 0 60 2222::3 vrf v1 r2 tping 100 60 2222::4 vrf v1 r3 tping 0 60 2222::2 vrf v1 r3 tping 0 60 2222::3 vrf v1 r3 tping 0 60 2222::4 vrf v1 r4 tping 100 60 2222::2 vrf v1 r4 tping 0 60 2222::3 vrf v1 r4 tping 100 60 2222::4 vrf v1 freeRtr-25.11.9/cfg/serv-sdwan06.tst000066400000000000000000000063251510423065500170430ustar00rootroot00000000000000description sdwan with l2tp2 and l2tp3 addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ ! aaa userlist usr username u password p username u privilege 14 exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.99 255.255.255.255 ipv6 addr 1234::99 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit int eth3 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit ipv4 pool p4 2.2.2.222 0.0.0.1 3 ipv6 pool p6 2222::222 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa pool4 p4 pool6 p6 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234:1::1 proxy-profile p1 vrf v1 source eth1 exit int di1 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 2222::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p para l3tp proto sdwan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 proxy-profile p1 vrf v1 source eth1 exit int di1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p para l3tp proto sdwan exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.9 ipv6 route v1 :: :: 1234:3::1 proxy-profile p1 vrf v1 source eth1 exit int di1 vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p calling 1701 proto sdwan exit ! r1 tping 100 60 1.1.1.2 vrf v1 r1 tping 100 60 1.1.1.6 vrf v1 r1 tping 100 60 1.1.1.10 vrf v1 r1 tping 100 60 1234:1::2 vrf v1 r1 tping 100 60 1234:2::2 vrf v1 r1 tping 100 60 1234:3::2 vrf v1 r2 tping 100 60 2.2.2.2 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.3 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r4 tping 0 60 2.2.2.0 vrf v1 r4 tping 0 60 2.2.2.0 vrf v1 r4 tping 0 60 2.2.2.4 vrf v1 r2 tping 100 60 2222::2 vrf v1 r2 tping 100 60 2222::3 vrf v1 r2 tping 0 60 2222::4 vrf v1 r3 tping 100 60 2222::2 vrf v1 r3 tping 100 60 2222::3 vrf v1 r3 tping 0 60 2222::4 vrf v1 r4 tping 0 60 2222::2 vrf v1 r4 tping 0 60 2222::3 vrf v1 r4 tping 0 60 2222::4 vrf v1 freeRtr-25.11.9/cfg/serv-sdwan07.tst000066400000000000000000000063601510423065500170430ustar00rootroot00000000000000description sdwan with l2tp2 and gre addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ ! aaa userlist usr username u password p username u privilege 14 exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.99 255.255.255.255 ipv6 addr 1234::99 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit int eth3 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit ipv4 pool p4 2.2.2.222 0.0.0.1 3 ipv6 pool p6 2222::222 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa pool4 p4 pool6 p6 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234:1::1 proxy-profile p1 vrf v1 source eth1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 2222::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p para gre proto sdwan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 proxy-profile p1 vrf v1 source eth1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p para gre proto sdwan exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.9 ipv6 route v1 :: :: 1234:3::1 proxy-profile p1 vrf v1 source eth1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p calling 1701 proto sdwan exit ! r1 tping 100 60 1.1.1.2 vrf v1 r1 tping 100 60 1.1.1.6 vrf v1 r1 tping 100 60 1.1.1.10 vrf v1 r1 tping 100 60 1234:1::2 vrf v1 r1 tping 100 60 1234:2::2 vrf v1 r1 tping 100 60 1234:3::2 vrf v1 r2 tping 100 60 2.2.2.2 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.3 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r4 tping 0 60 2.2.2.0 vrf v1 r4 tping 0 60 2.2.2.0 vrf v1 r4 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 2222::2 vrf v1 r2 tping 100 60 2222::3 vrf v1 r2 tping 0 60 2222::4 vrf v1 r3 tping 100 60 2222::2 vrf v1 r3 tping 100 60 2222::3 vrf v1 r3 tping 0 60 2222::4 vrf v1 r4 tping 0 60 2222::2 vrf v1 r4 tping 0 60 2222::3 vrf v1 r4 tping 100 60 2222::4 vrf v1 freeRtr-25.11.9/cfg/serv-sdwan08.tst000066400000000000000000000063601510423065500170440ustar00rootroot00000000000000description sdwan with l2tp2 and amt addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ ! aaa userlist usr username u password p username u privilege 14 exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.99 255.255.255.255 ipv6 addr 1234::99 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit int eth3 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit ipv4 pool p4 2.2.2.222 0.0.0.1 3 ipv6 pool p6 2222::222 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa pool4 p4 pool6 p6 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234:1::1 proxy-profile p1 vrf v1 source eth1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 2222::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p para amt proto sdwan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 proxy-profile p1 vrf v1 source eth1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p para amt proto sdwan exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.9 ipv6 route v1 :: :: 1234:3::1 proxy-profile p1 vrf v1 source eth1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p calling 1701 proto sdwan exit ! r1 tping 100 60 1.1.1.2 vrf v1 r1 tping 100 60 1.1.1.6 vrf v1 r1 tping 100 60 1.1.1.10 vrf v1 r1 tping 100 60 1234:1::2 vrf v1 r1 tping 100 60 1234:2::2 vrf v1 r1 tping 100 60 1234:3::2 vrf v1 r2 tping 100 60 2.2.2.2 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.3 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r4 tping 0 60 2.2.2.0 vrf v1 r4 tping 0 60 2.2.2.0 vrf v1 r4 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 2222::2 vrf v1 r2 tping 100 60 2222::3 vrf v1 r2 tping 0 60 2222::4 vrf v1 r3 tping 100 60 2222::2 vrf v1 r3 tping 100 60 2222::3 vrf v1 r3 tping 0 60 2222::4 vrf v1 r4 tping 0 60 2222::2 vrf v1 r4 tping 0 60 2222::3 vrf v1 r4 tping 100 60 2222::4 vrf v1 freeRtr-25.11.9/cfg/serv-sdwan09.tst000066400000000000000000000063601510423065500170450ustar00rootroot00000000000000description sdwan with l2tp2 and gtp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ ! aaa userlist usr username u password p username u privilege 14 exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.99 255.255.255.255 ipv6 addr 1234::99 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit int eth3 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit ipv4 pool p4 2.2.2.222 0.0.0.1 3 ipv6 pool p6 2222::222 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa pool4 p4 pool6 p6 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234:1::1 proxy-profile p1 vrf v1 source eth1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 2222::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p para gtp proto sdwan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 proxy-profile p1 vrf v1 source eth1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p para gtp proto sdwan exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.9 ipv6 route v1 :: :: 1234:3::1 proxy-profile p1 vrf v1 source eth1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p calling 1701 proto sdwan exit ! r1 tping 100 60 1.1.1.2 vrf v1 r1 tping 100 60 1.1.1.6 vrf v1 r1 tping 100 60 1.1.1.10 vrf v1 r1 tping 100 60 1234:1::2 vrf v1 r1 tping 100 60 1234:2::2 vrf v1 r1 tping 100 60 1234:3::2 vrf v1 r2 tping 100 60 2.2.2.2 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.3 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r4 tping 0 60 2.2.2.0 vrf v1 r4 tping 0 60 2.2.2.0 vrf v1 r4 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 2222::2 vrf v1 r2 tping 100 60 2222::3 vrf v1 r2 tping 0 60 2222::4 vrf v1 r3 tping 100 60 2222::2 vrf v1 r3 tping 100 60 2222::3 vrf v1 r3 tping 0 60 2222::4 vrf v1 r4 tping 0 60 2222::2 vrf v1 r4 tping 0 60 2222::3 vrf v1 r4 tping 100 60 2222::4 vrf v1 freeRtr-25.11.9/cfg/serv-sdwan10.tst000066400000000000000000000063631510423065500170400ustar00rootroot00000000000000description sdwan with l2tp2 and icmp addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ ! aaa userlist usr username u password p username u privilege 14 exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.99 255.255.255.255 ipv6 addr 1234::99 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit int eth3 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit ipv4 pool p4 2.2.2.222 0.0.0.1 3 ipv6 pool p6 2222::222 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa pool4 p4 pool6 p6 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234:1::1 proxy-profile p1 vrf v1 source eth1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 2222::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p para icmp proto sdwan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 proxy-profile p1 vrf v1 source eth1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p para icmp proto sdwan exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.9 ipv6 route v1 :: :: 1234:3::1 proxy-profile p1 vrf v1 source eth1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p calling 1701 proto sdwan exit ! r1 tping 100 60 1.1.1.2 vrf v1 r1 tping 100 60 1.1.1.6 vrf v1 r1 tping 100 60 1.1.1.10 vrf v1 r1 tping 100 60 1234:1::2 vrf v1 r1 tping 100 60 1234:2::2 vrf v1 r1 tping 100 60 1234:3::2 vrf v1 r2 tping 100 60 2.2.2.2 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.3 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r4 tping 0 60 2.2.2.0 vrf v1 r4 tping 0 60 2.2.2.0 vrf v1 r4 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 2222::2 vrf v1 r2 tping 100 60 2222::3 vrf v1 r2 tping 0 60 2222::4 vrf v1 r3 tping 100 60 2222::2 vrf v1 r3 tping 100 60 2222::3 vrf v1 r3 tping 0 60 2222::4 vrf v1 r4 tping 0 60 2222::2 vrf v1 r4 tping 0 60 2222::3 vrf v1 r4 tping 100 60 2222::4 vrf v1 freeRtr-25.11.9/cfg/serv-sdwan11.tst000066400000000000000000000063631510423065500170410ustar00rootroot00000000000000description sdwan with l2tp2 and tmux addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ ! aaa userlist usr username u password p username u privilege 14 exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.99 255.255.255.255 ipv6 addr 1234::99 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit int eth3 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit ipv4 pool p4 2.2.2.222 0.0.0.1 3 ipv6 pool p6 2222::222 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa pool4 p4 pool6 p6 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234:1::1 proxy-profile p1 vrf v1 source eth1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 2222::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p para tmux proto sdwan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 proxy-profile p1 vrf v1 source eth1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p para tmux proto sdwan exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.9 ipv6 route v1 :: :: 1234:3::1 proxy-profile p1 vrf v1 source eth1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p calling 1701 proto sdwan exit ! r1 tping 100 60 1.1.1.2 vrf v1 r1 tping 100 60 1.1.1.6 vrf v1 r1 tping 100 60 1.1.1.10 vrf v1 r1 tping 100 60 1234:1::2 vrf v1 r1 tping 100 60 1234:2::2 vrf v1 r1 tping 100 60 1234:3::2 vrf v1 r2 tping 100 60 2.2.2.2 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.3 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r4 tping 0 60 2.2.2.0 vrf v1 r4 tping 0 60 2.2.2.0 vrf v1 r4 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 2222::2 vrf v1 r2 tping 100 60 2222::3 vrf v1 r2 tping 0 60 2222::4 vrf v1 r3 tping 100 60 2222::2 vrf v1 r3 tping 100 60 2222::3 vrf v1 r3 tping 0 60 2222::4 vrf v1 r4 tping 0 60 2222::2 vrf v1 r4 tping 0 60 2222::3 vrf v1 r4 tping 100 60 2222::4 vrf v1 freeRtr-25.11.9/cfg/serv-sdwan12.tst000066400000000000000000000063631510423065500170420ustar00rootroot00000000000000description sdwan with l2tp2 and ipip addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ int eth2 eth 0000.0000.1111 $2a$ $2b$ int eth3 eth 0000.0000.3333 $3a$ $3b$ ! aaa userlist usr username u password p username u privilege 14 exit crypto rsakey rsa generate 1024 crypto dsakey dsa generate 1024 crypto ecdsakey ecdsa generate 256 crypto mldsakey mldsa generate 44 vrf def v1 rd 1:1 exit int lo0 vrf for v1 ipv4 addr 1.1.1.99 255.255.255.255 ipv6 addr 1234::99 ffff:ffff:: exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.252 ipv6 addr 1234:1::1 ffff:ffff:: exit int eth2 vrf for v1 ipv4 addr 1.1.1.5 255.255.255.252 ipv6 addr 1234:2::1 ffff:ffff:: exit int eth3 vrf for v1 ipv4 addr 1.1.1.9 255.255.255.252 ipv6 addr 1234:3::1 ffff:ffff:: exit ipv4 pool p4 2.2.2.222 0.0.0.1 3 ipv6 pool p6 2222::222 ::1 3 server sdwan v9 security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa pool4 p4 pool6 p6 vrf v1 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.252 ipv6 addr 1234:1::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.1 ipv6 route v1 :: :: 1234:1::1 proxy-profile p1 vrf v1 source eth1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 ipv6 addr 2222::2 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p para ipip proto sdwan exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.6 255.255.255.252 ipv6 addr 1234:2::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.5 ipv6 route v1 :: :: 1234:2::1 proxy-profile p1 vrf v1 source eth1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.3 255.255.255.255 ipv6 addr 2222::3 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p para ipip proto sdwan exit ! addrouter r4 int eth1 eth 0000.0000.4444 $3b$ $3a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.10 255.255.255.252 ipv6 addr 1234:3::2 ffff:ffff:: exit ipv4 route v1 0.0.0.0 0.0.0.0 1.1.1.9 ipv6 route v1 :: :: 1234:3::1 proxy-profile p1 vrf v1 source eth1 exit int di1 enc raw vrf for v1 ipv4 addr 2.2.2.4 255.255.255.255 ipv6 addr 2222::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff exit vpdn sdw int di1 target 1234::99 proxy p1 pref ipv6 user u pass p calling 1701 proto sdwan exit ! r1 tping 100 60 1.1.1.2 vrf v1 r1 tping 100 60 1.1.1.6 vrf v1 r1 tping 100 60 1.1.1.10 vrf v1 r1 tping 100 60 1234:1::2 vrf v1 r1 tping 100 60 1234:2::2 vrf v1 r1 tping 100 60 1234:3::2 vrf v1 r2 tping 100 60 2.2.2.2 vrf v1 r2 tping 100 60 2.2.2.3 vrf v1 r2 tping 0 60 2.2.2.4 vrf v1 r3 tping 100 60 2.2.2.2 vrf v1 r3 tping 100 60 2.2.2.3 vrf v1 r3 tping 0 60 2.2.2.4 vrf v1 r4 tping 0 60 2.2.2.0 vrf v1 r4 tping 0 60 2.2.2.0 vrf v1 r4 tping 100 60 2.2.2.4 vrf v1 r2 tping 100 60 2222::2 vrf v1 r2 tping 100 60 2222::3 vrf v1 r2 tping 0 60 2222::4 vrf v1 r3 tping 100 60 2222::2 vrf v1 r3 tping 100 60 2222::3 vrf v1 r3 tping 0 60 2222::4 vrf v1 r4 tping 0 60 2222::2 vrf v1 r4 tping 0 60 2222::3 vrf v1 r4 tping 100 60 2222::4 vrf v1 freeRtr-25.11.9/cfg/serv-socks4.tst000066400000000000000000000021311510423065500167560ustar00rootroot00000000000000description socks4 server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit proxy-profile p1 protocol socks4 vrf v1 target 1.1.1.2 port 1080 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit server socks socks vrf v1 target vrf v1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.0 ipv6 addr 4321::3 ffff:: exit int lo0 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:: exit server telnet telnet vrf v1 exit ! r2 tping 100 30 1.1.1.1 vrf v1 r2 tping 100 30 2.2.2.3 vrf v1 r2 tping 100 30 1234::1 vrf v1 r2 tping 100 30 4321::3 vrf v1 r1 tping 0 5 3.3.3.3 vrf v1 r1 send telnet 2.2.2.3 prox p1 r1 tping 100 30 3.3.3.3 vrf v1 freeRtr-25.11.9/cfg/serv-socks5.tst000066400000000000000000000023541510423065500167660ustar00rootroot00000000000000description socks5 server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit proxy-profile p1 protocol socks5 vrf v1 target 1234::2 port 1080 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit server socks socks vrf v1 target vrf v1 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.0 ipv6 addr 4321::3 ffff:: exit int lo0 vrf for v1 ipv4 addr 3.3.3.3 255.255.255.255 ipv6 addr 3333::3 ffff:: exit server telnet telnet vrf v1 exit ! r2 tping 100 30 1.1.1.1 vrf v1 r2 tping 100 30 2.2.2.3 vrf v1 r2 tping 100 30 1234::1 vrf v1 r2 tping 100 30 4321::3 vrf v1 r1 tping 0 5 3.3.3.3 vrf v1 r1 send telnet 2.2.2.3 prox p1 r1 tping 100 30 3.3.3.3 vrf v1 r1 send exit r1 read closed r1 tping 0 5 3.3.3.3 vrf v1 r1 send telnet 4321::3 prox p1 r1 tping 100 30 3.3.3.3 vrf v1 r1 send exit r1 read closed freeRtr-25.11.9/cfg/serv-tacacs.tst000066400000000000000000000015121510423065500170100ustar00rootroot00000000000000description tacacs server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit proxy-profile p1 vrf v1 exit client proxy p1 int lo0 vrf for v1 ipv4 addr 2.2.2.2 255.255.255.255 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit aaa tacacs tac secret tester server 1.1.1.2 exit server telnet tel login authentication tac vrf v1 port 666 exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit aaa userlist usr username c password c username c privilege 14 exit server tacacs tac authen usr secret tester logg vrf v1 exit ! r2 tping 100 30 1.1.1.1 vrf v1 r2 send telnet 1.1.1.1 666 vrf v1 r2 send c r2 send c r2 tping 100 30 2.2.2.2 vrf v1 freeRtr-25.11.9/cfg/serv-udpforward.tst000066400000000000000000000023411510423065500177300ustar00rootroot00000000000000description udp forwarder server addrouter r1 int eth1 eth 0000.0000.1111 $1a$ $1b$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.1 255.255.255.0 ipv6 addr 1234::1 ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 1.1.1.2 tun key 4321 tun mod pckoudp vrf for v1 ipv4 addr 3.3.3.1 255.255.255.0 ipv6 addr 3333::1 ffff:: exit ! addrouter r2 int eth1 eth 0000.0000.2222 $1b$ $1a$ int eth2 eth 0000.0000.2222 $2a$ $2b$ ! vrf def v1 rd 1:1 exit vrf def v2 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 1.1.1.2 255.255.255.0 ipv6 addr 1234::2 ffff:: exit int eth2 vrf for v2 ipv4 addr 2.2.2.2 255.255.255.0 ipv6 addr 4321::2 ffff:: exit server udpfwd fwd port 1234 target vrf v1 target address 1.1.1.1 source port 4321 target port 4321 vrf v2 exit ! addrouter r3 int eth1 eth 0000.0000.3333 $2b$ $2a$ ! vrf def v1 rd 1:1 exit int eth1 vrf for v1 ipv4 addr 2.2.2.3 255.255.255.0 ipv6 addr 4321::3 ffff:: exit int tun1 tun vrf v1 tun sou eth1 tun dest 2.2.2.2 tun key 1234 tun mod pckoudp vrf for v1 ipv4 addr 3.3.3.2 255.255.255.0 ipv6 addr 3333::2 ffff:: exit ! r2 tping 100 30 1.1.1.1 vrf v1 r2 tping 100 30 2.2.2.3 vrf v2 r3 tping 100 30 3.3.3.1 vrf v1 r3 tping 100 30 3333::1 vrf v1 freeRtr-25.11.9/cfg/temp-babel.tmpl000066400000000000000000000017431510423065500167550ustar00rootroot0000000000000010.1.0.0 10.2.0.0 2001:db8:: fe80:: 0000.1111.0000 int eth1 eth $thisMac1$ $thisSock1$ $prevSock2$ int eth2 eth $thisMac1$ $thisSock2$ $nextSock1$ hostname r$thisNum$ vrf def v1 rd 1:1 label-mode per-prefix exit server telnet tel vrf v1 exit router babel4 1 vrf v1 router 0000.$thisMac1$ red conn exit router babel6 1 vrf v1 router 0000.$thisMac1$ red conn exit int lo1 vrf for v1 ipv4 addr $thisLoop4a$ 255.255.255.255 ipv6 addr $thisLoop6a$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr $prevNet4a2$ 255.255.255.252 ipv6 addr $prevNet6a2$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc router babel4 1 ena router babel6 1 ena mpls enable mpls rsvp4 mpls rsvp6 mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr $thisNet4a1$ 255.255.255.252 ipv6 addr $thisNet6a1$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc router babel4 1 ena router babel6 1 ena mpls enable mpls rsvp4 mpls rsvp6 mpls ldp4 mpls ldp6 exit freeRtr-25.11.9/cfg/temp-bgp.tmpl000066400000000000000000000021651510423065500164570ustar00rootroot0000000000000010.1.0.0 10.2.0.0 2001:db8:1:: 2001:db8:2:: 0000.1111.0000 int eth1 eth $thisMac1$ $thisSock1$ $prevSock2$ int eth2 eth $thisMac1$ $thisSock2$ $nextSock1$ hostname r$thisNum$ vrf def v1 rd 1:1 label-mode per-prefix exit server telnet tel vrf v1 exit int lo1 vrf for v1 ipv4 addr $thisLoop4a$ 255.255.255.255 ipv6 addr $thisLoop6a$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr $prevNet4a2$ 255.255.255.252 ipv6 addr $prevNet6a2$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls rsvp4 mpls rsvp6 mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr $thisNet4a1$ 255.255.255.252 ipv6 addr $thisNet6a1$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc mpls enable mpls rsvp4 mpls rsvp6 mpls ldp4 mpls ldp6 exit router bgp4 1 vrf v1 address uni local-as $thisNum$ router-id $thisLoop4a$ neigh $prevNet4a1$ remote-as $prevNum$ neigh $thisNet4a2$ remote-as $nextNum$ red conn exit router bgp6 1 vrf v1 address uni local-as $thisNum$ router-id $thisLoop4a$ neigh $prevNet6a1$ remote-as $prevNum$ neigh $thisNet6a2$ remote-as $nextNum$ red conn exit freeRtr-25.11.9/cfg/temp-eigrp.tmpl000066400000000000000000000017511510423065500170150ustar00rootroot0000000000000010.1.0.0 10.2.0.0 2001:db8:: fe80:: 0000.1111.0000 int eth1 eth $thisMac1$ $thisSock1$ $prevSock2$ int eth2 eth $thisMac1$ $thisSock2$ $nextSock1$ hostname r$thisNum$ vrf def v1 rd 1:1 label-mode per-prefix exit server telnet tel vrf v1 exit router eigrp4 1 vrf v1 as 1 router $thisLoop4a$ red conn exit router eigrp6 1 vrf v1 as 1 router $thisLoop4a$ red conn exit int lo1 vrf for v1 ipv4 addr $thisLoop4a$ 255.255.255.255 ipv6 addr $thisLoop6a$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr $prevNet4a2$ 255.255.255.252 ipv6 addr $prevNet6a2$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc router eigrp4 1 ena router eigrp6 1 ena mpls enable mpls rsvp4 mpls rsvp6 mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr $thisNet4a1$ 255.255.255.252 ipv6 addr $thisNet6a1$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc router eigrp4 1 ena router eigrp6 1 ena mpls enable mpls rsvp4 mpls rsvp6 mpls ldp4 mpls ldp6 exit freeRtr-25.11.9/cfg/temp-isis.tmpl000066400000000000000000000021671510423065500166600ustar00rootroot0000000000000010.1.0.0 10.2.0.0 2001:db8:: fe80:: 0000.1111.0000 int eth1 eth $thisMac1$ $thisSock1$ $prevSock2$ int eth2 eth $thisMac1$ $thisSock2$ $nextSock1$ hostname r$thisNum$ vrf def v1 rd 1:1 label-mode per-prefix exit server telnet tel vrf v1 exit router isis4 1 vrf v1 net 48.$thisMac1$.00 traffeng $thisLoop4a$ both traff red conn exit router isis6 1 vrf v1 net 48.$thisMac1$.00 traffeng $thisLoop4a$ both traff red conn exit int lo1 vrf for v1 ipv4 addr $thisLoop4a$ 255.255.255.255 ipv6 addr $thisLoop6a$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1.4 vrf for v1 ipv4 addr $prevNet4a2$ 255.255.255.252 router isis4 1 ena mpls enable mpls rsvp4 mpls ldp4 exit int eth1.6 vrf for v1 ipv6 addr $prevNet6a2$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc router isis6 1 ena mpls enable mpls rsvp6 mpls ldp6 exit int eth2.4 vrf for v1 ipv4 addr $thisNet4a1$ 255.255.255.252 router isis4 1 ena mpls enable mpls rsvp4 mpls ldp4 exit int eth2.6 vrf for v1 ipv6 addr $thisNet6a1$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc router isis6 1 ena mpls enable mpls rsvp6 mpls ldp6 exit freeRtr-25.11.9/cfg/temp-lsrp.tmpl000066400000000000000000000017271510423065500166720ustar00rootroot0000000000000010.1.0.0 10.2.0.0 2001:db8:: fe80:: 0000.1111.0000 int eth1 eth $thisMac1$ $thisSock1$ $prevSock2$ int eth2 eth $thisMac1$ $thisSock2$ $nextSock1$ hostname r$thisNum$ vrf def v1 rd 1:1 label-mode per-prefix exit server telnet tel vrf v1 exit router lsrp4 1 vrf v1 router $thisLoop4a$ red conn exit router lsrp6 1 vrf v1 router $thisLoop4a$ red conn exit int lo1 vrf for v1 ipv4 addr $thisLoop4a$ 255.255.255.255 ipv6 addr $thisLoop6a$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr $prevNet4a2$ 255.255.255.252 ipv6 addr $prevNet6a2$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc router lsrp4 1 ena router lsrp6 1 ena mpls enable mpls rsvp4 mpls rsvp6 mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr $thisNet4a1$ 255.255.255.252 ipv6 addr $thisNet6a1$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc router lsrp4 1 ena router lsrp6 1 ena mpls enable mpls rsvp4 mpls rsvp6 mpls ldp4 mpls ldp6 exit freeRtr-25.11.9/cfg/temp-olsr.tmpl000066400000000000000000000016551510423065500166710ustar00rootroot0000000000000010.1.0.0 10.2.0.0 2001:db8:: fe80:: 0000.1111.0000 int eth1 eth $thisMac1$ $thisSock1$ $prevSock2$ int eth2 eth $thisMac1$ $thisSock2$ $nextSock1$ hostname r$thisNum$ vrf def v1 rd 1:1 label-mode per-prefix exit server telnet tel vrf v1 exit router olsr4 1 vrf v1 red conn exit router olsr6 1 vrf v1 red conn exit int lo1 vrf for v1 ipv4 addr $thisLoop4a$ 255.255.255.255 ipv6 addr $thisLoop6a$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr $prevNet4a2$ 255.255.255.252 ipv6 addr $prevNet6a2$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc router olsr4 1 ena router olsr6 1 ena mpls enable mpls rsvp4 mpls rsvp6 mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr $thisNet4a1$ 255.255.255.252 ipv6 addr $thisNet6a1$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc router olsr4 1 ena router olsr6 1 ena mpls enable mpls rsvp4 mpls rsvp6 mpls ldp4 mpls ldp6 exit freeRtr-25.11.9/cfg/temp-ospf.tmpl000066400000000000000000000020711510423065500166520ustar00rootroot0000000000000010.1.0.0 10.2.0.0 2001:db8:: fe80:: 0000.1111.0000 int eth1 eth $thisMac1$ $thisSock1$ $prevSock2$ int eth2 eth $thisMac1$ $thisSock2$ $nextSock1$ hostname r$thisNum$ vrf def v1 rd 1:1 label-mode per-prefix exit server telnet tel vrf v1 exit router ospf4 1 vrf v1 router $thisLoop4a$ traffeng $thisLoop4a$ area 0 ena area 0 traff red conn exit router ospf6 1 vrf v1 router $thisLoop4a$ traffeng $thisLoop4a$ area 0 ena area 0 traff red conn exit int lo1 vrf for v1 ipv4 addr $thisLoop4a$ 255.255.255.255 ipv6 addr $thisLoop6a$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr $prevNet4a2$ 255.255.255.252 ipv6 addr $prevNet6a2$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc router ospf4 1 ena router ospf6 1 ena mpls enable mpls rsvp4 mpls rsvp6 mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr $thisNet4a1$ 255.255.255.252 ipv6 addr $thisNet6a1$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc router ospf4 1 ena router ospf6 1 ena mpls enable mpls rsvp4 mpls rsvp6 mpls ldp4 mpls ldp6 exit freeRtr-25.11.9/cfg/temp-pvrp.tmpl000066400000000000000000000016711510423065500166770ustar00rootroot0000000000000010.1.0.0 10.2.0.0 2001:db8:: fe80:: 0000.1111.0000 int eth1 eth $thisMac1$ $thisSock1$ $prevSock2$ int eth2 eth $thisMac1$ $thisSock2$ $nextSock1$ hostname r$thisNum$ vrf def v1 rd 1:1 label-mode per-prefix exit server telnet tel vrf v1 exit router pvrp4 1 vrf v1 router $thisLoop4a$ red conn label exit router pvrp6 1 vrf v1 router $thisLoop4a$ red conn label exit int lo1 vrf for v1 ipv4 addr $thisLoop4a$ 255.255.255.255 ipv6 addr $thisLoop6a$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr $prevNet4a2$ 255.255.255.252 ipv6 addr $prevNet6a2$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc router pvrp4 1 ena router pvrp6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int eth2 vrf for v1 ipv4 addr $thisNet4a1$ 255.255.255.252 ipv6 addr $thisNet6a1$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc router pvrp4 1 ena router pvrp6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit freeRtr-25.11.9/cfg/temp-rift.tmpl000066400000000000000000000016671510423065500166610ustar00rootroot0000000000000010.1.0.0 10.2.0.0 2001:db8:: fe80:: 0000.1111.0000 int eth1 eth $thisMac1$ $thisSock1$ $prevSock2$ int eth2 eth $thisMac1$ $thisSock2$ $nextSock1$ hostname r$thisNum$ vrf def v1 rd 1:1 label-mode per-prefix exit server telnet tel vrf v1 exit router rift4 1 vrf v1 router $thisSock1$ red conn label exit router rift6 1 vrf v1 router $thisSock1$ red conn label exit int lo1 vrf for v1 ipv4 addr $thisLoop4a$ 255.255.255.255 ipv6 addr $thisLoop6a$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr $prevNet4a2$ 255.255.255.252 ipv6 addr $prevNet6a2$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc router rift4 1 ena router rift6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit int eth2 vrf for v1 ipv4 addr $thisNet4a1$ 255.255.255.252 ipv6 addr $thisNet6a1$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc router rift4 1 ena router rift6 1 ena mpls enable mpls rsvp4 mpls rsvp6 exit freeRtr-25.11.9/cfg/temp-rip.tmpl000066400000000000000000000016471510423065500165050ustar00rootroot0000000000000010.1.0.0 10.2.0.0 2001:db8:: fe80:: 0000.1111.0000 int eth1 eth $thisMac1$ $thisSock1$ $prevSock2$ int eth2 eth $thisMac1$ $thisSock2$ $nextSock1$ hostname r$thisNum$ vrf def v1 rd 1:1 label-mode per-prefix exit server telnet tel vrf v1 exit router rip4 1 vrf v1 red conn exit router rip6 1 vrf v1 red conn exit int lo1 vrf for v1 ipv4 addr $thisLoop4a$ 255.255.255.255 ipv6 addr $thisLoop6a$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff mpls rsvp4 mpls rsvp6 exit int eth1 vrf for v1 ipv4 addr $prevNet4a2$ 255.255.255.252 ipv6 addr $prevNet6a2$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc router rip4 1 ena router rip6 1 ena mpls enable mpls rsvp4 mpls rsvp6 mpls ldp4 mpls ldp6 exit int eth2 vrf for v1 ipv4 addr $thisNet4a1$ 255.255.255.252 ipv6 addr $thisNet6a1$ ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffc router rip4 1 ena router rip6 1 ena mpls enable mpls rsvp4 mpls rsvp6 mpls ldp4 mpls ldp6 exit freeRtr-25.11.9/changelog.txt000066400000000000000000025431761510423065500160150ustar00rootroot00000000000000---------------------------------- 2012-08-06 22:15:25 qc pass: bgp nexthop self qc pass: bgp nexthop peer qc pass: proxy server todo: exception prt.prtGenConn.run:prtGenConn.java:439 java.lang.IllegalStateException: Timer already cancelled. at java.util.Timer.sched:Timer.java:354/java.util.Timer.schedule:Timer.java:222/ip.ipIfc4arp.resetTimer:ipIfc4arp.java:147/ip.ipIfc4arp.setIPv4addr:ipIfc4arp.java:134/ip.ipIfc4.setIPv4addr:ipIfc4.java:127/cfg.cfgIfc.addrChanged:cfgIfc.java:978/clnt.clntDhcp4.changeAddress:clntDhcp4.java:227/clnt.clntDhcp4.sendKeepalive:clntDhcp4.java:371/clnt.clntDhcp4.datagramWork:clntDhcp4.java:258/prt.prtGenConn.internalWorker:prtGenConn.java:389/prt.prtGenConn.run:prtGenConn.java:429/java.lang.Thread.run:Thread.java:662/ ---------------------------------- 2012-08-07 23:05:41 no todo: openssl as crypto hardware no todo: encrypt within packHolder qc pass: bgp nexthop peer todo: rout-mcast02.tst: info cfg.cfgInit.executeSWcommands:cfgInit.java:315 15:java.lang.NullPointerException at pack.packPim.fillJoin:packPim.java:466/rtr.rtrPimIface.sendJoin:rtrPimIface.java:231/ip.ipFwdTab.joinOneGroup:ipFwdTab.java:515/ip.ipFwd.mcastAddFlood:ipFwd.java:426/user.userConfig.parseUpMcast:userConfig.java:1364/user.userConfig.doCmdIp4:userConfig.java:1502/user.userConfig.doGlobal:userConfig.java:600/user.userConfig.executeCommand:userConfig.java:209/cfg.cfgInit.executeSWcommands:cfgInit.java:313/cfg.cfgInit.doInit:cfgInit.java:403/cfg.cfgInit.doMain:cfgInit.java:496/router.main:router.java:17/ todo: encrypt within packHolder, openssl as crypto hardware ---------------------------------- 2012-09-01 13:44:59 no qc pass: rip egress route filtering with prefixlist no qc pass: rip in chain no qc pass: dhcp no work: dhcp qc pass: point2point ethernet encapsulation qc pass: more sources translation to interface no work: rip in chain no work: rip egress route filtering with prefixlist todo: exception prt.prtGenConn.run:prtGenConn.java:439 java.lang.IllegalStateException: Timer already cancelled. at java.util.Timer.sched:Timer.java:354/java.util.Timer.schedule:Timer.java:222/ip.ipIfc4arp.resetTimer:ipIfc4arp.java:147/ip.ipIfc4arp.setIPv4addr:ipIfc4arp.java:134/ip.ipIfc4.setIPv4addr:ipIfc4.java:127/cfg.cfgIfc.addrChanged:cfgIfc.java:978/clnt.clntDhcp4.changeAddress:clntDhcp4.java:227/clnt.clntDhcp4.sendKeepalive:clntDhcp4.java:371/clnt.clntDhcp4.datagramWork:clntDhcp4.java:258/prt.prtGenConn.internalWorker:prtGenConn.java:389/prt.prtGenConn.run:prtGenConn.java:429/java.lang.Thread.run:Thread.java:662/ todo: rout-mcast02.tst: info cfg.cfgInit.executeSWcommands:cfgInit.java:315 15:java.lang.NullPointerException at pack.packPim.fillJoin:packPim.java:466/rtr.rtrPimIface.sendJoin:rtrPimIface.java:231/ip.ipFwdTab.joinOneGroup:ipFwdTab.java:515/ip.ipFwd.mcastAddFlood:ipFwd.java:426/user.userConfig.parseUpMcast:userConfig.java:1364/user.userConfig.doCmdIp4:userConfig.java:1502/user.userConfig.doGlobal:userConfig.java:600/user.userConfig.executeCommand:userConfig.java:209/cfg.cfgInit.executeSWcommands:cfgInit.java:313/cfg.cfgInit.doInit:cfgInit.java:403/cfg.cfgInit.doMain:cfgInit.java:496/router.main:router.java:17/ ---------------------------------- 2012-09-01 18:59:12 no qc pass: rip egress route filtering with routemap no work: rip egress route filtering with routemap ---------------------------------- 2012-09-02 17:27:45 no qc pass: rip with bfd qc pass: dhcp qc pass: interworking with packet over dtls qc pass: ppp with packet over dtls qc pass: rip in chain qc pass: rip egress route filtering with prefixlist no work: rip with bfd ---------------------------------- 2012-09-03 04:05:40 no qc pass: rip egress route filtering with prefixlist no qc pass: dhcp no work: dhcp no work: rip egress route filtering with prefixlist qc pass: rip with bfd ---------------------------------- 2012-09-03 10:38:26 qc pass: ppp with packet over tcp qc pass: rip egress route filtering with routemap ---------------------------------- 2012-09-03 17:52:36 no qc pass: qos ingress exp set no qc pass: macsec over hdlc no qc pass: process redundancy no work: process redundancy no work: macsec over hdlc no work: qos ingress exp set qc pass: rip egress route filtering with prefixlist ---------------------------------- 2012-09-04 04:21:04 qc pass: process redundancy qc pass: macsec over hdlc qc pass: qos ingress exp set ---------------------------------- 2012-09-04 07:29:42 no todo: cross compiler tools for zzz no todo: more packages, eg rtr.ospf, etc... ---------------------------------- 2012-09-04 14:18:35 qc pass: dhcp qc pass: ppp with packet over tls ---------------------------------- 2012-09-04 17:24:43 qc pass: ppp with packet over txt ---------------------------------- 2012-09-05 16:35:06 no todo: configure buffer with commit: sh run all-on egy szovegszerkeszto... no todo: rout-mcast02.tst: info cfg.cfgInit.executeSWcommands:cfgInit.java:315 15:java.lang.NullPointerException at pack.packPim.fillJoin:packPim.java:466/rtr.rtrPimIface.sendJoin:rtrPimIface.java:231/ip.ipFwdTab.joinOneGroup:ipFwdTab.java:515/ip.ipFwd.mcastAddFlood:ipFwd.java:426/user.userConfig.parseUpMcast:userConfig.java:1364/user.userConfig.doCmdIp4:userConfig.java:1502/user.userConfig.doGlobal:userConfig.java:600/user.userConfig.executeCommand:userConfig.java:209/cfg.cfgInit.executeSWcommands:cfgInit.java:313/cfg.cfgInit.doInit:cfgInit.java:403/cfg.cfgInit.doMain:cfgInit.java:496/router.main:router.java:17/ no todo: exception prt.prtGenConn.run:prtGenConn.java:439 java.lang.IllegalStateException: Timer already cancelled. at java.util.Timer.sched:Timer.java:354/java.util.Timer.schedule:Timer.java:222/ip.ipIfc4arp.resetTimer:ipIfc4arp.java:147/ip.ipIfc4arp.setIPv4addr:ipIfc4arp.java:134/ip.ipIfc4.setIPv4addr:ipIfc4.java:127/cfg.cfgIfc.addrChanged:cfgIfc.java:978/clnt.clntDhcp4.changeAddress:clntDhcp4.java:227/clnt.clntDhcp4.sendKeepalive:clntDhcp4.java:371/clnt.clntDhcp4.datagramWork:clntDhcp4.java:258/prt.prtGenConn.internalWorker:prtGenConn.java:389/prt.prtGenConn.run:prtGenConn.java:429/java.lang.Thread.run:Thread.java:662/ qc pass: ppp with packet over txtls todo: configure buffer with commit ---------------------------------- 2012-09-18 13:46:24 no qc pass: tls test no qc pass: ssh test no qc pass: macsec over tunnel no qc pass: macsec over atmsar no qc pass: macsec over atmdxi no qc pass: macsec over framerelay no qc pass: macsec over ppp no qc pass: macsec over hdlc no qc pass: macsec over ethernet bridge no qc pass: macsec over ethernet vlan no qc pass: macsec over ethernet no qc pass: ike2 with aes256 no qc pass: ike2 with aes192 no qc pass: ike1 with aes256 no qc pass: ike1 with aes192 no qc pass: dtls test no qc pass: ppp over tls no qc pass: ppp with packet over txtls no qc pass: ppp with packet over tls no qc pass: ppp with packet over dtls no work: ppp with packet over dtls no work: ppp with packet over tls no work: ppp with packet over txtls no work: ppp over tls no work: dtls test no work: ike1 with aes192 no work: ike1 with aes256 no work: ike2 with aes192 no work: ike2 with aes256 no work: macsec over ethernet no work: macsec over ethernet vlan no work: macsec over ethernet bridge no work: macsec over hdlc no work: macsec over ppp no work: macsec over framerelay no work: macsec over atmdxi no work: macsec over atmsar no work: macsec over tunnel no work: ssh test no work: tls test ---------------------------------- 2012-10-15 19:48:19 qc pass: ppp with packet over dtls qc pass: ppp with packet over tls qc pass: ppp with packet over txtls qc pass: ppp over tls qc pass: dtls test qc pass: ike1 with aes192 qc pass: ike1 with aes256 qc pass: ike2 with aes192 qc pass: ike2 with aes256 qc pass: macsec over ethernet qc pass: macsec over ethernet vlan qc pass: macsec over ethernet bridge qc pass: macsec over hdlc qc pass: macsec over ppp qc pass: macsec over framerelay qc pass: macsec over atmdxi qc pass: macsec over atmsar qc pass: macsec over tunnel qc pass: ssh test qc pass: tls test ---------------------------------- 2012-10-16 07:41:43 no todo: ip inspect with local termination and proxyprofile transport qc pass: telnet inspection ---------------------------------- 2012-10-16 15:59:34 no qc pass: rip metric no work: rip metric ---------------------------------- 2012-10-23 01:16:02 qc pass: rip metric ---------------------------------- 2012-10-25 22:38:56 no qc pass: macsec over framerelay no qc pass: macsec over ppp no work: macsec over ppp no work: macsec over framerelay ---------------------------------- 2012-10-30 23:20:16 qc pass: macsec over ppp ---------------------------------- 2012-11-01 01:04:40 qc pass: macsec over framerelay ---------------------------------- 2012-11-08 20:14:45 no todo: configure buffer with commit no qc pass: macsec over framerelay no work: macsec over framerelay ---------------------------------- 2012-11-14 22:09:31 qc pass: macsec over framerelay ---------------------------------- 2012-11-21 23:19:20 no todo: dmz-link-bw bgp neighbor command no qc pass: ospf broadcast chain no qc pass: ospf point2point chain no qc pass: ospf point2multipoint connection no qc pass: isis chain of broadcast nets no qc pass: lapb mod32768 no work: lapb mod32768 no work: isis chain of broadcast nets no work: ospf point2multipoint connection no work: ospf point2point chain no work: ospf broadcast chain ---------------------------------- 2012-11-22 18:11:21 qc pass: lapb mod32768 qc pass: isis chain of broadcast nets qc pass: ospf point2multipoint connection qc pass: ospf point2point chain qc pass: ospf broadcast chain ---------------------------------- 2012-11-27 14:11:29 qc pass: pvrp point2point connection qc pass: pvrp point2multipoint connection qc pass: pvrp point2point chain qc pass: pvrp metric qc pass: pvrp address suppression qc pass: pvrp ingress route filtering with prefixlist qc pass: pvrp egress route filtering with prefixlist qc pass: pvrp ingress route filtering with routemap qc pass: pvrp egress route filtering with routemap qc pass: pvrp tag qc pass: pvrp default route qc pass: pvrp with bfd ---------------------------------- 2012-11-27 17:31:44 no qc pass: rip metric no qc pass: rip in chain qc pass: pvrp point2point connection qc pass: pvrp point2multipoint connection qc pass: pvrp point2point chain qc pass: pvrp metric qc pass: pvrp address suppression qc pass: pvrp ingress route filtering with prefixlist qc pass: pvrp egress route filtering with prefixlist qc pass: pvrp ingress route filtering with routemap qc pass: pvrp egress route filtering with routemap qc pass: pvrp tag qc pass: pvrp default route qc pass: pvrp with bfd qc pass: redistribution with pvrp no work: rip in chain no work: rip metric ---------------------------------- 2012-11-28 21:54:31 qc pass: pvrp authentication qc pass: rip in chain ---------------------------------- 2012-11-29 03:22:39 no qc pass: rip in chain no work: rip in chain qc pass: rip metric ---------------------------------- 2012-11-29 20:21:36 no qc pass: rip metric no work: rip metric ---------------------------------- 2012-12-01 07:18:50 qc pass: rip metric ---------------------------------- 2012-12-01 14:39:11 qc pass: pvrp ssh encryption qc pass: pvrp tls encryption ---------------------------------- 2012-12-02 00:20:22 no qc pass: socks5 server no qc pass: socks4 server no qc pass: sipmodem server no qc pass: scheduler no qc pass: radius server no qc pass: proxy server no qc pass: load balancer server no qc pass: forwarder server no qc pass: dynamic tunnel destination no qc pass: relaying dns server no qc pass: authoritative dns server no qc pass: static routing with bfd tracker no qc pass: static routing with tcp tracker no qc pass: static routing with icmp tracker no qc pass: static routing with distance no qc pass: static routing no qc pass: rip with bfd no qc pass: rip metric no qc pass: rip authentication no qc pass: rip default route no qc pass: rip address suppression no qc pass: rip tag no qc pass: rip hop count no qc pass: rip egress route filtering with routemap no qc pass: rip egress route filtering with prefixlist no qc pass: rip ingress route filtering with prefixlist no qc pass: rip on one subnet no qc pass: redistribution with everything no qc pass: redistribution with prefixes no qc pass: redistribution filtering with routemap no qc pass: redistribution filtering with prefixlist no qc pass: redistribution with pvrp no qc pass: redistribution with bgp vpn no qc pass: redistribution with bgp no qc pass: redistribution with rip no qc pass: redistribution with ospf no qc pass: redistribution with isis no qc pass: pvrp ssh encryption no qc pass: pvrp authentication no qc pass: pvrp with bfd no qc pass: pvrp default route no qc pass: pvrp tag no qc pass: pvrp egress route filtering with prefixlist no qc pass: pvrp metric no qc pass: pvrp point2point chain no qc pass: pvrp point2multipoint connection no qc pass: ospf with te no qc pass: ospf with bfd no qc pass: ospf default route no qc pass: ospf inter area egress filtering with routemap no qc pass: ospf inter area egress filtering with prefixlist no qc pass: ospf inter area ingress filtering with routemap no qc pass: ospf inter area ingress filtering with prefixlist no qc pass: ospf authentication no qc pass: ospf address suppression no qc pass: ospf external2 metric no qc pass: ospf external1 metric no qc pass: ospf external1 vs external2 no qc pass: ospf inter area vs external no qc pass: ospf intra area vs inter area no qc pass: ospf intra area metric no qc pass: ospf transit area no qc pass: ospf nssa area no qc pass: ospf stub area no qc pass: ospf broadcast chain no qc pass: ospf point2point chain no qc pass: ospf nonbroadcast connection no qc pass: ospf broadcast connection no qc pass: ospf point2multipoint nonbroadcast connection no qc pass: ospf point2multipoint connection no qc pass: ospf point2point connection no qc pass: multicast routing with pim ssm no qc pass: multicast routing with static flooding no qc pass: isis with te no qc pass: isis with bfd no qc pass: isis default route no qc pass: isis inter level egress filtering with routemap no qc pass: isis inter level egress filtering with prefixlist no qc pass: isis inter level ingress filtering with routemap no qc pass: isis inter level ingress filtering with prefixlist no qc pass: isis external metric vs intra level metric no qc pass: isis external narrow metric no qc pass: isis external metric no qc pass: isis intra level metric no qc pass: isis inter-level routes no qc pass: isis address suppression no qc pass: isis updown bit with narrow metric no qc pass: isis updown bit no qc pass: isis broadcast subnet no qc pass: isis chain of broadcast nets no qc pass: isis attached no qc pass: isis overload no qc pass: isis narrow metric no qc pass: isis over atmdxi no qc pass: isis over framerelay no qc pass: isis over ppp no qc pass: isis over hdlc no qc pass: isis over ethernet bridge no qc pass: isis over ethernet vlan no qc pass: isis over ethernet no qc pass: vpls over ibgp no qc pass: vpls over ebgp no qc pass: bgp nexthop peer no qc pass: bgp nexthop self no qc pass: bgp override as no qc pass: bgp remove private as no qc pass: bgp allow as in no qc pass: bgp aspath check no qc pass: bgp enforce first as no qc pass: bgp route server no qc pass: vpns over ibgp no qc pass: vpns over ebgp no qc pass: ebgp with bfd no qc pass: ibgp with labels no qc pass: ebgp with labels no qc pass: bgp filtering with extended community no qc pass: bgp origin vs metric no qc pass: bgp aspath vs origin no qc pass: bgp locpref vs aspath no qc pass: bgp metric no qc pass: bgp origin no qc pass: bgp aspath no qc pass: bgp locpref no qc pass: bgp filtering with aspath no qc pass: bgp filtering with standard community no qc pass: bgp filtering with metric no qc pass: bgp filtering with origin no qc pass: bgp filtering with locpref no qc pass: bgp egress route filtering with routemap no qc pass: bgp ingress route filtering with routemap no qc pass: bgp egress route filtering with prefixlist no qc pass: bgp ingress route filtering with prefixlist no qc pass: bgp default route no qc pass: ibgp with long as number no qc pass: ebgp with long as number no qc pass: ibgp with mpls no qc pass: ibgp over loopback no qc pass: ebgp over loopback no qc pass: ibgp rr in subnet no qc pass: ibgp fullmesh in subnet no qc pass: ibgp in subnet no qc pass: confed bgp in subnet no qc pass: ebgp in subnet no qc pass: ibgp in chain no qc pass: confed bgp in chain no qc pass: ebgp in chain no qc pass: qos egress exp set no qc pass: qos ingress exp set no qc pass: qos cos set no qc pass: qos egress prec set no qc pass: qos ingress prec set no qc pass: qos ingress dscp set no qc pass: qos ingress tos set no qc pass: qos egress acl matcher no qc pass: qos ingress acl matcher no qc pass: qos egress prec matcher no qc pass: qos ingress prec matcher no qc pass: qos egress dscp matcher no qc pass: qos egress length matcher no qc pass: qos egress shaper action no qc pass: qos ingress shaper action no qc pass: qos egress bandwidth action no qc pass: qos ingress bandwidth action no qc pass: qos egress priority action no qc pass: qos ingress priority action no qc pass: qos egress policer action no qc pass: qos ingress policer action no qc pass: qos egress drop action no qc pass: qos ingress drop action no qc pass: qos egress transmit action no qc pass: qos ingress transmit action no work: qos ingress transmit action no work: qos egress transmit action no work: qos ingress drop action no work: qos egress drop action no work: qos ingress policer action no work: qos egress policer action no work: qos ingress priority action no work: qos egress priority action no work: qos ingress bandwidth action no work: qos egress bandwidth action no work: qos ingress shaper action no work: qos egress shaper action no work: qos egress length matcher no work: qos egress dscp matcher no work: qos ingress prec matcher no work: qos egress prec matcher no work: qos ingress acl matcher no work: qos egress acl matcher no work: qos ingress tos set no work: qos ingress dscp set no work: qos ingress prec set no work: qos egress prec set no work: qos cos set no work: qos ingress exp set no work: qos egress exp set no work: ebgp in chain no work: confed bgp in chain no work: ibgp in chain no work: ebgp in subnet no work: confed bgp in subnet no work: ibgp in subnet no work: ibgp fullmesh in subnet no work: ibgp rr in subnet no work: ebgp over loopback no work: ibgp over loopback no work: ibgp with mpls no work: ebgp with long as number no work: ibgp with long as number no work: bgp default route no work: bgp ingress route filtering with prefixlist no work: bgp egress route filtering with prefixlist no work: bgp ingress route filtering with routemap no work: bgp egress route filtering with routemap no work: bgp filtering with locpref no work: bgp filtering with origin no work: bgp filtering with metric no work: bgp filtering with standard community no work: bgp filtering with aspath no work: bgp locpref no work: bgp aspath no work: bgp origin no work: bgp metric no work: bgp locpref vs aspath no work: bgp aspath vs origin no work: bgp origin vs metric no work: bgp filtering with extended community no work: ebgp with labels no work: ibgp with labels no work: ebgp with bfd no work: vpns over ebgp no work: vpns over ibgp no work: bgp route server no work: bgp enforce first as no work: bgp aspath check no work: bgp allow as in no work: bgp remove private as no work: bgp override as no work: bgp nexthop self no work: bgp nexthop peer no work: vpls over ebgp no work: vpls over ibgp no work: isis over ethernet no work: isis over ethernet vlan no work: isis over ethernet bridge no work: isis over hdlc no work: isis over ppp no work: isis over framerelay no work: isis over atmdxi no work: isis narrow metric no work: isis overload no work: isis attached no work: isis chain of broadcast nets no work: isis broadcast subnet no work: isis updown bit no work: isis updown bit with narrow metric no work: isis address suppression no work: isis inter-level routes no work: isis intra level metric no work: isis external metric no work: isis external narrow metric no work: isis external metric vs intra level metric no work: isis inter level ingress filtering with prefixlist no work: isis inter level ingress filtering with routemap no work: isis inter level egress filtering with prefixlist no work: isis inter level egress filtering with routemap no work: isis default route no work: isis with bfd no work: isis with te no work: multicast routing with static flooding no work: multicast routing with pim ssm no work: ospf point2point connection no work: ospf point2multipoint connection no work: ospf point2multipoint nonbroadcast connection no work: ospf broadcast connection no work: ospf nonbroadcast connection no work: ospf point2point chain no work: ospf broadcast chain no work: ospf stub area no work: ospf nssa area no work: ospf transit area no work: ospf intra area metric no work: ospf intra area vs inter area no work: ospf inter area vs external no work: ospf external1 vs external2 no work: ospf external1 metric no work: ospf external2 metric no work: ospf address suppression no work: ospf authentication no work: ospf inter area ingress filtering with prefixlist no work: ospf inter area ingress filtering with routemap no work: ospf inter area egress filtering with prefixlist no work: ospf inter area egress filtering with routemap no work: ospf default route no work: ospf with bfd no work: ospf with te no work: pvrp point2multipoint connection no work: pvrp point2point chain no work: pvrp metric no work: pvrp egress route filtering with prefixlist no work: pvrp tag no work: pvrp default route no work: pvrp with bfd no work: pvrp authentication no work: pvrp ssh encryption no work: redistribution with isis no work: redistribution with ospf no work: redistribution with rip no work: redistribution with bgp no work: redistribution with bgp vpn no work: redistribution with pvrp no work: redistribution filtering with prefixlist no work: redistribution filtering with routemap no work: redistribution with prefixes no work: redistribution with everything no work: rip on one subnet no work: rip ingress route filtering with prefixlist no work: rip egress route filtering with prefixlist no work: rip egress route filtering with routemap no work: rip hop count no work: rip tag no work: rip address suppression no work: rip default route no work: rip authentication no work: rip metric no work: rip with bfd no work: static routing no work: static routing with distance no work: static routing with icmp tracker no work: static routing with tcp tracker no work: static routing with bfd tracker no work: authoritative dns server no work: relaying dns server no work: dynamic tunnel destination no work: forwarder server no work: load balancer server no work: proxy server no work: radius server no work: scheduler no work: sipmodem server no work: socks4 server no work: socks5 server ---------------------------------- 2012-12-04 22:08:29 qc pass: qos ingress transmit action qc pass: qos egress transmit action qc pass: qos ingress drop action qc pass: qos egress drop action qc pass: qos ingress policer action qc pass: qos egress policer action qc pass: qos ingress priority action qc pass: qos egress priority action qc pass: qos ingress bandwidth action qc pass: qos egress bandwidth action qc pass: qos ingress shaper action qc pass: qos egress shaper action qc pass: qos egress length matcher qc pass: qos egress dscp matcher qc pass: qos ingress prec matcher qc pass: qos egress prec matcher qc pass: qos ingress acl matcher qc pass: qos egress acl matcher qc pass: qos ingress tos set qc pass: qos ingress dscp set qc pass: qos ingress prec set qc pass: qos egress prec set qc pass: qos cos set qc pass: qos ingress exp set qc pass: qos egress exp set qc pass: ebgp in chain qc pass: confed bgp in chain qc pass: ibgp in chain qc pass: ebgp in subnet qc pass: confed bgp in subnet qc pass: ibgp in subnet qc pass: ibgp fullmesh in subnet qc pass: ibgp rr in subnet qc pass: ebgp over loopback qc pass: ibgp over loopback qc pass: ibgp with mpls qc pass: ebgp with long as number qc pass: ibgp with long as number qc pass: bgp default route qc pass: bgp ingress route filtering with prefixlist qc pass: bgp egress route filtering with prefixlist qc pass: bgp ingress route filtering with routemap qc pass: bgp egress route filtering with routemap qc pass: bgp filtering with locpref qc pass: bgp filtering with origin qc pass: bgp filtering with metric qc pass: bgp filtering with standard community qc pass: bgp filtering with aspath qc pass: bgp locpref qc pass: bgp aspath qc pass: bgp origin qc pass: bgp metric qc pass: bgp locpref vs aspath qc pass: bgp aspath vs origin qc pass: bgp origin vs metric qc pass: bgp filtering with extended community qc pass: ebgp with labels qc pass: ibgp with labels qc pass: ebgp with bfd qc pass: vpns over ebgp qc pass: vpns over ibgp qc pass: bgp route server qc pass: bgp enforce first as qc pass: bgp aspath check qc pass: bgp allow as in qc pass: bgp remove private as qc pass: bgp override as qc pass: bgp nexthop self qc pass: bgp nexthop peer qc pass: vpls over ebgp qc pass: vpls over ibgp qc pass: isis over ethernet qc pass: isis over ethernet vlan qc pass: isis over ethernet bridge qc pass: isis over hdlc qc pass: isis over ppp qc pass: isis over framerelay qc pass: isis over atmdxi qc pass: isis narrow metric qc pass: isis overload qc pass: isis attached qc pass: isis chain of broadcast nets qc pass: isis broadcast subnet qc pass: isis updown bit qc pass: isis updown bit with narrow metric qc pass: isis address suppression qc pass: isis inter-level routes qc pass: isis intra level metric qc pass: isis external metric qc pass: isis external narrow metric qc pass: isis external metric vs intra level metric qc pass: isis inter level ingress filtering with prefixlist qc pass: isis inter level ingress filtering with routemap qc pass: isis inter level egress filtering with prefixlist qc pass: isis inter level egress filtering with routemap qc pass: isis default route qc pass: isis with bfd qc pass: isis with te qc pass: multicast routing with static flooding qc pass: multicast routing with pim ssm qc pass: ospf point2point connection qc pass: ospf point2multipoint connection qc pass: ospf point2multipoint nonbroadcast connection qc pass: ospf broadcast connection qc pass: ospf nonbroadcast connection qc pass: ospf point2point chain qc pass: ospf broadcast chain qc pass: ospf stub area qc pass: ospf nssa area qc pass: ospf transit area qc pass: ospf intra area metric qc pass: ospf intra area vs inter area qc pass: ospf inter area vs external qc pass: ospf external1 vs external2 qc pass: ospf external1 metric qc pass: ospf external2 metric qc pass: ospf address suppression qc pass: ospf authentication qc pass: ospf inter area ingress filtering with prefixlist qc pass: ospf inter area ingress filtering with routemap qc pass: ospf inter area egress filtering with prefixlist qc pass: ospf inter area egress filtering with routemap qc pass: ospf default route qc pass: ospf with bfd qc pass: ospf with te qc pass: pvrp point2multipoint connection qc pass: pvrp point2point chain qc pass: pvrp metric qc pass: pvrp egress route filtering with prefixlist qc pass: pvrp tag qc pass: pvrp default route qc pass: pvrp with bfd qc pass: pvrp authentication qc pass: pvrp ssh encryption qc pass: redistribution with isis qc pass: redistribution with ospf qc pass: redistribution with rip qc pass: redistribution with bgp qc pass: redistribution with bgp vpn qc pass: redistribution with pvrp qc pass: redistribution filtering with prefixlist qc pass: redistribution filtering with routemap qc pass: redistribution with prefixes qc pass: redistribution with everything qc pass: rip on one subnet qc pass: rip ingress route filtering with prefixlist qc pass: rip egress route filtering with prefixlist qc pass: rip egress route filtering with routemap qc pass: rip hop count qc pass: rip tag qc pass: rip address suppression qc pass: rip default route qc pass: rip authentication qc pass: rip metric qc pass: rip with bfd qc pass: static routing qc pass: static routing with distance qc pass: static routing with icmp tracker qc pass: static routing with tcp tracker qc pass: static routing with bfd tracker qc pass: authoritative dns server qc pass: relaying dns server qc pass: dynamic tunnel destination qc pass: forwarder server qc pass: load balancer server qc pass: proxy server qc pass: radius server qc pass: scheduler qc pass: sipmodem server qc pass: socks4 server qc pass: socks5 server ---------------------------------- 2012-12-07 23:17:11 qc pass: rip in chain ---------------------------------- 2012-12-13 19:04:53 no todo: capture on tunnel interface ---------------------------------- 2012-12-24 01:45:35 no qc pass: rip in chain no work: rip in chain ---------------------------------- 2012-12-24 05:32:50 qc pass: rip in chain ---------------------------------- 2012-12-28 09:04:53 no qc pass: rip metric no work: rip metric ---------------------------------- 2012-12-31 18:39:09 qc pass: rip metric ---------------------------------- 2013-01-03 13:11:08 no todo: range for http server no qc pass: rip in chain no work: rip in chain ---------------------------------- 2013-01-03 20:20:00 qc pass: rip in chain ---------------------------------- 2013-01-12 21:02:02 no qc pass: rip metric no qc pass: rip in chain no work: rip in chain no work: rip metric ---------------------------------- 2013-01-13 11:44:59 qc pass: rip in chain qc pass: rip metric ---------------------------------- 2013-01-17 20:59:57 no qc pass: rip in chain no work: rip in chain todo: traceroute ---------------------------------- 2013-01-26 15:52:02 no todo: encrypt within packHolder, openssl as crypto hardware no qc pass: ppp over stun no work: ppp over stun qc pass: rip in chain ---------------------------------- 2013-01-27 08:39:43 no qc pass: rip in chain qc pass: ppp over stun no work: rip in chain ---------------------------------- 2013-01-28 00:15:57 no qc pass: rip with bfd no qc pass: rip metric no qc pass: rip authentication no qc pass: rip default route no qc pass: rip address suppression no qc pass: rip tag no qc pass: rip hop count no qc pass: rip egress route filtering with routemap no qc pass: rip ingress route filtering with routemap no qc pass: rip egress route filtering with prefixlist no qc pass: rip ingress route filtering with prefixlist no qc pass: rip on one subnet no work: rip on one subnet no work: rip ingress route filtering with prefixlist no work: rip egress route filtering with prefixlist no work: rip ingress route filtering with routemap no work: rip egress route filtering with routemap no work: rip hop count no work: rip tag no work: rip address suppression no work: rip default route no work: rip authentication no work: rip metric no work: rip with bfd ---------------------------------- 2013-01-28 06:21:50 qc pass: rip on one subnet qc pass: rip in chain qc pass: rip ingress route filtering with prefixlist qc pass: rip egress route filtering with prefixlist qc pass: rip ingress route filtering with routemap qc pass: rip egress route filtering with routemap qc pass: rip hop count qc pass: rip tag qc pass: rip address suppression qc pass: rip default route qc pass: rip authentication qc pass: rip with bfd ---------------------------------- 2013-01-28 10:04:03 qc pass: rip metric ---------------------------------- 2013-01-29 22:36:06 no qc pass: rip in chain no work: rip in chain ---------------------------------- 2013-01-30 07:54:27 no todo: traceroute qc pass: rip in chain ---------------------------------- 2013-02-03 17:02:02 no todo: igmp stack qc pass: multicast routing with igmp/mld ---------------------------------- 2013-02-04 21:00:28 no qc pass: rip in chain qc pass: multicast routing with mdlp no work: rip in chain ---------------------------------- 2013-02-05 08:39:32 no qc pass: rip metric no qc pass: multicast routing with mdlp no qc pass: bridged ethernet over bridge no qc pass: bridge with spantree no qc pass: bridged ethernet over gre no qc pass: bridged ethernet over atmsar no qc pass: bridged ethernet over atmdxi no qc pass: bridged ethernet over framerelay no qc pass: bridged ethernet over ppp no qc pass: bridged ethernet over hdlc no qc pass: star bridged ethernet no qc pass: chain bridged ethernet vlan no work: chain bridged ethernet vlan no work: star bridged ethernet no work: bridged ethernet over hdlc no work: bridged ethernet over ppp no work: bridged ethernet over framerelay no work: bridged ethernet over atmdxi no work: bridged ethernet over atmsar no work: bridged ethernet over gre no work: bridge with spantree no work: bridged ethernet over bridge qc pass: multicast routing with mldp qc pass: rip in chain no work: rip metric ---------------------------------- 2013-02-05 12:04:09 no qc pass: rip in chain qc pass: chain bridged ethernet vlan qc pass: star bridged ethernet qc pass: bridged ethernet over hdlc qc pass: bridged ethernet over ppp qc pass: bridged ethernet over framerelay qc pass: bridged ethernet over atmdxi qc pass: bridged ethernet over atmsar qc pass: bridged ethernet over gre qc pass: bridge with spantree qc pass: bridged ethernet over bridge no work: rip in chain qc pass: rip metric ---------------------------------- 2013-02-05 19:04:34 qc pass: rip in chain ---------------------------------- 2013-02-06 12:38:37 no qc pass: rip in chain no work: rip in chain ---------------------------------- 2013-02-06 17:06:42 no qc pass: tacacs server no qc pass: socks5 server no qc pass: socks4 server no qc pass: sipmodem server no qc pass: scheduler no qc pass: radius server no qc pass: proxy server no qc pass: load balancer server no qc pass: forwarder server no qc pass: dynamic tunnel destination no qc pass: relaying dns server no qc pass: authoritative dns server no qc pass: static routing with bfd tracker no qc pass: static routing with tcp tracker no qc pass: static routing with icmp tracker no qc pass: static routing with distance no qc pass: static routing no qc pass: rip with bfd no qc pass: rip metric no qc pass: rip authentication no qc pass: rip default route no qc pass: rip address suppression no qc pass: rip tag no qc pass: rip hop count no qc pass: rip egress route filtering with routemap no qc pass: rip ingress route filtering with routemap no qc pass: rip egress route filtering with prefixlist no qc pass: rip ingress route filtering with prefixlist no qc pass: rip on one subnet no qc pass: redistribution with everything no qc pass: redistribution with prefixes no qc pass: redistribution filtering with routemap no qc pass: redistribution filtering with prefixlist no qc pass: redistribution with pvrp no qc pass: redistribution with bgp vpn no qc pass: redistribution with bgp no qc pass: redistribution with rip no qc pass: redistribution with ospf no qc pass: redistribution with isis no qc pass: pvrp tls encryption no qc pass: pvrp ssh encryption no qc pass: pvrp authentication no qc pass: pvrp with bfd no qc pass: pvrp default route no qc pass: pvrp tag no qc pass: pvrp egress route filtering with routemap no qc pass: pvrp ingress route filtering with routemap no qc pass: pvrp egress route filtering with prefixlist no qc pass: pvrp ingress route filtering with prefixlist no qc pass: pvrp address suppression no qc pass: pvrp metric no qc pass: pvrp point2point chain no qc pass: pvrp point2multipoint connection no qc pass: pvrp point2point connection no qc pass: ospf with te no qc pass: ospf with bfd no qc pass: ospf default route no qc pass: ospf inter area egress filtering with routemap no qc pass: ospf inter area egress filtering with prefixlist no qc pass: ospf inter area ingress filtering with routemap no qc pass: ospf inter area ingress filtering with prefixlist no qc pass: ospf authentication no qc pass: ospf address suppression no qc pass: ospf external2 metric no qc pass: ospf external1 metric no qc pass: ospf external1 vs external2 no qc pass: ospf inter area vs external no qc pass: ospf intra area vs inter area no qc pass: ospf intra area metric no qc pass: ospf transit area no qc pass: ospf nssa area no qc pass: ospf stub area no qc pass: ospf broadcast chain no qc pass: ospf point2point chain no qc pass: ospf nonbroadcast connection no qc pass: ospf broadcast connection no qc pass: ospf point2multipoint nonbroadcast connection no qc pass: ospf point2multipoint connection no qc pass: ospf point2point connection no qc pass: multicast routing with mldp no qc pass: multicast routing with igmp/mld no qc pass: multicast routing with pim ssm no qc pass: multicast routing with static flooding no qc pass: isis with te no qc pass: isis with bfd no qc pass: isis default route no qc pass: isis inter level egress filtering with routemap no qc pass: isis inter level egress filtering with prefixlist no qc pass: isis inter level ingress filtering with routemap no qc pass: isis inter level ingress filtering with prefixlist no qc pass: isis external metric vs intra level metric no qc pass: isis external narrow metric no qc pass: isis external metric no qc pass: isis intra level metric no qc pass: isis authentication no qc pass: isis inter-level routes no qc pass: isis address suppression no qc pass: isis updown bit with narrow metric no qc pass: isis updown bit no qc pass: isis broadcast subnet no qc pass: isis chain of broadcast nets no qc pass: isis attached no qc pass: isis overload no qc pass: isis narrow metric no qc pass: isis over gre no qc pass: isis over atmdxi no qc pass: isis over framerelay no qc pass: isis over ppp no qc pass: isis over hdlc no qc pass: isis over ethernet bridge no qc pass: isis over ethernet vlan no qc pass: isis over ethernet no qc pass: vpls over ibgp no qc pass: vpls over ebgp no qc pass: bgp nexthop peer no qc pass: bgp nexthop self no qc pass: bgp override as no qc pass: bgp remove private as no qc pass: bgp allow as in no qc pass: bgp aspath check no qc pass: bgp enforce first as no work: bgp enforce first as no work: bgp aspath check no work: bgp allow as in no work: bgp remove private as no work: bgp override as no work: bgp nexthop self no work: bgp nexthop peer no work: vpls over ebgp no work: vpls over ibgp no work: isis over ethernet no work: isis over ethernet vlan no work: isis over ethernet bridge no work: isis over hdlc no work: isis over ppp no work: isis over framerelay no work: isis over atmdxi no work: isis over gre no work: isis narrow metric no work: isis overload no work: isis attached no work: isis chain of broadcast nets no work: isis broadcast subnet no work: isis updown bit no work: isis updown bit with narrow metric no work: isis address suppression no work: isis inter-level routes no work: isis authentication no work: isis intra level metric no work: isis external metric no work: isis external narrow metric no work: isis external metric vs intra level metric no work: isis inter level ingress filtering with prefixlist no work: isis inter level ingress filtering with routemap no work: isis inter level egress filtering with prefixlist no work: isis inter level egress filtering with routemap no work: isis default route no work: isis with bfd no work: isis with te no work: multicast routing with static flooding no work: multicast routing with pim ssm no work: multicast routing with igmp/mld no work: multicast routing with mldp no work: ospf point2point connection no work: ospf point2multipoint connection no work: ospf point2multipoint nonbroadcast connection no work: ospf broadcast connection no work: ospf nonbroadcast connection no work: ospf point2point chain no work: ospf broadcast chain no work: ospf stub area no work: ospf nssa area no work: ospf transit area no work: ospf intra area metric no work: ospf intra area vs inter area no work: ospf inter area vs external no work: ospf external1 vs external2 no work: ospf external1 metric no work: ospf external2 metric no work: ospf address suppression no work: ospf authentication no work: ospf inter area ingress filtering with prefixlist no work: ospf inter area ingress filtering with routemap no work: ospf inter area egress filtering with prefixlist no work: ospf inter area egress filtering with routemap no work: ospf default route no work: ospf with bfd no work: ospf with te no work: pvrp point2point connection no work: pvrp point2multipoint connection no work: pvrp point2point chain no work: pvrp metric no work: pvrp address suppression no work: pvrp ingress route filtering with prefixlist no work: pvrp egress route filtering with prefixlist no work: pvrp ingress route filtering with routemap no work: pvrp egress route filtering with routemap no work: pvrp tag no work: pvrp default route no work: pvrp with bfd no work: pvrp authentication no work: pvrp ssh encryption no work: pvrp tls encryption no work: redistribution with isis no work: redistribution with ospf no work: redistribution with rip no work: redistribution with bgp no work: redistribution with bgp vpn no work: redistribution with pvrp no work: redistribution filtering with prefixlist no work: redistribution filtering with routemap no work: redistribution with prefixes no work: redistribution with everything no work: rip on one subnet no work: rip ingress route filtering with prefixlist no work: rip egress route filtering with prefixlist no work: rip ingress route filtering with routemap no work: rip egress route filtering with routemap no work: rip hop count no work: rip tag no work: rip address suppression no work: rip default route no work: rip authentication no work: rip metric no work: rip with bfd no work: static routing no work: static routing with distance no work: static routing with icmp tracker no work: static routing with tcp tracker no work: static routing with bfd tracker no work: authoritative dns server no work: relaying dns server no work: dynamic tunnel destination no work: forwarder server no work: load balancer server no work: proxy server no work: radius server no work: scheduler no work: sipmodem server no work: socks4 server no work: socks5 server no work: tacacs server ---------------------------------- 2013-02-06 23:49:07 qc pass: bgp enforce first as qc pass: bgp aspath check qc pass: bgp allow as in qc pass: bgp remove private as qc pass: bgp override as qc pass: bgp nexthop self qc pass: bgp nexthop peer qc pass: vpls over ebgp qc pass: vpls over ibgp qc pass: isis over ethernet qc pass: isis over ethernet vlan qc pass: isis over ethernet bridge qc pass: isis over hdlc qc pass: isis over ppp qc pass: isis over framerelay qc pass: isis over atmdxi qc pass: isis over gre qc pass: isis narrow metric qc pass: isis overload qc pass: isis attached qc pass: isis chain of broadcast nets qc pass: isis broadcast subnet qc pass: isis updown bit qc pass: isis updown bit with narrow metric qc pass: isis address suppression qc pass: isis inter-level routes qc pass: isis authentication qc pass: isis intra level metric qc pass: isis external metric qc pass: isis external narrow metric qc pass: isis external metric vs intra level metric qc pass: isis inter level ingress filtering with prefixlist qc pass: isis inter level ingress filtering with routemap qc pass: isis inter level egress filtering with prefixlist qc pass: isis inter level egress filtering with routemap qc pass: isis default route qc pass: isis with bfd qc pass: isis with te qc pass: multicast routing with static flooding qc pass: multicast routing with pim ssm qc pass: multicast routing with igmp/mld qc pass: multicast routing with mldp qc pass: ospf point2point connection qc pass: ospf point2multipoint connection qc pass: ospf point2multipoint nonbroadcast connection qc pass: ospf broadcast connection qc pass: ospf nonbroadcast connection qc pass: ospf point2point chain qc pass: ospf broadcast chain qc pass: ospf stub area qc pass: ospf nssa area qc pass: ospf transit area qc pass: ospf intra area metric qc pass: ospf intra area vs inter area qc pass: ospf inter area vs external qc pass: ospf external1 vs external2 qc pass: ospf external1 metric qc pass: ospf external2 metric qc pass: ospf address suppression qc pass: ospf authentication qc pass: ospf inter area ingress filtering with prefixlist qc pass: ospf inter area ingress filtering with routemap qc pass: ospf inter area egress filtering with prefixlist qc pass: ospf inter area egress filtering with routemap qc pass: ospf default route qc pass: ospf with bfd qc pass: ospf with te qc pass: pvrp point2point connection qc pass: pvrp point2multipoint connection qc pass: pvrp point2point chain qc pass: pvrp metric qc pass: pvrp address suppression qc pass: pvrp ingress route filtering with prefixlist qc pass: pvrp egress route filtering with prefixlist qc pass: pvrp ingress route filtering with routemap qc pass: pvrp egress route filtering with routemap qc pass: pvrp tag qc pass: pvrp default route qc pass: pvrp with bfd qc pass: pvrp authentication qc pass: pvrp ssh encryption qc pass: pvrp tls encryption qc pass: redistribution with isis qc pass: redistribution with ospf qc pass: redistribution with rip qc pass: redistribution with bgp qc pass: redistribution with bgp vpn qc pass: redistribution with pvrp qc pass: redistribution filtering with prefixlist qc pass: redistribution filtering with routemap qc pass: redistribution with prefixes qc pass: redistribution with everything qc pass: rip on one subnet qc pass: rip ingress route filtering with prefixlist qc pass: rip egress route filtering with prefixlist qc pass: rip ingress route filtering with routemap qc pass: rip egress route filtering with routemap qc pass: rip hop count qc pass: rip tag qc pass: rip address suppression qc pass: rip default route qc pass: rip authentication qc pass: rip metric qc pass: rip with bfd qc pass: static routing qc pass: static routing with distance qc pass: static routing with icmp tracker qc pass: static routing with tcp tracker qc pass: static routing with bfd tracker qc pass: authoritative dns server qc pass: relaying dns server qc pass: dynamic tunnel destination qc pass: forwarder server qc pass: load balancer server qc pass: proxy server qc pass: radius server qc pass: scheduler qc pass: sipmodem server qc pass: socks4 server qc pass: socks5 server qc pass: tacacs server ---------------------------------- 2013-02-07 08:17:15 qc pass: rip in chain ---------------------------------- 2013-02-07 21:22:07 no qc pass: rip in chain no work: rip in chain ---------------------------------- 2013-02-08 16:08:15 no qc pass: rip metric no work: rip metric ---------------------------------- 2013-02-09 08:11:20 qc pass: rip metric ---------------------------------- 2013-02-12 13:26:36 qc pass: rip in chain ---------------------------------- 2013-02-13 15:27:50 no qc pass: rip in chain no work: rip in chain ---------------------------------- 2013-02-14 18:58:30 no qc pass: rip metric no work: rip metric ---------------------------------- 2013-02-15 07:55:03 qc pass: rip in chain qc pass: rip metric ---------------------------------- 2013-02-15 14:02:56 no qc pass: rip in chain no work: rip in chain ---------------------------------- 2013-02-15 18:32:31 no qc pass: rip metric qc pass: rip in chain no work: rip metric ---------------------------------- 2013-02-16 08:33:35 no qc pass: rip in chain no work: rip in chain qc pass: rip metric ---------------------------------- 2013-02-16 18:21:57 qc pass: rip in chain ---------------------------------- 2013-02-17 13:41:52 no qc pass: rip metric no work: rip metric ---------------------------------- 2013-02-17 18:50:32 no qc pass: rip in chain no work: rip in chain qc pass: rip metric ---------------------------------- 2013-02-17 22:03:25 no qc pass: rip metric no qc pass: lapb mod8 no work: lapb mod8 no work: rip metric ---------------------------------- 2013-02-18 11:05:41 qc pass: lapb mod8 qc pass: rip metric ---------------------------------- 2013-02-18 17:05:54 qc pass: rip in chain ---------------------------------- 2013-02-19 09:37:50 no qc pass: rip in chain no work: rip in chain ---------------------------------- 2013-02-21 12:16:27 todo: eigrp http://www.ietf.org/staging/draft-savage-eigrp-00.txt ---------------------------------- 2013-02-25 13:48:08 no qc pass: lapb mod128 no work: lapb mod128 qc pass: rip in chain ---------------------------------- 2013-02-25 19:11:59 qc pass: lapb mod128 ---------------------------------- 2013-02-26 20:59:27 no qc pass: lapb mod32768 no work: lapb mod32768 ---------------------------------- 2013-02-27 08:22:30 qc pass: lapb mod32768 ---------------------------------- 2013-03-01 09:57:46 no qc pass: rip metric no work: rip metric ---------------------------------- 2013-03-01 13:59:33 qc pass: rip metric ---------------------------------- 2013-03-02 22:59:19 no qc pass: lapb mod128 no work: lapb mod128 ---------------------------------- 2013-03-03 12:22:35 qc pass: lapb mod128 ---------------------------------- 2013-03-09 16:19:05 no todo: smallservers clients no todo: show isis/ospf/rip nei display neighbor state no todo: eigrp http://www.ietf.org/staging/draft-savage-eigrp-00.txt qc pass: eigrp point2point connection qc pass: eigrp point2multipoint connection qc pass: eigrp point2point chain qc pass: eigrp delay qc pass: eigrp address suppression qc pass: eigrp ingress route filtering with prefixlist qc pass: eigrp egress route filtering with prefixlist qc pass: eigrp ingress route filtering with routemap qc pass: eigrp egress route filtering with routemap qc pass: eigrp default route qc pass: eigrp with bfd ---------------------------------- 2013-03-09 20:19:31 no qc pass: lapb mod8 no work: lapb mod8 qc pass: redistribution with eigrp ---------------------------------- 2013-03-10 09:26:23 qc pass: lapb mod8 ---------------------------------- 2013-03-18 13:44:54 no todo: config exclusive no todo: synchronous modulator todo: sctp ---------------------------------- 2013-03-24 15:55:47 no todo: sctp no qc pass: lapb mod32768 no work: lapb mod32768 ---------------------------------- 2013-03-24 19:09:37 qc pass: lapb mod32768 ---------------------------------- 2013-03-25 14:28:39 no qc pass: lapb mod128 no work: lapb mod128 ---------------------------------- 2013-03-25 20:27:56 no qc pass: lapb mod32768 qc pass: lapb mod128 no work: lapb mod32768 ---------------------------------- 2013-03-25 23:49:15 no qc pass: lapb mod8 no work: lapb mod8 ---------------------------------- 2013-03-26 07:52:14 qc pass: lapb mod32768 ---------------------------------- 2013-03-28 10:45:48 qc pass: lapb mod8 ---------------------------------- 2013-04-06 13:09:41 qc pass: ingress bridged access list qc pass: egress bridged access list ---------------------------------- 2013-04-10 11:35:21 no todo: dhcp6 server, client no todo: dhcp4 relay support no qc pass: lapb mod128 no work: lapb mod128 todo: dhcp relay support ---------------------------------- 2013-04-10 15:07:28 qc pass: lapb mod128 ---------------------------------- 2013-05-11 12:22:47 no qc pass: tacacs server no qc pass: socks5 server no qc pass: socks4 server no qc pass: sipmodem server no qc pass: scheduler no qc pass: radius server no qc pass: proxy server no qc pass: load balancer server no qc pass: forwarder server no qc pass: dynamic tunnel destination no qc pass: relaying dns server no qc pass: authoritative dns server no qc pass: static routing with bfd tracker no qc pass: static routing with tcp tracker no qc pass: static routing with icmp tracker no qc pass: static routing with distance no qc pass: static routing no qc pass: rip with bfd no qc pass: rip metric no qc pass: rip authentication no qc pass: rip default route no qc pass: rip address suppression no qc pass: rip tag no qc pass: rip hop count no qc pass: rip egress route filtering with routemap no qc pass: rip ingress route filtering with routemap no qc pass: rip egress route filtering with prefixlist no qc pass: rip ingress route filtering with prefixlist no qc pass: rip in chain no qc pass: rip on one subnet no qc pass: redistribution with everything no qc pass: redistribution with prefixes no qc pass: redistribution filtering with routemap no qc pass: redistribution filtering with prefixlist no qc pass: redistribution with eigrp no qc pass: redistribution with pvrp no qc pass: redistribution with bgp vpn no qc pass: redistribution with bgp no qc pass: redistribution with rip no qc pass: redistribution with ospf no qc pass: redistribution with isis no qc pass: pvrp tls encryption no qc pass: pvrp ssh encryption no qc pass: pvrp authentication no qc pass: pvrp with bfd no qc pass: pvrp default route no qc pass: pvrp tag no qc pass: pvrp egress route filtering with routemap no qc pass: pvrp ingress route filtering with routemap no qc pass: pvrp egress route filtering with prefixlist no qc pass: pvrp ingress route filtering with prefixlist no qc pass: pvrp address suppression no qc pass: pvrp metric no qc pass: pvrp point2point chain no qc pass: pvrp point2multipoint connection no qc pass: pvrp point2point connection no qc pass: ospf with te no qc pass: ospf with bfd no qc pass: ospf default route no qc pass: ospf inter area egress filtering with routemap no qc pass: ospf inter area egress filtering with prefixlist no qc pass: ospf inter area ingress filtering with routemap no qc pass: ospf inter area ingress filtering with prefixlist no qc pass: ospf authentication no qc pass: ospf address suppression no qc pass: ospf external2 metric no qc pass: ospf external1 metric no qc pass: ospf external1 vs external2 no qc pass: ospf inter area vs external no qc pass: ospf intra area vs inter area no qc pass: ospf intra area metric no qc pass: ospf transit area no qc pass: ospf nssa area no qc pass: ospf stub area no qc pass: ospf broadcast chain no qc pass: ospf point2point chain no qc pass: ospf nonbroadcast connection no qc pass: ospf broadcast connection no qc pass: ospf point2multipoint nonbroadcast connection no qc pass: ospf point2multipoint connection no qc pass: ospf point2point connection no qc pass: multicast routing with mldp no qc pass: multicast routing with igmp/mld no qc pass: multicast routing with pim ssm no qc pass: multicast routing with static flooding no qc pass: isis with te no qc pass: isis with bfd no qc pass: isis default route no qc pass: isis inter level egress filtering with routemap no qc pass: isis inter level egress filtering with prefixlist no qc pass: isis inter level ingress filtering with routemap no qc pass: isis inter level ingress filtering with prefixlist no qc pass: isis external metric vs intra level metric no qc pass: isis external narrow metric no qc pass: isis external metric no qc pass: isis intra level metric no qc pass: isis authentication no qc pass: isis inter-level routes no qc pass: isis address suppression no qc pass: isis updown bit with narrow metric no qc pass: isis updown bit no qc pass: isis broadcast subnet no qc pass: isis chain of broadcast nets no qc pass: isis attached no qc pass: isis overload no qc pass: isis narrow metric no qc pass: isis over gre no qc pass: isis over atmdxi no qc pass: isis over framerelay no qc pass: isis over ppp no qc pass: isis over hdlc no qc pass: isis over ethernet bridge no qc pass: isis over ethernet vlan no qc pass: isis over ethernet no qc pass: eigrp with bfd no qc pass: eigrp default route no qc pass: eigrp egress route filtering with routemap no qc pass: eigrp ingress route filtering with routemap no qc pass: eigrp egress route filtering with prefixlist no work: eigrp egress route filtering with prefixlist no work: eigrp ingress route filtering with routemap no work: eigrp egress route filtering with routemap no work: eigrp default route no work: eigrp with bfd no work: isis over ethernet no work: isis over ethernet vlan no work: isis over ethernet bridge no work: isis over hdlc no work: isis over ppp no work: isis over framerelay no work: isis over atmdxi no work: isis over gre no work: isis narrow metric no work: isis overload no work: isis attached no work: isis chain of broadcast nets no work: isis broadcast subnet no work: isis updown bit no work: isis updown bit with narrow metric no work: isis address suppression no work: isis inter-level routes no work: isis authentication no work: isis intra level metric no work: isis external metric no work: isis external narrow metric no work: isis external metric vs intra level metric no work: isis inter level ingress filtering with prefixlist no work: isis inter level ingress filtering with routemap no work: isis inter level egress filtering with prefixlist no work: isis inter level egress filtering with routemap no work: isis default route no work: isis with bfd no work: isis with te no work: multicast routing with static flooding no work: multicast routing with pim ssm no work: multicast routing with igmp/mld no work: multicast routing with mldp no work: ospf point2point connection no work: ospf point2multipoint connection no work: ospf point2multipoint nonbroadcast connection no work: ospf broadcast connection no work: ospf nonbroadcast connection no work: ospf point2point chain no work: ospf broadcast chain no work: ospf stub area no work: ospf nssa area no work: ospf transit area no work: ospf intra area metric no work: ospf intra area vs inter area no work: ospf inter area vs external no work: ospf external1 vs external2 no work: ospf external1 metric no work: ospf external2 metric no work: ospf address suppression no work: ospf authentication no work: ospf inter area ingress filtering with prefixlist no work: ospf inter area ingress filtering with routemap no work: ospf inter area egress filtering with prefixlist no work: ospf inter area egress filtering with routemap no work: ospf default route no work: ospf with bfd no work: ospf with te no work: pvrp point2point connection no work: pvrp point2multipoint connection no work: pvrp point2point chain no work: pvrp metric no work: pvrp address suppression no work: pvrp ingress route filtering with prefixlist no work: pvrp egress route filtering with prefixlist no work: pvrp ingress route filtering with routemap no work: pvrp egress route filtering with routemap no work: pvrp tag no work: pvrp default route no work: pvrp with bfd no work: pvrp authentication no work: pvrp ssh encryption no work: pvrp tls encryption no work: redistribution with isis no work: redistribution with ospf no work: redistribution with rip no work: redistribution with bgp no work: redistribution with bgp vpn no work: redistribution with pvrp no work: redistribution with eigrp no work: redistribution filtering with prefixlist no work: redistribution filtering with routemap no work: redistribution with prefixes no work: redistribution with everything no work: rip on one subnet no work: rip in chain no work: rip ingress route filtering with prefixlist no work: rip egress route filtering with prefixlist no work: rip ingress route filtering with routemap no work: rip egress route filtering with routemap no work: rip hop count no work: rip tag no work: rip address suppression no work: rip default route no work: rip authentication no work: rip metric no work: rip with bfd no work: static routing no work: static routing with distance no work: static routing with icmp tracker no work: static routing with tcp tracker no work: static routing with bfd tracker no work: authoritative dns server no work: relaying dns server no work: dynamic tunnel destination no work: forwarder server no work: load balancer server no work: proxy server no work: radius server no work: scheduler no work: sipmodem server no work: socks4 server no work: socks5 server no work: tacacs server ---------------------------------- 2013-05-11 15:26:15 qc pass: eigrp egress route filtering with prefixlist qc pass: eigrp ingress route filtering with routemap qc pass: eigrp egress route filtering with routemap qc pass: eigrp default route qc pass: eigrp with bfd qc pass: isis over ethernet qc pass: isis over ethernet vlan qc pass: isis over ethernet bridge qc pass: isis over hdlc qc pass: isis over ppp qc pass: isis over framerelay qc pass: isis over atmdxi qc pass: isis over gre qc pass: isis narrow metric qc pass: isis overload qc pass: isis attached qc pass: isis chain of broadcast nets qc pass: isis broadcast subnet qc pass: isis updown bit qc pass: isis updown bit with narrow metric qc pass: isis address suppression qc pass: isis inter-level routes qc pass: isis authentication qc pass: isis intra level metric qc pass: isis external metric qc pass: isis external narrow metric qc pass: isis external metric vs intra level metric qc pass: isis inter level ingress filtering with prefixlist qc pass: isis inter level ingress filtering with routemap qc pass: isis inter level egress filtering with prefixlist qc pass: isis inter level egress filtering with routemap qc pass: isis default route qc pass: isis with bfd qc pass: isis with te qc pass: multicast routing with static flooding qc pass: multicast routing with pim ssm qc pass: multicast routing with igmp/mld qc pass: multicast routing with mldp qc pass: ospf point2point connection qc pass: ospf point2multipoint connection qc pass: ospf point2multipoint nonbroadcast connection qc pass: ospf broadcast connection qc pass: ospf nonbroadcast connection qc pass: ospf point2point chain qc pass: ospf broadcast chain qc pass: ospf stub area qc pass: ospf nssa area qc pass: ospf transit area qc pass: ospf intra area metric qc pass: ospf intra area vs inter area qc pass: ospf inter area vs external qc pass: ospf external1 vs external2 qc pass: ospf external1 metric qc pass: ospf external2 metric qc pass: ospf address suppression qc pass: ospf authentication qc pass: ospf inter area ingress filtering with prefixlist qc pass: ospf inter area ingress filtering with routemap qc pass: ospf inter area egress filtering with prefixlist qc pass: ospf inter area egress filtering with routemap qc pass: ospf default route qc pass: ospf with bfd qc pass: ospf with te qc pass: pvrp point2point connection qc pass: pvrp point2multipoint connection qc pass: pvrp point2point chain qc pass: pvrp metric qc pass: pvrp address suppression qc pass: pvrp ingress route filtering with prefixlist qc pass: pvrp egress route filtering with prefixlist qc pass: pvrp ingress route filtering with routemap qc pass: pvrp egress route filtering with routemap qc pass: pvrp tag qc pass: pvrp default route qc pass: pvrp with bfd qc pass: pvrp authentication qc pass: pvrp ssh encryption qc pass: pvrp tls encryption qc pass: redistribution with isis qc pass: redistribution with ospf qc pass: redistribution with rip qc pass: redistribution with bgp qc pass: redistribution with bgp vpn qc pass: redistribution with pvrp qc pass: redistribution with eigrp qc pass: redistribution filtering with prefixlist qc pass: redistribution filtering with routemap qc pass: redistribution with prefixes qc pass: redistribution with everything qc pass: rip on one subnet qc pass: rip in chain qc pass: rip ingress route filtering with prefixlist qc pass: rip egress route filtering with prefixlist qc pass: rip ingress route filtering with routemap qc pass: rip egress route filtering with routemap qc pass: rip hop count qc pass: rip tag qc pass: rip address suppression qc pass: rip default route qc pass: rip authentication qc pass: rip metric qc pass: rip with bfd qc pass: static routing qc pass: static routing with distance qc pass: static routing with icmp tracker qc pass: static routing with tcp tracker qc pass: static routing with bfd tracker qc pass: authoritative dns server qc pass: relaying dns server qc pass: dynamic tunnel destination qc pass: forwarder server qc pass: load balancer server qc pass: proxy server qc pass: radius server qc pass: scheduler qc pass: sipmodem server qc pass: socks4 server qc pass: socks5 server qc pass: tacacs server ---------------------------------- 2013-05-19 16:08:57 qc pass: cross connect hdlc interfaces qc pass: cross connect ppp interfaces qc pass: cross connect lapb interfaces qc pass: cross connect framerelay interfaces qc pass: cross connect atmdxi interfaces qc pass: cross connect ethernet interfaces ---------------------------------- 2013-06-11 20:56:16 no todo: show isis/ospf/rip interface ---------------------------------- 2013-06-23 18:54:02 todo: flash upgra tftp://z/ ---------------------------------- 2013-07-21 07:54:57 no todo: flash upgra tftp://z/ qc pass: ipv4-ipv6 protocol translation ---------------------------------- 2013-07-26 19:50:49 qc pass: pim over ipv4 qc pass: pim over ipv6 qc pass: pim over pim qc pass: pim over loopback ---------------------------------- 2013-08-08 10:07:56 qc pass: ppp with local authentication qc pass: ppp with radius authentication qc pass: ppp with tacacs authentication qc pass: ppp with pap authentication qc pass: ppp with chap authentication qc pass: ppp with eap authentication ---------------------------------- 2013-10-08 09:01:59 qc pass: loadbalancing bundle todo: child router processes ---------------------------------- 2013-10-18 11:00:40 qc pass: ppp over l2tp3 qc pass: ppp over authenticated l2tp2 qc pass: ppp over authenticated l2tp3 qc pass: ppp over authenticated l2tp3 todo: interface template ---------------------------------- 2013-10-20 09:05:09 no todo: interface template ---------------------------------- 2013-10-21 16:06:37 no todo: bgp parameter container qc pass: bgp peer template qc pass: bgp listen qc pass: eigrp peer template qc pass: isis peer template qc pass: ospf peer template qc pass: pvrp peer template qc pass: rip peer template ---------------------------------- 2013-10-22 12:53:52 qc pass: ppp over l2tp3 server qc pass: ppp over authenticated l2tp3 server ---------------------------------- 2013-10-23 20:52:47 no todo: child router processes ---------------------------------- 2013-10-29 17:13:01 qc pass: ppp over l2f qc pass: ppp over authenticated l2f ---------------------------------- 2013-11-10 02:27:05 todo: more interactive tools todo: interactive, colorized diff cli show extension todo: help for interactive tools ---------------------------------- 2013-12-07 13:03:05 no todo: help for interactive tools no todo: interactive, colorized diff cli show extension ---------------------------------- 2013-12-17 16:20:57 qc pass: pvrp point2point connection qc pass: pvrp point2multipoint connection qc pass: pvrp point2point chain no work: pvrp metric qc pass: pvrp address suppression qc pass: pvrp ingress route filtering with prefixlist qc pass: pvrp egress route filtering with prefixlist qc pass: pvrp ingress route filtering with routemap qc pass: pvrp egress route filtering with routemap qc pass: pvrp tag qc pass: pvrp default route qc pass: pvrp with bfd qc pass: pvrp authentication qc pass: pvrp ssh encryption qc pass: pvrp tls encryption qc pass: pvrp peer template todo: vpnized browser (xul) todo: trustpoint for certificates todo: more level of config sections todo: tab for deb pro o?-->ospf[4/6] todo: interface name tabbing todo: show upgrade todo: reenabling of routing protocols fails todo: int eth1/int eth2 todo: dhcp relay support todo: sslvpn client, server todo: dlsw client, server todo: tcp selective ack todo: xot, x75 switching todo: ipx, spx switching todo: preallocate qos buffers todo: lisp4, lisp6 todo: nhrp4, nhrp6 todo: l2vpn for isis todo: hip (rfc4423) todo: more show commands todo: more clear commands todo: more interactive tools todo: igmp4/6 snoop, pim4/6 snoop for bridging todo: multilink ppp, fr todo: x25 todo: default vrf for show commands ---------------------------------- 2013-12-17 16:28:12 qc pass: pvrp metric ---------------------------------- 2014-01-03 23:27:08 no qc pass: tacacs server no qc pass: socks5 server no qc pass: socks4 server no qc pass: sipmodem server no qc pass: scheduler no qc pass: radius server no qc pass: proxy server no qc pass: load balancer server no qc pass: forwarder server no qc pass: dynamic tunnel destination no qc pass: relaying dns server no qc pass: authoritative dns server no qc pass: static routing with bfd tracker no qc pass: static routing with tcp tracker no qc pass: static routing with icmp tracker no qc pass: static routing with distance no qc pass: static routing no qc pass: rip peer template no qc pass: rip with bfd no qc pass: rip metric no qc pass: rip authentication no qc pass: rip default route no qc pass: rip address suppression no qc pass: rip tag no qc pass: rip hop count no qc pass: rip egress route filtering with routemap no qc pass: rip ingress route filtering with routemap no qc pass: rip egress route filtering with prefixlist no qc pass: rip ingress route filtering with prefixlist no qc pass: rip in chain no qc pass: rip on one subnet no qc pass: redistribution with everything no qc pass: redistribution with prefixes no qc pass: redistribution filtering with routemap no qc pass: redistribution filtering with prefixlist no qc pass: redistribution with eigrp no qc pass: redistribution with pvrp no qc pass: redistribution with bgp vpn no qc pass: redistribution with bgp no qc pass: redistribution with rip no qc pass: redistribution with ospf no qc pass: redistribution with isis no qc pass: pvrp peer template no qc pass: pvrp tls encryption no qc pass: pvrp ssh encryption no qc pass: pvrp authentication no qc pass: pvrp with bfd no qc pass: pvrp default route no qc pass: pvrp tag no qc pass: pvrp egress route filtering with routemap no qc pass: pvrp ingress route filtering with routemap no qc pass: pvrp egress route filtering with prefixlist no qc pass: pvrp ingress route filtering with prefixlist no qc pass: pvrp address suppression no qc pass: pvrp metric no qc pass: pvrp point2point chain no qc pass: pvrp point2multipoint connection no qc pass: pvrp point2point connection no qc pass: ospf peer template no qc pass: ospf with te no qc pass: ospf with bfd no qc pass: ospf default route no qc pass: ospf inter area egress filtering with routemap no qc pass: ospf inter area egress filtering with prefixlist no qc pass: ospf inter area ingress filtering with routemap no qc pass: ospf inter area ingress filtering with prefixlist no qc pass: ospf authentication no qc pass: ospf address suppression no qc pass: ospf external2 metric no qc pass: ospf external1 metric no qc pass: ospf external1 vs external2 no qc pass: ospf inter area vs external no qc pass: ospf intra area vs inter area no qc pass: ospf intra area metric no qc pass: ospf transit area no qc pass: ospf nssa area no qc pass: ospf stub area no qc pass: ospf broadcast chain no qc pass: ospf point2point chain no qc pass: ospf nonbroadcast connection no qc pass: ospf broadcast connection no qc pass: ospf point2multipoint nonbroadcast connection no qc pass: ospf point2multipoint connection no qc pass: ospf point2point connection no qc pass: multicast routing with mldp no qc pass: multicast routing with igmp/mld no qc pass: multicast routing with pim ssm no qc pass: multicast routing with static flooding no qc pass: isis peer template no qc pass: isis with te no qc pass: isis with bfd no qc pass: isis default route no qc pass: isis inter level egress filtering with routemap no qc pass: isis inter level egress filtering with prefixlist no qc pass: isis inter level ingress filtering with routemap no qc pass: isis inter level ingress filtering with prefixlist no qc pass: isis external metric vs intra level metric no qc pass: isis external narrow metric no qc pass: isis external metric no qc pass: isis intra level metric no qc pass: isis authentication no qc pass: isis inter-level routes no qc pass: isis address suppression no qc pass: isis updown bit with narrow metric no qc pass: isis updown bit no qc pass: isis broadcast subnet no qc pass: isis chain of broadcast nets no qc pass: isis attached no qc pass: isis overload no qc pass: isis narrow metric no qc pass: isis over gre no qc pass: isis over atmdxi no qc pass: isis over framerelay no qc pass: isis over ppp no qc pass: isis over hdlc no qc pass: isis over ethernet bridge no qc pass: isis over ethernet vlan no qc pass: isis over ethernet no qc pass: eigrp peer template no qc pass: eigrp with bfd no qc pass: eigrp default route no qc pass: eigrp egress route filtering with routemap no qc pass: eigrp ingress route filtering with routemap no qc pass: eigrp egress route filtering with prefixlist no qc pass: eigrp ingress route filtering with prefixlist no qc pass: eigrp address suppression no qc pass: eigrp delay no qc pass: eigrp point2point chain no qc pass: eigrp point2multipoint connection no qc pass: eigrp point2point connection no qc pass: bgp listen no qc pass: bgp peer template no qc pass: vpls over ibgp no qc pass: vpls over ebgp no qc pass: bgp nexthop peer no qc pass: bgp nexthop self no qc pass: bgp override as no qc pass: bgp remove private as no qc pass: bgp allow as in no qc pass: bgp aspath check no qc pass: bgp enforce first as no qc pass: bgp route server no qc pass: vpns over ibgp no qc pass: vpns over ebgp no qc pass: ebgp with bfd no qc pass: ibgp with labels no qc pass: ebgp with labels no qc pass: bgp filtering with extended community no qc pass: bgp origin vs metric no qc pass: bgp aspath vs origin no qc pass: bgp locpref vs aspath no qc pass: bgp metric no qc pass: bgp origin no qc pass: bgp aspath no qc pass: bgp locpref no qc pass: bgp filtering with aspath no qc pass: bgp filtering with standard community no qc pass: bgp filtering with metric no qc pass: bgp filtering with origin no qc pass: bgp filtering with locpref no qc pass: bgp egress route filtering with routemap no qc pass: bgp ingress route filtering with routemap no qc pass: bgp egress route filtering with prefixlist no qc pass: bgp ingress route filtering with prefixlist no qc pass: bgp default route no qc pass: ibgp with long as number no qc pass: ebgp with long as number no qc pass: ibgp with mpls no qc pass: ibgp over loopback no qc pass: ebgp over loopback no qc pass: ibgp rr in subnet no qc pass: ibgp fullmesh in subnet no qc pass: ibgp in subnet no qc pass: confed bgp in subnet no qc pass: ebgp in subnet no qc pass: ibgp in chain no qc pass: confed bgp in chain no qc pass: ebgp in chain no qc pass: qos egress exp set no qc pass: qos ingress exp set no qc pass: qos cos set no qc pass: qos egress prec set no qc pass: qos ingress prec set no qc pass: qos egress dscp set no qc pass: qos ingress dscp set no qc pass: qos egress tos set no qc pass: qos ingress tos set no qc pass: qos ingress qosgroup set no qc pass: qos egress matcher on bridged traffic no qc pass: qos ingress matcher on bridged traffic no qc pass: qos egress ethertype matcher no qc pass: qos ingress ethertype matcher no qc pass: qos egress acl matcher no qc pass: qos ingress acl matcher no qc pass: qos egress prec matcher no qc pass: qos ingress prec matcher no qc pass: qos egress dscp matcher no qc pass: qos ingress dscp matcher no qc pass: qos egress tos matcher no qc pass: qos ingress tos matcher no qc pass: qos egress length matcher no qc pass: qos ingress length matcher no qc pass: qos egress hierarchical action no qc pass: qos ingress hierarchical action no qc pass: qos egress shaper action no qc pass: qos ingress shaper action no qc pass: qos egress bandwidth action no qc pass: qos ingress bandwidth action no qc pass: qos egress priority action no qc pass: qos ingress priority action no qc pass: qos egress policer action no qc pass: qos ingress policer action no qc pass: qos egress drop action no qc pass: qos ingress drop action no qc pass: qos egress transmit action no qc pass: qos ingress transmit action no qc pass: cross connect interworking with erspan no qc pass: cross connect interworking with vxlan no qc pass: cross connect interworking with packet over udp no qc pass: cross connect with erspan no qc pass: cross connect with vxlan no qc pass: cross connect with packet over udp no qc pass: cross connect with pwe over mpls no qc pass: p2mp te tail+mid no qc pass: p2mp te no qc pass: ldp and te no qc pass: pwe over te no qc pass: ldp over te no qc pass: te in chain no qc pass: te over gre no qc pass: te over atmdxi no qc pass: te over framerelay no qc pass: te over ppp no qc pass: te over hdlc no qc pass: te over ethernet bridge no qc pass: te over ethernet vlan no qc pass: te over ethernet no qc pass: tunnel interface with mpls no qc pass: vlan tunneling with mpls no qc pass: ethernet tunneling with mpls no qc pass: atmdxi tunneling with mpls no qc pass: framerelay tunneling with mpls no qc pass: lapb tunneling with mpls no qc pass: ppp tunneling with mpls no qc pass: hdlc tunneling with mpls no qc pass: interworking between l2tp3 and ethernet over mpls no qc pass: multipoint ethernet over mpls no qc pass: vlan over mpls no qc pass: ethernet over mpls no qc pass: port mode ppp over mpls no qc pass: atmdxi over mpls no qc pass: framerelay over mpls no qc pass: lapb over mpls no qc pass: hdlc over mpls no qc pass: ppp over mpls no qc pass: mp2mp ldp tunnel mid+head no qc pass: mp2mp ldp tunnel no qc pass: p2mp ldp tunnel head+mid no qc pass: p2mp ldp tunnel no qc pass: p2p ldp tunnel no qc pass: ldp over hub and spoke subnet no qc pass: ldp over broadcast subnet no qc pass: ldp over gre no qc pass: ldp over atmdxi no qc pass: ldp over framerelay no qc pass: ldp over ppp no qc pass: ldp over hdlc no qc pass: ldp over ethernet bridge no qc pass: ldp over ethernet vlan no qc pass: ldp over ethernet no work: ldp over ethernet no work: ldp over ethernet vlan no work: ldp over ethernet bridge no work: ldp over hdlc no work: ldp over ppp no work: ldp over framerelay no work: ldp over atmdxi no work: ldp over gre no work: ldp over broadcast subnet no work: ldp over hub and spoke subnet no work: p2p ldp tunnel no work: p2mp ldp tunnel no work: p2mp ldp tunnel head+mid no work: mp2mp ldp tunnel no work: mp2mp ldp tunnel mid+head no work: ppp over mpls no work: hdlc over mpls no work: lapb over mpls no work: framerelay over mpls no work: atmdxi over mpls no work: port mode ppp over mpls no work: ethernet over mpls no work: vlan over mpls no work: multipoint ethernet over mpls no work: interworking between l2tp3 and ethernet over mpls no work: hdlc tunneling with mpls no work: ppp tunneling with mpls no work: lapb tunneling with mpls no work: framerelay tunneling with mpls no work: atmdxi tunneling with mpls no work: ethernet tunneling with mpls no work: vlan tunneling with mpls no work: tunnel interface with mpls no work: te over ethernet no work: te over ethernet vlan no work: te over ethernet bridge no work: te over hdlc no work: te over ppp no work: te over framerelay no work: te over atmdxi no work: te over gre no work: te in chain no work: ldp over te no work: pwe over te no work: ldp and te no work: p2mp te no work: p2mp te tail+mid no work: cross connect with pwe over mpls no work: cross connect with packet over udp no work: cross connect with vxlan no work: cross connect with erspan no work: cross connect interworking with packet over udp no work: cross connect interworking with vxlan no work: cross connect interworking with erspan no work: qos ingress transmit action no work: qos egress transmit action no work: qos ingress drop action no work: qos egress drop action no work: qos ingress policer action no work: qos egress policer action no work: qos ingress priority action no work: qos egress priority action no work: qos ingress bandwidth action no work: qos egress bandwidth action no work: qos ingress shaper action no work: qos egress shaper action no work: qos ingress hierarchical action no work: qos egress hierarchical action no work: qos ingress length matcher no work: qos egress length matcher no work: qos ingress tos matcher no work: qos egress tos matcher no work: qos ingress dscp matcher no work: qos egress dscp matcher no work: qos ingress prec matcher no work: qos egress prec matcher no work: qos ingress acl matcher no work: qos egress acl matcher no work: qos ingress ethertype matcher no work: qos egress ethertype matcher no work: qos ingress matcher on bridged traffic no work: qos egress matcher on bridged traffic no work: qos ingress qosgroup set no work: qos ingress tos set no work: qos egress tos set no work: qos ingress dscp set no work: qos egress dscp set no work: qos ingress prec set no work: qos egress prec set no work: qos cos set no work: qos ingress exp set no work: qos egress exp set no work: ebgp in chain no work: confed bgp in chain no work: ibgp in chain no work: ebgp in subnet no work: confed bgp in subnet no work: ibgp in subnet no work: ibgp fullmesh in subnet no work: ibgp rr in subnet no work: ebgp over loopback no work: ibgp over loopback no work: ibgp with mpls no work: ebgp with long as number no work: ibgp with long as number no work: bgp default route no work: bgp ingress route filtering with prefixlist no work: bgp egress route filtering with prefixlist no work: bgp ingress route filtering with routemap no work: bgp egress route filtering with routemap no work: bgp filtering with locpref no work: bgp filtering with origin no work: bgp filtering with metric no work: bgp filtering with standard community no work: bgp filtering with aspath no work: bgp locpref no work: bgp aspath no work: bgp origin no work: bgp metric no work: bgp locpref vs aspath no work: bgp aspath vs origin no work: bgp origin vs metric no work: bgp filtering with extended community no work: ebgp with labels no work: ibgp with labels no work: ebgp with bfd no work: vpns over ebgp no work: vpns over ibgp no work: bgp route server no work: bgp enforce first as no work: bgp aspath check no work: bgp allow as in no work: bgp remove private as no work: bgp override as no work: bgp nexthop self no work: bgp nexthop peer no work: vpls over ebgp no work: vpls over ibgp no work: bgp peer template no work: bgp listen no work: eigrp point2point connection no work: eigrp point2multipoint connection no work: eigrp point2point chain no work: eigrp delay no work: eigrp address suppression no work: eigrp ingress route filtering with prefixlist no work: eigrp egress route filtering with prefixlist no work: eigrp ingress route filtering with routemap no work: eigrp egress route filtering with routemap no work: eigrp default route no work: eigrp with bfd no work: eigrp peer template no work: isis over ethernet no work: isis over ethernet vlan no work: isis over ethernet bridge no work: isis over hdlc no work: isis over ppp no work: isis over framerelay no work: isis over atmdxi no work: isis over gre no work: isis narrow metric no work: isis overload no work: isis attached no work: isis chain of broadcast nets no work: isis broadcast subnet no work: isis updown bit no work: isis updown bit with narrow metric no work: isis address suppression no work: isis inter-level routes no work: isis authentication no work: isis intra level metric no work: isis external metric no work: isis external narrow metric no work: isis external metric vs intra level metric no work: isis inter level ingress filtering with prefixlist no work: isis inter level ingress filtering with routemap no work: isis inter level egress filtering with prefixlist no work: isis inter level egress filtering with routemap no work: isis default route no work: isis with bfd no work: isis with te no work: isis peer template no work: multicast routing with static flooding no work: multicast routing with pim ssm no work: multicast routing with igmp/mld no work: multicast routing with mldp no work: ospf point2point connection no work: ospf point2multipoint connection no work: ospf point2multipoint nonbroadcast connection no work: ospf broadcast connection no work: ospf nonbroadcast connection no work: ospf point2point chain no work: ospf broadcast chain no work: ospf stub area no work: ospf nssa area no work: ospf transit area no work: ospf intra area metric no work: ospf intra area vs inter area no work: ospf inter area vs external no work: ospf external1 vs external2 no work: ospf external1 metric no work: ospf external2 metric no work: ospf address suppression no work: ospf authentication no work: ospf inter area ingress filtering with prefixlist no work: ospf inter area ingress filtering with routemap no work: ospf inter area egress filtering with prefixlist no work: ospf inter area egress filtering with routemap no work: ospf default route no work: ospf with bfd no work: ospf with te no work: ospf peer template no work: pvrp point2point connection no work: pvrp point2multipoint connection no work: pvrp point2point chain no work: pvrp metric no work: pvrp address suppression no work: pvrp ingress route filtering with prefixlist no work: pvrp egress route filtering with prefixlist no work: pvrp ingress route filtering with routemap no work: pvrp egress route filtering with routemap no work: pvrp tag no work: pvrp default route no work: pvrp with bfd no work: pvrp authentication no work: pvrp ssh encryption no work: pvrp tls encryption no work: pvrp peer template no work: redistribution with isis no work: redistribution with ospf no work: redistribution with rip no work: redistribution with bgp no work: redistribution with bgp vpn no work: redistribution with pvrp no work: redistribution with eigrp no work: redistribution filtering with prefixlist no work: redistribution filtering with routemap no work: redistribution with prefixes no work: redistribution with everything no work: rip on one subnet no work: rip in chain no work: rip ingress route filtering with prefixlist no work: rip egress route filtering with prefixlist no work: rip ingress route filtering with routemap no work: rip egress route filtering with routemap no work: rip hop count no work: rip tag no work: rip address suppression no work: rip default route no work: rip authentication no work: rip metric no work: rip with bfd no work: rip peer template no work: static routing no work: static routing with distance no work: static routing with icmp tracker no work: static routing with tcp tracker no work: static routing with bfd tracker no work: authoritative dns server no work: relaying dns server no work: dynamic tunnel destination no work: forwarder server no work: load balancer server no work: proxy server no work: radius server no work: scheduler no work: sipmodem server no work: socks4 server no work: socks5 server no work: tacacs server ---------------------------------- 2014-01-04 02:29:06 qc pass: ldp over ethernet qc pass: ldp over ethernet vlan qc pass: ldp over ethernet bridge qc pass: ldp over hdlc qc pass: ldp over ppp qc pass: ldp over framerelay qc pass: ldp over atmdxi qc pass: ldp over gre qc pass: ldp over broadcast subnet qc pass: ldp over hub and spoke subnet qc pass: p2p ldp tunnel qc pass: p2mp ldp tunnel qc pass: p2mp ldp tunnel head+mid qc pass: mp2mp ldp tunnel qc pass: mp2mp ldp tunnel mid+head qc pass: ppp over mpls qc pass: hdlc over mpls qc pass: lapb over mpls qc pass: framerelay over mpls qc pass: atmdxi over mpls qc pass: port mode ppp over mpls qc pass: ethernet over mpls qc pass: vlan over mpls qc pass: multipoint ethernet over mpls qc pass: interworking between l2tp3 and ethernet over mpls qc pass: hdlc tunneling with mpls qc pass: ppp tunneling with mpls qc pass: lapb tunneling with mpls qc pass: framerelay tunneling with mpls qc pass: atmdxi tunneling with mpls qc pass: ethernet tunneling with mpls qc pass: vlan tunneling with mpls qc pass: tunnel interface with mpls qc pass: te over ethernet qc pass: te over ethernet vlan qc pass: te over ethernet bridge qc pass: te over hdlc qc pass: te over ppp qc pass: te over framerelay qc pass: te over atmdxi qc pass: te over gre qc pass: te in chain qc pass: ldp over te qc pass: pwe over te qc pass: ldp and te qc pass: p2mp te qc pass: p2mp te tail+mid qc pass: cross connect with pwe over mpls qc pass: cross connect with packet over udp qc pass: cross connect with vxlan qc pass: cross connect with erspan qc pass: cross connect interworking with packet over udp qc pass: cross connect interworking with vxlan qc pass: cross connect interworking with erspan qc pass: qos ingress transmit action qc pass: qos egress transmit action qc pass: qos ingress drop action qc pass: qos egress drop action qc pass: qos ingress policer action qc pass: qos egress policer action qc pass: qos ingress priority action qc pass: qos egress priority action qc pass: qos ingress bandwidth action qc pass: qos egress bandwidth action qc pass: qos ingress shaper action qc pass: qos egress shaper action qc pass: qos ingress hierarchical action qc pass: qos egress hierarchical action qc pass: qos ingress length matcher qc pass: qos egress length matcher qc pass: qos ingress tos matcher qc pass: qos egress tos matcher qc pass: qos ingress dscp matcher qc pass: qos egress dscp matcher qc pass: qos ingress prec matcher qc pass: qos egress prec matcher qc pass: qos ingress acl matcher qc pass: qos egress acl matcher qc pass: qos ingress ethertype matcher qc pass: qos egress ethertype matcher qc pass: qos ingress matcher on bridged traffic qc pass: qos egress matcher on bridged traffic qc pass: qos ingress qosgroup set qc pass: qos ingress tos set qc pass: qos egress tos set qc pass: qos ingress dscp set qc pass: qos egress dscp set qc pass: qos ingress prec set qc pass: qos egress prec set qc pass: qos cos set qc pass: qos ingress exp set qc pass: qos egress exp set qc pass: ebgp in chain qc pass: confed bgp in chain qc pass: ibgp in chain qc pass: ebgp in subnet qc pass: confed bgp in subnet qc pass: ibgp in subnet qc pass: ibgp fullmesh in subnet qc pass: ibgp rr in subnet qc pass: ebgp over loopback qc pass: ibgp over loopback qc pass: ibgp with mpls qc pass: ebgp with long as number qc pass: ibgp with long as number qc pass: bgp default route qc pass: bgp ingress route filtering with prefixlist qc pass: bgp egress route filtering with prefixlist qc pass: bgp ingress route filtering with routemap qc pass: bgp egress route filtering with routemap qc pass: bgp filtering with locpref qc pass: bgp filtering with origin qc pass: bgp filtering with metric qc pass: bgp filtering with standard community qc pass: bgp filtering with aspath qc pass: bgp locpref qc pass: bgp aspath qc pass: bgp origin qc pass: bgp metric qc pass: bgp locpref vs aspath qc pass: bgp aspath vs origin qc pass: bgp origin vs metric qc pass: bgp filtering with extended community qc pass: ebgp with labels qc pass: ibgp with labels qc pass: ebgp with bfd qc pass: vpns over ebgp qc pass: vpns over ibgp qc pass: bgp route server qc pass: bgp enforce first as qc pass: bgp aspath check qc pass: bgp allow as in qc pass: bgp remove private as qc pass: bgp override as qc pass: bgp nexthop self qc pass: bgp nexthop peer qc pass: vpls over ebgp qc pass: vpls over ibgp qc pass: bgp peer template qc pass: bgp listen qc pass: eigrp point2point connection qc pass: eigrp point2multipoint connection qc pass: eigrp point2point chain qc pass: eigrp delay qc pass: eigrp address suppression qc pass: eigrp ingress route filtering with prefixlist qc pass: eigrp egress route filtering with prefixlist qc pass: eigrp ingress route filtering with routemap qc pass: eigrp egress route filtering with routemap qc pass: eigrp default route qc pass: eigrp with bfd qc pass: eigrp peer template qc pass: isis over ethernet qc pass: isis over ethernet vlan qc pass: isis over ethernet bridge qc pass: isis over hdlc qc pass: isis over ppp qc pass: isis over framerelay qc pass: isis over atmdxi qc pass: isis over gre qc pass: isis narrow metric qc pass: isis overload qc pass: isis attached qc pass: isis chain of broadcast nets qc pass: isis broadcast subnet qc pass: isis updown bit qc pass: isis updown bit with narrow metric qc pass: isis address suppression qc pass: isis inter-level routes qc pass: isis authentication qc pass: isis intra level metric qc pass: isis external metric qc pass: isis external narrow metric qc pass: isis external metric vs intra level metric qc pass: isis inter level ingress filtering with prefixlist qc pass: isis inter level ingress filtering with routemap qc pass: isis inter level egress filtering with prefixlist qc pass: isis inter level egress filtering with routemap qc pass: isis default route qc pass: isis with bfd qc pass: isis with te qc pass: isis peer template qc pass: multicast routing with static flooding qc pass: multicast routing with pim ssm qc pass: multicast routing with igmp/mld qc pass: multicast routing with mldp qc pass: ospf point2point connection qc pass: ospf point2multipoint connection qc pass: ospf point2multipoint nonbroadcast connection qc pass: ospf broadcast connection qc pass: ospf nonbroadcast connection qc pass: ospf point2point chain qc pass: ospf broadcast chain qc pass: ospf stub area qc pass: ospf nssa area qc pass: ospf transit area qc pass: ospf intra area metric qc pass: ospf intra area vs inter area qc pass: ospf inter area vs external qc pass: ospf external1 vs external2 qc pass: ospf external1 metric qc pass: ospf external2 metric qc pass: ospf address suppression qc pass: ospf authentication qc pass: ospf inter area ingress filtering with prefixlist qc pass: ospf inter area ingress filtering with routemap qc pass: ospf inter area egress filtering with prefixlist qc pass: ospf inter area egress filtering with routemap qc pass: ospf default route qc pass: ospf with bfd qc pass: ospf with te qc pass: ospf peer template qc pass: pvrp point2point connection qc pass: pvrp point2multipoint connection qc pass: pvrp point2point chain qc pass: pvrp metric qc pass: pvrp address suppression qc pass: pvrp ingress route filtering with prefixlist qc pass: pvrp egress route filtering with prefixlist qc pass: pvrp ingress route filtering with routemap qc pass: pvrp egress route filtering with routemap qc pass: pvrp tag qc pass: pvrp default route qc pass: pvrp with bfd qc pass: pvrp authentication qc pass: pvrp ssh encryption qc pass: pvrp tls encryption qc pass: pvrp peer template qc pass: redistribution with isis qc pass: redistribution with ospf qc pass: redistribution with rip qc pass: redistribution with bgp qc pass: redistribution with bgp vpn qc pass: redistribution with pvrp qc pass: redistribution with eigrp qc pass: redistribution filtering with prefixlist qc pass: redistribution filtering with routemap qc pass: redistribution with prefixes qc pass: redistribution with everything qc pass: rip on one subnet qc pass: rip in chain qc pass: rip ingress route filtering with prefixlist qc pass: rip egress route filtering with prefixlist qc pass: rip ingress route filtering with routemap qc pass: rip egress route filtering with routemap qc pass: rip hop count qc pass: rip tag qc pass: rip address suppression qc pass: rip default route qc pass: rip authentication qc pass: rip metric qc pass: rip with bfd qc pass: rip peer template qc pass: static routing qc pass: static routing with distance qc pass: static routing with icmp tracker qc pass: static routing with tcp tracker qc pass: static routing with bfd tracker qc pass: authoritative dns server qc pass: relaying dns server qc pass: dynamic tunnel destination qc pass: forwarder server qc pass: load balancer server qc pass: proxy server qc pass: radius server qc pass: scheduler qc pass: sipmodem server qc pass: socks4 server qc pass: socks5 server qc pass: tacacs server ---------------------------------- 2014-01-04 23:28:55 no qc pass: tacacs server no qc pass: socks5 server no qc pass: socks4 server no qc pass: sipmodem server no qc pass: scheduler no qc pass: radius server no qc pass: proxy server no qc pass: load balancer server no qc pass: forwarder server no qc pass: dynamic tunnel destination no qc pass: relaying dns server no qc pass: authoritative dns server no qc pass: static routing with bfd tracker no qc pass: static routing with tcp tracker no qc pass: static routing with icmp tracker no qc pass: static routing with distance no qc pass: static routing no qc pass: rip peer template no qc pass: rip with bfd no qc pass: rip metric no qc pass: rip authentication no qc pass: rip default route no qc pass: rip address suppression no qc pass: rip tag no qc pass: rip hop count no qc pass: rip egress route filtering with routemap no qc pass: rip ingress route filtering with routemap no qc pass: rip egress route filtering with prefixlist no qc pass: rip ingress route filtering with prefixlist no qc pass: rip in chain no qc pass: rip on one subnet no qc pass: redistribution with everything no qc pass: redistribution with prefixes no qc pass: redistribution filtering with routemap no qc pass: redistribution filtering with prefixlist no qc pass: redistribution with eigrp no qc pass: redistribution with pvrp no qc pass: redistribution with bgp vpn no qc pass: redistribution with bgp no qc pass: redistribution with rip no qc pass: redistribution with ospf no qc pass: redistribution with isis no qc pass: pvrp peer template no qc pass: pvrp tls encryption no qc pass: pvrp ssh encryption no qc pass: pvrp authentication no qc pass: pvrp with bfd no qc pass: pvrp default route no qc pass: pvrp tag no qc pass: pvrp egress route filtering with routemap no qc pass: pvrp ingress route filtering with routemap no qc pass: pvrp egress route filtering with prefixlist no qc pass: pvrp ingress route filtering with prefixlist no qc pass: pvrp address suppression no qc pass: pvrp metric no qc pass: pvrp point2point chain no qc pass: pvrp point2multipoint connection no qc pass: pvrp point2point connection no qc pass: ospf peer template no qc pass: ospf with te no qc pass: ospf with bfd no qc pass: ospf default route no qc pass: ospf inter area egress filtering with routemap no qc pass: ospf inter area egress filtering with prefixlist no qc pass: ospf inter area ingress filtering with routemap no qc pass: ospf inter area ingress filtering with prefixlist no qc pass: ospf authentication no qc pass: ospf address suppression no qc pass: ospf external2 metric no qc pass: ospf external1 metric no qc pass: ospf external1 vs external2 no qc pass: ospf inter area vs external no qc pass: ospf intra area vs inter area no qc pass: ospf intra area metric no qc pass: ospf transit area no qc pass: ospf nssa area no qc pass: ospf stub area no qc pass: ospf broadcast chain no qc pass: ospf point2point chain no qc pass: ospf nonbroadcast connection no qc pass: ospf broadcast connection no qc pass: ospf point2multipoint nonbroadcast connection no qc pass: ospf point2multipoint connection no qc pass: ospf point2point connection no qc pass: multicast routing with mldp no qc pass: multicast routing with igmp/mld no qc pass: multicast routing with pim ssm no qc pass: multicast routing with static flooding no qc pass: isis peer template no qc pass: isis with te no qc pass: isis with bfd no qc pass: isis default route no qc pass: isis inter level egress filtering with routemap no qc pass: isis inter level egress filtering with prefixlist no qc pass: isis inter level ingress filtering with routemap no qc pass: isis inter level ingress filtering with prefixlist no qc pass: isis external metric vs intra level metric no qc pass: isis external narrow metric no qc pass: isis external metric no qc pass: isis intra level metric no qc pass: isis authentication no qc pass: isis inter-level routes no qc pass: isis address suppression no qc pass: isis updown bit with narrow metric no qc pass: isis updown bit no qc pass: isis broadcast subnet no qc pass: isis chain of broadcast nets no qc pass: isis attached no qc pass: isis overload no qc pass: isis narrow metric no qc pass: isis over gre no qc pass: isis over atmdxi no qc pass: isis over framerelay no qc pass: isis over ppp no qc pass: isis over hdlc no qc pass: isis over ethernet bridge no qc pass: isis over ethernet vlan no qc pass: isis over ethernet no qc pass: eigrp peer template no qc pass: eigrp with bfd no qc pass: eigrp default route no qc pass: eigrp egress route filtering with routemap no qc pass: eigrp ingress route filtering with routemap no qc pass: eigrp egress route filtering with prefixlist no qc pass: eigrp ingress route filtering with prefixlist no qc pass: eigrp address suppression no qc pass: eigrp delay no qc pass: eigrp point2point chain no qc pass: eigrp point2multipoint connection no qc pass: eigrp point2point connection no qc pass: bgp listen no qc pass: bgp peer template no qc pass: vpls over ibgp no qc pass: vpls over ebgp no qc pass: bgp nexthop peer no qc pass: bgp nexthop self no qc pass: bgp override as no qc pass: bgp remove private as no qc pass: bgp allow as in no qc pass: bgp aspath check no qc pass: bgp enforce first as no qc pass: bgp route server no qc pass: vpns over ibgp no qc pass: vpns over ebgp no qc pass: ebgp with bfd no qc pass: ibgp with labels no qc pass: ebgp with labels no qc pass: bgp filtering with extended community no qc pass: bgp origin vs metric no qc pass: bgp aspath vs origin no qc pass: bgp locpref vs aspath no qc pass: bgp metric no qc pass: bgp origin no qc pass: bgp aspath no qc pass: bgp locpref no qc pass: bgp filtering with aspath no qc pass: bgp filtering with standard community no qc pass: bgp filtering with metric no qc pass: bgp filtering with origin no qc pass: bgp filtering with locpref no qc pass: bgp egress route filtering with routemap no qc pass: bgp ingress route filtering with routemap no qc pass: bgp egress route filtering with prefixlist no qc pass: bgp ingress route filtering with prefixlist no qc pass: bgp default route no qc pass: ibgp with long as number no qc pass: ebgp with long as number no qc pass: ibgp with mpls no qc pass: ibgp over loopback no qc pass: ebgp over loopback no qc pass: ibgp rr in subnet no qc pass: ibgp fullmesh in subnet no qc pass: ibgp in subnet no qc pass: confed bgp in subnet no qc pass: ebgp in subnet no qc pass: ibgp in chain no qc pass: confed bgp in chain no qc pass: ebgp in chain no qc pass: qos egress exp set no qc pass: qos ingress exp set no qc pass: qos cos set no qc pass: qos egress prec set no qc pass: qos ingress prec set no qc pass: qos egress dscp set no qc pass: qos ingress dscp set no qc pass: qos egress tos set no qc pass: qos ingress tos set no qc pass: qos ingress qosgroup set no qc pass: qos egress matcher on bridged traffic no qc pass: qos ingress matcher on bridged traffic no qc pass: qos egress ethertype matcher no qc pass: qos ingress ethertype matcher no qc pass: qos egress acl matcher no qc pass: qos ingress acl matcher no qc pass: qos egress prec matcher no qc pass: qos ingress prec matcher no qc pass: qos egress dscp matcher no qc pass: qos ingress dscp matcher no qc pass: qos egress tos matcher no qc pass: qos ingress tos matcher no qc pass: qos egress length matcher no qc pass: qos ingress length matcher no qc pass: qos egress hierarchical action no qc pass: qos ingress hierarchical action no qc pass: qos egress shaper action no qc pass: qos ingress shaper action no qc pass: qos egress bandwidth action no qc pass: qos ingress bandwidth action no qc pass: qos egress priority action no qc pass: qos ingress priority action no qc pass: qos egress policer action no qc pass: qos ingress policer action no qc pass: qos egress drop action no qc pass: qos ingress drop action no qc pass: qos egress transmit action no qc pass: qos ingress transmit action no qc pass: cross connect interworking with erspan no qc pass: cross connect interworking with vxlan no qc pass: cross connect interworking with packet over udp no qc pass: cross connect with erspan no qc pass: cross connect with vxlan no qc pass: cross connect with packet over udp no qc pass: cross connect with pwe over mpls no qc pass: p2mp te tail+mid no qc pass: p2mp te no qc pass: ldp and te no qc pass: pwe over te no qc pass: ldp over te no qc pass: te in chain no qc pass: te over gre no qc pass: te over atmdxi no qc pass: te over framerelay no qc pass: te over ppp no qc pass: te over hdlc no qc pass: te over ethernet bridge no qc pass: te over ethernet vlan no qc pass: te over ethernet no qc pass: tunnel interface with mpls no qc pass: vlan tunneling with mpls no qc pass: ethernet tunneling with mpls no qc pass: atmdxi tunneling with mpls no qc pass: framerelay tunneling with mpls no qc pass: lapb tunneling with mpls no qc pass: ppp tunneling with mpls no qc pass: hdlc tunneling with mpls no qc pass: interworking between l2tp3 and ethernet over mpls no qc pass: multipoint ethernet over mpls no qc pass: vlan over mpls no qc pass: ethernet over mpls no qc pass: port mode ppp over mpls no qc pass: atmdxi over mpls no qc pass: framerelay over mpls no qc pass: lapb over mpls no qc pass: hdlc over mpls no qc pass: ppp over mpls no qc pass: mp2mp ldp tunnel mid+head no qc pass: mp2mp ldp tunnel no qc pass: p2mp ldp tunnel head+mid no qc pass: p2mp ldp tunnel no qc pass: p2p ldp tunnel no qc pass: ldp over hub and spoke subnet no qc pass: ldp over broadcast subnet no qc pass: ldp over gre no qc pass: ldp over atmdxi no qc pass: ldp over framerelay no qc pass: ldp over ppp no qc pass: ldp over hdlc no qc pass: ldp over ethernet bridge no qc pass: ldp over ethernet vlan no qc pass: ldp over ethernet no work: ldp over ethernet no work: ldp over ethernet vlan no work: ldp over ethernet bridge no work: ldp over hdlc no work: ldp over ppp no work: ldp over framerelay no work: ldp over atmdxi no work: ldp over gre no work: ldp over broadcast subnet no work: ldp over hub and spoke subnet no work: p2p ldp tunnel no work: p2mp ldp tunnel no work: p2mp ldp tunnel head+mid no work: mp2mp ldp tunnel no work: mp2mp ldp tunnel mid+head no work: ppp over mpls no work: hdlc over mpls no work: lapb over mpls no work: framerelay over mpls no work: atmdxi over mpls no work: port mode ppp over mpls no work: ethernet over mpls no work: vlan over mpls no work: multipoint ethernet over mpls no work: interworking between l2tp3 and ethernet over mpls no work: hdlc tunneling with mpls no work: ppp tunneling with mpls no work: lapb tunneling with mpls no work: framerelay tunneling with mpls no work: atmdxi tunneling with mpls no work: ethernet tunneling with mpls no work: vlan tunneling with mpls no work: tunnel interface with mpls no work: te over ethernet no work: te over ethernet vlan no work: te over ethernet bridge no work: te over hdlc no work: te over ppp no work: te over framerelay no work: te over atmdxi no work: te over gre no work: te in chain no work: ldp over te no work: pwe over te no work: ldp and te no work: p2mp te no work: p2mp te tail+mid no work: cross connect with pwe over mpls no work: cross connect with packet over udp no work: cross connect with vxlan no work: cross connect with erspan no work: cross connect interworking with packet over udp no work: cross connect interworking with vxlan no work: cross connect interworking with erspan no work: qos ingress transmit action no work: qos egress transmit action no work: qos ingress drop action no work: qos egress drop action no work: qos ingress policer action no work: qos egress policer action no work: qos ingress priority action no work: qos egress priority action no work: qos ingress bandwidth action no work: qos egress bandwidth action no work: qos ingress shaper action no work: qos egress shaper action no work: qos ingress hierarchical action no work: qos egress hierarchical action no work: qos ingress length matcher no work: qos egress length matcher no work: qos ingress tos matcher no work: qos egress tos matcher no work: qos ingress dscp matcher no work: qos egress dscp matcher no work: qos ingress prec matcher no work: qos egress prec matcher no work: qos ingress acl matcher no work: qos egress acl matcher no work: qos ingress ethertype matcher no work: qos egress ethertype matcher no work: qos ingress matcher on bridged traffic no work: qos egress matcher on bridged traffic no work: qos ingress qosgroup set no work: qos ingress tos set no work: qos egress tos set no work: qos ingress dscp set no work: qos egress dscp set no work: qos ingress prec set no work: qos egress prec set no work: qos cos set no work: qos ingress exp set no work: qos egress exp set no work: ebgp in chain no work: confed bgp in chain no work: ibgp in chain no work: ebgp in subnet no work: confed bgp in subnet no work: ibgp in subnet no work: ibgp fullmesh in subnet no work: ibgp rr in subnet no work: ebgp over loopback no work: ibgp over loopback no work: ibgp with mpls no work: ebgp with long as number no work: ibgp with long as number no work: bgp default route no work: bgp ingress route filtering with prefixlist no work: bgp egress route filtering with prefixlist no work: bgp ingress route filtering with routemap no work: bgp egress route filtering with routemap no work: bgp filtering with locpref no work: bgp filtering with origin no work: bgp filtering with metric no work: bgp filtering with standard community no work: bgp filtering with aspath no work: bgp locpref no work: bgp aspath no work: bgp origin no work: bgp metric no work: bgp locpref vs aspath no work: bgp aspath vs origin no work: bgp origin vs metric no work: bgp filtering with extended community no work: ebgp with labels no work: ibgp with labels no work: ebgp with bfd no work: vpns over ebgp no work: vpns over ibgp no work: bgp route server no work: bgp enforce first as no work: bgp aspath check no work: bgp allow as in no work: bgp remove private as no work: bgp override as no work: bgp nexthop self no work: bgp nexthop peer no work: vpls over ebgp no work: vpls over ibgp no work: bgp peer template no work: bgp listen no work: eigrp point2point connection no work: eigrp point2multipoint connection no work: eigrp point2point chain no work: eigrp delay no work: eigrp address suppression no work: eigrp ingress route filtering with prefixlist no work: eigrp egress route filtering with prefixlist no work: eigrp ingress route filtering with routemap no work: eigrp egress route filtering with routemap no work: eigrp default route no work: eigrp with bfd no work: eigrp peer template no work: isis over ethernet no work: isis over ethernet vlan no work: isis over ethernet bridge no work: isis over hdlc no work: isis over ppp no work: isis over framerelay no work: isis over atmdxi no work: isis over gre no work: isis narrow metric no work: isis overload no work: isis attached no work: isis chain of broadcast nets no work: isis broadcast subnet no work: isis updown bit no work: isis updown bit with narrow metric no work: isis address suppression no work: isis inter-level routes no work: isis authentication no work: isis intra level metric no work: isis external metric no work: isis external narrow metric no work: isis external metric vs intra level metric no work: isis inter level ingress filtering with prefixlist no work: isis inter level ingress filtering with routemap no work: isis inter level egress filtering with prefixlist no work: isis inter level egress filtering with routemap no work: isis default route no work: isis with bfd no work: isis with te no work: isis peer template no work: multicast routing with static flooding no work: multicast routing with pim ssm no work: multicast routing with igmp/mld no work: multicast routing with mldp no work: ospf point2point connection no work: ospf point2multipoint connection no work: ospf point2multipoint nonbroadcast connection no work: ospf broadcast connection no work: ospf nonbroadcast connection no work: ospf point2point chain no work: ospf broadcast chain no work: ospf stub area no work: ospf nssa area no work: ospf transit area no work: ospf intra area metric no work: ospf intra area vs inter area no work: ospf inter area vs external no work: ospf external1 vs external2 no work: ospf external1 metric no work: ospf external2 metric no work: ospf address suppression no work: ospf authentication no work: ospf inter area ingress filtering with prefixlist no work: ospf inter area ingress filtering with routemap no work: ospf inter area egress filtering with prefixlist no work: ospf inter area egress filtering with routemap no work: ospf default route no work: ospf with bfd no work: ospf with te no work: ospf peer template no work: pvrp point2point connection no work: pvrp point2multipoint connection no work: pvrp point2point chain no work: pvrp metric no work: pvrp address suppression no work: pvrp ingress route filtering with prefixlist no work: pvrp egress route filtering with prefixlist no work: pvrp ingress route filtering with routemap no work: pvrp egress route filtering with routemap no work: pvrp tag no work: pvrp default route no work: pvrp with bfd no work: pvrp authentication no work: pvrp ssh encryption no work: pvrp tls encryption no work: pvrp peer template no work: redistribution with isis no work: redistribution with ospf no work: redistribution with rip no work: redistribution with bgp no work: redistribution with bgp vpn no work: redistribution with pvrp no work: redistribution with eigrp no work: redistribution filtering with prefixlist no work: redistribution filtering with routemap no work: redistribution with prefixes no work: redistribution with everything no work: rip on one subnet no work: rip in chain no work: rip ingress route filtering with prefixlist no work: rip egress route filtering with prefixlist no work: rip ingress route filtering with routemap no work: rip egress route filtering with routemap no work: rip hop count no work: rip tag no work: rip address suppression no work: rip default route no work: rip authentication no work: rip metric no work: rip with bfd no work: rip peer template no work: static routing no work: static routing with distance no work: static routing with icmp tracker no work: static routing with tcp tracker no work: static routing with bfd tracker no work: authoritative dns server no work: relaying dns server no work: dynamic tunnel destination no work: forwarder server no work: load balancer server no work: proxy server no work: radius server no work: scheduler no work: sipmodem server no work: socks4 server no work: socks5 server no work: tacacs server ---------------------------------- 2014-01-05 02:10:30 qc pass: ldp over ethernet qc pass: ldp over ethernet vlan qc pass: ldp over ethernet bridge qc pass: ldp over hdlc qc pass: ldp over ppp qc pass: ldp over framerelay qc pass: ldp over atmdxi qc pass: ldp over gre qc pass: ldp over broadcast subnet qc pass: ldp over hub and spoke subnet qc pass: p2p ldp tunnel qc pass: p2mp ldp tunnel qc pass: p2mp ldp tunnel head+mid qc pass: mp2mp ldp tunnel qc pass: mp2mp ldp tunnel mid+head qc pass: ppp over mpls qc pass: hdlc over mpls qc pass: lapb over mpls qc pass: framerelay over mpls qc pass: atmdxi over mpls qc pass: port mode ppp over mpls qc pass: ethernet over mpls qc pass: vlan over mpls qc pass: multipoint ethernet over mpls qc pass: interworking between l2tp3 and ethernet over mpls qc pass: hdlc tunneling with mpls qc pass: ppp tunneling with mpls qc pass: lapb tunneling with mpls qc pass: framerelay tunneling with mpls qc pass: atmdxi tunneling with mpls qc pass: ethernet tunneling with mpls qc pass: vlan tunneling with mpls qc pass: tunnel interface with mpls qc pass: te over ethernet qc pass: te over ethernet vlan qc pass: te over ethernet bridge qc pass: te over hdlc qc pass: te over ppp qc pass: te over framerelay qc pass: te over atmdxi qc pass: te over gre qc pass: te in chain qc pass: ldp over te qc pass: pwe over te qc pass: ldp and te qc pass: p2mp te qc pass: p2mp te tail+mid qc pass: cross connect with pwe over mpls qc pass: cross connect with packet over udp qc pass: cross connect with vxlan qc pass: cross connect with erspan qc pass: cross connect interworking with packet over udp qc pass: cross connect interworking with vxlan qc pass: cross connect interworking with erspan qc pass: qos ingress transmit action qc pass: qos egress transmit action qc pass: qos ingress drop action qc pass: qos egress drop action qc pass: qos ingress policer action qc pass: qos egress policer action qc pass: qos ingress priority action qc pass: qos egress priority action qc pass: qos ingress bandwidth action qc pass: qos egress bandwidth action qc pass: qos ingress shaper action qc pass: qos egress shaper action qc pass: qos ingress hierarchical action qc pass: qos egress hierarchical action qc pass: qos ingress length matcher qc pass: qos egress length matcher qc pass: qos ingress tos matcher qc pass: qos egress tos matcher qc pass: qos ingress dscp matcher qc pass: qos egress dscp matcher qc pass: qos ingress prec matcher qc pass: qos egress prec matcher qc pass: qos ingress acl matcher qc pass: qos egress acl matcher qc pass: qos ingress ethertype matcher qc pass: qos egress ethertype matcher qc pass: qos ingress matcher on bridged traffic qc pass: qos egress matcher on bridged traffic qc pass: qos ingress qosgroup set qc pass: qos ingress tos set qc pass: qos egress tos set qc pass: qos ingress dscp set qc pass: qos egress dscp set qc pass: qos ingress prec set qc pass: qos egress prec set qc pass: qos cos set qc pass: qos ingress exp set qc pass: qos egress exp set qc pass: ebgp in chain qc pass: confed bgp in chain qc pass: ibgp in chain qc pass: ebgp in subnet qc pass: confed bgp in subnet qc pass: ibgp in subnet qc pass: ibgp fullmesh in subnet qc pass: ibgp rr in subnet qc pass: ebgp over loopback qc pass: ibgp over loopback qc pass: ibgp with mpls qc pass: ebgp with long as number qc pass: ibgp with long as number qc pass: bgp default route qc pass: bgp ingress route filtering with prefixlist qc pass: bgp egress route filtering with prefixlist qc pass: bgp ingress route filtering with routemap qc pass: bgp egress route filtering with routemap qc pass: bgp filtering with locpref qc pass: bgp filtering with origin qc pass: bgp filtering with metric qc pass: bgp filtering with standard community qc pass: bgp filtering with aspath qc pass: bgp locpref qc pass: bgp aspath qc pass: bgp origin qc pass: bgp metric qc pass: bgp locpref vs aspath qc pass: bgp aspath vs origin qc pass: bgp origin vs metric qc pass: bgp filtering with extended community qc pass: ebgp with labels qc pass: ibgp with labels qc pass: ebgp with bfd qc pass: vpns over ebgp qc pass: vpns over ibgp qc pass: bgp route server qc pass: bgp enforce first as qc pass: bgp aspath check qc pass: bgp allow as in qc pass: bgp remove private as qc pass: bgp override as qc pass: bgp nexthop self qc pass: bgp nexthop peer qc pass: vpls over ebgp qc pass: vpls over ibgp qc pass: bgp peer template qc pass: bgp listen qc pass: eigrp point2point connection qc pass: eigrp point2multipoint connection qc pass: eigrp point2point chain qc pass: eigrp delay qc pass: eigrp address suppression qc pass: eigrp ingress route filtering with prefixlist qc pass: eigrp egress route filtering with prefixlist qc pass: eigrp ingress route filtering with routemap qc pass: eigrp egress route filtering with routemap qc pass: eigrp default route qc pass: eigrp with bfd qc pass: eigrp peer template qc pass: isis over ethernet qc pass: isis over ethernet vlan qc pass: isis over ethernet bridge qc pass: isis over hdlc qc pass: isis over ppp qc pass: isis over framerelay qc pass: isis over atmdxi qc pass: isis over gre qc pass: isis narrow metric qc pass: isis overload qc pass: isis attached qc pass: isis chain of broadcast nets qc pass: isis broadcast subnet qc pass: isis updown bit qc pass: isis updown bit with narrow metric qc pass: isis address suppression qc pass: isis inter-level routes qc pass: isis authentication qc pass: isis intra level metric qc pass: isis external metric qc pass: isis external narrow metric qc pass: isis external metric vs intra level metric qc pass: isis inter level ingress filtering with prefixlist qc pass: isis inter level ingress filtering with routemap qc pass: isis inter level egress filtering with prefixlist qc pass: isis inter level egress filtering with routemap qc pass: isis default route qc pass: isis with bfd qc pass: isis with te qc pass: isis peer template qc pass: multicast routing with static flooding qc pass: multicast routing with pim ssm qc pass: multicast routing with igmp/mld qc pass: multicast routing with mldp qc pass: ospf point2point connection qc pass: ospf point2multipoint connection qc pass: ospf point2multipoint nonbroadcast connection qc pass: ospf broadcast connection qc pass: ospf nonbroadcast connection qc pass: ospf point2point chain qc pass: ospf broadcast chain qc pass: ospf stub area qc pass: ospf nssa area qc pass: ospf transit area qc pass: ospf intra area metric qc pass: ospf intra area vs inter area qc pass: ospf inter area vs external qc pass: ospf external1 vs external2 qc pass: ospf external1 metric qc pass: ospf external2 metric qc pass: ospf address suppression qc pass: ospf authentication qc pass: ospf inter area ingress filtering with prefixlist qc pass: ospf inter area ingress filtering with routemap qc pass: ospf inter area egress filtering with prefixlist qc pass: ospf inter area egress filtering with routemap qc pass: ospf default route qc pass: ospf with bfd qc pass: ospf with te qc pass: ospf peer template qc pass: pvrp point2point connection qc pass: pvrp point2multipoint connection qc pass: pvrp point2point chain qc pass: pvrp metric qc pass: pvrp address suppression qc pass: pvrp ingress route filtering with prefixlist qc pass: pvrp egress route filtering with prefixlist qc pass: pvrp ingress route filtering with routemap qc pass: pvrp egress route filtering with routemap qc pass: pvrp tag qc pass: pvrp default route qc pass: pvrp with bfd qc pass: pvrp authentication qc pass: pvrp ssh encryption qc pass: pvrp tls encryption qc pass: pvrp peer template qc pass: redistribution with isis qc pass: redistribution with ospf qc pass: redistribution with rip qc pass: redistribution with bgp qc pass: redistribution with bgp vpn qc pass: redistribution with pvrp qc pass: redistribution with eigrp qc pass: redistribution filtering with prefixlist qc pass: redistribution filtering with routemap qc pass: redistribution with prefixes qc pass: redistribution with everything qc pass: rip on one subnet qc pass: rip in chain qc pass: rip ingress route filtering with prefixlist qc pass: rip egress route filtering with prefixlist qc pass: rip ingress route filtering with routemap qc pass: rip egress route filtering with routemap qc pass: rip hop count qc pass: rip tag qc pass: rip address suppression qc pass: rip default route qc pass: rip authentication qc pass: rip metric qc pass: rip with bfd qc pass: rip peer template qc pass: static routing qc pass: static routing with distance qc pass: static routing with icmp tracker qc pass: static routing with tcp tracker qc pass: static routing with bfd tracker qc pass: authoritative dns server qc pass: relaying dns server qc pass: dynamic tunnel destination qc pass: forwarder server qc pass: load balancer server qc pass: proxy server qc pass: radius server qc pass: scheduler qc pass: sipmodem server qc pass: socks4 server qc pass: socks5 server qc pass: tacacs server ---------------------------------- 2014-01-06 14:34:50 no qc pass: tacacs server no qc pass: socks5 server no qc pass: socks4 server no qc pass: sipmodem server no qc pass: scheduler no qc pass: radius server no qc pass: proxy server no qc pass: load balancer server no qc pass: forwarder server no qc pass: dynamic tunnel destination no qc pass: relaying dns server no qc pass: authoritative dns server no qc pass: static routing with bfd tracker no qc pass: static routing with tcp tracker no qc pass: static routing with icmp tracker no qc pass: static routing with distance no qc pass: static routing no qc pass: rip peer template no qc pass: rip with bfd no qc pass: rip metric no qc pass: rip authentication no qc pass: rip default route no qc pass: rip address suppression no qc pass: rip tag no qc pass: rip hop count no qc pass: rip egress route filtering with routemap no qc pass: rip ingress route filtering with routemap no qc pass: rip egress route filtering with prefixlist no qc pass: rip ingress route filtering with prefixlist no qc pass: rip in chain no qc pass: rip on one subnet no qc pass: redistribution with everything no qc pass: redistribution with prefixes no qc pass: redistribution filtering with routemap no qc pass: redistribution filtering with prefixlist no qc pass: redistribution with eigrp no qc pass: redistribution with pvrp no qc pass: redistribution with bgp vpn no qc pass: redistribution with bgp no qc pass: redistribution with rip no qc pass: redistribution with ospf no qc pass: redistribution with isis no qc pass: pvrp peer template no qc pass: pvrp tls encryption no qc pass: pvrp ssh encryption no qc pass: pvrp authentication no qc pass: pvrp with bfd no qc pass: pvrp default route no qc pass: pvrp tag no qc pass: pvrp egress route filtering with routemap no qc pass: pvrp ingress route filtering with routemap no qc pass: pvrp egress route filtering with prefixlist no qc pass: pvrp ingress route filtering with prefixlist no qc pass: pvrp address suppression no qc pass: pvrp metric no qc pass: pvrp point2point chain no qc pass: pvrp point2multipoint connection no qc pass: pvrp point2point connection no qc pass: ospf peer template no qc pass: ospf with te no qc pass: ospf with bfd no qc pass: ospf default route no qc pass: ospf inter area egress filtering with routemap no qc pass: ospf inter area egress filtering with prefixlist no qc pass: ospf inter area ingress filtering with routemap no qc pass: ospf inter area ingress filtering with prefixlist no qc pass: ospf authentication no qc pass: ospf address suppression no qc pass: ospf external2 metric no qc pass: ospf external1 metric no qc pass: ospf external1 vs external2 no qc pass: ospf inter area vs external no qc pass: ospf intra area vs inter area no qc pass: ospf intra area metric no qc pass: ospf transit area no qc pass: ospf nssa area no qc pass: ospf stub area no qc pass: ospf broadcast chain no qc pass: ospf point2point chain no qc pass: ospf nonbroadcast connection no qc pass: ospf broadcast connection no qc pass: ospf point2multipoint nonbroadcast connection no qc pass: ospf point2multipoint connection no qc pass: ospf point2point connection no qc pass: multicast routing with mldp no qc pass: multicast routing with igmp/mld no qc pass: multicast routing with pim ssm no qc pass: multicast routing with static flooding no qc pass: isis peer template no qc pass: isis with te no qc pass: isis with bfd no qc pass: isis default route no qc pass: isis inter level egress filtering with routemap no qc pass: isis inter level egress filtering with prefixlist no qc pass: isis inter level ingress filtering with routemap no qc pass: isis inter level ingress filtering with prefixlist no qc pass: isis external metric vs intra level metric no qc pass: isis external narrow metric no qc pass: isis external metric no qc pass: isis intra level metric no qc pass: isis authentication no qc pass: isis inter-level routes no qc pass: isis address suppression no qc pass: isis updown bit with narrow metric no qc pass: isis updown bit no qc pass: isis broadcast subnet no qc pass: isis chain of broadcast nets no qc pass: isis attached no qc pass: isis overload no qc pass: isis narrow metric no qc pass: isis over gre no qc pass: isis over atmdxi no qc pass: isis over framerelay no qc pass: isis over ppp no qc pass: isis over hdlc no qc pass: isis over ethernet bridge no qc pass: isis over ethernet vlan no qc pass: isis over ethernet no qc pass: eigrp peer template no qc pass: eigrp with bfd no qc pass: eigrp default route no qc pass: eigrp egress route filtering with routemap no qc pass: eigrp ingress route filtering with routemap no qc pass: eigrp egress route filtering with prefixlist no qc pass: eigrp ingress route filtering with prefixlist no qc pass: eigrp address suppression no qc pass: eigrp delay no qc pass: eigrp point2point chain no qc pass: eigrp point2multipoint connection no qc pass: eigrp point2point connection no qc pass: bgp listen no qc pass: bgp peer template no qc pass: vpls over ibgp no qc pass: vpls over ebgp no qc pass: bgp nexthop peer no qc pass: bgp nexthop self no qc pass: bgp override as no qc pass: bgp remove private as no qc pass: bgp allow as in no qc pass: bgp aspath check no qc pass: bgp enforce first as no qc pass: bgp route server no qc pass: vpns over ibgp no qc pass: vpns over ebgp no qc pass: ebgp with bfd no qc pass: ibgp with labels no qc pass: ebgp with labels no qc pass: bgp filtering with extended community no qc pass: bgp origin vs metric no qc pass: bgp aspath vs origin no qc pass: bgp locpref vs aspath no qc pass: bgp metric no qc pass: bgp origin no qc pass: bgp aspath no qc pass: bgp locpref no qc pass: bgp filtering with aspath no qc pass: bgp filtering with standard community no qc pass: bgp filtering with metric no qc pass: bgp filtering with origin no qc pass: bgp filtering with locpref no qc pass: bgp egress route filtering with routemap no qc pass: bgp ingress route filtering with routemap no qc pass: bgp egress route filtering with prefixlist no qc pass: bgp ingress route filtering with prefixlist no qc pass: bgp default route no qc pass: ibgp with long as number no qc pass: ebgp with long as number no qc pass: ibgp with mpls no qc pass: ibgp over loopback no qc pass: ebgp over loopback no qc pass: ibgp rr in subnet no qc pass: ibgp fullmesh in subnet no qc pass: ibgp in subnet no qc pass: confed bgp in subnet no qc pass: ebgp in subnet no qc pass: ibgp in chain no qc pass: confed bgp in chain no qc pass: ebgp in chain no qc pass: qos egress exp set no qc pass: qos ingress exp set no qc pass: qos cos set no qc pass: qos egress prec set no qc pass: qos ingress prec set no qc pass: qos egress dscp set no qc pass: qos ingress dscp set no qc pass: qos egress tos set no qc pass: qos ingress tos set no qc pass: qos ingress qosgroup set no qc pass: qos egress matcher on bridged traffic no qc pass: qos ingress matcher on bridged traffic no qc pass: qos egress ethertype matcher no qc pass: qos ingress ethertype matcher no qc pass: qos egress acl matcher no qc pass: qos ingress acl matcher no qc pass: qos egress prec matcher no qc pass: qos ingress prec matcher no qc pass: qos egress dscp matcher no qc pass: qos ingress dscp matcher no qc pass: qos egress tos matcher no qc pass: qos ingress tos matcher no qc pass: qos egress length matcher no qc pass: qos ingress length matcher no qc pass: qos egress hierarchical action no qc pass: qos ingress hierarchical action no qc pass: qos egress shaper action no qc pass: qos ingress shaper action no qc pass: qos egress bandwidth action no qc pass: qos ingress bandwidth action no qc pass: qos egress priority action no qc pass: qos ingress priority action no qc pass: qos egress policer action no qc pass: qos ingress policer action no qc pass: qos egress drop action no qc pass: qos ingress drop action no qc pass: qos egress transmit action no qc pass: qos ingress transmit action no qc pass: cross connect interworking with erspan no qc pass: cross connect interworking with vxlan no qc pass: cross connect interworking with packet over udp no qc pass: cross connect with erspan no qc pass: cross connect with vxlan no qc pass: cross connect with packet over udp no qc pass: cross connect with pwe over mpls no qc pass: p2mp te tail+mid no qc pass: p2mp te no qc pass: ldp and te no qc pass: pwe over te no qc pass: ldp over te no qc pass: te in chain no qc pass: te over gre no qc pass: te over atmdxi no qc pass: te over framerelay no qc pass: te over ppp no qc pass: te over hdlc no qc pass: te over ethernet bridge no qc pass: te over ethernet vlan no qc pass: te over ethernet no qc pass: tunnel interface with mpls no qc pass: vlan tunneling with mpls no qc pass: ethernet tunneling with mpls no qc pass: atmdxi tunneling with mpls no qc pass: framerelay tunneling with mpls no qc pass: lapb tunneling with mpls no qc pass: ppp tunneling with mpls no qc pass: hdlc tunneling with mpls no qc pass: interworking between l2tp3 and ethernet over mpls no qc pass: multipoint ethernet over mpls no qc pass: vlan over mpls no qc pass: ethernet over mpls no qc pass: port mode ppp over mpls no qc pass: atmdxi over mpls no qc pass: framerelay over mpls no qc pass: lapb over mpls no qc pass: hdlc over mpls no qc pass: ppp over mpls no qc pass: mp2mp ldp tunnel mid+head no qc pass: mp2mp ldp tunnel no qc pass: p2mp ldp tunnel head+mid no qc pass: p2mp ldp tunnel no qc pass: p2p ldp tunnel no qc pass: ldp over hub and spoke subnet no qc pass: ldp over broadcast subnet no qc pass: ldp over gre no qc pass: ldp over atmdxi no qc pass: ldp over framerelay no qc pass: ldp over ppp no qc pass: ldp over hdlc no qc pass: ldp over ethernet bridge no qc pass: ldp over ethernet vlan no qc pass: ldp over ethernet no work: ldp over ethernet no work: ldp over ethernet vlan no work: ldp over ethernet bridge no work: ldp over hdlc no work: ldp over ppp no work: ldp over framerelay no work: ldp over atmdxi no work: ldp over gre no work: ldp over broadcast subnet no work: ldp over hub and spoke subnet no work: p2p ldp tunnel no work: p2mp ldp tunnel no work: p2mp ldp tunnel head+mid no work: mp2mp ldp tunnel no work: mp2mp ldp tunnel mid+head no work: ppp over mpls no work: hdlc over mpls no work: lapb over mpls no work: framerelay over mpls no work: atmdxi over mpls no work: port mode ppp over mpls no work: ethernet over mpls no work: vlan over mpls no work: multipoint ethernet over mpls no work: interworking between l2tp3 and ethernet over mpls no work: hdlc tunneling with mpls no work: ppp tunneling with mpls no work: lapb tunneling with mpls no work: framerelay tunneling with mpls no work: atmdxi tunneling with mpls no work: ethernet tunneling with mpls no work: vlan tunneling with mpls no work: tunnel interface with mpls no work: te over ethernet no work: te over ethernet vlan no work: te over ethernet bridge no work: te over hdlc no work: te over ppp no work: te over framerelay no work: te over atmdxi no work: te over gre no work: te in chain no work: ldp over te no work: pwe over te no work: ldp and te no work: p2mp te no work: p2mp te tail+mid no work: cross connect with pwe over mpls no work: cross connect with packet over udp no work: cross connect with vxlan no work: cross connect with erspan no work: cross connect interworking with packet over udp no work: cross connect interworking with vxlan no work: cross connect interworking with erspan no work: qos ingress transmit action no work: qos egress transmit action no work: qos ingress drop action no work: qos egress drop action no work: qos ingress policer action no work: qos egress policer action no work: qos ingress priority action no work: qos egress priority action no work: qos ingress bandwidth action no work: qos egress bandwidth action no work: qos ingress shaper action no work: qos egress shaper action no work: qos ingress hierarchical action no work: qos egress hierarchical action no work: qos ingress length matcher no work: qos egress length matcher no work: qos ingress tos matcher no work: qos egress tos matcher no work: qos ingress dscp matcher no work: qos egress dscp matcher no work: qos ingress prec matcher no work: qos egress prec matcher no work: qos ingress acl matcher no work: qos egress acl matcher no work: qos ingress ethertype matcher no work: qos egress ethertype matcher no work: qos ingress matcher on bridged traffic no work: qos egress matcher on bridged traffic no work: qos ingress qosgroup set no work: qos ingress tos set no work: qos egress tos set no work: qos ingress dscp set no work: qos egress dscp set no work: qos ingress prec set no work: qos egress prec set no work: qos cos set no work: qos ingress exp set no work: qos egress exp set no work: ebgp in chain no work: confed bgp in chain no work: ibgp in chain no work: ebgp in subnet no work: confed bgp in subnet no work: ibgp in subnet no work: ibgp fullmesh in subnet no work: ibgp rr in subnet no work: ebgp over loopback no work: ibgp over loopback no work: ibgp with mpls no work: ebgp with long as number no work: ibgp with long as number no work: bgp default route no work: bgp ingress route filtering with prefixlist no work: bgp egress route filtering with prefixlist no work: bgp ingress route filtering with routemap no work: bgp egress route filtering with routemap no work: bgp filtering with locpref no work: bgp filtering with origin no work: bgp filtering with metric no work: bgp filtering with standard community no work: bgp filtering with aspath no work: bgp locpref no work: bgp aspath no work: bgp origin no work: bgp metric no work: bgp locpref vs aspath no work: bgp aspath vs origin no work: bgp origin vs metric no work: bgp filtering with extended community no work: ebgp with labels no work: ibgp with labels no work: ebgp with bfd no work: vpns over ebgp no work: vpns over ibgp no work: bgp route server no work: bgp enforce first as no work: bgp aspath check no work: bgp allow as in no work: bgp remove private as no work: bgp override as no work: bgp nexthop self no work: bgp nexthop peer no work: vpls over ebgp no work: vpls over ibgp no work: bgp peer template no work: bgp listen no work: eigrp point2point connection no work: eigrp point2multipoint connection no work: eigrp point2point chain no work: eigrp delay no work: eigrp address suppression no work: eigrp ingress route filtering with prefixlist no work: eigrp egress route filtering with prefixlist no work: eigrp ingress route filtering with routemap no work: eigrp egress route filtering with routemap no work: eigrp default route no work: eigrp with bfd no work: eigrp peer template no work: isis over ethernet no work: isis over ethernet vlan no work: isis over ethernet bridge no work: isis over hdlc no work: isis over ppp no work: isis over framerelay no work: isis over atmdxi no work: isis over gre no work: isis narrow metric no work: isis overload no work: isis attached no work: isis chain of broadcast nets no work: isis broadcast subnet no work: isis updown bit no work: isis updown bit with narrow metric no work: isis address suppression no work: isis inter-level routes no work: isis authentication no work: isis intra level metric no work: isis external metric no work: isis external narrow metric no work: isis external metric vs intra level metric no work: isis inter level ingress filtering with prefixlist no work: isis inter level ingress filtering with routemap no work: isis inter level egress filtering with prefixlist no work: isis inter level egress filtering with routemap no work: isis default route no work: isis with bfd no work: isis with te no work: isis peer template no work: multicast routing with static flooding no work: multicast routing with pim ssm no work: multicast routing with igmp/mld no work: multicast routing with mldp no work: ospf point2point connection no work: ospf point2multipoint connection no work: ospf point2multipoint nonbroadcast connection no work: ospf broadcast connection no work: ospf nonbroadcast connection no work: ospf point2point chain no work: ospf broadcast chain no work: ospf stub area no work: ospf nssa area no work: ospf transit area no work: ospf intra area metric no work: ospf intra area vs inter area no work: ospf inter area vs external no work: ospf external1 vs external2 no work: ospf external1 metric no work: ospf external2 metric no work: ospf address suppression no work: ospf authentication no work: ospf inter area ingress filtering with prefixlist no work: ospf inter area ingress filtering with routemap no work: ospf inter area egress filtering with prefixlist no work: ospf inter area egress filtering with routemap no work: ospf default route no work: ospf with bfd no work: ospf with te no work: ospf peer template no work: pvrp point2point connection no work: pvrp point2multipoint connection no work: pvrp point2point chain no work: pvrp metric no work: pvrp address suppression no work: pvrp ingress route filtering with prefixlist no work: pvrp egress route filtering with prefixlist no work: pvrp ingress route filtering with routemap no work: pvrp egress route filtering with routemap no work: pvrp tag no work: pvrp default route no work: pvrp with bfd no work: pvrp authentication no work: pvrp ssh encryption no work: pvrp tls encryption no work: pvrp peer template no work: redistribution with isis no work: redistribution with ospf no work: redistribution with rip no work: redistribution with bgp no work: redistribution with bgp vpn no work: redistribution with pvrp no work: redistribution with eigrp no work: redistribution filtering with prefixlist no work: redistribution filtering with routemap no work: redistribution with prefixes no work: redistribution with everything no work: rip on one subnet no work: rip in chain no work: rip ingress route filtering with prefixlist no work: rip egress route filtering with prefixlist no work: rip ingress route filtering with routemap no work: rip egress route filtering with routemap no work: rip hop count no work: rip tag no work: rip address suppression no work: rip default route no work: rip authentication no work: rip metric no work: rip with bfd no work: rip peer template no work: static routing no work: static routing with distance no work: static routing with icmp tracker no work: static routing with tcp tracker no work: static routing with bfd tracker no work: authoritative dns server no work: relaying dns server no work: dynamic tunnel destination no work: forwarder server no work: load balancer server no work: proxy server no work: radius server no work: scheduler no work: sipmodem server no work: socks4 server no work: socks5 server no work: tacacs server ---------------------------------- 2014-01-06 19:47:24 qc pass: ldp over ethernet qc pass: ldp over ethernet vlan qc pass: ldp over ethernet bridge qc pass: ldp over hdlc qc pass: ldp over ppp qc pass: ldp over framerelay qc pass: ldp over atmdxi qc pass: ldp over gre qc pass: ldp over broadcast subnet qc pass: ldp over hub and spoke subnet qc pass: p2p ldp tunnel qc pass: p2mp ldp tunnel qc pass: p2mp ldp tunnel head+mid qc pass: mp2mp ldp tunnel qc pass: mp2mp ldp tunnel mid+head qc pass: ppp over mpls qc pass: hdlc over mpls qc pass: lapb over mpls qc pass: framerelay over mpls qc pass: atmdxi over mpls qc pass: port mode ppp over mpls qc pass: ethernet over mpls qc pass: vlan over mpls qc pass: multipoint ethernet over mpls qc pass: interworking between l2tp3 and ethernet over mpls qc pass: hdlc tunneling with mpls qc pass: ppp tunneling with mpls qc pass: lapb tunneling with mpls qc pass: framerelay tunneling with mpls qc pass: atmdxi tunneling with mpls qc pass: ethernet tunneling with mpls qc pass: vlan tunneling with mpls qc pass: tunnel interface with mpls qc pass: te over ethernet qc pass: te over ethernet vlan qc pass: te over ethernet bridge qc pass: te over hdlc qc pass: te over ppp qc pass: te over framerelay qc pass: te over atmdxi qc pass: te over gre qc pass: te in chain qc pass: ldp over te qc pass: pwe over te qc pass: ldp and te qc pass: p2mp te qc pass: p2mp te tail+mid qc pass: cross connect with pwe over mpls qc pass: cross connect with packet over udp qc pass: cross connect with vxlan qc pass: cross connect with erspan qc pass: cross connect interworking with packet over udp qc pass: cross connect interworking with vxlan qc pass: cross connect interworking with erspan qc pass: qos ingress transmit action qc pass: qos egress transmit action qc pass: qos ingress drop action qc pass: qos egress drop action qc pass: qos ingress policer action qc pass: qos egress policer action qc pass: qos ingress priority action qc pass: qos egress priority action qc pass: qos ingress bandwidth action qc pass: qos egress bandwidth action qc pass: qos ingress shaper action qc pass: qos egress shaper action qc pass: qos ingress hierarchical action qc pass: qos egress hierarchical action qc pass: qos ingress length matcher qc pass: qos egress length matcher qc pass: qos ingress tos matcher qc pass: qos egress tos matcher qc pass: qos ingress dscp matcher qc pass: qos egress dscp matcher qc pass: qos ingress prec matcher qc pass: qos egress prec matcher qc pass: qos ingress acl matcher qc pass: qos egress acl matcher qc pass: qos ingress ethertype matcher qc pass: qos egress ethertype matcher qc pass: qos ingress matcher on bridged traffic qc pass: qos egress matcher on bridged traffic qc pass: qos ingress qosgroup set qc pass: qos ingress tos set qc pass: qos egress tos set qc pass: qos ingress dscp set qc pass: qos egress dscp set qc pass: qos ingress prec set qc pass: qos egress prec set qc pass: qos cos set qc pass: qos ingress exp set qc pass: qos egress exp set qc pass: ebgp in chain qc pass: confed bgp in chain qc pass: ibgp in chain qc pass: ebgp in subnet qc pass: confed bgp in subnet qc pass: ibgp in subnet qc pass: ibgp fullmesh in subnet qc pass: ibgp rr in subnet qc pass: ebgp over loopback qc pass: ibgp over loopback qc pass: ibgp with mpls qc pass: ebgp with long as number qc pass: ibgp with long as number qc pass: bgp default route qc pass: bgp ingress route filtering with prefixlist qc pass: bgp egress route filtering with prefixlist qc pass: bgp ingress route filtering with routemap qc pass: bgp egress route filtering with routemap qc pass: bgp filtering with locpref qc pass: bgp filtering with origin qc pass: bgp filtering with metric qc pass: bgp filtering with standard community qc pass: bgp filtering with aspath qc pass: bgp locpref qc pass: bgp aspath qc pass: bgp origin qc pass: bgp metric qc pass: bgp locpref vs aspath qc pass: bgp aspath vs origin qc pass: bgp origin vs metric qc pass: bgp filtering with extended community qc pass: ebgp with labels qc pass: ibgp with labels qc pass: ebgp with bfd qc pass: vpns over ebgp qc pass: vpns over ibgp qc pass: bgp route server qc pass: bgp enforce first as qc pass: bgp aspath check qc pass: bgp allow as in qc pass: bgp remove private as qc pass: bgp override as qc pass: bgp nexthop self qc pass: bgp nexthop peer qc pass: vpls over ebgp qc pass: vpls over ibgp qc pass: bgp peer template qc pass: bgp listen qc pass: eigrp point2point connection qc pass: eigrp point2multipoint connection qc pass: eigrp point2point chain qc pass: eigrp delay qc pass: eigrp address suppression qc pass: eigrp ingress route filtering with prefixlist qc pass: eigrp egress route filtering with prefixlist qc pass: eigrp ingress route filtering with routemap qc pass: eigrp egress route filtering with routemap qc pass: eigrp default route qc pass: eigrp with bfd qc pass: eigrp peer template qc pass: isis over ethernet qc pass: isis over ethernet vlan qc pass: isis over ethernet bridge qc pass: isis over hdlc qc pass: isis over ppp qc pass: isis over framerelay qc pass: isis over atmdxi qc pass: isis over gre qc pass: isis narrow metric qc pass: isis overload qc pass: isis attached qc pass: isis chain of broadcast nets qc pass: isis broadcast subnet qc pass: isis updown bit qc pass: isis updown bit with narrow metric qc pass: isis address suppression qc pass: isis inter-level routes qc pass: isis authentication qc pass: isis intra level metric qc pass: isis external metric qc pass: isis external narrow metric qc pass: isis external metric vs intra level metric qc pass: isis inter level ingress filtering with prefixlist qc pass: isis inter level ingress filtering with routemap qc pass: isis inter level egress filtering with prefixlist qc pass: isis inter level egress filtering with routemap qc pass: isis default route qc pass: isis with bfd qc pass: isis with te qc pass: isis peer template qc pass: multicast routing with static flooding qc pass: multicast routing with pim ssm qc pass: multicast routing with igmp/mld qc pass: multicast routing with mldp qc pass: ospf point2point connection qc pass: ospf point2multipoint connection qc pass: ospf point2multipoint nonbroadcast connection qc pass: ospf broadcast connection qc pass: ospf nonbroadcast connection qc pass: ospf point2point chain qc pass: ospf broadcast chain qc pass: ospf stub area qc pass: ospf nssa area qc pass: ospf transit area qc pass: ospf intra area metric qc pass: ospf intra area vs inter area qc pass: ospf inter area vs external qc pass: ospf external1 vs external2 qc pass: ospf external1 metric qc pass: ospf external2 metric qc pass: ospf address suppression qc pass: ospf authentication qc pass: ospf inter area ingress filtering with prefixlist qc pass: ospf inter area ingress filtering with routemap qc pass: ospf inter area egress filtering with prefixlist qc pass: ospf inter area egress filtering with routemap qc pass: ospf default route qc pass: ospf with bfd qc pass: ospf with te qc pass: ospf peer template qc pass: pvrp point2point connection qc pass: pvrp point2multipoint connection qc pass: pvrp point2point chain qc pass: pvrp metric qc pass: pvrp address suppression qc pass: pvrp ingress route filtering with prefixlist qc pass: pvrp egress route filtering with prefixlist qc pass: pvrp ingress route filtering with routemap qc pass: pvrp egress route filtering with routemap qc pass: pvrp tag qc pass: pvrp default route qc pass: pvrp with bfd qc pass: pvrp authentication qc pass: pvrp ssh encryption qc pass: pvrp tls encryption qc pass: pvrp peer template qc pass: redistribution with isis qc pass: redistribution with ospf qc pass: redistribution with rip qc pass: redistribution with bgp qc pass: redistribution with bgp vpn qc pass: redistribution with pvrp qc pass: redistribution with eigrp qc pass: redistribution filtering with prefixlist qc pass: redistribution filtering with routemap qc pass: redistribution with prefixes qc pass: redistribution with everything qc pass: rip on one subnet qc pass: rip in chain qc pass: rip ingress route filtering with prefixlist qc pass: rip egress route filtering with prefixlist qc pass: rip ingress route filtering with routemap qc pass: rip egress route filtering with routemap qc pass: rip hop count qc pass: rip tag qc pass: rip address suppression qc pass: rip default route qc pass: rip authentication qc pass: rip metric qc pass: rip with bfd qc pass: rip peer template qc pass: static routing qc pass: static routing with distance qc pass: static routing with icmp tracker qc pass: static routing with tcp tracker qc pass: static routing with bfd tracker qc pass: authoritative dns server qc pass: relaying dns server qc pass: dynamic tunnel destination qc pass: forwarder server qc pass: load balancer server qc pass: proxy server qc pass: radius server qc pass: scheduler qc pass: sipmodem server qc pass: socks4 server qc pass: socks5 server qc pass: tacacs server ---------------------------------- 2014-01-16 12:10:56 no qc pass: redistribution with bgp vpn no qc pass: redistribution with bgp qc pass: unnamed qc pass: unnamed ---------------------------------- 2014-01-19 21:10:53 no qc pass: unnamed no qc pass: unnamed qc pass: redistribution with bgp qc pass: redistribution with bgp vpn ---------------------------------- 2014-01-20 20:31:19 no qc pass: ppp with tacacs authentication no work: ppp with tacacs authentication ---------------------------------- 2014-01-30 10:50:07 no qc pass: tacacs server no qc pass: socks5 server no qc pass: socks4 server no qc pass: sipmodem server no qc pass: scheduler no qc pass: radius server no qc pass: proxy server no qc pass: load balancer server no qc pass: forwarder server no qc pass: dynamic tunnel destination no qc pass: relaying dns server no qc pass: authoritative dns server no qc pass: static routing with bfd tracker no qc pass: static routing with tcp tracker no qc pass: static routing with icmp tracker no qc pass: static routing with distance no qc pass: static routing no qc pass: rip peer template no qc pass: rip with bfd no qc pass: rip metric no qc pass: rip authentication no qc pass: rip default route no qc pass: rip address suppression no qc pass: rip tag no qc pass: rip hop count no qc pass: rip egress route filtering with routemap no qc pass: rip ingress route filtering with routemap no qc pass: rip egress route filtering with prefixlist no qc pass: rip ingress route filtering with prefixlist no qc pass: rip in chain no qc pass: rip on one subnet no qc pass: redistribution with everything no qc pass: redistribution with prefixes no qc pass: redistribution filtering with routemap no qc pass: redistribution filtering with prefixlist no qc pass: redistribution with eigrp no qc pass: redistribution with pvrp no qc pass: redistribution with bgp vpn no qc pass: redistribution with bgp no qc pass: redistribution with rip no qc pass: redistribution with ospf no qc pass: redistribution with isis no qc pass: pvrp peer template no qc pass: pvrp tls encryption no qc pass: pvrp ssh encryption no qc pass: pvrp authentication no qc pass: pvrp with bfd no qc pass: pvrp default route no qc pass: pvrp tag no qc pass: pvrp egress route filtering with routemap no qc pass: pvrp ingress route filtering with routemap no qc pass: pvrp egress route filtering with prefixlist no qc pass: pvrp ingress route filtering with prefixlist no qc pass: pvrp address suppression no qc pass: pvrp metric no qc pass: pvrp point2point chain no qc pass: pvrp point2multipoint connection no qc pass: pvrp point2point connection no qc pass: ospf peer template no qc pass: ospf with te no qc pass: ospf with bfd no qc pass: ospf default route no qc pass: ospf inter area egress filtering with routemap no qc pass: ospf inter area egress filtering with prefixlist no qc pass: ospf inter area ingress filtering with routemap no qc pass: ospf inter area ingress filtering with prefixlist no qc pass: ospf authentication no qc pass: ospf address suppression no qc pass: ospf external2 metric no qc pass: ospf external1 metric no qc pass: ospf external1 vs external2 no qc pass: ospf inter area vs external no qc pass: ospf intra area vs inter area no qc pass: ospf intra area metric no qc pass: ospf transit area no qc pass: ospf nssa area no qc pass: ospf stub area no qc pass: ospf broadcast chain no qc pass: ospf point2point chain no qc pass: ospf nonbroadcast connection no qc pass: ospf broadcast connection no qc pass: ospf point2multipoint nonbroadcast connection no qc pass: ospf point2multipoint connection no qc pass: ospf point2point connection no qc pass: multicast routing with mldp no qc pass: multicast routing with igmp/mld no qc pass: multicast routing with pim ssm no qc pass: multicast routing with static flooding no qc pass: isis peer template no qc pass: isis with te no qc pass: isis with bfd no qc pass: isis default route no qc pass: isis inter level egress filtering with routemap no qc pass: isis inter level egress filtering with prefixlist no qc pass: isis inter level ingress filtering with routemap no qc pass: isis inter level ingress filtering with prefixlist no qc pass: isis external metric vs intra level metric no qc pass: isis external narrow metric no qc pass: isis external metric no qc pass: isis intra level metric no qc pass: isis authentication no qc pass: isis inter-level routes no qc pass: isis address suppression no qc pass: isis updown bit with narrow metric no qc pass: isis updown bit no qc pass: isis broadcast subnet no qc pass: isis chain of broadcast nets no qc pass: isis attached no qc pass: isis overload no qc pass: isis narrow metric no qc pass: isis over gre no qc pass: isis over atmdxi no qc pass: isis over framerelay no qc pass: isis over ppp no qc pass: isis over hdlc no qc pass: isis over ethernet bridge no qc pass: isis over ethernet vlan no qc pass: isis over ethernet no qc pass: eigrp peer template no qc pass: eigrp with bfd no qc pass: eigrp default route no qc pass: eigrp egress route filtering with routemap no qc pass: eigrp ingress route filtering with routemap no qc pass: eigrp egress route filtering with prefixlist no qc pass: eigrp ingress route filtering with prefixlist no qc pass: eigrp address suppression no qc pass: eigrp delay no qc pass: eigrp point2point chain no qc pass: eigrp point2multipoint connection no qc pass: eigrp point2point connection no qc pass: bgp listen no qc pass: bgp peer template no qc pass: vpls over ibgp no qc pass: vpls over ebgp no qc pass: bgp nexthop peer no qc pass: bgp nexthop self no qc pass: bgp override as no qc pass: bgp remove private as no qc pass: bgp allow as in no qc pass: bgp aspath check no qc pass: bgp enforce first as no qc pass: bgp route server no qc pass: vpns over ibgp no qc pass: vpns over ebgp no qc pass: ebgp with bfd no qc pass: ibgp with labels no qc pass: ebgp with labels no qc pass: bgp filtering with extended community no qc pass: bgp origin vs metric no qc pass: bgp aspath vs origin no qc pass: bgp locpref vs aspath no qc pass: bgp metric no qc pass: bgp origin no qc pass: bgp aspath no qc pass: bgp locpref no qc pass: bgp filtering with aspath no qc pass: bgp filtering with standard community no qc pass: bgp filtering with metric no qc pass: bgp filtering with origin no qc pass: bgp filtering with locpref no qc pass: bgp egress route filtering with routemap no qc pass: bgp ingress route filtering with routemap no qc pass: bgp egress route filtering with prefixlist no qc pass: bgp ingress route filtering with prefixlist no qc pass: bgp default route no qc pass: ibgp with long as number no qc pass: ebgp with long as number no qc pass: ibgp with mpls no qc pass: ibgp over loopback no qc pass: ebgp over loopback no qc pass: ibgp rr in subnet no qc pass: ibgp fullmesh in subnet no qc pass: ibgp in subnet no qc pass: confed bgp in subnet no qc pass: ebgp in subnet no qc pass: ibgp in chain no qc pass: confed bgp in chain no qc pass: ebgp in chain no qc pass: qos egress exp set no qc pass: qos ingress exp set no qc pass: qos cos set no qc pass: qos egress prec set no qc pass: qos ingress prec set no qc pass: qos egress dscp set no qc pass: qos ingress dscp set no qc pass: qos egress tos set no qc pass: qos ingress tos set no qc pass: qos ingress qosgroup set no qc pass: qos egress matcher on bridged traffic no qc pass: qos ingress matcher on bridged traffic no qc pass: qos egress ethertype matcher no qc pass: qos ingress ethertype matcher no qc pass: qos egress acl matcher no qc pass: qos ingress acl matcher no qc pass: qos egress prec matcher no qc pass: qos ingress prec matcher no qc pass: qos egress dscp matcher no qc pass: qos ingress dscp matcher no qc pass: qos egress tos matcher no qc pass: qos ingress tos matcher no qc pass: qos egress length matcher no qc pass: qos ingress length matcher no qc pass: qos egress hierarchical action no qc pass: qos ingress hierarchical action no qc pass: qos egress shaper action no qc pass: qos ingress shaper action no qc pass: qos egress bandwidth action no qc pass: qos ingress bandwidth action no qc pass: qos egress priority action no qc pass: qos ingress priority action no qc pass: qos egress policer action no qc pass: qos ingress policer action no qc pass: qos egress drop action no qc pass: qos ingress drop action no qc pass: qos egress transmit action no qc pass: qos ingress transmit action no qc pass: cross connect interworking with erspan no qc pass: cross connect interworking with vxlan no qc pass: cross connect interworking with packet over udp no qc pass: cross connect with erspan no qc pass: cross connect with vxlan no qc pass: cross connect with packet over udp no qc pass: cross connect with pwe over mpls no qc pass: p2mp te tail+mid no qc pass: p2mp te no qc pass: ldp and te no qc pass: pwe over te no qc pass: ldp over te no qc pass: te in chain no qc pass: te over gre no qc pass: te over atmdxi no qc pass: te over framerelay no qc pass: te over ppp no qc pass: te over hdlc no qc pass: te over ethernet bridge no qc pass: te over ethernet vlan no qc pass: te over ethernet no qc pass: tunnel interface with mpls no qc pass: vlan tunneling with mpls no qc pass: ethernet tunneling with mpls no qc pass: atmdxi tunneling with mpls no qc pass: framerelay tunneling with mpls no qc pass: lapb tunneling with mpls no qc pass: ppp tunneling with mpls no qc pass: hdlc tunneling with mpls no qc pass: interworking between l2tp3 and ethernet over mpls no qc pass: multipoint ethernet over mpls no qc pass: vlan over mpls no qc pass: ethernet over mpls no qc pass: port mode ppp over mpls no qc pass: atmdxi over mpls no qc pass: framerelay over mpls no qc pass: lapb over mpls no qc pass: hdlc over mpls no qc pass: ppp over mpls no qc pass: mp2mp ldp tunnel mid+head no qc pass: mp2mp ldp tunnel no qc pass: p2mp ldp tunnel head+mid no qc pass: p2mp ldp tunnel no qc pass: p2p ldp tunnel no qc pass: ldp over hub and spoke subnet no qc pass: ldp over broadcast subnet no qc pass: ldp over gre no qc pass: ldp over atmdxi no qc pass: ldp over framerelay no qc pass: ldp over ppp no qc pass: ldp over hdlc no qc pass: ldp over ethernet bridge no qc pass: ldp over ethernet vlan no qc pass: ldp over ethernet qc pass: ppp with tacacs authentication no work: ldp over ethernet no work: ldp over ethernet vlan no work: ldp over ethernet bridge no work: ldp over hdlc no work: ldp over ppp no work: ldp over framerelay no work: ldp over atmdxi no work: ldp over gre no work: ldp over broadcast subnet no work: ldp over hub and spoke subnet no work: p2p ldp tunnel no work: p2mp ldp tunnel no work: p2mp ldp tunnel head+mid no work: mp2mp ldp tunnel no work: mp2mp ldp tunnel mid+head no work: ppp over mpls no work: hdlc over mpls no work: lapb over mpls no work: framerelay over mpls no work: atmdxi over mpls no work: port mode ppp over mpls no work: ethernet over mpls no work: vlan over mpls no work: multipoint ethernet over mpls no work: interworking between l2tp3 and ethernet over mpls no work: hdlc tunneling with mpls no work: ppp tunneling with mpls no work: lapb tunneling with mpls no work: framerelay tunneling with mpls no work: atmdxi tunneling with mpls no work: ethernet tunneling with mpls no work: vlan tunneling with mpls no work: tunnel interface with mpls no work: te over ethernet no work: te over ethernet vlan no work: te over ethernet bridge no work: te over hdlc no work: te over ppp no work: te over framerelay no work: te over atmdxi no work: te over gre no work: te in chain no work: ldp over te no work: pwe over te no work: ldp and te no work: p2mp te no work: p2mp te tail+mid no work: cross connect with pwe over mpls no work: cross connect with packet over udp no work: cross connect with vxlan no work: cross connect with erspan no work: cross connect interworking with packet over udp no work: cross connect interworking with vxlan no work: cross connect interworking with erspan no work: qos ingress transmit action no work: qos egress transmit action no work: qos ingress drop action no work: qos egress drop action no work: qos ingress policer action no work: qos egress policer action no work: qos ingress priority action no work: qos egress priority action no work: qos ingress bandwidth action no work: qos egress bandwidth action no work: qos ingress shaper action no work: qos egress shaper action no work: qos ingress hierarchical action no work: qos egress hierarchical action no work: qos ingress length matcher no work: qos egress length matcher no work: qos ingress tos matcher no work: qos egress tos matcher no work: qos ingress dscp matcher no work: qos egress dscp matcher no work: qos ingress prec matcher no work: qos egress prec matcher no work: qos ingress acl matcher no work: qos egress acl matcher no work: qos ingress ethertype matcher no work: qos egress ethertype matcher no work: qos ingress matcher on bridged traffic no work: qos egress matcher on bridged traffic no work: qos ingress qosgroup set no work: qos ingress tos set no work: qos egress tos set no work: qos ingress dscp set no work: qos egress dscp set no work: qos ingress prec set no work: qos egress prec set no work: qos cos set no work: qos ingress exp set no work: qos egress exp set no work: ebgp in chain no work: confed bgp in chain no work: ibgp in chain no work: ebgp in subnet no work: confed bgp in subnet no work: ibgp in subnet no work: ibgp fullmesh in subnet no work: ibgp rr in subnet no work: ebgp over loopback no work: ibgp over loopback no work: ibgp with mpls no work: ebgp with long as number no work: ibgp with long as number no work: bgp default route no work: bgp ingress route filtering with prefixlist no work: bgp egress route filtering with prefixlist no work: bgp ingress route filtering with routemap no work: bgp egress route filtering with routemap no work: bgp filtering with locpref no work: bgp filtering with origin no work: bgp filtering with metric no work: bgp filtering with standard community no work: bgp filtering with aspath no work: bgp locpref no work: bgp aspath no work: bgp origin no work: bgp metric no work: bgp locpref vs aspath no work: bgp aspath vs origin no work: bgp origin vs metric no work: bgp filtering with extended community no work: ebgp with labels no work: ibgp with labels no work: ebgp with bfd no work: vpns over ebgp no work: vpns over ibgp no work: bgp route server no work: bgp enforce first as no work: bgp aspath check no work: bgp allow as in no work: bgp remove private as no work: bgp override as no work: bgp nexthop self no work: bgp nexthop peer no work: vpls over ebgp no work: vpls over ibgp no work: bgp peer template no work: bgp listen no work: eigrp point2point connection no work: eigrp point2multipoint connection no work: eigrp point2point chain no work: eigrp delay no work: eigrp address suppression no work: eigrp ingress route filtering with prefixlist no work: eigrp egress route filtering with prefixlist no work: eigrp ingress route filtering with routemap no work: eigrp egress route filtering with routemap no work: eigrp default route no work: eigrp with bfd no work: eigrp peer template no work: isis over ethernet no work: isis over ethernet vlan no work: isis over ethernet bridge no work: isis over hdlc no work: isis over ppp no work: isis over framerelay no work: isis over atmdxi no work: isis over gre no work: isis narrow metric no work: isis overload no work: isis attached no work: isis chain of broadcast nets no work: isis broadcast subnet no work: isis updown bit no work: isis updown bit with narrow metric no work: isis address suppression no work: isis inter-level routes no work: isis authentication no work: isis intra level metric no work: isis external metric no work: isis external narrow metric no work: isis external metric vs intra level metric no work: isis inter level ingress filtering with prefixlist no work: isis inter level ingress filtering with routemap no work: isis inter level egress filtering with prefixlist no work: isis inter level egress filtering with routemap no work: isis default route no work: isis with bfd no work: isis with te no work: isis peer template no work: multicast routing with static flooding no work: multicast routing with pim ssm no work: multicast routing with igmp/mld no work: multicast routing with mldp no work: ospf point2point connection no work: ospf point2multipoint connection no work: ospf point2multipoint nonbroadcast connection no work: ospf broadcast connection no work: ospf nonbroadcast connection no work: ospf point2point chain no work: ospf broadcast chain no work: ospf stub area no work: ospf nssa area no work: ospf transit area no work: ospf intra area metric no work: ospf intra area vs inter area no work: ospf inter area vs external no work: ospf external1 vs external2 no work: ospf external1 metric no work: ospf external2 metric no work: ospf address suppression no work: ospf authentication no work: ospf inter area ingress filtering with prefixlist no work: ospf inter area ingress filtering with routemap no work: ospf inter area egress filtering with prefixlist no work: ospf inter area egress filtering with routemap no work: ospf default route no work: ospf with bfd no work: ospf with te no work: ospf peer template no work: pvrp point2point connection no work: pvrp point2multipoint connection no work: pvrp point2point chain no work: pvrp metric no work: pvrp address suppression no work: pvrp ingress route filtering with prefixlist no work: pvrp egress route filtering with prefixlist no work: pvrp ingress route filtering with routemap no work: pvrp egress route filtering with routemap no work: pvrp tag no work: pvrp default route no work: pvrp with bfd no work: pvrp authentication no work: pvrp ssh encryption no work: pvrp tls encryption no work: pvrp peer template no work: redistribution with isis no work: redistribution with ospf no work: redistribution with rip no work: redistribution with bgp no work: redistribution with bgp vpn no work: redistribution with pvrp no work: redistribution with eigrp no work: redistribution filtering with prefixlist no work: redistribution filtering with routemap no work: redistribution with prefixes no work: redistribution with everything no work: rip on one subnet no work: rip in chain no work: rip ingress route filtering with prefixlist no work: rip egress route filtering with prefixlist no work: rip ingress route filtering with routemap no work: rip egress route filtering with routemap no work: rip hop count no work: rip tag no work: rip address suppression no work: rip default route no work: rip authentication no work: rip metric no work: rip with bfd no work: rip peer template no work: static routing no work: static routing with distance no work: static routing with icmp tracker no work: static routing with tcp tracker no work: static routing with bfd tracker no work: authoritative dns server no work: relaying dns server no work: dynamic tunnel destination no work: forwarder server no work: load balancer server no work: proxy server no work: radius server no work: scheduler no work: sipmodem server no work: socks4 server no work: socks5 server no work: tacacs server ---------------------------------- 2014-01-31 21:09:30 qc pass: ldp over ethernet qc pass: ldp over ethernet vlan qc pass: ldp over ethernet bridge qc pass: ldp over hdlc qc pass: ldp over ppp qc pass: ldp over framerelay qc pass: ldp over atmdxi qc pass: ldp over gre qc pass: ldp over broadcast subnet qc pass: ldp over hub and spoke subnet qc pass: p2p ldp tunnel qc pass: p2mp ldp tunnel qc pass: p2mp ldp tunnel head+mid qc pass: mp2mp ldp tunnel qc pass: mp2mp ldp tunnel mid+head qc pass: ppp over mpls qc pass: hdlc over mpls qc pass: lapb over mpls qc pass: framerelay over mpls qc pass: atmdxi over mpls qc pass: port mode ppp over mpls qc pass: ethernet over mpls qc pass: vlan over mpls qc pass: multipoint ethernet over mpls qc pass: interworking between l2tp3 and ethernet over mpls qc pass: hdlc tunneling with mpls qc pass: ppp tunneling with mpls qc pass: lapb tunneling with mpls qc pass: framerelay tunneling with mpls qc pass: atmdxi tunneling with mpls qc pass: ethernet tunneling with mpls qc pass: vlan tunneling with mpls qc pass: tunnel interface with mpls qc pass: te over ethernet qc pass: te over ethernet vlan qc pass: te over ethernet bridge qc pass: te over hdlc qc pass: te over ppp qc pass: te over framerelay qc pass: te over atmdxi qc pass: te over gre qc pass: te in chain qc pass: ldp over te qc pass: pwe over te qc pass: ldp and te qc pass: p2mp te qc pass: p2mp te tail+mid qc pass: cross connect with pwe over mpls qc pass: cross connect with packet over udp qc pass: cross connect with vxlan qc pass: cross connect with erspan qc pass: cross connect interworking with packet over udp qc pass: cross connect interworking with vxlan qc pass: cross connect interworking with erspan qc pass: qos ingress transmit action qc pass: qos egress transmit action qc pass: qos ingress drop action qc pass: qos egress drop action qc pass: qos ingress policer action qc pass: qos egress policer action qc pass: qos ingress priority action qc pass: qos egress priority action qc pass: qos ingress bandwidth action qc pass: qos egress bandwidth action qc pass: qos ingress shaper action qc pass: qos egress shaper action qc pass: qos ingress hierarchical action qc pass: qos egress hierarchical action qc pass: qos ingress length matcher qc pass: qos egress length matcher qc pass: qos ingress tos matcher qc pass: qos egress tos matcher qc pass: qos ingress dscp matcher qc pass: qos egress dscp matcher qc pass: qos ingress prec matcher qc pass: qos egress prec matcher qc pass: qos ingress acl matcher qc pass: qos egress acl matcher qc pass: qos ingress ethertype matcher qc pass: qos egress ethertype matcher qc pass: qos ingress matcher on bridged traffic qc pass: qos egress matcher on bridged traffic qc pass: qos ingress qosgroup set qc pass: qos ingress tos set qc pass: qos egress tos set qc pass: qos ingress dscp set qc pass: qos egress dscp set qc pass: qos ingress prec set qc pass: qos egress prec set qc pass: qos cos set qc pass: qos ingress exp set qc pass: qos egress exp set qc pass: ebgp in chain qc pass: confed bgp in chain qc pass: ibgp in chain qc pass: ebgp in subnet qc pass: confed bgp in subnet qc pass: ibgp in subnet qc pass: ibgp fullmesh in subnet qc pass: ibgp rr in subnet qc pass: ebgp over loopback qc pass: ibgp over loopback qc pass: ibgp with mpls qc pass: ebgp with long as number qc pass: ibgp with long as number qc pass: bgp default route qc pass: bgp ingress route filtering with prefixlist qc pass: bgp egress route filtering with prefixlist qc pass: bgp ingress route filtering with routemap qc pass: bgp egress route filtering with routemap qc pass: bgp filtering with locpref qc pass: bgp filtering with origin qc pass: bgp filtering with metric qc pass: bgp filtering with standard community qc pass: bgp filtering with aspath qc pass: bgp locpref qc pass: bgp aspath qc pass: bgp origin qc pass: bgp metric qc pass: bgp locpref vs aspath qc pass: bgp aspath vs origin qc pass: bgp origin vs metric qc pass: bgp filtering with extended community qc pass: ebgp with labels qc pass: ibgp with labels qc pass: ebgp with bfd qc pass: vpns over ebgp qc pass: vpns over ibgp qc pass: bgp route server qc pass: bgp enforce first as qc pass: bgp aspath check qc pass: bgp allow as in qc pass: bgp remove private as qc pass: bgp override as qc pass: bgp nexthop self qc pass: bgp nexthop peer qc pass: vpls over ebgp qc pass: vpls over ibgp qc pass: bgp peer template qc pass: bgp listen qc pass: eigrp point2point connection qc pass: eigrp point2multipoint connection qc pass: eigrp point2point chain qc pass: eigrp delay qc pass: eigrp address suppression qc pass: eigrp ingress route filtering with prefixlist qc pass: eigrp egress route filtering with prefixlist qc pass: eigrp ingress route filtering with routemap qc pass: eigrp egress route filtering with routemap qc pass: eigrp default route qc pass: eigrp with bfd qc pass: eigrp peer template qc pass: isis over ethernet qc pass: isis over ethernet vlan qc pass: isis over ethernet bridge qc pass: isis over hdlc qc pass: isis over ppp qc pass: isis over framerelay qc pass: isis over atmdxi qc pass: isis over gre qc pass: isis narrow metric qc pass: isis overload qc pass: isis attached qc pass: isis chain of broadcast nets qc pass: isis broadcast subnet qc pass: isis updown bit qc pass: isis updown bit with narrow metric qc pass: isis address suppression qc pass: isis inter-level routes qc pass: isis authentication qc pass: isis intra level metric qc pass: isis external metric qc pass: isis external narrow metric qc pass: isis external metric vs intra level metric qc pass: isis inter level ingress filtering with prefixlist qc pass: isis inter level ingress filtering with routemap qc pass: isis inter level egress filtering with prefixlist qc pass: isis inter level egress filtering with routemap qc pass: isis default route qc pass: isis with bfd qc pass: isis with te qc pass: isis peer template qc pass: multicast routing with static flooding qc pass: multicast routing with pim ssm qc pass: multicast routing with igmp/mld qc pass: multicast routing with mldp qc pass: ospf point2point connection qc pass: ospf point2multipoint connection qc pass: ospf point2multipoint nonbroadcast connection qc pass: ospf broadcast connection qc pass: ospf nonbroadcast connection qc pass: ospf point2point chain qc pass: ospf broadcast chain qc pass: ospf stub area qc pass: ospf nssa area qc pass: ospf transit area qc pass: ospf intra area metric qc pass: ospf intra area vs inter area qc pass: ospf inter area vs external qc pass: ospf external1 vs external2 qc pass: ospf external1 metric qc pass: ospf external2 metric qc pass: ospf address suppression qc pass: ospf authentication qc pass: ospf inter area ingress filtering with prefixlist qc pass: ospf inter area ingress filtering with routemap qc pass: ospf inter area egress filtering with prefixlist qc pass: ospf inter area egress filtering with routemap qc pass: ospf default route qc pass: ospf with bfd qc pass: ospf with te qc pass: ospf peer template qc pass: pvrp point2point connection qc pass: pvrp point2multipoint connection qc pass: pvrp point2point chain qc pass: pvrp metric qc pass: pvrp address suppression qc pass: pvrp ingress route filtering with prefixlist qc pass: pvrp egress route filtering with prefixlist qc pass: pvrp ingress route filtering with routemap qc pass: pvrp egress route filtering with routemap qc pass: pvrp tag qc pass: pvrp default route qc pass: pvrp with bfd qc pass: pvrp authentication qc pass: pvrp ssh encryption qc pass: pvrp tls encryption qc pass: pvrp peer template qc pass: redistribution with isis qc pass: redistribution with ospf qc pass: redistribution with rip qc pass: redistribution with bgp qc pass: redistribution with bgp vpn qc pass: redistribution with pvrp qc pass: redistribution with eigrp qc pass: redistribution filtering with prefixlist qc pass: redistribution filtering with routemap qc pass: redistribution with prefixes qc pass: redistribution with everything qc pass: rip on one subnet qc pass: rip in chain qc pass: rip ingress route filtering with prefixlist qc pass: rip egress route filtering with prefixlist qc pass: rip ingress route filtering with routemap qc pass: rip egress route filtering with routemap qc pass: rip hop count qc pass: rip tag qc pass: rip address suppression qc pass: rip default route qc pass: rip authentication qc pass: rip metric qc pass: rip with bfd qc pass: rip peer template qc pass: static routing qc pass: static routing with distance qc pass: static routing with icmp tracker qc pass: static routing with tcp tracker qc pass: static routing with bfd tracker qc pass: authoritative dns server qc pass: relaying dns server qc pass: dynamic tunnel destination qc pass: forwarder server qc pass: load balancer server qc pass: proxy server qc pass: radius server qc pass: scheduler qc pass: sipmodem server qc pass: socks4 server qc pass: socks5 server qc pass: tacacs server ---------------------------------- 2014-02-12 13:09:30 no qc pass: tacacs server no qc pass: socks5 server no qc pass: socks4 server no qc pass: sipmodem server no qc pass: scheduler no qc pass: radius server no qc pass: proxy server no qc pass: load balancer server no qc pass: forwarder server no qc pass: dynamic tunnel destination no qc pass: relaying dns server no qc pass: authoritative dns server no qc pass: static routing with bfd tracker no qc pass: static routing with tcp tracker no qc pass: static routing with icmp tracker no qc pass: static routing with distance no qc pass: static routing no qc pass: rip peer template no qc pass: rip with bfd no qc pass: rip metric no qc pass: rip authentication no qc pass: rip default route no qc pass: rip address suppression no qc pass: rip tag no qc pass: rip hop count no qc pass: rip egress route filtering with routemap no qc pass: rip ingress route filtering with routemap no qc pass: rip egress route filtering with prefixlist no qc pass: rip ingress route filtering with prefixlist no qc pass: rip in chain no qc pass: rip on one subnet no qc pass: redistribution with everything no qc pass: redistribution with prefixes no qc pass: redistribution filtering with routemap no qc pass: redistribution filtering with prefixlist no qc pass: redistribution with eigrp no qc pass: redistribution with pvrp no qc pass: redistribution with bgp vpn no qc pass: redistribution with bgp no qc pass: redistribution with rip no qc pass: redistribution with ospf no qc pass: redistribution with isis no qc pass: pvrp peer template no qc pass: pvrp tls encryption no qc pass: pvrp ssh encryption no qc pass: pvrp authentication no qc pass: pvrp with bfd no qc pass: pvrp default route no qc pass: pvrp tag no qc pass: pvrp egress route filtering with routemap no qc pass: pvrp ingress route filtering with routemap no qc pass: pvrp egress route filtering with prefixlist no qc pass: pvrp ingress route filtering with prefixlist no qc pass: pvrp address suppression no qc pass: pvrp metric no qc pass: pvrp point2point chain no qc pass: pvrp point2multipoint connection no qc pass: pvrp point2point connection no qc pass: ospf peer template no qc pass: ospf with te no qc pass: ospf with bfd no qc pass: ospf default route no qc pass: ospf inter area egress filtering with routemap no qc pass: ospf inter area egress filtering with prefixlist no qc pass: ospf inter area ingress filtering with routemap no qc pass: ospf inter area ingress filtering with prefixlist no qc pass: ospf authentication no qc pass: ospf address suppression no qc pass: ospf external2 metric no qc pass: ospf external1 metric no qc pass: ospf external1 vs external2 no qc pass: ospf inter area vs external no qc pass: ospf intra area vs inter area no qc pass: ospf intra area metric no qc pass: ospf transit area no qc pass: ospf nssa area no qc pass: ospf stub area no qc pass: ospf broadcast chain no qc pass: ospf point2point chain no qc pass: ospf nonbroadcast connection no qc pass: ospf broadcast connection no qc pass: ospf point2multipoint nonbroadcast connection no qc pass: ospf point2multipoint connection no qc pass: ospf point2point connection no qc pass: multicast routing with mldp no qc pass: multicast routing with igmp/mld no qc pass: multicast routing with pim ssm no qc pass: multicast routing with static flooding no qc pass: isis peer template no qc pass: isis with te no qc pass: isis with bfd no qc pass: isis default route no qc pass: isis inter level egress filtering with routemap no qc pass: isis inter level egress filtering with prefixlist no qc pass: isis inter level ingress filtering with routemap no qc pass: isis inter level ingress filtering with prefixlist no qc pass: isis external metric vs intra level metric no qc pass: isis external narrow metric no qc pass: isis external metric no qc pass: isis intra level metric no qc pass: isis authentication no qc pass: isis inter-level routes no qc pass: isis address suppression no qc pass: isis updown bit with narrow metric no qc pass: isis updown bit no qc pass: isis broadcast subnet no qc pass: isis chain of broadcast nets no qc pass: isis attached no qc pass: isis overload no qc pass: isis narrow metric no qc pass: isis over gre no qc pass: isis over atmdxi no qc pass: isis over framerelay no qc pass: isis over ppp no qc pass: isis over hdlc no qc pass: isis over ethernet bridge no qc pass: isis over ethernet vlan no qc pass: isis over ethernet no qc pass: eigrp peer template no qc pass: eigrp with bfd no qc pass: eigrp default route no qc pass: eigrp egress route filtering with routemap no qc pass: eigrp ingress route filtering with routemap no qc pass: eigrp egress route filtering with prefixlist no qc pass: eigrp ingress route filtering with prefixlist no qc pass: eigrp address suppression no qc pass: eigrp delay no qc pass: eigrp point2point chain no qc pass: eigrp point2multipoint connection no qc pass: eigrp point2point connection no qc pass: bgp listen no qc pass: bgp peer template no qc pass: vpls over ibgp no qc pass: vpls over ebgp no qc pass: bgp nexthop peer no qc pass: bgp nexthop self no qc pass: bgp override as no qc pass: bgp remove private as no qc pass: bgp allow as in no qc pass: bgp aspath check no qc pass: bgp enforce first as no qc pass: bgp route server no qc pass: vpns over ibgp no qc pass: vpns over ebgp no qc pass: ebgp with bfd no qc pass: ibgp with labels no qc pass: ebgp with labels no qc pass: bgp filtering with extended community no qc pass: bgp origin vs metric no qc pass: bgp aspath vs origin no qc pass: bgp locpref vs aspath no qc pass: bgp metric no qc pass: bgp origin no qc pass: bgp aspath no qc pass: bgp locpref no qc pass: bgp filtering with aspath no qc pass: bgp filtering with standard community no qc pass: bgp filtering with metric no qc pass: bgp filtering with origin no qc pass: bgp filtering with locpref no qc pass: bgp egress route filtering with routemap no qc pass: bgp ingress route filtering with routemap no qc pass: bgp egress route filtering with prefixlist no qc pass: bgp ingress route filtering with prefixlist no qc pass: bgp default route no qc pass: ibgp with long as number no qc pass: ebgp with long as number no qc pass: ibgp with mpls no qc pass: ibgp over loopback no qc pass: ebgp over loopback no qc pass: ibgp rr in subnet no qc pass: ibgp fullmesh in subnet no qc pass: ibgp in subnet no qc pass: confed bgp in subnet no qc pass: ebgp in subnet no qc pass: ibgp in chain no qc pass: confed bgp in chain no qc pass: ebgp in chain no qc pass: qos egress exp set no qc pass: qos ingress exp set no qc pass: qos cos set no qc pass: qos egress prec set no qc pass: qos ingress prec set no qc pass: qos egress dscp set no qc pass: qos ingress dscp set no qc pass: qos egress tos set no qc pass: qos ingress tos set no qc pass: qos ingress qosgroup set no qc pass: qos egress matcher on bridged traffic no qc pass: qos ingress matcher on bridged traffic no qc pass: qos egress ethertype matcher no qc pass: qos ingress ethertype matcher no qc pass: qos egress acl matcher no qc pass: qos ingress acl matcher no qc pass: qos egress prec matcher no qc pass: qos ingress prec matcher no qc pass: qos egress dscp matcher no qc pass: qos ingress dscp matcher no qc pass: qos egress tos matcher no qc pass: qos ingress tos matcher no qc pass: qos egress length matcher no qc pass: qos ingress length matcher no qc pass: qos egress hierarchical action no qc pass: qos ingress hierarchical action no qc pass: qos egress shaper action no qc pass: qos ingress shaper action no qc pass: qos egress bandwidth action no qc pass: qos ingress bandwidth action no qc pass: qos egress priority action no qc pass: qos ingress priority action no qc pass: qos egress policer action no qc pass: qos ingress policer action no qc pass: qos egress drop action no qc pass: qos ingress drop action no qc pass: qos egress transmit action no qc pass: qos ingress transmit action no qc pass: cross connect interworking with erspan no qc pass: cross connect interworking with vxlan no qc pass: cross connect interworking with packet over udp no qc pass: cross connect with erspan no qc pass: cross connect with vxlan no qc pass: cross connect with packet over udp no qc pass: cross connect with pwe over mpls no qc pass: p2mp te tail+mid no qc pass: p2mp te no qc pass: ldp and te no qc pass: pwe over te no qc pass: ldp over te no qc pass: te in chain no qc pass: te over gre no qc pass: te over atmdxi no qc pass: te over framerelay no qc pass: te over ppp no qc pass: te over hdlc no qc pass: te over ethernet bridge no qc pass: te over ethernet vlan no qc pass: te over ethernet no qc pass: tunnel interface with mpls no qc pass: vlan tunneling with mpls no qc pass: ethernet tunneling with mpls no qc pass: atmdxi tunneling with mpls no qc pass: framerelay tunneling with mpls no qc pass: lapb tunneling with mpls no qc pass: ppp tunneling with mpls no qc pass: hdlc tunneling with mpls no qc pass: interworking between l2tp3 and ethernet over mpls no qc pass: multipoint ethernet over mpls no qc pass: vlan over mpls no qc pass: ethernet over mpls no qc pass: port mode ppp over mpls no qc pass: atmdxi over mpls no qc pass: framerelay over mpls no qc pass: lapb over mpls no qc pass: hdlc over mpls no qc pass: ppp over mpls no qc pass: mp2mp ldp tunnel mid+head no qc pass: mp2mp ldp tunnel no qc pass: p2mp ldp tunnel head+mid no qc pass: p2mp ldp tunnel no qc pass: p2p ldp tunnel no qc pass: ldp over hub and spoke subnet no qc pass: ldp over broadcast subnet no qc pass: ldp over gre no qc pass: ldp over atmdxi no qc pass: ldp over framerelay no qc pass: ldp over ppp no qc pass: ldp over hdlc no qc pass: ldp over ethernet bridge no qc pass: ldp over ethernet vlan no qc pass: ldp over ethernet no work: ldp over ethernet no work: ldp over ethernet vlan no work: ldp over ethernet bridge no work: ldp over hdlc no work: ldp over ppp no work: ldp over framerelay no work: ldp over atmdxi no work: ldp over gre no work: ldp over broadcast subnet no work: ldp over hub and spoke subnet no work: p2p ldp tunnel no work: p2mp ldp tunnel no work: p2mp ldp tunnel head+mid no work: mp2mp ldp tunnel no work: mp2mp ldp tunnel mid+head no work: ppp over mpls no work: hdlc over mpls no work: lapb over mpls no work: framerelay over mpls no work: atmdxi over mpls no work: port mode ppp over mpls no work: ethernet over mpls no work: vlan over mpls no work: multipoint ethernet over mpls no work: interworking between l2tp3 and ethernet over mpls no work: hdlc tunneling with mpls no work: ppp tunneling with mpls no work: lapb tunneling with mpls no work: framerelay tunneling with mpls no work: atmdxi tunneling with mpls no work: ethernet tunneling with mpls no work: vlan tunneling with mpls no work: tunnel interface with mpls no work: te over ethernet no work: te over ethernet vlan no work: te over ethernet bridge no work: te over hdlc no work: te over ppp no work: te over framerelay no work: te over atmdxi no work: te over gre no work: te in chain no work: ldp over te no work: pwe over te no work: ldp and te no work: p2mp te no work: p2mp te tail+mid no work: cross connect with pwe over mpls no work: cross connect with packet over udp no work: cross connect with vxlan no work: cross connect with erspan no work: cross connect interworking with packet over udp no work: cross connect interworking with vxlan no work: cross connect interworking with erspan no work: qos ingress transmit action no work: qos egress transmit action no work: qos ingress drop action no work: qos egress drop action no work: qos ingress policer action no work: qos egress policer action no work: qos ingress priority action no work: qos egress priority action no work: qos ingress bandwidth action no work: qos egress bandwidth action no work: qos ingress shaper action no work: qos egress shaper action no work: qos ingress hierarchical action no work: qos egress hierarchical action no work: qos ingress length matcher no work: qos egress length matcher no work: qos ingress tos matcher no work: qos egress tos matcher no work: qos ingress dscp matcher no work: qos egress dscp matcher no work: qos ingress prec matcher no work: qos egress prec matcher no work: qos ingress acl matcher no work: qos egress acl matcher no work: qos ingress ethertype matcher no work: qos egress ethertype matcher no work: qos ingress matcher on bridged traffic no work: qos egress matcher on bridged traffic no work: qos ingress qosgroup set no work: qos ingress tos set no work: qos egress tos set no work: qos ingress dscp set no work: qos egress dscp set no work: qos ingress prec set no work: qos egress prec set no work: qos cos set no work: qos ingress exp set no work: qos egress exp set no work: ebgp in chain no work: confed bgp in chain no work: ibgp in chain no work: ebgp in subnet no work: confed bgp in subnet no work: ibgp in subnet no work: ibgp fullmesh in subnet no work: ibgp rr in subnet no work: ebgp over loopback no work: ibgp over loopback no work: ibgp with mpls no work: ebgp with long as number no work: ibgp with long as number no work: bgp default route no work: bgp ingress route filtering with prefixlist no work: bgp egress route filtering with prefixlist no work: bgp ingress route filtering with routemap no work: bgp egress route filtering with routemap no work: bgp filtering with locpref no work: bgp filtering with origin no work: bgp filtering with metric no work: bgp filtering with standard community no work: bgp filtering with aspath no work: bgp locpref no work: bgp aspath no work: bgp origin no work: bgp metric no work: bgp locpref vs aspath no work: bgp aspath vs origin no work: bgp origin vs metric no work: bgp filtering with extended community no work: ebgp with labels no work: ibgp with labels no work: ebgp with bfd no work: vpns over ebgp no work: vpns over ibgp no work: bgp route server no work: bgp enforce first as no work: bgp aspath check no work: bgp allow as in no work: bgp remove private as no work: bgp override as no work: bgp nexthop self no work: bgp nexthop peer no work: vpls over ebgp no work: vpls over ibgp no work: bgp peer template no work: bgp listen no work: eigrp point2point connection no work: eigrp point2multipoint connection no work: eigrp point2point chain no work: eigrp delay no work: eigrp address suppression no work: eigrp ingress route filtering with prefixlist no work: eigrp egress route filtering with prefixlist no work: eigrp ingress route filtering with routemap no work: eigrp egress route filtering with routemap no work: eigrp default route no work: eigrp with bfd no work: eigrp peer template no work: isis over ethernet no work: isis over ethernet vlan no work: isis over ethernet bridge no work: isis over hdlc no work: isis over ppp no work: isis over framerelay no work: isis over atmdxi no work: isis over gre no work: isis narrow metric no work: isis overload no work: isis attached no work: isis chain of broadcast nets no work: isis broadcast subnet no work: isis updown bit no work: isis updown bit with narrow metric no work: isis address suppression no work: isis inter-level routes no work: isis authentication no work: isis intra level metric no work: isis external metric no work: isis external narrow metric no work: isis external metric vs intra level metric no work: isis inter level ingress filtering with prefixlist no work: isis inter level ingress filtering with routemap no work: isis inter level egress filtering with prefixlist no work: isis inter level egress filtering with routemap no work: isis default route no work: isis with bfd no work: isis with te no work: isis peer template no work: multicast routing with static flooding no work: multicast routing with pim ssm no work: multicast routing with igmp/mld no work: multicast routing with mldp no work: ospf point2point connection no work: ospf point2multipoint connection no work: ospf point2multipoint nonbroadcast connection no work: ospf broadcast connection no work: ospf nonbroadcast connection no work: ospf point2point chain no work: ospf broadcast chain no work: ospf stub area no work: ospf nssa area no work: ospf transit area no work: ospf intra area metric no work: ospf intra area vs inter area no work: ospf inter area vs external no work: ospf external1 vs external2 no work: ospf external1 metric no work: ospf external2 metric no work: ospf address suppression no work: ospf authentication no work: ospf inter area ingress filtering with prefixlist no work: ospf inter area ingress filtering with routemap no work: ospf inter area egress filtering with prefixlist no work: ospf inter area egress filtering with routemap no work: ospf default route no work: ospf with bfd no work: ospf with te no work: ospf peer template no work: pvrp point2point connection no work: pvrp point2multipoint connection no work: pvrp point2point chain no work: pvrp metric no work: pvrp address suppression no work: pvrp ingress route filtering with prefixlist no work: pvrp egress route filtering with prefixlist no work: pvrp ingress route filtering with routemap no work: pvrp egress route filtering with routemap no work: pvrp tag no work: pvrp default route no work: pvrp with bfd no work: pvrp authentication no work: pvrp ssh encryption no work: pvrp tls encryption no work: pvrp peer template no work: redistribution with isis no work: redistribution with ospf no work: redistribution with rip no work: redistribution with bgp no work: redistribution with bgp vpn no work: redistribution with pvrp no work: redistribution with eigrp no work: redistribution filtering with prefixlist no work: redistribution filtering with routemap no work: redistribution with prefixes no work: redistribution with everything no work: rip on one subnet no work: rip in chain no work: rip ingress route filtering with prefixlist no work: rip egress route filtering with prefixlist no work: rip ingress route filtering with routemap no work: rip egress route filtering with routemap no work: rip hop count no work: rip tag no work: rip address suppression no work: rip default route no work: rip authentication no work: rip metric no work: rip with bfd no work: rip peer template no work: static routing no work: static routing with distance no work: static routing with icmp tracker no work: static routing with tcp tracker no work: static routing with bfd tracker no work: authoritative dns server no work: relaying dns server no work: dynamic tunnel destination no work: forwarder server no work: load balancer server no work: proxy server no work: radius server no work: scheduler no work: sipmodem server no work: socks4 server no work: socks5 server no work: tacacs server ---------------------------------- 2014-02-13 11:04:24 no qc pass: ppp with tacacs authentication no work: ppp with tacacs authentication qc pass: ldp over ethernet qc pass: ldp over ethernet vlan qc pass: ldp over ethernet bridge qc pass: ldp over hdlc qc pass: ldp over ppp qc pass: ldp over framerelay qc pass: ldp over atmdxi qc pass: ldp over gre qc pass: ldp over broadcast subnet qc pass: ldp over hub and spoke subnet qc pass: p2p ldp tunnel qc pass: p2mp ldp tunnel qc pass: p2mp ldp tunnel head+mid qc pass: mp2mp ldp tunnel qc pass: mp2mp ldp tunnel mid+head qc pass: ppp over mpls qc pass: hdlc over mpls qc pass: lapb over mpls qc pass: framerelay over mpls qc pass: atmdxi over mpls qc pass: port mode ppp over mpls qc pass: ethernet over mpls qc pass: vlan over mpls qc pass: multipoint ethernet over mpls qc pass: interworking between l2tp3 and ethernet over mpls qc pass: hdlc tunneling with mpls qc pass: ppp tunneling with mpls qc pass: lapb tunneling with mpls qc pass: framerelay tunneling with mpls qc pass: atmdxi tunneling with mpls qc pass: ethernet tunneling with mpls qc pass: vlan tunneling with mpls qc pass: tunnel interface with mpls qc pass: te over ethernet qc pass: te over ethernet vlan qc pass: te over ethernet bridge qc pass: te over hdlc qc pass: te over ppp qc pass: te over framerelay qc pass: te over atmdxi qc pass: te over gre qc pass: te in chain qc pass: ldp over te qc pass: pwe over te qc pass: ldp and te qc pass: p2mp te qc pass: p2mp te tail+mid qc pass: cross connect with pwe over mpls qc pass: cross connect with packet over udp qc pass: cross connect with vxlan qc pass: cross connect with erspan qc pass: cross connect interworking with packet over udp qc pass: cross connect interworking with vxlan qc pass: cross connect interworking with erspan qc pass: qos ingress transmit action qc pass: qos egress transmit action qc pass: qos ingress drop action qc pass: qos egress drop action qc pass: qos ingress policer action qc pass: qos egress policer action qc pass: qos ingress priority action qc pass: qos egress priority action qc pass: qos ingress bandwidth action qc pass: qos egress bandwidth action qc pass: qos ingress shaper action qc pass: qos egress shaper action qc pass: qos ingress hierarchical action qc pass: qos egress hierarchical action qc pass: qos ingress length matcher qc pass: qos egress length matcher qc pass: qos ingress tos matcher qc pass: qos egress tos matcher qc pass: qos ingress dscp matcher qc pass: qos egress dscp matcher qc pass: qos ingress prec matcher qc pass: qos egress prec matcher qc pass: qos ingress acl matcher qc pass: qos egress acl matcher qc pass: qos ingress ethertype matcher qc pass: qos egress ethertype matcher qc pass: qos ingress matcher on bridged traffic qc pass: qos egress matcher on bridged traffic qc pass: qos ingress qosgroup set qc pass: qos ingress tos set qc pass: qos egress tos set qc pass: qos ingress dscp set qc pass: qos egress dscp set qc pass: qos ingress prec set qc pass: qos egress prec set qc pass: qos cos set qc pass: qos ingress exp set qc pass: qos egress exp set qc pass: ebgp in chain qc pass: confed bgp in chain qc pass: ibgp in chain qc pass: ebgp in subnet qc pass: confed bgp in subnet qc pass: ibgp in subnet qc pass: ibgp fullmesh in subnet qc pass: ibgp rr in subnet qc pass: ebgp over loopback qc pass: ibgp over loopback qc pass: ibgp with mpls qc pass: ebgp with long as number qc pass: ibgp with long as number qc pass: bgp default route qc pass: bgp ingress route filtering with prefixlist qc pass: bgp egress route filtering with prefixlist qc pass: bgp ingress route filtering with routemap qc pass: bgp egress route filtering with routemap qc pass: bgp filtering with locpref qc pass: bgp filtering with origin qc pass: bgp filtering with metric qc pass: bgp filtering with standard community qc pass: bgp filtering with aspath qc pass: bgp locpref qc pass: bgp aspath qc pass: bgp origin qc pass: bgp metric qc pass: bgp locpref vs aspath qc pass: bgp aspath vs origin qc pass: bgp origin vs metric qc pass: bgp filtering with extended community qc pass: ebgp with labels qc pass: ibgp with labels qc pass: ebgp with bfd qc pass: vpns over ebgp qc pass: vpns over ibgp qc pass: bgp route server qc pass: bgp enforce first as qc pass: bgp aspath check qc pass: bgp allow as in qc pass: bgp remove private as qc pass: bgp override as qc pass: bgp nexthop self qc pass: bgp nexthop peer qc pass: vpls over ebgp qc pass: vpls over ibgp qc pass: bgp peer template qc pass: bgp listen qc pass: eigrp point2point connection qc pass: eigrp point2multipoint connection qc pass: eigrp point2point chain qc pass: eigrp delay qc pass: eigrp address suppression qc pass: eigrp ingress route filtering with prefixlist qc pass: eigrp egress route filtering with prefixlist qc pass: eigrp ingress route filtering with routemap qc pass: eigrp egress route filtering with routemap qc pass: eigrp default route qc pass: eigrp with bfd qc pass: eigrp peer template qc pass: isis over ethernet qc pass: isis over ethernet vlan qc pass: isis over ethernet bridge qc pass: isis over hdlc qc pass: isis over ppp qc pass: isis over framerelay qc pass: isis over atmdxi qc pass: isis over gre qc pass: isis narrow metric qc pass: isis overload qc pass: isis attached qc pass: isis chain of broadcast nets qc pass: isis broadcast subnet qc pass: isis updown bit qc pass: isis updown bit with narrow metric qc pass: isis address suppression qc pass: isis inter-level routes qc pass: isis authentication qc pass: isis intra level metric qc pass: isis external metric qc pass: isis external narrow metric qc pass: isis external metric vs intra level metric qc pass: isis inter level ingress filtering with prefixlist qc pass: isis inter level ingress filtering with routemap qc pass: isis inter level egress filtering with prefixlist qc pass: isis inter level egress filtering with routemap qc pass: isis default route qc pass: isis with bfd qc pass: isis with te qc pass: isis peer template qc pass: multicast routing with static flooding qc pass: multicast routing with pim ssm qc pass: multicast routing with igmp/mld qc pass: multicast routing with mldp qc pass: ospf point2point connection qc pass: ospf point2multipoint connection qc pass: ospf point2multipoint nonbroadcast connection qc pass: ospf broadcast connection qc pass: ospf nonbroadcast connection qc pass: ospf point2point chain qc pass: ospf broadcast chain qc pass: ospf stub area qc pass: ospf nssa area qc pass: ospf transit area qc pass: ospf intra area metric qc pass: ospf intra area vs inter area qc pass: ospf inter area vs external qc pass: ospf external1 vs external2 qc pass: ospf external1 metric qc pass: ospf external2 metric qc pass: ospf address suppression qc pass: ospf authentication qc pass: ospf inter area ingress filtering with prefixlist qc pass: ospf inter area ingress filtering with routemap qc pass: ospf inter area egress filtering with prefixlist qc pass: ospf inter area egress filtering with routemap qc pass: ospf default route qc pass: ospf with bfd qc pass: ospf with te qc pass: ospf peer template qc pass: pvrp point2point connection qc pass: pvrp point2multipoint connection qc pass: pvrp point2point chain qc pass: pvrp metric qc pass: pvrp address suppression qc pass: pvrp ingress route filtering with prefixlist qc pass: pvrp egress route filtering with prefixlist qc pass: pvrp ingress route filtering with routemap qc pass: pvrp egress route filtering with routemap qc pass: pvrp tag qc pass: pvrp default route qc pass: pvrp with bfd qc pass: pvrp authentication qc pass: pvrp ssh encryption qc pass: pvrp tls encryption qc pass: pvrp peer template qc pass: redistribution with isis qc pass: redistribution with ospf qc pass: redistribution with rip qc pass: redistribution with bgp qc pass: redistribution with bgp vpn qc pass: redistribution with pvrp qc pass: redistribution with eigrp qc pass: redistribution filtering with prefixlist qc pass: redistribution filtering with routemap qc pass: redistribution with prefixes qc pass: redistribution with everything qc pass: rip on one subnet qc pass: rip in chain qc pass: rip ingress route filtering with prefixlist qc pass: rip egress route filtering with prefixlist qc pass: rip ingress route filtering with routemap qc pass: rip egress route filtering with routemap qc pass: rip hop count qc pass: rip tag qc pass: rip address suppression qc pass: rip default route qc pass: rip authentication qc pass: rip metric qc pass: rip with bfd qc pass: rip peer template qc pass: static routing qc pass: static routing with distance qc pass: static routing with icmp tracker qc pass: static routing with tcp tracker qc pass: static routing with bfd tracker qc pass: authoritative dns server qc pass: relaying dns server qc pass: dynamic tunnel destination qc pass: forwarder server qc pass: load balancer server qc pass: proxy server qc pass: radius server qc pass: scheduler qc pass: sipmodem server qc pass: socks4 server qc pass: socks5 server qc pass: tacacs server ---------------------------------- 2014-02-15 09:35:23 qc pass: ppp with tacacs authentication ---------------------------------- 2014-03-25 21:25:48 qc pass: isdn todo: allow timerange within scheduler configuration todo: more delete keystrokes to readline functions todo: process sandboxing todo: configure reload (startup) todo: configure network (add to run) ---------------------------------- 2014-04-02 13:48:39 no qc pass: cross connect with erspan no qc pass: cross connect with vxlan no qc pass: cross connect with packet over udp no qc pass: cross connect with pwe over mpls no qc pass: p2mp te tail+mid no qc pass: p2mp te no qc pass: ldp and te no qc pass: pwe over te no qc pass: ldp over te no qc pass: te in chain no qc pass: te over gre no qc pass: te over atmdxi no qc pass: te over framerelay no qc pass: ppp encapsulation no qc pass: ppp with packet over dtls no work: ppp with packet over dtls no work: ppp encapsulation qc pass: unnamed qc pass: unnamed qc pass: unnamed qc pass: unnamed qc pass: unnamed qc pass: unnamed qc pass: unnamed qc pass: unnamed qc pass: unnamed qc pass: unnamed qc pass: unnamed qc pass: unnamed qc pass: unnamed todo: router bgp @ no template a todo: router bgp @ template use temp2 todo: router bgp @ no neighbor 1.1.1.1 ---------------------------------- 2014-04-05 01:57:16 no todo: configure network (add to run) no todo: configure reload (startup) no todo: router bgp @ no neighbor 1.1.1.1 no todo: router bgp @ template use temp2 no todo: router bgp @ no template a no qc pass: unnamed no qc pass: unnamed no qc pass: unnamed no qc pass: unnamed no qc pass: unnamed no qc pass: unnamed no qc pass: unnamed no qc pass: unnamed no qc pass: unnamed no qc pass: unnamed no qc pass: unnamed no qc pass: unnamed no qc pass: unnamed qc pass: ppp with packet over dtls qc pass: ppp encapsulation qc pass: te over framerelay qc pass: te over atmdxi qc pass: te over gre qc pass: te in chain qc pass: ldp over te qc pass: pwe over te qc pass: ldp and te qc pass: p2mp te qc pass: p2mp te tail+mid qc pass: cross connect with pwe over mpls qc pass: cross connect with packet over udp qc pass: cross connect with vxlan qc pass: cross connect with erspan qc pass: ebgp password todo: show bgp allroutes ---------------------------------- 2014-04-07 19:33:16 no todo: show bgp allroutes todo: attach line not working anymore, try with deactivation and attach todo: flash pack, flash unpack with proprietary header format ---------------------------------- 2014-04-30 10:03:24 qc pass: ebgp in chain qc pass: confed bgp in chain qc pass: ibgp in chain qc pass: ebgp in subnet qc pass: confed bgp in subnet qc pass: ibgp in subnet qc pass: ibgp fullmesh in subnet qc pass: ibgp rr in subnet qc pass: ebgp over loopback qc pass: ibgp over loopback qc pass: ibgp with mpls qc pass: ebgp with long as number qc pass: ibgp with long as number qc pass: bgp default route qc pass: bgp ingress route filtering with prefixlist qc pass: bgp egress route filtering with prefixlist qc pass: bgp ingress route filtering with routemap qc pass: bgp egress route filtering with routemap qc pass: bgp filtering with locpref qc pass: bgp filtering with origin qc pass: bgp filtering with metric qc pass: bgp filtering with standard community qc pass: bgp filtering with aspath qc pass: bgp locpref qc pass: bgp aspath qc pass: bgp origin qc pass: bgp metric qc pass: bgp locpref vs aspath qc pass: bgp aspath vs origin qc pass: bgp origin vs metric qc pass: bgp filtering with extended community qc pass: ebgp with labels qc pass: ibgp with labels qc pass: ebgp with bfd qc pass: vpns over ebgp qc pass: vpns over ibgp qc pass: bgp route server qc pass: bgp enforce first as qc pass: bgp aspath check qc pass: bgp allow as in qc pass: bgp remove private as qc pass: bgp override as qc pass: bgp nexthop self qc pass: bgp nexthop peer qc pass: vpls over ebgp qc pass: vpls over ibgp qc pass: bgp peer template qc pass: bgp listen qc pass: ebgp password todo: fping as fast/flood pinging todo: sping as slow/detail pinging todo: alt+s as find file in commmander todo: alt+r as execute random command in commander todo: more useful mc keystrokes todo: compile with 1.6, 1.7, 1.8 java on linux... todo: real wine to rtros... todo: no as privileged stuff... todo: install player to rtros... todo: show ipv4 route demo | count todo: attach line not working anymore, try with deactivation and attach todo: flash pack, flash unpack with proprietary header format todo: allow timerange within scheduler configuration todo: more delete keystrokes to readline functions todo: process sandboxing todo: vpnized browser (xul) todo: trustpoint for certificates todo: more level of config sections todo: tab for deb pro o?-->ospf[4/6] todo: interface name tabbing todo: show upgrade todo: reenabling of routing protocols fails todo: int eth1/int eth2 todo: dhcp relay support todo: sslvpn client, server todo: dlsw client, server todo: tcp selective ack todo: xot, x75 switching todo: ipx, spx switching todo: preallocate qos buffers todo: lisp4, lisp6 todo: nhrp4, nhrp6 todo: l2vpn for isis todo: hip (rfc4423) todo: more show commands todo: more clear commands todo: more interactive tools todo: igmp4/6 snoop, pim4/6 snoop for bridging todo: multilink ppp, fr todo: x25 todo: default vrf for show commands ---------------------------------- 2014-05-02 07:25:33 todo: fping as fast/flood pinging todo: sping as slow/detail pinging todo: alt+s as find file in commmander todo: alt+r as execute random command in commander todo: more useful mc keystrokes todo: compile with 1.6, 1.7, 1.8 java on linux... todo: real wine to rtros... todo: no as privileged stuff... todo: install player to rtros... todo: show ipv4 route demo | count ---------------------------------- 2014-08-07 18:56:43 no todo: sping as slow/detail pinging no todo: fping as fast/flood pinging ---------------------------------- 2014-08-21 12:29:23 no qc pass: ppp with tacacs authentication no work: ppp with tacacs authentication qc pass: bgp filtering with aigp qc pass: bgp filtering with bandwidth ---------------------------------- 2014-09-27 10:48:05 qc pass: transparent proxy ---------------------------------- 2014-09-27 20:03:36 qc pass: ppp with tacacs authentication ---------------------------------- 2014-10-01 14:35:59 no todo: ipx, spx switching no todo: process sandboxing no todo: show ipv4 route demo | count ---------------------------------- 2014-10-26 10:12:07 qc pass: ebgp in chain qc pass: confed bgp in chain qc pass: ibgp in chain qc pass: ebgp in subnet qc pass: confed bgp in subnet qc pass: ibgp in subnet qc pass: ibgp fullmesh in subnet qc pass: ibgp rr in subnet qc pass: ebgp over loopback qc pass: ibgp over loopback qc pass: ibgp with mpls qc pass: ebgp with long as number qc pass: ibgp with long as number qc pass: bgp default route qc pass: bgp ingress route filtering with prefixlist qc pass: bgp egress route filtering with prefixlist qc pass: bgp ingress route filtering with routemap qc pass: bgp egress route filtering with routemap qc pass: bgp filtering with locpref qc pass: bgp filtering with origin qc pass: bgp filtering with metric qc pass: bgp filtering with standard community qc pass: bgp filtering with aspath qc pass: bgp locpref qc pass: bgp aspath qc pass: bgp origin qc pass: bgp metric qc pass: bgp locpref vs aspath qc pass: bgp aspath vs origin qc pass: bgp origin vs metric qc pass: bgp filtering with extended community qc pass: ebgp with labels qc pass: ibgp with labels qc pass: ebgp with bfd qc pass: vpns over ebgp qc pass: vpns over ibgp qc pass: bgp route server qc pass: bgp enforce first as qc pass: bgp aspath check qc pass: bgp allow as in qc pass: bgp remove private as qc pass: bgp override as qc pass: bgp nexthop self qc pass: bgp nexthop peer qc pass: vpls over ebgp qc pass: vpls over ibgp qc pass: bgp peer template qc pass: bgp listen qc pass: ebgp password qc pass: bgp filtering with aigp qc pass: bgp filtering with bandwidth todo: alt+s as find file in commmander todo: alt+r as execute random command in commander todo: more useful mc keystrokes todo: compile with 1.6, 1.7, 1.8 java on linux... todo: real wine to rtros... todo: no as privileged stuff... todo: install player to rtros... todo: attach line not working anymore, try with deactivation and attach todo: flash pack, flash unpack with proprietary header format todo: allow timerange within scheduler configuration todo: more delete keystrokes to readline functions todo: vpnized browser (xul) todo: trustpoint for certificates todo: more level of config sections todo: tab for deb pro o?-->ospf[4/6] todo: interface name tabbing todo: show upgrade todo: reenabling of routing protocols fails todo: int eth1/int eth2 todo: dhcp relay support todo: sslvpn client, server todo: dlsw client, server todo: tcp selective ack todo: xot, x75 switching todo: preallocate qos buffers todo: lisp4, lisp6 todo: nhrp4, nhrp6 todo: l2vpn for isis todo: hip (rfc4423) todo: more show commands todo: more clear commands todo: more interactive tools todo: igmp4/6 snoop, pim4/6 snoop for bridging todo: multilink ppp, fr todo: x25 todo: default vrf for show commands ---------------------------------- 2014-10-26 13:56:39 qc pass: bgp rpki ---------------------------------- 2014-10-27 13:53:53 no todo: allow timerange within scheduler configuration qc pass: ppp with gre qc pass: hdlc with gre no work: lapb with gre qc pass: framerelay with gre ---------------------------------- 2014-10-28 09:35:25 qc pass: isdn tunneling with erspan qc pass: lapb with gre qc pass: atmdxi with gre qc pass: isdn with gre qc pass: isdn over l2tp3 qc pass: isdn tunneling with l2tp3 qc pass: isdn tunneling with packet over udp qc pass: isdn tunneling with vxlan qc pass: cross connect isdn interfaces qc pass: isdn over mpls qc pass: isdn tunneling with mpls ---------------------------------- 2014-11-03 09:26:47 qc pass: multipoint ethernet over vxlan ---------------------------------- 2014-11-12 14:57:38 no todo: vpnized browser (xul) no todo: flash pack, flash unpack with proprietary header format no todo: install player to rtros... no todo: no as privileged stuff... no todo: real wine to rtros... no todo: compile with 1.6, 1.7, 1.8 java on linux... qc pass: etherip over ipv4 qc pass: etherip over ipv6 qc pass: etherip over loopback qc pass: hdlc tunneling with etherip qc pass: ppp tunneling with etherip qc pass: lapb tunneling with etherip qc pass: framerelay tunneling with etherip qc pass: atmdxi tunneling with etherip qc pass: isdn tunneling with etherip qc pass: ethernet tunneling with etherip qc pass: vlan tunneling with etherip qc pass: tunnel interface with etherip qc pass: cross connect with etherip qc pass: cross connect interworking with etherip ---------------------------------- 2014-11-13 14:22:01 qc pass: mplsip over ipv4 qc pass: mplsip over ipv6 qc pass: mplsip over mplsip qc pass: mplsip over loopback ---------------------------------- 2014-11-16 09:43:26 qc pass: swipe over ipv4 qc pass: swipe over ipv6 qc pass: swipe over swipe qc pass: swipe over loopback ---------------------------------- 2014-11-18 11:21:29 qc pass: swipe with des qc pass: swipe with blowfish qc pass: swipe with 3des qc pass: swipe with aes128 qc pass: swipe with aes192 qc pass: swipe with aes256 qc pass: swipe with md5 qc pass: swipe with sha1 qc pass: swipe with sha256 qc pass: swipe with sha512 ---------------------------------- 2014-11-22 11:10:07 qc pass: geneve over ipv4 qc pass: geneve over ipv6 qc pass: geneve over loopback qc pass: hdlc tunneling with geneve qc pass: ppp tunneling with geneve qc pass: lapb tunneling with geneve qc pass: framerelay tunneling with geneve qc pass: atmdxi tunneling with geneve qc pass: isdn tunneling with geneve qc pass: ethernet tunneling with geneve qc pass: vlan tunneling with geneve qc pass: tunnel interface with geneve qc pass: macsec with des qc pass: macsec with blowfish qc pass: macsec with 3des qc pass: macsec with aes128 qc pass: macsec with aes192 qc pass: macsec with aes256 qc pass: macsec with md5 qc pass: macsec with sha1 qc pass: macsec with sha256 qc pass: macsec with sha512 qc pass: cross connect with geneve qc pass: cross connect interworking with geneve ---------------------------------- 2014-11-23 12:11:17 qc pass: multipoint ethernet over geneve qc pass: nvgre over ipv4 qc pass: nvgre over ipv6 qc pass: nvgre over loopback qc pass: hdlc tunneling with nvgre qc pass: ppp tunneling with nvgre qc pass: lapb tunneling with nvgre qc pass: framerelay tunneling with nvgre qc pass: atmdxi tunneling with nvgre qc pass: isdn tunneling with nvgre qc pass: ethernet tunneling with nvgre qc pass: vlan tunneling with nvgre qc pass: tunnel interface with nvgre qc pass: cross connect with nvgre qc pass: cross connect interworking with nvgre ---------------------------------- 2014-11-24 12:45:22 qc pass: cross connect with everything ---------------------------------- 2014-11-27 09:30:02 qc pass: minenc over ipv4 qc pass: minenc over ipv6 qc pass: minenc over minenc qc pass: minenc over loopback ---------------------------------- 2014-11-27 21:05:36 qc pass: ipenc over ipv4 qc pass: ipenc over ipv6 qc pass: ipenc over ipenc qc pass: ipenc over loopback ---------------------------------- 2014-11-29 10:16:07 qc pass: tmux over ipv4 qc pass: tmux over ipv6 qc pass: tmux over tmux qc pass: tmux over loopback ---------------------------------- 2014-11-30 14:10:49 qc pass: inlsp over ipv4 qc pass: inlsp over ipv6 qc pass: inlsp over inlsp qc pass: inlsp over loopback qc pass: inlsp with des qc pass: inlsp with blowfish qc pass: inlsp with 3des qc pass: inlsp with aes128 qc pass: inlsp with aes192 qc pass: inlsp with aes256 qc pass: inlsp with md5 qc pass: inlsp with sha1 qc pass: inlsp with sha256 qc pass: inlsp with sha512 qc pass: skip over ipv4 qc pass: skip over ipv6 qc pass: skip over skip qc pass: skip over loopback qc pass: skip with des qc pass: skip with blowfish qc pass: skip with 3des qc pass: skip with aes128 qc pass: skip with aes192 qc pass: skip with aes256 qc pass: skip with md5 qc pass: skip with sha1 qc pass: skip with sha256 qc pass: skip with sha512 ---------------------------------- 2014-12-02 11:15:56 qc pass: ppp with ax25 qc pass: hdlc with ax25 qc pass: lapb with ax25 qc pass: framerelay with ax25 qc pass: atmdxi with ax25 qc pass: isdn with ax25 ---------------------------------- 2014-12-03 17:13:13 qc pass: macsec with group1 qc pass: macsec with group2 qc pass: macsec with group5 qc pass: macsec with group14 qc pass: macsec with group15 qc pass: macsec with group16 qc pass: macsec with group17 qc pass: macsec with group18 qc pass: macsec with group22 qc pass: macsec with group23 qc pass: macsec with group24 ---------------------------------- 2014-12-10 16:11:40 qc pass: ipcomp over ipv4 qc pass: ipcomp over ipv6 qc pass: ipcomp over ipcomp qc pass: ipcomp over loopback qc pass: pipe over ipv4 qc pass: pipe over ipv6 qc pass: pipe over pipe qc pass: pipe over loopback ---------------------------------- 2014-12-14 07:26:40 qc pass: nos over ipv4 qc pass: nos over ipv6 qc pass: nos over nos qc pass: nos over loopback ---------------------------------- 2014-12-17 15:01:23 qc pass: multichassis bundle ---------------------------------- 2014-12-22 10:57:41 qc pass: uti over ipv4 qc pass: uti over ipv6 qc pass: uti over loopback qc pass: hdlc tunneling with uti qc pass: ppp tunneling with uti qc pass: lapb tunneling with uti qc pass: framerelay tunneling with uti qc pass: atmdxi tunneling with uti qc pass: isdn tunneling with uti qc pass: ethernet tunneling with uti qc pass: vlan tunneling with uti qc pass: tunnel interface with uti qc pass: cross connect with uti qc pass: cross connect interworking with uti ---------------------------------- 2015-01-03 11:38:54 no qc pass: hsrp over ethernet no work: hsrp over ethernet ---------------------------------- 2015-01-18 10:33:02 qc pass: hsrp over ethernet qc pass: pvrp with labels ---------------------------------- 2015-01-31 11:57:17 qc pass: ldp over loopback ---------------------------------- 2015-02-25 16:59:51 qc pass: babel on one subnet qc pass: babel in chain qc pass: babel ingress route filtering with prefixlist qc pass: babel egress route filtering with prefixlist qc pass: babel ingress route filtering with routemap qc pass: babel egress route filtering with routemap qc pass: babel max metric qc pass: babel address suppression qc pass: babel default route qc pass: babel metric qc pass: babel with bfd qc pass: babel peer template qc pass: redistribution with babel ---------------------------------- 2015-03-03 18:02:17 qc pass: lsrp point2point connection qc pass: lsrp point2multipoint connection qc pass: lsrp point2point chain qc pass: lsrp metric qc pass: lsrp address suppression qc pass: lsrp route filtering with prefixlist qc pass: lsrp route filtering with routemap qc pass: lsrp tag qc pass: lsrp default route qc pass: lsrp with bfd qc pass: lsrp authentication qc pass: lsrp ssh encryption qc pass: lsrp tls encryption qc pass: lsrp peer template qc pass: redistribution with lsrp ---------------------------------- 2015-03-07 10:42:27 qc pass: vdc parent interface qc pass: vdc parent connect qc pass: vdc peer connect ---------------------------------- 2015-04-04 06:20:01 qc pass: ethernet hairpin qc pass: serial hairpin qc pass: bundle hairpin qc pass: bridge hairpin ---------------------------------- 2015-04-22 07:36:21 qc pass: mplsudp over ipv4 qc pass: mplsudp over ipv6 qc pass: mplsudp over mplsudp qc pass: mplsudp over loopback ---------------------------------- 2015-05-23 13:11:28 qc pass: lsrp with segment routing ---------------------------------- 2015-05-25 10:36:16 no todo: nhrp4, nhrp6 todo: segment routing for isis, ospf4/6 ---------------------------------- 2015-05-26 11:13:02 qc pass: isis multi-topology qc pass: isis updown bit with multi-topology qc pass: isis external multi-topology qc pass: isis multi-topology with te qc pass: isis chain of broadcast nets with narrow metric qc pass: isis broadcast subnet with narrow metric qc pass: isis chain of broadcast nets with multi-topology qc pass: isis broadcast subnet with multi-topology ---------------------------------- 2015-06-01 21:04:03 no todo: segment routing for isis, ospf4/6 qc pass: isis with segment routing qc pass: isis inter-level with segment routing qc pass: isis multi-topology with segment routing todo: segment routing for ospf4/6 ---------------------------------- 2015-06-04 17:11:39 no todo: segment routing for ospf4/6 qc pass: ospf with segment routing qc pass: ospf transit area with segment routing ---------------------------------- 2015-07-04 12:53:11 qc pass: lisp over ipv4 qc pass: lisp over ipv6 qc pass: lisp over lisp qc pass: lisp over loopback qc pass: bgp additional path qc pass: bgp additional path with labels qc pass: vpns over bgp additional path qc pass: vpls over bgp additional path ---------------------------------- 2015-07-10 16:44:46 no qc pass: process redundancy no work: process redundancy qc pass: bgp nexthop unchanged ---------------------------------- 2015-07-14 03:09:00 no qc pass: isis chain of broadcast nets with narrow metric qc pass: process redundancy no work: isis chain of broadcast nets with narrow metric ---------------------------------- 2015-07-15 00:30:39 qc pass: isis chain of broadcast nets with narrow metric todo: evpn for bgp (rfc7432) ---------------------------------- 2015-07-15 13:11:33 no qc pass: bgp override as no qc pass: bgp remove private as qc pass: bgp remove private as out qc pass: bgp override as out qc pass: bgp remove private as in qc pass: bgp override as in todo: bgp update group ---------------------------------- 2015-07-22 14:42:01 no todo: bgp update group qc pass: ebgp with next hop tracking qc pass: ibgp with next hop tracking ---------------------------------- 2015-07-23 11:37:07 qc pass: vpns over ibgp rr qc pass: vpls over ibgp rr ---------------------------------- 2015-07-24 00:30:38 no qc pass: isis chain of broadcast nets qc pass: bgp clustlist qc pass: bgp metric vs clustlist qc pass: bgp distance qc pass: bgp distance vs locpref no work: isis chain of broadcast nets ---------------------------------- 2015-07-24 05:41:13 qc pass: isis chain of broadcast nets ---------------------------------- 2015-07-26 00:30:41 qc pass: ebgp in chain with soft-reconfig qc pass: confed bgp in chain with soft-reconfig qc pass: ibgp in chain with soft-reconfig qc pass: ibgp rr in subnet with soft-reconfig qc pass: bgp ingress route filtering with prefixlist with soft-reconfig qc pass: bgp egress route filtering with prefixlist with soft-reconfig qc pass: bgp ingress route filtering with routemap with soft-reconfig qc pass: bgp egress route filtering with routemap with soft-reconfig qc pass: bgp filtering with locpref with soft-reconfig qc pass: bgp filtering with origin with soft-reconfig qc pass: bgp filtering with metric with soft-reconfig qc pass: bgp filtering with standard community with soft-reconfig qc pass: bgp filtering with aspath with soft-reconfig qc pass: bgp locpref with soft-reconfig qc pass: bgp aspath with soft-reconfig qc pass: bgp origin with soft-reconfig qc pass: bgp metric with soft-reconfig qc pass: bgp locpref vs aspath with soft-reconfig qc pass: bgp aspath vs origin with soft-reconfig qc pass: bgp origin vs metric with soft-reconfig qc pass: bgp filtering with extended community with soft-reconfig qc pass: bgp clustlist with soft-reconfig qc pass: bgp metric vs clustlist with soft-reconfig qc pass: bgp distance with soft-reconfig qc pass: bgp distance vs locpref with soft-reconfig qc pass: bgp filtering with aigp with soft-reconfig qc pass: bgp filtering with bandwidth with soft-reconfig qc pass: bgp with a lot prefix ---------------------------------- 2015-07-28 00:05:39 qc pass: babel prefix withdraw qc pass: ebgp prefix withdraw qc pass: confed bgp prefix withdraw qc pass: ibgp prefix withdraw qc pass: ibgp fullmesh prefix withdraw qc pass: ibgp rr prefix withdraw qc pass: ebgp prefix withdraw with soft-reconfig qc pass: confed bgp prefix withdraw with soft-reconfig qc pass: ibgp prefix withdraw with soft-reconfig qc pass: ibgp fullmesh prefix withdraw with soft-reconfig qc pass: ibgp rr prefix withdraw with soft-reconfig qc pass: eigrp prefix withdraw qc pass: isis prefix withdraw qc pass: lsrp prefix withdraw qc pass: ospf prefix withdraw qc pass: pvrp prefix withdraw qc pass: rip prefix withdraw ---------------------------------- 2015-07-29 00:05:39 qc pass: vpns over confed bgp qc pass: vpls over confed bgp qc pass: vpns over bgp route server qc pass: vpls over bgp route server qc pass: bgp route server with soft-reconfig qc pass: bgp route server prefix withdraw qc pass: bgp route server prefix withdraw with soft-reconfig qc pass: multisite vpns over ibgp rr qc pass: multisite vpls over ibgp rr qc pass: bgp change in locpref qc pass: bgp change in aspath qc pass: bgp change in origin qc pass: bgp change in metric qc pass: bgp change in aigp qc pass: bgp change in bandwidth qc pass: bgp change in standard community qc pass: bgp change in extended community qc pass: bgp change in locpref with soft-reconfig qc pass: bgp change in aspath with soft-reconfig qc pass: bgp change in origin with soft-reconfig qc pass: bgp change in metric with soft-reconfig qc pass: bgp change in aigp with soft-reconfig qc pass: bgp change in bandwidth with soft-reconfig qc pass: bgp change in standard community with soft-reconfig qc pass: bgp change in extended community with soft-reconfig qc pass: isis change in metric qc pass: lsrp change in metric qc pass: lsrp change in tag qc pass: ospf change in metric qc pass: ospf change in tag ---------------------------------- 2015-08-04 18:22:22 qc pass: babel aggregation qc pass: bgp aggregation qc pass: bgp maximum prefix qc pass: eigrp aggregation qc pass: isis aggregate qc pass: ospf aggregate qc pass: pvrp aggregation qc pass: rip aggregation ---------------------------------- 2015-08-15 00:05:40 qc pass: evpn over ebgp qc pass: evpn over ibgp qc pass: evpn over bgp additional path qc pass: evpn over ibgp rr qc pass: evpn over confed bgp qc pass: evpn over bgp route server qc pass: multisite evpn over ibgp rr qc pass: ethersite vpls over ibgp qc pass: ethersite evpn over ibgp ---------------------------------- 2015-08-15 10:03:55 qc pass: ethersite vpns over ibgp qc pass: vpns over bgp with soft-reconfig qc pass: vpls over bgp with soft-reconfig qc pass: evpn over bgp with soft-reconfig ---------------------------------- 2015-08-16 00:05:39 no qc pass: isis chain of broadcast nets with narrow metric no work: isis chain of broadcast nets with narrow metric ---------------------------------- 2015-08-17 00:05:39 qc pass: isis chain of broadcast nets with narrow metric ---------------------------------- 2015-08-25 12:01:45 qc pass: unicast+vpns over bgp qc pass: unicast+vpls over bgp qc pass: unicast+evpn over bgp qc pass: unicast+vpns over bgp with soft-reconfig qc pass: unicast+vpls over bgp with soft-reconfig qc pass: unicast+evpn over bgp with soft-reconfig todo: tcl to route-map attribute manipulation ---------------------------------- 2015-08-28 00:11:12 qc pass: babel auto mesh tunnel qc pass: unicast+vpns over bgp additional path qc pass: unicast+vpls over bgp additional path qc pass: unicast+evpn over bgp additional path qc pass: bgp auto mesh tunnel qc pass: vpns over bgp auto mesh tunnel qc pass: vpls over bgp auto mesh tunnel qc pass: evpn over bgp auto mesh tunnel qc pass: eigrp auto mesh tunnel qc pass: isis auto mesh tunnel qc pass: lsrp auto mesh tunnel qc pass: ospf auto mesh tunnel qc pass: pvrp auto mesh tunnel qc pass: rip auto mesh tunnel no todo: tcl to route-map attribute manipulation todo: tcl and external events to tracker ---------------------------------- 2015-08-30 08:56:39 no todo: evpn for bgp (rfc7432) no todo: tcl and external events to tracker ---------------------------------- 2015-09-08 06:10:10 no qc pass: process redundancy no work: process redundancy ---------------------------------- 2015-09-09 00:05:39 qc pass: process redundancy todo: interop test cases ---------------------------------- 2015-09-13 14:07:44 no todo: interop test cases qc pass: interop: ebgp qc pass: interop: ibgp qc pass: interop: bgp locpref qc pass: interop: bgp origin qc pass: interop: bgp metric qc pass: interop: bgp community qc pass: interop: bgp aspath qc pass: interop: bgp with labels qc pass: interop: bgp addpath qc pass: interop: bgp prefix withdraw qc pass: interop: bgp vpn qc pass: interop: bgp authentication qc pass: interop: dhcp server qc pass: interop: dhcp client qc pass: interop: dns qc pass: interop: eigrp qc pass: interop: eigrp prefix withdraw qc pass: interop: ethernet encapsulation qc pass: interop: dot1q encapsulation qc pass: interop: spantree nonroot qc pass: interop: spantree root qc pass: interop: ike1 with ipv4 qc pass: interop: ike1 with ipv6 qc pass: interop: ike1 with 3des qc pass: interop: ike1 with aes128 qc pass: interop: ike1 with aes192 qc pass: interop: ike1 with aes256 qc pass: interop: ike1 with sha1 qc pass: interop: ike1 with sha256 qc pass: interop: ike1 with sha512 qc pass: interop: ike1 with group2 qc pass: interop: ike1 with group5 qc pass: interop: ike1 with group14 qc pass: interop: ike1 with group15 qc pass: interop: ike1 with group16 qc pass: interop: ike1 with group24 qc pass: interop: ike2 with ipv4 qc pass: interop: ike2 with ipv6 qc pass: interop: ike2 with 3des qc pass: interop: ike2 with aes128 qc pass: interop: ike2 with aes192 qc pass: interop: ike2 with aes256 qc pass: interop: ike2 with sha1 qc pass: interop: ike2 with sha256 qc pass: interop: ike2 with sha512 qc pass: interop: ike2 with group2 qc pass: interop: ike2 with group5 qc pass: interop: ike2 with group14 qc pass: interop: ike2 with group15 qc pass: interop: ike2 with group16 qc pass: interop: ike2 with group24 qc pass: interop: point2point isis qc pass: interop: isis dis qc pass: interop: isis nondis qc pass: interop: isis narrow metric qc pass: interop: isis te qc pass: interop: isis multi-topology qc pass: interop: isis prefix withdraw qc pass: interop: isis authentication qc pass: interop: l2tp2 client qc pass: interop: l2tp2 server qc pass: interop: l2tp3 server qc pass: interop: ethernet tunneling with l2tp3 qc pass: interop: ldp lsp qc pass: interop: ethernet over mpls qc pass: interop: igmp3/mld2 qc pass: interop: pim qc pass: interop: point2point ospf qc pass: interop: ospf dr qc pass: interop: ospf nondr qc pass: interop: ospf transit area qc pass: interop: ospf stub area qc pass: interop: ospf nssa area qc pass: interop: ospf te qc pass: interop: ospf prefix withdraw qc pass: interop: ospf authentication qc pass: interop: pppoe client qc pass: interop: pppoe server qc pass: interop: pppoe with pap qc pass: interop: pppoe with chap qc pass: interop: pppoe with eap qc pass: interop: radius qc pass: interop: rip qc pass: interop: rip prefix withdraw qc pass: interop: rip authentication qc pass: interop: ssh qc pass: interop: tacacs qc pass: interop: gre tunnel qc pass: interop: ipip tunnel ---------------------------------- 2015-09-19 05:21:19 todo: ringbuffer capture on interfaces todo: bfd need to send with ttl=255, recheck after todo: tcp (bgp,ldp) password need to be repaired ---------------------------------- 2015-09-21 09:20:01 no todo: tcp (bgp,ldp) password need to be repaired no todo: ringbuffer capture on interfaces ---------------------------------- 2015-09-23 16:27:15 qc pass: static routing with labels todo: webdav server ---------------------------------- 2015-09-26 08:17:54 qc pass: targeted ldp qc pass: eigrp stub no todo: webdav server ---------------------------------- 2015-09-28 19:32:51 no qc pass: evpn over bgp auto mesh tunnel no qc pass: vpls over bgp auto mesh tunnel no qc pass: unicast+evpn over bgp additional path no qc pass: unicast+vpls over bgp additional path no qc pass: unicast+evpn over bgp with soft-reconfig no qc pass: unicast+vpls over bgp with soft-reconfig no qc pass: unicast+evpn over bgp no qc pass: unicast+vpls over bgp no qc pass: evpn over bgp with soft-reconfig no qc pass: vpls over bgp with soft-reconfig no qc pass: ethersite evpn over ibgp no qc pass: ethersite vpls over ibgp no qc pass: multisite evpn over ibgp rr no qc pass: evpn over bgp route server no qc pass: evpn over confed bgp no qc pass: evpn over ibgp rr no qc pass: evpn over bgp additional path no qc pass: evpn over ibgp no qc pass: evpn over ebgp no qc pass: multisite vpls over ibgp rr no qc pass: vpls over bgp route server no qc pass: vpls over confed bgp no qc pass: vpls over ibgp rr no qc pass: vpls over bgp additional path no qc pass: vpls over ibgp no qc pass: vpls over ebgp qc pass: vpls/ldp over ebgp qc pass: vpls/ldp over ibgp qc pass: vpls/ldp over bgp additional path qc pass: vpls/ldp over ibgp rr qc pass: vpls/ldp over confed bgp qc pass: vpls/ldp over bgp route server qc pass: multisite vpls/ldp over ibgp rr qc pass: evpn/pbb over ebgp qc pass: evpn/pbb over ibgp qc pass: evpn/pbb over bgp additional path qc pass: evpn/pbb over ibgp rr qc pass: evpn/pbb over confed bgp qc pass: evpn/pbb over bgp route server qc pass: multisite evpn/pbb over ibgp rr qc pass: ethersite vpls/ldp over ibgp qc pass: ethersite evpn/pbb over ibgp qc pass: vpls/ldp over bgp with soft-reconfig qc pass: evpn/pbb over bgp with soft-reconfig qc pass: unicast+vpls/ldp over bgp qc pass: unicast+evpn/pbb over bgp qc pass: unicast+vpls/ldp over bgp with soft-reconfig qc pass: unicast+evpn/pbb over bgp with soft-reconfig qc pass: unicast+vpls/ldp over bgp additional path qc pass: unicast+evpn/pbb over bgp additional path qc pass: vpls/ldp over bgp auto mesh tunnel qc pass: evpn/pbb over bgp auto mesh tunnel qc pass: vpls/bgp over ebgp qc pass: vpls/bgp over ibgp qc pass: vpls/bgp over bgp additional path qc pass: vpls/bgp over ibgp rr qc pass: vpls/bgp over confed bgp qc pass: vpls/bgp over bgp route server qc pass: multisite vpls/bgp over ibgp rr qc pass: ethersite vpls/bgp over ibgp qc pass: vpls/bgp over bgp with soft-reconfig qc pass: unicast+vpls/bgp over bgp qc pass: unicast+vpls/bgp over bgp with soft-reconfig qc pass: unicast+vpls/bgp over bgp additional path qc pass: vpls/bgp over bgp auto mesh tunnel qc pass: vpls/ldp+vpls/bgp over bgp ---------------------------------- 2015-10-14 04:28:54 todo: more filters: begin, first, last, uniq, sort ---------------------------------- 2015-10-14 16:12:48 no todo: more delete keystrokes to readline functions no todo: more useful mc keystrokes no todo: alt+r as execute random command in commander no todo: alt+s as find file in commmander no todo: more filters: begin, first, last, uniq, sort ---------------------------------- 2015-10-19 15:17:03 no qc pass: ibgp with next hop tracking no qc pass: ebgp with next hop tracking qc pass: ebgp with nexthop tracking qc pass: ibgp with nexthop tracking qc pass: ibgp conquer rr in subnet qc pass: ibgp conquer rr in subnet with soft-reconfig qc pass: ibgp conquer rr prefix withdraw qc pass: ibgp conquer rr prefix withdraw with soft-reconfig ---------------------------------- 2015-11-11 19:51:08 qc pass: unicast+mvpn over bgp qc pass: unicast+mdt over bgp qc pass: unicast+flowspec over bgp qc pass: unicast+flowspecvpn over bgp qc pass: unicast+mvpn over bgp with soft-reconfig qc pass: unicast+mdt over bgp with soft-reconfig qc pass: unicast+flowspec over bgp with soft-reconfig qc pass: unicast+flowspecvpn over bgp with soft-reconfig qc pass: unicast+mvpn over bgp with additional path qc pass: unicast+mdt over bgp with additional path qc pass: unicast+flowspec over bgp with additional path qc pass: unicast+flowspecvpn over bgp with additional path todo: mrt (rfc6396) ---------------------------------- 2015-11-21 20:25:16 no todo: mrt (rfc6396) todo: compare should write out that which attributes changed ---------------------------------- 2015-12-05 12:32:44 qc pass: ldp password qc pass: targeted ldp password ---------------------------------- 2015-12-08 22:12:32 qc pass: evpn/vxlan over ebgp qc pass: evpn/vxlan over ibgp qc pass: evpn/vxlan over bgp additional path qc pass: evpn/vxlan over ibgp rr qc pass: evpn/vxlan over confed bgp qc pass: evpn/vxlan over bgp route server qc pass: multisite evpn/vxlan over ibgp rr qc pass: ethersite evpn/vxlan over ibgp qc pass: evpn/vxlan over bgp with soft-reconfig qc pass: unicast+evpn/vxlan over bgp qc pass: unicast+evpn/vxlan over bgp with soft-reconfig qc pass: unicast+evpn/vxlan over bgp additional path qc pass: evpn/vxlan over bgp auto mesh tunnel qc pass: evpn/pbb+vpls/vxlan over ebgp ---------------------------------- 2015-12-10 23:51:34 qc pass: evpn/cmac over ebgp qc pass: evpn/cmac over ibgp qc pass: evpn/cmac over bgp additional path qc pass: evpn/cmac over ibgp rr qc pass: evpn/cmac over confed bgp qc pass: evpn/cmac over bgp route server qc pass: multisite evpn/cmac over ibgp rr qc pass: ethersite evpn/cmac over ibgp qc pass: evpn/cmac over bgp with soft-reconfig qc pass: unicast+evpn/cmac over bgp qc pass: unicast+evpn/cmac over bgp with soft-reconfig qc pass: unicast+evpn/cmac over bgp additional path qc pass: evpn/cmac over bgp auto mesh tunnel qc pass: evpn/pbb+vpls/cmac over ebgp ---------------------------------- 2015-12-25 13:33:51 qc pass: ingress ttl matching access list qc pass: egress ttl matching access list qc pass: ingress tos matching access list qc pass: egress tos matching access list qc pass: qos ingress ttl matcher qc pass: qos egress ttl matcher qc pass: ibgp with ttl-security qc pass: ebgp with ttl-security ---------------------------------- 2015-12-31 01:05:42 no qc pass: bgp rpki no work: bgp rpki ---------------------------------- 2015-12-31 13:21:18 qc pass: bgp rpki ---------------------------------- 2016-01-02 10:21:27 todo: enable should default to secret instead of password, in this way i can (reall? sure?) give show startup @ priv#1 todo: consider reenabling ecdsa or ecdh, or both or none. more study rqd after junoleaks... todo: reenable which elliptic courves? sure? why that? can you give your real name to your opinion? todo: kfreebsd jailt, kfreebsd hipervisor (!) todo: https://tools.ietf.org/html/draft-ietf-tn3270e-telnet-tls-06 ---------------------------------- 2016-01-04 21:03:14 todo: inspect to log layer2 addresses todo: enable should default to secret instead of password, in this way i can (sure?) give show startup @ priv#1 todo: macmove logging to bridge!!! todo: arpwatch for ipv4, ndwatch for ipv6 todo: reenable which elliptic courves? sure? why that? todo: kfreebsd jailt, kfreebsd hipervisor support for vdc todo: parse privilege levels from radius and tacacs todo: ldap client, server todo: tunnel shutdown command todo: tunnel autobandwidth for te ---------------------------------- 2016-01-06 01:05:41 no todo: bfd need to send with ttl=255, recheck after no todo: compare should write out that which attributes changed no todo: tunnel autobandwidth for te no todo: tunnel shutdown command no todo: kfreebsd jailt, kfreebsd hipervisor support for vdc no todo: arpwatch for ipv4, ndwatch for ipv6 no todo: macmove logging to bridge!!! no todo: enable should default to secret instead of password, in this way i can (sure?) give show startup @ priv#1 no todo: inspect to log layer2 addresses todo: tunnel shutdown todo: tunnel autobandwidth todo: bgp compare should write out that which attributes changed todo: bfd need to send with ttl=255 todo: arpwatch for ipv4/6 ---------------------------------- 2016-01-16 08:19:46 no todo: tunnel shutdown todo: packet flood command todo: tunnel shutdown command todo: ncp close should honored again todo: vdc tree drawing ---------------------------------- 2016-01-19 07:31:35 todo: usage countdown on aaa entries ---------------------------------- 2016-01-22 10:33:57 no todo: packet flood command todo: experimental packet flood command todo: packet fuzzer for some interesting findings todo: bdi infrastructure, service instances, etc todo: buggy-mode command for experimental features todo: dissect show me-the-xxx command, add more todo: show me the bug command which is also experimental!!! :) todo: lsrp should write shortver instead of segrou ---------------------------------- 2016-01-25 18:43:57 todo: reload vdc asdf looping as experimental!!! ---------------------------------- 2016-02-04 01:05:41 no todo: show me the bug command which is also experimental!!! :) no todo: buggy-mode command for experimental features ---------------------------------- 2016-02-07 07:22:56 no todo: tunnel shutdown command no todo: lsrp should write shortver instead of segrou no todo: dissect show me-the-xxx command, add more ---------------------------------- 2016-02-09 09:33:38 no todo: packet fuzzer for some interesting findings no todo: experimental packet flood command ---------------------------------- 2016-02-26 08:59:20 no todo: usage countdown on aaa entries ---------------------------------- 2016-07-14 13:21:10 todo: reload vdc asdf looping as experimental!!! todo: bdi infrastructure, service instances, etc todo: ncp close should honored again todo: vdc tree drawing todo: reenable which elliptic courves? sure? why that? todo: https://tools.ietf.org/html/draft-ietf-tn3270e-telnet-tls-06 todo: parse privilege levels from radius and tacacs todo: ldap client, server todo: tunnel autobandwidth todo: bgp compare should write out that which attributes changed todo: bfd need to send with ttl=255 todo: attach line not working anymore, try with deactivation and attach todo: trustpoint for certificates todo: more level of config sections todo: tab for deb pro o?-->ospf[4/6] todo: interface name tabbing todo: show upgrade todo: reenabling of routing protocols fails todo: int eth1/int eth2 todo: dhcp relay support todo: sslvpn client, server todo: dlsw client, server todo: tcp selective ack todo: xot, x75 switching todo: preallocate qos buffers todo: lisp4, lisp6 todo: l2vpn for isis todo: hip (rfc4423) todo: more show commands todo: more clear commands todo: more interactive tools todo: arpwatch for ipv4/6 todo: igmp4/6 snoop, pim4/6 snoop for bridging todo: multilink ppp, fr todo: x25 todo: default vrf for show commands ---------------------------------- 2016-07-14 13:29:15 qc pass: ebgp in chain qc pass: confed bgp in chain qc pass: ibgp in chain qc pass: ebgp in subnet qc pass: confed bgp in subnet qc pass: ibgp in subnet qc pass: ibgp fullmesh in subnet qc pass: ibgp rr in subnet qc pass: ebgp over loopback qc pass: ibgp over loopback qc pass: ibgp with mpls qc pass: ebgp with long as number qc pass: ibgp with long as number qc pass: bgp default route qc pass: bgp ingress route filtering with prefixlist qc pass: bgp egress route filtering with prefixlist qc pass: bgp ingress route filtering with routemap qc pass: bgp egress route filtering with routemap qc pass: bgp filtering with locpref qc pass: bgp filtering with origin qc pass: bgp filtering with metric qc pass: bgp filtering with standard community qc pass: bgp filtering with aspath qc pass: bgp locpref qc pass: bgp aspath qc pass: bgp origin qc pass: bgp metric qc pass: bgp locpref vs aspath qc pass: bgp aspath vs origin qc pass: bgp origin vs metric qc pass: bgp filtering with extended community qc pass: ebgp with labels qc pass: ibgp with labels qc pass: ebgp with bfd qc pass: vpns over ebgp qc pass: vpns over ibgp qc pass: bgp route server qc pass: bgp enforce first as qc pass: bgp aspath check qc pass: bgp allow as in qc pass: bgp remove private as out qc pass: bgp override as out qc pass: bgp nexthop self qc pass: bgp nexthop peer qc pass: vpls/ldp over ebgp qc pass: vpls/ldp over ibgp qc pass: bgp peer template qc pass: bgp listen qc pass: ebgp password qc pass: bgp filtering with aigp qc pass: bgp filtering with bandwidth qc pass: bgp rpki qc pass: bgp additional path qc pass: bgp additional path with labels qc pass: vpns over bgp additional path qc pass: vpls/ldp over bgp additional path qc pass: bgp nexthop unchanged qc pass: bgp remove private as in qc pass: bgp override as in qc pass: ebgp with nexthop tracking qc pass: ibgp with nexthop tracking qc pass: vpns over ibgp rr qc pass: vpls/ldp over ibgp rr qc pass: bgp clustlist qc pass: bgp metric vs clustlist qc pass: bgp distance qc pass: bgp distance vs locpref qc pass: ebgp in chain with soft-reconfig qc pass: confed bgp in chain with soft-reconfig qc pass: ibgp in chain with soft-reconfig qc pass: ibgp rr in subnet with soft-reconfig qc pass: bgp ingress route filtering with prefixlist with soft-reconfig qc pass: bgp egress route filtering with prefixlist with soft-reconfig qc pass: bgp ingress route filtering with routemap with soft-reconfig qc pass: bgp egress route filtering with routemap with soft-reconfig qc pass: bgp filtering with locpref with soft-reconfig qc pass: bgp filtering with origin with soft-reconfig qc pass: bgp filtering with metric with soft-reconfig qc pass: bgp filtering with standard community with soft-reconfig qc pass: bgp filtering with aspath with soft-reconfig qc pass: bgp locpref with soft-reconfig qc pass: bgp aspath with soft-reconfig qc pass: bgp origin with soft-reconfig qc pass: bgp metric with soft-reconfig qc pass: bgp locpref vs aspath with soft-reconfig qc pass: bgp aspath vs origin with soft-reconfig qc pass: bgp origin vs metric with soft-reconfig qc pass: bgp filtering with extended community with soft-reconfig qc pass: bgp clustlist with soft-reconfig qc pass: bgp metric vs clustlist with soft-reconfig qc pass: bgp distance with soft-reconfig qc pass: bgp distance vs locpref with soft-reconfig qc pass: bgp filtering with aigp with soft-reconfig qc pass: bgp filtering with bandwidth with soft-reconfig qc pass: bgp with a lot prefix qc pass: ebgp prefix withdraw qc pass: confed bgp prefix withdraw qc pass: ibgp prefix withdraw qc pass: ibgp fullmesh prefix withdraw qc pass: ibgp rr prefix withdraw qc pass: ebgp prefix withdraw with soft-reconfig qc pass: confed bgp prefix withdraw with soft-reconfig qc pass: ibgp prefix withdraw with soft-reconfig qc pass: ibgp fullmesh prefix withdraw with soft-reconfig qc pass: ibgp rr prefix withdraw with soft-reconfig qc pass: vpns over confed bgp qc pass: vpls/ldp over confed bgp qc pass: vpns over bgp route server qc pass: vpls/ldp over bgp route server qc pass: bgp route server with soft-reconfig qc pass: bgp route server prefix withdraw qc pass: bgp route server prefix withdraw with soft-reconfig qc pass: multisite vpns over ibgp rr no work: multisite vpls/ldp over ibgp rr qc pass: bgp change in locpref qc pass: bgp change in aspath qc pass: bgp change in origin qc pass: bgp change in metric qc pass: bgp change in aigp qc pass: bgp change in bandwidth qc pass: bgp change in standard community qc pass: bgp change in extended community qc pass: bgp change in locpref with soft-reconfig qc pass: bgp change in aspath with soft-reconfig qc pass: bgp change in origin with soft-reconfig qc pass: bgp change in metric with soft-reconfig qc pass: bgp change in aigp with soft-reconfig qc pass: bgp change in bandwidth with soft-reconfig qc pass: bgp change in standard community with soft-reconfig qc pass: bgp change in extended community with soft-reconfig qc pass: bgp aggregation qc pass: bgp maximum prefix qc pass: evpn/pbb over ebgp qc pass: evpn/pbb over ibgp qc pass: evpn/pbb over bgp additional path qc pass: evpn/pbb over ibgp rr qc pass: evpn/pbb over confed bgp qc pass: evpn/pbb over bgp route server qc pass: multisite evpn/pbb over ibgp rr qc pass: ethersite vpls/ldp over ibgp qc pass: ethersite evpn/pbb over ibgp qc pass: ethersite vpns over ibgp qc pass: vpns over bgp with soft-reconfig qc pass: vpls/ldp over bgp with soft-reconfig qc pass: evpn/pbb over bgp with soft-reconfig qc pass: unicast+vpns over bgp qc pass: unicast+vpls/ldp over bgp qc pass: unicast+evpn/pbb over bgp qc pass: unicast+vpns over bgp with soft-reconfig qc pass: unicast+vpls/ldp over bgp with soft-reconfig qc pass: unicast+evpn/pbb over bgp with soft-reconfig qc pass: unicast+vpns over bgp additional path qc pass: unicast+vpls/ldp over bgp additional path qc pass: unicast+evpn/pbb over bgp additional path qc pass: bgp auto mesh tunnel qc pass: vpns over bgp auto mesh tunnel qc pass: vpls/ldp over bgp auto mesh tunnel qc pass: evpn/pbb over bgp auto mesh tunnel qc pass: vpls/bgp over ebgp qc pass: vpls/bgp over ibgp qc pass: vpls/bgp over bgp additional path qc pass: vpls/bgp over ibgp rr qc pass: vpls/bgp over confed bgp qc pass: vpls/bgp over bgp route server qc pass: multisite vpls/bgp over ibgp rr qc pass: ethersite vpls/bgp over ibgp qc pass: vpls/bgp over bgp with soft-reconfig qc pass: unicast+vpls/bgp over bgp qc pass: unicast+vpls/bgp over bgp with soft-reconfig qc pass: unicast+vpls/bgp over bgp additional path qc pass: vpls/bgp over bgp auto mesh tunnel qc pass: vpls/ldp+vpls/bgp over bgp qc pass: ibgp conquer rr in subnet qc pass: ibgp conquer rr in subnet with soft-reconfig qc pass: ibgp conquer rr prefix withdraw qc pass: ibgp conquer rr prefix withdraw with soft-reconfig qc pass: unicast+mvpn over bgp qc pass: unicast+mdt over bgp qc pass: unicast+flowspec over bgp qc pass: unicast+flowspecvpn over bgp qc pass: unicast+mvpn over bgp with soft-reconfig qc pass: unicast+mdt over bgp with soft-reconfig qc pass: unicast+flowspec over bgp with soft-reconfig qc pass: unicast+flowspecvpn over bgp with soft-reconfig qc pass: unicast+mvpn over bgp with additional path qc pass: unicast+mdt over bgp with additional path qc pass: unicast+flowspec over bgp with additional path qc pass: unicast+flowspecvpn over bgp with additional path qc pass: evpn/vxlan over ebgp qc pass: evpn/vxlan over ibgp qc pass: evpn/vxlan over bgp additional path qc pass: evpn/vxlan over ibgp rr qc pass: evpn/vxlan over confed bgp qc pass: evpn/vxlan over bgp route server qc pass: multisite evpn/vxlan over ibgp rr qc pass: ethersite evpn/vxlan over ibgp qc pass: evpn/vxlan over bgp with soft-reconfig qc pass: unicast+evpn/vxlan over bgp qc pass: unicast+evpn/vxlan over bgp with soft-reconfig qc pass: unicast+evpn/vxlan over bgp additional path qc pass: evpn/vxlan over bgp auto mesh tunnel qc pass: evpn/pbb+vpls/vxlan over ebgp qc pass: evpn/cmac over ebgp qc pass: evpn/cmac over ibgp qc pass: evpn/cmac over bgp additional path qc pass: evpn/cmac over ibgp rr qc pass: evpn/cmac over confed bgp qc pass: evpn/cmac over bgp route server qc pass: multisite evpn/cmac over ibgp rr qc pass: ethersite evpn/cmac over ibgp qc pass: evpn/cmac over bgp with soft-reconfig qc pass: unicast+evpn/cmac over bgp qc pass: unicast+evpn/cmac over bgp with soft-reconfig qc pass: unicast+evpn/cmac over bgp additional path qc pass: evpn/cmac over bgp auto mesh tunnel qc pass: evpn/pbb+vpls/cmac over ebgp qc pass: ibgp with ttl-security qc pass: ebgp with ttl-security todo: reload vdc asdf looping as experimental!!! todo: bdi infrastructure, service instances, etc todo: ncp close should honored again todo: vdc tree drawing todo: reenable which elliptic courves? sure? why that? todo: https://tools.ietf.org/html/draft-ietf-tn3270e-telnet-tls-06 todo: parse privilege levels from radius and tacacs todo: ldap client, server todo: tunnel autobandwidth todo: bgp compare should write out that which attributes changed todo: bfd need to send with ttl=255 todo: attach line not working anymore, try with deactivation and attach todo: trustpoint for certificates todo: more level of config sections todo: tab for deb pro o?-->ospf[4/6] todo: interface name tabbing todo: show upgrade todo: reenabling of routing protocols fails todo: int eth1/int eth2 todo: dhcp relay support todo: sslvpn client, server todo: dlsw client, server todo: tcp selective ack todo: xot, x75 switching todo: preallocate qos buffers todo: lisp4, lisp6 todo: l2vpn for isis todo: hip (rfc4423) todo: more show commands todo: more clear commands todo: more interactive tools todo: arpwatch for ipv4/6 todo: igmp4/6 snoop, pim4/6 snoop for bridging todo: multilink ppp, fr todo: x25 todo: default vrf for show commands ---------------------------------- 2016-07-30 09:51:43 no todo: dlsw client, server qc pass: dlsw over ipv4 qc pass: dlsw over ipv6 qc pass: dlsw over loopback qc pass: hdlc tunneling with dlsw qc pass: ppp tunneling with dlsw qc pass: lapb tunneling with dlsw qc pass: framerelay tunneling with dlsw qc pass: atmdxi tunneling with dlsw qc pass: isdn tunneling with dlsw qc pass: ethernet tunneling with dlsw qc pass: vlan tunneling with dlsw qc pass: tunnel interface with dlsw qc pass: cross connect interworking with dlsw ---------------------------------- 2016-08-21 09:13:33 no qc pass: bridged ethernet over bridge no qc pass: bridge with spantree no qc pass: bridged ethernet over gre no qc pass: bridged ethernet over atmsar no qc pass: bridged ethernet over atmdxi no qc pass: bridged ethernet over framerelay no qc pass: bridged ethernet over ppp no qc pass: bridged ethernet over hdlc no qc pass: star bridged ethernet no qc pass: chain bridged ethernet vlan no qc pass: chain bridged ethernet no qc pass: isdn with ax25 no qc pass: atmdxi with ax25 no qc pass: framerelay with ax25 no qc pass: lapb with ax25 no qc pass: hdlc with ax25 no qc pass: ppp with ax25 no qc pass: atmsar encapsulation no qc pass: atmdxi encapsulation no qc pass: dummy test no work: dummy test no work: atmdxi encapsulation no work: atmsar encapsulation no work: ppp with ax25 no work: hdlc with ax25 no work: lapb with ax25 no work: framerelay with ax25 no work: atmdxi with ax25 no work: isdn with ax25 no work: chain bridged ethernet no work: chain bridged ethernet vlan no work: star bridged ethernet no work: bridged ethernet over hdlc no work: bridged ethernet over ppp no work: bridged ethernet over framerelay no work: bridged ethernet over atmdxi no work: bridged ethernet over atmsar no work: bridged ethernet over gre no work: bridge with spantree no work: bridged ethernet over bridge todo: sh ipv4 isis 100 data 2 doesn't work anymore too nicely...:) todo: ctunnel interface which is the same as tunnel interface --> interface aliasing... ---------------------------------- 2016-08-23 00:05:36 no todo: sh ipv4 isis 100 data 2 doesn't work anymore too nicely...:) qc pass: dummy test qc pass: atmdxi encapsulation qc pass: atmsar encapsulation qc pass: ppp with ax25 qc pass: hdlc with ax25 qc pass: lapb with ax25 qc pass: framerelay with ax25 qc pass: atmdxi with ax25 qc pass: isdn with ax25 qc pass: chain bridged ethernet qc pass: chain bridged ethernet vlan qc pass: star bridged ethernet qc pass: bridged ethernet over hdlc qc pass: bridged ethernet over ppp qc pass: bridged ethernet over framerelay qc pass: bridged ethernet over atmdxi qc pass: bridged ethernet over atmsar qc pass: bridged ethernet over gre qc pass: bridge with spantree qc pass: bridged ethernet over bridge todo: interface range command... todo: sh ipv4 isis 100 data 2 doesn't work anymore too nicely... ---------------------------------- 2016-09-10 11:54:49 todo: mpls label security ---------------------------------- 2017-02-19 22:32:48 qc pass: bgp filtering with large community qc pass: bgp filtering with large community with soft-reconfig qc pass: bgp change in large community qc pass: bgp change in large community with soft-reconfig ---------------------------------- 2017-03-10 08:59:52 qc pass: udpgre over ipv4 qc pass: udpgre over ipv6 qc pass: udpgre over udpgre qc pass: udpgre over loopback ---------------------------------- 2017-03-17 08:33:22 no todo: vdc tree drawing no todo: ctunnel interface which is the same as tunnel interface --> interface aliasing... no todo: sh ipv4 isis 100 data 2 doesn't work anymore too nicely... no qc pass: rip metric no qc pass: pvrp metric qc pass: babel triangle connection qc pass: bgp triangle connection qc pass: eigrp triangle connection qc pass: isis triangle connection qc pass: lsrp triangle connection qc pass: ospf triangle connection qc pass: pvrp incoming metric qc pass: pvrp outgoing metric qc pass: pvrp triangle connection qc pass: rip incoming metric qc pass: rip outgoing metric qc pass: rip triangle connection ---------------------------------- 2017-03-18 21:48:24 no qc pass: rip outgoing metric no qc pass: rip incoming metric no qc pass: pvrp outgoing metric no qc pass: pvrp incoming metric qc pass: ingress dscp matching access list qc pass: egress dscp matching access list qc pass: ingress precedence matching access list qc pass: egress precedence matching access list qc pass: ingress length matching access list qc pass: egress length matching access list qc pass: pvrp incoming interface metric qc pass: pvrp outgoing interface metric qc pass: pvrp incoming routemap metric qc pass: pvrp outgoing routemap metric qc pass: rip incoming interface metric qc pass: rip outgoing interface metric qc pass: rip incoming routemap metric qc pass: rip outgoing interface metric ---------------------------------- 2017-04-05 21:43:35 no todo: tab for deb pro o?-->ospf[4/6] qc pass: rip outgoing routemap metric ---------------------------------- 2017-04-08 06:05:36 qc pass: redistribution filtering with hierarchical routemap ---------------------------------- 2017-04-09 21:42:35 no todo: reenabling of routing protocols fails no qc pass: eigrp delay no qc pass: bgp filtering with large community with soft-reconfig no qc pass: bgp filtering with large community no qc pass: bgp filtering with bandwidth with soft-reconfig no qc pass: bgp filtering with aigp with soft-reconfig no qc pass: bgp filtering with extended community with soft-reconfig no qc pass: bgp filtering with aspath with soft-reconfig no qc pass: bgp filtering with standard community with soft-reconfig no qc pass: bgp filtering with metric with soft-reconfig no qc pass: bgp filtering with origin with soft-reconfig no qc pass: bgp filtering with locpref with soft-reconfig no qc pass: ebgp with nexthop tracking no qc pass: bgp filtering with bandwidth no qc pass: bgp filtering with aigp no qc pass: bgp filtering with extended community no qc pass: bgp filtering with aspath no qc pass: bgp filtering with standard community no qc pass: bgp filtering with metric no qc pass: bgp filtering with origin no qc pass: bgp filtering with locpref no qc pass: babel triangle connection no qc pass: babel metric qc pass: babel incoming metric with routemap no work: babel triangle connection qc pass: babel ingress route filtering with routepolicy qc pass: babel egress route filtering with routepolicy qc pass: babel outgoing metric with routemap qc pass: babel incoming metric with routepolicy qc pass: babel outgoing metric with routepolicy qc pass: babel incoming interface metric qc pass: babel outgoing interface metric qc pass: bgp routemap filtering with locpref qc pass: bgp routemap filtering with origin qc pass: bgp routemap filtering with metric qc pass: bgp routemap filtering with standard community qc pass: bgp routemap filtering with aspath qc pass: bgp routemap filtering with extended community qc pass: bgp routemap filtering with aigp qc pass: bgp routemap filtering with bandwidth no work: ebgp with nexthop tracking qc pass: bgp routemap filtering with locpref with soft-reconfig qc pass: bgp routemap filtering with origin with soft-reconfig qc pass: bgp routemap filtering with metric with soft-reconfig qc pass: bgp routemap filtering with standard community with soft-reconfig qc pass: bgp routemap filtering with aspath with soft-reconfig qc pass: bgp routemap filtering with extended community with soft-reconfig qc pass: bgp routemap filtering with aigp with soft-reconfig qc pass: bgp routemap filtering with bandwidth with soft-reconfig qc pass: bgp routemap filtering with large community qc pass: bgp routemap filtering with large community with soft-reconfig qc pass: bgp routemap filtering with aspath length qc pass: bgp routepolicy filtering with aspath length qc pass: bgp routemap filtering with aspath length witt soft-reconfig qc pass: bgp routepolicy filtering with aspath length with soft-reconfig qc pass: bgp ingress route filtering with routepolicy qc pass: bgp egress route filtering with routepolicy qc pass: bgp routepolicy filtering with locpref qc pass: bgp routepolicy filtering with origin qc pass: bgp routepolicy filtering with metric qc pass: bgp routepolicy filtering with aspath qc pass: bgp routepolicy filtering with extended community qc pass: bgp routepolicy filtering with aigp qc pass: bgp routepolicy filtering with bandwidth qc pass: bgp ingress route filtering with routepolicy with soft-reconfig qc pass: bgp egress route filtering with routepolicy with soft-reconfig qc pass: bgp routepolicy filtering with locpref with soft-reconfig qc pass: bgp routepolicy filtering with origin with soft-reconfig qc pass: bgp routepolicy filtering with metric with soft-reconfig qc pass: bgp routepolicy filtering with standard community with soft-reconfig qc pass: bgp routepolicy filtering with aspath with soft-reconfig qc pass: bgp routepolicy filtering with extended community with soft-reconfig qc pass: bgp routepolicy filtering with aigp with soft-reconfig qc pass: bgp routepolicy filtering with bandwidth with soft-reconfig qc pass: bgp routepolicy filtering with large community qc pass: bgp routepolicy filtering with large community with soft-reconfig qc pass: eigrp ingress delay qc pass: eigrp ingress route filtering with routepolicy qc pass: eigrp egress route filtering with routepolicy qc pass: eigrp egress delay qc pass: isis inter level ingress filtering with routepolicy qc pass: isis inter level egress filtering with routepolicy qc pass: lsrp route filtering with routepolicy qc pass: ospf inter area ingress filtering with routepolicy qc pass: ospf inter area egress filtering with routepolicy qc pass: pvrp incoming routepolicy metric qc pass: pvrp outgoing routepolicy metric qc pass: pvrp ingress route filtering with routepolicy qc pass: pvrp egress route filtering with routepolicy qc pass: redistribution filtering with routepolicy qc pass: redistribution filtering with hierarchical routepolicy qc pass: rip ingress route filtering with routepolicy qc pass: rip egress route filtering with routepolicy qc pass: rip incoming routepolicy metric qc pass: rip outgoing routepolicy metric ---------------------------------- 2017-04-10 07:54:28 no qc pass: ibgp with nexthop tracking qc pass: babel triangle connection qc pass: ebgp with nexthop tracking routemap qc pass: ibgp with nexthop tracking routemap qc pass: ebgp with nexthop tracking routepolicy qc pass: ibgp with nexthop tracking routepolicy ---------------------------------- 2017-04-21 05:06:25 no todo: reload vdc asdf looping as experimental!!! no todo: interface range command... qc pass: event manager todo: interface range command todo: reload vdc asdf looping as experimental ---------------------------------- 2017-04-23 15:34:27 qc pass: ppp over pckoudp pwhe qc pass: ethernet over pckoudp pwhe qc pass: ethernet over vxlan pwhe qc pass: ethernet over geneve pwhe qc pass: ethernet over erspan pwhe qc pass: ethernet over dlsw pwhe qc pass: ethernet over etherip pwhe qc pass: ethernet over uti pwhe qc pass: ethernet over nvgre pwhe qc pass: ppp over greppp pwhe qc pass: ppp over ax25 pwhe qc pass: ppp over l2tp3 pwhe qc pass: ethernet over l2tp3 pwhe qc pass: ppp over mpls pwhe qc pass: ethernet over mpls pwhe ---------------------------------- 2017-04-29 16:31:58 qc pass: ip over anyconnect qc pass: ppp over l2f pwhe qc pass: ppp over l2tp2 pwhe ---------------------------------- 2017-05-02 20:36:59 qc pass: openvpn over ipv4 qc pass: openvpn over ipv6 qc pass: openvpn over openvpn qc pass: openvpn over loopback qc pass: openvpn with des qc pass: openvpn with blowfish qc pass: openvpn with 3des qc pass: openvpn with aes128 qc pass: openvpn with aes192 qc pass: openvpn with aes256 qc pass: openvpn with md5 qc pass: openvpn with sha1 qc pass: openvpn with sha256 qc pass: openvpn with sha512 qc pass: static routing with interface ---------------------------------- 2017-05-07 09:28:00 qc pass: sep with ax25 qc pass: sep tunneling with dlsw qc pass: sep tunneling with erspan qc pass: sep tunneling with etherip qc pass: sep tunneling with geneve qc pass: sep with gre qc pass: sep over l2tp3 qc pass: sep tunneling with l2tp3 qc pass: sep tunneling with nvgre qc pass: sep tunneling with packet over udp qc pass: sep qc pass: sep tunneling with uti qc pass: sep tunneling with vxlan qc pass: cross connect sep interfaces qc pass: sep over mpls qc pass: sep tunneling with mpls ---------------------------------- 2017-05-09 19:58:11 no todo: sslvpn client, server no qc pass: ethernet over pckoudp pwhe no qc pass: ppp over pckoudp pwhe qc pass: ppp over packet over udp pwhe qc pass: ethernet over packet over udp pwhe ---------------------------------- 2017-05-14 13:30:33 qc pass: openflow: software routing qc pass: openflow: ip routing qc pass: openflow: mpls routing ---------------------------------- 2017-05-16 08:49:26 qc pass: openflow: bridging and routing ---------------------------------- 2017-05-18 12:28:14 qc pass: slaac qc pass: ppp over pptp pwhe ---------------------------------- 2017-05-20 12:52:56 qc pass: openflow: multicast routing qc pass: openflow: mldp routing ---------------------------------- 2017-05-27 11:38:45 qc pass: olsr on one subnet qc pass: olsr in chain qc pass: olsr ingress route filtering with prefixlist qc pass: olsr egress route filtering with prefixlist qc pass: olsr ingress route filtering with routemap qc pass: olsr egress route filtering with routemap qc pass: olsr ingress route filtering with routepolicy qc pass: olsr egress route filtering with routepolicy qc pass: olsr max metric qc pass: olsr address suppression qc pass: olsr default route qc pass: olsr incoming interface metric qc pass: olsr outgoing interface metric qc pass: olsr incoming metric with routemap qc pass: olsr outgoing metric with routemap qc pass: olsr incoming metric with routepolicy qc pass: olsr outgoing metric with routepolicy qc pass: olsr with bfd qc pass: olsr peer template qc pass: olsr prefix withdraw qc pass: olsr aggregation qc pass: olsr auto mesh tunnel qc pass: olsr triangle connection qc pass: redistribution with olsr ---------------------------------- 2017-07-07 10:07:22 no qc pass: interop: bgp vpn qc pass: interop: bgp vpnv4 qc pass: interop: bgp vpnv6 qc pass: othervpn over ebgp qc pass: othervpns over ibgp qc pass: othervpns over bgp additional path qc pass: othervpns over ibgp rr qc pass: othervpns over confed bgp qc pass: othervpns over bgp route server qc pass: multisite othervpns over ibgp rr qc pass: ethersite othervpns over ibgp qc pass: othervpns over bgp with soft-reconfig qc pass: unicast+othervpns over bgp qc pass: unicast+othervpns over bgp with soft-reconfig qc pass: unicast+othervpns over bgp additional path qc pass: othervpns over bgp auto mesh tunnel ---------------------------------- 2017-07-08 13:16:34 qc pass: unicast+vpnmul over bgp qc pass: unicast+vpnmul over bgp with soft-reconfig qc pass: unicast+vpnmul over bgp with additional path ---------------------------------- 2017-07-10 09:37:59 no qc pass: bgp routemap filtering with aspath length witt soft-reconfig qc pass: bgp routemap filtering with aspath length with soft-reconfig qc pass: multicast between pim and mldp ---------------------------------- 2017-07-11 12:15:12 qc pass: multicast vpn routing with mldp qc pass: multicast vpn between pim and mldp ---------------------------------- 2017-07-11 22:00:42 qc pass: unicast+othermvpn over bgp qc pass: unicast+othermvpn over bgp with soft-reconfig qc pass: unicast+othermvpn over bgp with additional path qc pass: unicast+otherflowspecvpn over bgp qc pass: unicast+otherflowspecvpn over bgp with soft-reconfig qc pass: unicast+otherflowspecvpn over bgp with additional path qc pass: unicast+othervpnmul over bgp qc pass: unicast+othervpnmul over bgp with soft-reconfig qc pass: unicast+othervpnmul over bgp with additional path qc pass: multicast othervpn routing with mldp qc pass: multicast othervpn between pim and mldp ---------------------------------- 2017-07-12 17:38:06 qc pass: proxy arp/nd qc pass: unicast+multicast over bgp qc pass: unicast+multicast over bgp with soft-reconfig qc pass: unicast+multicast over bgp with additional path qc pass: bgp csc vpn qc pass: multicast routing ttl treshold qc pass: multicast routing decoupled from unicast ---------------------------------- 2017-07-17 20:25:07 no qc pass: othervpn over ebgp no qc pass: proxy arp/nd qc pass: proxy remote arp/nd qc pass: proxy local arp/nd qc pass: othervpns over ebgp qc pass: unicast+other over bgp qc pass: unicast+other over bgp with soft-reconfig qc pass: unicast+other over bgp with additional path ---------------------------------- 2017-07-20 10:38:43 qc pass: ebgp prefix movement qc pass: confed bgp prefix movement qc pass: ibgp rr prefix movement qc pass: bgp route server prefix movement qc pass: ibgp conquer rr prefix movement qc pass: ibgp fullmesh prefix movement qc pass: ebgp prefix movement with soft-reconfig qc pass: confed bgp prefix movement with soft-reconfig qc pass: ibgp rr prefix movement with soft-reconfig qc pass: bgp route server prefix movement with soft-reconfig qc pass: ibgp conquer rr prefix movement with soft-reconfig qc pass: ibgp fullmesh prefix movement with soft-reconfig qc pass: isis prefix movement qc pass: lsrp prefix movement qc pass: ospf prefix movement qc pass: pvrp prefix movement ---------------------------------- 2017-07-22 05:26:47 qc pass: bgp csc othervpn qc pass: redistribution with bgp othervpn ---------------------------------- 2017-07-23 12:02:17 qc pass: bgp prefix hammering qc pass: redistribution prefix withdraw qc pass: redistribution change in metric qc pass: redistribution prefix movement ---------------------------------- 2017-07-25 05:00:28 qc pass: bgp csc vpn with ldp qc pass: bgp csc othervpn with ldp ---------------------------------- 2017-07-27 07:33:15 qc pass: unicast+mspw over bgp qc pass: unicast+mspw over bgp with soft-reconfig qc pass: unicast+mspw over bgp with additional path ---------------------------------- 2017-07-29 15:45:39 qc pass: bgp with segment routing ---------------------------------- 2017-08-06 13:31:14 qc pass: ebgp vpn client qc pass: ibgp vpn client qc pass: ebgp vpn client with soft-reconfig qc pass: ibgp vpn client with soft-reconfig qc pass: bgp symmetric compression qc pass: bgp asymmetric compression ---------------------------------- 2017-08-10 15:04:10 qc pass: bgp none compression qc pass: bgp prefix packing ---------------------------------- 2017-09-19 07:21:14 no todo: arpwatch for ipv4/6 ---------------------------------- 2017-10-06 18:17:58 qc pass: ingress label filtering with ldp qc pass: egress label filtering with ldp qc pass: vrf label filtering with ldp ---------------------------------- 2017-10-11 21:23:24 qc pass: recursive dns server ---------------------------------- 2017-10-14 08:16:37 no todo: mpls label security ---------------------------------- 2017-10-18 14:07:20 qc pass: qos ingress ttl set qc pass: qos egress ttl set qc pass: ebgp with nexthop tracking interface qc pass: ibgp with nexthop tracking interface ---------------------------------- 2017-10-30 15:35:10 qc pass: bier in chain qc pass: bier in star qc pass: bier in dense chain qc pass: bier in dense star qc pass: bier on multiple si qc pass: bier on mixed si qc pass: bier with 64b bsl qc pass: bier with 128b bsl qc pass: bier with 256b bsl qc pass: bier with 512b bsl qc pass: bier with 1k bsl qc pass: bier with 2k bsl qc pass: bier with 4k bsl qc pass: segment routing in chain qc pass: segment routing in star qc pass: te over segment routing qc pass: pwe over segment routing qc pass: lsrp with bier ---------------------------------- 2017-10-31 20:50:26 qc pass: backup bundle ---------------------------------- 2017-11-02 16:39:45 qc pass: multicast routing with pim join source qc pass: multicast routing with pim over bier qc pass: multicast between pim and pim over bier ---------------------------------- 2017-11-03 17:52:41 qc pass: bgp with labels and segment routing qc pass: vpns over bgp with segment routing qc pass: othervpns over bgp with segment routing qc pass: bgp with segment routing ---------------------------------- 2017-11-04 17:48:07 no qc pass: othervpns over bgp with segment routing no qc pass: vpns over bgp with segment routing no qc pass: bgp with labels and segment routing qc pass: bgp with labels over segment routing qc pass: vpns over bgp over segment routing qc pass: othervpns over bgp over segment routing ---------------------------------- 2017-11-05 14:56:51 qc pass: bier over broadcast subnet qc pass: segment routing over broadcast subnet ---------------------------------- 2017-11-06 14:06:48 qc pass: mixed protocol over bier qc pass: mpls over bier qc pass: bgp with bier qc pass: isis with bier qc pass: isis inter-level with bier qc pass: isis multi-topology with bier qc pass: ospf with bier qc pass: ospf transit area with bier ---------------------------------- 2017-12-07 09:28:36 no qc pass: ldp over ppp no work: ldp over ppp ---------------------------------- 2017-12-07 21:38:51 no todo: ncp close should honored again qc pass: ldp over ppp ---------------------------------- 2017-12-19 12:12:12 no todo: new release signing key ---------------------------------- 2018-01-06 23:12:45 qc pass: policy routing with nexthop qc pass: policy routing with interface and nexthop between vrfs qc pass: policy routing with interface and nexthop qc pass: policy routing with interface and nexthop between vrfs qc pass: policy routing between vrfs with routing qc pass: policy routing with nexthop on interface ---------------------------------- 2018-01-15 06:20:44 qc pass: bgp routemap filtering with rd qc pass: bgp routepolicy filtering with rd qc pass: bgp routemap filtering with rd with soft-reconfig qc pass: bgp routepolicy filtering with rd with soft-reconfig qc pass: policy routing with interface and nexthop between vrfs ---------------------------------- 2018-01-16 06:59:54 qc pass: policy routing with nexthop on interface between vrfs ---------------------------------- 2018-02-03 06:28:42 qc pass: bgp routemap filtering with afi qc pass: bgp routepolicy filtering with afi qc pass: bgp routemap filtering with afi with soft-reconfig qc pass: bgp routepolicy filtering with afi with soft-reconfig ---------------------------------- 2018-02-11 21:05:55 no qc pass: rip auto mesh tunnel no qc pass: pvrp auto mesh tunnel no qc pass: ospf auto mesh tunnel no qc pass: olsr auto mesh tunnel no qc pass: lsrp auto mesh tunnel no qc pass: isis auto mesh tunnel no qc pass: eigrp auto mesh tunnel no qc pass: bgp auto mesh tunnel no qc pass: babel auto mesh tunnel no work: babel auto mesh tunnel no work: bgp auto mesh tunnel no work: eigrp auto mesh tunnel no work: isis auto mesh tunnel no work: lsrp auto mesh tunnel no work: olsr auto mesh tunnel no work: ospf auto mesh tunnel no work: pvrp auto mesh tunnel no work: rip auto mesh tunnel todo: todo: safe=1000: todo: todo: lenovo=9: todo: todo: player=99: todo: todo: automesh to the end of route table calculator todo: rename taba to tabu in route table calculator todo: optimize redistributed routes too at notifyrouters todo: ospf and isis missed notifications, schedwork/run use syncint todo: lsrp to use syncint as todo todo: statistics for redistribution todo: show commands for redistribution todo: route table calculation must not merge distance>255 ---------------------------------- 2018-02-12 18:20:36 no todo: route table calculation must not merge distance>255 no todo: show commands for redistribution no todo: statistics for redistribution no todo: lsrp to use syncint as todo no todo: ospf and isis missed notifications, schedwork/run use syncint no todo: optimize redistributed routes too at notifyrouters no todo: rename taba to tabu in route table calculator no todo: automesh to the end of route table calculator no todo: player=99: no todo: lenovo=9: no todo: safe=1000: no todo: reload vdc asdf looping as experimental qc pass: babel auto mesh tunnel qc pass: bgp auto mesh tunnel qc pass: eigrp auto mesh tunnel qc pass: isis auto mesh tunnel qc pass: lsrp auto mesh tunnel qc pass: olsr auto mesh tunnel qc pass: ospf auto mesh tunnel qc pass: pvrp auto mesh tunnel qc pass: rip auto mesh tunnel todo: reload vdc/process asdf stop/start todo: todo: done: player/99: rout-ospf37.tst: no work: ospf prefix movement todo: done: ospf and isis missed notifications, schedwork/run todo use syncint todo: done: lsrp to use syncint as todo todo: done: tester should collect tracebacks todo: done: show commands for redistributed, computed todo: done: statistics for redistribution todo: done: optimize redistributed routes too at notifyrouters todo: done: rename taba to tabu in route table calculator todo: done: isakmp bug todo: done: a lot of: tab.tabGenV2.doGet:tabGenV2.java:266/tab.tabGenV2.doFind:tabGenV2.java:215/tab.tabGenV2.find:tabGenV2.java:147 todo: done: a lot of: tab.tabGenV2.doGet:tabGenV2.java:266/tab.tabGenV2.get:tabGenV2.java:135 todo: done: automesh to the end of route table calculator todo: done: route table calculation must not merge distance>255 todo: todo: try: boxing size, begin, data to a class todo: try: dofind: first find the block, then the entry within the block todo: todo: safe/1000: todo: todo: lenovo/9: todo: todo: player/99: ---------------------------------- 2018-02-13 20:48:59 no todo: player/99: no todo: lenovo/9: no todo: safe/1000: no todo: try: dofind: first find the block, then the entry within the block no todo: try: boxing size, begin, data to a class no todo: reload vdc/process asdf stop/start todo: done: reload vdc/process asdf stop/start todo: done: mcast bug todo: done: dofind: first find the block, then the entry within the block todo: done: pipeline unsync per byte actions todo: todo: sleep exec/tcl commands todo: buffer config to forwarder/loadbalancer todo: spf should give topology checksum by adding outputs and invoking String.hashCode() todo: todo: tests: todo: done=2,3,1000 todo: lenovo= todo: player= todo: safe= ---------------------------------- 2018-02-14 18:50:10 no todo: safe= no todo: player= no todo: lenovo= no todo: done=2,3,1000 no todo: spf should give topology checksum by adding outputs and invoking String.hashCode() no todo: buffer config to forwarder/loadbalancer no todo: sleep exec/tcl commands todo: done: spf should give topology checksum by adding outputs and invoking String.hashCode() todo: done: buffer config to forwarder/loadbalancer todo: done: sleep exec/tcl commands todo: done: tester parameter for jvm memory todo: done: move route table checker to tabroute todo: done: flood topology summary in lsrp todo: todo: done=2,3,9,13,17,50,99,500,1000 todo: lenovo=4000 todo: player=250 todo: safe=2000 ---------------------------------- 2018-02-15 07:02:16 no todo: safe=2000 no todo: player=250 no todo: lenovo=4000 no todo: done=2,3,9,13,17,50,99,500,1000 no todo: tests: no todo: no todo: done: flood topology summary in lsrp no todo: done: move route table checker to tabroute no todo: done: tester parameter for jvm memory no todo: done: sleep exec/tcl commands no todo: done: buffer config to forwarder/loadbalancer no todo: done: spf should give topology checksum by adding outputs and invoking String.hashCode() no todo: done: pipeline unsync per byte actions no todo: done: dofind: first find the block, then the entry within the block no todo: done: route table calculation must not merge distance>255 no todo: done: automesh to the end of route table calculator no todo: done: a lot of: tab.tabGenV2.doGet:tabGenV2.java:266/tab.tabGenV2.get:tabGenV2.java:135 no todo: done: a lot of: tab.tabGenV2.doGet:tabGenV2.java:266/tab.tabGenV2.doFind:tabGenV2.java:215/tab.tabGenV2.find:tabGenV2.java:147 no todo: done: mcast bug no todo: done: isakmp bug no todo: done: rename taba to tabu in route table calculator no todo: done: optimize redistributed routes too at notifyrouters no todo: done: statistics for redistribution no todo: done: show commands for redistributed, computed no todo: done: tester should collect tracebacks no todo: done: lsrp to use syncint as todo no todo: done: ospf and isis missed notifications, schedwork/run todo use syncint no todo: done: player/99: rout-ospf37.tst: no work: ospf prefix movement no todo: done: reload vdc/process asdf stop/start no todo: ---------------------------------- 2018-02-16 09:31:21 qc pass: bgp hard reset qc pass: bgp hard reset with soft-reconfig qc pass: bgp soft in reset qc pass: bgp soft in reset with soft-reconfig qc pass: bgp soft out reset qc pass: bgp soft out reset with soft-reconfig ---------------------------------- 2018-02-17 06:17:24 no todo: show upgrade no todo: more level of config sections no todo: attach line not working anymore, try with deactivation and attach no todo: tunnel autobandwidth no todo: bdi infrastructure, service instances, etc ---------------------------------- 2018-02-18 17:56:39 qc pass: bridged evcs over ethernet qc pass: bridged evcs over hdlc qc pass: bridged evcs over gre qc pass: bridged evcs and subif qc pass: bridged evcs and main qc pass: xconnect evcs terminated on xconnects qc pass: xconnect evcs terminated on pwhes qc pass: xconnect terminated on pwhe subifs qc pass: xconnect terminated on pwhe bridged evcs qc pass: xconnect terminated on pwhe xconnect evcs ---------------------------------- 2018-02-19 06:39:13 qc pass: bridge split horizon qc pass: bridge mac learning ---------------------------------- 2018-02-27 16:37:00 qc pass: interop: vpls/ldp over bgp qc pass: interop: vpls/bgp over bgp qc pass: interop: isis p2mp te qc pass: interop: isis sr qc pass: interop: ldp p2mp lsp qc pass: interop: ldp mp2mp lsp qc pass: interop: ospf p2mp te qc pass: interop: ospf sr ---------------------------------- 2018-03-04 12:42:07 qc pass: cross connect vlan subinterfaces qc pass: cross connect vlan subinterfaces of same interface ---------------------------------- 2018-03-06 20:16:04 qc pass: source prefix translation qc pass: target prefix translation todo: remote tester ---------------------------------- 2018-03-09 08:26:10 no qc pass: sipmodem server qc pass: modem with alaw qc pass: modem with ulaw qc pass: modem with alaw through proxy qc pass: modem with ulaw through proxy qc pass: modem with alaw through peer qc pass: modem with ulaw through peer ---------------------------------- 2018-03-12 03:32:27 qc pass: modem with alaw and ulaw through peer ---------------------------------- 2018-03-29 21:33:31 qc pass: ingress destination matching hibryd access list qc pass: egress destination matching hibryd access list qc pass: ingress source matching hibryd access list qc pass: egress source matching hibryd access list ---------------------------------- 2018-04-04 18:28:09 qc pass: static arp/nd entry qc pass: interop: vxlan tunnel ---------------------------------- 2018-04-06 14:44:46 qc pass: xconnect evcs terminated on vpdns qc pass: nsh over ethernet qc pass: nsh over ethernet vlan qc pass: nsh over ethernet bridge qc pass: nsh over hdlc qc pass: nsh over ppp qc pass: nsh over framerelay qc pass: nsh over atmdxi qc pass: nsh over gre qc pass: nsh chain qc pass: nsh loop qc pass: nsh switch qc pass: nsh ip qc pass: nsh mix of ip and ethernet ---------------------------------- 2018-04-08 19:21:59 qc pass: modem through ipv4 peer qc pass: modem through ipv6 peer qc pass: modem through udp peer qc pass: modem through tcp peer ---------------------------------- 2018-04-11 04:57:27 no todo: remote tester qc pass: pckoip over ipv4 qc pass: pckoip over ipv6 qc pass: pckoip over pckoip qc pass: pckoip over loopback qc pass: interop: teszt teszt ---------------------------------- 2018-04-14 17:44:13 no qc pass: interop: teszt teszt no qc pass: interop: vxlan tunnel no qc pass: interop: ipip tunnel no qc pass: interop: gre tunnel no qc pass: interop: tacacs no qc pass: interop: ssh no qc pass: interop: rip authentication no qc pass: interop: rip prefix withdraw no qc pass: interop: rip no qc pass: interop: radius no qc pass: interop: pppoe with eap no qc pass: interop: pppoe with chap no qc pass: interop: pppoe with pap no qc pass: interop: pppoe server no qc pass: interop: pppoe client no qc pass: interop: ospf sr no qc pass: interop: ospf p2mp te no qc pass: interop: ospf authentication no qc pass: interop: ospf prefix withdraw no qc pass: interop: ospf te no qc pass: interop: ospf nssa area no qc pass: interop: ospf stub area no qc pass: interop: ospf transit area no qc pass: interop: ospf nondr no qc pass: interop: ospf dr no qc pass: interop: point2point ospf no qc pass: interop: pim no qc pass: interop: igmp3/mld2 no qc pass: interop: ldp mp2mp lsp no qc pass: interop: ldp p2mp lsp no qc pass: interop: ethernet over mpls no qc pass: interop: ldp lsp no qc pass: interop: ethernet tunneling with l2tp3 no qc pass: interop: l2tp3 server no qc pass: interop: l2tp2 server no qc pass: interop: l2tp2 client no qc pass: interop: isis sr no qc pass: interop: isis p2mp te no qc pass: interop: isis authentication no qc pass: interop: isis prefix withdraw no qc pass: interop: isis multi-topology no qc pass: interop: isis te no qc pass: interop: isis narrow metric no qc pass: interop: isis nondis no qc pass: interop: isis dis no qc pass: interop: point2point isis no qc pass: interop: ike2 with group24 no qc pass: interop: ike2 with group16 no qc pass: interop: ike2 with group15 no qc pass: interop: ike2 with group14 no qc pass: interop: ike2 with group5 no qc pass: interop: ike2 with group2 no qc pass: interop: ike2 with sha512 no qc pass: interop: ike2 with sha256 no qc pass: interop: ike2 with sha1 no qc pass: interop: ike2 with aes256 no qc pass: interop: ike2 with aes192 no qc pass: interop: ike2 with aes128 no qc pass: interop: ike2 with 3des no qc pass: interop: ike2 with ipv6 no qc pass: interop: ike2 with ipv4 no qc pass: interop: ike1 with group24 no qc pass: interop: ike1 with group16 no qc pass: interop: ike1 with group15 no qc pass: interop: ike1 with group14 no qc pass: interop: ike1 with group5 no qc pass: interop: ike1 with group2 no qc pass: interop: ike1 with sha512 no qc pass: interop: ike1 with sha256 no qc pass: interop: ike1 with sha1 no qc pass: interop: ike1 with aes256 no qc pass: interop: ike1 with aes192 no qc pass: interop: ike1 with aes128 no qc pass: interop: ike1 with 3des no qc pass: interop: ike1 with ipv6 no qc pass: interop: ike1 with ipv4 no qc pass: interop: spantree root no qc pass: interop: spantree nonroot no qc pass: interop: dot1q encapsulation no qc pass: interop: ethernet encapsulation no qc pass: interop: eigrp prefix withdraw no qc pass: interop: eigrp no qc pass: interop: dns no qc pass: interop: dhcp client no qc pass: interop: dhcp server no qc pass: interop: vpls/bgp over bgp no qc pass: interop: vpls/ldp over bgp no qc pass: interop: bgp vpnv6 no qc pass: interop: bgp authentication no qc pass: interop: bgp vpnv4 no qc pass: interop: bgp prefix withdraw no qc pass: interop: bgp addpath no qc pass: interop: bgp with labels no qc pass: interop: bgp aspath no qc pass: interop: bgp community no qc pass: interop: bgp metric no qc pass: interop: bgp origin no qc pass: interop: bgp locpref no qc pass: interop: ibgp no qc pass: interop: ebgp qc pass: interop1: ebgp qc pass: interop1: ibgp qc pass: interop1: bgp locpref qc pass: interop1: bgp origin qc pass: interop1: bgp metric qc pass: interop1: bgp community qc pass: interop1: bgp aspath qc pass: interop1: bgp with labels qc pass: interop1: bgp addpath qc pass: interop1: bgp prefix withdraw qc pass: interop1: bgp vpnv4 qc pass: interop1: bgp authentication qc pass: interop1: bgp vpnv6 qc pass: interop1: vpls/ldp over bgp qc pass: interop1: vpls/bgp over bgp qc pass: interop1: bgp extended community qc pass: interop1: dhcp server qc pass: interop1: dhcp client qc pass: interop1: dns qc pass: interop1: eigrp qc pass: interop1: eigrp prefix withdraw qc pass: interop1: ethernet encapsulation qc pass: interop1: dot1q encapsulation qc pass: interop1: spantree nonroot qc pass: interop1: spantree root qc pass: interop1: ike1 with ipv4 qc pass: interop1: ike1 with ipv6 qc pass: interop1: ike1 with 3des qc pass: interop1: ike1 with aes128 qc pass: interop1: ike1 with aes192 qc pass: interop1: ike1 with aes256 qc pass: interop1: ike1 with sha1 qc pass: interop1: ike1 with sha256 qc pass: interop1: ike1 with sha512 qc pass: interop1: ike1 with group2 qc pass: interop1: ike1 with group5 qc pass: interop1: ike1 with group14 qc pass: interop1: ike1 with group15 qc pass: interop1: ike1 with group16 qc pass: interop1: ike1 with group24 qc pass: interop1: ike2 with ipv4 qc pass: interop1: ike2 with ipv6 qc pass: interop1: ike2 with 3des qc pass: interop1: ike2 with aes128 qc pass: interop1: ike2 with aes192 qc pass: interop1: ike2 with aes256 qc pass: interop1: ike2 with sha1 qc pass: interop1: ike2 with sha256 qc pass: interop1: ike2 with sha512 qc pass: interop1: ike2 with group2 qc pass: interop1: ike2 with group5 qc pass: interop1: ike2 with group14 qc pass: interop1: ike2 with group15 qc pass: interop1: ike2 with group16 qc pass: interop1: ike2 with group24 qc pass: interop1: point2point isis qc pass: interop1: isis dis qc pass: interop1: isis nondis qc pass: interop1: isis narrow metric qc pass: interop1: isis te qc pass: interop1: isis multi-topology qc pass: interop1: isis prefix withdraw qc pass: interop1: isis authentication qc pass: interop1: isis p2mp te qc pass: interop1: isis sr qc pass: interop1: l2tp2 client qc pass: interop1: l2tp2 server qc pass: interop1: l2tp3 server qc pass: interop1: ethernet tunneling with l2tp3 qc pass: interop1: ldp lsp qc pass: interop1: ethernet over mpls qc pass: interop1: ldp p2mp lsp qc pass: interop1: ldp mp2mp lsp qc pass: interop1: igmp3/mld2 qc pass: interop1: pim qc pass: interop1: modem with alaw qc pass: interop1: modem with ulaw qc pass: interop1: point2point ospf qc pass: interop1: ospf dr qc pass: interop1: ospf nondr qc pass: interop1: ospf transit area qc pass: interop1: ospf stub area qc pass: interop1: ospf nssa area qc pass: interop1: ospf te qc pass: interop1: ospf prefix withdraw qc pass: interop1: ospf authentication qc pass: interop1: ospf p2mp te qc pass: interop1: ospf sr qc pass: interop1: pppoe client qc pass: interop1: pppoe server qc pass: interop1: pppoe with pap qc pass: interop1: pppoe with chap qc pass: interop1: pppoe with eap qc pass: interop1: radius qc pass: interop1: rip qc pass: interop1: rip prefix withdraw qc pass: interop1: rip authentication qc pass: interop1: ssh qc pass: interop1: tacacs qc pass: interop1: gre tunnel qc pass: interop1: ipip tunnel qc pass: interop1: vxlan tunnel qc pass: interop2: ebgp qc pass: interop2: ibgp qc pass: interop2: bgp locpref qc pass: interop2: bgp origin qc pass: interop2: bgp metric qc pass: interop2: bgp community qc pass: interop2: bgp aspath qc pass: interop2: bgp with labels qc pass: interop2: bgp addpath qc pass: interop2: bgp prefix withdraw qc pass: interop2: bgp vpnv4 qc pass: interop2: bgp authentication qc pass: interop2: bgp vpnv6 qc pass: interop2: vpls/ldp over bgp qc pass: interop2: vpls/bgp over bgp qc pass: interop2: evpn/pbb over bgp qc pass: interop2: bgp extended community qc pass: interop2: bgp large community qc pass: interop2: eigrp qc pass: interop2: eigrp prefix withdraw qc pass: interop2: ethernet encapsulation qc pass: interop2: dot1q encapsulation qc pass: interop2: dot1ad encapsulation qc pass: interop2: point2point isis qc pass: interop2: isis dis qc pass: interop2: isis nondis qc pass: interop2: isis narrow metric qc pass: interop2: isis te qc pass: interop2: isis multi-topology qc pass: interop2: isis prefix withdraw qc pass: interop2: isis authentication qc pass: interop2: isis p2mp te qc pass: interop2: isis sr qc pass: interop2: ldp lsp qc pass: interop2: ethernet over mpls qc pass: interop2: ldp p2mp lsp qc pass: interop2: ldp mp2mp lsp qc pass: interop2: igmp3/mld2 qc pass: interop2: pim qc pass: interop2: point2point ospf qc pass: interop2: ospf dr qc pass: interop2: ospf nondr qc pass: interop2: point2point ospf qc pass: interop2: ospf stub area qc pass: interop2: ospf nssa area qc pass: interop2: ospf te qc pass: interop2: point2point ospf qc pass: interop2: ospf authentication qc pass: interop2: ospf p2mp te qc pass: interop2: ospf sr qc pass: interop2: rip qc pass: interop2: rip prefix withdraw qc pass: interop2: rip authentication qc pass: interop2: gre tunnel qc pass: interop2: ipip tunnel qc pass: interop2: config wiper ---------------------------------- 2018-04-17 11:48:01 qc pass: ethernet over mpls with cw ---------------------------------- 2018-04-20 04:14:57 qc pass: ethernet over mpls pwhe with cw qc pass: cross connect with pwe over mpls with cw ---------------------------------- 2018-05-26 06:14:41 todo: yang over netconf, proto over grpc ---------------------------------- 2018-05-29 08:41:46 qc pass: dummy test todo: yang over netconf, proto over grpc todo: interface range command todo: reenable which elliptic courves? sure? why that? todo: https://tools.ietf.org/html/draft-ietf-tn3270e-telnet-tls-06 todo: parse privilege levels from radius and tacacs todo: ldap client, server todo: bgp compare should write out that which attributes changed todo: bfd need to send with ttl=255 todo: trustpoint for certificates todo: interface name tabbing todo: int eth1/int eth2 todo: dhcp relay support todo: tcp selective ack todo: xot, x75 switching todo: preallocate qos buffers todo: lisp4, lisp6 todo: l2vpn for isis todo: hip (rfc4423) todo: more show commands todo: more clear commands todo: more interactive tools todo: igmp4/6 snoop, pim4/6 snoop for bridging todo: multilink ppp, fr todo: x25 todo: default vrf for show commands ---------------------------------- 2018-05-29 08:44:44 todo: testing123 ---------------------------------- 2018-05-29 08:45:00 no todo: testing123 ---------------------------------- 2018-05-29 08:48:24 no qc pass: dummy test no work: dummy test ---------------------------------- 2018-05-29 08:49:57 qc pass: dummy test ---------------------------------- 2018-05-29 08:51:01 no qc pass: dummy test no work: dummy test ---------------------------------- 2018-05-29 08:53:46 qc pass: dummy test ---------------------------------- 2018-05-29 15:17:30 no qc pass: interop2: point2point ospf no qc pass: interop2: point2point ospf qc pass: interop2: ospf transit area qc pass: interop2: ospf prefix withdraw qc pass: interop9: ebgp qc pass: interop9: ibgp qc pass: interop9: bgp locpref qc pass: interop9: bgp origin qc pass: interop9: bgp metric qc pass: interop9: bgp community qc pass: interop9: ethernet encapsulation qc pass: interop9: dot1q encapsulation qc pass: interop9: point2point isis qc pass: interop9: isis dis qc pass: interop9: isis nondis qc pass: interop9: point2point ospf qc pass: interop9: ospf dr qc pass: interop9: ospf nondr qc pass: interop9: rip qc pass: interop9: config wiper ---------------------------------- 2018-05-31 05:29:56 qc pass: interop9: bgp aspath qc pass: interop9: bgp with labels qc pass: interop9: bgp addpath qc pass: interop9: bgp prefix withdraw qc pass: interop9: bgp vpnv4 qc pass: interop9: bgp authentication qc pass: interop9: bgp vpnv6 qc pass: interop9: vpls/ldp over bgp qc pass: interop9: vpls/bgp over bgp qc pass: interop9: bgp extended community qc pass: interop9: bgp large community qc pass: interop9: isis te qc pass: interop9: isis prefix withdraw qc pass: interop9: isis p2mp te qc pass: interop9: isis sr qc pass: interop9: ldp lsp qc pass: interop9: ethernet over mpls qc pass: interop9: ldp p2mp lsp qc pass: interop9: ldp mp2mp lsp qc pass: interop9: ospf transit area qc pass: interop9: ospf stub area qc pass: interop9: ospf nssa area qc pass: interop9: ospf te qc pass: interop9: ospf prefix withdraw qc pass: interop9: ospf p2mp te qc pass: interop9: ospf sr ---------------------------------- 2018-06-17 15:24:38 todo: ilnp (rfc6740) ---------------------------------- 2018-06-19 13:55:53 todo: online insertion (and never removal) ---------------------------------- 2018-06-21 12:15:45 no todo: online insertion (and never removal) ---------------------------------- 2018-06-24 17:53:40 qc pass: ethernet over packet over udp qc pass: interworking with ethernet over packet over udp ---------------------------------- 2018-07-01 20:49:46 todo: srv6 tunnel todo: test cases for srmpls, srip todo: tunnel states for bier, te, ldp, pwe, ipsec, l2tp todo: ethtyp autostate command todo: ethtyp prec/exp/cos accounting todo: sr, bier tunneling todo: bgp sr policy afi todo: bgp vpns over sr todo: autoroute todo: exp bundle todo: recursive static route todo: pipeline properties, terminal autoresize ---------------------------------- 2018-07-02 13:46:54 no todo: autoroute no todo: bgp sr policy afi no todo: sr, bier tunneling no todo: ethtyp prec/exp/cos accounting no todo: ethtyp autostate command no todo: tunnel states for bier, te, ldp, pwe, ipsec, l2tp no todo: test cases for srmpls, srip no todo: srv6 tunnel todo: test cases for srmpls, srext todo: tunnel states for bier, te, pwe, ipsec, l2tp todo: remove states where possible from cfgIfc's = "" + tunTrg; todo: tunnel templates, more srv6 like modes with ipip, gre todo: mpls rx/tx only, sending-interface todo: autoroute with sr, bier support todo: bgp sr-policy afi todo: interface autostate command todo: ethtyp prec/exp/cos and protocol accounting ---------------------------------- 2018-07-03 19:36:23 no todo: ethtyp prec/exp/cos and protocol accounting no todo: interface autostate command no todo: mpls rx/tx only, sending-interface no todo: tunnel templates, more srv6 like modes with ipip, gre no todo: remove states where possible from cfgIfc's = "" + tunTrg; no todo: tunnel states for bier, te, pwe, ipsec, l2tp no todo: test cases for srmpls, srext todo: test cases for srmpls, srext, mpls redir todo: servers for ipip, gre, mplsudp, mplsip ---------------------------------- 2018-07-07 12:33:28 no todo: test cases for srmpls, srext, mpls redir todo: test cases for "srmpls", "srext", anycast prefix-sid, "mpls redir" ---------------------------------- 2018-07-08 20:30:56 no todo: exp bundle no todo: test cases for "srmpls", "srext", anycast prefix-sid, "mpls redir" no qc pass: ospf transit area with segment routing no qc pass: ospf with segment routing no qc pass: lsrp with segment routing no qc pass: isis multi-topology with segment routing no qc pass: isis inter-level with segment routing no qc pass: isis with segment routing no qc pass: bgp with segment routing no qc pass: segment routing over broadcast subnet no qc pass: othervpns over bgp over segment routing no qc pass: vpns over bgp over segment routing no qc pass: bgp with labels over segment routing no qc pass: bgp over segment routing no qc pass: pwe over segment routing no qc pass: te over segment routing no qc pass: segment routing in star no qc pass: segment routing in chain qc pass: mpls expbundle qc pass: mpls redirection qc pass: sr in chain qc pass: sr in star qc pass: te over sr qc pass: pwe over sr qc pass: bgp over sr qc pass: bgp with labels over sr qc pass: vpns over bgp over sr qc pass: othervpns over bgp over sr qc pass: sr over broadcast subnet qc pass: sr te over mpls qc pass: sr te over exthdr qc pass: bgp with sr qc pass: isis with sr qc pass: isis inter-level with sr qc pass: isis multi-topology with sr qc pass: lsrp with sr qc pass: ospf with sr qc pass: ospf transit area with sr ---------------------------------- 2018-07-11 06:24:12 no todo: servers for ipip, gre, mplsudp, mplsip todo: servers for etherip, ipip, gre, mplsudp, mplsip ---------------------------------- 2018-07-13 22:37:36 no todo: bgp vpns over sr no todo: servers for etherip, ipip, gre, mplsudp, mplsip qc pass: iponly qc pass: mplsip server todo: servers for ipip, gre, etherip, mplsudp todo: bgp vpns with sr-policy ---------------------------------- 2018-07-14 21:22:26 no todo: servers for ipip, gre, etherip, mplsudp qc pass: mplsudp server todo: servers for ipip, gre, etherip todo: clean up javadoc errors todo: changelog converter for https://manpages.debian.org/testing/dpkg-dev/deb-changelog.5.en.html format with notodo lines ---------------------------------- 2018-07-15 19:27:51 no todo: servers for ipip, gre, etherip qc pass: etherip server todo: servers for ipip todo: silently accept ipv4 addr 1.1.1.1 /24 ipv6 addr 1234::1 /96 ---------------------------------- 2018-07-17 06:43:33 no todo: silently accept ipv4 addr 1.1.1.1 /24 ipv6 addr 1234::1 /96 ---------------------------------- 2018-07-19 03:48:38 no todo: servers for ipip qc pass: gre server todo: configurable session close behavior on reload todo: sorted filter for any column ---------------------------------- 2018-07-19 21:13:07 no todo: sorted filter for any column no todo: configurable session close behavior on reload ---------------------------------- 2018-07-22 23:32:50 todo: access-map and access-policy that checks for source within servers todo: router trigger todo: sorted, uniq | filter for any column todo: terminal mode colorized todo: protocol traceroute todo: temper: web access log todo: http server: access log to syslog todo: ttl handling follow the selected forwarder, reconfigurable if more ---------------------------------- 2018-07-24 20:58:43 no todo: access-map and access-policy that checks for source within servers ---------------------------------- 2018-07-25 20:37:15 no todo: http server: access log to syslog todo: counter to the tabroute, configurable per process todo: more features with clean implementation ---------------------------------- 2018-07-26 19:05:39 no todo: counter to the tabroute, configurable per process no todo: router trigger ---------------------------------- 2018-07-28 14:55:26 no todo: terminal mode colorized todo: show bgp privateas, labels todo: terminal mode colorize, resolve todo: optimal route reflection ---------------------------------- 2018-07-30 18:39:49 no todo: show bgp privateas, labels todo: client whois, show whois todo: more configurable defaults to lines: tablemode, timestamps, configure up them on main rtrs todo: route-map/policy to match private-as origination/transit, then show, ignore, etc todo: diff n | filter ---------------------------------- 2018-07-31 19:55:39 todo: hostwatch to execute script on acl match ---------------------------------- 2018-08-07 05:17:39 no todo: client whois, show whois todo: configurable * prompt todo: access-* under http host todo: lsrp passive interface ---------------------------------- 2018-08-24 11:31:13 no todo: lsrp passive interface no todo: configurable * prompt todo: tls1.3 ---------------------------------- 2018-12-28 07:01:18 no todo: terminal mode colorize, resolve todo: terminal mode resolve ---------------------------------- 2019-01-08 01:05:56 todo: mpls inspect ---------------------------------- 2019-01-14 10:53:03 no todo: mpls inspect ---------------------------------- 2019-01-15 10:04:15 no todo: bgp sr-policy afi qc pass: unicast+srte over bgp qc pass: unicast+srte over bgp with soft-reconfig qc pass: unicast+srte over bgp with additional path ---------------------------------- 2019-01-25 11:35:44 qc pass: bgp interas vpn with asbr peering qc pass: bgp interas vpn with rr peering qc pass: bgp interas othervpn with asbr peering qc pass: bgp interas othervpn with rr peering ---------------------------------- 2019-01-28 16:02:01 qc pass: bgp interas csc vpn with asbr peering qc pass: bgp interas csc vpn with rr peering qc pass: bgp dual core vpn qc pass: bgp dual core csc vpn ---------------------------------- 2019-01-29 10:05:08 no todo: autoroute with sr, bier support qc pass: babel autoroute qc pass: eigrp autoroute qc pass: isis autoroute qc pass: lsrp autoroute qc pass: olsr autoroute qc pass: ospf autoroute qc pass: pvrp autoroute qc pass: rip autoroute ---------------------------------- 2019-02-03 11:26:38 todo: http server should honor no in the beginning for host commands todo: lsrp, ospf, isis must list lsas/lsps as reachable or not todo: padup ethertype config option todo: http host upload optional different authentication todo: display traceroute with the same parameters todo: configurable replay window under ipsec profile for macsec todo: macsec bad type in hex todo: lossdet with class util.dampening todo: reapplying the same vrf to interface as noop todo: hwdet default to binary in installation, rework rtr.bin support to binjar if needed todo: hwdet detect mac addresses todo: interactive switch for traceroute to mimic mtr with class util.dampening, similar to mtr todo: client domain-name to resolve internally first todo: client name-server multiple nodes todo: irc server should ping periodically the clients todo: call-home through irc with configurable proxyprofile, read-write access todo: http2.0 todo: vdc name tabbing ---------------------------------- 2019-02-07 15:14:06 no todo: interactive switch for traceroute to mimic mtr with class util.dampening, similar to mtr no todo: display traceroute with the same parameters todo: mac rewrite on bridge interfaces todo: bgp safe-ebgp-policy to default to neighbor shutdown todo: command authorization with local todo: reapplying the same address to interface as noop todo: entering ipvX address should remove dhcpX, slaac, gateway-*, and every related... todo: access-class should permit again with objectgroups todo: test cases for router deaggr and router mobile todo: http conditional redirect with route-map, prefix-list or route-policy todo: bridge security from dhcp, slaac, whatever server todo: p4lang todo: interactive switch for traceroute to mimic mtr with class util.dampening, similar to mtr - display traceroute with the same parameters or so todo: traceroute to query bgp forasn todo: traceroute to display mpls labels todo: command authorization with radius and tacacs ---------------------------------- 2019-02-08 16:19:17 no todo: macsec bad type in hex no todo: bgp safe-ebgp-policy to default to neighbor shutdown qc pass: loss detection ---------------------------------- 2019-02-09 21:17:27 todo: looking glass rfc8522 ---------------------------------- 2019-02-10 12:24:29 no todo: mac rewrite on bridge interfaces no todo: test cases for router deaggr and router mobile todo: test cases for router deaggr and router mobile, bridge-macrewrite ---------------------------------- 2019-02-11 09:20:02 no todo: test cases for router deaggr and router mobile, bridge-macrewrite qc pass: bridged mac rewrite qc pass: redistribution with mobile qc pass: redistribution with deaggr ---------------------------------- 2019-06-29 23:15:41 no todo: access-* under http host no todo: hwdet detect mac addresses no todo: p4lang ---------------------------------- 2019-07-12 00:56:07 qc pass: bgp hub and spoke vpn multiple rt import qc pass: bgp hub and spoke vpn multiple rt export qc pass: bgp vpn with export list qc pass: bgp vpn with import list qc pass: bgp vpn with export map qc pass: bgp vpn with import map qc pass: bgp vpn with export policy qc pass: bgp vpn with import policy ---------------------------------- 2019-08-01 03:36:17 no todo: call-home through irc with configurable proxyprofile, read-write access no todo: irc server should ping periodically the clients no todo: traceroute to query bgp forasn no todo: lossdet with class util.dampening no todo: access-class should permit again with objectgroups todo: traceroute to query bgp for asn ---------------------------------- 2019-08-17 02:12:57 no todo: more configurable defaults to lines: tablemode, timestamps, configure up them on main rtrs no todo: client name-server multiple nodes no todo: traceroute to display mpls labels no todo: traceroute to query bgp for asn no todo: configurable replay window under ipsec profile for macsec ---------------------------------- 2019-08-17 16:59:49 no todo: command authorization with local ---------------------------------- 2019-08-19 07:47:27 no todo: command authorization with radius and tacacs ---------------------------------- 2019-09-04 16:28:52 no todo: diff n | filter no todo: sorted, uniq | filter for any column ---------------------------------- 2019-09-28 05:38:37 qc pass: interop1: evpn/cmac over bgp qc pass: vpns over srv6 qc pass: evpn/pbb over srv6 qc pass: evpn/cmac over srv6 ---------------------------------- 2019-09-29 02:49:20 qc pass: interop1: bgp 6pe qc pass: interop2: bgp vpnv4 over srv6 qc pass: interop2: bgp vpnv6 over srv6 qc pass: interop2: bgp 6pe qc pass: vpns over srv6 over ipv4 bgp qc pass: evpn/pbb over srv6 over ipv4 bgp qc pass: evpn/cmac over srv6 over ipv4 bgp ---------------------------------- 2019-09-30 03:23:02 no qc pass: unicast+other over bgp qc pass: unicast+other over ebgp qc pass: unicast+other over ibgp qc pass: unicast+other over ibgp rr qc pass: unicast+other over confed bgp qc pass: unicast+other over bgp route server ---------------------------------- 2019-10-01 01:54:22 qc pass: other over srv6 ---------------------------------- 2019-10-01 16:03:44 qc pass: nat64 translation qc pass: dns64 server ---------------------------------- 2019-10-03 02:01:52 no todo: reapplying the same vrf to interface as noop no todo: reapplying the same address to interface as noop no qc pass: other over srv6 no qc pass: evpn/cmac over srv6 over ipv4 bgp no qc pass: evpn/pbb over srv6 over ipv4 bgp no qc pass: vpns over srv6 over ipv4 bgp no qc pass: evpn/cmac over srv6 no qc pass: evpn/pbb over srv6 no qc pass: vpns over srv6 qc pass: vpns over srv6 over ibgp qc pass: evpn/pbb over srv6 over ibgp qc pass: evpn/cmac over srv6 over ibgp qc pass: other over srv6 over ibgp qc pass: vpns over srv6 over ebgp qc pass: evpn/pbb over srv6 over ebgp qc pass: evpn/cmac over srv6 over ebgp qc pass: other over srv6 over ebgp qc pass: vpns over srv6 over ibgp rr qc pass: evpn/pbb over srv6 over ibgp rr qc pass: evpn/cmac over srv6 over ibgp rr qc pass: other over srv6 over ibgp rr qc pass: vpns over srv6 over confed bgp qc pass: evpn/pbb over srv6 over confed bgp qc pass: evpn/cmac over srv6 over confed bgp qc pass: other over srv6 over confed bgp qc pass: vpns over srv6 over bgp route server qc pass: evpn/pbb over srv6 over bgp route server qc pass: evpn/cmac over srv6 over bgp route server qc pass: other over srv6 over bgp route server qc pass: vpns over srv6 over bgp with soft-reconfig qc pass: evpn/pbb over srv6 over bgp with soft-reconfig qc pass: evpn/cmac over srv6 over bgp with soft-reconfig qc pass: other over srv6 over bgp with soft-reconfig qc pass: vpns over srv6 over bgp additional path qc pass: evpn/pbb over srv6 over bgp additional path qc pass: evpn/cmac over srv6 over bgp additional path qc pass: other over srv6 over bgp additional path ---------------------------------- 2019-10-19 19:08:16 qc pass: interop2: evpn/vpws over bgp qc pass: evpn/vpws over ebgp qc pass: evpn/vpws over ibgp qc pass: evpn/vpws over bgp additional path qc pass: evpn/vpws over ibgp rr qc pass: evpn/vpws over confed bgp qc pass: evpn/vpws over bgp route server qc pass: ethersite evpn/vpws over ibgp qc pass: evpn/vpws over bgp with soft-reconfig qc pass: unicast+evpn/vpws over bgp qc pass: unicast+evpn/vpws over bgp with soft-reconfig qc pass: unicast+evpn/vpws over bgp additional path qc pass: evpn/vpws over bgp auto mesh tunnel qc pass: evpn/vpws over srv6 over ibgp qc pass: evpn/vpws over srv6 over ebgp qc pass: evpn/vpws over srv6 over ibgp rr qc pass: evpn/vpws over srv6 over confed bgp qc pass: evpn/vpws over srv6 over bgp route server qc pass: evpn/vpws over srv6 over bgp with soft-reconfig qc pass: evpn/vpws over srv6 over bgp additional path ---------------------------------- 2020-01-01 15:31:55 qc pass: ethernet over gretap pwhe ---------------------------------- 2020-01-11 16:16:31 qc pass: p4lang: routing qc pass: p4lang: bridging qc pass: p4lang: mpls qc pass: p4lang: vlan routing qc pass: p4lang: vlan bridging qc pass: p4lang: vpn with bgp qc pass: p4lang: vpls/ldp with bgp qc pass: p4lang: evpn/cmac with bgp qc pass: p4lang: eompls qc pass: p4lang: vpn with bgp over srv6 qc pass: p4lang: evpn/cmac with bgp over srv6 ---------------------------------- 2020-01-12 07:23:43 qc pass: p4lang: vlan mpls ---------------------------------- 2020-01-13 13:37:48 qc pass: interop1: bgp aigp qc pass: interop1: isis lsp authentication qc pass: interop2: bgp aigp qc pass: interop2: isis lsp authentication qc pass: interop8: ebgp qc pass: interop8: ibgp qc pass: interop8: bgp locpref qc pass: interop8: bgp origin qc pass: interop8: bgp metric qc pass: interop8: bgp community qc pass: interop8: bgp aspath qc pass: interop8: bgp with labels qc pass: interop8: bgp addpath qc pass: interop8: bgp prefix withdraw qc pass: interop8: bgp authentication qc pass: interop8: bgp extended community qc pass: interop8: bgp large community qc pass: interop8: point2point isis qc pass: interop8: isis dis qc pass: interop8: isis nondis qc pass: interop8: isis narrow metric qc pass: interop8: isis prefix withdraw qc pass: interop8: isis authentication qc pass: interop8: ldp lsp qc pass: interop8: point2point ospf qc pass: interop8: ospf dr qc pass: interop8: ospf nondr qc pass: interop8: ospf transit area qc pass: interop8: ospf stub area qc pass: interop8: ospf nssa area qc pass: interop8: ospf prefix withdraw qc pass: interop8: ospf authentication qc pass: interop9: isis lsp authentication qc pass: isis lsp authentication ---------------------------------- 2020-01-18 17:41:05 qc pass: satp over ipv4 qc pass: satp over ipv6 qc pass: satp over satp qc pass: satp over loopback qc pass: satp with des qc pass: satp with blowfish qc pass: satp with 3des qc pass: satp with aes128 qc pass: satp with aes192 qc pass: satp with aes256 qc pass: satp with md5 qc pass: satp with sha1 qc pass: satp with sha256 qc pass: satp with sha512 ---------------------------------- 2020-02-11 10:32:45 qc pass: isis change in tag qc pass: isis multi-topology change in tag ---------------------------------- 2020-03-13 01:12:08 qc pass: wireguard over ipv4 qc pass: wireguard over ipv6 qc pass: wireguard over wireguard qc pass: wireguard over loopback ---------------------------------- 2020-03-18 10:18:13 qc pass: p4lang: bundle routing qc pass: p4lang: bundle mpls ---------------------------------- 2020-04-03 16:34:56 no todo: clean up javadoc errors ---------------------------------- 2020-05-06 05:26:53 no todo: client domain-name to resolve internally first no todo: padup ethertype config option no todo: entering ipvX address should remove dhcpX, slaac, gateway-*, and every related... ---------------------------------- 2020-05-14 08:57:45 qc pass: sreth over ipv4 qc pass: sreth over ipv6 qc pass: sreth over loopback qc pass: hdlc tunneling with sreth qc pass: ppp tunneling with sreth qc pass: lapb tunneling with sreth qc pass: framerelay tunneling with sreth qc pass: atmdxi tunneling with sreth qc pass: isdn tunneling with sreth qc pass: sep tunneling with sreth qc pass: ethernet tunneling with sreth qc pass: vlan tunneling with sreth qc pass: tunnel interface with sreth qc pass: ethernet over sreth pwhe qc pass: cross connect with sreth qc pass: cross connect interworking with sreth ---------------------------------- 2020-06-02 05:01:33 qc pass: lsrp stub qc pass: lsrp unstub ---------------------------------- 2020-06-04 04:42:12 qc pass: unified mpls with ldp qc pass: unified mpls with sr ---------------------------------- 2020-06-10 17:04:05 no qc pass: p4lang: mpls qc pass: p4lang: copp qc pass: p4lang: ingress access list qc pass: p4lang: egress access list qc pass: p4lang: mpls core qc pass: p4lang: mpls edge ---------------------------------- 2020-06-12 09:59:25 qc pass: source port randomization qc pass: p4lang: nat ---------------------------------- 2020-06-13 15:51:00 no qc pass: telnet inspection qc pass: route inspection qc pass: flow inspection qc pass: interface inspection qc pass: bridge inspection qc pass: mpls inspection ---------------------------------- 2020-06-14 05:24:12 no qc pass: lsrp unstub no qc pass: lsrp stub qc pass: lsrp stub node qc pass: lsrp stub interface qc pass: lsrp unstub interface qc pass: lsrp default address suppression qc pass: lsrp address unsuppression qc pass: pvrp default address suppression qc pass: pvrp address unsuppression ---------------------------------- 2020-06-14 17:24:25 qc pass: udp forwarder server ---------------------------------- 2020-06-20 17:54:33 qc pass: ethernet qinq1 encapsulation qc pass: ethernet qinq2 encapsulation qc pass: ethernet qinq3 encapsulation ---------------------------------- 2020-06-24 11:47:00 qc pass: p4lang: bundle ingress access list qc pass: p4lang: bundle egress access list qc pass: p4lang: bundle vlan ingress access list qc pass: p4lang: bundle vlan egress access list qc pass: p4lang: bundle vlan routing qc pass: p4lang: bundle vlan mpls qc pass: p4lang: bundle vlan bridging ---------------------------------- 2020-07-03 07:38:23 qc pass: interop8: eigrp qc pass: interop8: rip ---------------------------------- 2020-07-06 13:48:46 qc pass: lisp over asymmetric ports qc pass: mplsudp over asymmetric ports qc pass: packet over udp over asymmetric ports qc pass: openvpn over asymmetric ports qc pass: satp over asymmetric ports qc pass: wireguard over asymmetric ports ---------------------------------- 2020-07-09 16:56:37 qc pass: ldp php qc pass: ebgp with php labels qc pass: ibgp with php labels qc pass: bgp additional path with php labels qc pass: ibgp rr with labels qc pass: confed bgp with labels qc pass: bgp route server with labels qc pass: bgp soft-reconfig with labels qc pass: isis with php sr qc pass: lsrp with php sr qc pass: ospf with php sr qc pass: pvrp with php labels ---------------------------------- 2020-07-10 07:54:04 qc pass: interop1: bgp with php labels qc pass: interop1: isis php sr qc pass: interop1: ldp php lsp qc pass: interop1: ospf php sr qc pass: interop2: bgp with php labels qc pass: interop2: isis php sr qc pass: interop2: ldp php lsp qc pass: interop2: ospf php sr qc pass: interop8: bgp with php labels qc pass: interop8: ldp php lsp qc pass: interop9: bgp with php labels qc pass: interop9: isis php sr qc pass: interop9: ldp php lsp qc pass: interop9: ospf php sr qc pass: ingress label filtering with pvrp qc pass: egress label filtering with pvrp ---------------------------------- 2020-07-13 15:11:45 qc pass: bgp remove private as in with routemap qc pass: bgp remove private as out with routemap qc pass: bgp remove private as in with routepolicy qc pass: bgp remove private as out with routepolicy qc pass: conditional redistribution with routemap qc pass: conditional redistribution with routepolicy ---------------------------------- 2020-07-14 04:08:58 qc pass: ethernet qinqX encapsulation qc pass: ethernet qinqX custom encapsulation qc pass: bgp with php labels over sr qc pass: pvrp stub node qc pass: pvrp stub interface qc pass: pvrp unstub interface ---------------------------------- 2020-07-19 04:12:38 no todo: route-map/policy to match private-as origination/transit, then show, ignore, etc ---------------------------------- 2020-07-22 14:26:16 todo: tunnels with pcep ---------------------------------- 2020-07-24 07:04:23 no todo: tunnels with pcep qc pass: interop1: isis te with pcep qc pass: interop1: ospf te with pcep qc pass: interop2: isis te with pcep qc pass: interop2: ospf te with pcep qc pass: sr te with pcep qc pass: te with pcep qc pass: bgp with srgb sr qc pass: isis with srgb sr qc pass: lsrp with srgb sr qc pass: ospf with srgb sr ---------------------------------- 2020-07-25 13:36:49 qc pass: p4lang: bridge ingress access list qc pass: p4lang: bridge egress access list qc pass: p4lang: vlan bridge ingress access list qc pass: p4lang: vlan bridge egress access list qc pass: p4lang: bridge routing qc pass: p4lang: bridge mpls qc pass: p4lang: vlan bridge routing qc pass: p4lang: vlan bridge mpls ---------------------------------- 2020-07-27 18:29:22 qc pass: source interface translation to address qc pass: target interface translation to address ---------------------------------- 2020-07-28 18:46:26 qc pass: p4lang: vlan vpls/ldp with bgp qc pass: p4lang: vlan eompls qc pass: p4lang: bundle vlan vpls/ldp with bgp qc pass: p4lang: bundle vlan eompls ---------------------------------- 2020-07-31 14:57:45 no qc pass: bgp interas csc vpn with asbr peering no work: bgp interas csc vpn with asbr peering ---------------------------------- 2020-07-31 16:57:35 qc pass: bgp interas csc vpn with asbr peering ---------------------------------- 2020-08-01 10:04:20 qc pass: interop1: point2point ethernet encapsulation qc pass: interop1: ldp over point2point ethernet qc pass: interop2: point2point ethernet encapsulation qc pass: interop2: ldp over point2point ethernet qc pass: ldp over point2point ethernet qc pass: te over point2point ethernet qc pass: babel over point2point ethernet qc pass: bgp over point2point ethernet qc pass: eigrp over point2point ethernet qc pass: isis over point2point ethernet qc pass: lsrp over point2point ethernet qc pass: olsr over point2point ethernet qc pass: ospf over point2point ethernet qc pass: pvrp over point2point ethernet qc pass: rip over point2point ethernet qc pass: static routing over point2point ethernet ---------------------------------- 2020-08-06 08:32:41 qc pass: ospf multi area qc pass: ospf asymmetric multi area ---------------------------------- 2020-08-09 13:04:24 qc pass: p4lang: ingress pppoe access list qc pass: p4lang: egress pppoe access list qc pass: p4lang: ingress vlan pppoe access list qc pass: p4lang: egress vlan pppoe access list qc pass: p4lang: pppoe routing qc pass: p4lang: vlan pppoe routing ---------------------------------- 2020-08-09 16:30:18 qc pass: p4lang: pppoe mpls qc pass: p4lang: vlan pppoe mpls ---------------------------------- 2020-08-10 10:40:16 qc pass: interop2: pppoe with pap qc pass: interop2: pppoe with chap ---------------------------------- 2020-08-13 15:39:57 qc pass: p4lang: hairpin ingress access list qc pass: p4lang: hairpin egress access list qc pass: p4lang: hairpin vlan ingress access list qc pass: p4lang: hairpin vlan egress access list qc pass: p4lang: hairpin pppoe ingress access list qc pass: p4lang: hairpin pppoe egress access list qc pass: p4lang: hairpin vlan pppoe ingress access list qc pass: p4lang: hairpin vlan pppoe egress access list qc pass: p4lang: hairpin routing qc pass: p4lang: hairpin bridging qc pass: p4lang: hairpin mpls qc pass: p4lang: hairpin vlan routing qc pass: p4lang: hairpin vlan bridging qc pass: p4lang: hairpin vlan mpls qc pass: p4lang: hairpin pppoe routing qc pass: p4lang: hairpin vlan pppoe routing qc pass: p4lang: hairpin pppoe mpls qc pass: p4lang: hairpin vlan pppoe mpls ---------------------------------- 2020-08-13 18:26:52 qc pass: p4lang: hairpin vpls/ldp with bgp qc pass: p4lang: hairpin vlan vpls/ldp with bgp qc pass: p4lang: hairpin eompls qc pass: p4lang: hairpin vlan eompls ---------------------------------- 2020-08-14 01:14:34 qc pass: p4lang: vlan evpn/cmac with bgp qc pass: p4lang: bundle vlan evpn/cmac with bgp qc pass: p4lang: hairpin evpn/cmac with bgp qc pass: p4lang: hairpin vlan evpn/cmac with bgp ---------------------------------- 2020-08-15 17:13:27 qc pass: ingress protocol matching common access list qc pass: egress protocol matching common access list qc pass: ingress destination matching common access list qc pass: egress destination matching common access list qc pass: ingress source matching common access list qc pass: egress source matching common access list ---------------------------------- 2020-08-16 03:43:39 qc pass: ingress ttl matching common access list qc pass: egress ttl matching common access list qc pass: ingress tos matching common access list qc pass: egress tos matching common access list qc pass: ingress length matching common access list qc pass: egress length matching common access list qc pass: ingress source port matching access list qc pass: egress source port matching access list qc pass: ingress destination port matching access list qc pass: egress destination port matching access list qc pass: ingress source port matching hibryd access list qc pass: egress source port matching hibryd access list qc pass: ingress destination port matching hibryd access list qc pass: egress destination port matching hibryd access list qc pass: ingress source port matching common access list qc pass: egress source port matching common access list qc pass: ingress destination port matching common access list qc pass: egress destination port matching common access list ---------------------------------- 2020-08-16 08:00:16 qc pass: qos ingress transmit copp qc pass: qos egress transmit copp qc pass: qos ingress drop copp qc pass: qos egress drop copp qc pass: qos ingress policer copp qc pass: qos egress policer copp qc pass: qos transmit dapp qc pass: qos drop dapp qc pass: qos policer dapp qc pass: qos priority dapp ---------------------------------- 2020-08-16 16:26:30 qc pass: qos transmit flowspec qc pass: qos drop flowspec qc pass: qos policer flowspec qc pass: qos priority flowspec ---------------------------------- 2020-08-17 04:26:30 qc pass: lsrp with selective sr qc pass: lsrp with selective bier ---------------------------------- 2020-08-19 03:45:01 qc pass: lsrp peer metric qc pass: pvrp peer metric ---------------------------------- 2020-08-19 07:09:57 qc pass: redistribution with interfaces qc pass: redistribution with metric ---------------------------------- 2020-08-20 09:55:55 qc pass: ppp over ssh qc pass: ppp over tcp ---------------------------------- 2020-08-21 13:19:26 no todo: recursive static route qc pass: recursive static routing qc pass: recursive static routing with labels ---------------------------------- 2020-08-23 11:28:44 qc pass: isis with bidir check qc pass: isis narrow metric with bidir check qc pass: isis chain of broadcast nets with bidir check qc pass: isis multi-topology with bidir check qc pass: lsrp point2point connection with bidir check qc pass: lsrp point2multipoint connection with bidir check qc pass: ospf point2point chain with bidir check qc pass: ospf broadcast chain with bidir check ---------------------------------- 2020-08-25 04:34:11 qc pass: p4lang: vlan ingress access list qc pass: p4lang: vlan egress access list qc pass: p4lang: ingress gre access list qc pass: p4lang: egress gre access list qc pass: p4lang: ingress vlan gre access list qc pass: p4lang: egress vlan gre access list qc pass: p4lang: gre routing over ipv4 qc pass: p4lang: gre routing over ipv6 qc pass: p4lang: gre routing over ipv4 loopback qc pass: p4lang: gre routing over ipv6 loopback qc pass: p4lang: gre routing over vlan qc pass: p4lang: gre routing over bundle qc pass: p4lang: gre routing over bundle vlan qc pass: p4lang: gre routing over hairpin qc pass: p4lang: gre routing over hairpin vlan qc pass: p4lang: gre routing over bridge qc pass: p4lang: gre routing over vlan bridge qc pass: p4lang: gre mpls over ipv4 qc pass: p4lang: gre mpls over ipv6 qc pass: p4lang: gre mpls over ipv4 loopback qc pass: p4lang: gre mpls over ipv6 loopback qc pass: p4lang: gre mpls over vlan qc pass: p4lang: gre mpls over bundle qc pass: p4lang: gre mpls over bundle vlan qc pass: p4lang: gre mpls over hairpin qc pass: p4lang: gre mpls over hairpin vlan qc pass: p4lang: gre mpls over bridge qc pass: p4lang: gre mpls over vlan bridge ---------------------------------- 2020-08-27 16:53:21 qc pass: p4lang: ingress l2tp access list qc pass: p4lang: egress l2tp access list qc pass: p4lang: ingress vlan l2tp access list qc pass: p4lang: egress vlan l2tp access list qc pass: p4lang: l2tp routing over ipv4 qc pass: p4lang: l2tp routing over ipv6 qc pass: p4lang: l2tp routing over ipv4 loopback qc pass: p4lang: l2tp routing over ipv6 loopback qc pass: p4lang: l2tp routing over vlan qc pass: p4lang: l2tp routing over bundle qc pass: p4lang: l2tp mpls over ipv4 qc pass: p4lang: l2tp mpls over ipv6 qc pass: p4lang: l2tp mpls over ipv4 loopback qc pass: p4lang: l2tp mpls over ipv6 loopback qc pass: p4lang: l2tp mpls over vlan qc pass: p4lang: l2tp mpls over bundle ---------------------------------- 2020-08-28 18:43:50 qc pass: p4lang: bridging over gre qc pass: p4lang: bridging over gre vlan qc pass: p4lang: bridging over pppoe qc pass: p4lang: bridging over pppoe vlan qc pass: p4lang: bridging over l2tp qc pass: p4lang: bridging over l2tp vlan ---------------------------------- 2020-09-02 02:45:03 qc pass: p4lang: vxlan over ipv4 qc pass: p4lang: vxlan over ipv6 qc pass: p4lang: vxlan over ipv4 loopback qc pass: p4lang: vxlan over ipv6 loopback qc pass: p4lang: evpn/vxlan with bgp qc pass: p4lang: vlan evpn/vxlan with bgp qc pass: p4lang: bundle vlan evpn/vxlan with bgp qc pass: p4lang: hairpin evpn/vxlan with bgp ---------------------------------- 2020-09-03 09:30:27 qc pass: p4lang: ingress ipip access list qc pass: p4lang: egress ipip access list qc pass: p4lang: ingress vlan ipip access list qc pass: p4lang: egress vlan ipip access list qc pass: p4lang: vxlan over vlan qc pass: p4lang: vxlan over bundle qc pass: p4lang: ipip routing over ipv4 qc pass: p4lang: ipip routing over ipv6 qc pass: p4lang: ipip routing over ipv4 loopback qc pass: p4lang: ipip routing over ipv6 loopback qc pass: p4lang: ipip routing over vlan qc pass: p4lang: ipip routing over bundle ---------------------------------- 2020-09-05 03:36:08 qc pass: macsec over ethernet bundle qc pass: macsec over ethernet hairpin qc pass: p4lang: macsec with des qc pass: p4lang: macsec with 3des qc pass: p4lang: macsec with aes128 qc pass: p4lang: macsec with aes192 qc pass: p4lang: macsec with aes256 qc pass: p4lang: macsec with md5 qc pass: p4lang: macsec with sha1 qc pass: p4lang: macsec with sha256 qc pass: p4lang: macsec with sha512 qc pass: p4lang: macsec over ethernet qc pass: p4lang: macsec over vlan qc pass: p4lang: macsec over bundle vlan qc pass: p4lang: macsec over gre qc pass: p4lang: macsec over pppoe qc pass: p4lang: macsec over l2tp qc pass: p4lang: macsec over hairpin qc pass: p4lang: macsec ingress access list qc pass: p4lang: macsec egress access list qc pass: p4lang: macsec vlan ingress access list qc pass: p4lang: macsec vlan egress access list ---------------------------------- 2020-09-05 14:55:42 qc pass: p4lang: ipsec with des qc pass: p4lang: ipsec with 3des qc pass: p4lang: ipsec with aes128 qc pass: p4lang: ipsec with aes192 qc pass: p4lang: ipsec with aes256 qc pass: p4lang: ipsec with md5 qc pass: p4lang: ipsec with sha1 qc pass: p4lang: ipsec with sha256 qc pass: p4lang: ipsec with sha512 qc pass: p4lang: ipv4 over ipsec qc pass: p4lang: ipv6 over ipsec qc pass: p4lang: ipsec over ipv4 qc pass: p4lang: ipsec over ipv6 qc pass: p4lang: ipsec over ipv4 loopback qc pass: p4lang: ipsec over ipv6 loopback qc pass: p4lang: ipsec over vlan qc pass: p4lang: ipv4 over ipsec with ingress access list qc pass: p4lang: ipv4 over ipsec with egress access list qc pass: p4lang: ipv6 over ipsec with ingress access list qc pass: p4lang: ipv6 over ipsec with egress access list qc pass: p4lang: ipsec with ike1 qc pass: p4lang: ipsec with ike2 ---------------------------------- 2020-09-06 07:52:44 qc pass: p4lang: pckoudp over ipv4 qc pass: p4lang: pckoudp over ipv6 qc pass: p4lang: pckoudp over ipv4 loopback qc pass: p4lang: pckoudp over ipv6 loopback qc pass: p4lang: pckoudp over vlan qc pass: p4lang: pckoudp over bundle qc pass: p4lang: pckoudp server over ipv4 qc pass: p4lang: pckoudp server over ipv6 qc pass: p4lang: pckoudp server over ipv4 loopback qc pass: p4lang: pckoudp server over ipv6 loopback ---------------------------------- 2020-09-06 14:16:10 qc pass: p4lang: vxlan server over ipv4 qc pass: p4lang: vxlan server over ipv6 qc pass: p4lang: vxlan server over ipv4 loopback qc pass: p4lang: vxlan server over ipv6 loopback ---------------------------------- 2020-09-11 03:54:36 qc pass: p4lang: ingress common access list qc pass: p4lang: egress common access list qc pass: p4lang: ingress hibryd access list qc pass: p4lang: egress hibryd access list ---------------------------------- 2020-09-12 10:53:03 qc pass: p4lang: openvpn with des qc pass: p4lang: openvpn with 3des qc pass: p4lang: openvpn with aes128 qc pass: p4lang: openvpn with aes192 qc pass: p4lang: openvpn with aes256 qc pass: p4lang: openvpn with md5 qc pass: p4lang: openvpn with sha1 qc pass: p4lang: openvpn with sha256 qc pass: p4lang: openvpn with sha512 qc pass: p4lang: openvpn over ipv4 qc pass: p4lang: openvpn over ipv6 qc pass: p4lang: openvpn over ipv4 loopback qc pass: p4lang: openvpn over ipv6 loopback qc pass: p4lang: openvpn over asymmetric ports qc pass: p4lang: openvpn with ingress access list qc pass: p4lang: openvpn with egress access list ---------------------------------- 2020-09-12 14:35:22 qc pass: p4lang: wireguard over ipv4 qc pass: p4lang: wireguard over ipv6 qc pass: p4lang: wireguard over ipv4 loopback qc pass: p4lang: wireguard over ipv6 loopback qc pass: p4lang: wireguard over vlan qc pass: p4lang: wireguard over asymmetric ports qc pass: p4lang: wireguard with ingress access list qc pass: p4lang: wireguard with egress access list ---------------------------------- 2020-09-13 03:31:43 no todo: protocol traceroute ---------------------------------- 2020-09-14 14:18:14 qc pass: ingress protocol matching hierarchical access list qc pass: egress protocol matching hierarchical access list qc pass: ingress destination matching hierarchical access list qc pass: egress destination matching hierarchical access list qc pass: ingress source matching hierarchical access list qc pass: egress source matching hierarchical access list qc pass: ingress ttl matching hierarchical access list qc pass: egress ttl matching hierarchical access list qc pass: ingress tos matching hierarchical access list qc pass: egress tos matching hierarchical access list qc pass: ingress length matching hierarchical access list qc pass: egress length matching hierarchical access list qc pass: ingress source port matching hierarchical access list qc pass: egress source port matching hierarchical access list qc pass: ingress destination port matching hierarchical access list qc pass: egress destination port matching hierarchical access list qc pass: reflexive access list qc pass: p4lang: ingress hierarchical access list qc pass: p4lang: egress hierarchical access list qc pass: redistribution filtering with hierarchical prefixlist ---------------------------------- 2020-09-17 08:14:54 qc pass: p4lang: pppoe server routing qc pass: p4lang: vlan pppoe server routing qc pass: p4lang: pppoe server mpls qc pass: p4lang: vlan pppoe server mpls qc pass: p4lang: l2tp server routing qc pass: p4lang: vlan l2tp server routing qc pass: p4lang: l2tp server mpls qc pass: p4lang: vlan l2tp server mpls ---------------------------------- 2020-09-18 17:42:12 qc pass: ppp routes with local authentication qc pass: ppp routes with radius authentication ---------------------------------- 2020-09-19 14:57:26 qc pass: p4lang: p2p ldp tail+head qc pass: p4lang: p2p ldp mid qc pass: p4lang: p2p te tail+head qc pass: p4lang: p2p te mid qc pass: p4lang: sr te over mpls tail+head qc pass: p4lang: sr te over mpls mid ---------------------------------- 2020-09-23 06:53:15 no todo: bgp compare should write out that which attributes changed ---------------------------------- 2020-09-24 13:25:08 todo: show ipvX rousrc, ecmp... todo: ecmp test cases ---------------------------------- 2020-09-25 03:42:53 no todo: show ipvX rousrc, ecmp... ---------------------------------- 2020-09-25 16:40:33 no todo: ecmp test cases qc pass: babel ecmp connection qc pass: bgp ecmp connection qc pass: eigrp ecmp connection qc pass: isis ecmp connection qc pass: lsrp ecmp connection qc pass: olsr ecmp connection qc pass: ospf ecmp connection qc pass: pvrp ecmp connection qc pass: rip ecmp connection qc pass: static routing with ecmp ---------------------------------- 2020-09-27 05:59:21 todo: nat and pbr config to have reindex todo: chatscript and authlist to use tablisting and have reindex ---------------------------------- 2020-10-05 14:11:06 qc pass: bgp routemap filtering with peer asn qc pass: bgp routepolicy filtering with peer asn qc pass: bgp routemap filtering with peer asn with soft-reconfig qc pass: bgp routepolicy filtering with peer asn with soft-reconfig ---------------------------------- 2020-10-05 17:00:28 qc pass: bgp routemap filtering with peer standard community qc pass: bgp routepolicy filtering with peer standard community qc pass: bgp routemap filtering with peer standard community with soft-reconfig qc pass: bgp routepolicy filtering with peer standard community with soft-reconfig qc pass: bgp routemap filtering with peer large community qc pass: bgp routepolicy filtering with peer large community qc pass: bgp routemap filtering with peer large community with soft-reconfig qc pass: bgp routepolicy filtering with peer large community with soft-reconfig ---------------------------------- 2020-10-06 14:49:06 todo: decouple counters in sho ipv4 proto todo: prometheus per metric exclude todo: route count in sho vrf todo: sho gc ---------------------------------- 2020-10-06 18:15:36 no todo: route count in sho vrf no todo: prometheus per metric exclude no todo: decouple counters in sho ipv4 proto ---------------------------------- 2020-10-06 18:42:28 no todo: sho gc ---------------------------------- 2020-10-10 08:29:16 todo: fully paraeterizable sho dash ---------------------------------- 2020-10-17 18:13:47 no todo: http2.0 ---------------------------------- 2020-10-19 08:50:04 no todo: parse privilege levels from radius and tacacs no todo: looking glass rfc8522 no todo: fully paraeterizable sho dash todo: parse privilege levels from tacacs ---------------------------------- 2020-10-20 02:14:27 qc pass: unicast+linkstate over bgp qc pass: unicast+linkstate over bgp with soft-reconfig qc pass: unicast+linkstate over bgp with additional path qc pass: isis with bgp linkstate qc pass: lsrp with bgp linkstate qc pass: ospf with bgp linkstate ---------------------------------- 2020-11-09 13:32:15 no todo: yang over netconf, proto over grpc ---------------------------------- 2020-11-12 20:34:44 qc pass: integrated isis over ethernet qc pass: integrated isis over hdlc qc pass: integrated isis over gre qc pass: integrated isis narrow metric qc pass: integrated isis attached qc pass: integrated isis chain of broadcast nets qc pass: integrated isis broadcast subnet qc pass: integrated isis address suppression qc pass: integrated isis inter-level routes qc pass: integrated isis inter level ingress filtering with prefixlist qc pass: integrated isis inter level egress filtering with prefixlist qc pass: integrated isis inter level ingress filtering with routemap qc pass: integrated isis inter level egress filtering with routemap qc pass: integrated isis inter level ingress filtering with routepolicy qc pass: integrated isis inter level egress filtering with routepolicy qc pass: integrated isis default route qc pass: integrated isis multi-topology qc pass: integrated isis with sr qc pass: integrated isis inter-level with sr qc pass: integrated isis multi-topology with sr qc pass: integrated isis prefix withdraw qc pass: integrated isis change in metric ---------------------------------- 2020-11-12 21:20:31 qc pass: integrated isis aggregate qc pass: integrated isis prefix movement qc pass: integrated isis with bier qc pass: integrated isis inter-level with bier qc pass: integrated isis multi-topology with bier qc pass: integrated isis change in tag qc pass: integrated isis over point2point ethernet qc pass: integrated isis ecmp connection ---------------------------------- 2020-11-13 03:37:49 qc pass: interop1: integrated isis qc pass: interop2: integrated isis qc pass: interop8: integrated isis qc pass: interop9: integrated isis qc pass: integrated isis with php sr qc pass: asymmetric integrated isis ---------------------------------- 2020-11-13 12:16:42 no todo: bfd need to send with ttl=255 ---------------------------------- 2020-11-14 13:55:57 qc pass: interop2: isis bidir te qc pass: interop2: ospf bidir te qc pass: bidir te without global id qc pass: bidir te with global id ---------------------------------- 2020-11-23 08:45:00 no qc pass: other over srv6 over bgp additional path no qc pass: other over srv6 over bgp with soft-reconfig no qc pass: other over srv6 over bgp route server no qc pass: other over srv6 over confed bgp no qc pass: other over srv6 over ibgp rr no qc pass: other over srv6 over ebgp no qc pass: other over srv6 over ibgp no qc pass: unicast+other over bgp route server no qc pass: unicast+other over confed bgp no qc pass: unicast+other over ibgp rr no qc pass: unicast+other over ibgp no qc pass: unicast+other over bgp with additional path no qc pass: unicast+other over bgp with soft-reconfig no qc pass: unicast+other over ebgp qc pass: unicast+olab over ebgp qc pass: unicast+olab over bgp with soft-reconfig qc pass: unicast+olab over bgp with additional path qc pass: unicast+olab over ibgp qc pass: unicast+olab over ibgp rr qc pass: unicast+olab over confed bgp qc pass: unicast+olab over bgp route server qc pass: olab over srv6 over ibgp qc pass: olab over srv6 over ebgp qc pass: olab over srv6 over ibgp rr qc pass: olab over srv6 over confed bgp qc pass: olab over srv6 over bgp route server qc pass: olab over srv6 over bgp with soft-reconfig qc pass: olab over srv6 over bgp additional path ---------------------------------- 2020-11-24 04:45:07 qc pass: unicast+ouni over ebgp qc pass: unicast+ouni over bgp with soft-reconfig qc pass: unicast+ouni over bgp with additional path qc pass: unicast+ouni over ibgp qc pass: unicast+ouni over ibgp rr qc pass: unicast+ouni over confed bgp qc pass: unicast+ouni over bgp route server ---------------------------------- 2020-11-24 11:18:36 qc pass: unicast+omul over bgp qc pass: unicast+omul over bgp with soft-reconfig qc pass: unicast+omul over bgp with additional path qc pass: unicast+oflw over bgp qc pass: unicast+oflw over bgp with soft-reconfig qc pass: unicast+oflw over bgp with additional path qc pass: unicast+osrt over bgp qc pass: unicast+osrt over bgp with soft-reconfig qc pass: unicast+osrt over bgp with additional path ---------------------------------- 2020-11-24 14:47:55 qc pass: qos transmit otherflowspec qc pass: qos drop otherflowspec qc pass: qos policer otherflowspec qc pass: qos priority otherflowspec ---------------------------------- 2020-11-26 18:37:43 qc pass: ouni bgp ingress route filtering with prefixlist qc pass: ouni bgp egress route filtering with prefixlist qc pass: ouni bgp ingress route filtering with routemap qc pass: ouni bgp egress route filtering with routemap qc pass: ouni bgp ingress route filtering with prefixlist with soft-reconfig qc pass: ouni bgp egress route filtering with prefixlist with soft-reconfig qc pass: ouni bgp ingress route filtering with routemap with soft-reconfig qc pass: ouni bgp egress route filtering with routemap with soft-reconfig qc pass: ouni bgp ingress route filtering with routepolicy qc pass: ouni bgp egress route filtering with routepolicy qc pass: ouni bgp ingress route filtering with routepolicy with soft-reconfig qc pass: ouni bgp egress route filtering with routepolicy with soft-reconfig ---------------------------------- 2020-11-26 18:48:06 qc pass: ouni bgp default route ---------------------------------- 2020-11-26 19:21:48 qc pass: vpns with default route ---------------------------------- 2020-11-26 20:13:11 qc pass: olab bgp default route qc pass: othervpns with default route ---------------------------------- 2020-11-26 22:02:52 qc pass: vpns ingress route filtering with routemap qc pass: vpns egress route filtering with routemap qc pass: vpns ingress route filtering with routemap with soft-reconfig qc pass: vpns egress route filtering with routemap with soft-reconfig qc pass: vpns ingress route filtering with routepolicy qc pass: vpns egress route filtering with routepolicy qc pass: vpns ingress route filtering with routepolicy with soft-reconfig qc pass: vpns egress route filtering with routepolicy with soft-reconfig qc pass: othervpns ingress route filtering with routemap qc pass: othervpns egress route filtering with routemap qc pass: othervpns ingress route filtering with routemap with soft-reconfig qc pass: othervpns egress route filtering with routemap with soft-reconfig qc pass: othervpns ingress route filtering with routepolicy qc pass: othervpns egress route filtering with routepolicy qc pass: othervpns ingress route filtering with routepolicy with soft-reconfig qc pass: othervpns egress route filtering with routepolicy with soft-reconfig ---------------------------------- 2020-11-27 08:10:39 qc pass: labels bgp ingress route filtering with prefixlist qc pass: labels bgp egress route filtering with prefixlist qc pass: labels bgp ingress route filtering with routemap qc pass: labels bgp ingress route filtering with routemap qc pass: labels bgp egress route filtering with routemap qc pass: labels bgp ingress route filtering with prefixlist with soft-reconfig qc pass: labels bgp egress route filtering with prefixlist with soft-reconfig qc pass: labels bgp ingress route filtering with routemap with soft-reconfig qc pass: labels bgp egress route filtering with routemap with soft-reconfig qc pass: labels bgp ingress route filtering with routepolicy qc pass: labels bgp egress route filtering with routepolicy qc pass: labels bgp ingress route filtering with routepolicy with soft-reconfig qc pass: labels bgp egress route filtering with routepolicy with soft-reconfig qc pass: labels bgp default route qc pass: olab bgp ingress route filtering with prefixlist qc pass: olab bgp egress route filtering with prefixlist qc pass: olab bgp ingress route filtering with routemap qc pass: olab bgp ingress route filtering with routemap qc pass: olab bgp egress route filtering with routemap qc pass: olab bgp ingress route filtering with prefixlist with soft-reconfig qc pass: olab bgp egress route filtering with prefixlist with soft-reconfig qc pass: olab bgp ingress route filtering with routemap with soft-reconfig qc pass: olab bgp egress route filtering with routemap with soft-reconfig qc pass: olab bgp ingress route filtering with routepolicy qc pass: olab bgp egress route filtering with routepolicy qc pass: olab bgp ingress route filtering with routepolicy with soft-reconfig qc pass: olab bgp egress route filtering with routepolicy with soft-reconfig qc pass: labels bgp aggregation qc pass: olab bgp aggregation qc pass: ouni bgp aggregation qc pass: redistribution with ouni bgp qc pass: redistribution with bgp labels qc pass: redistribution with olab bgp ---------------------------------- 2020-11-27 08:26:00 qc pass: bgp vpns aggregation qc pass: bgp othervpns aggregation ---------------------------------- 2020-11-28 14:57:25 no todo: multilink ppp, fr qc pass: ppp with short multilink fragmentation qc pass: ppp with long multilink fragmentation qc pass: ppp with asymmetric multilink fragmentation qc pass: ppp with asymmetric multilink qc pass: interop1: pppoe with long multilink fragmentation ---------------------------------- 2020-11-29 10:30:51 qc pass: interop9: pppoe client qc pass: interop9: pppoe server qc pass: interop9: mpls over pppoe ---------------------------------- 2020-11-30 09:00:58 qc pass: ppp address propagation ---------------------------------- 2020-12-06 22:54:09 qc pass: ip over framerelay ---------------------------------- 2020-12-07 04:39:16 qc pass: framerelay asymmetric fragmentation ---------------------------------- 2020-12-07 21:33:32 qc pass: tdmoudp with middle channels qc pass: ppp with tdmoudp qc pass: hdlc with tdmoudp qc pass: lapb with tdmoudp qc pass: framerelay with tdmoudp qc pass: atmdxi with tdmoudp qc pass: isdn with tdmoudp qc pass: sep with tdmoudp ---------------------------------- 2020-12-12 13:16:39 qc pass: access class qc pass: access map qc pass: access policy qc pass: access subnet qc pass: remote triggered blackhole access qc pass: remote triggered whitelist access ---------------------------------- 2020-12-13 09:05:18 qc pass: eapol qc pass: lacp ---------------------------------- 2020-12-14 06:18:12 qc pass: interop1: lacp qc pass: interop2: ethernet encapsulation ---------------------------------- 2020-12-14 07:41:16 no qc pass: interop2: ethernet encapsulation qc pass: interop2: lacp ---------------------------------- 2020-12-19 15:13:44 no todo: pipeline properties, terminal autoresize ---------------------------------- 2020-12-21 19:54:27 qc pass: te explicit path qc pass: bgp over te ---------------------------------- 2020-12-25 14:34:56 no todo: igmp4/6 snoop, pim4/6 snoop for bridging ---------------------------------- 2020-12-25 17:56:17 qc pass: multicast routing with pim snooping qc pass: multicast routing with igmp/mld snooping ---------------------------------- 2021-01-06 14:13:11 qc pass: interop1: bgp large community qc pass: p4lang: policy routing between vrfs qc pass: p4lang: policy routing with nexthop qc pass: p4lang: policy routing with interface and nexthop ---------------------------------- 2021-01-14 20:08:27 qc pass: p4lang: ingress policer qc pass: p4lang: egress policer qc pass: p4lang: vlan ingress policer qc pass: p4lang: vlan egress policer ---------------------------------- 2021-01-18 10:45:56 qc pass: p4lang: transmit flowspec qc pass: p4lang: drop flowspec qc pass: p4lang: policer flowspec qc pass: p4lang: priority flowspec ---------------------------------- 2021-01-20 22:05:16 qc pass: monitor session rx qc pass: monitor session tx qc pass: monitor session sampled qc pass: monitor session truncated ---------------------------------- 2021-01-21 20:44:02 qc pass: p4lang: multicast routing qc pass: p4lang: multicast vlan routing ---------------------------------- 2021-01-22 08:22:36 qc pass: p4lang: multicast routing over macsec qc pass: p4lang: multicast routing over vlan macsec qc pass: p4lang: multicast bundle routing qc pass: p4lang: multicast bundle vlan routing qc pass: p4lang: hairpin multicast routing qc pass: p4lang: hairpin vlan multicast routing ---------------------------------- 2021-01-26 05:46:19 todo: p4bf: count hairpins in bffwd to make mcast over hairpin possible todo: p4bf: move nexthop stuff to egress pipe todo: monitor-filter todo: pack cap should use monitor-* infra ---------------------------------- 2021-01-26 06:22:07 no todo: p4bf: move nexthop stuff to egress pipe no todo: p4bf: count hairpins in bffwd to make mcast over hairpin possible todo: p4lang: count hairpins in bffwd to make mcast over hairpin possible todo: p4lang: move nexthop stuff to egress pipe ---------------------------------- 2021-01-27 10:14:06 qc pass: p4lang: mldp core qc pass: p4lang: mldp vlan core qc pass: p4lang: mldp egress edge qc pass: p4lang: mldp vlan egress edge ---------------------------------- 2021-01-27 21:24:15 qc pass: p4lang: mldp ingress edge qc pass: p4lang: mldp vlan ingress edge ---------------------------------- 2021-01-28 06:09:59 no todo: pack cap should use monitor-* infra no todo: monitor-filter no todo: p4lang: move nexthop stuff to egress pipe no todo: p4lang: count hairpins in bffwd to make mcast over hairpin possible ---------------------------------- 2021-01-28 19:08:23 qc pass: p4lang: mldp core over gre qc pass: p4lang: mldp core over l2tp ---------------------------------- 2021-01-29 05:51:29 no qc pass: bridge inspection failed: bridge inspection ---------------------------------- 2021-01-29 06:58:20 no failed: bridge inspection qc pass: bridge inspection ---------------------------------- 2021-01-29 08:12:02 qc pass: interface inspection with ingress drop qc pass: interface inspection with egress drop qc pass: mpls inspection with ingress drop qc pass: mpls inspection with egress drop ---------------------------------- 2021-01-30 09:21:35 qc pass: interface inspection with selective ingress drop qc pass: interface inspection with selective egress drop qc pass: mpls inspection with selective ingress drop qc pass: mpls inspection with selective egress drop ---------------------------------- 2021-01-30 16:56:39 qc pass: ingress mpls access list qc pass: egress mpls access list qc pass: ingress mpls common access list qc pass: egress mpls common access list ---------------------------------- 2021-02-03 07:07:12 qc pass: p4lang: mldp core and egress edge qc pass: p4lang: vlan mldp core and egress edge ---------------------------------- 2021-02-04 21:54:21 qc pass: p4lang: bier core qc pass: p4lang: bier vlan core qc pass: p4lang: bier core over gre qc pass: p4lang: bier core over l2tp ---------------------------------- 2021-02-04 22:29:57 qc pass: p4lang: bier bundle core qc pass: p4lang: bier bundle vlan core qc pass: p4lang: hairpin bier core qc pass: p4lang: hairpin vlan bier core ---------------------------------- 2021-02-05 04:16:32 qc pass: p4lang: mldp bundle core qc pass: p4lang: mldp bundle vlan core qc pass: p4lang: hairpin mldp core qc pass: p4lang: hairpin vlan mldp core ---------------------------------- 2021-02-05 06:28:52 qc pass: p4lang: bier egress edge qc pass: p4lang: bier vlan egress edge ---------------------------------- 2021-02-05 15:55:15 qc pass: p4lang: bier ingress edge qc pass: p4lang: bier vlan ingress edge qc pass: p4lang: bier core and egress edge qc pass: p4lang: vlan bier core and egress edge ---------------------------------- 2021-02-10 12:50:26 qc pass: dummy test qc pass: ip over anyconnect qc pass: atmdxi encapsulation qc pass: atmsar encapsulation qc pass: ppp with ax25 qc pass: hdlc with ax25 qc pass: lapb with ax25 qc pass: framerelay with ax25 qc pass: atmdxi with ax25 qc pass: isdn with ax25 qc pass: sep with ax25 qc pass: chain bridged ethernet qc pass: chain bridged ethernet vlan qc pass: star bridged ethernet qc pass: bridged ethernet over hdlc qc pass: bridged ethernet over ppp qc pass: bridged ethernet over framerelay qc pass: bridged ethernet over atmdxi qc pass: bridged ethernet over atmsar qc pass: bridged ethernet over gre qc pass: bridge with spantree qc pass: bridged ethernet over bridge qc pass: bridge split horizon qc pass: bridge mac learning qc pass: bridged mac rewrite qc pass: ppp over bstun qc pass: bundle of ethernet port qc pass: bundle of serial port qc pass: bundle of ethernet ports qc pass: bundle of serial ports qc pass: bundle over bridge qc pass: bridge over bundle qc pass: replicating bundle qc pass: unreplicating bundle qc pass: dejittering bundle qc pass: loadbalancing bundle qc pass: multichassis bundle qc pass: backup bundle qc pass: dhcp qc pass: dlsw over ipv4 qc pass: dlsw over ipv6 qc pass: dlsw over loopback qc pass: hdlc tunneling with dlsw qc pass: ppp tunneling with dlsw qc pass: lapb tunneling with dlsw qc pass: framerelay tunneling with dlsw qc pass: atmdxi tunneling with dlsw qc pass: isdn tunneling with dlsw qc pass: sep tunneling with dlsw qc pass: ethernet tunneling with dlsw qc pass: vlan tunneling with dlsw qc pass: tunnel interface with dlsw qc pass: erspan over ipv4 qc pass: erspan over ipv6 qc pass: erspan over loopback qc pass: hdlc tunneling with erspan qc pass: ppp tunneling with erspan qc pass: lapb tunneling with erspan qc pass: framerelay tunneling with erspan qc pass: atmdxi tunneling with erspan qc pass: isdn tunneling with erspan qc pass: sep tunneling with erspan qc pass: ethernet tunneling with erspan qc pass: vlan tunneling with erspan qc pass: tunnel interface with erspan qc pass: ethernet encapsulation qc pass: point2point ethernet encapsulation qc pass: ethernet dot1q encapsulation qc pass: ethernet qinq encapsulation qc pass: ethernet dot1ad encapsulation qc pass: ethernet dot1ah encapsulation qc pass: ethernet qinq1 encapsulation qc pass: ethernet qinq2 encapsulation qc pass: ethernet qinq3 encapsulation qc pass: ethernet qinqX encapsulation qc pass: ethernet qinqX custom encapsulation qc pass: ethernet isl encapsulation qc pass: proxy remote arp/nd qc pass: proxy local arp/nd qc pass: static arp/nd entry qc pass: loss detection qc pass: eapol qc pass: lacp qc pass: monitor session rx qc pass: monitor session tx qc pass: monitor session sampled qc pass: monitor session truncated qc pass: etherip over ipv4 qc pass: etherip over ipv6 qc pass: etherip over loopback qc pass: hdlc tunneling with etherip qc pass: ppp tunneling with etherip qc pass: lapb tunneling with etherip qc pass: framerelay tunneling with etherip qc pass: atmdxi tunneling with etherip qc pass: isdn tunneling with etherip qc pass: sep tunneling with etherip qc pass: ethernet tunneling with etherip qc pass: vlan tunneling with etherip qc pass: tunnel interface with etherip qc pass: etherip server qc pass: framerelay ansi qc pass: framerelay cisco qc pass: framerelay q933 qc pass: framerelay fragmentation qc pass: framerelay asymmetric fragmentation qc pass: ppp over framerelay qc pass: ip over framerelay qc pass: geneve over ipv4 qc pass: geneve over ipv6 qc pass: geneve over loopback qc pass: hdlc tunneling with geneve qc pass: ppp tunneling with geneve qc pass: lapb tunneling with geneve qc pass: framerelay tunneling with geneve qc pass: atmdxi tunneling with geneve qc pass: isdn tunneling with geneve qc pass: sep tunneling with geneve qc pass: ethernet tunneling with geneve qc pass: vlan tunneling with geneve qc pass: tunnel interface with geneve qc pass: multipoint ethernet over geneve qc pass: gre over ipv4 qc pass: gre over ipv6 qc pass: gre over gre qc pass: gre over loopback qc pass: ppp with gre qc pass: hdlc with gre qc pass: lapb with gre qc pass: framerelay with gre qc pass: atmdxi with gre qc pass: isdn with gre qc pass: sep with gre qc pass: gre server qc pass: ppp over gtp qc pass: ethernet hairpin qc pass: serial hairpin qc pass: bundle hairpin qc pass: bridge hairpin qc pass: hsrp over ethernet qc pass: icmptunnel over ipv4 qc pass: icmptunnel over ipv6 qc pass: icmptunnel over icmptunnel qc pass: icmptunnel over loopback qc pass: ipcomp over ipv4 qc pass: ipcomp over ipv6 qc pass: ipcomp over ipcomp qc pass: ipcomp over loopback qc pass: ipenc over ipv4 qc pass: ipenc over ipv6 qc pass: ipenc over ipenc qc pass: ipenc over loopback qc pass: ipip over ipv4 qc pass: ipip over ipv6 qc pass: ipip over ipip qc pass: ipip over loopback qc pass: iponly qc pass: isdn qc pass: ppp over l2f qc pass: ppp over authenticated l2f qc pass: ppp over l2tp2 qc pass: ppp over l2tp3 server qc pass: ppp over l2tp3 qc pass: hdlc over l2tp3 qc pass: lapb over l2tp3 qc pass: framerelay over l2tp3 qc pass: atmdxi over l2tp3 qc pass: isdn over l2tp3 qc pass: sep over l2tp3 qc pass: port mode ppp over l2tp3 qc pass: ethernet over l2tp3 qc pass: vlan over l2tp3 qc pass: multipoint ethernet over l2tp3 qc pass: hdlc tunneling with l2tp3 qc pass: ppp tunneling with l2tp3 qc pass: lapb tunneling with l2tp3 qc pass: framerelay tunneling with l2tp3 qc pass: atmdxi tunneling with l2tp3 qc pass: isdn tunneling with l2tp3 qc pass: sep tunneling with l2tp3 qc pass: ethernet tunneling with l2tp3 qc pass: vlan tunneling with l2tp3 qc pass: tunnel interface with l2tp3 qc pass: ppp over authenticated l2tp2 qc pass: ppp over authenticated l2tp3 server qc pass: ppp over authenticated l2tp3 qc pass: lapb mod8 qc pass: lapb mod128 qc pass: lapb mod32768 qc pass: lisp over ipv4 qc pass: lisp over ipv6 qc pass: lisp over lisp qc pass: lisp over loopback qc pass: lisp over asymmetric ports qc pass: minenc over ipv4 qc pass: minenc over ipv6 qc pass: minenc over minenc qc pass: minenc over loopback qc pass: modem with alaw qc pass: modem with ulaw qc pass: modem with alaw through proxy qc pass: modem with ulaw through proxy qc pass: modem with alaw through peer qc pass: modem with ulaw through peer qc pass: modem with alaw and ulaw through peer qc pass: modem through ipv4 peer qc pass: modem through ipv6 peer qc pass: modem through udp peer qc pass: modem through tcp peer qc pass: mplsip over ipv4 qc pass: mplsip over ipv6 qc pass: mplsip over mplsip qc pass: mplsip over loopback qc pass: mplsip server qc pass: mplsudp over ipv4 qc pass: mplsudp over ipv6 qc pass: mplsudp over mplsudp qc pass: mplsudp over loopback qc pass: mplsudp server qc pass: mplsudp over asymmetric ports qc pass: nos over ipv4 qc pass: nos over ipv6 qc pass: nos over nos qc pass: nos over loopback qc pass: nvgre over ipv4 qc pass: nvgre over ipv6 qc pass: nvgre over loopback qc pass: hdlc tunneling with nvgre qc pass: ppp tunneling with nvgre qc pass: lapb tunneling with nvgre qc pass: framerelay tunneling with nvgre qc pass: atmdxi tunneling with nvgre qc pass: isdn tunneling with nvgre qc pass: sep tunneling with nvgre qc pass: ethernet tunneling with nvgre qc pass: vlan tunneling with nvgre qc pass: tunnel interface with nvgre qc pass: pckoip over ipv4 qc pass: pckoip over ipv6 qc pass: pckoip over pckoip qc pass: pckoip over loopback qc pass: ppp with packet over udp qc pass: ethernet with packet over udp qc pass: hdlc tunneling with packet over udp qc pass: ppp tunneling with packet over udp qc pass: lapb tunneling with packet over udp qc pass: framerelay tunneling with packet over udp qc pass: atmdxi tunneling with packet over udp qc pass: isdn tunneling with packet over udp qc pass: sep tunneling with packet over udp qc pass: ethernet tunneling with packet over udp qc pass: vlan tunneling with packet over udp qc pass: tunnel interface with packet over udp qc pass: ppp over packet over udp qc pass: ethernet over packet over udp qc pass: interworking with ethernet over packet over udp qc pass: interworking with packet over dtls qc pass: ppp with packet over dtls qc pass: ppp with packet over tcp qc pass: ppp with packet over tls qc pass: ppp with packet over txt qc pass: ppp with packet over txtls qc pass: packet over udp over asymmetric ports qc pass: pim over ipv4 qc pass: pim over ipv6 qc pass: pim over pim qc pass: pim over loopback qc pass: pipe over ipv4 qc pass: pipe over ipv6 qc pass: pipe over pipe qc pass: pipe over loopback qc pass: ppp encapsulation qc pass: ppp with local authentication qc pass: ppp with radius authentication qc pass: ppp with tacacs authentication qc pass: ppp with pap authentication qc pass: ppp with chap authentication qc pass: ppp with eap authentication qc pass: ppp routes with local authentication qc pass: ppp routes with radius authentication qc pass: ppp with short multilink fragmentation qc pass: ppp with long multilink fragmentation qc pass: ppp with asymmetric multilink fragmentation qc pass: ppp with asymmetric multilink qc pass: ppp address propagation qc pass: pppoe over ethernet encapsulation qc pass: pppoe over bridge encapsulation qc pass: ppp relay over pppoe qc pass: ppp over pptp qc pass: raw encapsulation qc pass: process redundancy qc pass: sep qc pass: slaac qc pass: sreth over ipv4 qc pass: sreth over ipv6 qc pass: sreth over loopback qc pass: hdlc tunneling with sreth qc pass: ppp tunneling with sreth qc pass: lapb tunneling with sreth qc pass: framerelay tunneling with sreth qc pass: atmdxi tunneling with sreth qc pass: isdn tunneling with sreth qc pass: sep tunneling with sreth qc pass: ethernet tunneling with sreth qc pass: vlan tunneling with sreth qc pass: tunnel interface with sreth qc pass: ppp over ssh qc pass: ppp over sstp qc pass: spantree over ethernet qc pass: ppp over stun qc pass: ppp over tcp qc pass: tdmoudp with middle channels qc pass: ppp with tdmoudp qc pass: hdlc with tdmoudp qc pass: lapb with tdmoudp qc pass: framerelay with tdmoudp qc pass: atmdxi with tdmoudp qc pass: isdn with tdmoudp qc pass: sep with tdmoudp qc pass: ppp over telnet qc pass: ppp over tls qc pass: tmux over ipv4 qc pass: tmux over ipv6 qc pass: tmux over tmux qc pass: tmux over loopback qc pass: udpgre over ipv4 qc pass: udpgre over ipv6 qc pass: udpgre over udpgre qc pass: udpgre over loopback qc pass: uti over ipv4 qc pass: uti over ipv6 qc pass: uti over loopback qc pass: hdlc tunneling with uti qc pass: ppp tunneling with uti qc pass: lapb tunneling with uti qc pass: framerelay tunneling with uti qc pass: atmdxi tunneling with uti qc pass: isdn tunneling with uti qc pass: sep tunneling with uti qc pass: ethernet tunneling with uti qc pass: vlan tunneling with uti qc pass: tunnel interface with uti qc pass: vdc parent interface qc pass: vdc parent connect qc pass: vdc peer connect qc pass: vrrp over ethernet qc pass: vxlan over ipv4 qc pass: vxlan over ipv6 qc pass: vxlan over loopback qc pass: hdlc tunneling with vxlan qc pass: ppp tunneling with vxlan qc pass: lapb tunneling with vxlan qc pass: framerelay tunneling with vxlan qc pass: atmdxi tunneling with vxlan qc pass: isdn tunneling with vxlan qc pass: sep tunneling with vxlan qc pass: ethernet tunneling with vxlan qc pass: vlan tunneling with vxlan qc pass: tunnel interface with vxlan qc pass: multipoint ethernet over vxlan qc pass: cross connect hdlc interfaces qc pass: cross connect ppp interfaces qc pass: cross connect lapb interfaces qc pass: cross connect framerelay interfaces qc pass: cross connect atmdxi interfaces qc pass: cross connect isdn interfaces qc pass: cross connect sep interfaces qc pass: cross connect ethernet interfaces qc pass: cross connect vlan subinterfaces qc pass: cross connect vlan subinterfaces of same interface qc pass: access class qc pass: access map qc pass: access policy qc pass: access subnet qc pass: remote triggered blackhole access qc pass: remote triggered whitelist access qc pass: ingress protocol matching access list qc pass: egress protocol matching access list qc pass: ingress destination matching access list qc pass: egress destination matching access list qc pass: ingress source matching access list qc pass: egress source matching access list qc pass: ingress bridged access list qc pass: egress bridged access list qc pass: ingress ttl matching access list qc pass: egress ttl matching access list qc pass: ingress tos matching access list qc pass: egress tos matching access list qc pass: ingress dscp matching access list qc pass: egress dscp matching access list qc pass: ingress precedence matching access list qc pass: egress precedence matching access list qc pass: ingress length matching access list qc pass: egress length matching access list qc pass: ingress destination matching hibryd access list qc pass: egress destination matching hibryd access list qc pass: ingress source matching hibryd access list qc pass: egress source matching hibryd access list qc pass: ingress protocol matching common access list qc pass: egress protocol matching common access list qc pass: ingress destination matching common access list qc pass: egress destination matching common access list qc pass: ingress source matching common access list qc pass: egress source matching common access list qc pass: ingress ttl matching common access list qc pass: egress ttl matching common access list qc pass: ingress tos matching common access list qc pass: egress tos matching common access list qc pass: ingress length matching common access list qc pass: egress length matching common access list qc pass: ingress source port matching access list qc pass: egress source port matching access list qc pass: ingress destination port matching access list qc pass: egress destination port matching access list qc pass: ingress source port matching hibryd access list qc pass: egress source port matching hibryd access list qc pass: ingress destination port matching hibryd access list qc pass: egress destination port matching hibryd access list qc pass: ingress source port matching common access list qc pass: egress source port matching common access list qc pass: ingress destination port matching common access list qc pass: egress destination port matching common access list qc pass: ingress protocol matching hierarchical access list qc pass: egress protocol matching hierarchical access list qc pass: ingress destination matching hierarchical access list qc pass: egress destination matching hierarchical access list qc pass: ingress source matching hierarchical access list qc pass: egress source matching hierarchical access list qc pass: ingress ttl matching hierarchical access list qc pass: egress ttl matching hierarchical access list qc pass: ingress tos matching hierarchical access list qc pass: egress tos matching hierarchical access list qc pass: ingress length matching hierarchical access list qc pass: egress length matching hierarchical access list qc pass: ingress source port matching hierarchical access list qc pass: egress source port matching hierarchical access list qc pass: ingress destination port matching hierarchical access list qc pass: egress destination port matching hierarchical access list qc pass: reflexive access list qc pass: ingress mpls access list qc pass: egress mpls access list qc pass: ingress mpls common access list qc pass: egress mpls common access list qc pass: dtls test qc pass: ipv4 in esp over ipv4 qc pass: ipv4 in esp over ipv6 qc pass: ipv6 in esp over ipv4 qc pass: ipv6 in esp over ipv6 qc pass: ipv4 in ike1 over ipv4 qc pass: ipv4 in ike1 over ipv6 qc pass: ipv6 in ike1 over ipv4 qc pass: ipv6 in ike1 over ipv6 qc pass: ike1 with des qc pass: ike1 with blowfish qc pass: ike1 with 3des qc pass: ike1 with aes128 qc pass: ike1 with aes192 qc pass: ike1 with aes256 qc pass: ike1 with md5 qc pass: ike1 with sha1 qc pass: ike1 with sha256 qc pass: ike1 with sha512 qc pass: ike1 with group1 qc pass: ike1 with group2 qc pass: ike1 with group5 qc pass: ike1 with group14 qc pass: ike1 with group15 qc pass: ike1 with group16 qc pass: ike1 with group17 qc pass: ike1 with group18 qc pass: ike1 with group22 qc pass: ike1 with group23 qc pass: ike1 with group24 qc pass: ike1 over ipsec qc pass: ipv4 in ike2 over ipv4 qc pass: ipv4 in ike2 over ipv6 qc pass: ipv6 in ike2 over ipv4 qc pass: ipv6 in ike2 over ipv6 qc pass: ike2 with des qc pass: ike2 with blowfish qc pass: ike2 with 3des qc pass: ike2 with aes128 qc pass: ike2 with aes192 qc pass: ike2 with aes256 qc pass: ike2 with md5 qc pass: ike2 with sha1 qc pass: ike2 with sha256 qc pass: ike2 with sha512 qc pass: ike2 with group1 qc pass: ike2 with group2 qc pass: ike2 with group5 qc pass: ike2 with group14 qc pass: ike2 with group15 qc pass: ike2 with group16 qc pass: ike2 with group17 qc pass: ike2 with group18 qc pass: ike2 with group22 qc pass: ike2 with group23 qc pass: ike2 with group24 qc pass: ike2 over ipsec qc pass: inlsp over ipv4 qc pass: inlsp over ipv6 qc pass: inlsp over inlsp qc pass: inlsp over loopback qc pass: inlsp with des qc pass: inlsp with blowfish qc pass: inlsp with 3des qc pass: inlsp with aes128 qc pass: inlsp with aes192 qc pass: inlsp with aes256 qc pass: inlsp with md5 qc pass: inlsp with sha1 qc pass: inlsp with sha256 qc pass: inlsp with sha512 qc pass: route inspection qc pass: flow inspection qc pass: interface inspection qc pass: bridge inspection qc pass: mpls inspection qc pass: interface inspection with ingress drop qc pass: interface inspection with egress drop qc pass: mpls inspection with ingress drop qc pass: mpls inspection with egress drop qc pass: interface inspection with selective ingress drop qc pass: interface inspection with selective egress drop qc pass: mpls inspection with selective ingress drop qc pass: mpls inspection with selective egress drop qc pass: macsec over ethernet qc pass: macsec over ethernet vlan qc pass: macsec over ethernet bridge qc pass: macsec over hdlc qc pass: macsec over ppp qc pass: macsec over framerelay qc pass: macsec over atmdxi qc pass: macsec over atmsar qc pass: macsec over tunnel qc pass: macsec with des qc pass: macsec with blowfish qc pass: macsec with 3des qc pass: macsec with aes128 qc pass: macsec with aes192 qc pass: macsec with aes256 qc pass: macsec with md5 qc pass: macsec with sha1 qc pass: macsec with sha256 qc pass: macsec with sha512 qc pass: macsec with group1 qc pass: macsec with group2 qc pass: macsec with group5 qc pass: macsec with group14 qc pass: macsec with group15 qc pass: macsec with group16 qc pass: macsec with group17 qc pass: macsec with group18 qc pass: macsec with group22 qc pass: macsec with group23 qc pass: macsec with group24 qc pass: macsec over ethernet bundle qc pass: macsec over ethernet hairpin qc pass: source list translation to interface qc pass: source list translation to address qc pass: source address translation to interface qc pass: source address translation to address qc pass: target address translation to address qc pass: more sources translation to interface qc pass: ipv4-ipv6 protocol translation qc pass: source prefix translation qc pass: target prefix translation qc pass: nat64 translation qc pass: source port randomization qc pass: source interface translation to address qc pass: target interface translation to address qc pass: openvpn over ipv4 qc pass: openvpn over ipv6 qc pass: openvpn over openvpn qc pass: openvpn over loopback qc pass: openvpn with des qc pass: openvpn with blowfish qc pass: openvpn with 3des qc pass: openvpn with aes128 qc pass: openvpn with aes192 qc pass: openvpn with aes256 qc pass: openvpn with md5 qc pass: openvpn with sha1 qc pass: openvpn with sha256 qc pass: openvpn with sha512 qc pass: openvpn over asymmetric ports qc pass: transparent proxy qc pass: satp over ipv4 qc pass: satp over ipv6 qc pass: satp over satp qc pass: satp over loopback qc pass: satp with des qc pass: satp with blowfish qc pass: satp with 3des qc pass: satp with aes128 qc pass: satp with aes192 qc pass: satp with aes256 qc pass: satp with md5 qc pass: satp with sha1 qc pass: satp with sha256 qc pass: satp with sha512 qc pass: satp over asymmetric ports qc pass: skip over ipv4 qc pass: skip over ipv6 qc pass: skip over skip qc pass: skip over loopback qc pass: skip with des qc pass: skip with blowfish qc pass: skip with 3des qc pass: skip with aes128 qc pass: skip with aes192 qc pass: skip with aes256 qc pass: skip with md5 qc pass: skip with sha1 qc pass: skip with sha256 qc pass: skip with sha512 qc pass: ssh test qc pass: swipe over ipv4 qc pass: swipe over ipv6 qc pass: swipe over swipe qc pass: swipe over loopback qc pass: swipe with des qc pass: swipe with blowfish qc pass: swipe with 3des qc pass: swipe with aes128 qc pass: swipe with aes192 qc pass: swipe with aes256 qc pass: swipe with md5 qc pass: swipe with sha1 qc pass: swipe with sha256 qc pass: swipe with sha512 qc pass: tls test qc pass: wireguard over ipv4 qc pass: wireguard over ipv6 qc pass: wireguard over wireguard qc pass: wireguard over loopback qc pass: wireguard over asymmetric ports qc pass: empty demo network qc pass: addressed demo network qc pass: interop1: ebgp qc pass: interop1: ibgp qc pass: interop1: bgp locpref qc pass: interop1: bgp origin qc pass: interop1: bgp metric qc pass: interop1: bgp community qc pass: interop1: bgp aspath qc pass: interop1: bgp with labels qc pass: interop1: bgp addpath qc pass: interop1: bgp prefix withdraw qc pass: interop1: bgp vpnv4 qc pass: interop1: bgp authentication qc pass: interop1: bgp vpnv6 qc pass: interop1: vpls/ldp over bgp qc pass: interop1: vpls/bgp over bgp qc pass: interop1: bgp extended community qc pass: interop1: evpn/cmac over bgp qc pass: interop1: bgp 6pe qc pass: interop1: bgp aigp qc pass: interop1: bgp with php labels qc pass: interop1: bgp large community qc pass: interop1: dhcp server qc pass: interop1: dhcp client qc pass: interop1: dns qc pass: interop1: eigrp qc pass: interop1: eigrp prefix withdraw qc pass: interop1: ethernet encapsulation qc pass: interop1: dot1q encapsulation qc pass: interop1: spantree nonroot qc pass: interop1: spantree root qc pass: interop1: point2point ethernet encapsulation qc pass: interop1: lacp qc pass: interop1: ike1 with ipv4 qc pass: interop1: ike1 with ipv6 qc pass: interop1: ike1 with 3des qc pass: interop1: ike1 with aes128 qc pass: interop1: ike1 with aes192 qc pass: interop1: ike1 with aes256 qc pass: interop1: ike1 with sha1 qc pass: interop1: ike1 with sha256 qc pass: interop1: ike1 with sha512 qc pass: interop1: ike1 with group2 qc pass: interop1: ike1 with group5 qc pass: interop1: ike1 with group14 qc pass: interop1: ike1 with group15 qc pass: interop1: ike1 with group16 qc pass: interop1: ike1 with group24 qc pass: interop1: ike2 with ipv4 qc pass: interop1: ike2 with ipv6 qc pass: interop1: ike2 with 3des qc pass: interop1: ike2 with aes128 qc pass: interop1: ike2 with aes192 qc pass: interop1: ike2 with aes256 qc pass: interop1: ike2 with sha1 qc pass: interop1: ike2 with sha256 qc pass: interop1: ike2 with sha512 qc pass: interop1: ike2 with group2 qc pass: interop1: ike2 with group5 qc pass: interop1: ike2 with group14 qc pass: interop1: ike2 with group15 qc pass: interop1: ike2 with group16 qc pass: interop1: ike2 with group24 qc pass: interop1: point2point isis qc pass: interop1: isis dis qc pass: interop1: isis nondis qc pass: interop1: isis narrow metric qc pass: interop1: isis te qc pass: interop1: isis multi-topology qc pass: interop1: isis prefix withdraw qc pass: interop1: isis authentication qc pass: interop1: isis p2mp te qc pass: interop1: isis sr qc pass: interop1: isis lsp authentication qc pass: interop1: isis php sr qc pass: interop1: isis te with pcep qc pass: interop1: integrated isis qc pass: interop1: l2tp2 client qc pass: interop1: l2tp2 server qc pass: interop1: l2tp3 server qc pass: interop1: ethernet tunneling with l2tp3 qc pass: interop1: ldp lsp qc pass: interop1: ethernet over mpls qc pass: interop1: ldp p2mp lsp qc pass: interop1: ldp mp2mp lsp qc pass: interop1: ldp php lsp qc pass: interop1: ldp over point2point ethernet qc pass: interop1: igmp3/mld2 qc pass: interop1: pim qc pass: interop1: modem with alaw qc pass: interop1: modem with ulaw qc pass: interop1: point2point ospf qc pass: interop1: ospf dr qc pass: interop1: ospf nondr qc pass: interop1: ospf transit area qc pass: interop1: ospf stub area qc pass: interop1: ospf nssa area qc pass: interop1: ospf te qc pass: interop1: ospf prefix withdraw qc pass: interop1: ospf authentication qc pass: interop1: ospf p2mp te qc pass: interop1: ospf sr qc pass: interop1: ospf php sr qc pass: interop1: ospf te with pcep qc pass: interop1: pppoe client qc pass: interop1: pppoe server qc pass: interop1: pppoe with pap qc pass: interop1: pppoe with chap qc pass: interop1: pppoe with eap qc pass: interop1: pppoe with long multilink fragmentation qc pass: interop1: radius qc pass: interop1: rip qc pass: interop1: rip prefix withdraw qc pass: interop1: rip authentication qc pass: interop1: ssh qc pass: interop1: tacacs qc pass: interop1: gre tunnel qc pass: interop1: ipip tunnel qc pass: interop1: vxlan tunnel qc pass: interop2: ebgp qc pass: interop2: ibgp qc pass: interop2: bgp locpref qc pass: interop2: bgp origin qc pass: interop2: bgp metric qc pass: interop2: bgp community qc pass: interop2: bgp aspath qc pass: interop2: bgp with labels qc pass: interop2: bgp addpath qc pass: interop2: bgp prefix withdraw qc pass: interop2: bgp vpnv4 qc pass: interop2: bgp authentication qc pass: interop2: bgp vpnv6 qc pass: interop2: vpls/ldp over bgp qc pass: interop2: vpls/bgp over bgp qc pass: interop2: evpn/pbb over bgp qc pass: interop2: bgp extended community qc pass: interop2: bgp large community qc pass: interop2: bgp vpnv4 over srv6 qc pass: interop2: bgp vpnv6 over srv6 qc pass: interop2: bgp 6pe qc pass: interop2: evpn/vpws over bgp qc pass: interop2: bgp aigp qc pass: interop2: bgp with php labels qc pass: interop2: eigrp qc pass: interop2: eigrp prefix withdraw qc pass: interop2: ethernet encapsulation qc pass: interop2: dot1q encapsulation qc pass: interop2: dot1ad encapsulation qc pass: interop2: point2point ethernet encapsulation qc pass: interop2: lacp qc pass: interop2: point2point isis qc pass: interop2: isis dis qc pass: interop2: isis nondis qc pass: interop2: isis narrow metric qc pass: interop2: isis te qc pass: interop2: isis multi-topology qc pass: interop2: isis prefix withdraw qc pass: interop2: isis authentication qc pass: interop2: isis p2mp te qc pass: interop2: isis sr qc pass: interop2: isis lsp authentication qc pass: interop2: isis php sr qc pass: interop2: isis te with pcep qc pass: interop2: integrated isis qc pass: interop2: isis bidir te qc pass: interop2: ldp lsp qc pass: interop2: ethernet over mpls qc pass: interop2: ldp p2mp lsp qc pass: interop2: ldp mp2mp lsp qc pass: interop2: ldp php lsp qc pass: interop2: ldp over point2point ethernet qc pass: interop2: igmp3/mld2 qc pass: interop2: pim qc pass: interop2: point2point ospf qc pass: interop2: ospf dr qc pass: interop2: ospf nondr qc pass: interop2: ospf transit area qc pass: interop2: ospf stub area qc pass: interop2: ospf nssa area qc pass: interop2: ospf te qc pass: interop2: ospf prefix withdraw qc pass: interop2: ospf authentication qc pass: interop2: ospf p2mp te qc pass: interop2: ospf sr qc pass: interop2: ospf php sr qc pass: interop2: ospf te with pcep qc pass: interop2: ospf bidir te qc pass: interop2: pppoe with pap qc pass: interop2: pppoe with chap qc pass: interop2: rip qc pass: interop2: rip prefix withdraw qc pass: interop2: rip authentication qc pass: interop2: gre tunnel qc pass: interop2: ipip tunnel qc pass: interop8: ebgp qc pass: interop8: ibgp qc pass: interop8: bgp locpref qc pass: interop8: bgp origin qc pass: interop8: bgp metric qc pass: interop8: bgp community qc pass: interop8: bgp aspath qc pass: interop8: bgp with labels qc pass: interop8: bgp addpath qc pass: interop8: bgp prefix withdraw qc pass: interop8: bgp authentication qc pass: interop8: bgp extended community qc pass: interop8: bgp large community qc pass: interop8: bgp with php labels qc pass: interop8: eigrp qc pass: interop8: point2point isis qc pass: interop8: isis dis qc pass: interop8: isis nondis qc pass: interop8: isis narrow metric qc pass: interop8: isis prefix withdraw qc pass: interop8: isis authentication qc pass: interop8: integrated isis qc pass: interop8: ldp lsp qc pass: interop8: ldp php lsp qc pass: interop8: point2point ospf qc pass: interop8: ospf dr qc pass: interop8: ospf nondr qc pass: interop8: ospf transit area qc pass: interop8: ospf stub area qc pass: interop8: ospf nssa area qc pass: interop8: ospf prefix withdraw qc pass: interop8: ospf authentication qc pass: interop8: rip qc pass: interop9: ebgp qc pass: interop9: ibgp qc pass: interop9: bgp locpref qc pass: interop9: bgp origin qc pass: interop9: bgp metric qc pass: interop9: bgp community qc pass: interop9: bgp aspath qc pass: interop9: bgp with labels qc pass: interop9: bgp addpath qc pass: interop9: bgp prefix withdraw qc pass: interop9: bgp vpnv4 qc pass: interop9: bgp authentication qc pass: interop9: bgp vpnv6 qc pass: interop9: vpls/ldp over bgp qc pass: interop9: vpls/bgp over bgp qc pass: interop9: bgp extended community qc pass: interop9: bgp large community qc pass: interop9: bgp with php labels qc pass: interop9: ethernet encapsulation qc pass: interop9: dot1q encapsulation qc pass: interop9: point2point isis qc pass: interop9: isis dis qc pass: interop9: isis nondis qc pass: interop9: isis te qc pass: interop9: isis prefix withdraw qc pass: interop9: isis p2mp te qc pass: interop9: isis sr qc pass: interop9: isis lsp authentication qc pass: interop9: isis php sr qc pass: interop9: integrated isis qc pass: interop9: ldp lsp qc pass: interop9: ethernet over mpls qc pass: interop9: ldp p2mp lsp qc pass: interop9: ldp mp2mp lsp qc pass: interop9: ldp php lsp qc pass: interop9: point2point ospf qc pass: interop9: ospf dr qc pass: interop9: ospf nondr qc pass: interop9: ospf transit area qc pass: interop9: ospf stub area qc pass: interop9: ospf nssa area qc pass: interop9: ospf te qc pass: interop9: ospf prefix withdraw qc pass: interop9: ospf p2mp te qc pass: interop9: ospf sr qc pass: interop9: ospf php sr qc pass: interop9: pppoe client qc pass: interop9: pppoe server qc pass: interop9: mpls over pppoe qc pass: interop9: rip qc pass: bier in chain qc pass: bier in star qc pass: bier in dense chain qc pass: bier in dense star qc pass: bier on multiple si qc pass: bier on mixed si qc pass: bier with 64b bsl qc pass: bier with 128b bsl qc pass: bier with 256b bsl qc pass: bier with 512b bsl qc pass: bier with 1k bsl qc pass: bier with 2k bsl qc pass: bier with 4k bsl qc pass: bier over broadcast subnet qc pass: mixed protocol over bier qc pass: mpls over bier qc pass: bridged evcs over ethernet qc pass: bridged evcs over hdlc qc pass: bridged evcs over gre qc pass: bridged evcs and subif qc pass: bridged evcs and main qc pass: xconnect evcs terminated on xconnects qc pass: xconnect evcs terminated on pwhes qc pass: xconnect terminated on pwhe subifs qc pass: xconnect terminated on pwhe bridged evcs qc pass: xconnect terminated on pwhe xconnect evcs qc pass: xconnect evcs terminated on vpdns qc pass: ldp over ethernet qc pass: ldp over ethernet vlan qc pass: ldp over ethernet bridge qc pass: ldp over hdlc qc pass: ldp over ppp qc pass: ldp over framerelay qc pass: ldp over atmdxi qc pass: ldp over gre qc pass: ldp over broadcast subnet qc pass: ldp over hub and spoke subnet qc pass: ldp over loopback qc pass: p2p ldp tunnel qc pass: p2mp ldp tunnel qc pass: p2mp ldp tunnel head+mid qc pass: mp2mp ldp tunnel qc pass: mp2mp ldp tunnel mid+head qc pass: targeted ldp qc pass: ldp password qc pass: targeted ldp password qc pass: ingress label filtering with ldp qc pass: egress label filtering with ldp qc pass: vrf label filtering with ldp qc pass: mpls expbundle qc pass: mpls redirection qc pass: ldp php qc pass: ldp over point2point ethernet qc pass: nsh over ethernet qc pass: nsh over ethernet vlan qc pass: nsh over ethernet bridge qc pass: nsh over hdlc qc pass: nsh over ppp qc pass: nsh over framerelay qc pass: nsh over atmdxi qc pass: nsh over gre qc pass: nsh chain qc pass: nsh loop qc pass: nsh switch qc pass: nsh ip qc pass: nsh mix of ip and ethernet qc pass: ppp over mpls qc pass: hdlc over mpls qc pass: lapb over mpls qc pass: framerelay over mpls qc pass: atmdxi over mpls qc pass: isdn over mpls qc pass: sep over mpls qc pass: port mode ppp over mpls qc pass: ethernet over mpls qc pass: vlan over mpls qc pass: multipoint ethernet over mpls qc pass: interworking between l2tp3 and ethernet over mpls qc pass: hdlc tunneling with mpls qc pass: ppp tunneling with mpls qc pass: lapb tunneling with mpls qc pass: framerelay tunneling with mpls qc pass: atmdxi tunneling with mpls qc pass: isdn tunneling with mpls qc pass: sep tunneling with mpls qc pass: ethernet tunneling with mpls qc pass: vlan tunneling with mpls qc pass: tunnel interface with mpls qc pass: ethernet over mpls with cw qc pass: ppp over packet over udp pwhe qc pass: ethernet over packet over udp pwhe qc pass: ethernet over vxlan pwhe qc pass: ethernet over geneve pwhe qc pass: ethernet over erspan pwhe qc pass: ethernet over dlsw pwhe qc pass: ethernet over etherip pwhe qc pass: ethernet over uti pwhe qc pass: ethernet over nvgre pwhe qc pass: ppp over greppp pwhe qc pass: ppp over ax25 pwhe qc pass: ppp over l2f pwhe qc pass: ppp over pptp pwhe qc pass: ppp over l2tp2 pwhe qc pass: ppp over l2tp3 pwhe qc pass: ethernet over l2tp3 pwhe qc pass: ppp over mpls pwhe qc pass: ethernet over mpls pwhe qc pass: ethernet over mpls pwhe with cw qc pass: ethernet over gretap pwhe qc pass: ethernet over sreth pwhe qc pass: sr in chain qc pass: sr in star qc pass: te over sr qc pass: pwe over sr qc pass: bgp over sr qc pass: bgp with labels over sr qc pass: vpns over bgp over sr qc pass: othervpns over bgp over sr qc pass: sr over broadcast subnet qc pass: sr te over mpls qc pass: sr te over exthdr qc pass: bgp with php labels over sr qc pass: sr te with pcep qc pass: te over ethernet qc pass: te over ethernet vlan qc pass: te over ethernet bridge qc pass: te over hdlc qc pass: te over ppp qc pass: te over framerelay qc pass: te over atmdxi qc pass: te over gre qc pass: te in chain qc pass: ldp over te qc pass: pwe over te qc pass: ldp and te qc pass: p2mp te qc pass: p2mp te tail+mid qc pass: te with pcep qc pass: te over point2point ethernet qc pass: bidir te without global id qc pass: bidir te with global id qc pass: te explicit path qc pass: bgp over te qc pass: cross connect with pwe over mpls qc pass: cross connect with packet over udp qc pass: cross connect with vxlan qc pass: cross connect with geneve qc pass: cross connect with erspan qc pass: cross connect with etherip qc pass: cross connect with sreth qc pass: cross connect with nvgre qc pass: cross connect with uti qc pass: cross connect with pwe over mpls with cw qc pass: cross connect interworking with packet over udp qc pass: cross connect interworking with vxlan qc pass: cross connect interworking with geneve qc pass: cross connect interworking with erspan qc pass: cross connect interworking with etherip qc pass: cross connect interworking with sreth qc pass: cross connect interworking with nvgre qc pass: cross connect interworking with uti qc pass: cross connect interworking with dlsw qc pass: cross connect with everything qc pass: openflow: software routing qc pass: openflow: bridging and routing qc pass: openflow: ip routing qc pass: openflow: mpls routing qc pass: openflow: multicast routing qc pass: openflow: mldp routing qc pass: p4lang: copp qc pass: p4lang: ingress access list qc pass: p4lang: egress access list qc pass: p4lang: nat qc pass: p4lang: vlan ingress access list qc pass: p4lang: vlan egress access list qc pass: p4lang: bundle ingress access list qc pass: p4lang: bundle egress access list qc pass: p4lang: bundle vlan ingress access list qc pass: p4lang: bundle vlan egress access list qc pass: p4lang: bridge ingress access list qc pass: p4lang: bridge egress access list qc pass: p4lang: vlan bridge ingress access list qc pass: p4lang: vlan bridge egress access list qc pass: p4lang: ingress pppoe access list qc pass: p4lang: egress pppoe access list qc pass: p4lang: ingress vlan pppoe access list qc pass: p4lang: egress vlan pppoe access list qc pass: p4lang: hairpin ingress access list qc pass: p4lang: hairpin egress access list qc pass: p4lang: hairpin vlan ingress access list qc pass: p4lang: hairpin vlan egress access list qc pass: p4lang: hairpin pppoe ingress access list qc pass: p4lang: hairpin pppoe egress access list qc pass: p4lang: hairpin vlan pppoe ingress access list qc pass: p4lang: hairpin vlan pppoe egress access list qc pass: p4lang: ingress gre access list qc pass: p4lang: egress gre access list qc pass: p4lang: ingress vlan gre access list qc pass: p4lang: egress vlan gre access list qc pass: p4lang: ingress l2tp access list qc pass: p4lang: egress l2tp access list qc pass: p4lang: ingress vlan l2tp access list qc pass: p4lang: egress vlan l2tp access list qc pass: p4lang: ingress ipip access list qc pass: p4lang: egress ipip access list qc pass: p4lang: ingress vlan ipip access list qc pass: p4lang: egress vlan ipip access list qc pass: p4lang: ingress common access list qc pass: p4lang: egress common access list qc pass: p4lang: ingress hibryd access list qc pass: p4lang: egress hibryd access list qc pass: p4lang: ingress hierarchical access list qc pass: p4lang: egress hierarchical access list qc pass: p4lang: ingress policer qc pass: p4lang: egress policer qc pass: p4lang: vlan ingress policer qc pass: p4lang: vlan egress policer qc pass: p4lang: transmit flowspec qc pass: p4lang: drop flowspec qc pass: p4lang: policer flowspec qc pass: p4lang: priority flowspec qc pass: p4lang: macsec with des qc pass: p4lang: macsec with 3des qc pass: p4lang: macsec with aes128 qc pass: p4lang: macsec with aes192 qc pass: p4lang: macsec with aes256 qc pass: p4lang: macsec with md5 qc pass: p4lang: macsec with sha1 qc pass: p4lang: macsec with sha256 qc pass: p4lang: macsec with sha512 qc pass: p4lang: macsec over ethernet qc pass: p4lang: macsec over vlan qc pass: p4lang: macsec over bundle vlan qc pass: p4lang: macsec over gre qc pass: p4lang: macsec over pppoe qc pass: p4lang: macsec over l2tp qc pass: p4lang: macsec over hairpin qc pass: p4lang: macsec ingress access list qc pass: p4lang: macsec egress access list qc pass: p4lang: macsec vlan ingress access list qc pass: p4lang: macsec vlan egress access list qc pass: p4lang: ipsec with des qc pass: p4lang: ipsec with 3des qc pass: p4lang: ipsec with aes128 qc pass: p4lang: ipsec with aes192 qc pass: p4lang: ipsec with aes256 qc pass: p4lang: ipsec with md5 qc pass: p4lang: ipsec with sha1 qc pass: p4lang: ipsec with sha256 qc pass: p4lang: ipsec with sha512 qc pass: p4lang: ipv4 over ipsec qc pass: p4lang: ipv6 over ipsec qc pass: p4lang: ipsec over ipv4 qc pass: p4lang: ipsec over ipv6 qc pass: p4lang: ipsec over ipv4 loopback qc pass: p4lang: ipsec over ipv6 loopback qc pass: p4lang: ipsec over vlan qc pass: p4lang: ipv4 over ipsec with ingress access list qc pass: p4lang: ipv4 over ipsec with egress access list qc pass: p4lang: ipv6 over ipsec with ingress access list qc pass: p4lang: ipv6 over ipsec with egress access list qc pass: p4lang: ipsec with ike1 qc pass: p4lang: ipsec with ike2 qc pass: p4lang: openvpn with des qc pass: p4lang: openvpn with 3des qc pass: p4lang: openvpn with aes128 qc pass: p4lang: openvpn with aes192 qc pass: p4lang: openvpn with aes256 qc pass: p4lang: openvpn with md5 qc pass: p4lang: openvpn with sha1 qc pass: p4lang: openvpn with sha256 qc pass: p4lang: openvpn with sha512 qc pass: p4lang: openvpn over ipv4 qc pass: p4lang: openvpn over ipv6 qc pass: p4lang: openvpn over ipv4 loopback qc pass: p4lang: openvpn over ipv6 loopback qc pass: p4lang: openvpn over asymmetric ports qc pass: p4lang: openvpn with ingress access list qc pass: p4lang: openvpn with egress access list qc pass: p4lang: wireguard over ipv4 qc pass: p4lang: wireguard over ipv6 qc pass: p4lang: wireguard over ipv4 loopback qc pass: p4lang: wireguard over ipv6 loopback qc pass: p4lang: wireguard over vlan qc pass: p4lang: wireguard over asymmetric ports qc pass: p4lang: wireguard with ingress access list qc pass: p4lang: wireguard with egress access list qc pass: p4lang: multicast routing over macsec qc pass: p4lang: multicast routing over vlan macsec qc pass: p4lang: routing qc pass: p4lang: bridging qc pass: p4lang: mpls core qc pass: p4lang: mpls edge qc pass: p4lang: vlan routing qc pass: p4lang: vlan bridging qc pass: p4lang: vlan mpls qc pass: p4lang: vpn with bgp qc pass: p4lang: vpls/ldp with bgp qc pass: p4lang: evpn/cmac with bgp qc pass: p4lang: eompls qc pass: p4lang: vpn with bgp over srv6 qc pass: p4lang: evpn/cmac with bgp over srv6 qc pass: p4lang: bundle routing qc pass: p4lang: bundle mpls qc pass: p4lang: bundle vlan routing qc pass: p4lang: bundle vlan mpls qc pass: p4lang: bundle vlan bridging qc pass: p4lang: bridge routing qc pass: p4lang: bridge mpls qc pass: p4lang: vlan bridge routing qc pass: p4lang: vlan bridge mpls qc pass: p4lang: vlan vpls/ldp with bgp qc pass: p4lang: vlan eompls qc pass: p4lang: bundle vlan vpls/ldp with bgp qc pass: p4lang: bundle vlan eompls qc pass: p4lang: pppoe routing qc pass: p4lang: vlan pppoe routing qc pass: p4lang: pppoe mpls qc pass: p4lang: vlan pppoe mpls qc pass: p4lang: hairpin routing qc pass: p4lang: hairpin bridging qc pass: p4lang: hairpin mpls qc pass: p4lang: hairpin vlan routing qc pass: p4lang: hairpin vlan bridging qc pass: p4lang: hairpin vlan mpls qc pass: p4lang: hairpin pppoe routing qc pass: p4lang: hairpin vlan pppoe routing qc pass: p4lang: hairpin pppoe mpls qc pass: p4lang: hairpin vlan pppoe mpls qc pass: p4lang: hairpin vpls/ldp with bgp qc pass: p4lang: hairpin vlan vpls/ldp with bgp qc pass: p4lang: hairpin eompls qc pass: p4lang: hairpin vlan eompls qc pass: p4lang: vlan evpn/cmac with bgp qc pass: p4lang: bundle vlan evpn/cmac with bgp qc pass: p4lang: hairpin evpn/cmac with bgp qc pass: p4lang: hairpin vlan evpn/cmac with bgp qc pass: p4lang: gre routing over ipv4 qc pass: p4lang: gre routing over ipv6 qc pass: p4lang: gre routing over ipv4 loopback qc pass: p4lang: gre routing over ipv6 loopback qc pass: p4lang: gre routing over vlan qc pass: p4lang: gre routing over bundle qc pass: p4lang: gre routing over bundle vlan qc pass: p4lang: gre routing over hairpin qc pass: p4lang: gre routing over hairpin vlan qc pass: p4lang: gre routing over bridge qc pass: p4lang: gre routing over vlan bridge qc pass: p4lang: gre mpls over ipv4 qc pass: p4lang: gre mpls over ipv6 qc pass: p4lang: gre mpls over ipv4 loopback qc pass: p4lang: gre mpls over ipv6 loopback qc pass: p4lang: gre mpls over vlan qc pass: p4lang: gre mpls over bundle qc pass: p4lang: gre mpls over bundle vlan qc pass: p4lang: gre mpls over hairpin qc pass: p4lang: gre mpls over hairpin vlan qc pass: p4lang: gre mpls over bridge qc pass: p4lang: gre mpls over vlan bridge qc pass: p4lang: l2tp routing over ipv4 qc pass: p4lang: l2tp routing over ipv6 qc pass: p4lang: l2tp routing over ipv4 loopback qc pass: p4lang: l2tp routing over ipv6 loopback qc pass: p4lang: l2tp routing over vlan qc pass: p4lang: l2tp routing over bundle qc pass: p4lang: l2tp mpls over ipv4 qc pass: p4lang: l2tp mpls over ipv6 qc pass: p4lang: l2tp mpls over ipv4 loopback qc pass: p4lang: l2tp mpls over ipv6 loopback qc pass: p4lang: l2tp mpls over vlan qc pass: p4lang: l2tp mpls over bundle qc pass: p4lang: bridging over gre qc pass: p4lang: bridging over gre vlan qc pass: p4lang: bridging over pppoe qc pass: p4lang: bridging over pppoe vlan qc pass: p4lang: bridging over l2tp qc pass: p4lang: bridging over l2tp vlan qc pass: p4lang: vxlan over ipv4 qc pass: p4lang: vxlan over ipv6 qc pass: p4lang: vxlan over ipv4 loopback qc pass: p4lang: vxlan over ipv6 loopback qc pass: p4lang: vxlan over vlan qc pass: p4lang: vxlan over bundle qc pass: p4lang: evpn/vxlan with bgp qc pass: p4lang: vlan evpn/vxlan with bgp qc pass: p4lang: bundle vlan evpn/vxlan with bgp qc pass: p4lang: hairpin evpn/vxlan with bgp qc pass: p4lang: ipip routing over ipv4 qc pass: p4lang: ipip routing over ipv6 qc pass: p4lang: ipip routing over ipv4 loopback qc pass: p4lang: ipip routing over ipv6 loopback qc pass: p4lang: ipip routing over vlan qc pass: p4lang: ipip routing over bundle qc pass: p4lang: pckoudp over ipv4 qc pass: p4lang: pckoudp over ipv6 qc pass: p4lang: pckoudp over ipv4 loopback qc pass: p4lang: pckoudp over ipv6 loopback qc pass: p4lang: pckoudp over vlan qc pass: p4lang: pckoudp over bundle qc pass: p4lang: pckoudp server over ipv4 qc pass: p4lang: pckoudp server over ipv6 qc pass: p4lang: pckoudp server over ipv4 loopback qc pass: p4lang: pckoudp server over ipv6 loopback qc pass: p4lang: vxlan server over ipv4 qc pass: p4lang: vxlan server over ipv6 qc pass: p4lang: vxlan server over ipv4 loopback qc pass: p4lang: vxlan server over ipv6 loopback qc pass: p4lang: pppoe server routing qc pass: p4lang: vlan pppoe server routing qc pass: p4lang: pppoe server mpls qc pass: p4lang: vlan pppoe server mpls qc pass: p4lang: l2tp server routing qc pass: p4lang: vlan l2tp server routing qc pass: p4lang: l2tp server mpls qc pass: p4lang: vlan l2tp server mpls qc pass: p4lang: p2p ldp tail+head qc pass: p4lang: p2p ldp mid qc pass: p4lang: p2p te tail+head qc pass: p4lang: p2p te mid qc pass: p4lang: sr te over mpls tail+head qc pass: p4lang: sr te over mpls mid qc pass: p4lang: policy routing between vrfs qc pass: p4lang: policy routing with nexthop qc pass: p4lang: policy routing with interface and nexthop qc pass: p4lang: multicast routing qc pass: p4lang: multicast vlan routing qc pass: p4lang: multicast bundle routing qc pass: p4lang: multicast bundle vlan routing qc pass: p4lang: hairpin multicast routing qc pass: p4lang: hairpin vlan multicast routing qc pass: p4lang: mldp core qc pass: p4lang: mldp vlan core qc pass: p4lang: mldp core over gre qc pass: p4lang: mldp core over l2tp qc pass: p4lang: mldp bundle core qc pass: p4lang: mldp bundle vlan core qc pass: p4lang: hairpin mldp core qc pass: p4lang: hairpin vlan mldp core qc pass: p4lang: mldp egress edge qc pass: p4lang: mldp vlan egress edge qc pass: p4lang: mldp ingress edge qc pass: p4lang: mldp vlan ingress edge qc pass: p4lang: mldp core and egress edge qc pass: p4lang: vlan mldp core and egress edge qc pass: p4lang: bier core qc pass: p4lang: bier vlan core qc pass: p4lang: bier core over gre qc pass: p4lang: bier core over l2tp qc pass: p4lang: bier bundle core qc pass: p4lang: bier bundle vlan core qc pass: p4lang: hairpin bier core qc pass: p4lang: hairpin vlan bier core qc pass: p4lang: bier egress edge qc pass: p4lang: bier vlan egress edge qc pass: p4lang: bier ingress edge qc pass: p4lang: bier vlan ingress edge qc pass: p4lang: bier core and egress edge qc pass: p4lang: vlan bier core and egress edge qc pass: qos ingress transmit action qc pass: qos egress transmit action qc pass: qos ingress drop action qc pass: qos egress drop action qc pass: qos ingress policer action qc pass: qos egress policer action qc pass: qos ingress priority action qc pass: qos egress priority action qc pass: qos ingress bandwidth action qc pass: qos egress bandwidth action qc pass: qos ingress shaper action qc pass: qos egress shaper action qc pass: qos ingress hierarchical action qc pass: qos egress hierarchical action qc pass: qos ingress transmit copp qc pass: qos egress transmit copp qc pass: qos ingress drop copp qc pass: qos egress drop copp qc pass: qos ingress policer copp qc pass: qos egress policer copp qc pass: qos transmit dapp qc pass: qos drop dapp qc pass: qos policer dapp qc pass: qos priority dapp qc pass: qos transmit flowspec qc pass: qos drop flowspec qc pass: qos policer flowspec qc pass: qos priority flowspec qc pass: qos transmit otherflowspec qc pass: qos drop otherflowspec qc pass: qos policer otherflowspec qc pass: qos priority otherflowspec qc pass: qos ingress length matcher qc pass: qos egress length matcher qc pass: qos ingress tos matcher qc pass: qos egress tos matcher qc pass: qos ingress dscp matcher qc pass: qos egress dscp matcher qc pass: qos ingress prec matcher qc pass: qos egress prec matcher qc pass: qos ingress acl matcher qc pass: qos egress acl matcher qc pass: qos ingress ethertype matcher qc pass: qos egress ethertype matcher qc pass: qos ingress matcher on bridged traffic qc pass: qos egress matcher on bridged traffic qc pass: qos ingress ttl matcher qc pass: qos egress ttl matcher qc pass: qos ingress qosgroup set qc pass: qos ingress tos set qc pass: qos egress tos set qc pass: qos ingress dscp set qc pass: qos egress dscp set qc pass: qos ingress prec set qc pass: qos egress prec set qc pass: qos cos set qc pass: qos ingress exp set qc pass: qos egress exp set qc pass: qos ingress ttl set qc pass: qos egress ttl set qc pass: babel on one subnet qc pass: babel in chain qc pass: babel ingress route filtering with prefixlist qc pass: babel egress route filtering with prefixlist qc pass: babel ingress route filtering with routemap qc pass: babel egress route filtering with routemap qc pass: babel ingress route filtering with routepolicy qc pass: babel egress route filtering with routepolicy qc pass: babel max metric qc pass: babel address suppression qc pass: babel default route qc pass: babel incoming interface metric qc pass: babel outgoing interface metric qc pass: babel incoming metric with routemap qc pass: babel outgoing metric with routemap qc pass: babel incoming metric with routepolicy qc pass: babel outgoing metric with routepolicy qc pass: babel with bfd qc pass: babel peer template qc pass: babel prefix withdraw qc pass: babel aggregation qc pass: babel auto mesh tunnel qc pass: babel triangle connection qc pass: babel autoroute qc pass: babel over point2point ethernet qc pass: babel ecmp connection qc pass: ebgp in chain qc pass: confed bgp in chain qc pass: ibgp in chain qc pass: ebgp in subnet qc pass: confed bgp in subnet qc pass: ibgp in subnet qc pass: ibgp fullmesh in subnet qc pass: ibgp rr in subnet qc pass: ebgp over loopback qc pass: ibgp over loopback qc pass: ibgp with mpls qc pass: ebgp with long as number qc pass: ibgp with long as number qc pass: bgp default route qc pass: bgp ingress route filtering with prefixlist qc pass: bgp egress route filtering with prefixlist qc pass: bgp ingress route filtering with routemap qc pass: bgp egress route filtering with routemap qc pass: bgp routemap filtering with locpref qc pass: bgp routemap filtering with origin qc pass: bgp routemap filtering with metric qc pass: bgp routemap filtering with standard community qc pass: bgp routemap filtering with aspath qc pass: bgp locpref qc pass: bgp aspath qc pass: bgp origin qc pass: bgp metric qc pass: bgp locpref vs aspath qc pass: bgp aspath vs origin qc pass: bgp origin vs metric qc pass: bgp routemap filtering with extended community qc pass: ebgp with labels qc pass: ibgp with labels qc pass: ebgp with bfd qc pass: vpns over ebgp qc pass: vpns over ibgp qc pass: bgp route server qc pass: bgp enforce first as qc pass: bgp aspath check qc pass: bgp allow as in qc pass: bgp remove private as out qc pass: bgp override as out qc pass: bgp nexthop self qc pass: bgp nexthop peer qc pass: vpls/ldp over ebgp qc pass: vpls/ldp over ibgp qc pass: bgp peer template qc pass: bgp listen qc pass: ebgp password qc pass: bgp routemap filtering with aigp qc pass: bgp routemap filtering with bandwidth qc pass: bgp rpki qc pass: bgp additional path qc pass: bgp additional path with labels qc pass: vpns over bgp additional path qc pass: vpls/ldp over bgp additional path qc pass: bgp nexthop unchanged qc pass: bgp remove private as in qc pass: bgp override as in qc pass: ebgp with nexthop tracking routemap qc pass: ibgp with nexthop tracking routemap qc pass: vpns over ibgp rr qc pass: vpls/ldp over ibgp rr qc pass: bgp clustlist qc pass: bgp metric vs clustlist qc pass: bgp distance qc pass: bgp distance vs locpref qc pass: ebgp in chain with soft-reconfig qc pass: confed bgp in chain with soft-reconfig qc pass: ibgp in chain with soft-reconfig qc pass: ibgp rr in subnet with soft-reconfig qc pass: bgp ingress route filtering with prefixlist with soft-reconfig qc pass: bgp egress route filtering with prefixlist with soft-reconfig qc pass: bgp ingress route filtering with routemap with soft-reconfig qc pass: bgp egress route filtering with routemap with soft-reconfig qc pass: bgp routemap filtering with locpref with soft-reconfig qc pass: bgp routemap filtering with origin with soft-reconfig qc pass: bgp routemap filtering with metric with soft-reconfig qc pass: bgp routemap filtering with standard community with soft-reconfig qc pass: bgp routemap filtering with aspath with soft-reconfig qc pass: bgp locpref with soft-reconfig qc pass: bgp aspath with soft-reconfig qc pass: bgp origin with soft-reconfig qc pass: bgp metric with soft-reconfig qc pass: bgp locpref vs aspath with soft-reconfig qc pass: bgp aspath vs origin with soft-reconfig qc pass: bgp origin vs metric with soft-reconfig qc pass: bgp routemap filtering with extended community with soft-reconfig qc pass: bgp clustlist with soft-reconfig qc pass: bgp metric vs clustlist with soft-reconfig qc pass: bgp distance with soft-reconfig qc pass: bgp distance vs locpref with soft-reconfig qc pass: bgp routemap filtering with aigp with soft-reconfig qc pass: bgp routemap filtering with bandwidth with soft-reconfig qc pass: bgp with a lot prefix qc pass: ebgp prefix withdraw qc pass: confed bgp prefix withdraw qc pass: ibgp prefix withdraw qc pass: ibgp fullmesh prefix withdraw qc pass: ibgp rr prefix withdraw qc pass: ebgp prefix withdraw with soft-reconfig qc pass: confed bgp prefix withdraw with soft-reconfig qc pass: ibgp prefix withdraw with soft-reconfig qc pass: ibgp fullmesh prefix withdraw with soft-reconfig qc pass: ibgp rr prefix withdraw with soft-reconfig qc pass: vpns over confed bgp qc pass: vpls/ldp over confed bgp qc pass: vpns over bgp route server qc pass: vpls/ldp over bgp route server qc pass: bgp route server with soft-reconfig qc pass: bgp route server prefix withdraw qc pass: bgp route server prefix withdraw with soft-reconfig qc pass: multisite vpns over ibgp rr qc pass: multisite vpls/ldp over ibgp rr qc pass: bgp change in locpref qc pass: bgp change in aspath qc pass: bgp change in origin qc pass: bgp change in metric qc pass: bgp change in aigp qc pass: bgp change in bandwidth qc pass: bgp change in standard community qc pass: bgp change in extended community qc pass: bgp change in locpref with soft-reconfig qc pass: bgp change in aspath with soft-reconfig qc pass: bgp change in origin with soft-reconfig qc pass: bgp change in metric with soft-reconfig qc pass: bgp change in aigp with soft-reconfig qc pass: bgp change in bandwidth with soft-reconfig qc pass: bgp change in standard community with soft-reconfig qc pass: bgp change in extended community with soft-reconfig qc pass: bgp aggregation qc pass: bgp maximum prefix qc pass: evpn/pbb over ebgp qc pass: evpn/pbb over ibgp qc pass: evpn/pbb over bgp additional path qc pass: evpn/pbb over ibgp rr qc pass: evpn/pbb over confed bgp qc pass: evpn/pbb over bgp route server qc pass: multisite evpn/pbb over ibgp rr qc pass: ethersite vpls/ldp over ibgp qc pass: ethersite evpn/pbb over ibgp qc pass: ethersite vpns over ibgp qc pass: vpns over bgp with soft-reconfig qc pass: vpls/ldp over bgp with soft-reconfig qc pass: evpn/pbb over bgp with soft-reconfig qc pass: unicast+vpns over bgp qc pass: unicast+vpls/ldp over bgp qc pass: unicast+evpn/pbb over bgp qc pass: unicast+vpns over bgp with soft-reconfig qc pass: unicast+vpls/ldp over bgp with soft-reconfig qc pass: unicast+evpn/pbb over bgp with soft-reconfig qc pass: unicast+vpns over bgp additional path qc pass: unicast+vpls/ldp over bgp additional path qc pass: unicast+evpn/pbb over bgp additional path qc pass: bgp auto mesh tunnel qc pass: vpns over bgp auto mesh tunnel qc pass: vpls/ldp over bgp auto mesh tunnel qc pass: evpn/pbb over bgp auto mesh tunnel qc pass: vpls/bgp over ebgp qc pass: vpls/bgp over ibgp qc pass: vpls/bgp over bgp additional path qc pass: vpls/bgp over ibgp rr qc pass: vpls/bgp over confed bgp qc pass: vpls/bgp over bgp route server qc pass: multisite vpls/bgp over ibgp rr qc pass: ethersite vpls/bgp over ibgp qc pass: vpls/bgp over bgp with soft-reconfig qc pass: unicast+vpls/bgp over bgp qc pass: unicast+vpls/bgp over bgp with soft-reconfig qc pass: unicast+vpls/bgp over bgp additional path qc pass: vpls/bgp over bgp auto mesh tunnel qc pass: vpls/ldp+vpls/bgp over bgp qc pass: ibgp conquer rr in subnet qc pass: ibgp conquer rr in subnet with soft-reconfig qc pass: ibgp conquer rr prefix withdraw qc pass: ibgp conquer rr prefix withdraw with soft-reconfig qc pass: unicast+vpnmul over bgp qc pass: unicast+mdt over bgp qc pass: unicast+flowspec over bgp qc pass: unicast+flowspecvpn over bgp qc pass: unicast+vpnmul over bgp with soft-reconfig qc pass: unicast+mdt over bgp with soft-reconfig qc pass: unicast+flowspec over bgp with soft-reconfig qc pass: unicast+flowspecvpn over bgp with soft-reconfig qc pass: unicast+vpnmul over bgp with additional path qc pass: unicast+mdt over bgp with additional path qc pass: unicast+flowspec over bgp with additional path qc pass: unicast+flowspecvpn over bgp with additional path qc pass: evpn/vxlan over ebgp qc pass: evpn/vxlan over ibgp qc pass: evpn/vxlan over bgp additional path qc pass: evpn/vxlan over ibgp rr qc pass: evpn/vxlan over confed bgp qc pass: evpn/vxlan over bgp route server qc pass: multisite evpn/vxlan over ibgp rr qc pass: ethersite evpn/vxlan over ibgp qc pass: evpn/vxlan over bgp with soft-reconfig qc pass: unicast+evpn/vxlan over bgp qc pass: unicast+evpn/vxlan over bgp with soft-reconfig qc pass: unicast+evpn/vxlan over bgp additional path qc pass: evpn/vxlan over bgp auto mesh tunnel qc pass: evpn/pbb+vpls/vxlan over ebgp qc pass: evpn/cmac over ebgp qc pass: evpn/cmac over ibgp qc pass: evpn/cmac over bgp additional path qc pass: evpn/cmac over ibgp rr qc pass: evpn/cmac over confed bgp qc pass: evpn/cmac over bgp route server qc pass: multisite evpn/cmac over ibgp rr qc pass: ethersite evpn/cmac over ibgp qc pass: evpn/cmac over bgp with soft-reconfig qc pass: unicast+evpn/cmac over bgp qc pass: unicast+evpn/cmac over bgp with soft-reconfig qc pass: unicast+evpn/cmac over bgp additional path qc pass: evpn/cmac over bgp auto mesh tunnel qc pass: evpn/pbb+vpls/cmac over ebgp qc pass: ibgp with ttl-security qc pass: ebgp with ttl-security qc pass: bgp routemap filtering with large community qc pass: bgp routemap filtering with large community with soft-reconfig qc pass: bgp change in large community qc pass: bgp change in large community with soft-reconfig qc pass: bgp triangle connection qc pass: bgp routemap filtering with aspath length qc pass: bgp routepolicy filtering with aspath length qc pass: bgp routemap filtering with aspath length with soft-reconfig qc pass: bgp routepolicy filtering with aspath length with soft-reconfig qc pass: bgp ingress route filtering with routepolicy qc pass: bgp egress route filtering with routepolicy qc pass: bgp routepolicy filtering with locpref qc pass: bgp routepolicy filtering with origin qc pass: bgp routepolicy filtering with metric qc pass: bgp routepolicy filtering with aspath qc pass: bgp routepolicy filtering with extended community qc pass: bgp routepolicy filtering with aigp qc pass: bgp routepolicy filtering with bandwidth qc pass: bgp ingress route filtering with routepolicy with soft-reconfig qc pass: bgp egress route filtering with routepolicy with soft-reconfig qc pass: bgp routepolicy filtering with locpref with soft-reconfig qc pass: bgp routepolicy filtering with origin with soft-reconfig qc pass: bgp routepolicy filtering with metric with soft-reconfig qc pass: bgp routepolicy filtering with standard community with soft-reconfig qc pass: bgp routepolicy filtering with aspath with soft-reconfig qc pass: bgp routepolicy filtering with extended community with soft-reconfig qc pass: bgp routepolicy filtering with aigp with soft-reconfig qc pass: bgp routepolicy filtering with bandwidth with soft-reconfig qc pass: bgp routepolicy filtering with large community qc pass: bgp routepolicy filtering with large community with soft-reconfig qc pass: ebgp with nexthop tracking routepolicy qc pass: ibgp with nexthop tracking routepolicy qc pass: othervpns over ebgp qc pass: othervpns over ibgp qc pass: othervpns over bgp additional path qc pass: othervpns over ibgp rr qc pass: othervpns over confed bgp qc pass: othervpns over bgp route server qc pass: multisite othervpns over ibgp rr qc pass: ethersite othervpns over ibgp qc pass: othervpns over bgp with soft-reconfig qc pass: unicast+othervpns over bgp qc pass: unicast+othervpns over bgp with soft-reconfig qc pass: unicast+othervpns over bgp additional path qc pass: othervpns over bgp auto mesh tunnel qc pass: unicast+mvpn over bgp qc pass: unicast+mvpn over bgp with soft-reconfig qc pass: unicast+mvpn over bgp with additional path qc pass: unicast+othermvpn over bgp qc pass: unicast+othermvpn over bgp with soft-reconfig qc pass: unicast+othermvpn over bgp with additional path qc pass: unicast+otherflowspecvpn over bgp qc pass: unicast+otherflowspecvpn over bgp with soft-reconfig qc pass: unicast+otherflowspecvpn over bgp with additional path qc pass: unicast+othervpnmul over bgp qc pass: unicast+othervpnmul over bgp with soft-reconfig qc pass: unicast+othervpnmul over bgp with additional path qc pass: unicast+multicast over bgp qc pass: unicast+multicast over bgp with soft-reconfig qc pass: unicast+multicast over bgp with additional path qc pass: bgp csc vpn qc pass: unicast+olab over ebgp qc pass: unicast+olab over bgp with soft-reconfig qc pass: unicast+olab over bgp with additional path qc pass: ebgp prefix movement qc pass: confed bgp prefix movement qc pass: ibgp rr prefix movement qc pass: bgp route server prefix movement qc pass: ibgp conquer rr prefix movement qc pass: ibgp fullmesh prefix movement qc pass: ebgp prefix movement with soft-reconfig qc pass: confed bgp prefix movement with soft-reconfig qc pass: ibgp rr prefix movement with soft-reconfig qc pass: bgp route server prefix movement with soft-reconfig qc pass: ibgp conquer rr prefix movement with soft-reconfig qc pass: ibgp fullmesh prefix movement with soft-reconfig qc pass: bgp csc othervpn qc pass: bgp prefix hammering qc pass: bgp csc vpn with ldp qc pass: bgp csc othervpn with ldp qc pass: unicast+mspw over bgp qc pass: unicast+mspw over bgp with soft-reconfig qc pass: unicast+mspw over bgp with additional path qc pass: bgp with sr qc pass: ebgp vpn client qc pass: ibgp vpn client qc pass: ebgp vpn client with soft-reconfig qc pass: ibgp vpn client with soft-reconfig qc pass: bgp symmetric compression qc pass: bgp asymmetric compression qc pass: bgp none compression qc pass: bgp prefix packing qc pass: ebgp with nexthop tracking interface qc pass: ibgp with nexthop tracking interface qc pass: bgp with bier qc pass: bgp routemap filtering with rd qc pass: bgp routepolicy filtering with rd qc pass: bgp routemap filtering with rd with soft-reconfig qc pass: bgp routepolicy filtering with rd with soft-reconfig qc pass: bgp routemap filtering with afi qc pass: bgp routepolicy filtering with afi qc pass: bgp routemap filtering with afi with soft-reconfig qc pass: bgp routepolicy filtering with afi with soft-reconfig qc pass: bgp hard reset qc pass: bgp hard reset with soft-reconfig qc pass: bgp soft in reset qc pass: bgp soft in reset with soft-reconfig qc pass: bgp soft out reset qc pass: bgp soft out reset with soft-reconfig qc pass: unicast+srte over bgp qc pass: unicast+srte over bgp with soft-reconfig qc pass: unicast+srte over bgp with additional path qc pass: bgp interas vpn with asbr peering qc pass: bgp interas vpn with rr peering qc pass: bgp interas othervpn with asbr peering qc pass: bgp interas othervpn with rr peering qc pass: bgp interas csc vpn with asbr peering qc pass: bgp interas csc vpn with rr peering qc pass: bgp dual core vpn qc pass: bgp dual core csc vpn qc pass: bgp hub and spoke vpn multiple rt import qc pass: bgp hub and spoke vpn multiple rt export qc pass: bgp vpn with export list qc pass: bgp vpn with import list qc pass: bgp vpn with export map qc pass: bgp vpn with import map qc pass: bgp vpn with export policy qc pass: bgp vpn with import policy qc pass: vpns over srv6 over ibgp qc pass: evpn/pbb over srv6 over ibgp qc pass: evpn/cmac over srv6 over ibgp qc pass: unicast+olab over ibgp qc pass: unicast+olab over ibgp rr qc pass: unicast+olab over confed bgp qc pass: unicast+olab over bgp route server qc pass: olab over srv6 over ibgp qc pass: vpns over srv6 over ebgp qc pass: evpn/pbb over srv6 over ebgp qc pass: evpn/cmac over srv6 over ebgp qc pass: olab over srv6 over ebgp qc pass: vpns over srv6 over ibgp rr qc pass: evpn/pbb over srv6 over ibgp rr qc pass: evpn/cmac over srv6 over ibgp rr qc pass: olab over srv6 over ibgp rr qc pass: vpns over srv6 over confed bgp qc pass: evpn/pbb over srv6 over confed bgp qc pass: evpn/cmac over srv6 over confed bgp qc pass: olab over srv6 over confed bgp qc pass: vpns over srv6 over bgp route server qc pass: evpn/pbb over srv6 over bgp route server qc pass: evpn/cmac over srv6 over bgp route server qc pass: olab over srv6 over bgp route server qc pass: vpns over srv6 over bgp with soft-reconfig qc pass: evpn/pbb over srv6 over bgp with soft-reconfig qc pass: evpn/cmac over srv6 over bgp with soft-reconfig qc pass: olab over srv6 over bgp with soft-reconfig qc pass: vpns over srv6 over bgp additional path qc pass: evpn/pbb over srv6 over bgp additional path qc pass: evpn/cmac over srv6 over bgp additional path qc pass: olab over srv6 over bgp additional path qc pass: evpn/vpws over ebgp qc pass: evpn/vpws over ibgp qc pass: evpn/vpws over bgp additional path qc pass: evpn/vpws over ibgp rr qc pass: evpn/vpws over confed bgp qc pass: evpn/vpws over bgp route server qc pass: ethersite evpn/vpws over ibgp qc pass: evpn/vpws over bgp with soft-reconfig qc pass: unicast+evpn/vpws over bgp qc pass: unicast+evpn/vpws over bgp with soft-reconfig qc pass: unicast+evpn/vpws over bgp additional path qc pass: evpn/vpws over bgp auto mesh tunnel qc pass: evpn/vpws over srv6 over ibgp qc pass: evpn/vpws over srv6 over ebgp qc pass: evpn/vpws over srv6 over ibgp rr qc pass: evpn/vpws over srv6 over confed bgp qc pass: evpn/vpws over srv6 over bgp route server qc pass: evpn/vpws over srv6 over bgp with soft-reconfig qc pass: evpn/vpws over srv6 over bgp additional path qc pass: unified mpls with ldp qc pass: unified mpls with sr qc pass: ebgp with php labels qc pass: ibgp with php labels qc pass: bgp additional path with php labels qc pass: ibgp rr with labels qc pass: confed bgp with labels qc pass: bgp route server with labels qc pass: bgp soft-reconfig with labels qc pass: bgp remove private as in with routemap qc pass: bgp remove private as out with routemap qc pass: bgp remove private as in with routepolicy qc pass: bgp remove private as out with routepolicy qc pass: bgp with srgb sr qc pass: bgp over point2point ethernet qc pass: bgp ecmp connection qc pass: bgp routemap filtering with peer asn qc pass: bgp routepolicy filtering with peer asn qc pass: bgp routemap filtering with peer asn with soft-reconfig qc pass: bgp routepolicy filtering with peer asn with soft-reconfig qc pass: bgp routemap filtering with peer standard community qc pass: bgp routepolicy filtering with peer standard community qc pass: bgp routemap filtering with peer standard community with soft-reconfig qc pass: bgp routepolicy filtering with peer standard community with soft-reconfig qc pass: bgp routemap filtering with peer large community qc pass: bgp routepolicy filtering with peer large community qc pass: bgp routemap filtering with peer large community with soft-reconfig qc pass: bgp routepolicy filtering with peer large community with soft-reconfig qc pass: unicast+linkstate over bgp qc pass: unicast+linkstate over bgp with soft-reconfig qc pass: unicast+linkstate over bgp with additional path qc pass: unicast+ouni over ebgp qc pass: unicast+ouni over bgp with soft-reconfig qc pass: unicast+ouni over bgp with additional path qc pass: unicast+ouni over ibgp qc pass: unicast+ouni over ibgp rr qc pass: unicast+ouni over confed bgp qc pass: unicast+ouni over bgp route server qc pass: unicast+omul over bgp qc pass: unicast+omul over bgp with soft-reconfig qc pass: unicast+omul over bgp with additional path qc pass: unicast+oflw over bgp qc pass: unicast+oflw over bgp with soft-reconfig qc pass: unicast+oflw over bgp with additional path qc pass: unicast+osrt over bgp qc pass: unicast+osrt over bgp with soft-reconfig qc pass: unicast+osrt over bgp with additional path qc pass: ouni bgp ingress route filtering with prefixlist qc pass: ouni bgp egress route filtering with prefixlist qc pass: ouni bgp ingress route filtering with routemap qc pass: ouni bgp egress route filtering with routemap qc pass: ouni bgp ingress route filtering with prefixlist with soft-reconfig qc pass: ouni bgp egress route filtering with prefixlist with soft-reconfig qc pass: ouni bgp ingress route filtering with routemap with soft-reconfig qc pass: ouni bgp egress route filtering with routemap with soft-reconfig qc pass: ouni bgp ingress route filtering with routepolicy qc pass: ouni bgp egress route filtering with routepolicy qc pass: ouni bgp ingress route filtering with routepolicy with soft-reconfig qc pass: ouni bgp egress route filtering with routepolicy with soft-reconfig qc pass: ouni bgp default route qc pass: vpns with default route qc pass: olab bgp default route qc pass: othervpns with default route qc pass: vpns ingress route filtering with routemap qc pass: vpns egress route filtering with routemap qc pass: vpns ingress route filtering with routemap with soft-reconfig qc pass: vpns egress route filtering with routemap with soft-reconfig qc pass: vpns ingress route filtering with routepolicy qc pass: vpns egress route filtering with routepolicy qc pass: vpns ingress route filtering with routepolicy with soft-reconfig qc pass: vpns egress route filtering with routepolicy with soft-reconfig qc pass: othervpns ingress route filtering with routemap qc pass: othervpns egress route filtering with routemap qc pass: othervpns ingress route filtering with routemap with soft-reconfig qc pass: othervpns egress route filtering with routemap with soft-reconfig qc pass: othervpns ingress route filtering with routepolicy qc pass: othervpns egress route filtering with routepolicy qc pass: othervpns ingress route filtering with routepolicy with soft-reconfig qc pass: othervpns egress route filtering with routepolicy with soft-reconfig qc pass: labels bgp ingress route filtering with prefixlist qc pass: labels bgp egress route filtering with prefixlist qc pass: labels bgp ingress route filtering with routemap qc pass: labels bgp ingress route filtering with routemap qc pass: labels bgp egress route filtering with routemap qc pass: labels bgp ingress route filtering with prefixlist with soft-reconfig qc pass: labels bgp egress route filtering with prefixlist with soft-reconfig qc pass: labels bgp ingress route filtering with routemap with soft-reconfig qc pass: labels bgp egress route filtering with routemap with soft-reconfig qc pass: labels bgp ingress route filtering with routepolicy qc pass: labels bgp egress route filtering with routepolicy qc pass: labels bgp ingress route filtering with routepolicy with soft-reconfig qc pass: labels bgp egress route filtering with routepolicy with soft-reconfig qc pass: labels bgp default route qc pass: olab bgp ingress route filtering with prefixlist qc pass: olab bgp egress route filtering with prefixlist qc pass: olab bgp ingress route filtering with routemap qc pass: olab bgp ingress route filtering with routemap qc pass: olab bgp egress route filtering with routemap qc pass: olab bgp ingress route filtering with prefixlist with soft-reconfig qc pass: olab bgp egress route filtering with prefixlist with soft-reconfig qc pass: olab bgp ingress route filtering with routemap with soft-reconfig qc pass: olab bgp egress route filtering with routemap with soft-reconfig qc pass: olab bgp ingress route filtering with routepolicy qc pass: olab bgp egress route filtering with routepolicy qc pass: olab bgp ingress route filtering with routepolicy with soft-reconfig qc pass: olab bgp egress route filtering with routepolicy with soft-reconfig qc pass: labels bgp aggregation qc pass: olab bgp aggregation qc pass: ouni bgp aggregation qc pass: bgp vpns aggregation qc pass: bgp othervpns aggregation qc pass: eigrp point2point connection qc pass: eigrp point2multipoint connection qc pass: eigrp point2point chain qc pass: eigrp ingress delay qc pass: eigrp egress delay qc pass: eigrp address suppression qc pass: eigrp ingress route filtering with prefixlist qc pass: eigrp egress route filtering with prefixlist qc pass: eigrp ingress route filtering with routemap qc pass: eigrp egress route filtering with routemap qc pass: eigrp ingress route filtering with routepolicy qc pass: eigrp egress route filtering with routepolicy qc pass: eigrp default route qc pass: eigrp with bfd qc pass: eigrp peer template qc pass: eigrp prefix withdraw qc pass: eigrp aggregation qc pass: eigrp auto mesh tunnel qc pass: eigrp stub qc pass: eigrp triangle connection qc pass: eigrp autoroute qc pass: eigrp over point2point ethernet qc pass: eigrp ecmp connection qc pass: isis over ethernet qc pass: isis over ethernet vlan qc pass: isis over ethernet bridge qc pass: isis over hdlc qc pass: isis over ppp qc pass: isis over framerelay qc pass: isis over atmdxi qc pass: isis over gre qc pass: isis narrow metric qc pass: isis overload qc pass: isis attached qc pass: isis chain of broadcast nets qc pass: isis broadcast subnet qc pass: isis updown bit qc pass: isis updown bit with narrow metric qc pass: isis address suppression qc pass: isis inter-level routes qc pass: isis authentication qc pass: isis intra level metric qc pass: isis external metric qc pass: isis external narrow metric qc pass: isis external metric vs intra level metric qc pass: isis inter level ingress filtering with prefixlist qc pass: isis inter level egress filtering with prefixlist qc pass: isis inter level ingress filtering with routemap qc pass: isis inter level egress filtering with routemap qc pass: isis inter level ingress filtering with routepolicy qc pass: isis inter level egress filtering with routepolicy qc pass: isis default route qc pass: isis with bfd qc pass: isis with te qc pass: isis peer template qc pass: isis chain of broadcast nets with narrow metric qc pass: isis broadcast subnet with narrow metric qc pass: isis multi-topology qc pass: isis updown bit with multi-topology qc pass: isis external multi-topology qc pass: isis multi-topology with te qc pass: isis chain of broadcast nets with multi-topology qc pass: isis broadcast subnet with multi-topology qc pass: isis with sr qc pass: isis inter-level with sr qc pass: isis multi-topology with sr qc pass: isis prefix withdraw qc pass: isis change in metric qc pass: isis aggregate qc pass: isis auto mesh tunnel qc pass: isis triangle connection qc pass: isis prefix movement qc pass: isis with bier qc pass: isis inter-level with bier qc pass: isis multi-topology with bier qc pass: isis autoroute qc pass: isis lsp authentication qc pass: isis change in tag qc pass: isis multi-topology change in tag qc pass: isis with php sr qc pass: isis with srgb sr qc pass: isis over point2point ethernet qc pass: isis with bidir check qc pass: isis narrow metric with bidir check qc pass: isis chain of broadcast nets with bidir check qc pass: isis multi-topology with bidir check qc pass: isis ecmp connection qc pass: isis with bgp linkstate qc pass: integrated isis over ethernet qc pass: integrated isis over hdlc qc pass: integrated isis over gre qc pass: integrated isis narrow metric qc pass: integrated isis attached qc pass: integrated isis chain of broadcast nets qc pass: integrated isis broadcast subnet qc pass: integrated isis address suppression qc pass: integrated isis inter-level routes qc pass: integrated isis inter level ingress filtering with prefixlist qc pass: integrated isis inter level egress filtering with prefixlist qc pass: integrated isis inter level ingress filtering with routemap qc pass: integrated isis inter level egress filtering with routemap qc pass: integrated isis inter level ingress filtering with routepolicy qc pass: integrated isis inter level egress filtering with routepolicy qc pass: integrated isis default route qc pass: integrated isis multi-topology qc pass: integrated isis with sr qc pass: integrated isis inter-level with sr qc pass: integrated isis multi-topology with sr qc pass: integrated isis prefix withdraw qc pass: integrated isis change in metric qc pass: integrated isis aggregate qc pass: integrated isis prefix movement qc pass: integrated isis with bier qc pass: integrated isis inter-level with bier qc pass: integrated isis multi-topology with bier qc pass: integrated isis change in tag qc pass: integrated isis with php sr qc pass: integrated isis over point2point ethernet qc pass: integrated isis ecmp connection qc pass: asymmetric integrated isis qc pass: lsrp point2point connection qc pass: lsrp point2multipoint connection qc pass: lsrp point2point chain qc pass: lsrp metric qc pass: lsrp address suppression qc pass: lsrp route filtering with prefixlist qc pass: lsrp route filtering with routemap qc pass: lsrp route filtering with routepolicy qc pass: lsrp tag qc pass: lsrp default route qc pass: lsrp with bfd qc pass: lsrp authentication qc pass: lsrp ssh encryption qc pass: lsrp tls encryption qc pass: lsrp peer template qc pass: lsrp with sr qc pass: lsrp prefix withdraw qc pass: lsrp change in metric qc pass: lsrp change in tag qc pass: lsrp auto mesh tunnel qc pass: lsrp triangle connection qc pass: lsrp prefix movement qc pass: lsrp with bier qc pass: lsrp autoroute qc pass: lsrp stub node qc pass: lsrp stub interface qc pass: lsrp unstub interface qc pass: lsrp default address suppression qc pass: lsrp address unsuppression qc pass: lsrp with php sr qc pass: lsrp with srgb sr qc pass: lsrp over point2point ethernet qc pass: lsrp with selective sr qc pass: lsrp with selective bier qc pass: lsrp peer metric qc pass: lsrp point2point connection with bidir check qc pass: lsrp point2multipoint connection with bidir check qc pass: lsrp ecmp connection qc pass: lsrp with bgp linkstate qc pass: multicast routing with static flooding qc pass: multicast routing with pim ssm qc pass: multicast routing with igmp/mld qc pass: multicast routing with mldp qc pass: multicast between pim and mldp qc pass: multicast vpn routing with mldp qc pass: multicast vpn between pim and mldp qc pass: multicast othervpn routing with mldp qc pass: multicast othervpn between pim and mldp qc pass: multicast routing ttl treshold qc pass: multicast routing decoupled from unicast qc pass: multicast routing with pim join source qc pass: multicast routing with pim over bier qc pass: multicast between pim and pim over bier qc pass: multicast routing with pim snooping qc pass: multicast routing with igmp/mld snooping qc pass: olsr on one subnet qc pass: olsr in chain qc pass: olsr ingress route filtering with prefixlist qc pass: olsr egress route filtering with prefixlist qc pass: olsr ingress route filtering with routemap qc pass: olsr egress route filtering with routemap qc pass: olsr ingress route filtering with routepolicy qc pass: olsr egress route filtering with routepolicy qc pass: olsr max metric qc pass: olsr address suppression qc pass: olsr default route qc pass: olsr incoming interface metric qc pass: olsr outgoing interface metric qc pass: olsr incoming metric with routemap qc pass: olsr outgoing metric with routemap qc pass: olsr incoming metric with routepolicy qc pass: olsr outgoing metric with routepolicy qc pass: olsr with bfd qc pass: olsr peer template qc pass: olsr prefix withdraw qc pass: olsr aggregation qc pass: olsr auto mesh tunnel qc pass: olsr triangle connection qc pass: olsr autoroute qc pass: olsr over point2point ethernet qc pass: olsr ecmp connection qc pass: ospf point2point connection qc pass: ospf point2multipoint connection qc pass: ospf point2multipoint nonbroadcast connection qc pass: ospf broadcast connection qc pass: ospf nonbroadcast connection qc pass: ospf point2point chain qc pass: ospf broadcast chain qc pass: ospf stub area qc pass: ospf nssa area qc pass: ospf transit area qc pass: ospf intra area metric qc pass: ospf intra area vs inter area qc pass: ospf inter area vs external qc pass: ospf external1 vs external2 qc pass: ospf external1 metric qc pass: ospf external2 metric qc pass: ospf address suppression qc pass: ospf authentication qc pass: ospf inter area ingress filtering with prefixlist qc pass: ospf inter area ingress filtering with routemap qc pass: ospf inter area egress filtering with prefixlist qc pass: ospf inter area egress filtering with routemap qc pass: ospf inter area ingress filtering with routepolicy qc pass: ospf inter area egress filtering with routepolicy qc pass: ospf default route qc pass: ospf with bfd qc pass: ospf with te qc pass: ospf peer template qc pass: ospf with sr qc pass: ospf transit area with sr qc pass: ospf prefix withdraw qc pass: ospf change in metric qc pass: ospf change in tag qc pass: ospf aggregate qc pass: ospf auto mesh tunnel qc pass: ospf triangle connection qc pass: ospf prefix movement qc pass: ospf with bier qc pass: ospf transit area with bier qc pass: ospf autoroute qc pass: ospf with php sr qc pass: ospf with srgb sr qc pass: ospf over point2point ethernet qc pass: ospf multi area qc pass: ospf asymmetric multi area qc pass: ospf point2point chain with bidir check qc pass: ospf broadcast chain with bidir check qc pass: ospf ecmp connection qc pass: ospf with bgp linkstate qc pass: policy routing with nexthop qc pass: policy routing with interface and nexthop between vrfs qc pass: policy routing with interface and nexthop qc pass: policy routing between vrfs with routing qc pass: policy routing with nexthop on interface qc pass: policy routing with nexthop on interface between vrfs qc pass: pvrp point2point connection qc pass: pvrp point2multipoint connection qc pass: pvrp point2point chain qc pass: pvrp incoming interface metric qc pass: pvrp outgoing interface metric qc pass: pvrp incoming routemap metric qc pass: pvrp outgoing routemap metric qc pass: pvrp incoming routepolicy metric qc pass: pvrp outgoing routepolicy metric qc pass: pvrp address suppression qc pass: pvrp ingress route filtering with prefixlist qc pass: pvrp egress route filtering with prefixlist qc pass: pvrp ingress route filtering with routemap qc pass: pvrp egress route filtering with routemap qc pass: pvrp ingress route filtering with routepolicy qc pass: pvrp egress route filtering with routepolicy qc pass: pvrp tag qc pass: pvrp default route qc pass: pvrp with bfd qc pass: pvrp authentication qc pass: pvrp ssh encryption qc pass: pvrp tls encryption qc pass: pvrp peer template qc pass: pvrp with labels qc pass: pvrp prefix withdraw qc pass: pvrp aggregation qc pass: pvrp auto mesh tunnel qc pass: pvrp triangle connection qc pass: pvrp prefix movement qc pass: pvrp autoroute qc pass: pvrp default address suppression qc pass: pvrp address unsuppression qc pass: pvrp with php labels qc pass: ingress label filtering with pvrp qc pass: egress label filtering with pvrp qc pass: pvrp stub node qc pass: pvrp stub interface qc pass: pvrp unstub interface qc pass: pvrp over point2point ethernet qc pass: pvrp peer metric qc pass: pvrp ecmp connection qc pass: redistribution with isis qc pass: redistribution with ospf qc pass: redistribution with rip qc pass: redistribution with bgp qc pass: redistribution with bgp vpn qc pass: redistribution with bgp othervpn qc pass: redistribution with pvrp qc pass: redistribution with eigrp qc pass: redistribution with babel qc pass: redistribution with olsr qc pass: redistribution with lsrp qc pass: redistribution filtering with prefixlist qc pass: redistribution filtering with routemap qc pass: redistribution filtering with hierarchical routemap qc pass: redistribution filtering with routepolicy qc pass: redistribution filtering with hierarchical routepolicy qc pass: redistribution with prefixes qc pass: redistribution with everything qc pass: redistribution prefix withdraw qc pass: redistribution change in metric qc pass: redistribution prefix movement qc pass: redistribution with mobile qc pass: redistribution with deaggr qc pass: conditional redistribution with routemap qc pass: conditional redistribution with routepolicy qc pass: redistribution with interfaces qc pass: redistribution with metric qc pass: redistribution filtering with hierarchical prefixlist qc pass: redistribution with ouni bgp qc pass: redistribution with bgp labels qc pass: redistribution with olab bgp qc pass: rip on one subnet qc pass: rip in chain qc pass: rip ingress route filtering with prefixlist qc pass: rip egress route filtering with prefixlist qc pass: rip ingress route filtering with routemap qc pass: rip egress route filtering with routemap qc pass: rip ingress route filtering with routepolicy qc pass: rip egress route filtering with routepolicy qc pass: rip hop count qc pass: rip tag qc pass: rip address suppression qc pass: rip default route qc pass: rip authentication qc pass: rip incoming interface metric qc pass: rip outgoing interface metric qc pass: rip incoming routemap metric qc pass: rip outgoing routemap metric qc pass: rip incoming routepolicy metric qc pass: rip outgoing routepolicy metric qc pass: rip with bfd qc pass: rip peer template qc pass: rip prefix withdraw qc pass: rip aggregation qc pass: rip auto mesh tunnel qc pass: rip triangle connection qc pass: rip autoroute qc pass: rip over point2point ethernet qc pass: rip ecmp connection qc pass: static routing qc pass: static routing with distance qc pass: static routing with icmp tracker qc pass: static routing with tcp tracker qc pass: static routing with bfd tracker qc pass: static routing with labels qc pass: static routing with interface qc pass: static routing over point2point ethernet qc pass: recursive static routing qc pass: recursive static routing with labels qc pass: static routing with ecmp qc pass: authoritative dns server qc pass: recursive dns server qc pass: relaying dns server qc pass: dns64 server qc pass: dynamic tunnel destination qc pass: event manager qc pass: forwarder server qc pass: load balancer server qc pass: proxy server qc pass: radius server qc pass: scheduler qc pass: socks4 server qc pass: socks5 server qc pass: tacacs server qc pass: udp forwarder server todo: nat and pbr config to have reindex todo: chatscript and authlist to use tablisting and have reindex todo: http conditional redirect with route-map, prefix-list or route-policy todo: bridge security from dhcp, slaac, whatever server todo: lsrp, ospf, isis must list lsas/lsps as reachable or not todo: hwdet default to binary in installation, rework rtr.bin support to binjar if needed todo: interactive switch for traceroute to mimic mtr with class util.dampening, similar to mtr - display traceroute with the same parameters or so todo: http server should honor no in the beginning for host commands todo: http host upload optional different authentication todo: tls1.3 todo: terminal mode resolve todo: hostwatch to execute script on acl match todo: optimal route reflection todo: bgp vpns with sr-policy todo: temper: web access log todo: changelog converter for https://manpages.debian.org/testing/dpkg-dev/deb-changelog.5.en.html format with notodo lines todo: interface range command todo: reenable which elliptic courves? sure? why that? todo: https://tools.ietf.org/html/draft-ietf-tn3270e-telnet-tls-06 todo: parse privilege levels from tacacs todo: ldap client, server todo: trustpoint for certificates todo: vdc name tabbing todo: interface name tabbing todo: int eth1/int eth2 todo: dhcp relay support todo: tcp selective ack todo: xot, x75 switching todo: preallocate qos buffers todo: ilnp (rfc6740) todo: lisp4, lisp6 todo: l2vpn for isis todo: hip (rfc4423) todo: ttl handling follow the selected forwarder, reconfigurable if more todo: more show commands todo: more clear commands todo: more interactive tools todo: more features with clean implementation todo: x25 todo: default vrf for show commands ---------------------------------- 2021-02-13 11:47:31 no qc pass: pvrp tls encryption no qc pass: lsrp tls encryption no qc pass: ppp over tls failed: ppp over tls failed: lsrp tls encryption failed: pvrp tls encryption ---------------------------------- 2021-02-13 15:52:27 no failed: pvrp tls encryption no failed: lsrp tls encryption no failed: ppp over tls qc pass: ppp over tls qc pass: lsrp tls encryption qc pass: pvrp tls encryption ---------------------------------- 2021-02-13 16:21:36 no todo: reenable which elliptic courves? sure? why that? no todo: tls1.3 ---------------------------------- 2021-02-15 10:16:01 no qc pass: dtls test no qc pass: ppp with packet over dtls failed: ppp with packet over dtls failed: dtls test ---------------------------------- 2021-02-15 11:05:00 no failed: dtls test no failed: ppp with packet over dtls qc pass: ppp with packet over dtls qc pass: dtls test ---------------------------------- 2021-02-20 15:42:23 qc pass: interop9: isis bier qc pass: interop9: ospf bier ---------------------------------- 2021-03-08 07:38:52 todo: generate a test case from a config archive ---------------------------------- 2021-03-12 18:37:13 no todo: generate a test case from a config archive ---------------------------------- 2021-03-25 02:18:14 todo: secondary addresses todo: fhrp security ---------------------------------- 2021-03-25 02:27:29 todo: sho run this todo: nat log knob ---------------------------------- 2021-03-25 02:38:28 todo: virtual ip/mac icmp ---------------------------------- 2021-03-25 11:35:37 no todo: nat log knob todo: introduce int for sw/hw forwarders ---------------------------------- 2021-03-25 19:43:05 no todo: virtual ip/mac icmp no todo: secondary addresses qc pass: secondary addresses over ethernet qc pass: secondary addresses over dot1q vlan ---------------------------------- 2021-03-26 06:49:39 todo: p4 pipe demux to vdc ---------------------------------- 2021-03-26 15:18:18 no todo: fhrp security ---------------------------------- 2021-03-26 18:21:19 no todo: sho run this ---------------------------------- 2021-04-01 18:41:13 todo: test cases for route-map/policy clear things ---------------------------------- 2021-04-02 04:10:57 todo: shame texts in cmd.err todo: ---------------------------------- 2021-04-02 22:26:15 todo: disable-macsec command todo: dataplane says ---------------------------------- 2021-04-03 05:57:17 no todo: todo: remove from player favorites ---------------------------------- 2021-04-03 09:23:04 todo: serv bmp bugfix: last pack timer ---------------------------------- 2021-04-03 18:40:59 todo: client anycast-name-server todo: aaa randomizer ---------------------------------- 2021-04-03 20:17:00 no todo: aaa randomizer todo: more randomizers ---------------------------------- 2021-04-03 21:48:29 todo: max heat interval to temper ---------------------------------- 2021-04-04 08:51:15 todo: exec monitor todo: hwcfg auto-stop process todo: average of the non-discards to temper todo: tolerance up/down to temper todo: trackmap img--stat swap todo: secondary config archive ---------------------------------- 2021-04-04 09:42:12 todo: last but one: rare team should hire a mathy girly thingy who barely speak hungarian and fluent in written english ---------------------------------- 2021-04-04 10:01:31 no todo: last but one: rare team should hire a mathy girly thingy who barely speak hungarian and fluent in written english todo: last but one: rare team should contract for some months a thing i call mathy-thingy-a-bit-oldshchool-c-coder-who-does-not-afraid-of-openjdk who is fluent in written english and speaks at conversation level, and does not afraid to say fuck a way too loudly and have a will to travel monthly or so ---------------------------------- 2021-04-04 10:47:57 todo: wg 3rd optional param todo: ask hbone team if they can host ns3.(net.)nop.hu which have a ro tacacs access from the regular places ---------------------------------- 2021-04-04 11:54:18 no todo: last but one: rare team should contract for some months a thing i call mathy-thingy-a-bit-oldshchool-c-coder-who-does-not-afraid-of-openjdk who is fluent in written english and speaks at conversation level, and does not afraid to say fuck a way too loudly and have a will to travel monthly or so todo: lsrp/pvrp to have hello distance measurement, reread bfd rfc to see if possible todo: consider bgp neigh recursive-nexthop knob with proper limiters todo: last but one: rare team should contract for some months a thing i call mathy-thingy-a-bit-oldshchool-c-coder-who-does-not-afraid-of-openjdk who is fluent in written english and speaks at conversation level, and does not afraid to "you're way too stpuy" a way too loudly and have a will to travel monthly or so ---------------------------------- 2021-04-04 12:01:59 no todo: last but one: rare team should contract for some months a thing i call mathy-thingy-a-bit-oldshchool-c-coder-who-does-not-afraid-of-openjdk who is fluent in written english and speaks at conversation level, and does not afraid to "you're way too stpuy" a way too loudly and have a will to travel monthly or so todo: last but one: rare team should contract for some months a thing i call mathy-thingy-a-bit-oldshchool-c-coder-who-does-not-afraid-of-openjdk who is fluent in written english and speaks at conversation level, and does not afraid to "you're way too stpuy" a way too loudly and have a will to travel monthly or so... hopefully both of us will survive :) ---------------------------------- 2021-04-05 06:30:24 no todo: more randomizers todo: refresh button to temper todo: backup interface todo: sho log file todo: sho log old-file todo: more randomizers, arp, prefix, everything :) ---------------------------------- 2021-04-05 10:14:52 todo: bug: * diff/old/new time: 00:48:03/2021-04-05 11:20:19/2021-04-05 12:08:23 ---------------------------------- 2021-04-06 04:50:08 no todo: bug: * diff/old/new time: 00:48:03/2021-04-05 11:20:19/2021-04-05 12:08:23 ---------------------------------- 2021-04-06 08:01:16 todo: loopdetect for bridge ---------------------------------- 2021-08-12 14:09:23 todo: show logins ---------------------------------- 2021-08-12 17:03:13 no todo: disable-macsec command ---------------------------------- 2021-08-13 05:28:09 no todo: dataplane says no todo: exec monitor ---------------------------------- 2021-08-13 05:55:07 no todo: serv bmp bugfix: last pack timer ---------------------------------- 2021-08-13 11:43:52 no todo: secondary config archive no todo: trackmap img--stat swap no todo: sho log old-file no todo: sho log file no todo: backup interface no todo: average of the non-discards to temper no todo: client anycast-name-server no todo: hwcfg auto-stop process no todo: show logins ---------------------------------- 2021-08-13 14:29:46 no todo: p4 pipe demux to vdc ---------------------------------- 2021-08-15 07:29:46 no todo: http conditional redirect with route-map, prefix-list or route-policy no todo: introduce int for sw/hw forwarders no todo: lsrp/pvrp to have hello distance measurement, reread bfd rfc to see if possible no todo: remove from player favorites no todo: refresh button to temper no todo: tolerance up/down to temper no todo: max heat interval to temper todo: lsrp/pvrp to have hello distance measurement ---------------------------------- 2021-08-15 08:56:49 no todo: lsrp/pvrp to have hello distance measurement ---------------------------------- 2021-08-15 10:14:00 no todo: loopdetect for bridge ---------------------------------- 2021-08-17 03:28:59 no todo: test cases for route-map/policy clear things qc pass: bgp routemap clearing with standard community qc pass: bgp routemap filtering with extended community qc pass: bgp routemap filtering with large community qc pass: bgp routepolicy clearing with standard community qc pass: bgp routepolicy filtering with extended community qc pass: bgp routepolicy filtering with large community ---------------------------------- 2021-08-17 03:42:25 no todo: ask hbone team if they can host ns3.(net.)nop.hu which have a ro tacacs access from the regular places qc pass: bgp routemap clearing with aspath qc pass: bgp routepolicy clearing with aspath ---------------------------------- 2021-08-20 09:47:11 no todo: hwdet default to binary in installation, rework rtr.bin support to binjar if needed ---------------------------------- 2021-08-30 15:10:38 qc pass: amt over ipv4 qc pass: amt over ipv6 qc pass: amt over amt qc pass: amt over loopback ---------------------------------- 2021-09-15 06:13:57 no qc pass: bgp routepolicy filtering with large community no qc pass: bgp routepolicy filtering with extended community no qc pass: bgp routemap filtering with large community no qc pass: bgp routemap filtering with extended community qc pass: bgp routemap clearing with extended community qc pass: bgp routemap clearing with large community qc pass: bgp routepolicy clearing with extended community qc pass: bgp routepolicy clearing with large community ---------------------------------- 2021-09-17 18:20:03 qc pass: no macsec over ethernet qc pass: lsrp no authentication qc pass: lsrp database authentication qc pass: pvrp no authentication ---------------------------------- 2021-09-21 18:54:35 qc pass: ppp over forti ---------------------------------- 2021-09-22 22:07:43 qc pass: bgp autoroute ---------------------------------- 2021-10-02 10:46:09 qc pass: p4lang: amt server over ipv4 qc pass: p4lang: amt server over ipv6 qc pass: p4lang: amt server over ipv4 loopback qc pass: p4lang: amt server over ipv6 loopback ---------------------------------- 2021-10-05 17:09:12 qc pass: ingress flow matching access list qc pass: egress flow matching access list qc pass: ingress flow matching common access list qc pass: egress flow matching common access list qc pass: ingress flow matching hierarchical access list qc pass: egress flow matching hierarchical access list qc pass: qos ingress flow matcher qc pass: qos egress flow matcher qc pass: qos ingress flow set qc pass: qos egress flow set ---------------------------------- 2021-10-07 06:16:48 todo: bgp peer autoconfig todo: bgp strict bfd mode todo: bgp roles in update and open todo: bgp extended open ---------------------------------- 2021-10-07 18:38:59 no todo: bgp extended open ---------------------------------- 2021-10-07 19:21:31 qc pass: bgp extended open qc pass: bgp extended update ---------------------------------- 2021-10-08 04:19:33 qc pass: bgp multiple labels qc pass: bgp graceful restart qc pass: bgp extended nexthop ---------------------------------- 2021-10-08 08:51:58 no todo: bgp roles in update and open qc pass: bgp leak prevention with customer provider qc pass: bgp leak prevention with route server qc pass: bgp leak prevention with peer ---------------------------------- 2021-10-09 03:46:50 qc pass: p4lang: ingress amt access list qc pass: p4lang: egress amt access list ---------------------------------- 2021-10-11 03:38:42 no todo: last but one: rare team should contract for some months a thing i call mathy-thingy-a-bit-oldshchool-c-coder-who-does-not-afraid-of-openjdk who is fluent in written english and speaks at conversation level, and does not afraid to "you're way too stpuy" a way too loudly and have a will to travel monthly or so... hopefully both of us will survive :) no todo: wg 3rd optional param no todo: more randomizers, arp, prefix, everything :) no todo: https://tools.ietf.org/html/draft-ietf-tn3270e-telnet-tls-06 no todo: changelog converter for https://manpages.debian.org/testing/dpkg-dev/deb-changelog.5.en.html format with notodo lines todo: telnet tls mode todo: more randomizers ---------------------------------- 2021-10-12 03:44:33 qc pass: lsrp with strict bfd qc pass: pvrp with strict bfd ---------------------------------- 2021-10-12 15:24:42 no todo: http server should honor no in the beginning for host commands ---------------------------------- 2021-10-12 15:40:57 no todo: lsrp, ospf, isis must list lsas/lsps as reachable or not ---------------------------------- 2021-10-12 16:39:43 no todo: chatscript and authlist to use tablisting and have reindex ---------------------------------- 2021-10-20 06:22:40 qc pass: p4lang: autoroute to sr te over mpls qc pass: p4lang: autoroute to p2p te over mpls qc pass: p4lang: policy routing to sr te over mpls qc pass: p4lang: policy routing to p2p te over mpls ---------------------------------- 2021-10-22 08:50:09 no todo: telnet tls mode no todo: optimal route reflection todo: bgp optimal route reflection todo: bgp signed path ---------------------------------- 2021-10-24 05:20:22 todo: bgp nsh sfc ---------------------------------- 2021-10-24 05:35:31 todo: rift4, rift6 ---------------------------------- 2021-10-24 07:08:22 qc pass: qos ingress pps action qc pass: qos egress pps action qc pass: qos ingress pps copp qc pass: qos egress pps copp qc pass: qos pps dapp ---------------------------------- 2021-10-24 13:37:49 qc pass: unicast+nsh over bgp qc pass: unicast+nsh over bgp with soft-reconfig qc pass: unicast+nsh over bgp with additional path ---------------------------------- 2021-10-24 13:58:36 no todo: bgp nsh sfc no todo: bgp vpns with sr-policy todo: traffic through bgp sr-policy todo: traffic through bgp nsh ---------------------------------- 2021-10-25 06:07:08 qc pass: p4lang: nsh qc pass: p4lang: vlan nsh ---------------------------------- 2021-10-26 04:48:37 todo: bgp layer2 flowspec ---------------------------------- 2021-10-27 20:26:55 qc pass: polka over ethernet qc pass: polka over ethernet vlan qc pass: polka over ethernet bridge qc pass: polka over hdlc qc pass: polka over ppp qc pass: polka over framerelay qc pass: polka over atmdxi qc pass: polka over gre qc pass: polka over broadcast subnet qc pass: polka over ethernet chain qc pass: bgp with polka qc pass: isis with polka qc pass: lsrp with polka qc pass: ospf with polka ---------------------------------- 2021-10-28 05:08:40 qc pass: pwe over polka qc pass: bgp vpns over polka ---------------------------------- 2021-10-28 11:04:49 qc pass: p4lang: polka qc pass: p4lang: vlan polka ---------------------------------- 2021-11-06 08:26:03 no todo: consider bgp neigh recursive-nexthop knob with proper limiters qc pass: bgp without recursion qc pass: bgp with recursion ---------------------------------- 2021-11-08 04:21:51 no todo: interactive switch for traceroute to mimic mtr with class util.dampening, similar to mtr - display traceroute with the same parameters or so ---------------------------------- 2021-11-08 10:43:58 qc pass: bgp with route flap dampening ---------------------------------- 2021-11-08 16:39:31 qc pass: isis default address suppression qc pass: integrated isis default address suppression qc pass: isis address unsuppression qc pass: integrated isis address unsuppression qc pass: ospf default address suppression qc pass: ospf address unsuppression ---------------------------------- 2021-11-08 18:16:21 qc pass: babel default address suppression qc pass: babel address unsuppression qc pass: eigrp default address suppression qc pass: eigrp address unsuppression qc pass: olsr default address suppression qc pass: olsr address unsuppression qc pass: rip default address suppression qc pass: rip address unsuppression ---------------------------------- 2021-11-09 09:49:46 no todo: ttl handling follow the selected forwarder, reconfigurable if more no todo: interface name tabbing no todo: vdc name tabbing no todo: interface range command no todo: temper: web access log no todo: terminal mode resolve no todo: http host upload optional different authentication todo: name tabbing ---------------------------------- 2021-11-09 10:32:58 no todo: hostwatch to execute script on acl match ---------------------------------- 2021-11-10 08:40:06 qc pass: ospf maximum metric ---------------------------------- 2021-11-13 12:01:04 no todo: int eth1/int eth2 no todo: name tabbing ---------------------------------- 2021-11-14 04:54:30 no todo: preallocate qos buffers ---------------------------------- 2021-11-20 07:25:54 qc pass: static bmp peer qc pass: dynamic bmp peer ---------------------------------- 2021-11-26 06:14:57 qc pass: capwap over ipv4 qc pass: capwap over ipv6 qc pass: capwap over loopback qc pass: hdlc tunneling with capwap qc pass: ppp tunneling with capwap qc pass: lapb tunneling with capwap qc pass: framerelay tunneling with capwap qc pass: atmdxi tunneling with capwap qc pass: isdn tunneling with capwap qc pass: sep tunneling with capwap qc pass: ethernet tunneling with capwap qc pass: vlan tunneling with capwap qc pass: tunnel interface with capwap qc pass: lwapp over ipv4 qc pass: lwapp over ipv6 qc pass: lwapp over loopback qc pass: hdlc tunneling with lwapp qc pass: ppp tunneling with lwapp qc pass: lapb tunneling with lwapp qc pass: framerelay tunneling with lwapp qc pass: atmdxi tunneling with lwapp qc pass: isdn tunneling with lwapp qc pass: sep tunneling with lwapp qc pass: ethernet tunneling with lwapp qc pass: vlan tunneling with lwapp qc pass: tunnel interface with lwapp ---------------------------------- 2021-12-02 18:44:59 no qc pass: ospf authentication no qc pass: interop8: ospf authentication no qc pass: interop2: ospf authentication no qc pass: interop1: ospf authentication qc pass: interop1: ospf text authentication qc pass: interop1: ospf md5 authentication qc pass: interop2: ospf text authentication qc pass: interop2: ospf md5 authentication qc pass: interop8: ospf text authentication qc pass: interop8: ospf md5 authentication qc pass: ospf text authentication qc pass: ospf md5 authentication ---------------------------------- 2021-12-03 11:05:40 no qc pass: isis lsp authentication no qc pass: isis authentication no qc pass: interop9: isis lsp authentication no qc pass: interop8: isis authentication no qc pass: interop2: isis lsp authentication no qc pass: interop2: isis authentication no qc pass: interop1: isis lsp authentication no qc pass: interop1: isis authentication qc pass: interop1: isis text authentication qc pass: interop1: isis lsp text authentication qc pass: interop1: isis md5 authentication qc pass: interop1: isis lsp md5 authentication qc pass: interop2: isis text authentication qc pass: interop2: isis lsp text authentication qc pass: interop2: isis text authentication qc pass: interop2: isis lsp text authentication qc pass: interop8: isis text authentication qc pass: interop9: isis lsp text authentication qc pass: isis text authentication qc pass: isis lsp text authentication qc pass: isis md5 authentication qc pass: isis lsp md5 authentication ---------------------------------- 2021-12-03 12:35:57 no qc pass: interop2: isis lsp text authentication no qc pass: interop2: isis text authentication qc pass: interop2: isis md5 authentication qc pass: interop2: isis lsp md5 authentication qc pass: interop9: isis lsp md5 authentication qc pass: interop9: isis text authentication qc pass: interop9: isis md5 authentication ---------------------------------- 2021-12-03 13:33:35 qc pass: interop8: isis lsp text authentication qc pass: interop8: isis lsp md5 authentication qc pass: interop8: isis text authentication qc pass: interop8: isis md5 authentication qc pass: interop9: ospf text authentication qc pass: interop9: ospf md5 authentication ---------------------------------- 2021-12-03 16:29:47 qc pass: hdlc ---------------------------------- 2021-12-03 17:29:16 qc pass: fragmentation and reassembly qc pass: no fragmentation nor reassembly ---------------------------------- 2021-12-05 06:37:53 qc pass: interop1: fragmentation and reassembly qc pass: interop2: fragmentation and reassembly qc pass: interop8: fragmentation and reassembly qc pass: interop9: fragmentation and reassembly ---------------------------------- 2021-12-05 07:02:17 no qc pass: olab bgp ingress route filtering with routemap no qc pass: labels bgp ingress route filtering with routemap no qc pass: interop8: isis text authentication qc pass: precise mtu enforcement ---------------------------------- 2021-12-05 08:55:38 no todo: shame texts in cmd.err ---------------------------------- 2021-12-06 09:25:02 qc pass: p4lang: replay window with openvpn qc pass: p4lang: replay window with wireguard ---------------------------------- 2021-12-07 07:42:31 qc pass: lsrp dynamic metric qc pass: pvrp dynamic metric ---------------------------------- 2021-12-08 16:40:08 no qc pass: pvrp dynamic metric no qc pass: lsrp dynamic metric qc pass: lsrp dynamic inband metric qc pass: lsrp dynamic icmp metric qc pass: lsrp dynamic udp metric qc pass: lsrp dynamic twamp metric qc pass: pvrp dynamic inband metric qc pass: pvrp dynamic icmp metric qc pass: pvrp dynamic udp metric qc pass: pvrp dynamic twamp metric ---------------------------------- 2021-12-09 10:45:49 qc pass: isis dynamic icmp metric qc pass: isis dynamic udp metric qc pass: isis dynamic twamp metric qc pass: ospf dynamic icmp cost qc pass: ospf dynamic udp cost qc pass: ospf dynamic twamp cost ---------------------------------- 2021-12-21 21:13:40 qc pass: monitor session over tunnel qc pass: monitor session over pwhe ---------------------------------- 2021-12-21 21:27:35 qc pass: ingress mask matching access list qc pass: egress mask matching access list ---------------------------------- 2022-01-10 14:14:43 qc pass: vrf route limit ---------------------------------- 2022-01-12 09:09:57 qc pass: static routing with udp tracker qc pass: static routing with twamp tracker qc pass: static routing with interface tracker qc pass: static routing with prefix tracker qc pass: static routing with other tracker qc pass: static routing with check tracker qc pass: static routing with nrpe tracker ---------------------------------- 2022-01-15 09:53:32 no qc pass: p4lang: openvpn with aes256 no qc pass: p4lang: openvpn with aes192 no qc pass: p4lang: openvpn with aes128 no qc pass: p4lang: ipsec with aes256 no qc pass: p4lang: ipsec with aes192 no qc pass: p4lang: ipsec with aes128 no qc pass: p4lang: macsec with aes256 no qc pass: p4lang: macsec with aes192 no qc pass: p4lang: macsec with aes128 no qc pass: interop1: ike2 with aes256 no qc pass: interop1: ike2 with aes192 no qc pass: interop1: ike2 with aes128 no qc pass: interop1: ike1 with aes256 no qc pass: interop1: ike1 with aes192 no qc pass: interop1: ike1 with aes128 no qc pass: swipe with aes256 no qc pass: swipe with aes192 no qc pass: swipe with aes128 no qc pass: skip with aes256 no qc pass: skip with aes192 no qc pass: skip with aes128 no qc pass: satp with aes256 no qc pass: satp with aes192 no qc pass: satp with aes128 no qc pass: openvpn with aes256 no qc pass: openvpn with aes192 no qc pass: openvpn with aes128 no qc pass: macsec with aes256 no qc pass: macsec with aes192 no qc pass: macsec with aes128 no qc pass: inlsp with aes256 no qc pass: inlsp with aes192 no qc pass: inlsp with aes128 no qc pass: ike2 with aes256 no qc pass: ike2 with aes192 no qc pass: ike2 with aes128 no qc pass: ike1 with aes256 no qc pass: ike1 with aes192 no qc pass: ike1 with aes128 qc pass: ike1 with aes128cbc qc pass: ike1 with aes192cbc qc pass: ike1 with aes256cbc qc pass: ike2 with aes128cbc qc pass: ike2 with aes192cbc qc pass: ike2 with aes256cbc qc pass: inlsp with aes128cbc qc pass: inlsp with aes192cbc qc pass: inlsp with aes256cbc qc pass: macsec with aes128cbc qc pass: macsec with aes192cbc qc pass: macsec with aes256cbc qc pass: openvpn with aes128cbc qc pass: openvpn with aes192cbc qc pass: openvpn with aes256cbc qc pass: satp with aes128cbc qc pass: satp with aes192cbc qc pass: satp with aes256cbc qc pass: skip with aes128cbc qc pass: skip with aes192cbc qc pass: skip with aes256cbc qc pass: swipe with aes128cbc qc pass: swipe with aes192cbc qc pass: swipe with aes256cbc qc pass: interop1: ike1 with aes128cbc qc pass: interop1: ike1 with aes192cbc qc pass: interop1: ike1 with aes256cbc qc pass: interop1: ike2 with aes128cbc qc pass: interop1: ike2 with aes192cbc qc pass: interop1: ike2 with aes256cbc qc pass: p4lang: macsec with aes128cbc qc pass: p4lang: macsec with aes192cbc qc pass: p4lang: macsec with aes256cbc qc pass: p4lang: ipsec with aes128cbc qc pass: p4lang: ipsec with aes192cbc qc pass: p4lang: ipsec with aes256cbc qc pass: p4lang: openvpn with aes128cbc qc pass: p4lang: openvpn with aes192cbc qc pass: p4lang: openvpn with aes256cbc ---------------------------------- 2022-01-15 13:26:55 qc pass: inlsp with aes128cfb qc pass: inlsp with aes192cfb qc pass: inlsp with aes256cfb qc pass: inlsp with aes128ecb qc pass: inlsp with aes192ecb qc pass: inlsp with aes256ecb qc pass: inlsp with aes128gcm qc pass: inlsp with aes192gcm qc pass: inlsp with aes256gcm qc pass: inlsp with sha224 qc pass: inlsp with sha384 qc pass: inlsp with sha3224 qc pass: inlsp with sha3256 qc pass: inlsp with sha3384 qc pass: inlsp with sha3512 ---------------------------------- 2022-01-15 13:34:30 qc pass: openvpn with aes128cfb qc pass: openvpn with aes192cfb qc pass: openvpn with aes256cfb qc pass: openvpn with aes128ecb qc pass: openvpn with aes192ecb qc pass: openvpn with aes256ecb qc pass: openvpn with aes128gcm qc pass: openvpn with aes192gcm qc pass: openvpn with aes256gcm qc pass: openvpn with sha224 qc pass: openvpn with sha384 qc pass: openvpn with sha3224 qc pass: openvpn with sha3256 qc pass: openvpn with sha3384 qc pass: openvpn with sha3512 ---------------------------------- 2022-01-15 13:43:19 qc pass: satp with aes128cfb qc pass: satp with aes192cfb qc pass: satp with aes256cfb qc pass: satp with aes128ecb qc pass: satp with aes192ecb qc pass: satp with aes256ecb qc pass: satp with aes128gcm qc pass: satp with aes192gcm qc pass: satp with aes256gcm qc pass: satp with sha224 qc pass: satp with sha384 qc pass: satp with sha3224 qc pass: satp with sha3256 qc pass: satp with sha3384 qc pass: satp with sha3512 ---------------------------------- 2022-01-15 13:52:46 qc pass: skip with aes128cfb qc pass: skip with aes192cfb qc pass: skip with aes256cfb qc pass: skip with aes128ecb qc pass: skip with aes192ecb qc pass: skip with aes256ecb qc pass: skip with aes128gcm qc pass: skip with aes192gcm qc pass: skip with aes256gcm qc pass: skip with sha224 qc pass: skip with sha384 qc pass: skip with sha3224 qc pass: skip with sha3256 qc pass: skip with sha3384 qc pass: skip with sha3512 ---------------------------------- 2022-01-15 14:00:10 qc pass: swipe with aes128cfb qc pass: swipe with aes192cfb qc pass: swipe with aes256cfb qc pass: swipe with aes128ecb qc pass: swipe with aes192ecb qc pass: swipe with aes256ecb qc pass: swipe with aes128gcm qc pass: swipe with aes192gcm qc pass: swipe with aes256gcm qc pass: swipe with sha224 qc pass: swipe with sha384 qc pass: swipe with sha3224 qc pass: swipe with sha3256 qc pass: swipe with sha3384 qc pass: swipe with sha3512 ---------------------------------- 2022-01-15 14:08:49 qc pass: macsec with aes128cfb qc pass: macsec with aes192cfb qc pass: macsec with aes256cfb qc pass: macsec with aes128ecb qc pass: macsec with aes192ecb qc pass: macsec with aes256ecb qc pass: macsec with aes128gcm qc pass: macsec with aes192gcm qc pass: macsec with aes256gcm qc pass: macsec with sha224 qc pass: macsec with sha384 qc pass: macsec with sha3224 qc pass: macsec with sha3256 qc pass: macsec with sha3384 qc pass: macsec with sha3512 ---------------------------------- 2022-01-15 15:06:45 qc pass: p4lang: openvpn with aes128cfb qc pass: p4lang: openvpn with aes192cfb qc pass: p4lang: openvpn with aes256cfb qc pass: p4lang: openvpn with aes128ecb qc pass: p4lang: openvpn with aes192ecb qc pass: p4lang: openvpn with aes256ecb qc pass: p4lang: openvpn with sha224 qc pass: p4lang: openvpn with sha384 qc pass: p4lang: openvpn with sha3224 qc pass: p4lang: macsec with aes128cfb qc pass: p4lang: macsec with aes192cfb qc pass: p4lang: macsec with aes256cfb qc pass: p4lang: macsec with aes128ecb qc pass: p4lang: macsec with aes192ecb qc pass: p4lang: macsec with aes256ecb qc pass: p4lang: macsec with sha224 qc pass: p4lang: macsec with sha384 qc pass: p4lang: macsec with sha3224 ---------------------------------- 2022-01-15 15:28:23 no qc pass: p4lang: macsec with sha3224 no qc pass: p4lang: openvpn with sha3224 ---------------------------------- 2022-01-15 20:20:32 qc pass: access total qc pass: access tracker qc pass: access negated tracker qc pass: access follow tracker ---------------------------------- 2022-01-16 13:50:41 qc pass: bgp routemap filtering with nexthop qc pass: bgp routepolicy filtering with nexthop qc pass: bgp routemap filtering with nexthop with soft-reconfig qc pass: bgp routepolicy filtering with nexthop with soft-reconfig ---------------------------------- 2022-01-23 06:12:55 qc pass: arcnet encapsulation qc pass: infini encapsulation ---------------------------------- 2022-01-30 08:19:54 no qc pass: swipe with aes256gcm no qc pass: swipe with aes192gcm no qc pass: swipe with aes128gcm no qc pass: skip with aes256gcm no qc pass: skip with aes192gcm no qc pass: skip with aes128gcm no qc pass: satp with aes256gcm no qc pass: satp with aes192gcm no qc pass: satp with aes128gcm no qc pass: openvpn with aes256gcm no qc pass: openvpn with aes192gcm no qc pass: openvpn with aes128gcm no qc pass: macsec with aes256gcm no qc pass: macsec with aes192gcm no qc pass: macsec with aes128gcm no qc pass: inlsp with aes256gcm no qc pass: inlsp with aes192gcm no qc pass: inlsp with aes128gcm qc pass: inlsp with none encryption qc pass: inlsp with none hash qc pass: macsec with none encryption qc pass: macsec with none hash qc pass: openvpn with none encryption qc pass: openvpn with none hash qc pass: satp with none encryption qc pass: satp with none hash qc pass: skip with none encryption qc pass: skip with none hash qc pass: swipe with none encryption qc pass: swipe with none hash ---------------------------------- 2022-01-30 08:49:57 qc pass: p4lang: openvpn with none encryption qc pass: p4lang: openvpn with none hash qc pass: p4lang: macsec with none encryption qc pass: p4lang: macsec with none hash ---------------------------------- 2022-01-30 14:39:53 qc pass: macsec with aes128gcm and hash qc pass: macsec with aes192gcm and hash qc pass: macsec with aes256gcm and hash qc pass: macsec with aes128gcm and aead qc pass: macsec with aes192gcm and aead qc pass: macsec with aes256gcm and aead ---------------------------------- 2022-01-30 14:48:15 qc pass: p4lang: macsec with aes128gcm and hash qc pass: p4lang: macsec with aes192gcm and hash qc pass: p4lang: macsec with aes256gcm and hash qc pass: p4lang: macsec with aes128gcm and aead qc pass: p4lang: macsec with aes192gcm and aead qc pass: p4lang: macsec with aes256gcm and aead ---------------------------------- 2022-02-03 07:55:32 todo: p4dpdk multiseg rx/tx loop ---------------------------------- 2022-02-05 03:03:13 no qc pass: bridged mac rewrite qc pass: bridge mac rewrite qc pass: bridge port security qc pass: bridge static address ---------------------------------- 2022-02-07 02:29:39 qc pass: bgp routemap filtering with asend qc pass: bgp routemap filtering with asend with soft-reconfig qc pass: bgp routepolicy filtering with asend qc pass: bgp routepolicy filtering with asend with soft-reconfig qc pass: bgp routemap filtering with asmid qc pass: bgp routemap filtering with asmid with soft-reconfig qc pass: bgp routepolicy filtering with asmid qc pass: bgp routepolicy filtering with asmid with soft-reconfig ---------------------------------- 2022-02-07 22:00:35 todo: punt ace mode to the dataplanes, use it for reflexive acls, consider for ip inspect usage ---------------------------------- 2022-02-08 10:08:19 qc pass: p4lang: reflexive access list ---------------------------------- 2022-02-08 18:30:17 no qc pass: p4lang: reflexive access list qc pass: p4lang: ingress reflexive access list qc pass: p4lang: egress reflexive access list ---------------------------------- 2022-02-09 05:11:48 no todo: punt ace mode to the dataplanes, use it for reflexive acls, consider for ip inspect usage ---------------------------------- 2022-02-09 11:29:32 todo: rtr-hw2.txt, hwsn knob ---------------------------------- 2022-02-09 19:44:39 qc pass: p4lang: interface inspection with egress drop qc pass: p4lang: interface inspection with ingress drop ---------------------------------- 2022-02-09 20:22:55 no todo: rtr-hw2.txt, hwsn knob ---------------------------------- 2022-02-12 07:38:09 qc pass: p4lang: vlan interface inspection with egress drop qc pass: p4lang: vlan interface inspection with ingress drop ---------------------------------- 2022-02-16 05:48:11 qc pass: interface inspection with member ingress drop qc pass: interface inspection with member egress drop ---------------------------------- 2022-02-17 22:06:06 qc pass: mpolka over ethernet qc pass: mpolka over ethernet vlan qc pass: mpolka over ethernet bridge qc pass: mpolka over hdlc qc pass: mpolka over ppp qc pass: mpolka over framerelay qc pass: mpolka over atmdxi qc pass: mpolka over gre qc pass: mpolka over ethernet qc pass: isis with mpolka qc pass: lsrp with mpolka qc pass: ospf with mpolka ---------------------------------- 2022-02-19 15:33:04 qc pass: sgt ethernet encapsulation qc pass: sgt vlan encapsulation qc pass: sgt bridge encapsulation qc pass: sgt bundle encapsulation qc pass: sgt hdlc encapsulation qc pass: sgt ppp encapsulation qc pass: sgt framerelay encapsulation qc pass: sgt atmdxi encapsulation qc pass: sgt isdn encapsulation qc pass: sgt sep encapsulation qc pass: sgt tunnel encapsulation qc pass: interop1: sgt encapsulation ---------------------------------- 2022-02-19 17:34:29 qc pass: qos ingress sgt matcher qc pass: qos egress sgt matcher ---------------------------------- 2022-02-19 18:09:06 qc pass: ingress sgt matching access list qc pass: egress sgt matching access list ---------------------------------- 2022-02-20 04:39:23 qc pass: qos ingress sgt set qc pass: qos egress sgt set ---------------------------------- 2022-02-20 04:54:59 qc pass: sgt ethernet chain encapsulation qc pass: sgt vlan chain encapsulation qc pass: sgt vlan map out encapsulation qc pass: sgt tunnel map out encapsulation ---------------------------------- 2022-02-20 06:20:19 qc pass: p4lang: sgt over ethernet qc pass: p4lang: sgt over vlan qc pass: p4lang: sgt over gre qc pass: p4lang: sgt over pppoe qc pass: p4lang: sgt over l2tp qc pass: p4lang: sgt over hairpin ---------------------------------- 2022-02-20 07:29:16 qc pass: sgt over macsec ethernet encapsulation qc pass: sgt over macsec vlan encapsulation qc pass: p4lang: sgt over macsec over ethernet qc pass: p4lang: sgt over macsec over vlan ---------------------------------- 2022-02-20 07:57:01 qc pass: sgt hairpin encapsulation qc pass: no sgt ethernet encapsulation qc pass: p4lang: sgt ingress access list qc pass: p4lang: sgt egress access list qc pass: p4lang: sgt vlan ingress access list qc pass: p4lang: sgt vlan egress access list ---------------------------------- 2022-02-20 09:51:31 qc pass: p4lang: mpolka core qc pass: p4lang: mpolka vlan core qc pass: p4lang: mpolka edge qc pass: p4lang: mpolka vlan edge ---------------------------------- 2022-02-22 14:42:51 qc pass: sgt encapsulation with ingress allow qc pass: sgt encapsulation with egress allow qc pass: sgt encapsulation with ingress forbid qc pass: sgt encapsulation with egress forbid ---------------------------------- 2022-02-22 17:10:39 no qc pass: p4lang: egress hibryd access list no qc pass: p4lang: ingress hibryd access list no qc pass: egress destination port matching hibryd access list no qc pass: ingress destination port matching hibryd access list no qc pass: egress source port matching hibryd access list no qc pass: ingress source port matching hibryd access list no qc pass: egress source matching hibryd access list no qc pass: ingress source matching hibryd access list no qc pass: egress destination matching hibryd access list no qc pass: ingress destination matching hibryd access list qc pass: ingress destination matching hybrid access list qc pass: egress destination matching hybrid access list qc pass: ingress source matching hybrid access list qc pass: egress source matching hybrid access list qc pass: ingress source port matching hybrid access list qc pass: egress source port matching hybrid access list qc pass: ingress destination port matching hybrid access list qc pass: egress destination port matching hybrid access list qc pass: p4lang: ingress hybrid access list qc pass: p4lang: egress hybrid access list ---------------------------------- 2022-02-23 08:14:30 qc pass: bgp routemap filtering with asbeg qc pass: bgp routemap filtering with asbeg with soft-reconfig qc pass: bgp routepolicy filtering with asbeg qc pass: bgp routepolicy filtering with asbeg with soft-reconfig ---------------------------------- 2022-02-27 20:32:47 qc pass: p4lang: bridge interface inspection with ingress drop qc pass: p4lang: bridge interface inspection with egress drop qc pass: p4lang: pppoe interface inspection with ingress drop qc pass: p4lang: pppoe interface inspection with egress drop qc pass: p4lang: gre interface inspection with ingress drop qc pass: p4lang: gre interface inspection with egress drop qc pass: p4lang: l2tp interface inspection with ingress drop qc pass: p4lang: l2tp interface inspection with egress drop ---------------------------------- 2022-02-27 20:53:59 qc pass: p4lang: interface verify source qc pass: p4lang: vlan interface verify source qc pass: p4lang: bridge interface verify source qc pass: p4lang: pppoe interface verify source qc pass: p4lang: gre interface verify source qc pass: p4lang: l2tp interface verify source ---------------------------------- 2022-02-27 21:02:01 qc pass: verify source with ethernet encapsulation qc pass: interop1: verify source qc pass: interop2: verify source qc pass: interop8: verify source qc pass: interop9: verify source qc pass: verify source with static routing ---------------------------------- 2022-02-27 21:16:26 qc pass: loose verify source with ethernet encapsulation qc pass: p4lang: interface loose verify source qc pass: p4lang: vlan interface loose verify source qc pass: p4lang: bridge interface loose verify source qc pass: p4lang: pppoe interface loose verify source qc pass: p4lang: gre interface loose verify source qc pass: p4lang: l2tp interface loose verify source qc pass: loose verify source with static routing ---------------------------------- 2022-03-01 17:43:52 qc pass: p4lang demultiplexer qc pass: p4lang downlink ---------------------------------- 2022-03-01 18:08:42 no qc pass: p4lang downlink no qc pass: p4lang demultiplexer qc pass: unnamed qc pass: unnamed ---------------------------------- 2022-03-01 18:18:03 no qc pass: unnamed no qc pass: unnamed qc pass: p4lang demultiplexer qc pass: p4lang downlink ---------------------------------- 2022-03-03 06:49:36 todo: quic todo: bgp flowspec v2 todo: tcp window scale ---------------------------------- 2022-03-03 08:07:30 todo: update gtp stack to the latest standards, add to dataplanes ---------------------------------- 2022-03-03 11:37:03 qc pass: ipv4 over gtp qc pass: ipv6 over gtp qc pass: ipv4 and ipv6 over gtp ---------------------------------- 2022-03-03 11:46:08 no qc pass: ipv4 and ipv6 over gtp no qc pass: ipv6 over gtp qc pass: unnamed qc pass: unnamed ---------------------------------- 2022-03-03 11:54:43 no qc pass: unnamed no qc pass: unnamed qc pass: ipv6 over gtp qc pass: ipv4 and ipv6 over gtp ---------------------------------- 2022-03-03 12:31:33 qc pass: gtp tunnel ---------------------------------- 2022-03-03 17:30:24 qc pass: p4lang: ingress gtp access list qc pass: p4lang: egress gtp access list qc pass: p4lang: gtp server over ipv4 qc pass: p4lang: gtp server over ipv6 qc pass: p4lang: gtp server over ipv4 loopback qc pass: p4lang: gtp server over ipv6 loopback ---------------------------------- 2022-03-07 06:41:13 no todo: update gtp stack to the latest standards, add to dataplanes todo: update gtp stack to the latest standards ---------------------------------- 2022-03-08 16:56:26 qc pass: sdwan over ipv4 qc pass: sdwan over ipv6 ---------------------------------- 2022-03-10 06:14:25 qc pass: sdwan with fixed addresses qc pass: sdwan hub and spoke ---------------------------------- 2022-03-11 07:56:22 no todo: tcp window scale ---------------------------------- 2022-03-11 09:59:39 qc pass: secondary dns server qc pass: sdwan with mixed addresses ---------------------------------- 2022-03-21 22:08:40 no qc pass: ppp address propagation failed: ppp address propagation ---------------------------------- 2022-03-21 22:44:12 no failed: ppp address propagation qc pass: ppp address propagation ---------------------------------- 2022-03-22 05:33:09 todo: incremental fib calculation from bgp change list ---------------------------------- 2022-03-28 14:51:21 no todo: trustpoint for certificates ---------------------------------- 2022-03-29 13:09:15 no todo: incremental fib calculation from bgp change list ---------------------------------- 2022-03-29 13:48:35 todo: aliases with sticky parameters todo: disableable door code in temper ---------------------------------- 2022-03-30 04:34:50 22.3.30 todo: lsrp pvrp forbid remote dynamic metric todo: changelog converter with start point ---------------------------------- 2022-03-30 07:02:48 22.3.30 no todo: lsrp pvrp forbid remote dynamic metric ---------------------------------- 2022-03-30 07:59:57 22.3.30 no todo: changelog converter with start point ---------------------------------- 2022-03-30 08:45:44 22.3.30 no todo: aliases with sticky parameters ---------------------------------- 2022-03-30 08:58:47 22.3.30 todo: default playlist in player ---------------------------------- 2022-03-30 10:07:16 22.3.30 no todo: default playlist in player ---------------------------------- 2022-03-30 10:55:30 22.3.30 no todo: disableable door code in temper ---------------------------------- 2022-03-30 14:26:22 22.3.30 todo: default parameter for aliases ---------------------------------- 2022-03-30 17:35:13 22.3.30 no todo: default parameter for aliases ---------------------------------- 2022-03-31 06:23:02 22.3.31 qc pass: bgp change in metric with labels qc pass: ibgp rr prefix movement with labels qc pass: ouni bgp change in metric qc pass: ouni ibgp rr prefix movement qc pass: olab bgp change in metric qc pass: olab ibgp rr prefix movement qc pass: bgp vpns change in metric qc pass: ibgp rr vpns prefix movement qc pass: bgp othervpns change in metric qc pass: ibgp rr othervpns prefix movement ---------------------------------- 2022-03-31 19:16:12 22.3.31 qc pass: ibgp rr prefix withdraw with labels qc pass: ouni ibgp rr prefix withdraw qc pass: olab ibgp rr prefix withdraw qc pass: ibgp rr vpns prefix withdraw qc pass: ibgp rr othervpns prefix withdraw qc pass: olab ibgp fullmesh prefix withdraw ---------------------------------- 2022-04-01 05:31:47 22.4.1 qc pass: ebgp with safe policy qc pass: ibgp with safe policy qc pass: confed bgp with safe policy qc pass: ibgp rr with safe policy qc pass: bgp route server with safe policy qc pass: safe ebgp policy with prefixlist qc pass: safe ebgp policy with routemap qc pass: safe ebgp policy with routepolicy ---------------------------------- 2022-04-03 05:44:11 22.4.3 qc pass: llcudp over ipv4 qc pass: llcudp over ipv6 qc pass: llcudp over loopback qc pass: hdlc tunneling with llcudp qc pass: ppp tunneling with llcudp qc pass: lapb tunneling with llcudp qc pass: framerelay tunneling with llcudp qc pass: atmdxi tunneling with llcudp qc pass: isdn tunneling with llcudp qc pass: sep tunneling with llcudp qc pass: ethernet tunneling with llcudp qc pass: vlan tunneling with llcudp qc pass: tunnel interface with llcudp qc pass: tzsp over ipv4 qc pass: tzsp over ipv6 qc pass: tzsp over loopback qc pass: hdlc tunneling with tzsp qc pass: ppp tunneling with tzsp qc pass: lapb tunneling with tzsp qc pass: framerelay tunneling with tzsp qc pass: atmdxi tunneling with tzsp qc pass: isdn tunneling with tzsp qc pass: sep tunneling with tzsp qc pass: ethernet tunneling with tzsp qc pass: vlan tunneling with tzsp qc pass: tunnel interface with tzsp ---------------------------------- 2022-04-10 10:09:04 22.4.10 qc pass: bridge port split horizon qc pass: bridge port unsplit horizon ---------------------------------- 2022-04-12 16:04:05 22.4.12 todo: tcpmss on bridges todo: allow command to be a substring of an other ---------------------------------- 2022-04-12 17:33:21 22.4.12 no todo: tcpmss on bridges ---------------------------------- 2022-04-14 08:36:56 22.4.14 todo: readvertise knob under routers ---------------------------------- 2022-04-14 16:08:47 22.4.14 todo: rt4/6import/export under vrfs ---------------------------------- 2022-04-15 07:56:58 22.4.15 no todo: rt4/6import/export under vrfs ---------------------------------- 2022-04-15 16:53:32 22.4.15 no todo: readvertise knob under routers ---------------------------------- 2022-04-15 17:04:59 22.4.15 qc pass: redistribution by prefix ---------------------------------- 2022-04-15 17:34:03 22.4.15 qc pass: redistribution with tag ---------------------------------- 2022-04-18 06:00:54 22.4.18 qc pass: ppp labeled gateway qc pass: ppp no remote address qc pass: p4lang: bundle mpls pop qc pass: p4lang: bundle vlan mpls pop qc pass: p4lang: pppoe mpls pop qc pass: p4lang: gre mpls pop qc pass: p4lang: l2tp mpls pop qc pass: p4lang: bundle mpls push qc pass: p4lang: bundle vlan mpls push qc pass: p4lang: pppoe mpls push qc pass: p4lang: gre mpls push qc pass: p4lang: l2tp mpls push ---------------------------------- 2022-04-19 07:36:59 22.4.19 qc pass: ppp no local address qc pass: ebgp over common subnet ---------------------------------- 2022-04-27 06:19:54 22.4.27 qc pass: p4lang: lpm routing qc pass: static routing with lpm ---------------------------------- 2022-04-28 04:15:39 22.4.28 qc pass: p4lang: l2vpn over bundle mpls qc pass: p4lang: l2vpn over bundle vlan mpls qc pass: p4lang: l2vpn over pppoe mpls qc pass: p4lang: l2vpn over gre mpls qc pass: p4lang: l2vpn over l2tp mpls qc pass: p4lang: l3vpn over bundle mpls qc pass: p4lang: l3vpn over bundle vlan mpls qc pass: p4lang: l3vpn over pppoe mpls qc pass: p4lang: l3vpn over gre mpls qc pass: p4lang: l3vpn over l2tp mpls ---------------------------------- 2022-04-29 17:51:12 22.4.29 qc pass: interop1: vpls/ldp cw over bgp qc pass: interop1: ethernet over mpls cw qc pass: vpls/ldp cw over ebgp qc pass: vpls/ldp cw over ibgp qc pass: vpls/ldp cw over bgp additional path qc pass: vpls/ldp cw over ibgp rr qc pass: vpls/ldp cw over confed bgp qc pass: vpls/ldp cw over bgp route server qc pass: vpls/ldp cw over bgp with soft-reconfig qc pass: unicast+vpls/ldp cw over bgp qc pass: unicast+vpls/ldp cw over bgp with soft-reconfig qc pass: unicast+vpls/ldp cw over bgp additional path ---------------------------------- 2022-05-05 13:33:24 22.5.5 todo: sho run server ---------------------------------- 2022-05-08 07:29:17 22.5.8 todo: multiple listen stanzas for bgp listen todo: backplane header in the dataplanes with bridge_id, vrf_id and nexthop_id ---------------------------------- 2022-05-08 08:49:15 22.5.8 no todo: multiple listen stanzas for bgp listen ---------------------------------- 2022-05-09 17:17:48 22.5.9 qc pass: redistribution filtering with prefixlist in routemap qc pass: redistribution filtering with prefixlist in routepolicy qc pass: redistribution filtering with accesslist in routemap qc pass: redistribution filtering with accesslist in routepolicy ---------------------------------- 2022-05-09 18:05:52 22.5.9 qc pass: redistribution filtering with routepolicy in routemap qc pass: redistribution filtering with routemap in routepolicy ---------------------------------- 2022-05-10 05:10:26 22.5.10 todo: backup path support to the spf class todo: wcmp support to the spf class todo: bgp shadow route reflection ---------------------------------- 2022-05-10 18:06:28 22.5.10 no todo: backplane header in the dataplanes with bridge_id, vrf_id and nexthop_id todo: backplane/stacking capability ---------------------------------- 2022-05-10 19:49:37 22.5.10 no todo: sho run server ---------------------------------- 2022-05-15 11:12:50 22.5.15 qc pass: p4lang: routing over backplane ---------------------------------- 2022-05-15 13:44:40 22.5.15 qc pass: p4lang: bridging over backplane ---------------------------------- 2022-05-16 07:27:38 22.5.16 no todo: backplane/stacking capability ---------------------------------- 2022-05-18 14:49:11 22.5.18 no qc pass: p4lang downlink no qc pass: p4lang demultiplexer failed: p4lang demultiplexer failed: p4lang downlink ---------------------------------- 2022-05-18 16:13:14 22.5.18 no failed: p4lang downlink no failed: p4lang demultiplexer qc pass: p4lang demultiplexer qc pass: p4lang downlink ---------------------------------- 2022-05-19 07:31:45 22.5.19 no qc pass: dummy test qc pass: unnamed ---------------------------------- 2022-05-19 07:48:07 22.5.19 no qc pass: unnamed qc pass: dummy test qc pass: interface with slot qc pass: subinterface with slot ---------------------------------- 2022-06-01 07:23:39 22.6.1 qc pass: p4lang: mpls core over backplane qc pass: p4lang: mpls vpn over backplane ---------------------------------- 2022-06-04 20:03:25 22.6.4 todo: pcapng format for packet captures todo: configurable netflow parameters ---------------------------------- 2022-06-04 20:39:06 22.6.4 no todo: pcapng format for packet captures ---------------------------------- 2022-06-04 21:19:25 22.6.4 no todo: configurable netflow parameters ---------------------------------- 2022-06-16 12:16:09 22.6.16 no todo: bridge security from dhcp, slaac, whatever server ---------------------------------- 2022-06-16 17:21:15 22.6.16 qc pass: dhcp with arp/nd security qc pass: secure arp/nd ---------------------------------- 2022-06-23 18:48:35 22.6.23 qc pass: p4lang: local connect qc pass: p4lang: vlan local connect ---------------------------------- 2022-06-27 13:33:05 22.6.27 todo: test tstmat ---------------------------------- 2022-06-27 16:46:12 22.6.27 no todo: test tstmat ---------------------------------- 2022-07-03 12:03:44 22.7.3 qc pass: ebgp with backup peer qc pass: ibgp with backup peer qc pass: confed bgp with backup peer qc pass: route server bgp with backup peer ---------------------------------- 2022-07-05 09:45:37 22.7.5 todo: mpls static label mapping ---------------------------------- 2022-07-05 17:41:50 22.7.5 no todo: mpls static label mapping ---------------------------------- 2022-07-05 18:58:51 22.7.5 qc pass: static labels qc pass: static labels with ldp ---------------------------------- 2022-07-05 23:36:45 22.7.5 todo: ipv4/6 host-rate todo: pmtud tool ---------------------------------- 2022-07-06 00:03:31 22.7.6 todo: interface rate-limit-in/out ---------------------------------- 2022-07-06 07:39:15 22.7.6 no todo: interface rate-limit-in/out todo: test cases for interface rate-limit-in/out ---------------------------------- 2022-07-06 07:56:30 22.7.6 todo: arping ---------------------------------- 2022-07-06 08:19:21 22.7.6 no todo: ipv4/6 host-rate ---------------------------------- 2022-07-06 09:59:08 22.7.6 no todo: arping ---------------------------------- 2022-07-06 11:11:16 22.7.6 no todo: pmtud tool ---------------------------------- 2022-07-06 17:07:42 22.7.6 no todo: test cases for interface rate-limit-in/out qc pass: qos ingress policer action qc pass: qos egress policer action ---------------------------------- 2022-07-07 09:03:08 22.7.7 qc pass: pmtud qc pass: p4lang: pmtud ---------------------------------- 2022-07-07 12:38:52 22.7.7 qc pass: tcp mss in qc pass: tcp mss out ---------------------------------- 2022-07-07 13:47:14 22.7.7 no qc pass: pmtud qc pass: pmtud out qc pass: pmtud in ---------------------------------- 2022-07-07 14:00:43 22.7.7 qc pass: p4lang: vlan pmtud ---------------------------------- 2022-07-07 14:26:09 22.7.7 todo: test acl reports todo: test for ttl in ip and mpls, even in p4 todo: test for p4 tcpmss todo: bridge pmtud todo: test for bridge pmtud and tcpmss, even in p4 ---------------------------------- 2022-07-07 15:11:18 22.7.7 no qc pass: pmtud out ---------------------------------- 2022-07-07 15:23:06 22.7.7 no todo: test for p4 tcpmss qc pass: pmtud out qc pass: p4lang: tcpmss qc pass: p4lang: vlan tcpmss ---------------------------------- 2022-07-07 15:49:13 22.7.7 no todo: test acl reports ---------------------------------- 2022-07-07 16:06:55 22.7.7 no todo: test for ttl in ip and mpls, even in p4 qc pass: ip ttl exceed qc pass: mpls ttl exceed ---------------------------------- 2022-07-07 19:40:55 22.7.7 no todo: test for bridge pmtud and tcpmss, even in p4 no todo: bridge pmtud qc pass: bridge tcp mss in qc pass: bridge tcp mss out todo: bridge pmtud, even in p4 ---------------------------------- 2022-07-07 19:51:24 22.7.7 qc pass: p4lang: bridge tcpmss qc pass: p4lang: vlan bridge tcpmss ---------------------------------- 2022-07-07 21:08:45 22.7.7 no todo: bridge pmtud, even in p4 qc pass: bridge pmtud in qc pass: bridge pmtud out todo: bridge pmtud in p4 ---------------------------------- 2022-07-07 21:24:03 22.7.7 no todo: bridge pmtud in p4 qc pass: p4lang: bridge pmtud qc pass: p4lang: vlan bridge pmtud ---------------------------------- 2022-07-08 06:14:46 22.7.8 qc pass: p4lang: ip ttl exceed qc pass: p4lang: mpls ttl exceed ---------------------------------- 2022-07-09 10:01:06 22.7.9 qc pass: unnamed qc pass: unnamed ---------------------------------- 2022-07-09 10:26:30 22.7.9 no qc pass: unnamed no qc pass: unnamed qc pass: precise mac enforcement qc pass: bridge mac enforcement ---------------------------------- 2022-07-10 18:26:58 22.7.10 qc pass: unicast+rtfilter over bgp qc pass: unicast+rtfilter over bgp with soft-reconfig qc pass: unicast+rtfilter over bgp with additional path qc pass: unicast+rtfilter over ibgp rr ---------------------------------- 2022-07-11 08:11:43 22.7.11 qc pass: vpns with rtfilter in qc pass: vpns with rtfilter out ---------------------------------- 2022-07-11 08:24:20 22.7.11 no qc pass: vpns with rtfilter out no qc pass: vpns with rtfilter in qc pass: vpns with ingress rtfilter qc pass: vpns with egress rtfilter ---------------------------------- 2022-07-11 09:30:48 22.7.11 qc pass: othervpns with ingress rtfilter qc pass: othervpns with egress rtfilter ---------------------------------- 2022-07-11 13:15:50 22.7.11 qc pass: vpls/ldp with ingress rtfilter qc pass: vpls/ldp with egress rtfilter ---------------------------------- 2022-07-11 13:32:48 22.7.11 qc pass: evpn/pbb with ingress rtfilter qc pass: evpn/pbb with egress rtfilter ---------------------------------- 2022-07-20 15:33:55 22.7.20 qc pass: p4lang: multilink pppoe routing qc pass: p4lang: multilink pppoe mpls qc pass: p4lang: multilink l2tp routing over ipv4 qc pass: p4lang: multilink l2tp routing over ipv6 qc pass: p4lang: multilink l2tp routing over vlan qc pass: p4lang: multilink l2tp mpls over ipv4 qc pass: p4lang: multilink l2tp mpls over ipv6 qc pass: p4lang: multilink l2tp mpls over vlan ---------------------------------- 2022-07-20 18:03:43 22.7.20 qc pass: p4lang: multilink l2tp routing over bundle qc pass: p4lang: multilink l2tp mpls over bundle ---------------------------------- 2022-07-22 15:21:43 22.7.22 qc pass: dhcp with static allocation qc pass: dhcp with excluded address ---------------------------------- 2022-07-25 07:13:03 22.7.25 qc pass: ebgp ao password ---------------------------------- 2022-07-25 08:27:06 22.7.25 qc pass: interop1: bgp ao authentication qc pass: interop2: bgp ao authentication qc pass: interop9: bgp ao authentication ---------------------------------- 2022-07-25 22:02:31 22.7.25 no qc pass: bgp maximum prefix qc pass: bgp maximum prefix in qc pass: bgp maximum prefix out ---------------------------------- 2022-07-26 06:20:36 22.7.26 qc pass: bgp attribute filtering ---------------------------------- 2022-07-26 20:00:34 22.7.26 qc pass: bgp routemap filtering with unknown attribute qc pass: bgp routepolicy filtering with unknown attribute ---------------------------------- 2022-07-26 20:10:37 22.7.26 qc pass: bgp unknown attribute ingress qc pass: bgp unknown attribute egress ---------------------------------- 2022-07-30 21:34:14 22.7.30 qc pass: ingress fragment matching access list qc pass: ingress alert matching access list ---------------------------------- 2022-08-05 07:21:41 22.8.5 qc pass: bgp with ctp over sr qc pass: bgp with php ctp over sr qc pass: ebgp with ctp qc pass: ibgp with ctp qc pass: bgp additional path with ctp qc pass: ebgp with php ctp qc pass: ibgp with php ctp qc pass: bgp additional path with php ctp qc pass: ibgp rr with ctp qc pass: confed bgp with ctp qc pass: bgp route server with ctp qc pass: bgp soft-reconfig with ctp qc pass: ctp bgp ingress route filtering with prefixlist qc pass: ctp bgp egress route filtering with prefixlist qc pass: ctp bgp ingress route filtering with routemap qc pass: ctp bgp egress route filtering with routemap qc pass: ctp bgp ingress route filtering with prefixlist with soft-reconfig qc pass: ctp bgp egress route filtering with prefixlist with soft-reconfig qc pass: ctp bgp ingress route filtering with routemap with soft-reconfig qc pass: ctp bgp egress route filtering with routemap with soft-reconfig qc pass: ctp bgp ingress route filtering with routepolicy qc pass: ctp bgp egress route filtering with routepolicy qc pass: ctp bgp ingress route filtering with routepolicy with soft-reconfig qc pass: ctp bgp egress route filtering with routepolicy with soft-reconfig qc pass: ctp bgp default route qc pass: ctp bgp aggregation qc pass: bgp change in metric with ctp qc pass: ibgp rr prefix movement with ctp qc pass: ibgp rr prefix withdraw with ctp qc pass: unicast+octp over ebgp qc pass: unicast+octp over bgp with soft-reconfig qc pass: unicast+octp over bgp with additional path qc pass: unicast+octp over bgp route server qc pass: unicast+octp over ibgp qc pass: unicast+octp over ibgp rr qc pass: unicast+octp over confed bgp qc pass: octp over srv6 over ibgp qc pass: octp over srv6 over ebgp qc pass: octp over srv6 over ibgp rr qc pass: octp over srv6 over confed bgp qc pass: octp over srv6 over bgp route server qc pass: octp over srv6 over bgp with soft-reconfig qc pass: octp over srv6 over bgp additional path qc pass: octp bgp default route qc pass: octp bgp ingress route filtering with prefixlist qc pass: octp bgp egress route filtering with prefixlist qc pass: octp bgp ingress route filtering with routemap qc pass: octp bgp egress route filtering with routemap qc pass: octp bgp ingress route filtering with prefixlist with soft-reconfig qc pass: octp bgp egress route filtering with prefixlist with soft-reconfig qc pass: octp bgp ingress route filtering with routemap with soft-reconfig qc pass: octp bgp egress route filtering with routemap with soft-reconfig qc pass: octp bgp ingress route filtering with routepolicy qc pass: octp bgp egress route filtering with routepolicy qc pass: octp bgp ingress route filtering with routepolicy with soft-reconfig qc pass: octp bgp egress route filtering with routepolicy with soft-reconfig qc pass: octp bgp aggregation qc pass: octp bgp change in metric qc pass: octp ibgp rr prefix movement qc pass: octp ibgp rr prefix withdraw qc pass: octp ibgp fullmesh prefix withdraw qc pass: olab+octp over ebgp qc pass: redistribution with bgp ctp qc pass: redistribution with octp bgp ---------------------------------- 2022-08-05 07:48:52 22.8.5 qc pass: interop9: bgp with ctp qc pass: interop9: bgp with php ctp ---------------------------------- 2022-08-07 10:15:50 22.8.7 qc pass: bgp routemap rd rewrite qc pass: bgp routepolicy filtering with rd ---------------------------------- 2022-08-07 10:53:37 22.8.7 no qc pass: bgp routepolicy filtering with rd no qc pass: qos egress policer action no qc pass: qos ingress policer action no qc pass: mpolka over ethernet qc pass: mpolka over bridge qc pass: qos ingress rate limit action qc pass: qos egress rate limit action qc pass: bgp routepolicy rd rewrite ---------------------------------- 2022-08-08 06:39:37 22.8.8 qc pass: bgp csc vpn with ctp qc pass: redistribution route limit ---------------------------------- 2022-08-26 06:20:48 22.8.26 todo: colorful bgp lu implementation accroding to https://www.facebook.com/mc36mc36/posts/pfbid02jN7yrSNcqj1qEwMjJ5nmqaFFP6EN3wzyyMgPBjwgCnoeq5G6NoBSNc5mT5DmrvL4l ---------------------------------- 2022-08-28 04:17:39 22.8.28 no todo: p4dpdk multiseg rx/tx loop ---------------------------------- 2022-08-30 09:48:27 22.8.30 todo: todo: allowed v4/v6 range to temper ---------------------------------- 2022-08-30 11:03:45 22.8.30 no todo: colorful bgp lu implementation accroding to https://www.facebook.com/mc36mc36/posts/pfbid02jN7yrSNcqj1qEwMjJ5nmqaFFP6EN3wzyyMgPBjwgCnoeq5G6NoBSNc5mT5DmrvL4l no todo: todo: allowed v4/v6 range to temper todo: allowed v4/v6 range to temper todo: colorful bgp lu implementation accroding to https://lists.geant.org/sympa/arc/rare-dev/2022-08/msg00042.html ---------------------------------- 2022-08-30 18:18:06 22.8.30 todo: sho ipv4 bgp x flaps todo: fix enter in spacetab term behaviour ---------------------------------- 2022-11-10 06:00:07 22.11.10 no todo: sho ipv4 bgp x flaps ---------------------------------- 2022-12-14 22:17:07 22.12.14 no todo: rift4, rift6 ---------------------------------- 2022-12-15 01:09:25 22.12.15 qc pass: interop9: point2point rift qc pass: rift point2point connection qc pass: rift point2point chain qc pass: rift metric qc pass: rift address suppression qc pass: rift route filtering with prefixlist qc pass: rift route filtering with routemap qc pass: rift route filtering with routepolicy qc pass: rift tag qc pass: rift default route qc pass: rift with bfd qc pass: rift peer template qc pass: rift prefix withdraw qc pass: rift change in metric qc pass: rift change in tag qc pass: rift auto mesh tunnel qc pass: rift triangle connection qc pass: rift prefix movement qc pass: rift autoroute qc pass: rift default address suppression qc pass: rift address unsuppression qc pass: rift over point2point ethernet qc pass: rift point2point connection with bidir check qc pass: rift ecmp connection ---------------------------------- 2022-12-15 01:20:12 22.12.15 no todo: fix enter in spacetab term behaviour ---------------------------------- 2022-12-15 04:43:48 22.12.15 qc pass: rift with bgp linkstate qc pass: rift inter level chain ---------------------------------- 2022-12-15 11:21:02 22.12.15 no todo: allowed v4/v6 range to temper ---------------------------------- 2022-12-15 16:41:37 22.12.15 no todo: xot, x75 switching ---------------------------------- 2022-12-15 17:42:29 22.12.15 no todo: x25 ---------------------------------- 2022-12-16 10:02:42 22.12.16 qc pass: xot pad qc pass: rift dynamic icmp metric qc pass: rift dynamic udp metric qc pass: rift dynamic twamp metric ---------------------------------- 2022-12-20 10:49:45 22.12.20 todo: mpls inband network telemetry ---------------------------------- 2022-12-21 14:37:00 22.12.21 no qc pass: dhcp with excluded address failed: dhcp with excluded address ---------------------------------- 2022-12-21 15:47:24 22.12.21 no failed: dhcp with excluded address qc pass: dhcp with excluded address ---------------------------------- 2022-12-22 11:36:31 22.12.22 no todo: colorful bgp lu implementation accroding to https://lists.geant.org/sympa/arc/rare-dev/2022-08/msg00042.html ---------------------------------- 2022-12-22 13:16:57 22.12.22 qc pass: colors over ebgp qc pass: colors over ibgp qc pass: other colors over ebgp qc pass: other colors over ibgp todo: colorful spf class ---------------------------------- 2022-12-22 14:10:22 22.12.22 no qc pass: other colors over ebgp qc pass: colors over ibgp ---------------------------------- 2022-12-22 15:43:36 22.12.22 no qc pass: colors over ibgp qc pass: other colors over ebgp qc pass: colors over bgp additional path qc pass: other colors over bgp additional path qc pass: colors over ibgp rr qc pass: other colors over ibgp rr qc pass: colors over confed bgp qc pass: other colors over confed bgp ---------------------------------- 2022-12-22 17:25:58 22.12.22 qc pass: colors over bgp route server qc pass: other colors over bgp route server qc pass: colors over bgp with soft-reconfig qc pass: other colors over bgp with soft-reconfig ---------------------------------- 2022-12-27 05:54:01 22.12.27 no todo: colorful spf class no qc pass: lsrp database authentication failed: lsrp database authentication ---------------------------------- 2022-12-27 06:18:45 22.12.27 qc pass: lsrp flexalgo ---------------------------------- 2022-12-27 07:40:59 22.12.27 qc pass: ospf flexalgo ---------------------------------- 2022-12-27 11:29:53 22.12.27 qc pass: isis flexalgo qc pass: integrated isis address unsuppression ---------------------------------- 2022-12-27 11:51:48 22.12.27 no failed: lsrp database authentication no qc pass: integrated isis address unsuppression qc pass: integrated isis flexalgo qc pass: lsrp database authentication ---------------------------------- 2022-12-28 18:16:18 22.12.28 no todo: bgp strict bfd mode ---------------------------------- 2022-12-28 19:51:04 22.12.28 qc pass: ebgp with strict bfd ---------------------------------- 2022-12-29 02:53:35 22.12.29 qc pass: ebgp with asymmetric bfd ---------------------------------- 2022-12-30 03:18:28 22.12.30 todo: bgp route policy distribution ---------------------------------- 2022-12-30 10:04:33 22.12.30 no todo: bgp route policy distribution qc pass: unicast+rpd over bgp qc pass: unicast+rpd over bgp with soft-reconfig qc pass: unicast+rpd over bgp with additional path ---------------------------------- 2022-12-30 18:41:33 22.12.30 todo: policy from bgp rpd ---------------------------------- 2022-12-31 14:56:27 22.12.31 qc pass: legacy bgp session ---------------------------------- 2023-01-02 20:12:39 23.1.2 qc pass: pvrp with sr qc pass: pvrp with bier qc pass: pvrp with srgb sr qc pass: pvrp with selective sr qc pass: pvrp with selective bier qc pass: pvrp with polka ---------------------------------- 2023-01-03 13:04:28 23.1.3 qc pass: ipv4 target port selection qc pass: ipv6 target port selection ---------------------------------- 2023-01-03 15:07:51 23.1.3 todo: tcam compression to tabRoute todo: route filtering to p4lang ---------------------------------- 2023-01-04 07:12:28 23.1.4 qc pass: p4lang: null routing ---------------------------------- 2023-01-04 08:49:14 23.1.4 no todo: route filtering to p4lang ---------------------------------- 2023-01-04 09:57:53 23.1.4 qc pass: p4lang: route filtering with prefixlist qc pass: p4lang: route filtering with routemap qc pass: p4lang: route filtering with routepolicy ---------------------------------- 2023-01-04 17:44:39 23.1.4 no todo: tcam compression to tabRoute todo: tcam compression to routing protocols, p4lang ---------------------------------- 2023-01-05 01:27:03 23.1.5 no todo: tcam compression to routing protocols, p4lang todo: tcam compression to p4lang ---------------------------------- 2023-01-05 02:56:14 23.1.5 qc pass: babel auto summarization qc pass: eigrp auto summarization qc pass: olsr auto summarization qc pass: pvrp auto summarization qc pass: rip auto summarization ---------------------------------- 2023-01-05 03:43:48 23.1.5 qc pass: bgp aggregation ---------------------------------- 2023-01-05 03:55:40 23.1.5 no qc pass: bgp aggregation qc pass: bgp auto summarization ---------------------------------- 2023-01-05 05:06:44 23.1.5 qc pass: p4lang: routing with fib compression qc pass: p4lang: mpls with fib compression ---------------------------------- 2023-01-05 06:20:09 23.1.5 no todo: mpls inband network telemetry no todo: tcam compression to p4lang todo: mpls inband performance measurement ---------------------------------- 2023-01-20 07:37:54 23.1.20 qc pass: bgp interas vpn with multiple labels qc pass: bgp interas othervpn with multiple labels ---------------------------------- 2023-01-22 13:43:49 23.1.22 qc pass: bgp interas labels with multiple labels qc pass: bgp interas ctp with multiple labels ---------------------------------- 2023-02-04 19:54:36 23.2.4 qc pass: ebgp with hostname qc pass: ebgp with software ---------------------------------- 2023-02-07 04:22:27 23.2.7 qc pass: redistribution with rift ---------------------------------- 2023-02-07 07:37:30 23.2.7 qc pass: bgp with car over sr qc pass: bgp with php car over sr qc pass: ebgp with ctp qc pass: ibgp with ctp qc pass: bgp additional path with ctp qc pass: ebgp with php ctp qc pass: ibgp with php ctp qc pass: bgp additional path with php ctp qc pass: ibgp rr with ctp qc pass: confed bgp with ctp qc pass: bgp route server with ctp qc pass: bgp soft-reconfig with ctp qc pass: ctp bgp ingress route filtering with prefixlist qc pass: ctp bgp egress route filtering with prefixlist qc pass: ctp bgp ingress route filtering with routemap qc pass: ctp bgp egress route filtering with routemap qc pass: ctp bgp ingress route filtering with prefixlist with soft-reconfig qc pass: ctp bgp egress route filtering with prefixlist with soft-reconfig qc pass: ctp bgp ingress route filtering with routemap with soft-reconfig qc pass: ctp bgp egress route filtering with routemap with soft-reconfig qc pass: ctp bgp ingress route filtering with routepolicy qc pass: ctp bgp egress route filtering with routepolicy qc pass: ctp bgp ingress route filtering with routepolicy with soft-reconfig qc pass: ctp bgp egress route filtering with routepolicy with soft-reconfig qc pass: ctp bgp default route qc pass: ctp bgp aggregation qc pass: bgp change in metric with ctp qc pass: ibgp rr prefix movement with ctp qc pass: ibgp rr prefix withdraw with ctp qc pass: unicast+octp over ebgp qc pass: unicast+octp over bgp with soft-reconfig qc pass: unicast+octp over bgp with additional path qc pass: unicast+octp over bgp route server qc pass: unicast+octp over ibgp qc pass: unicast+octp over ibgp rr qc pass: unicast+octp over confed bgp qc pass: octp over srv6 over ibgp qc pass: octp over srv6 over ebgp qc pass: octp over srv6 over ibgp rr qc pass: octp over srv6 over confed bgp qc pass: octp over srv6 over bgp route server qc pass: octp over srv6 over bgp with soft-reconfig qc pass: octp over srv6 over bgp additional path qc pass: octp bgp default route qc pass: octp bgp ingress route filtering with prefixlist qc pass: octp bgp egress route filtering with prefixlist qc pass: octp bgp ingress route filtering with routemap qc pass: octp bgp egress route filtering with routemap qc pass: octp bgp ingress route filtering with prefixlist with soft-reconfig qc pass: octp bgp egress route filtering with prefixlist with soft-reconfig qc pass: octp bgp ingress route filtering with routemap with soft-reconfig qc pass: octp bgp egress route filtering with routemap with soft-reconfig qc pass: octp bgp ingress route filtering with routepolicy qc pass: octp bgp egress route filtering with routepolicy qc pass: octp bgp ingress route filtering with routepolicy with soft-reconfig qc pass: octp bgp egress route filtering with routepolicy with soft-reconfig qc pass: octp bgp aggregation qc pass: octp bgp change in metric qc pass: octp ibgp rr prefix movement qc pass: octp ibgp rr prefix withdraw qc pass: octp ibgp fullmesh prefix withdraw qc pass: olab+octp over ebgp qc pass: ocar+octp over ebgp qc pass: bgp csc vpn with ctp qc pass: bgp interas ctp with multiple labels ---------------------------------- 2023-02-07 07:49:15 23.2.7 no qc pass: other colors over bgp with soft-reconfig no qc pass: colors over bgp with soft-reconfig no qc pass: colors over bgp route server no qc pass: other colors over confed bgp no qc pass: colors over confed bgp no qc pass: other colors over ibgp rr no qc pass: colors over ibgp rr no qc pass: other colors over bgp additional path no qc pass: colors over bgp additional path no qc pass: other colors over ibgp no qc pass: colors over ibgp no qc pass: other colors over ebgp no qc pass: colors over ebgp qc pass: ctp colors over ebgp qc pass: other ctp colors over ebgp qc pass: ctp colors over ibgp qc pass: other ctp colors over ibgp qc pass: ctp colors over bgp additional path qc pass: other ctp colors over bgp additional path qc pass: ctp colors over ibgp rr qc pass: other ctp colors over ibgp rr qc pass: ctp colors over confed bgp qc pass: other ctp colors over confed bgp qc pass: ctp colors over bgp route server qc pass: ctp colors over bgp with soft-reconfig qc pass: other ctp colors over bgp with soft-reconfig ---------------------------------- 2023-02-07 08:05:50 23.2.7 no qc pass: other colors over bgp route server qc pass: other ctp colors over bgp route server qc pass: car colors over ebgp qc pass: other car colors over ebgp qc pass: car colors over ibgp qc pass: other car colors over ibgp qc pass: car colors over bgp additional path qc pass: other car colors over bgp additional path qc pass: car colors over ibgp rr qc pass: other car colors over ibgp rr qc pass: car colors over confed bgp qc pass: other car colors over confed bgp qc pass: car colors over bgp route server qc pass: other car colors over bgp route server qc pass: car colors over bgp with soft-reconfig qc pass: other car colors over bgp with soft-reconfig ---------------------------------- 2023-02-07 08:48:05 23.2.7 no qc pass: bgp interas ctp with multiple labels no qc pass: bgp csc vpn with ctp no qc pass: olab+octp over ebgp no qc pass: octp ibgp fullmesh prefix withdraw no qc pass: octp ibgp rr prefix withdraw no qc pass: octp ibgp rr prefix movement no qc pass: octp bgp change in metric no qc pass: octp bgp aggregation no qc pass: octp bgp egress route filtering with routepolicy with soft-reconfig no qc pass: octp bgp ingress route filtering with routepolicy with soft-reconfig no qc pass: octp bgp egress route filtering with routepolicy no qc pass: octp bgp ingress route filtering with routepolicy no qc pass: octp bgp egress route filtering with routemap with soft-reconfig no qc pass: octp bgp ingress route filtering with routemap with soft-reconfig no qc pass: octp bgp egress route filtering with prefixlist with soft-reconfig no qc pass: octp bgp ingress route filtering with prefixlist with soft-reconfig no qc pass: octp bgp egress route filtering with routemap no qc pass: octp bgp ingress route filtering with routemap no qc pass: octp bgp egress route filtering with prefixlist no qc pass: octp bgp ingress route filtering with prefixlist no qc pass: octp bgp default route no qc pass: octp over srv6 over bgp additional path no qc pass: octp over srv6 over bgp with soft-reconfig no qc pass: octp over srv6 over bgp route server no qc pass: octp over srv6 over confed bgp no qc pass: octp over srv6 over ibgp rr no qc pass: octp over srv6 over ebgp no qc pass: octp over srv6 over ibgp no qc pass: unicast+octp over confed bgp no qc pass: unicast+octp over ibgp rr no qc pass: unicast+octp over ibgp no qc pass: unicast+octp over bgp route server no qc pass: unicast+octp over bgp with additional path no qc pass: unicast+octp over bgp with soft-reconfig no qc pass: unicast+octp over ebgp no qc pass: ibgp rr prefix withdraw with ctp no qc pass: ibgp rr prefix movement with ctp no qc pass: bgp change in metric with ctp no qc pass: ctp bgp aggregation no qc pass: ctp bgp default route no qc pass: ctp bgp egress route filtering with routepolicy with soft-reconfig no qc pass: ctp bgp ingress route filtering with routepolicy with soft-reconfig no qc pass: ctp bgp egress route filtering with routepolicy no qc pass: ctp bgp ingress route filtering with routepolicy no qc pass: ctp bgp egress route filtering with routemap with soft-reconfig no qc pass: ctp bgp ingress route filtering with routemap with soft-reconfig no qc pass: ctp bgp egress route filtering with prefixlist with soft-reconfig no qc pass: ctp bgp ingress route filtering with prefixlist with soft-reconfig no qc pass: ctp bgp egress route filtering with routemap no qc pass: ctp bgp ingress route filtering with routemap no qc pass: ctp bgp egress route filtering with prefixlist no qc pass: ctp bgp ingress route filtering with prefixlist no qc pass: bgp soft-reconfig with ctp no qc pass: bgp route server with ctp no qc pass: confed bgp with ctp no qc pass: ibgp rr with ctp no qc pass: bgp additional path with php ctp no qc pass: ibgp with php ctp no qc pass: ebgp with php ctp no qc pass: bgp additional path with ctp no qc pass: ibgp with ctp no qc pass: ebgp with ctp qc pass: ebgp with car qc pass: ibgp with car qc pass: bgp additional path with car qc pass: ebgp with php car qc pass: ibgp with php car qc pass: bgp additional path with php car qc pass: ibgp rr with car qc pass: confed bgp with car qc pass: bgp route server with car qc pass: bgp soft-reconfig with car qc pass: car bgp ingress route filtering with prefixlist qc pass: car bgp egress route filtering with prefixlist qc pass: car bgp ingress route filtering with routemap qc pass: car bgp egress route filtering with routemap qc pass: car bgp ingress route filtering with prefixlist with soft-reconfig qc pass: car bgp egress route filtering with prefixlist with soft-reconfig qc pass: car bgp ingress route filtering with routemap with soft-reconfig qc pass: car bgp egress route filtering with routemap with soft-reconfig qc pass: car bgp ingress route filtering with routepolicy qc pass: car bgp egress route filtering with routepolicy qc pass: car bgp ingress route filtering with routepolicy with soft-reconfig qc pass: car bgp egress route filtering with routepolicy with soft-reconfig qc pass: car bgp default route qc pass: car bgp aggregation qc pass: bgp change in metric with car qc pass: ibgp rr prefix movement with car qc pass: ibgp rr prefix withdraw with car qc pass: unicast+ocar over ebgp qc pass: unicast+ocar over bgp with soft-reconfig qc pass: unicast+ocar over bgp with additional path qc pass: unicast+ocar over bgp route server qc pass: unicast+ocar over ibgp qc pass: unicast+ocar over ibgp rr qc pass: unicast+ocar over confed bgp qc pass: ocar over srv6 over ibgp qc pass: ocar over srv6 over ebgp qc pass: ocar over srv6 over ibgp rr qc pass: ocar over srv6 over confed bgp qc pass: ocar over srv6 over bgp route server qc pass: ocar over srv6 over bgp with soft-reconfig qc pass: ocar over srv6 over bgp additional path qc pass: ocar bgp default route qc pass: ocar bgp ingress route filtering with prefixlist qc pass: ocar bgp egress route filtering with prefixlist qc pass: ocar bgp ingress route filtering with routemap qc pass: ocar bgp egress route filtering with routemap qc pass: ocar bgp ingress route filtering with prefixlist with soft-reconfig qc pass: ocar bgp egress route filtering with prefixlist with soft-reconfig qc pass: ocar bgp ingress route filtering with routemap with soft-reconfig qc pass: ocar bgp egress route filtering with routemap with soft-reconfig qc pass: ocar bgp ingress route filtering with routepolicy qc pass: ocar bgp egress route filtering with routepolicy qc pass: ocar bgp ingress route filtering with routepolicy with soft-reconfig qc pass: ocar bgp egress route filtering with routepolicy with soft-reconfig qc pass: ocar bgp aggregation qc pass: ocar bgp change in metric qc pass: ocar ibgp rr prefix movement qc pass: ocar ibgp rr prefix withdraw qc pass: ocar ibgp fullmesh prefix withdraw qc pass: olab+ocar over ebgp qc pass: bgp csc vpn with car qc pass: bgp interas car with multiple labels ---------------------------------- 2023-02-08 20:02:57 23.2.8 no qc pass: p4lang: route filtering with routepolicy no qc pass: p4lang: route filtering with prefixlist qc pass: p4lang: fib route filtering with prefixlist qc pass: p4lang: fib filtering with routepolicy ---------------------------------- 2023-02-08 20:15:01 23.2.8 no qc pass: p4lang: route filtering with routemap no qc pass: p4lang: fib route filtering with prefixlist qc pass: p4lang: fib filtering with prefixlist qc pass: p4lang: fib filtering with routemap ---------------------------------- 2023-02-10 09:44:07 23.2.10 qc pass: interop1: igmp3/mld2 qc pass: interop1: pim ---------------------------------- 2023-02-11 00:13:06 23.2.10 todo: more tabbables ---------------------------------- 2023-02-11 02:58:09 23.2.11 todo: rework snmp to use sensors ---------------------------------- 2023-02-11 05:09:19 23.2.11 todo: router asdf vrf qwer, converted to current form todo: interface lo0 as lo-core, persistently ---------------------------------- 2023-02-11 11:03:46 23.2.11 todo: consider term caps todo: bgp to have xr-alike neighbor/template statements with upgrade-cli todo: more upgrade-cli knobs ---------------------------------- 2023-02-11 11:29:25 23.2.11 no todo: router asdf vrf qwer, converted to current form ---------------------------------- 2023-02-11 11:44:40 23.2.11 todo: more renamers ---------------------------------- 2023-02-15 13:46:45 23.2.15 todo: show ipv4 isis 1 graph 2 pretty ---------------------------------- 2023-02-15 19:17:11 23.2.15 no todo: show ipv4 isis 1 graph 2 pretty no qc pass: interop1: pim no qc pass: interop1: igmp3/mld2 qc pass: interop8: igmp3/mld2 qc pass: interop8: pim ---------------------------------- 2023-02-20 10:54:28 23.2.20 no todo: consider term caps ---------------------------------- 2023-02-26 06:23:16 23.2.26 todo: vnc console to the vdc definition todo: boot order to vdc definition ---------------------------------- 2023-02-26 07:28:36 23.2.26 todo: dn42ix-vm-switch#terminal no tablemode [fancy]--- % unknown exec command entered ---------------------------------- 2023-02-26 12:02:25 23.2.26 todo: fuckup from yesterday: the colsole times out now, go for it asap you crazy fool XD ---------------------------------- 2023-02-27 09:29:28 23.2.27 no todo: fuckup from yesterday: the colsole times out now, go for it asap you crazy fool XD ---------------------------------- 2023-02-27 11:02:25 23.2.27 no todo: boot order to vdc definition no todo: dn42ix-vm-switch#terminal no tablemode [fancy]--- % unknown exec command entered ---------------------------------- 2023-02-27 12:28:07 23.2.27 no todo: vnc console to the vdc definition ---------------------------------- 2023-02-27 20:25:01 23.2.27 todo: pastebin for the cli ---------------------------------- 2023-02-27 22:16:18 23.2.27 todo: server http and : in the file names ---------------------------------- 2023-02-28 00:58:52 23.2.28 no todo: server http and : in the file names ---------------------------------- 2023-02-28 15:53:45 23.2.28 todo: noflash -hw.txt knob, automatically on for vdcs ---------------------------------- 2023-02-28 17:18:05 23.2.28 no todo: noflash -hw.txt knob, automatically on for vdcs ---------------------------------- 2023-02-28 17:33:09 23.2.28 todo: send ttyX exec command ---------------------------------- 2023-02-28 20:27:52 23.2.28 no todo: send ttyX exec command ---------------------------------- 2023-03-01 09:33:37 23.3.1 todo: terminal background and foreground ---------------------------------- 2023-03-01 16:51:43 23.3.1 no todo: pastebin for the cli todo: curl ---------------------------------- 2023-03-01 17:04:00 23.3.1 todo: afi-vrf asdf setvrf todo: asn for remote-as -1 in shows ---------------------------------- 2023-03-03 12:24:49 23.3.3 no todo: afi-vrf asdf setvrf todo: test for afi-vrf asdf setvrf ---------------------------------- 2023-03-05 21:49:13 23.3.5 todo: zenmaster cli knob ---------------------------------- 2023-03-06 05:49:01 23.3.6 no todo: zenmaster cli knob ---------------------------------- 2023-03-06 20:11:29 23.3.6 qc pass: vpn colors over ebgp qc pass: vpn colors over ibgp ---------------------------------- 2023-03-06 21:10:20 23.3.6 no todo: asn for remote-as -1 in shows no todo: test for afi-vrf asdf setvrf ---------------------------------- 2023-03-11 08:50:49 23.3.11 qc pass: ebgp with any remote qc pass: ibgp with any remote ---------------------------------- 2023-03-15 17:24:03 23.3.13 todo: server smtp auto-reply editor/text/etc ---------------------------------- 2023-03-15 18:03:19 23.3.15 todo: ignorance kills ---------------------------------- 2023-03-15 21:16:50 23.3.15 no todo: ignorance kills ---------------------------------- 2023-03-15 21:59:25 23.3.15 todo: in servers, where applicable, introduce Files.setPosixFilePermissions(path, PosixFilePermissions.fromString("rw-r-----")); ---------------------------------- 2023-03-15 22:23:41 23.3.15 no todo: in servers, where applicable, introduce Files.setPosixFilePermissions(path, PosixFilePermissions.fromString("rw-r-----")); todo: in servers, where applicable, introduce Files.setPosixFilePermissions(path, PosixFilePermissions.fromString("rw-r-----")); or with http://www.java2s.com/Tutorials/Java/Java_io/1030__Java_nio_File_Owner_Permissions.htm ---------------------------------- 2023-03-16 03:32:01 23.3.16 todo: config committed with check for saved and backup config ---------------------------------- 2023-03-16 16:47:17 23.3.16 todo: renew the signing key! ---------------------------------- 2023-03-17 16:17:53 23.3.17 todo: rfc9340 todo: rfc9373 ---------------------------------- 2023-03-18 02:43:11 23.3.17 no todo: quic todo: quic when it have at least adjustmss... ---------------------------------- 2023-03-18 05:53:04 23.3.18 todo: lsrp / pvrp path-mtu-discovery / single-session todo: bgp/msdp: neigh x.x.x.x path-mtu-discovery todo: bgp/msdp: neigh x.x.x.x single-session todo: bgp/msdp: neigh x.x.x.x multi-session todo: bgp/msdp: neigh x.x.x.x zero-session ---------------------------------- 2023-03-18 20:37:15 23.3.18 no todo: bgp/msdp: neigh x.x.x.x zero-session no todo: bgp/msdp: neigh x.x.x.x multi-session no todo: bgp/msdp: neigh x.x.x.x single-session ---------------------------------- 2023-03-21 06:23:27 23.3.21 todo: server http / host * searchbar ---------------------------------- 2023-03-21 08:29:34 23.3.21 todo: server smtp / ptmud todo: server http / host * ptmud ---------------------------------- 2023-03-21 10:58:53 23.3.21 todo: server http / host * user-agent matcher todo: server http / host * custom-header ---------------------------------- 2023-04-28 03:40:47 23.4.28 no qc pass: qos ingress shaper action failed: qos ingress shaper action ---------------------------------- 2023-04-28 03:53:58 23.4.28 no failed: qos ingress shaper action qc pass: qos ingress shaper action ---------------------------------- 2023-05-02 16:50:00 23.5.2 no qc pass: dhcp with excluded address failed: dhcp with excluded address ---------------------------------- 2023-05-03 02:29:22 23.5.3 no failed: dhcp with excluded address qc pass: dhcp with excluded address ---------------------------------- 2023-05-08 00:05:09 23.5.7 todo: change the flash upgrade key ---------------------------------- 2023-05-08 02:59:05 23.5.8 todo: make polka configurable like the crypto stuff ---------------------------------- 2023-05-09 22:45:58 23.5.9 no todo: make polka configurable like the crypto stuff ---------------------------------- 2023-05-10 07:56:46 23.5.10 todo: test macaddr to convert to colon format todo: stop undver vpdn ---------------------------------- 2023-05-10 11:15:19 23.5.10 no todo: test macaddr to convert to colon format ---------------------------------- 2023-05-10 11:52:22 23.5.10 no todo: stop undver vpdn ---------------------------------- 2023-05-10 18:32:40 23.5.10 no todo: change the flash upgrade key ---------------------------------- 2023-05-12 00:34:28 23.5.10 todo: bgp neigh xxx collect-unknowns ---------------------------------- 2023-05-14 12:23:37 23.5.14 no todo: bgp neigh xxx collect-unknowns ---------------------------------- 2023-05-15 15:16:42 23.5.15 todo: sho run cons ---------------------------------- 2023-05-15 15:43:22 23.5.15 no todo: bgp/msdp: neigh x.x.x.x path-mtu-discovery no todo: lsrp / pvrp path-mtu-discovery / single-session no todo: server http / host * custom-header no todo: server http / host * user-agent matcher no todo: sho run cons todo: server http / host * custom-header knob todo: server http / host * user-agent matcher with redirect todo: lsrp / pvrp pmtud todo: bgp/msdp: neigh x.x.x.x pmtud ---------------------------------- 2023-05-15 18:37:55 23.5.15 todo: test access-list ---------------------------------- 2023-05-15 20:01:39 23.5.15 todo: sho run check/track todo: more show running commands ---------------------------------- 2023-05-16 01:36:06 23.5.16 todo: client upgrade-simulate url todo: client upgrade-force url todo: flash overlap-clear ---------------------------------- 2023-05-17 14:59:35 23.5.17 todo: client cidr-notation in the generated show *configs todo: ipv4 dhcp XXX like fill-ciaddr todo: show backup-config todo: inter xxx / macrandomize ---------------------------------- 2023-05-17 16:10:56 23.5.17 no todo: ipv4 dhcp XXX like fill-ciaddr no todo: client cidr-notation in the generated show *configs ---------------------------------- 2023-05-17 16:30:54 23.5.17 todo: client cidr-notation in the generated show *configs ---------------------------------- 2023-05-17 18:44:41 23.5.17 todo: more show config commands todo: more collect commands ---------------------------------- 2023-05-17 19:50:18 23.5.17 todo: more server quote fun like cleanups, randomizers, loggers, anything ---------------------------------- 2023-05-18 04:25:06 23.5.18 no todo: renew the signing key! no todo: rfc9373 no todo: rfc9340 todo: cmds.notvdc todo: configure server dns http smtp todo: show banner needs to be include-able todo: client password-stars to get under the userLine todo: portscan to have udp knob todo: client log-boot to be emailed error.log todo: client cidr-colorize in the generated show *configs todo: client http-user-agent todo: under redundancy sdr definition as an alias to vdc definition as upgrade-cli knob todo: vdc definition, redundancy hw.cfg int asdfasfsadasd redun .... desc asdfasfads instead of parent-name todo: under vdc * and redundancy, parent-name from cfgall.hostname todo: show redundancy to display the parent-name from hw-cfg.... todo: show redundancy link to run cdp/lldp/whatever???? todo: show redundancy to display the config checksum todo: test redundancy todo: clearredundancy ! to accept config download todo: test todo knob as an editor but in the running-config todo: java.lang.ArrayIndexOutOfBoundsException: Index 31 out of bounds for length 30 at bits.byteCopy:bits.java:469/packRadius.passwdEncrypt:packRadius.java:2645/packRadius.createPacket:packRadius.java:2396/clntRadius.doXchg:clntRadius.java:125/clntRadius.doPap:clntRadius.java:68/authRadius.authUserPass:authRadius.java:153/servHttpConn.checkUserAuth:servHttpConn.java:1021/servHttpConn.serveRequest:servHttpConn.java:1524/servHttpConn.run:servHttpConn.java:1887/java.lang.Thread.run:Thread.java:1623/ todo: java.net.BindException: Address already in use at sun.nio.ch.Net.bind0:Net.java:-2/sun.nio.ch.Net.bind:Net.java:549/sun.nio.ch.Net.bind:Net.java:538/sun.nio.ch.NioSocketImpl.bind:NioSocketImpl.java:631/java.net.ServerSocket.bind:ServerSocket.java:391/java.net.ServerSocket.bind:ServerSocket.java:342/prtLocTcp.:prtLocTcp.java:60/prtLocTcp.startServer:prtLocTcp.java:78/cfgInit.executeHWcommands:cfgInit.java:438/cfgInit.doInit:cfgInit.java:965/cfgInit.doMain:cfgInit.java:1213/router.main:router.java:24/ todo: sho bgp * auto-summarize todo: more userLine fun like alias-text, alias-regexp, much like under checks todo: more server http fun like cleanups, randomizers, loggers, anything todo: more server smtp fun like cleanups, randomizers, loggers, anything todo: more server dns fun like cleanups, randomizers, loggers, anything todo: more server fun like cleanups, randomizers, loggers, anything todo: more fun like cleanups, randomizers, loggers, anything todo: more fun knobs in general todo: all the aaa stuff to have collect-failures knob to error.log todo: misc player volume to time out to the main screen todo: misc motion emails to contain a small note like check recordings here unarm rearm arm todo: flash mailer server-smtp todo: reuse the clients in the important servers as config knobs todo: more selftests for the servers and the clients todo: move client stuffs to userline if possible ---------------------------------- 2023-05-18 09:15:09 23.5.18 no todo: default vrf for show commands no todo: show backup-config no todo: clearredundancy ! to accept config download no todo: portscan to have udp knob no todo: configure server dns http smtp no todo: cmds.notvdc todo: show backup-config if available todo: todo: todo: todo: asdf#show check track | begin result todo: result: todo: - gep;normal;icmp;10.38.5.45;up; todo: + gep;normal;icmp;10.38.5.45;down; todo: nrpe:critical ERROR 2 line(s) in diff todo: - gep;normal;icmp;10.38.5.45;up; todo: + gep;normal;icmp;10.38.5.45;down; todo: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^through a crlf-crlf filter to look prettyier a bit todo: nrpe to send out emails from error.log todo: nrpe to have followtracker support todo: todo: todo: todo: scheduler asdf single-run as no respawn or something todo: todo: clntportscan to have udp knob then portscan to have the knob finally todo: todo: eddsa value for ipsexkey cannot be that bad cmds.negated cmds.negated cmds.negated cmds.negated cmds.negated cmds.negated route-policy converter todo: icmptunnel and l2tp3 to the dataplanes :) todo: player: disable volume in multicast streamer mode todo: disable playlist loading in multicast receiver mode todo: ctrl+l/r to try to redetect the screen resolution todo: some more autocolorizers under the same termial propertiles like terminal colorize mains subs etc todo: some cli errored keys should send terminal bell as terminal bell character todo: server dhcp4 sdnXXX ---> server dhcp4 sdnXXX inetXXX sdnZZZ as upgrade-cli <---maybe duplicate? :) todo: configure diff to have chance to change the sho config-differences todo: configure startup to have config committed but 4 now, only conf start tabbable stuffs todo: display asdfsdfas | asciinema <--- same as | pastebin.... todo: userline to have terminal bell :) todo: client irc todo: server security to have settable tls version from client knob first todo: server security to log the transactions todo: server security to stick to the good protocols todo: server security to support bgp bmp mrt todo: serevr security maximum pendings as access-security todo: bgp stuff more tests for rfc9234 todo: server asdf instead of server daytime asdf, and only if a single hit exists otherwise buggy todo: show whowas from bmp mrt archive todo: show p4/c/java autoformatter/colorizer/etc with enc7bit and more funs todo: misc/player: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "playerLyric.size()" because "" is null/ at playerSong.txt2pls(playerSong.java:142)/at findSongs.main(findSongs.java:62) todo: server http xxx to log better the class exceptions as errors todo: bgp to have at least show ipv46 bgp 66666 description todo: traffic through bgp sr-policy todo: traffic through bgp nsh todo: policy from bgp rpd todo: show ipv4 bgp 666 unicast database | include ^195.111.*$ todo: flash install as whole zip loadables todo: client auto-save-on-upgrade flash network archive todo: introduce risky stuffs as flash or even just as show like curl show url etc commands todo: tabbable line asfadsasd exec autocommand at least :) todo: noti#show ipv4 bgp ? todo: 1 - process id todo: 66666 - process id - as asdf todo: - process id todo: bgp to have the nexus dynamic capability exchange draft todo: vrf definition to have route consistency check todo: info ifcSgt.doDecode:ifcSgt.java:104 bad type (86dd) --- okk but where? :) on sdn123.123? right? :) todo: vrf def xxx to have dynamic readvertisements as static rotues that disappear from startup-config todo: show config-xxx to have tabbables like routers servers etc todo: router lsrp46/pvrp46/bgp46/maybe others to have a common configurator/show/etc todo: a terminal junos-mode knob that defaults to set-del etc as a new class todo: usascii filter with configurable space to underscore for the term tab csv output todo: asdf#show lldp neighbor | hinclude sdn todo: interface hostname iface ipv4 ipv6 todo: sdn2 laborSW2 ten-gigabitEthernet 1/0/4 null null todo: sdn5 pince-SW1 gigabitEthernet 1/0/2 null null todo: sdn6 pince-SW1 gigabitEthernet 1/0/3 null null todo: sdn901 mchome-demo ethernet11 10.2.1.6 2001:db8:1c::2 todo: sdn903 mchome-nat64 ethernet12 10.2.1.10 2001:db8:2f::2 todo: sdn905 wifi sdn0/0 10.1.1.50 2001:db8:1d::2 todo: asdf#show cdp neigh | hinclude sdn is fine but once the encUtf6/7 is there todo: it would not harm a lot to apply to the fillables like the check asdf todo: show backup-config if available todo: show banner needs to be include-able todo: asdf#show check track | begin result todo: result: todo: - gep;normal;icmp;10.38.5.45;up; todo: + gep;normal;icmp;10.38.5.45;down; todo: nrpe:critical ERROR 2 line(s) in diff todo: - gep;normal;icmp;10.38.5.45;up; todo: + gep;normal;icmp;10.38.5.45;down; todo: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^through a crlf-crlf filter to look prettyier a bit todo: nrpe to send out emails from error.log todo: nrpe to have followtracker support todo: scheduler asdf single-run as no respawn or something todo: clntportscan to have udp knob then portscan to have the knob finally todo: eddsa value for ipsexkey cannot be that bad cmds.negated cmds.negated cmds.negated vm20 todo: .vm <--> .class converter, debugger, disassembler, emulator, etc todo: .vm <--> .pyc converter, debugger, disassembler, emulator, etc todo: .vm <--> .pyc converter, debugger, disassembler, emulator, etc todo: more clean transpilers for the vm todo: more clean converters for the vm ---------------------------------- 2023-05-30 08:15:12 23.5.30 todo: terminal bell ---------------------------------- 2023-05-30 11:04:41 23.5.30 no todo: show banner needs to be include-able no todo: show backup-config if available no todo: sdn905 wifi sdn0/0 10.1.1.50 2001:db8:1d::2 no todo: sdn903 mchome-nat64 ethernet12 10.2.1.10 2001:db8:2f::2 no todo: sdn901 mchome-demo ethernet11 10.2.1.6 2001:db8:1c::2 no todo: sdn6 pince-SW1 gigabitEthernet 1/0/3 null null no todo: sdn5 pince-SW1 gigabitEthernet 1/0/2 null null no todo: sdn2 laborSW2 ten-gigabitEthernet 1/0/4 null null no todo: interface hostname iface ipv4 ipv6 no todo: asdf#show lldp neighbor | hinclude sdn no todo: usascii filter with configurable space to underscore for the term tab csv output todo: show config-backup if available ---------------------------------- 2023-06-01 06:21:13 23.5.31 no todo: quic when it have at least adjustmss... todo: quic v1 and v2 when it have at least adjustmss... ---------------------------------- 2023-06-05 06:28:25 23.6.5 no todo: show ipv4 bgp 666 unicast database | include ^195.111.*$ no todo: userline to have terminal bell :) no todo: some cli errored keys should send terminal bell as terminal bell character no todo: terminal bell todo: p4lang interpreter like interface xxxx / p4lang asdf.p4 ---------------------------------- 2023-06-05 17:25:48 23.6.5 todo: ping to have ip flags settable like rfc3514 ---------------------------------- 2023-06-05 23:07:58 23.6.5 no todo: .vm <--> .pyc converter, debugger, disassembler, emulator, etc no todo: misc player volume to time out to the main screen no todo: test redundancy no todo: show redundancy to display the config checksum no todo: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^through a crlf-crlf filter to look prettyier a bit no todo: + gep;normal;icmp;10.38.5.45;down; no todo: - gep;normal;icmp;10.38.5.45;up; no todo: nrpe:critical ERROR 2 line(s) in diff no todo: + gep;normal;icmp;10.38.5.45;down; no todo: - gep;normal;icmp;10.38.5.45;up; no todo: result: no todo: asdf#show check track | begin result ---------------------------------- 2023-06-06 12:12:56 23.6.6 todo: bier in layer2, rfc8296 ethertype 0xab37 ---------------------------------- 2023-06-06 18:26:17 23.6.6 todo: last config change by to the end knob ---------------------------------- 2023-06-07 10:21:31 23.6.7 no todo: bgp to have the nexus dynamic capability exchange draft qc pass: unicast+vpns over ebgp with dynamic capability qc pass: unicast+vpns over ibgp with dynamic capability qc pass: unicast+vpns over confed bgp with dynamic capability qc pass: unicast+vpns over ibgp rr with dynamic capability ---------------------------------- 2023-06-07 18:42:22 23.6.7 no todo: bier in layer2, rfc8296 ethertype 0xab37 ---------------------------------- 2023-06-07 19:21:04 23.6.7 qc pass: mpls over multicast ethertype qc pass: mpls over bier ethertype ---------------------------------- 2023-06-08 00:36:45 23.6.8 todo: interface to have ipv4 dhcp-static knobs ---------------------------------- 2023-06-08 05:47:23 23.6.8 no todo: ping to have ip flags settable like rfc3514 ---------------------------------- 2023-06-08 18:20:03 23.6.8 no todo: p4lang interpreter like interface xxxx / p4lang asdf.p4 todo: p4lang interpreter like interface xxxx / p4lang asdf.p4 / needs: encHdr over packHolder, tabMatchActionTable, and usrP4intPtr with per line hitcounter ---------------------------------- 2023-06-12 09:13:53 23.6.12 no todo: redundancy prio from rtr-hw.txt no todo: clear redundancy ! to accept config download no todo: under vdc * / redundancy parent-name from cfgall.hostname :) ---------------------------------- 2023-06-12 13:18:51 23.6.12 no todo: show redundancy to display the parent-name from hw-cfg.... no todo: under vdc * and redundancy, parent-name from cfgall.hostname no todo: vdc definition, redundancy hw.cfg int asdfasfsadasd redun .... desc asdfasfads instead of parent-name no todo: show redundancy to display the config checksum no todo: show redundancy to display the parent-name from hw-cfg.... :) no todo: hw.cfg int asdfasfsadasd redun .... desc asdfasfads instead of parent-name ---------------------------------- 2023-06-12 14:11:51 23.6.12 no todo: show redundancy link to run cdp/lldp/whatever???? no todo: show redundancy to run cdp/lldp/whatever that fits like ipv46,arp/nd/why-not-more then a new video about that ---------------------------------- 2023-06-12 14:42:47 23.6.12 no todo: clearredundancy ! to accept config download no todo: test redundancy ---------------------------------- 2023-06-12 15:01:45 23.6.12 no todo: server smtp / tag messages by subject route-policy converter todo: l2tp3 to the dataplanes :) todo: route-map --> route-policy converter todo: route-map <-- route-policy converter todo: tabbable line asfadsasd exec autocommand at least todo: vrf definition to have route consistency check between the bgp peers ---------------------------------- 2023-06-13 17:11:57 23.6.13 no todo: l2tp3 to the dataplanes :) todo: l2tp3 to the dataplanes as it is for l2tp2 :) todo: icmptunnel to the dataplanes with a valid req-rep if possible :) ---------------------------------- 2023-06-13 21:51:07 23.6.13 todo: server http xxx style xxxx deduplicate on add!!!! todo: p4lang api: export-copp to have a vrf id, then to the dataplanes asapp, where easily applicable todo: server smtp / have a show-queue list at least ---------------------------------- 2023-06-14 03:21:14 23.6.14 todo: onehit to all the menus todo: tabbable menu key/tui commands autocommand at least ---------------------------------- 2023-06-14 04:11:55 23.6.14 todo: menu remote asdf ---------------------------------- 2023-06-14 12:06:15 23.6.14 no todo: icmptunnel to the dataplanes with a valid req-rep if possible :) no todo: p4lang api: export-copp to have a vrf id, then to the dataplanes asapp, where easily applicable no todo: tester to configure console0 exec timestamp and logging millis todo: test hwredetect that uses some external file and a p4lang process to overcome the eth0-->eno1-->eth0 random changes, by mac and friends todo: important protocols to be able to continue from the start at least on local, later within the vdc todo: p4lang api: export-copp to have a vrf id and a rate, then to the dataplanes asapp, where easily applicable todo: icmptunnel to the dataplanes with a valid req-rep if possible with a configurable checksum field... :) todo: sdwan to be able to use more encapsulations like l2tp2, l2tp3, gre or icmptunnel todo: tcp redundancy through the redundancy link with the help of the main vdc's tcp stack as a pipe service... then pvrp, lsrp, bgp, msdp, later isis and ospf eigrp and rip redundancy the same way but with udp and ethertype, finally mpls ldp and rsvp and sr redundancy through the same way ---------------------------------- 2023-06-14 12:36:33 23.6.14 no todo: server http xxx style xxxx deduplicate on add!!!! ---------------------------------- 2023-06-14 18:24:20 23.6.14 no todo: tcp redundancy through the redundancy link with the help of the main vdc's tcp stack as a pipe service... then pvrp, lsrp, bgp, msdp, later isis and ospf eigrp and rip redundancy the same way but with udp and ethertype, finally mpls ldp and rsvp and sr redundancy through the same way todo: traceroute to generate the full line with routing protocols etc from mrt and friends todo: tcp redundancy through the redundancy link as table export and file sending before the switchover... todo: then pvrp, lsrp, bgp, msdp, later isis and ospf eigrp and rip redundancy with table export and finally mpls redundancy through the same way... ---------------------------------- 2023-06-15 18:44:05 23.6.15 todo: asn negative cache ---------------------------------- 2023-06-16 11:47:41 23.6.16 no todo: traceroute to generate the full line with routing protocols etc from mrt and friends no todo: asn negative cache ---------------------------------- 2023-06-16 16:08:18 23.6.16 todo: misc natives p4fwd to have the packetout message too from the control channel as planned originally 4 the asic... it'll solve the big misery of the macsec/wg/ipsec/ovpn/etc-linerate-forwarding-over-bgp for the oddline questions; fl, it was a bad decision to clean that upp b4 we had linerate crypto ---------------------------------- 2023-06-18 11:59:59 23.6.17 todo: mist natives to have ipcomp rfc somehow ---------------------------------- 2023-06-22 20:39:06 23.6.22 no todo: sdwan to be able to use more encapsulations like l2tp2, l2tp3, gre or icmptunnel no todo: icmptunnel to the dataplanes with a valid req-rep if possible with a configurable checksum field... :) todo: consider adding icmptunnel to the dataplanes with a valid req-rep if possible with a configurable checksum field... :) todo: consider adding ipcomp tunnel to the dataplanes that interworks and decodes in wireshark todo: sdwan to be able to use more encapsulations like l2tp2, l2tp3, gre, or pimtunnel icmptunnel ---------------------------------- 2023-06-23 07:26:11 23.6.23 todo: mpls as ipv8 as december project to the guessEthtype and maybe to the dataplanes (dont think so) ---------------------------------- 2023-06-23 09:00:32 23.6.23 todo: measurement framework for bandwidth, twamp, icmp and friends with offloading by abusing the packout api ---------------------------------- 2023-06-23 10:54:12 23.6.23 todo: a preface forwarder for the asic offload to have at crypto and frag/reasm using misc/natives ---------------------------------- 2023-06-23 13:58:05 23.6.23 todo: mpls srv6-security in software, with a test with gre at least then to the dataplanes ---------------------------------- 2023-06-23 18:27:14 23.6.23 qc pass: gre over ipv4 filtered qc pass: sreth over ipv4 filtered qc pass: ipip over ipv4 filtered qc pass: icmptunnel over ipv4 filtered qc pass: ipv4 in esp over ipv4 filtered qc pass: ipcomp over ipv4 filtered qc pass: swipe over ipv4 filtered qc pass: gre over ipv6 filtered qc pass: sreth over ipv6 filtered qc pass: ipip over ipv6 filtered qc pass: icmptunnel over ipv6 filtered qc pass: ipv4 in esp over ipv6 filtered qc pass: ipcomp over ipv6 filtered failed: swipe over ipv6 filtered ---------------------------------- 2023-06-23 19:10:07 23.6.23 no failed: swipe over ipv6 filtered qc pass: swipe over ipv6 filtered ---------------------------------- 2023-06-24 07:01:18 23.6.24 todo: test if bier to headend-replicate to two paths over bgp-ct vrfs ---------------------------------- 2023-06-24 11:43:53 23.6.24 no todo: test if bier to headend-replicate to two paths over bgp-ct vrfs no todo: mpls srv6-security in software, with a test with gre at least then to the dataplanes todo: test if bier to headend-replicate to two paths over bgp-ct vrfs and not clearing the bits on the replicas ---------------------------------- 2023-06-24 23:39:40 23.6.24 todo: test if bier in a ring copcept with a knob like int sdn1.111 mpls bier replicate sdn1.222 loops or not ---------------------------------- 2023-06-25 07:19:40 23.6.25 no todo: mist natives to have ipcomp rfc somehow todo: mist natives to have ipcomp rfc somehow dissect this: packages.debian.org/sid/gzip so what to link to? ---------------------------------- 2023-06-25 07:50:59 23.6.25 no todo: mist natives to have ipcomp rfc somehow dissect this: packages.debian.org/sid/gzip so what to link to? todo: mist natives to have ipcomp rfc somehow dissect this: packages.debian.org/sid/gzip so libc and deflate to link to ---------------------------------- 2023-06-25 20:28:29 23.6.25 qc pass: p4lang: packout on port ---------------------------------- 2023-07-01 08:08:52 23.7.1 no qc pass: p4lang downlink no qc pass: p4lang demultiplexer failed: p4lang demultiplexer failed: p4lang downlink ---------------------------------- 2023-07-01 08:36:26 23.7.1 no failed: p4lang downlink no failed: p4lang demultiplexer qc pass: p4lang demultiplexer qc pass: p4lang downlink ---------------------------------- 2023-07-02 08:17:04 23.7.2 todo: flash commander to have file info and hash ---------------------------------- 2023-07-02 20:00:38 23.7.2 todo: sho ipv4 bgp 666 uni hackerized 1.1.1.1 todo: banyan vines protocol in sw ---------------------------------- 2023-07-02 20:48:28 23.7.2 todo: hackediff alias to diff with the | hacked fun filter ---------------------------------- 2023-07-05 15:37:45 23.7.5 no todo: server http / host * custom-header knob no todo: bgp stuff more tests for rfc9234 todo: bgp stuff more tests for rfc9234 and a knob to align to the frr or b1rd version todo: server http / host * webring-local todo: server http / host * webring-remote todo: server http / host * custom-local todo: server http / host * custom-remote >path/file> ---------------------------------- 2023-07-06 03:04:37 23.7.6 todo: traceback as exeption knob to the lines, default set on console0 ---------------------------------- 2023-07-08 08:31:01 23.7.8 todo: server http / host * redir to default fill /data/www/ and subconn stuff ---------------------------------- 2023-07-08 12:28:56 23.7.8 no todo: sho ipv4 bgp 666 uni hackerized 1.1.1.1 ---------------------------------- 2023-07-09 14:43:10 23.7.9 no todo: server http / host * redir to default fill /data/www/ and subconn stuff ---------------------------------- 2023-07-13 04:16:01 23.7.13 todo: client whois-online http://ipinfo.io/AS$asn$ everywhere ---------------------------------- 2023-07-13 06:43:55 23.7.13 no todo: client whois-online http://ipinfo.io/AS$asn$ everywhere ---------------------------------- 2023-07-14 17:05:06 23.7.14 no todo: traceback as exeption knob to the lines, default set on console0 ---------------------------------- 2023-07-15 20:20:03 23.7.15 qc pass: p4lang: packout on vlan port ---------------------------------- 2023-07-17 15:24:03 23.7.17 no todo: server smtp / have a show-queue list at least no todo: test if bier in a ring copcept with a knob like int sdn1.111 mpls bier replicate sdn1.222 loops or not no todo: misc natives p4fwd to have the packetout message too from the control channel as planned originally 4 the asic... it'll solve the big misery of the macsec/wg/ipsec/ovpn/etc-linerate-forwarding-over-bgp for the oddline questions; fl, it was a bad decision to clean that upp b4 we had linerate crypto todo: misc natives p4fwd to have more tests 4 packetout message with macsec/wg/ipsec/ovpn/etc too... todo: test if bier in a ring concept with a knob like int sdn1.111 mpls bier replicate sdn1.222 loops or not ---------------------------------- 2023-07-18 21:55:29 23.7.18 no todo: quic v1 and v2 when it have at least adjustmss... todo: quic v1, v2 and mls, when these have at least adjustmss... ---------------------------------- 2023-07-19 04:32:02 23.7.19 todo: bridge and router have renumber knob ---------------------------------- 2023-07-25 11:21:24 23.7.25 todo: player queue up down add-again todo: sid(cfg-check)#show config-differences this todo: openflow to have 2 label support and stack to p4lang todo: decouple rpki from bgp process todo: redundancy to have the shows ---------------------------------- 2023-07-25 22:25:18 23.7.25 todo: flash ext-delete ---------------------------------- 2023-07-26 07:55:12 23.7.26 no todo: flash ext-delete todo: serves to have access-aaa todo: flash ext-delete also to commander todo: commander to have selection todo: commander to get away the cursor ---------------------------------- 2023-07-29 06:55:56 23.7.29 todo: serv http InvocationTargetException to have auto logging in the traceback ---------------------------------- 2023-07-30 05:32:57 23.7.30 todo: sho cdp/lldp int ---------------------------------- 2023-08-24 03:56:20 23.8.24 todo: ioam as https://www.rfc-editor.org/rfc/rfc9452.html ---------------------------------- 2023-08-25 01:41:24 23.8.25 no todo: bgp/msdp: neigh x.x.x.x pmtud no todo: serves to have access-aaa todo: tests for bgp/msdp: neigh x.x.x.x pmtud todo: servers to have access-aaa ---------------------------------- 2023-08-25 13:02:56 23.8.25 no todo: lsrp / pvrp pmtud todo: game tree todo: tests for lsrp / pvrp pmtud ---------------------------------- 2023-08-28 03:34:59 23.8.27 no todo: game tree todo: own minimal jpython if something happens to graalvm's builtins like https://github.com/ninia/jep todo: game pinball ---------------------------------- 2023-09-06 16:04:44 23.9.6 todo: image viewer to file manager todo: experiment with freebsd as a host os ---------------------------------- 2023-09-08 04:03:21 23.9.8 todo: server http to have whatsmyip whatsmyasn etc services ---------------------------------- 2023-09-09 11:15:48 23.9.9 todo: server http to have lookingglass ---------------------------------- 2023-09-10 03:13:06 23.9.10 todo: acl to have fake knob that syn-rst, udp-port-unreach, at the dataplanes todo: inspection dropped sessions do be able to close the sessions properly at layer4 ---------------------------------- 2023-09-12 18:19:04 23.9.12 todo: bgp unknowns-log knob ---------------------------------- 2023-09-14 00:04:41 23.9.13 no todo: quic v1, v2 and mls, when these have at least adjustmss... no todo: ioam as https://www.rfc-editor.org/rfc/rfc9452.html todo: consider draft-ietf-idr-performance-routing todo: ioam as rfc9452 todo: dlep as rfc8175 todo: rfc9000 quic v1, v2 and mls, when these have at least adjustmss... todo: rfc8548 tcpcrypt ---------------------------------- 2023-09-19 09:59:35 23.9.19 qc pass: ebgp with pmtud qc pass: ibgp with pmtud ---------------------------------- 2023-09-19 16:18:49 23.9.19 no todo: tests for lsrp / pvrp pmtud no todo: tests for bgp/msdp: neigh x.x.x.x pmtud todo: generalize ipinfo for bgp/msdp: neigh x.x.x.x pmtud instead todo: generalize ipinfo tests for lsrp / pvrp pmtud ---------------------------------- 2023-09-19 22:14:27 23.9.19 no todo: server http to have lookingglass no todo: server http to have whatsmyip whatsmyasn etc services todo: server http to have show only api ---------------------------------- 2023-09-20 19:45:23 23.9.20 no todo: server http to have show only api qc pass: lsrp with pmtud qc pass: pvrp with pmtud ---------------------------------- 2023-09-23 12:18:27 23.9.23 no todo: game pinball no todo: own minimal jpython if something happens to graalvm's builtins like https://github.com/ninia/jep no todo: generalize ipinfo tests for lsrp / pvrp pmtud no todo: generalize ipinfo for bgp/msdp: neigh x.x.x.x pmtud instead todo: game butterfly series reusing the fft and mdev classes from modem and ping ---------------------------------- 2023-09-23 21:20:20 23.9.23 todo: generalize dynamic-metric knobs todo: more knob generalizations ---------------------------------- 2023-09-24 06:50:43 23.9.24 todo: generalise server access- knobs todo: server http to have api for scripts ---------------------------------- 2023-09-26 10:07:27 23.9.26 no todo: serv http InvocationTargetException to have auto logging in the traceback ---------------------------------- 2023-09-26 20:17:08 23.9.26 no todo: sid(cfg-check)#show config-differences this ---------------------------------- 2023-09-26 21:33:19 23.9.26 no todo: sho cdp/lldp int todo: image builder to support different bootloaders ---------------------------------- 2023-09-27 11:06:44 23.9.27 todo: vdc to have local, connect as sdn autocreated ---------------------------------- 2023-09-29 05:32:15 23.9.29 no todo: image builder to support different bootloaders no todo: experiment with freebsd as a host os ---------------------------------- 2023-09-30 19:46:34 23.9.30 no todo: sdwan to be able to use more encapsulations like l2tp2, l2tp3, gre, or pimtunnel icmptunnel no todo: consider adding ipcomp tunnel to the dataplanes that interworks and decodes in wireshark no todo: consider adding icmptunnel to the dataplanes with a valid req-rep if possible with a configurable checksum field... :) no todo: measurement framework for bandwidth, twamp, icmp and friends with offloading by abusing the packout api todo: sdwan to be able to use more encapsulations like l2tp2, l2tp3, gre, or pim icmp ipcomp ---------------------------------- 2023-10-02 01:13:34 23.10.2 todo: bgp end-changes-log knob ---------------------------------- 2023-10-02 20:17:00 23.10.2 no todo: bgp unknowns-log knob ---------------------------------- 2023-10-03 08:10:05 23.10.3 no todo: bgp end-changes-log knob todo: bgp neigh log-end-changes log-route-map/policy knob ---------------------------------- 2023-10-03 08:38:06 23.10.3 todo: game hanoi ---------------------------------- 2023-10-03 22:16:23 23.10.3 todo: bmp server to listeners, bmp, ris and bgp todo: server bgprsrr todo: honeypot to use any router ---------------------------------- 2023-10-05 08:41:48 23.10.5 no todo: bgp neigh log-end-changes log-route-map/policy knob todo: bgp neigh log-end-changes log-pathlen-changes log-route-map/policy/pfxlist-changes etc knob ---------------------------------- 2023-10-05 21:29:56 23.10.5 todo: honeypot to wireformat, decode ---------------------------------- 2023-10-09 17:27:46 23.10.9 todo: allow some packages to be redownloaded after a certain time expired ---------------------------------- 2023-10-11 10:00:49 23.10.11 todo: server whois to be cache ---------------------------------- 2023-10-11 13:46:54 23.10.11 no todo: server whois to be cache ---------------------------------- 2023-10-11 23:32:07 23.10.11 no todo: honeypot to use any router ---------------------------------- 2023-10-15 23:16:05 23.10.15 no todo: sdwan to be able to use more encapsulations like l2tp2, l2tp3, gre, or pim icmp ipcomp no qc pass: bgp rpki failed: bgp rpki todo: sdwan to be able to use more encapsulations like l2tp2, l2tp3, gre, or pim ax25 icmp ipcomp ---------------------------------- 2023-10-16 03:46:30 23.10.16 no failed: bgp rpki qc pass: bgp rpki ---------------------------------- 2023-10-17 09:16:21 23.10.17 no todo: decouple rpki from bgp process todo: bgp astree shows from asconn todo: more rpki shows like validation of protocols tables, comparison of neighbors, etc ---------------------------------- 2023-10-17 17:10:25 23.10.17 no qc pass: bgp leak prevention with customer provider failed: bgp leak prevention with customer provider ---------------------------------- 2023-10-17 18:02:49 23.10.17 no failed: bgp leak prevention with customer provider qc pass: bgp leak prevention with customer provider ---------------------------------- 2023-10-17 18:37:28 23.10.17 no todo: redundancy to have the shows todo: redundancy to have the remote shows and a counter on how many failures observed ---------------------------------- 2023-10-17 20:56:46 23.10.17 no todo: bgp stuff more tests for rfc9234 and a knob to align to the frr or b1rd version ---------------------------------- 2023-10-19 15:11:17 23.10.19 todo: add rpl and rm support for the new validity, entropy-label and the (atomic)aggregate stuffs ---------------------------------- 2023-10-20 08:52:07 23.10.20 no todo: allow some packages to be redownloaded after a certain time expired todo: rfc9298 rfc9484 ip/udp-proxy-in-http ---------------------------------- 2023-10-21 04:57:15 23.10.21 no qc pass: bgp rpki failed: bgp rpki ---------------------------------- 2023-10-21 08:20:56 23.10.21 no failed: bgp rpki qc pass: bgp rpki ---------------------------------- 2023-10-21 09:05:07 23.10.21 no qc pass: bgp rpki failed: bgp rpki ---------------------------------- 2023-10-21 20:51:26 23.10.21 no failed: bgp rpki qc pass: bgp rpki ---------------------------------- 2023-10-22 01:30:21 23.10.22 no todo: more rpki shows like validation of protocols tables, comparison of neighbors, etc no todo: add rpl and rm support for the new validity, entropy-label and the (atomic)aggregate stuffs ---------------------------------- 2023-10-22 17:31:12 23.10.22 qc pass: bgp routemap filtering with validity qc pass: bgp routemap filtering with validity with soft-reconfig qc pass: bgp change in validity qc pass: bgp change in validity with soft-reconfig qc pass: bgp routepolicy filtering with validity qc pass: bgp routepolicy filtering with validity with soft-reconfig ---------------------------------- 2023-10-23 08:36:56 23.10.23 todo: vpnv4 vpnv6 in evpn like address-family l2vpn evpn / advertise vpnv4 unicast ---------------------------------- 2023-10-23 13:59:01 23.10.23 no todo: l2tp3 to the dataplanes as it is for l2tp2 :) no todo: game hanoi no todo: game butterfly series reusing the fft and mdev classes from modem and ping todo: game butterfly hanoy, modem, mdev ---------------------------------- 2023-10-24 09:06:54 23.10.24 no todo: in servers, where applicable, introduce Files.setPosixFilePermissions(path, PosixFilePermissions.fromString("rw-r-----")); or with http://www.java2s.com/Tutorials/Java/Java_io/1030__Java_nio_File_Owner_Permissions.htm qc pass: bgp routemap filtering with leak-role qc pass: bgp routemap filtering with leak-role with soft-reconfig qc pass: bgp change in leak-role qc pass: bgp change in leak-role with soft-reconfig qc pass: bgp routepolicy filtering with leak-role qc pass: bgp routepolicy filtering with leak-role with soft-reconfig qc pass: bgp routemap filtering with aggregator qc pass: bgp routemap filtering with aggregator with soft-reconfig qc pass: bgp change in aggregator qc pass: bgp change in aggregator with soft-reconfig qc pass: bgp routepolicy filtering with aggregator qc pass: bgp routepolicy filtering with aggregator with soft-reconfig ---------------------------------- 2023-10-24 11:49:51 23.10.24 no todo: bgp astree shows from asconn ---------------------------------- 2023-10-24 16:05:18 23.10.24 no todo: p4lang api: export-copp to have a vrf id and a rate, then to the dataplanes asapp, where easily applicable ---------------------------------- 2023-10-25 22:26:42 23.10.25 no todo: vpnv4 vpnv6 in evpn like address-family l2vpn evpn / advertise vpnv4 unicast no qc pass: ibgp rr othervpns prefix withdraw no qc pass: ibgp rr vpns prefix withdraw no qc pass: bgp othervpns change in metric no qc pass: bgp vpns change in metric failed: bgp vpns change in metric failed: bgp othervpns change in metric failed: ibgp rr vpns prefix withdraw failed: ibgp rr othervpns prefix withdraw qc pass: l3evpns over ebgp qc pass: l3evpns over ibgp qc pass: l3evpns over ibgp rr qc pass: l3evpns over confed bgp qc pass: l3evpns over bgp route server qc pass: l3evpns over bgp with soft-reconfig qc pass: l3evpns over bgp additional path qc pass: l3evpns over bgp auto mesh tunnel qc pass: l3otherevpns over ebgp qc pass: l3eothervpns over ibgp qc pass: l3otherevpns over ibgp rr qc pass: l3otherevpns over confed bgp qc pass: l3otherevpns over bgp route server qc pass: l3otherevpns over bgp with soft-reconfig qc pass: l3otherevpns over bgp additional path qc pass: l3otherevpns over bgp auto mesh tunnel ---------------------------------- 2023-10-26 06:18:03 23.10.26 no failed: ibgp rr othervpns prefix withdraw no failed: ibgp rr vpns prefix withdraw no failed: bgp othervpns change in metric no failed: bgp vpns change in metric qc pass: bgp vpns change in metric qc pass: bgp othervpns change in metric qc pass: ibgp rr vpns prefix withdraw qc pass: ibgp rr othervpns prefix withdraw ---------------------------------- 2023-10-27 12:54:27 23.10.27 qc pass: l3evpns with default route qc pass: otherl3evpns with default route qc pass: bgp l3evpns change in metric qc pass: ibgp rr l3evpns prefix movement failed: bgp otherl3evpns change in metric qc pass: ibgp rr otherl3evpns prefix movement qc pass: ibgp rr l3evpns prefix withdraw qc pass: ibgp rr otherl3evpns prefix withdraw qc pass: l3evpns with ingress rtfilter qc pass: l3evpns with egress rtfilter qc pass: otherl3evpns with ingress rtfilter qc pass: otherl3evpns with egress rtfilter qc pass: unicast+l3evpns over ebgp with dynamic capability qc pass: unicast+l3evpns over ibgp with dynamic capability qc pass: unicast+l3evpns over confed bgp with dynamic capability qc pass: unicast+l3evpns over ibgp rr with dynamic capability ---------------------------------- 2023-10-27 16:10:19 23.10.27 no failed: bgp otherl3evpns change in metric no qc pass: bgp routepolicy filtering with afi with soft-reconfig no qc pass: bgp routemap filtering with afi with soft-reconfig no qc pass: bgp routepolicy filtering with afi no qc pass: bgp routemap filtering with afi failed: bgp routemap filtering with afi failed: bgp routepolicy filtering with afi failed: bgp routemap filtering with afi with soft-reconfig failed: bgp routepolicy filtering with afi with soft-reconfig qc pass: bgp otherl3evpns change in metric ---------------------------------- 2023-10-27 17:12:02 23.10.27 no failed: bgp routepolicy filtering with afi with soft-reconfig no failed: bgp routemap filtering with afi with soft-reconfig no failed: bgp routepolicy filtering with afi no failed: bgp routemap filtering with afi qc pass: bgp routemap filtering with afi qc pass: bgp routepolicy filtering with afi qc pass: bgp routemap filtering with afi with soft-reconfig qc pass: bgp routepolicy filtering with afi with soft-reconfig ---------------------------------- 2023-10-28 08:19:40 23.10.28 no todo: honeypot to wireformat, decode todo: honeypot to wireformat, decode, newlines per singleline ---------------------------------- 2023-10-28 18:16:07 23.10.28 no todo: honeypot to wireformat, decode, newlines per singleline todo: honeypot to wireformat, decode ---------------------------------- 2023-11-01 16:29:57 23.11.1 no todo: server bgprsrr no todo: bmp server to listeners, bmp, ris and bgp ---------------------------------- 2023-11-02 07:26:55 23.11.2 qc pass: l3evpns ingress route filtering with routemap qc pass: l3evpns egress route filtering with routemap qc pass: l3evpns ingress route filtering with routemap with soft-reconfig qc pass: l3evpns egress route filtering with routemap with soft-reconfig qc pass: l3evpns ingress route filtering with routepolicy qc pass: l3evpns egress route filtering with routepolicy qc pass: l3evpns ingress route filtering with routepolicy with soft-reconfig qc pass: l3evpns egress route filtering with routepolicy with soft-reconfig qc pass: otherl3evpns ingress route filtering with routemap qc pass: otherl3evpns egress route filtering with routemap qc pass: otherl3evpns ingress route filtering with routemap with soft-reconfig qc pass: otherl3evpns egress route filtering with routemap with soft-reconfig qc pass: otherl3evpns ingress route filtering with routepolicy qc pass: otherl3evpns egress route filtering with routepolicy qc pass: otherl3evpns ingress route filtering with routepolicy with soft-reconfig qc pass: otherl3evpns egress route filtering with routepolicy with soft-reconfig ---------------------------------- 2023-11-02 19:53:49 23.11.2 todo: tocustomer aggregator matchers to route-map/policy ---------------------------------- 2023-11-05 14:59:21 23.11.5 no qc pass: ebgp with ttl-security no qc pass: ibgp with ttl-security failed: ibgp with ttl-security failed: ebgp with ttl-security ---------------------------------- 2023-11-05 17:05:10 23.11.5 no failed: ebgp with ttl-security no failed: ibgp with ttl-security qc pass: ibgp with ttl-security qc pass: ebgp with ttl-security ---------------------------------- 2023-11-07 15:57:06 23.11.7 no qc pass: ebgp with bfd failed: ebgp with bfd ---------------------------------- 2023-11-07 16:12:49 23.11.7 no failed: ebgp with bfd qc pass: ebgp with bfd ---------------------------------- 2023-11-07 19:01:13 23.11.7 todo: rfc9491 nsh in ip ---------------------------------- 2023-11-07 22:39:08 23.11.7 qc pass: nsh over ipv4 tunnel qc pass: nsh over ipv6 tunnel ---------------------------------- 2023-11-08 14:05:21 23.11.8 no todo: commander to have selection no todo: tocustomer aggregator matchers to route-map/policy no todo: rfc9491 nsh in ip ---------------------------------- 2023-11-08 18:13:39 23.11.8 qc pass: p4lang: l2tp3 routing over ipv4 qc pass: p4lang: l2tp3 routing over ipv6 ---------------------------------- 2023-11-08 19:15:31 23.11.8 qc pass: p4lang: ingress l2tp3 access list qc pass: p4lang: egress l2tp3 access list qc pass: p4lang: ingress vlan l2tp3 access list qc pass: p4lang: egress vlan l2tp3 access list qc pass: p4lang: l2tp3 interface inspection with ingress drop qc pass: p4lang: l2tp3 interface inspection with egress drop qc pass: p4lang: l2tp3 interface verify source qc pass: p4lang: l2tp3 interface loose verify source ---------------------------------- 2023-11-08 21:38:36 23.11.8 qc pass: p4lang: macsec over l2tp3 qc pass: p4lang: sgt over l2tp3 qc pass: p4lang: l2tp3 server routing qc pass: p4lang: vlan l2tp3 server routing qc pass: p4lang: l2tp3 server mpls qc pass: p4lang: vlan l2tp3 server mpls qc pass: p4lang: mldp core over l2tp3 qc pass: p4lang: bier core over l2tp3 qc pass: p4lang: l2tp3 mpls pop qc pass: p4lang: l2tp3 mpls push qc pass: p4lang: l2vpn over l2tp3 mpls qc pass: p4lang: l3vpn over l2tp3 mpls qc pass: p4lang: l2tp3 routing over ipv4 loopback qc pass: p4lang: l2tp3 routing over ipv6 loopback qc pass: p4lang: l2tp3 routing over vlan qc pass: p4lang: l2tp3 routing over bundle qc pass: p4lang: l2tp3 mpls over ipv4 qc pass: p4lang: multilink l2tp3 routing over ipv4 qc pass: p4lang: multilink l2tp3 routing over ipv6 qc pass: p4lang: multilink l2tp3 routing over vlan qc pass: p4lang: multilink l2tp3 mpls over ipv4 qc pass: p4lang: multilink l2tp3 mpls over ipv6 qc pass: p4lang: multilink l2tp3 mpls over vlan qc pass: p4lang: multilink l2tp3 routing over bundle qc pass: p4lang: multilink l2tp3 mpls over bundle qc pass: p4lang: l2tp3 mpls over ipv6 qc pass: p4lang: l2tp3 mpls over ipv4 loopback qc pass: p4lang: l2tp3 mpls over ipv6 loopback qc pass: p4lang: l2tp3 mpls over vlan qc pass: p4lang: l2tp3 mpls over bundle qc pass: p4lang: bridging over l2tp3 qc pass: p4lang: bridging over l2tp3 vlan ---------------------------------- 2023-11-13 14:07:24 23.11.13 no todo: vdc to have local, connect as sdn autocreated ---------------------------------- 2023-11-17 22:04:10 23.11.17 no todo: sho bgp * auto-summarize no todo: server http / host * ptmud no todo: server smtp / ptmud no todo: generalize dynamic-metric knobs qc pass: eigrp with pmtud qc pass: isis with pmtud qc pass: ospf with pmtud qc pass: rift with pmtud ---------------------------------- 2023-11-18 12:54:32 23.11.18 no todo: redundancy to have the remote shows and a counter on how many failures observed ---------------------------------- 2023-11-20 21:23:37 23.11.20 qc pass: sdwan with l2tp2 and l2tp3 qc pass: sdwan with l2tp2 and gre ---------------------------------- 2023-11-20 22:17:24 23.11.20 no todo: sdwan to be able to use more encapsulations like l2tp2, l2tp3, gre, or pim ax25 icmp ipcomp ---------------------------------- 2023-11-21 14:15:36 23.11.21 qc pass: p4lang: sdwan over ipv4 with l2tp qc pass: p4lang: sdwan over ipv6 with l2tp qc pass: p4lang: sdwan over ipv4 with l2tp3 qc pass: p4lang: sdwan over ipv6 with l2tp3 qc pass: p4lang: sdwan over ipv4 with gre qc pass: p4lang: sdwan over ipv6 with gre ---------------------------------- 2023-11-21 20:54:46 23.11.21 qc pass: sdwan with l2tp2 and amt qc pass: sdwan with l2tp2 and gtp ---------------------------------- 2023-11-21 22:19:33 23.11.21 qc pass: p4lang: sdwan over ipv4 with amt qc pass: p4lang: sdwan over ipv6 with amt qc pass: p4lang: sdwan over ipv4 with gtp qc pass: p4lang: sdwan over ipv6 with gtp ---------------------------------- 2023-11-22 14:05:55 23.11.22 no todo: - process id no todo: 66666 - process id - as asdf no todo: 1 - process id no todo: noti#show ipv4 bgp ? no todo: bgp to have at least show ipv46 bgp 66666 description no todo: server http xxx to log better the class exceptions as errors no todo: show whowas from bmp mrt archive no todo: dlep as rfc8175 ---------------------------------- 2023-11-23 18:20:46 23.11.23 qc pass: ethernet trill-mt encapsulation qc pass: ethernet trill-fgl encapsulation ---------------------------------- 2023-11-28 08:51:01 23.11.28 no todo: bgp neigh log-end-changes log-pathlen-changes log-route-map/policy/pfxlist-changes etc knob ---------------------------------- 2023-11-28 23:14:08 23.11.28 qc pass: p4lang: ingress tmux access list qc pass: p4lang: egress tmux access list qc pass: p4lang: ingress vlan tmux access list qc pass: p4lang: egress vlan tmux access list qc pass: p4lang: tmux interface inspection with ingress drop qc pass: p4lang: tmux interface inspection with egress drop qc pass: p4lang: tmux interface verify source qc pass: p4lang: tmux interface loose verify source qc pass: p4lang: macsec over tmux qc pass: p4lang: sgt over tmux ---------------------------------- 2023-11-28 23:38:29 23.11.28 qc pass: p4lang: gre routing over ipv4 qc pass: p4lang: gre routing over ipv6 qc pass: p4lang: gre routing over ipv4 loopback qc pass: p4lang: gre routing over ipv6 loopback qc pass: p4lang: gre routing over vlan qc pass: p4lang: gre routing over bundle qc pass: p4lang: gre routing over bundle vlan qc pass: p4lang: gre routing over hairpin qc pass: p4lang: gre routing over hairpin vlan qc pass: p4lang: gre routing over bridge qc pass: p4lang: gre routing over vlan bridge qc pass: p4lang: gre mpls over ipv4 qc pass: p4lang: gre mpls over ipv6 qc pass: p4lang: gre mpls over ipv4 loopback qc pass: p4lang: gre mpls over ipv6 loopback qc pass: p4lang: gre mpls over vlan qc pass: p4lang: gre mpls over bundle qc pass: p4lang: gre mpls over bundle vlan qc pass: p4lang: gre mpls over hairpin qc pass: p4lang: gre mpls over hairpin vlan qc pass: p4lang: gre mpls over bridge qc pass: p4lang: gre mpls over vlan bridge qc pass: p4lang: bridging over gre qc pass: p4lang: bridging over gre vlan qc pass: p4lang: mldp core over gre qc pass: p4lang: bier core over gre qc pass: p4lang: gre mpls pop qc pass: p4lang: gre mpls push qc pass: p4lang: l2vpn over gre mpls qc pass: p4lang: l3vpn over gre mpls ---------------------------------- 2023-11-29 00:27:28 23.11.28 no qc pass: p4lang: l3vpn over gre mpls no qc pass: p4lang: l2vpn over gre mpls no qc pass: p4lang: gre mpls push no qc pass: p4lang: gre mpls pop no qc pass: p4lang: bier core over gre no qc pass: p4lang: mldp core over gre no qc pass: p4lang: bridging over gre vlan no qc pass: p4lang: bridging over gre no qc pass: p4lang: gre mpls over vlan bridge no qc pass: p4lang: gre mpls over bridge no qc pass: p4lang: gre mpls over hairpin vlan no qc pass: p4lang: gre mpls over hairpin no qc pass: p4lang: gre mpls over bundle vlan no qc pass: p4lang: gre mpls over bundle no qc pass: p4lang: gre mpls over vlan no qc pass: p4lang: gre mpls over ipv6 loopback no qc pass: p4lang: gre mpls over ipv4 loopback no qc pass: p4lang: gre mpls over ipv6 no qc pass: p4lang: gre mpls over ipv4 no qc pass: p4lang: gre routing over vlan bridge no qc pass: p4lang: gre routing over bridge no qc pass: p4lang: gre routing over hairpin vlan no qc pass: p4lang: gre routing over hairpin no qc pass: p4lang: gre routing over bundle vlan no qc pass: p4lang: gre routing over bundle no qc pass: p4lang: gre routing over vlan no qc pass: p4lang: gre routing over ipv6 loopback no qc pass: p4lang: gre routing over ipv4 loopback no qc pass: p4lang: gre routing over ipv6 no qc pass: p4lang: gre routing over ipv4 qc pass: p4lang: tmux routing over ipv4 qc pass: p4lang: tmux routing over ipv6 qc pass: p4lang: tmux routing over ipv4 loopback qc pass: p4lang: tmux routing over ipv6 loopback qc pass: p4lang: tmux routing over vlan qc pass: p4lang: tmux routing over bundle qc pass: p4lang: tmux routing over bundle vlan qc pass: p4lang: tmux routing over hairpin qc pass: p4lang: tmux routing over hairpin vlan qc pass: p4lang: tmux routing over bridge qc pass: p4lang: tmux routing over vlan bridge qc pass: p4lang: tmux mpls over ipv4 qc pass: p4lang: tmux mpls over ipv6 qc pass: p4lang: tmux mpls over ipv4 loopback qc pass: p4lang: tmux mpls over ipv6 loopback qc pass: p4lang: tmux mpls over vlan qc pass: p4lang: tmux mpls over bundle qc pass: p4lang: tmux mpls over bundle vlan qc pass: p4lang: tmux mpls over hairpin qc pass: p4lang: tmux mpls over hairpin vlan qc pass: p4lang: tmux mpls over bridge qc pass: p4lang: tmux mpls over vlan bridge qc pass: p4lang: bridging over tmux qc pass: p4lang: bridging over tmux vlan qc pass: p4lang: mldp core over tmux qc pass: p4lang: bier core over tmux qc pass: p4lang: tmux mpls pop qc pass: p4lang: tmux mpls push qc pass: p4lang: l2vpn over tmux mpls qc pass: p4lang: l3vpn over tmux mpls ---------------------------------- 2023-11-29 20:35:18 23.11.29 no qc pass: sgt tunnel encapsulation no qc pass: macsec over tunnel qc pass: macsec over gre qc pass: sgt gre encapsulation ---------------------------------- 2023-11-29 21:16:08 23.11.29 qc pass: bridged ethernet over tmux qc pass: bridged ethernet over l2tp3 qc pass: macsec over tmux qc pass: macsec over l2tp3 qc pass: sgt tmux encapsulation qc pass: sgt l2tp3 encapsulation ---------------------------------- 2023-11-30 23:11:31 23.11.30 no todo: generalise server access- knobs ---------------------------------- 2023-12-01 21:57:44 23.12.1 no todo: server http to have api for scripts ---------------------------------- 2023-12-03 02:17:13 23.12.3 qc pass: sdwan with l2tp2 and icmp qc pass: sdwan with l2tp2 and tmux ---------------------------------- 2023-12-03 12:55:50 23.12.3 no todo: flowspec-divert knob to bgp, but think this twice at least and mark as experimental qc pass: qos ingress divert action qc pass: qos dapp divert action ---------------------------------- 2023-12-03 14:05:20 23.12.3 no qc pass: qos dapp divert action qc pass: qos divert dapp qc pass: qos divert flowspec qc pass: qos divert otherflowspec ---------------------------------- 2023-12-03 17:49:20 23.12.3 qc pass: p4lang: sdwan over ipv4 with tmux qc pass: p4lang: sdwan over ipv6 with tmux ---------------------------------- 2023-12-03 21:53:57 23.12.3 no todo: server http have some local logging finally no todo: server forwarder to have some local logging finally no todo: settle a new slide project misc slash thumbs as a small helper for misc slash album no todo: it would not harm a lot to apply to the fillables like the check asdf no todo: asdf#show cdp neigh | hinclude sdn is fine but once the encUtf6/7 is there no todo: sendtrhrough mode in p4lang to the dataplanes when crypto turned on like wg ovpn and ipsec if possible no todo: mist natives to have ipcomp rfc somehow dissect this: packages.debian.org/sid/gzip so libc and deflate to link to no todo: mpls as ipv8 as december project to the guessEthtype and maybe to the dataplanes (dont think so) no todo: honeypot to wireformat, decode ---------------------------------- 2023-12-05 11:47:25 23.12.5 no todo: player queue up down add-again ---------------------------------- 2023-12-05 17:28:16 23.12.5 no todo: serevr security maximum pendings as access-security no todo: test access-list todo: server security maximum pendings as access-security ---------------------------------- 2023-12-07 09:29:03 23.12.7 no todo: server dhcp4 sdnXXX ---> server dhcp4 sdnXXX inetXXX sdnZZZ as upgrade-cli <---maybe duplicate? :) ---------------------------------- 2023-12-07 17:30:54 23.12.7 no todo: server * vrf and upgrade-cli no todo: same for upgrade-cli cmds.negated cmds.negated cmds.negated eno1-->eth0 random changes, by mac and friends ---------------------------------- 2024-10-20 07:04:34 24.10.20 no qc pass: dhcp with excluded address failed: dhcp with excluded address ---------------------------------- 2024-10-20 07:34:16 24.10.20 no failed: dhcp with excluded address qc pass: dhcp with excluded address ---------------------------------- 2024-11-02 07:44:58 24.11.2 no qc pass: dhcp with excluded address failed: dhcp with excluded address ---------------------------------- 2024-11-02 08:29:06 24.11.2 no failed: dhcp with excluded address qc pass: dhcp with excluded address ---------------------------------- 2024-11-13 07:50:44 24.11.13 qc pass: p4lang: bridge filter access list qc pass: p4lang: vlan bridge filter access list ---------------------------------- 2024-11-16 08:32:01 24.11.16 todo: traffic through bgp spf ---------------------------------- 2024-11-16 09:32:49 24.11.16 qc pass: unicast+spf over bgp qc pass: unicast+spf over bgp with soft-reconfig qc pass: unicast+spf over bgp with additional path ---------------------------------- 2024-11-17 18:01:02 24.11.17 qc pass: spf bgp in chain ---------------------------------- 2024-11-17 18:38:57 24.11.17 qc pass: spf bgp prefix withdraw qc pass: spf bgp change in metric ---------------------------------- 2024-11-17 19:15:02 24.11.17 no todo: traffic through bgp spf ---------------------------------- 2024-11-18 07:42:36 24.11.18 qc pass: spf bgp change in tag qc pass: spf bgp triangle connection ---------------------------------- 2024-11-18 18:55:38 24.11.18 todo: bgp spf to have sr and bier ---------------------------------- 2024-11-18 22:50:56 24.11.18 no todo: bgp spf to have sr and bier todo: bgp spf to have hostname, sr and bier ---------------------------------- 2024-11-19 06:41:50 24.11.19 no todo: bgp spf to have hostname, sr and bier todo: bgp spf to have sr and bier ---------------------------------- 2024-11-19 11:21:52 24.11.19 qc pass: spf bgp default route qc pass: spf bgp ecmp connection ---------------------------------- 2024-11-20 17:46:55 24.11.20 qc pass: spf bgp stub node qc pass: spf bgp stub peer ---------------------------------- 2024-11-21 10:26:22 24.11.21 qc pass: spf bgp with sr qc pass: spf bgp with srgb sr ---------------------------------- 2024-12-01 08:32:21 24.12.1 qc pass: spf bgp with bier ---------------------------------- 2024-12-02 20:40:39 24.12.2 qc pass: spf bgp with bgp linkstate qc pass: spf bgp with polka qc pass: spf bgp with mpolka ---------------------------------- 2024-12-10 04:29:17 24.12.10 qc pass: p4lang: othervpn with bgp ---------------------------------- 2024-12-10 04:58:22 24.12.10 qc pass: p4lang: csc vpn with bgp ---------------------------------- 2024-12-10 06:12:03 24.12.10 qc pass: p4lang: othervpn with bgp over vlan qc pass: p4lang: csc vpn with bgp over vlan ---------------------------------- 2024-12-10 06:39:59 24.12.10 qc pass: p4lang: othervpn with bgp over qinq qc pass: p4lang: csc vpn with bgp over qinq ---------------------------------- 2024-12-10 12:46:04 24.12.10 qc pass: p4lang: othervpn with bgp over backplane qc pass: p4lang: csc vpn with bgp over backplane ---------------------------------- 2024-12-15 14:51:37 24.12.15 qc pass: redistribution with bgp car qc pass: redistribution with ocar bgp qc pass: redistribution with bgp spf ---------------------------------- 2024-12-15 15:22:44 24.12.15 qc pass: p4lang: olab with bgp ---------------------------------- 2024-12-15 16:18:25 24.12.15 qc pass: p4lang: olab with bgp over vlan ---------------------------------- 2024-12-15 16:52:46 24.12.15 qc pass: p4lang: olab with bgp over qinq ---------------------------------- 2024-12-15 19:37:23 24.12.15 no qc pass: redistribution with bgp spf qc pass: redistribution with spf bgp ---------------------------------- 2024-12-16 08:35:55 24.12.16 no todo: nat and pbr config to have reindex ---------------------------------- 2024-12-16 11:42:40 24.12.16 no todo: misc player volume to time out to the main screen no todo: player: disable volume in multicast streamer mode ---------------------------------- 2024-12-17 12:34:25 24.12.17 no todo: bgp spf to have sr and bier no todo: disable playlist loading in multicast receiver mode ---------------------------------- 2024-12-17 16:16:52 24.12.17 no todo: route-map <-- route-policy converter no todo: route-map --> route-policy converter ---------------------------------- 2024-12-19 10:58:34 24.12.19 no todo: terminal background and foreground ---------------------------------- 2024-12-19 11:46:33 24.12.19 no todo: hackediff alias to diff with the | hacked fun filter ---------------------------------- 2024-12-22 18:07:47 24.12.22 qc pass: p4lang: pwhe routing over ipv4 qc pass: p4lang: pwhe routing over ipv6 ---------------------------------- 2024-12-23 01:30:01 24.12.23 qc pass: p4lang: pwhe routing over vlan qc pass: p4lang: pwhe routing over bridge qc pass: p4lang: pwhe routing over bundle qc pass: p4lang: pwhe routing over hairpin qc pass: p4lang: pwhe mpls over ipv4 qc pass: p4lang: pwhe mpls over ipv6 qc pass: p4lang: pwhe mpls over vlan qc pass: p4lang: pwhe mpls over bridge qc pass: p4lang: pwhe mpls over bundle qc pass: p4lang: pwhe mpls over hairpin ---------------------------------- 2024-12-23 10:12:30 24.12.23 qc pass: p4lang: ingress pwhe access list qc pass: p4lang: egress pwhe access list qc pass: p4lang: ingress vlan pwhe access list qc pass: p4lang: egress vlan pwhe access list qc pass: p4lang: pwhe interface inspection with ingress drop qc pass: p4lang: pwhe interface inspection with egress drop qc pass: p4lang: pwhe interface verify source qc pass: p4lang: pwhe interface loose verify source qc pass: p4lang: ingress qinq pwhe access list qc pass: p4lang: egress qinq pwhe access list qc pass: p4lang: macsec over pwhe qc pass: p4lang: sgt over pwhe ---------------------------------- 2024-12-23 17:03:04 24.12.23 qc pass: p4lang: mldp core over pwhe qc pass: p4lang: bier core over pwhe qc pass: p4lang: pwhe mpls pop qc pass: p4lang: pwhe mpls push ---------------------------------- 2024-12-23 20:42:29 24.12.23 qc pass: p4lang: l2vpn over pwhe mpls qc pass: p4lang: l3vpn over pwhe mpls qc pass: p4lang: pwhe routing over qinq qc pass: p4lang: pwhe mpls over qinq ---------------------------------- 2024-12-24 09:27:29 24.12.24 qc pass: p4lang: bridge routing over backplane qc pass: p4lang: mixed bridge routing over backplane ---------------------------------- 2024-12-24 20:20:34 24.12.24 qc pass: p4lang: routed vpls/ldp with bgp qc pass: p4lang: routed vlan vpls/ldp with bgp ---------------------------------- 2024-12-25 09:26:23 24.12.25 qc pass: p4lang: routed qinq vpls/ldp with bgp ---------------------------------- 2024-12-25 10:00:17 24.12.25 qc pass: p4lang: routed evpn/cmac with bgp qc pass: p4lang: routed vlan evpn/cmac with bgp qc pass: p4lang: routed qinq evpn/cmac with bgp ---------------------------------- 2024-12-25 11:54:56 24.12.25 qc pass: p4lang: vpls/ldp over backplane qc pass: p4lang: evpn/cmac over backplane qc pass: p4lang: routed vpls/ldp over backplane qc pass: p4lang: routed evpn/cmac over backplane ---------------------------------- 2025-01-02 12:11:48 25.1.2 qc pass: interop1: bgp vpnv4 over srv6 qc pass: interop1: bgp vpnv6 over srv6 ---------------------------------- 2025-01-06 14:43:19 25.1.6 todo: persistent debug config ---------------------------------- 2025-01-06 18:30:13 25.1.6 no todo: persistent debug config ---------------------------------- 2025-01-06 19:34:11 25.1.6 no todo: client http-user-agent ---------------------------------- 2025-01-08 08:51:48 25.1.8 no todo: show p4/c/java autoformatter/colorizer/etc with enc7bit and more funs ---------------------------------- 2025-01-17 17:01:53 25.1.17 qc pass: multicast vpn routing with bier qc pass: multicast vpn between pim and bier qc pass: multicast othervpn routing with bier qc pass: multicast othervpn between pim and bier ---------------------------------- 2025-01-17 21:04:31 25.1.17 qc pass: p4lang: vpn mldp egress edge qc pass: p4lang: vpn mldp ingress edge ---------------------------------- 2025-01-17 21:35:48 25.1.17 qc pass: p4lang: vpn bier egress edge qc pass: p4lang: vpn bier ingress edge ---------------------------------- 2025-01-18 07:18:27 25.1.18 qc pass: p4lang: othervpn mldp egress edge qc pass: p4lang: othervpn mldp ingress edge qc pass: p4lang: othervpn bier egress edge qc pass: p4lang: othervpn bier ingress edge ---------------------------------- 2025-01-18 07:49:59 25.1.18 qc pass: p4lang: vpn mldp vlan egress edge qc pass: p4lang: vpn mldp vlan ingress edge qc pass: p4lang: vpn bier vlan egress edge qc pass: p4lang: vpn bier vlan ingress edge qc pass: p4lang: othervpn mldp vlan egress edge qc pass: p4lang: othervpn mldp vlan ingress edge qc pass: p4lang: othervpn bier vlan egress edge qc pass: p4lang: othervpn bier vlan ingress edge qc pass: p4lang: vpn mldp qinq egress edge qc pass: p4lang: vpn mldp qinq ingress edge qc pass: p4lang: vpn bier qinq egress edge qc pass: p4lang: vpn bier qinq ingress edge qc pass: p4lang: othervpn mldp qinq egress edge qc pass: p4lang: othervpn mldp qinq ingress edge qc pass: p4lang: othervpn bier qinq egress edge qc pass: p4lang: othervpn bier qinq ingress edge ---------------------------------- 2025-01-18 10:46:53 25.1.18 no qc pass: dhcp with excluded address failed: dhcp with excluded address ---------------------------------- 2025-01-18 11:24:24 25.1.18 no failed: dhcp with excluded address qc pass: dhcp with excluded address ---------------------------------- 2025-01-21 10:16:40 25.1.21 qc pass: p4lang: multicast bridge routing qc pass: p4lang: multicast vlan bridge routing ---------------------------------- 2025-02-03 10:14:00 25.2.3 no todo: show running-config vdc no todo: sho run check/track ---------------------------------- 2025-02-25 08:50:11 25.2.25 no qc pass: bgp routepolicy filtering with validity with soft-reconfig no qc pass: bgp routepolicy filtering with validity no qc pass: bgp change in validity with soft-reconfig no qc pass: bgp change in validity no qc pass: bgp routemap filtering with validity with soft-reconfig no qc pass: bgp routemap filtering with validity no qc pass: bgp rpki qc pass: bgp rpki roa qc pass: bgp routemap filtering with roa validity qc pass: bgp routemap filtering with roa validity with soft-reconfig qc pass: bgp change in roa validity qc pass: bgp change in roa validity with soft-reconfig qc pass: bgp routepolicy filtering with roa validity qc pass: bgp routepolicy filtering with roa validity with soft-reconfig qc pass: bgp routemap filtering with aspa validity qc pass: bgp routemap filtering with aspa validity with soft-reconfig qc pass: bgp change in aspa validity qc pass: bgp change in aspa validity with soft-reconfig qc pass: bgp routepolicy filtering with aspa validity qc pass: bgp routepolicy filtering with aspa validity with soft-reconfig ---------------------------------- 2025-02-25 09:57:40 25.2.25 no qc pass: bgp rpki roa qc pass: bgp roa rpki ---------------------------------- 2025-02-25 14:45:48 25.2.25 qc pass: bgp aspa rpki valid qc pass: bgp aspa rpki invalid ---------------------------------- 2025-03-24 15:03:41 25.3.24 no qc pass: dhcp with excluded address failed: dhcp with excluded address ---------------------------------- 2025-03-24 16:04:11 25.3.24 no failed: dhcp with excluded address qc pass: dhcp with excluded address ---------------------------------- 2025-05-11 19:09:46 25.5.11 no qc pass: process redundancy qc pass: unnamed ---------------------------------- 2025-05-11 19:44:12 25.5.11 no qc pass: unnamed qc pass: process redundancy qc pass: ospf with process redundancy ---------------------------------- 2025-05-11 20:49:08 25.5.11 qc pass: lsrp with process redundancy qc pass: isis with process redundancy qc pass: bgp with process redundancy ---------------------------------- 2025-05-12 09:19:46 25.5.12 no qc pass: ospf with process redundancy failed: ospf with process redundancy ---------------------------------- 2025-05-12 10:11:18 25.5.12 no failed: ospf with process redundancy qc pass: ospf with process redundancy ---------------------------------- 2025-05-16 22:26:12 25.5.16 qc pass: ike1 with group25 qc pass: ike1 with group26 qc pass: ike1 with group19 qc pass: ike1 with group20 qc pass: ike1 with group21 qc pass: ike2 with group25 qc pass: ike2 with group26 qc pass: ike2 with group19 qc pass: ike2 with group20 qc pass: ike2 with group21 ---------------------------------- 2025-05-17 06:52:54 25.5.17 qc pass: interop1: ike1 with group19 qc pass: interop1: ike1 with group20 qc pass: interop1: ike1 with group21 qc pass: interop1: ike2 with group19 qc pass: interop1: ike2 with group20 qc pass: interop1: ike2 with group21 ---------------------------------- 2025-05-17 09:23:56 25.5.17 qc pass: macsec with group25 qc pass: macsec with group26 qc pass: macsec with group19 qc pass: macsec with group20 qc pass: macsec with group21 ---------------------------------- 2025-05-18 02:41:35 25.5.18 no qc pass: ipv4 in ike2 over ipv6 no qc pass: ipv4 in ike2 over ipv4 no qc pass: ipv6 in ike1 over ipv6 no qc pass: ipv4 in ike1 over ipv6 no qc pass: ipv4 in ike1 over ipv4 no qc pass: ipv6 in esp over ipv6 no qc pass: ipv6 in esp over ipv4 no qc pass: ipv4 in esp over ipv6 no qc pass: ipv4 in esp over ipv4 no qc pass: ipv4 in esp over ipv6 filtered no qc pass: ipv4 in esp over ipv4 filtered failed: ipv4 in esp over ipv4 filtered failed: ipv4 in esp over ipv6 filtered failed: ipv4 in esp over ipv4 failed: ipv4 in esp over ipv6 failed: ipv6 in esp over ipv4 failed: ipv6 in esp over ipv6 failed: ipv4 in ike1 over ipv4 failed: ipv4 in ike1 over ipv6 failed: ipv6 in ike1 over ipv6 failed: ipv4 in ike2 over ipv4 failed: ipv4 in ike2 over ipv6 ---------------------------------- 2025-05-18 03:30:04 25.5.18 no failed: ipv4 in ike2 over ipv6 no failed: ipv4 in ike2 over ipv4 no failed: ipv6 in ike1 over ipv6 no failed: ipv4 in ike1 over ipv6 no failed: ipv4 in ike1 over ipv4 no failed: ipv6 in esp over ipv6 no failed: ipv6 in esp over ipv4 no failed: ipv4 in esp over ipv6 no failed: ipv4 in esp over ipv4 no failed: ipv4 in esp over ipv6 filtered no failed: ipv4 in esp over ipv4 filtered qc pass: ipv4 in esp over ipv4 filtered qc pass: ipv4 in esp over ipv6 filtered qc pass: ipv4 in esp over ipv4 qc pass: ipv4 in esp over ipv6 qc pass: ipv6 in esp over ipv4 qc pass: ipv6 in esp over ipv6 qc pass: ipv4 in ike1 over ipv4 qc pass: ipv4 in ike1 over ipv6 qc pass: ipv6 in ike1 over ipv6 qc pass: ipv4 in ike2 over ipv4 qc pass: ipv4 in ike2 over ipv6 ---------------------------------- 2025-05-18 07:28:30 25.5.18 no qc pass: static labels with ldp no qc pass: ldp php no qc pass: ingress label filtering with ldp no qc pass: mp2mp ldp tunnel mid+head no qc pass: p2mp ldp tunnel qc pass: ldp over broadcast subnet qc pass: ldp over hub and spoke subnet qc pass: unnamed qc pass: egress label filtering with ldp qc pass: mpls redirection ---------------------------------- 2025-05-18 07:59:31 25.5.18 no qc pass: bidir te without global id no qc pass: te in chain no qc pass: mpls redirection no qc pass: egress label filtering with ldp no qc pass: unnamed no qc pass: ldp over hub and spoke subnet no qc pass: ldp over broadcast subnet no qc pass: sgt l2tp3 encapsulation no qc pass: macsec with group21 no qc pass: macsec with group20 no qc pass: macsec with sha3512 no qc pass: macsec with sha3384 no qc pass: macsec with aes128ecb no qc pass: macsec with aes256cfb no qc pass: macsec with group24 no qc pass: macsec with group15 no qc pass: macsec with sha256 no qc pass: macsec with aes192cbc qc pass: bridged ethernet over ipip qc pass: bridged ethernet over ipsec qc pass: macsec with des qc pass: macsec with blowfish qc pass: macsec with md5 qc pass: macsec with group1 qc pass: macsec with group17 qc pass: macsec over ethernet hairpin qc pass: macsec with aes192ecb qc pass: macsec with aes256ecb qc pass: macsec with none encryption qc pass: macsec with aes192gcm and hash qc pass: sgt encapsulation with egress forbid qc pass: ldp over ipip qc pass: ldp over ipsec qc pass: p2mp ldp tunnel qc pass: mp2mp ldp tunnel mid+head qc pass: ingress label filtering with ldp qc pass: ldp php qc pass: static labels with ldp qc pass: nsh over ipip qc pass: nsh over ipsec qc pass: te over ipip qc pass: p2mp te ---------------------------------- 2025-05-18 08:31:36 25.5.18 no qc pass: p2mp te no qc pass: sgt encapsulation with egress forbid no qc pass: macsec with aes192gcm and hash no qc pass: macsec with none encryption no qc pass: macsec with aes256ecb no qc pass: macsec with aes192ecb no qc pass: macsec over ethernet hairpin no qc pass: macsec with group17 no qc pass: macsec with group1 no qc pass: macsec with md5 no qc pass: macsec with blowfish no qc pass: macsec with des qc pass: macsec over ipip qc pass: macsec over ipsec qc pass: macsec with aes192cbc qc pass: macsec with sha256 qc pass: macsec with group15 qc pass: macsec with group24 qc pass: macsec with aes256cfb qc pass: macsec with aes128ecb qc pass: macsec with sha3384 qc pass: macsec with sha3512 qc pass: macsec with group20 qc pass: macsec with group21 qc pass: sgt ipip encapsulation qc pass: sgt ipip encapsulation qc pass: sgt l2tp3 encapsulation qc pass: te over ipsec qc pass: te in chain qc pass: bidir te without global id ---------------------------------- 2025-05-18 11:16:29 25.5.18 qc pass: p4lang: macsec over ipip qc pass: p4lang: sgt over ipip qc pass: p4lang: ipip mpls over ipv4 qc pass: p4lang: ipip mpls over ipv6 qc pass: p4lang: ipip mpls over ipv4 loopback qc pass: p4lang: ipip mpls over ipv6 loopback qc pass: p4lang: ipip mpls over vlan qc pass: p4lang: ipip mpls over bundle qc pass: p4lang: ipip mpls over bundle vlan qc pass: p4lang: ipip mpls over hairpin qc pass: p4lang: ipip mpls over hairpin vlan qc pass: p4lang: ipip mpls over bridge qc pass: p4lang: ipip mpls over vlan bridge qc pass: p4lang: bridging over ipip qc pass: p4lang: bridging over ipip vlan qc pass: p4lang: mldp core over ipip qc pass: p4lang: bier core over ipip qc pass: p4lang: ipip mpls pop qc pass: p4lang: ipip mpls push qc pass: p4lang: l2vpn over ipip mpls qc pass: p4lang: l3vpn over ipip mpls qc pass: p4lang: sdwan over ipv4 with ipip qc pass: p4lang: sdwan over ipv6 with ipip qc pass: sdwan with l2tp2 and ipip ---------------------------------- 2025-05-18 11:50:35 25.5.18 qc pass: p4lang: macsec over ipsec qc pass: p4lang: sgt over ipsec qc pass: p4lang: ipsec mpls over ipv4 qc pass: p4lang: ipsec mpls over ipv6 qc pass: p4lang: ipsec mpls over ipv4 loopback qc pass: p4lang: ipsec mpls over ipv6 loopback qc pass: p4lang: ipsec mpls over vlan qc pass: p4lang: ipsec mpls over bundle qc pass: p4lang: ipsec mpls over bundle vlan qc pass: p4lang: ipsec mpls over hairpin qc pass: p4lang: ipsec mpls over hairpin vlan qc pass: p4lang: ipsec mpls over bridge qc pass: p4lang: ipsec mpls over vlan bridge qc pass: p4lang: bridging over ipsec qc pass: p4lang: bridging over ipsec vlan qc pass: p4lang: mldp core over ipsec qc pass: p4lang: bier core over ipsec qc pass: p4lang: ipsec mpls pop qc pass: p4lang: ipsec mpls push qc pass: p4lang: l2vpn over ipsec mpls qc pass: p4lang: l3vpn over ipsec mpls ---------------------------------- 2025-05-19 05:31:39 25.5.19 no qc pass: sgt ipip encapsulation qc pass: sgt ipsec encapsulation ---------------------------------- 2025-05-20 17:41:20 25.5.20 qc pass: interop8: isis multi-topology qc pass: interop9: isis multi-topology ---------------------------------- 2025-05-22 05:55:44 25.5.22 qc pass: unnamed ---------------------------------- 2025-05-22 08:01:47 25.5.22 no qc pass: unnamed qc pass: interop1: integrated isis multi-topology qc pass: interop2: integrated isis multi-topology qc pass: interop8: integrated isis multi-topology qc pass: interop9: integrated isis multi-topology ---------------------------------- 2025-05-27 07:02:04 25.5.27 failed: ike1 with group35 failed: ike1 with group36 failed: ike1 with group37 failed: ike2 with group35 failed: ike2 with group36 failed: ike2 with group37 qc pass: macsec with group35 failed: macsec with group36 failed: macsec with group37 ---------------------------------- 2025-05-27 08:32:17 25.5.27 no qc pass: macsec with group35 failed: macsec with group35 ---------------------------------- 2025-05-27 10:11:38 25.5.27 no failed: ike2 with group37 no failed: ike2 with group36 no failed: ike2 with group35 no failed: ike1 with group37 no failed: ike1 with group36 no failed: ike1 with group35 qc pass: ike1 with group35 qc pass: ike1 with group36 qc pass: ike1 with group37 qc pass: ike2 with group35 qc pass: ike2 with group36 qc pass: ike2 with group37 ---------------------------------- 2025-05-27 13:31:24 25.5.27 no failed: macsec with group37 no failed: macsec with group36 no failed: macsec with group35 qc pass: macsec with group35 qc pass: macsec with group36 qc pass: macsec with group37 ---------------------------------- 2025-05-27 18:47:12 25.5.27 qc pass: ike1 with group28 qc pass: ike1 with group29 qc pass: ike1 with group30 qc pass: ike2 with group28 qc pass: ike2 with group29 qc pass: ike2 with group30 qc pass: macsec with group28 qc pass: macsec with group29 qc pass: macsec with group30 ---------------------------------- 2025-05-28 14:14:19 25.5.28 qc pass: ike1 with rc2 qc pass: ike2 with rc2 qc pass: inlsp with rc2 qc pass: macsec with rc2 qc pass: openvpn with rc2 qc pass: satp with rc2 qc pass: skip with rc2 qc pass: swipe with rc2 ---------------------------------- 2025-05-28 15:04:44 25.5.28 qc pass: ike1 with sha384 failed: ike2 with sha384 qc pass: interop1: ike1 with sha384 qc pass: interop1: ike2 with sha384 ---------------------------------- 2025-05-28 15:40:57 25.5.28 no failed: ike2 with sha384 qc pass: ike2 with sha384 qc pass: p4lang: ipsec with sha384 ---------------------------------- 2025-05-28 16:23:18 25.5.28 qc pass: p4lang: openvpn with sha3224 qc pass: p4lang: macsec with sha3224 qc pass: p4lang: openvpn with sha3256 qc pass: p4lang: macsec with sha3256 qc pass: p4lang: openvpn with sha3384 qc pass: p4lang: macsec with sha3384 qc pass: p4lang: openvpn with sha3512 qc pass: p4lang: macsec with sha3512 ---------------------------------- 2025-05-28 18:52:23 25.5.28 qc pass: p4lang: macsec with blowfish qc pass: p4lang: ipsec with blowfish qc pass: p4lang: openvpn with blowfish qc pass: p4lang: macsec with rc2 qc pass: p4lang: ipsec with rc2 qc pass: p4lang: openvpn with rc2 ---------------------------------- 2025-05-28 19:51:54 25.5.28 qc pass: p4lang: amt multicast routing ---------------------------------- 2025-05-29 05:49:38 25.5.29 no qc pass: p4lang: amt multicast routing qc pass: ike1 with aes128ctr qc pass: ike1 with aes192ctr qc pass: ike1 with aes256ctr qc pass: ike2 with aes128ctr qc pass: ike2 with aes192ctr qc pass: ike2 with aes256ctr failed: inlsp with aes128ctr failed: inlsp with aes192ctr failed: inlsp with aes256ctr qc pass: macsec with aes128ctr qc pass: macsec with aes192ctr qc pass: macsec with aes256ctr failed: openvpn with aes128ctr failed: openvpn with aes192ctr failed: openvpn with aes256ctr failed: satp with aes128ctr failed: satp with aes192ctr failed: satp with aes256ctr failed: skip with aes128ctr failed: skip with aes192ctr failed: skip with aes256ctr failed: swipe with aes128ctr failed: swipe with aes192ctr failed: swipe with aes256ctr qc pass: p4lang: openvpn with aes128ctr qc pass: p4lang: openvpn with aes192ctr qc pass: p4lang: openvpn with aes256ctr qc pass: p4lang: macsec with aes128ctr qc pass: p4lang: macsec with aes192ctr qc pass: p4lang: macsec with aes256ctr qc pass: p4lang: ipsec with aes128ctr qc pass: p4lang: ipsec with aes192ctr qc pass: p4lang: ipsec with aes256ctr qc pass: unnamed ---------------------------------- 2025-05-29 09:17:31 25.5.29 no qc pass: unnamed no failed: skip with aes256ctr no failed: skip with aes192ctr no failed: skip with aes128ctr no failed: satp with aes256ctr no failed: satp with aes192ctr no failed: satp with aes128ctr no failed: inlsp with aes256ctr no failed: inlsp with aes192ctr no failed: inlsp with aes128ctr qc pass: inlsp with aes128ctr qc pass: inlsp with aes192ctr qc pass: inlsp with aes256ctr qc pass: satp with aes128ctr qc pass: satp with aes192ctr qc pass: satp with aes256ctr qc pass: skip with aes128ctr qc pass: skip with aes192ctr qc pass: skip with aes256ctr qc pass: p4lang: amt multicast routing ---------------------------------- 2025-05-29 11:06:46 25.5.29 no failed: swipe with aes256ctr no failed: swipe with aes192ctr no failed: swipe with aes128ctr no failed: openvpn with aes256ctr no failed: openvpn with aes192ctr no failed: openvpn with aes128ctr qc pass: openvpn with aes128ctr qc pass: openvpn with aes192ctr qc pass: openvpn with aes256ctr qc pass: swipe with aes128ctr qc pass: swipe with aes192ctr qc pass: swipe with aes256ctr ---------------------------------- 2025-05-29 14:58:58 25.5.29 qc pass: esp with aes128cfb qc pass: esp with aes192cfb qc pass: esp with aes256cfb qc pass: esp with aes128ecb qc pass: esp with aes192ecb qc pass: esp with aes256ecb qc pass: esp with aes128ofb qc pass: esp with aes192ofb qc pass: esp with aes256ofb qc pass: inlsp with aes128ofb qc pass: inlsp with aes192ofb qc pass: inlsp with aes256ofb qc pass: macsec with aes128ofb qc pass: macsec with aes192ofb qc pass: macsec with aes256ofb qc pass: openvpn with aes128ofb qc pass: openvpn with aes192ofb qc pass: openvpn with aes256ofb qc pass: satp with aes128ofb qc pass: satp with aes192ofb qc pass: satp with aes256ofb qc pass: skip with aes128ofb qc pass: skip with aes192ofb qc pass: skip with aes256ofb qc pass: swipe with aes128ofb qc pass: swipe with aes192ofb qc pass: swipe with aes256ofb qc pass: p4lang: ipsec with aes128cfb qc pass: p4lang: ipsec with aes192cfb qc pass: p4lang: ipsec with aes256cfb qc pass: p4lang: ipsec with aes128ecb qc pass: p4lang: ipsec with aes192ecb qc pass: p4lang: ipsec with aes256ecb qc pass: p4lang: openvpn with aes128ofb qc pass: p4lang: openvpn with aes192ofb qc pass: p4lang: openvpn with aes256ofb qc pass: p4lang: macsec with aes128ofb qc pass: p4lang: macsec with aes192ofb qc pass: p4lang: macsec with aes256ofb qc pass: p4lang: ipsec with aes128ofb qc pass: p4lang: ipsec with aes192ofb qc pass: p4lang: ipsec with aes256ofb ---------------------------------- 2025-05-29 15:35:45 25.5.29 qc pass: esp with aes128pcbc qc pass: esp with aes192pcbc qc pass: esp with aes256pcbc qc pass: inlsp with aes128pcbc qc pass: inlsp with aes192pcbc qc pass: inlsp with aes256pcbc qc pass: macsec with aes128pcbc qc pass: macsec with aes192pcbc qc pass: macsec with aes256pcbc qc pass: openvpn with aes128pcbc qc pass: openvpn with aes192pcbc qc pass: openvpn with aes256pcbc qc pass: satp with aes128pcbc qc pass: satp with aes192pcbc qc pass: satp with aes256pcbc qc pass: skip with aes128pcbc qc pass: skip with aes192pcbc qc pass: skip with aes256pcbc qc pass: swipe with aes128pcbc qc pass: swipe with aes192pcbc qc pass: swipe with aes256pcbc ---------------------------------- 2025-05-29 17:53:23 25.5.29 no qc pass: redistribution with bgp car no qc pass: redistribution with bgp ctp qc pass: redistribution with ctp bgp qc pass: redistribution with car bgp ---------------------------------- 2025-05-31 06:41:32 25.5.31 qc pass: ike1 with group31 qc pass: ike2 with group31 qc pass: macsec with group31 ---------------------------------- 2025-05-31 19:49:02 25.5.31 qc pass: macsec with group99 ---------------------------------- 2025-06-01 06:01:25 25.6.1 no todo: more clean converters for the vm no todo: more clean transpilers for the vm no todo: .vm <--> .pyc converter, debugger, disassembler, emulator, etc no todo: .vm <--> .class converter, debugger, disassembler, emulator, etc no todo: .vm <--> vm20 no todo: document the vm no todo: tester to have support for dynamips and vm.zip stuff ---------------------------------- 2025-06-02 06:43:45 25.6.2 no qc pass: udp forwarder server failed: udp forwarder server ---------------------------------- 2025-06-02 08:04:49 25.6.2 no failed: udp forwarder server qc pass: udp forwarder server ---------------------------------- 2025-06-04 21:15:20 25.6.4 no qc pass: ssh test qc pass: ssh with everything qc pass: ssh with dsa qc pass: ssh with rsa qc pass: ssh with ecdsa qc pass: ssh with mldsa ---------------------------------- 2025-06-06 18:40:59 25.6.6 no qc pass: tls test failed: tls with everything qc pass: tls version 1.0 ---------------------------------- 2025-06-06 19:40:28 25.6.6 no qc pass: pvrp tls encryption no qc pass: lsrp tls encryption no qc pass: dtls test no qc pass: ppp over tls no qc pass: ppp with packet over dtls no qc pass: ppp with packet over txtls no qc pass: ppp with packet over tls failed: ppp with packet over tls failed: ppp with packet over txtls failed: ppp with packet over dtls failed: ppp over tls failed: dtls test qc pass: tls version 1.1 qc pass: tls version 1.2 failed: tls version 1.3 qc pass: tls with dsa qc pass: tls with rsa failed: tls with ecdsa failed: tls with mldsa failed: lsrp tls encryption failed: pvrp tls encryption ---------------------------------- 2025-06-06 21:38:17 25.6.6 no failed: pvrp tls encryption no failed: lsrp tls encryption no failed: tls with mldsa no failed: tls with ecdsa no failed: tls version 1.3 no failed: tls with everything no failed: dtls test no failed: ppp over tls no failed: ppp with packet over dtls no failed: ppp with packet over txtls no failed: ppp with packet over tls qc pass: ppp with packet over tls qc pass: ppp with packet over txtls qc pass: ppp with packet over dtls qc pass: ppp over tls qc pass: dtls test qc pass: tls with everything qc pass: tls version 1.3 qc pass: tls with ecdsa qc pass: tls with mldsa qc pass: lsrp tls encryption qc pass: pvrp tls encryption ---------------------------------- 2025-06-07 10:31:14 25.6.7 no qc pass: ssh with ecdsa failed: ssh with ecdsa ---------------------------------- 2025-06-07 11:32:57 25.6.7 no failed: ssh with ecdsa qc pass: ssh with ecdsa ---------------------------------- 2025-06-07 19:20:27 25.6.7 no qc pass: tls with ecdsa failed: tls with ecdsa ---------------------------------- 2025-06-07 20:23:32 25.6.7 no failed: tls with ecdsa qc pass: tls with ecdsa ---------------------------------- 2025-06-08 15:16:45 25.6.8 no qc pass: dhcp with excluded address failed: dhcp with excluded address ---------------------------------- 2025-06-08 16:11:50 25.6.8 no failed: dhcp with excluded address qc pass: dhcp with excluded address ---------------------------------- 2025-06-11 18:54:14 25.6.11 no todo: dns like foo.example.com in ipsexkey 3WTXgUvpn1RlCXnm80gGY2LZ/ErUUEZtZ33IDi8yfhM= " + trg + "..."); RandomAccessFile fs; RandomAccessFile ft; try { new File(trg).createNewFile(); } catch (Exception e) { return true; } long siz; try { fs = new RandomAccessFile(new File(src), "r"); siz = fs.length(); if (new File(trg).length() == siz) { fs.close(); return false; } ft = new RandomAccessFile(new File(trg), "rw"); ft.setLength(0); } catch (Exception e) { return true; } long pos = 0; for (; pos < siz;) { final int max = 8 * 1024; long rndl = siz - pos; if (rndl > max) { rndl = max; } pos += rndl; int rndi = (int) rndl; byte buf[] = new byte[rndi]; try { fs.read(buf, 0, rndi); } catch (Exception e) { return true; } try { ft.write(buf, 0, rndi); } catch (Exception ex) { return true; } } try { fs.close(); } catch (Exception e) { } try { ft.close(); } catch (Exception e) { } return false; } } freeRtr-25.11.9/misc/player/favorites.sh000077500000000000000000000001031510423065500200650ustar00rootroot00000000000000#!/bin/sh java -cp /nfs/own/web/player favorites player-fav.pls $1 freeRtr-25.11.9/misc/player/fetchAgain.sh000077500000000000000000000001621510423065500201210ustar00rootroot00000000000000#!/bin/sh java pathFilter player-all.pls lyr-need.pls $@ java pathRewrite lyr-need.pls /nfs/ /nfs2/ java lyrFetch freeRtr-25.11.9/misc/player/findSongs.java000066400000000000000000000152771510423065500203430ustar00rootroot00000000000000 import java.io.File; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * find songs * * @author matecsaba */ public class findSongs { /** * list of found files */ protected List lst = new ArrayList(); /** * artist */ protected String art; /** * album */ protected String alb; /** * date */ protected String dat; /** * title */ protected String tit; /** * extensions */ public final static String audioExt = ".mp3.m4a.opus.ogg.flac.mpc.wav.wma.ape.ra.au."; /** * the main * * @param args arguments */ public static void main(String[] args) { String s = "./"; if (args.length > 0) { s = args[0]; } playerUtil.put("scanning " + s); findSongs fs = new findSongs(); fs.doFindSongs(s); playerUtil.put("sorting"); fs.doSort(); if (args.length > 2) { playerUtil.put("reading"); findSongs old = new findSongs(); old.lst = playerSong.txt2pls(null, playerUtil.readup(args[2])); playerUtil.put("sorting"); old.doSort(); findSongs frs = new findSongs(); playerUtil.put("diffing"); frs.doMerge(fs.lst, old.lst); playerUtil.put(frs.lst.size() + " new"); frs.doTitle(); if (args.length > 3) { String a = args[3]; playerUtil.put("writing " + a); playerUtil.saveas(playerSong.pls2txt(frs.lst), a); } } s = s.replaceAll("/", "-"); if (args.length > 1) { s = args[1]; } playerUtil.put("writing " + s); fs.doSort(); playerUtil.put(fs.lst.size() + " total"); playerUtil.saveas(playerSong.pls2txt(fs.lst), s); } /** * sort files */ protected void doSort() { playerSong.sort(lst); } /** * find files * * @param s directory, without leading / * @return list of files */ protected final static List doFindDir(String s) { List fa = new ArrayList(); playerUtil.put("processing " + s + "..."); File[] fl; try { fl = new File(s).listFiles(); } catch (Exception e) { return fa; } if (fl == null) { return fa; } for (int i = 0; i < fl.length; i++) { fa.add(fl[i]); } Collections.sort(fa); return fa; } /** * find files * * @param s directory, without leading / */ protected void doFindSongs(String s) { List fa = doFindDir(s); for (int i = 0; i < fa.size(); i++) { File f = fa.get(i); String a = f.getName(); if (a.startsWith(".")) { continue; } if (f.isDirectory()) { doFindSongs(s + "/" + a); continue; } int o = a.lastIndexOf("."); if (o < 0) { continue; } String b = a.substring(o, a.length()).toLowerCase() + "."; if (audioExt.indexOf(b) < 0) { continue; } playerSong sng = new playerSong(); sng.file = s + "/" + a; sng.title = a.substring(0, o); lst.add(sng); } } /** * merge from old * * @param src source list * @param old old list */ protected void doMerge(List src, List old) { for (int i = 0; i < src.size(); i++) { playerSong ntry = src.get(i); int o = playerSong.find(old, ntry); if (o < 0) { lst.add(ntry); continue; } playerSong res = old.get(o); ntry.title = res.title; } } /** * fetch titles */ protected void doTitle() { for (int i = 0; i < lst.size(); i++) { doTitle(lst.get(i), true); } } /** * fetch titles */ protected void doDir() { for (int i = 0; i < lst.size(); i++) { doTitle(lst.get(i), false); if (art == null) { continue; } if (alb == null) { continue; } if (dat == null) { continue; } break; } } /** * fetch title * * @param sng song to update * @param cln clean findings * @return false on success, true on error; */ protected boolean doTitle(playerSong sng, boolean cln) { String cm[] = new String[2]; cm[0] = "ffprobe"; cm[1] = sng.file; playerUtil.put("--> song " + cm[1] + " <--"); playerLyric res; try { Runtime rtm = Runtime.getRuntime(); Process prc = rtm.exec(cm); res = playerUtil.doRead(prc.getErrorStream()); prc.waitFor(); prc.destroy(); } catch (Exception e) { playerUtil.put("failed to exec!"); return true; } if (res == null) { playerUtil.put("failed to fetch!"); return true; } if (cln) { art = null; alb = null; dat = null; tit = null; } for (int i = 0; i < res.size(); i++) { String a = res.get(i).trim(); int o = a.indexOf(":"); if (o < 0) { continue; } String b = a.substring(o + 1, a.length()).trim(); a = a.substring(0, o).toLowerCase().trim(); if (a.equals("artist")) { art = b; continue; } if (a.equals("album")) { alb = b; continue; } if (a.equals("date")) { dat = b; continue; } if (a.equals("title")) { tit = b; continue; } o = a.indexOf(" "); if (o < 0) { continue; } a = a.substring(0, o); if (a.equals("stream")) { break; } } if (art == null) { playerUtil.put("no artist!"); return true; } if (tit == null) { playerUtil.put("no title!"); return true; } sng.title = art + " - " + tit; playerUtil.put("got: " + sng.title); return false; } } freeRtr-25.11.9/misc/player/findSongs.sh000077500000000000000000000006601510423065500200250ustar00rootroot00000000000000#!/bin/sh java findSongs /nfs/temp player-new.pls player-new.pls found1.pls java findSongs /nfs/musica player-cls.pls player-cls.pls found2.pls java findSongs /nfs/music player-all.pls player-all.pls found3.pls cat found1.pls found2.pls found3.pls > lyr-needed.pls rm found1.pls found2.pls found3.pls cat lyr-needed.pls >> player-new.pls cat lyr-needed.pls > lyr-need.pls java pathRewrite player-need.pls /nfs/ /nfs2/ java lyrFetch freeRtr-25.11.9/misc/player/gdm.tcl000066400000000000000000000001551510423065500170060ustar00rootroot00000000000000puts "restarting gdm" exec "attach shell1 /etc/init.d/gdm3 stop" exec "attach shell1 /etc/init.d/gdm3 start" freeRtr-25.11.9/misc/player/guayadeque.sh000077500000000000000000000002351510423065500202230ustar00rootroot00000000000000#!/bin/sh while ((1)); do dbus-send --print-reply --type=method_call --dest=org.mpris.guayadeque /Player org.freedesktop.MediaPlayer.Next sleep 3 done freeRtr-25.11.9/misc/player/guessDir.java000066400000000000000000000007711510423065500201670ustar00rootroot00000000000000 /** * guess directory * * @author matecsaba */ public class guessDir { /** * the main * * @param args arguments */ public static void main(String[] args) { String s = "./"; if (args.length > 0) { s = args[0]; } playerUtil.put("scanning " + s); findSongs fs = new findSongs(); fs.doFindSongs(s); fs.doSort(); fs.doDir(); playerUtil.put(fs.art + " - " + fs.dat + " - " + fs.alb); } } freeRtr-25.11.9/misc/player/guessDir.sh000077500000000000000000000000631510423065500176550ustar00rootroot00000000000000#!/bin/sh java -cp /nfs/own/web/player guessDir ./ freeRtr-25.11.9/misc/player/index.css000066400000000000000000000002311510423065500173470ustar00rootroot00000000000000body { background-color: #000000; color: #00FF00; font-size: xx-large; } :link { color: #00FFFF } :visited { color: #00FFFF } :active { color: #00FFFF } freeRtr-25.11.9/misc/player/index2.html000066400000000000000000000003231510423065500176070ustar00rootroot00000000000000player starting... freeRtr-25.11.9/misc/player/lyrFetch.java000066400000000000000000000056101510423065500201570ustar00rootroot00000000000000 import java.util.ArrayList; import java.util.List; /** * lyric fetcher * * @author matecsaba */ public class lyrFetch { /** * the main * * @param args arguments */ public static void main(String[] args) { List need = playerSong.txt2pls(null, playerUtil.readup("lyr-need.pls")); List done = new ArrayList(); List fail = new ArrayList(); List skip = new ArrayList(); for (int i = 0; i < need.size(); i++) { if (playerUtil.keyPress()) { break; } playerSong ntry = need.get(i); switch (doSong(ntry)) { case 0: done.add(ntry); break; case 1: skip.add(ntry); break; default: fail.add(ntry); break; } } need.removeAll(skip); need.removeAll(done); need.removeAll(fail); playerUtil.put("--> need=" + need.size() + " skip=" + skip.size() + " done=" + done.size() + " fail=" + fail.size()); playerUtil.saveas(playerSong.pls2txt(need), "lyr-needed.pls"); playerUtil.saveas(playerSong.pls2txt(done), "lyr-done.pls"); playerUtil.saveas(playerSong.pls2txt(fail), "lyr-fail.pls"); playerUtil.saveas(playerSong.pls2txt(skip), "lyr-skip.pls"); } /** * do one song * * @param song song to search * @return 0 on success */ public static int doSong(playerSong song) { String cm[] = new String[3]; cm[0] = "./lyrFetch.sh"; cm[1] = song.justArtist(); cm[2] = song.justTitle(); playerUtil.put("--> song " + song.file + " : " + cm[1] + " - " + cm[2] + " <--"); playerLyric lyric = playerUtil.readup(song.lyrFile()); if (lyric != null) { playerUtil.put("already exists!"); return 1; } if (cm[1].length() < 1) { playerUtil.put("no artist!"); return 1; } if (cm[2].length() < 1) { playerUtil.put("no title!"); return 1; } playerLyric res; try { Runtime rtm = Runtime.getRuntime(); Process prc = rtm.exec(cm); res = playerUtil.doRead(prc.getInputStream()); prc.waitFor(); prc.destroy(); } catch (Exception e) { playerUtil.put("failed to exec!"); return 2; } if (res == null) { playerUtil.put("failed to download!"); return 2; } res = res.clearScript(); if (res.size() < 1) { playerUtil.put("got no lyrics!"); return 3; } playerUtil.saveas(res, song.lyrFile()); return 0; } } freeRtr-25.11.9/misc/player/lyrFetch1.sh000077500000000000000000000003511510423065500177310ustar00rootroot00000000000000#!/bin/sh #wget https://github.com/trizen/clyrics/archive/master.zip #rm -rf clyrics-master/* #unzip master.zip #rm master.zip #cpan #cpan -u #cpan -Ti WWW::Mechanize #cpan -Ti LWP::Protocol::https ./clyrics-master/clyrics "$1 - $2" freeRtr-25.11.9/misc/player/lyrFetch2.sh000077500000000000000000000001261510423065500177320ustar00rootroot00000000000000#!/bin/sh #sudo apt-get install npm #sudo npm install -g lyrics-fetcher lyr "$1" "$2" freeRtr-25.11.9/misc/player/lyrFetch3.sh000077500000000000000000000005241510423065500177350ustar00rootroot00000000000000#!/usr/bin/perl #cpan #cpan -u #cpan -Ti Lyrics::Fetcher #cpan -Ti Lyrics::Fetcher::AZLyrics #cpan -Ti Lyrics::Fetcher::LyrDB #cpan -Ti Lyrics::Fetcher::AstraWeb #cpan -Ti Lyrics::Fetcher::Lyrics::Fetcher::LyricsDownload #cpan -Ti Lyrics::Fetcher::LyricWiki use Lyrics::Fetcher; print Lyrics::Fetcher->fetch($ARGV[0],$ARGV[1],'LyricWiki'); freeRtr-25.11.9/misc/player/lyrFetch4.sh000077500000000000000000000002011510423065500177260ustar00rootroot00000000000000#!/bin/sh curl --max-time 5 -s --get "https://makeitpersonal.co/lyrics" --data-urlencode "artist=$1" --data-urlencode "title=$2" freeRtr-25.11.9/misc/player/lyrFetch5.sh000077500000000000000000000002531510423065500177360ustar00rootroot00000000000000#!/bin/sh curl -L -s --max-time 5 https://lyrix.vercel.app/getLyricsByName/$(printf "$1" | jq -sRr '@uri')/$(printf "$2" | jq -sRr '@uri') | jq -r ".lyrics.lines[].words" freeRtr-25.11.9/misc/player/lyrFetch6.sh000077500000000000000000000001551510423065500177400ustar00rootroot00000000000000#!/bin/sh #sudo apt-get install ncmpc-lyrics /usr/libexec/ncmpc/lyrics/20-azlyrics.py "$1" "$2" 2> /dev/null freeRtr-25.11.9/misc/player/lyrMiss.java000066400000000000000000000014411510423065500200370ustar00rootroot00000000000000 import java.io.File; import java.util.ArrayList; import java.util.List; /** * missing lyrics * * @author matecsaba */ public class lyrMiss { /** * the main * * @param args arguments */ public static void main(String[] args) { List need = playerSong.txt2pls(null, playerUtil.readup("need.pls")); List miss = new ArrayList(); playerUtil.put("need=" + need.size()); for (int i = 0; i < need.size(); i++) { playerSong ntry = need.get(i); if (new File(ntry.lyrFile()).exists()) { continue; } miss.add(ntry); } playerUtil.put("miss=" + miss.size()); playerUtil.saveas(playerSong.pls2txt(miss), "miss.pls"); } } freeRtr-25.11.9/misc/player/m3u2pls.java000066400000000000000000000015711510423065500177060ustar00rootroot00000000000000 import java.util.List; /** * convert playlist * * @author matecsaba */ public class m3u2pls { /** * the main * * @param args arguments */ public static void main(String[] args) { if (args.length != 2) { playerUtil.put("usage: m3u2pls "); return; } playerUtil.put("reading " + args[0]); playerLyric txt = playerUtil.readup(args[0]); playerUtil.put("converting " + txt.size() + " lines"); List pls = playerSong.txt2m3u(null, txt); playerUtil.put("sorting " + pls.size() + " songs"); playerSong.sort(pls); playerUtil.put("converting " + pls.size() + " songs"); txt = playerSong.pls2txt(pls); playerUtil.put("writing " + txt.size() + " lines to " + args[1]); playerUtil.saveas(txt, args[1]); } } freeRtr-25.11.9/misc/player/mover.java000066400000000000000000000034361510423065500175330ustar00rootroot00000000000000 import java.io.File; import java.util.List; /** * move to collection * * @author matecsaba */ public class mover { /** * the main * * @param args arguments */ public static void main(String[] args) { String s = "./"; String t = args[0]; if (args.length > 1) { s = args[1]; } List fl = findSongs.doFindDir(s); for (int i = 0; i < fl.size(); i++) { File f = fl.get(i); String a = f.getName(); if (a.startsWith(".")) { continue; } if (!f.isDirectory()) { continue; } doDir(s, t, a); } } private static void doDir(String s, String t, String n) { String a = n.substring(0, 1).toLowerCase(); if (!a.matches("[a-z]")) { a = "0"; } t += a + "/"; if (!new File(t + n).exists()) { playerUtil.put("done " + s + n); new File(s + n).renameTo(new File(t + n)); return; } long ct = countDir(t + n); long cs = countDir(s + n); if (ct >= cs) { playerUtil.put("skip " + s + n + " because " + ct + " > " + cs + " by " + (ct - cs)); return; } playerUtil.put("replace " + s + n + " because " + ct + " < " + cs + " by " + (cs - ct)); new File(t + n).renameTo(new File(s + n + ".old")); new File(s + n).renameTo(new File(t + n)); new File(s + n + ".old").renameTo(new File(s + n)); } private static long countDir(String s) { List fl = findSongs.doFindDir(s); long res = 0; for (int i = 0; i < fl.size(); i++) { res += fl.get(i).length(); } return res; } } freeRtr-25.11.9/misc/player/mover.sh000077500000000000000000000001121510423065500172130ustar00rootroot00000000000000#!/bin/sh java -cp /nfs/own/web/player mover /nfs2/music/ /nfs2/temp/new/ freeRtr-25.11.9/misc/player/nonAscii.java000066400000000000000000000025561510423065500201500ustar00rootroot00000000000000 import java.io.File; import java.util.ArrayList; import java.util.List; /** * non ascii * * @author matecsaba */ public class nonAscii { /** * check if a string is usascii7bit or not * * @param a string to check * @return false if safe */ public final static int doNonAscii(String a) { if (a == null) { return -2; } byte[] b = a.getBytes(); for (int i = 0; i < b.length; i++) { int c = b[i]; if (c < 0x20) { return i; } if (c >= 0x7e) { return i; } } return -1; } /** * the main * * @param args arguments */ public static void main(String[] args) { String s = "./"; if (args.length > 0) { s = args[0]; } List fl = findSongs.doFindDir(s); int err = 0; for (int i = 0; i < fl.size(); i++) { File ntry = fl.get(i); String a = ntry.getName(); int o = doNonAscii(a); if (o < 0) { continue; } err++; playerUtil.put(a); playerUtil.put(" ".repeat(o) + "^"); } if (err < 1) { return; } playerUtil.put("found " + err + " bad of " + fl.size()); } } freeRtr-25.11.9/misc/player/nonAscii.sh000077500000000000000000000026731510423065500176440ustar00rootroot00000000000000#!/bin/sh java -cp /nfs/own/web/player nonAscii /nfs/temp/new/ java -cp /nfs/own/web/player nonAscii /nfs/music/0/ java -cp /nfs/own/web/player nonAscii /nfs/music/a/ java -cp /nfs/own/web/player nonAscii /nfs/music/b/ java -cp /nfs/own/web/player nonAscii /nfs/music/c/ java -cp /nfs/own/web/player nonAscii /nfs/music/d/ java -cp /nfs/own/web/player nonAscii /nfs/music/e/ java -cp /nfs/own/web/player nonAscii /nfs/music/f/ java -cp /nfs/own/web/player nonAscii /nfs/music/g/ java -cp /nfs/own/web/player nonAscii /nfs/music/h/ java -cp /nfs/own/web/player nonAscii /nfs/music/i/ java -cp /nfs/own/web/player nonAscii /nfs/music/j/ java -cp /nfs/own/web/player nonAscii /nfs/music/k/ java -cp /nfs/own/web/player nonAscii /nfs/music/l/ java -cp /nfs/own/web/player nonAscii /nfs/music/m/ java -cp /nfs/own/web/player nonAscii /nfs/music/n/ java -cp /nfs/own/web/player nonAscii /nfs/music/o/ java -cp /nfs/own/web/player nonAscii /nfs/music/p/ java -cp /nfs/own/web/player nonAscii /nfs/music/q/ java -cp /nfs/own/web/player nonAscii /nfs/music/r/ java -cp /nfs/own/web/player nonAscii /nfs/music/s/ java -cp /nfs/own/web/player nonAscii /nfs/music/t/ java -cp /nfs/own/web/player nonAscii /nfs/music/u/ java -cp /nfs/own/web/player nonAscii /nfs/music/v/ java -cp /nfs/own/web/player nonAscii /nfs/music/w/ java -cp /nfs/own/web/player nonAscii /nfs/music/x/ java -cp /nfs/own/web/player nonAscii /nfs/music/y/ java -cp /nfs/own/web/player nonAscii /nfs/music/z/ freeRtr-25.11.9/misc/player/pathFilter.java000066400000000000000000000022151510423065500204770ustar00rootroot00000000000000 import java.util.ArrayList; import java.util.List; /** * filter songs * * @author matecsaba */ public class pathFilter { public final static int doFilter(List src, List trg, String flt) { playerUtil.put("filtering with " + flt + "..."); int done = 0; for (int i = 0; i < src.size(); i++) { playerSong ntry = src.get(i); if (!ntry.file.matches(flt)) { continue; } trg.add(ntry); done++; } playerUtil.put(done + " found..."); return done; } /** * the main * * @param args arguments */ public static void main(String[] args) { String fn = args[0]; playerUtil.put("reading " + fn + "..."); List src = playerSong.txt2pls(null, playerUtil.readup(fn)); playerUtil.put("read " + src.size()); List trg = new ArrayList(); doFilter(src, trg, args[2]); fn = args[1]; playerUtil.put("write " + trg.size() + " to " + fn); playerUtil.saveas(playerSong.pls2txt(trg), fn); } } freeRtr-25.11.9/misc/player/pathRewrite.java000066400000000000000000000033241510423065500206750ustar00rootroot00000000000000 import java.io.File; import java.util.ArrayList; import java.util.List; /** * path rewrite * * @author matecsaba */ public class pathRewrite { /** * repair one path * * @param s path to repair * @return repaired path */ public final static String doOnePath(String s) { if (!s.startsWith("/")) { s = "/" + s; } if (!s.endsWith("/")) { s = s + "/"; } return s; } public final static int doRewrite(List need, String src, String trg) { playerUtil.put("rewriting " + src + " to " + trg + "..."); int done = 0; int srcl = src.length(); for (int i = 0; i < need.size(); i++) { playerSong ntry = need.get(i); if (ntry == null) { continue; } String a = ntry.file; if (!a.startsWith(src)) { continue; } a = a.substring(srcl, a.length()); ntry.file = trg + a; done++; } playerUtil.put(done + " rewritten..."); return done; } /** * the main * * @param args arguments */ public static void main(String[] args) { String fn = args[0]; String src = doOnePath(args[1]); String trg = doOnePath(args[2]); playerUtil.put("reading " + fn + "..."); List need = playerSong.txt2pls(null, playerUtil.readup(fn)); playerUtil.put("sorting " + need.size() + " entries"); playerSong.sort(need); int don = doRewrite(need, src, trg); playerUtil.put("writing " + fn + "..."); playerUtil.saveas(playerSong.pls2txt(need), fn); } } freeRtr-25.11.9/misc/player/player-all.pls000066400000000000000000000074731510423065500203270ustar00rootroot00000000000000[playlist] NumberOfEntries=37 File1=music/metallica-17 Years/101. Metallica - The Ecstasy Of Gold.mp3 Title1=Metallica - The Ecstasy Of Gold File2=music/metallica-17 Years/102. Metallica - The Four Horsemen.mp3 Title2=Metallica - The Four Horsemen File3=music/metallica-17 Years/103. Metallica - Seek And Destroy.mp3 Title3=Metallica - Seek & Destroy File4=music/metallica-17 Years/104. Metallica - For Whom The Bell Tolls.mp3 Title4=Metallica - For Whom The Bell Tolls File5=music/metallica-17 Years/105. Metallica - Fight Fire With Fire.mp3 Title5=Metallica - Fight Fire With Fire File6=music/metallica-17 Years/106. Metallica - Fade To Black.mp3 Title6=Metallica - Fade To Black File7=music/metallica-17 Years/107. Metallica - Am I Evil.mp3 Title7=Metallica - Am I Evil? File8=music/metallica-17 Years/108. Metallica - Master of Puppets.mp3 Title8=Metallica - Master of Puppets File9=music/metallica-17 Years/109. Metallica - Welcome Home (Sanitarium).mp3 Title9=Metallica - Welcome Home (Sanitarium) File10=music/metallica-17 Years/110. Metallica - Damage Inc.mp3 Title10=Metallica - Damage, Inc. File11=music/metallica-17 Years/111. Metallica - Battery.mp3 Title11=Metallica - Battery File12=music/metallica-17 Years/113. Metallica - The Wait.mp3 Title12=Metallica - The Wait File13=music/metallica-17 Years/203. Metallica - The Shortest Straw.mp3 Title13=Metallica - The Shortest Straw File14=music/metallica-17 Years/204. Metallica - Wherever I May Roam.mp3 Title14=Metallica - Wherever I May Roam File15=music/metallica-17 Years/205. Metallica - Nothing Else Matters.mp3 Title15=Metallica - Nothing Else Matters File16=music/metallica-17 Years/206. Metallica - The Unforgiven.mp3 Title16=Metallica - The Unforgiven File17=music/metallica-17 Years/207. Metallica - Enter Sandman.mp3 Title17=Metallica - Enter Sandman File18=music/metallica-17 Years/208. Metallica - So What.mp3 Title18=Metallica - So What File19=music/metallica-17 Years/209. Metallica - Sad But True.mp3 Title19=Metallica - Sad But True File20=music/metallica-17 Years/210. Metallica - Creeping Death (Live).mp3 Title20=Metallica - Creeping Death_-_Live_In_Moscow_1991 File21=music/metallica-17 Years/211. Metallica - Whiplash (live).mp3 Title21=Metallica - Whiplash File22=music/metallica-17 Years/212. Metallica - One (Live).mp3 Title22=Metallica - One (Live) File23=music/metallica-17 Years/301. Metallica - King Nothing.mp3 Title23=Metallica - King Nothing File24=music/metallica-17 Years/302. Metallica - Aint My Bitch.mp3 Title24=Metallica - Ain't My Bitch File25=music/metallica-17 Years/303. Metallica - Until It Sleeps.mp3 Title25=Metallica - Until It Sleeps File26=music/metallica-17 Years/304. Metallica - Mama Said.mp3 Title26=Metallica - Mama Said File27=music/metallica-17 Years/305. Metallica - The House Jack Built.mp3 Title27=Metallica - The House Jack Built File28=music/metallica-17 Years/306. Metallica - stone dead forever.mp3 Title28=Metallica - Stone Dead Forever File29=music/metallica-17 Years/307. Metallica - The Unforgiven II.mp3 Title29=Metallica - The Unforgiven II File30=music/metallica-17 Years/308. Metallica - Devils Dance.mp3 Title30=Metallica - Devil's Dance File31=music/metallica-17 Years/309. Metallica - The Memory Remains.mp3 Title31=Metallica - The Memory Remains File32=music/metallica-17 Years/310. Metallica - Whiskey In The Jar.mp3 Title32=Metallica - Whiskey In The Jar File33=music/metallica-17 Years/311. Metallica - Die Die My Darling.mp3 Title33=Metallica - Die, Die My Darling File34=music/metallica-17 Years/312. Metallica - Turn The Page.mp3 Title34=Metallica - Turn The Page File35=music/metallica-17 Years/313. Metallica - Astronomy.mp3 Title35=Metallica - Astronomy File36=music/metallica-17 Years/314. Metallica - No Leaf Clover.mp3 Title36=Metallica - No Leaf Clover File37=music/metallica-17 Years/315. Metallica - I Disappear.mp3 Title37=Metallica - I Disappear freeRtr-25.11.9/misc/player/player-fav.pls000066400000000000000000000002121510423065500203130ustar00rootroot00000000000000[playlist] NumberOfEntries=1 File1=music/metallica-17 Years/310. Metallica - Whiskey In The Jar.mp3 Title1=Metallica - Whiskey In The Jar freeRtr-25.11.9/misc/player/player-hw.txt000066400000000000000000000001471510423065500202050ustar00rootroot00000000000000tcp2vrf 8080 ply 80 tcp2vrf 2323 ply 23 tcp2vrf 4433 ply 443 tcp2vrf 2222 ply 22 tcp2vrf 5959 ply 5900 freeRtr-25.11.9/misc/player/player-sw.txt000066400000000000000000000131451510423065500202220ustar00rootroot00000000000000hostname player buggy no enable ! ! crypto rsakey rsa import MIICXQIBAAKBgQDgQpbTWzY6Z7Y1dEAP3n8QfnBPjUan53OIxbXAHKvCGlbkXgMxxWNpCp1Nlu8z2eE/InBtNerNrQ0FzHcseIk7r101P2ZABpBFA8GNWQF93Bvst3qQ9xbwZ1PU/0YlY7TD77bt5Jkm9QbAA0lUduWiEj1itdLge8Hcb0MLl15XCwIDAQABAoGBAN+r6qyxW5vTFxunb8GkI816nl/pw1/x6/ytXQJYVkMJbELnNX5tpiH9UTky4i8wD4Wdvs5eKWusPsHa1b4IFq4PXKEMvfRtbt8lxddkl/oN1hwuEqUdD5uVc16w36z/C5pyIfkr2UjJS+rGGZZ4qzF2Y47TJ+rtQnwd6pKF8RxhAkEA+sJaB9vri14vlGAj1oaLcNQGw1rgKgiBt2W4RG+R5/34UbRPA2YFPEVXnCkcUos2bTF0L1vl4baiPupQ2b1N+wJBAOTydVIbEf5lbCWoLZ0JUN6OvEEWRlM6VV31Z3WC5riX3HaG0+LIvAQ9H/i6HV42Z3SqmEsmndbnd+0vLYvNHjECQQC4Gzuoq4HbuFIsmQ2W8v+r3i/8/Fq64bYDZc6NiHDSqLfJnR2p/Bx57NtvDwv5WraiIv4Py2QTfVjP4o9r3j5DAkAHkfjNITYEGmhsClaPxboV0dRptonWwKwH8lBcc1qbqfHRPX4OFqMY5MiE2eqUrenX0rg8a+d2LqspfZDc+YhRAkBwVUfGTaiN20Gx1BvQ2QF64BVepO1G42cLnccfU2S+WLB5qE2WjX9l32b6Out4SngD4k1ZoIDNtVOYMsFDBON0 ! crypto dsakey dsa import MIIBtwIBAAKBgCks/Lrh6NYP+7rojFbKnoI6rsCQ5DrP/w0bdeXnEzOn7UFZwbDIc7SfBaqacYoFyTyPuuQW1HG0H5ZSAd6kLnvR1RfJH9Tj5FvhQlBiHtUoqGdHYQJSDZ1JONRYtMPpfNhBMVVc8cWHy8r7tdDq7PC7fRyVyJSoxRzFBTCrfcSFAhUAtrgHK8mg2zfCAyAewDYU3SqDjKkCgYAGEq5Iw+Xd6uB1XMWILysg7eBQClJzEC4K9Sm1Ua50mE0TqD/ZYE8OmL5RchiLZ9/8/238fRCt/V6fc00THyB4n9LB7zcrdjq6EuCVTXxRf2pWmEEUi1ZVK8FVSXa4kEODxE5oa1qqsmsO5wY9205+7XbcOznpdWx0tCtWgtmLUwJ/XcXX5+MDCctQWAjWu+X1PBClzubABjUEYOXytnRsCficOd/G2foFH2AQ1h7SFpi+Ep71PkhRvDNYw3tV0QjmXUYFMH6vuOrGTjVe7FT7D9JoBjVygg+NAFrbSozw2YhnP7T8t4PLnwpauFUMg6cgypCaiNEioQB97ibmNz15UAIUJebn+EEUj/nbD876hUwjgJSnruk= ! crypto ecdsakey ecdsa import MIHbAgEBBEEA7h7wvhMYaYg2jWQRSEN/ZkH/GSceaGm+YsYq3m2rD48A2jCaJAa0gMqCiSHDtL6DyLpYUIEog4qWgWR5G4CZhaAHBgUrgQQAI6GBiQOBhgAEAdjF26GHkbB4Z4Nk9QN8G6u37VU7BxjmQkVnNfvVYsOZlay3kZR0n1Ci7rOHKRncPSESmYoAaMXkiUfOZLZ3y/7aAPWetHeEOtNqiNbJQ544myXnI/KkA30XTlowXV7B3gdfZLSvA/TJ0L492la7tMGLL5+23+qRmTC8IBZkB1vJHumi ! crypto certificate dsa import dsa dsa MIICUzCCAhOgAwIBAgIEWqMJYjAJBgcqhkjOOAQDMBExDzANBgNVBAMTBnBsYXllcjAeFw0xMjA1MzEyMDIwMjhaFw0yMjA1MjkyMDIwMjhaMBExDzANBgNVBAMTBnBsYXllcjCCAbMwggEqBgcqhkjOOAQBMIIBHQKBgCks/Lrh6NYP+7rojFbKnoI6rsCQ5DrP/w0bdeXnEzOn7UFZwbDIc7SfBaqacYoFyTyPuuQW1HG0H5ZSAd6kLnvR1RfJH9Tj5FvhQlBiHtUoqGdHYQJSDZ1JONRYtMPpfNhBMVVc8cWHy8r7tdDq7PC7fRyVyJSoxRzFBTCrfcSFAhUAtrgHK8mg2zfCAyAewDYU3SqDjKkCgYAGEq5Iw+Xd6uB1XMWILysg7eBQClJzEC4K9Sm1Ua50mE0TqD/ZYE8OmL5RchiLZ9/8/238fRCt/V6fc00THyB4n9LB7zcrdjq6EuCVTXxRf2pWmEEUi1ZVK8FVSXa4kEODxE5oa1qqsmsO5wY9205+7XbcOznpdWx0tCtWgtmLUwOBggACf13F1+fjAwnLUFgI1rvl9TwQpc7mwAY1BGDl8rZ0bAn4nDnfxtn6BR9gENYe0haYvhKe9T5IUbwzWMN7VdEI5l1GBTB+r7jqxk41XuxU+w/SaAY1coIPjQBa20qM8NmIZz+0/LeDy58KWrhVDIOnIMqQmojRIqEAfe4m5jc9eVAwCQYHKoZIzjgEAwMvADAsAhR9FDtVx+SCrow1Tf3W8f8Zun367QIUSOvqE65DzpdHqPec4K7dYL75Nzk= ! crypto certificate ecdsa import ecdsa ecdsa MIICGTCB+qADAgECAgQJEtM0MAkGByqGSM49BAEwETEPMA0GA1UEAxMGcGxheWVyMB4XDTE1MDIyMjEwNDA1MFoXDTI1MDIxOTEwNDA1MFowETEPMA0GA1UEAxMGcGxheWVyMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB2MXboYeRsHhng2T1A3wbq7ftVTsHGOZCRWc1+9Viw5mVrLeRlHSfUKLus4cpGdw9IRKZigBoxeSJR85ktnfL/toA9Z60d4Q602qI1slDnjibJecj8qQDfRdOWjBdXsHeB19ktK8D9MnQvj3aVru0wYsvn7bf6pGZMLwgFmQHW8ke6aIwCQYHKoZIzj0EAQOCAQ0AMIIBCAJBIq2+wBuaDv3qO7IzUccBDyx1bVT76pY0zunW/V1eMblfrJ+1c8n7oz6fDOCR8Ye7/vg94U8pHKe3Qj1wY3opmFUCgcIW0aaC2/DbkVjmFri5dhXGb1t/3yw/1EPqf7s6gdmHLMhZlwYuV3c56B+rB0exzTK8EFuY1kapbM16TNHPklY6p8dSsZf+p5eIBWZco+EF/JmecvW25ho3Kwtp8Sh8boEp1V1JisJjL+P2aadJcAwV4AdUuDebms3R9NHlbUOoaUp4OIQV1q9CRnOJ+cO45FF0yKx0eyw6ZDQGXE9iJAt1hvZpeoDgisy8xgHaeYqhBnxSZGV/3ww6v64Sl8p2/iVArw== ! crypto certificate rsa import rsa rsa MIIBlDCCAQCgAwIBAgIEBVOQcDALBgkqhkiG9w0BAQUwETEPMA0GA1UEAxMGcGxheWVyMB4XDTEyMDUzMTIwMjAyMVoXDTIyMDUyOTIwMjAyMVowETEPMA0GA1UEAxMGcGxheWVyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDgQpbTWzY6Z7Y1dEAP3n8QfnBPjUan53OIxbXAHKvCGlbkXgMxxWNpCp1Nlu8z2eE/InBtNerNrQ0FzHcseIk7r101P2ZABpBFA8GNWQF93Bvst3qQ9xbwZ1PU/0YlY7TD77bt5Jkm9QbAA0lUduWiEj1itdLge8Hcb0MLl15XCwIDAQABMAsGCSqGSIb3DQEBBQOBgCMoHn9lh7XrIkglYhQq8NeHVGXEP5eTWNLgkqhMionVlQ+twoEBxElhIihUe78v7BQtQ0mmRcA4qsofdYA/SBuVmHTaPgEFHhlLUqit0iPdBCBR4UeLrbiTnqL/CMjfl7hHcPdQ3uL6JpaNVuKnFA6h+DcNP91UxDuYLKKFZb+Q ! aaa userlist usr no log-error username c username c password $v10$Yw== username c privilege 1 username mc36 username mc36 password $v10$ZmFzem9t username mc36 privilege 1 exit ! vrf definition ply rd 666:666 exit ! proxy-profile p protocol hostos vrf ply exit ! scheduler player time 10000 delay 5000 command flash receive /tmp/player.temp http://127.0.0.1:8080/player.class start exit ! scheduler temper time 10000 delay 5000 command flash receive /tmp/temper.temp http://127.0.0.1:8080/temper.class start exit ! ! ! ! ! ! ! ! ! ! ! ! ! server telnet ssh security protocol ssh security authentication usr security rsakey rsa security dsakey dsa security ecdsakey ecdsa security rsacert rsa security dsacert dsa security ecdsacert ecdsa port 22 no login authentication vrf ply exit ! server telnet tel security protocol telnet no login authentication login logging vrf ply exit ! server rfb vnc no login authentication vrf ply exit ! server http sweb security protocol tls security rsakey rsa security dsakey dsa security ecdsakey ecdsa security rsacert rsa security dsacert dsa security ecdsacert ecdsa port 443 host * path /nfs2/own/web/player/ host * style bgcolor="#000000" text="#00FF00" link="#00FFFF" vlink="#00FFFF" alink="#00FFFF" host * dirlist host * script host * class vrf ply exit ! server http web host * path /nfs2/own/web/player/ host * style bgcolor="#000000" text="#00FF00" link="#00FFFF" vlink="#00FFFF" alink="#00FFFF" host * dirlist host * script host * class vrf ply exit ! client proxy p client name-server 10.10.10.10 client mail-server gw4.mchome.nop.hu client mail-username mc36 client mail-password $v10$ZmFzem9t ! end freeRtr-25.11.9/misc/player/player.cfg000066400000000000000000000002201510423065500175010ustar00rootroot00000000000000/nfs2/own/web/player/player-fav.pls /nfs2/own/web/player/player-all.pls /nfs2/own/web/player/player-cls.pls /nfs2/own/web/player/player-new.pls freeRtr-25.11.9/misc/player/player.init000066400000000000000000000010741510423065500177150ustar00rootroot00000000000000#! /bin/sh ### BEGIN INIT INFO # Provides: playerw # Required-Start: $network $local_fs $remote_fs # Required-Stop: $network $local_fs $remote_fs # X-Start-Before: # Default-Start: # Default-Stop: # Short-Description: music player worker ### END INIT INFO case "$1" in start) cd / mount -a /nfs2/own/web/player/player.sh& ;; stop) kill -9 `pidof java` ;; status) echo java: `pidof java` ;; *) echo "Usage: $N {start|stop|status}" >&2 exit 1 ;; esac exit 0 freeRtr-25.11.9/misc/player/player.java000066400000000000000000001123741510423065500177010ustar00rootroot00000000000000 import java.io.ByteArrayOutputStream; import java.io.File; import java.io.InputStream; import java.net.URI; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Random; /** * web player * * @author matecsaba */ public class player implements Runnable { /** * this is needed for cli startup * * @param args command line parameters */ public static void main(String[] args) { player app = new player(); String a; try { ByteArrayOutputStream buf = new ByteArrayOutputStream(); a = "" + app.getClass().getName() + "."; a = player.httpRequest("http://localhost/" + a, "./" + a, "cli", "clibrowser", "user", args, buf); a = "type=" + a + "\r\ndata:\r\n" + buf.toString(); } catch (Exception e) { a = "exception " + e.getMessage(); } System.out.println(a); } /** * where i'm located in ram */ protected static player staticPlayer = null; /** * where i'm located on host */ protected String path = null; /** * where i'm located on net, relative */ protected String urlR = null; /** * where i'm located on net, full */ protected String urlF = null; /** * wether i'm initialized or nor */ protected boolean ready = false; private final static Object sleeper = new Object(); private String mixer = "Master"; private String srate = "44100"; private boolean headEnd = false; private boolean locked = false; private int volMin = 0; private int volMax = 100; private Random rndSeed = new Random(); private playerLyric playlists = null; private List playlist = new ArrayList(); private List prelock = null; private Process currProc = null; private int prevSong = -1; private int currSong = -1; private List nextSong = new ArrayList(); private List pastSong = new ArrayList(); private playerLyric currLyrc = null; private long currTime = 0; private int currVlme = 0; /** * do one request * * @param url url of app * @param path path of app * @param peer client address * @param agent user agent * @param user auth data * @param par parameters * @param buf result buffer, if empty, pathname must present * @return [pathname"][file name.]extension * @throws Exception if something went wrong */ public static String httpRequest(String url, String path, String peer, String agent, String user, String[] par, ByteArrayOutputStream buf) throws Exception { if (staticPlayer == null) { staticPlayer = new player(); staticPlayer.path = path.substring(0, path.lastIndexOf(".")); staticPlayer.urlF = url; staticPlayer.urlR = new URI(url).toURL().getPath(); staticPlayer.doInit(); new Thread(staticPlayer).start(); } int i = staticPlayer.doRequest(par, peer, buf); if (i == -2) { return "txt"; } if (i < 0) { buf.write("".getBytes()); return "html"; } playerSong sng = staticPlayer.playlist.get(i); buf.write(sng.file.getBytes()); String s = new File(sng.file).getName(); i = s.lastIndexOf("."); if (i < 0) { return "//file//"; } if (sng.title.length() < 0) { return "//file//"; } buf.write("\n".getBytes()); s = sng.title + s.substring(i, s.length()); buf.write(s.getBytes()); return "//file//"; } private void runProc(String cmd[]) { try { Runtime rtm = Runtime.getRuntime(); Process prc = rtm.exec(cmd); prc.waitFor(); } catch (Exception e) { } } private synchronized void stopProc(String s) { String[] cmd = new String[3]; cmd[0] = "killall"; cmd[1] = "-9"; cmd[2] = s; runProc(cmd); } private synchronized void stopProc(long p) { String[] cmd = new String[3]; cmd[0] = "kill"; cmd[1] = "-9"; cmd[2] = "" + p; runProc(cmd); } private synchronized void replaceCurrProc(String[] cmd) { if (currProc != null) { long p = currProc.pid(); try { currProc.destroy(); } catch (Exception e) { } stopProc(p); } currProc = null; if (cmd == null) { return; } try { Runtime rtm = Runtime.getRuntime(); currProc = rtm.exec(cmd); } catch (Exception e) { } } private synchronized void stopFull() { stopProc("roc-recv"); stopProc("shairport-sync"); stopProc("gmediarender"); stopProc("mplayer"); stopProc("ffmpeg"); stopProc("ffplay"); stopProc("cvlc"); stopProc("vlc"); stopProc("yt-dlp"); stopProc("amixer"); } private synchronized void setVolume(int vol) { currVlme = vol; int fvol = volMin + ((vol * (volMax - volMin)) / 100); String[] cmd = new String[4]; cmd[0] = "amixer"; cmd[1] = "sset"; cmd[2] = mixer; cmd[3] = fvol + "%"; runProc(cmd); } private synchronized boolean setPlaylist(List lst, boolean pre) { if (lst == null) { return true; } if (lst.size() < 1) { return true; } playlist = lst; if (pre) { prelock = lst; } pastSong.clear(); nextSong.clear(); nextSong.add(rndSeed.nextInt(playlist.size())); return false; } private synchronized void startPlayAirplay() { currSong = 0; currTime = new Date().getTime(); currLyrc = new playerLyric(); currLyrc.add("airplay receiver"); String[] cmd = new String[1]; cmd[0] = "shairport-sync"; replaceCurrProc(cmd); } private synchronized void startPlayRoc() { currSong = 0; currTime = new Date().getTime(); currLyrc = new playerLyric(); currLyrc.add("roc receiver"); String[] cmd = new String[5]; cmd[0] = "roc-recv"; cmd[1] = "-s"; cmd[2] = "rtp://0.0.0.0:10000"; cmd[3] = "-o"; cmd[4] = "alsa://default"; replaceCurrProc(cmd); } private synchronized void startPlayDlna() { currSong = 0; currTime = new Date().getTime(); currLyrc = new playerLyric(); currLyrc.add("dlna receiver"); String[] cmd = new String[5]; cmd[0] = "gmediarender"; cmd[1] = "--gstout-audiosink=alsasink"; cmd[2] = "--gstout-videosink=appsink"; cmd[3] = "--friendly-name=" + urlF; cmd[4] = "--uuid=00001234-1234-1234-" + rndSeed.nextInt(); replaceCurrProc(cmd); } private synchronized void startPlayRcvr() { currSong = 0; currTime = new Date().getTime(); currLyrc = new playerLyric(); currLyrc.add("multicast receiver"); String[] cmd = new String[1]; cmd[0] = path + ".rcvr"; replaceCurrProc(cmd); } private synchronized void startPlayRestream(String clnt) { currSong = 0; currTime = new Date().getTime(); currLyrc = new playerLyric(); currLyrc.add("multicast restreamer from " + clnt); if (clnt.indexOf(":") >= 0) { clnt = "[" + clnt + "]"; } String[] cmd = new String[2]; cmd[0] = path + ".rstr"; cmd[1] = clnt; replaceCurrProc(cmd); } private synchronized void startPlayUrl(String url) { if (url.length() < 1) { return; } String[] cmd = new String[3]; cmd[0] = "sh"; cmd[1] = "-c"; cmd[2] = "rm -f /tmp/player.*"; runProc(cmd); String ply; if (headEnd) { ply = path + ".strm {} 0"; } else { ply = "mplayer -ao alsa -vo none -srate " + srate + " {}"; } cmd = new String[7]; cmd[0] = "yt-dlp"; cmd[1] = "-x"; cmd[2] = "--output"; cmd[3] = "/tmp/player.url"; cmd[4] = "--exec"; cmd[5] = ply; cmd[6] = "" + url; currSong = 0; currTime = new Date().getTime(); currLyrc = new playerLyric(); currLyrc.add("downloading " + url); replaceCurrProc(cmd); } private synchronized void startPlayNormal(int ntry, String ss) { if ((currSong >= 0) && (prevSong != currSong)) { prevSong = currSong; for (;;) { if (pastSong.size() < 10) { break; } pastSong.remove(0); } pastSong.add(currSong); } for (;;) { if (!nextSong.remove(Integer.valueOf(ntry))) { break; } } for (;;) { if (nextSong.size() > 0) { break; } nextSong.add(rndSeed.nextInt(playlist.size())); } if (ntry >= playlist.size()) { return; } currSong = ntry; currLyrc = null; currTime = 0; replaceCurrProc(null); if (headEnd) { stopFull(); } if (ntry < 0) { return; } String[] cmd; if (headEnd) { cmd = new String[3]; cmd[0] = path + ".strm"; cmd[1] = playlist.get(ntry).file; cmd[2] = ss; } else { cmd = new String[10]; cmd[0] = "mplayer"; cmd[1] = "-ao"; cmd[2] = "alsa"; cmd[3] = "-vo"; cmd[4] = "none"; cmd[5] = "-srate"; cmd[6] = srate; cmd[7] = "-ss"; cmd[8] = ss; cmd[9] = playlist.get(ntry).file; } replaceCurrProc(cmd); currTime = new Date().getTime() - (playerUtil.str2int(ss) * 1000); try { playerSong sng = playlist.get(currSong); currLyrc = playerUtil.readup(sng.lyrFile()); } catch (Exception e) { } } /** * initialize */ public void doInit() { playlists = playerUtil.readup("/etc/asound.conf"); int volDef = 50; int autoPlay = 0; int defList = 0; playerLyric locList = new playerLyric(); if (playlists != null) { for (int i = 0; i < playlists.size(); i++) { String a = playlists.get(i); int o = a.indexOf("="); if (o < 0) { continue; } String b = a.substring(o + 1, a.length()).trim(); a = a.substring(0, o).trim(); o = a.indexOf(" "); if (!a.substring(0, o).startsWith("#player.class")) { continue; } a = a.substring(o, a.length()).trim(); if (a.equals("mixer")) { mixer = b; continue; } if (a.equals("locked")) { locked = true; continue; } if (a.equals("headend")) { headEnd = true; continue; } if (a.equals("autoplay")) { autoPlay = playerUtil.str2int(b); continue; } if (a.equals("deflist")) { defList = playerUtil.str2int(b); continue; } if (a.equals("loclist")) { locList.add(b); continue; } if (a.equals("srate")) { srate = b; continue; } if (a.equals("volmin")) { volMin = playerUtil.str2int(b); continue; } if (a.equals("volmax")) { volMax = playerUtil.str2int(b); continue; } if (a.equals("voldef")) { volDef = playerUtil.str2int(b); continue; } } } playlists = playerUtil.readup(path + ".cfg"); playlists.addAll(locList); playlist = playerSong.txt2pls(null, playerUtil.readup(playlists.get(defList))); prelock = playlist; stopFull(); setVolume(volDef); startPlayNormal(-1, "0"); switch (autoPlay) { case 0: break; case 1: startPlayNormal(0, "0"); break; case 2: startPlayDlna(); break; case 3: startPlayRcvr(); break; case 4: startPlayAirplay(); break; case 5: startPlayRoc(); break; } ready = true; } public void run() { for (;;) { try { synchronized (sleeper) { sleeper.wait(1000); } } catch (Exception ex) { } try { if (currProc != null) { flushStream(currProc.getErrorStream()); flushStream(currProc.getInputStream()); currProc.exitValue(); } } catch (Exception e) { continue; } if (currSong < 0) { continue; } startPlayNormal(nextSong.get(0), "0"); } } /** * put starting * * @param buf buffer to use * @param refresh refresh interval * @throws Exception on error */ public void putStart(ByteArrayOutputStream buf, int refresh) throws Exception { String a = "music player"; buf.write(a.getBytes()); if (refresh > 0) { a = ""; buf.write(a.getBytes()); } a = ""; buf.write(a.getBytes()); } /** * put one link * * @param buf buffer to use * @param url url to link to * @param txt text to use * @throws Exception on error */ public void putLink(ByteArrayOutputStream buf, String url, String txt) throws Exception { String a = "((" + txt + "))"; buf.write(a.getBytes()); } /** * put menu items * * @param buf buffer to use * @return currently playing song * @throws Exception on error */ public playerSong putMenu(ByteArrayOutputStream buf) throws Exception { putLink(buf, urlR + "?cmd=list&song=", "playlist"); putLink(buf, urlR + "?cmd=song&song=", "find"); putLink(buf, urlR, "fresh"); putLink(buf, urlR + "?cmd=play&song=-1", "stop"); putLink(buf, urlR + "?cmd=play&song=" + prevSong, "prev"); putLink(buf, urlR + "?cmd=play&song=" + nextSong.get(0), "next"); putLink(buf, urlR + "?cmd=queue&song=", "queue"); buf.write("
".getBytes()); if (currSong >= playlist.size()) { currSong = -1; } if (currSong < 0) { return null; } playerSong sng = playlist.get(currSong); String s = "file: " + sng.file + "
"; buf.write(s.getBytes()); s = "song: " + sng.title + "
"; buf.write(s.getBytes()); putLink(buf, urlR + "?cmd=play&song=" + currSong, "replay"); putLink(buf, urlR + "?cmd=artistsong&song=" + currSong, "artist"); putLink(buf, urlR + "?cmd=albumsong&song=" + currSong, "album"); putLink(buf, urlR + "?cmd=download&song=" + currSong, "download"); putLink(buf, urlR + "?cmd=vol", "volume"); putLink(buf, urlR + "?cmd=seek", "seek"); buf.write("
".getBytes()); return sng; } /** * put find bar * * @param buf buffer to use * @param flt filter text * @throws Exception on error */ public void putFind(ByteArrayOutputStream buf, String flt) throws Exception { String s = "
"; buf.write(s.getBytes()); buf.write("".getBytes()); buf.write("".getBytes()); buf.write("".getBytes()); buf.write("".getBytes()); buf.write("
".getBytes()); } /** * find songs * * @param buf buffer to use * @param sng song to find * @param res results found * @throws Exception on error */ public void doFind(ByteArrayOutputStream buf, String sng, List res) throws Exception { final int max = 100; putStart(buf, -1); putMenu(buf); putFind(buf, sng); String a = res.size() + " results:
"; buf.write(a.getBytes()); if (res.size() < max) { for (int i = 0; i < res.size(); i++) { buf.write(res.get(i).getBytes()); } } else { for (int i = 0; i < max; i++) { buf.write(res.get(rndSeed.nextInt(res.size())).getBytes()); } buf.write(("and " + (res.size() - max) + " more!
").getBytes()); } putFind(buf, sng); putMenu(buf); } /** * to found line * * @param num number of entry * @param ntry entry value * @return string to add */ public String toFound1(int num, playerSong ntry) { return "((Q))" + ntry.title + "
"; } /** * to found line * * @param ntry entry value * @return string to add */ public String toFound2(playerSong ntry) { String a = ntry.justPath(); return "" + a + "
"; } /** * flush input stream * * @param strm stream to flush * @throws Exception on error */ public static void flushStream(InputStream strm) throws Exception { byte[] buf = new byte[strm.available()]; if (buf.length < 1) { return; } strm.read(buf); } /** * do one request * * @param par parameters * @param buf buffer to use * @return -1 on html result * @throws Exception on error */ public int doRequest(String[] par, String peer, ByteArrayOutputStream buf) throws Exception { if (!ready) { putStart(buf, 5); buf.write("player initializes!".getBytes()); return -1; } String song = "-1"; String cmd = ""; for (int pn = 0; pn < par.length; pn++) { String a = par[pn]; int i = a.indexOf("="); if (i < 0) { continue; } String b = a.substring(0, i); a = a.substring(i + 1, a.length()); if (b.equals("cmd")) { cmd = a; } if (b.equals("song")) { song = a; } } if (cmd.equals("albumsong")) { int i = playerUtil.str2int(song); playerSong sng = playlist.get(i); song = new File(sng.file).getParent(); cmd = "album"; } if (cmd.equals("artistsong")) { int i = playerUtil.str2int(song); playerSong sng = playlist.get(i); song = new File(sng.file).getParent(); i = song.indexOf(" - "); if (i >= 0) { song = song.substring(0, i + 2); } cmd = "album"; } if (cmd.equals("song")) { cmd = ".*" + song.trim().toLowerCase().replaceAll(" ", ".*") + ".*"; List res = new ArrayList(); for (int i = 0; i < playlist.size(); i++) { playerSong ntry = playlist.get(i); if (!ntry.title.toLowerCase().matches(cmd)) { continue; } res.add(toFound1(i, ntry)); } doFind(buf, song, res); return -1; } if (cmd.equals("albums")) { cmd = ".*" + song.trim().toLowerCase().replaceAll(" ", ".*") + ".*"; List res = new ArrayList(); String old = ""; for (int i = 0; i < playlist.size(); i++) { playerSong ntry = playlist.get(i); if (!ntry.file.toLowerCase().matches(cmd)) { continue; } if (!ntry.justPath().toLowerCase().matches(cmd)) { continue; } String a = toFound2(ntry); if (a.equals(old)) { continue; } res.add(a); old = a; } doFind(buf, song, res); return -1; } if (cmd.equals("album")) { cmd = ".*" + song.trim().toLowerCase().replaceAll(" ", ".*") + ".*"; List res = new ArrayList(); for (int i = 0; i < playlist.size(); i++) { playerSong ntry = playlist.get(i); if (!ntry.file.toLowerCase().matches(cmd)) { continue; } res.add(toFound1(i, ntry)); } doFind(buf, song, res); return -1; } if (cmd.equals("lock")) { putStart(buf, 5); putMenu(buf); cmd = ".*" + song.trim().toLowerCase().replaceAll(" ", ".*") + ".*"; List res = new ArrayList(); for (int i = 0; i < playlist.size(); i++) { playerSong ntry = playlist.get(i); if (!ntry.file.toLowerCase().matches(cmd)) { continue; } res.add(ntry); } if (setPlaylist(res, false)) { buf.write("nothing selected!
".getBytes()); return -1; } buf.write("lockin successfully finished!
".getBytes()); return -1; } if (cmd.equals("reload")) { putStart(buf, 5); putMenu(buf); buf.write("as requested, rebooting for you".getBytes()); staticPlayer = null; startPlayNormal(-1, "0"); return -1; } if (cmd.equals("seek")) { putStart(buf, -1); putMenu(buf); int i = playerUtil.str2int(song); if (i > 0) { String a = "seeked to " + song + " seconds.
"; buf.write(a.getBytes()); startPlayNormal(currSong, song); } int tim = (int) ((new Date().getTime() - currTime) / 1000); buf.write("
seek:".getBytes()); for (i = 0; i < 30; i++) { int o = (i + 1) * 10; String a = "" + o; if (i == (tim / 10)) { a = "*" + a + "*"; } putLink(buf, urlR + "?cmd=seek&song=" + o, a); } buf.write("

seek:".getBytes()); for (i = -15; i < 15; i++) { int o = tim + i; if (o < 0) { continue; } String a = "" + o; if (o == tim) { a = "*" + a + "*"; } putLink(buf, urlR + "?cmd=seek&song=" + o, a); } return -1; } if (cmd.equals("fav")) { putStart(buf, 5); playerSong sng = putMenu(buf); if (sng == null) { return -1; } String s = playlists.get(0); playerUtil.append(s, "File1=" + sng.file); playerUtil.append(s, "Title1=" + sng.title); buf.write("saved to favorites
".getBytes()); return -1; } if (cmd.equals("vol")) { putStart(buf, -1); putMenu(buf); int i = playerUtil.str2int(song); if (i >= 0) { if (headEnd) { return -1; } setVolume(i); String a = "volume set to " + currVlme + " percent.
"; buf.write(a.getBytes()); } buf.write("
volume:".getBytes()); for (i = 0; i < 11; i++) { int o = i * 10; String a = "" + o; if ((o / 10) == (currVlme / 10)) { a = "*" + a + "*"; } putLink(buf, urlR + "?cmd=vol&song=" + o, a); } buf.write("

volume:".getBytes()); for (i = -15; i < 15; i++) { int o = currVlme + i; if (o < 0) { continue; } if (o > 100) { continue; } String a = "" + o; if (o == currVlme) { a = "*" + a + "*"; } putLink(buf, urlR + "?cmd=vol&song=" + o, a); } return -1; } if (cmd.equals("unlock")) { putStart(buf, 5); putMenu(buf); String a = "
unlock successful.
"; buf.write(a.getBytes()); setPlaylist(prelock, false); return -1; } if (cmd.equals("resync")) { putStart(buf, 5); putMenu(buf); String a = "
all active players synchronized.
"; buf.write(a.getBytes()); rndSeed = new Random(playerUtil.str2int(song)); nextSong.clear(); nextSong.add(rndSeed.nextInt(playlist.size())); return -1; } if (cmd.equals("queue")) { putStart(buf, -1); putMenu(buf); buf.write("queued songs:
".getBytes()); for (int i = 0; i < nextSong.size(); i++) { int num = nextSong.get(i); if (num >= playlist.size()) { continue; } playerSong ntry = playlist.get(num); String a = "((R))"; a += "((U))"; a += "((D))"; a += ntry.title + "
"; buf.write(a.getBytes()); } buf.write("
previous songs:
".getBytes()); for (int i = pastSong.size() - 1; i >= 0; i--) { int num = pastSong.get(i); if (num >= playlist.size()) { continue; } playerSong ntry = playlist.get(num); String a = "((R))" + ntry.title + "
"; buf.write(a.getBytes()); } return -1; } if (cmd.equals("moveup")) { int i = playerUtil.str2int(song); int o = nextSong.indexOf(Integer.valueOf(i)); if (o > 0) { nextSong.remove(o); nextSong.add(o - 1, Integer.valueOf(i)); } String a = "song #" + i + " moved up
"; putStart(buf, 3); putMenu(buf); buf.write(a.getBytes()); return -1; } if (cmd.equals("movedn")) { int i = playerUtil.str2int(song); int o = nextSong.indexOf(Integer.valueOf(i)); if ((o >= 0) && (o < nextSong.size())) { nextSong.remove(o); nextSong.add(o + 1, Integer.valueOf(i)); } String a = "song #" + i + " moved down
"; putStart(buf, 3); putMenu(buf); buf.write(a.getBytes()); return -1; } if (cmd.equals("dequeue")) { int i = playerUtil.str2int(song); if (nextSong.size() > 1) { nextSong.remove(Integer.valueOf(i)); } String a = "dequeued song #" + i + "
"; putStart(buf, 3); putMenu(buf); buf.write(a.getBytes()); return -1; } if (cmd.equals("enqueue")) { int i = playerUtil.str2int(song); nextSong.add(i); String a = "queued song #" + i + "
"; putStart(buf, 3); putMenu(buf); buf.write(a.getBytes()); return -1; } if (cmd.equals("pendrive")) { putStart(buf, -1); putMenu(buf); findSongs fnd = new findSongs(); fnd.doFindSongs("/media"); fnd.doFindSongs("/mnt"); fnd.doSort(); if (setPlaylist(fnd.lst, true)) { buf.write("nothing selected!
".getBytes()); return -1; } String a = "media scan completed, " + playlist.size() + " songs found.

"; buf.write(a.getBytes()); return -1; } if (cmd.equals("list")) { putStart(buf, -1); putMenu(buf); int i = playerUtil.str2int(song); if (i > 0) { List res = playerSong.txt2pls(null, playerUtil.readup(playlists.get(i - 1))); if (setPlaylist(res, true)) { buf.write("nothing selected!
".getBytes()); return -1; } String a = "playlist #" + song + " selected with " + playlist.size() + " songs.

"; buf.write(a.getBytes()); } for (i = 0; i < playlists.size(); i++) { String a = "" + playlists.get(i) + "
"; buf.write(a.getBytes()); } String a = "
locked=" + locked + ", headend=" + headEnd + ", mixer=" + mixer + ", rate=" + srate + ", songs=" + playlist.size() + ", volmin=" + volMin + ", volmax=" + volMax + ", lists=" + playlists.size() + "

"; buf.write(a.getBytes()); a = "!full stop!
"; buf.write(a.getBytes()); a = "!multicast receiver!
"; buf.write(a.getBytes()); a = "!multicast streamer!
"; buf.write(a.getBytes()); a = "!multicast restreamer!
"; buf.write(a.getBytes()); a = "!dlna receiver!
"; buf.write(a.getBytes()); a = "!roc receiver!
"; buf.write(a.getBytes()); a = "!airplay receiver!
"; buf.write(a.getBytes()); a = "!pendrive!
"; buf.write(a.getBytes()); a = "!resync!
"; buf.write(a.getBytes()); a = "!unlock!
"; buf.write(a.getBytes()); a = "
url:

"; buf.write(a.getBytes()); return -1; } if (cmd.equals("url")) { putStart(buf, 120); putMenu(buf); String a = "
downloading song, please wait.
"; buf.write(a.getBytes()); startPlayNormal(-1, "0"); stopFull(); startPlayUrl(song); return -1; } if (cmd.equals("fullstop")) { putStart(buf, 5); putMenu(buf); String a = "
stopping everything.
"; buf.write(a.getBytes()); startPlayNormal(-1, "0"); stopFull(); return -1; } if (cmd.equals("airplay")) { putStart(buf, 5); putMenu(buf); if (locked) { return -1; } String a = "
starting airplay server.
"; buf.write(a.getBytes()); startPlayAirplay(); return -1; } if (cmd.equals("dlna")) { putStart(buf, 5); putMenu(buf); if (locked) { return -1; } String a = "
starting dlna server.
"; buf.write(a.getBytes()); startPlayDlna(); return -1; } if (cmd.equals("roc")) { putStart(buf, 5); putMenu(buf); if (locked) { return -1; } String a = "
starting roc server.
"; buf.write(a.getBytes()); startPlayRoc(); return -1; } if (cmd.equals("headend")) { putStart(buf, 5); putMenu(buf); if (locked) { return -1; } headEnd = !headEnd; String a = "
toggled multicast streamer.
"; buf.write(a.getBytes()); return -1; } if (cmd.equals("receive")) { putStart(buf, 5); putMenu(buf); if (locked) { return -1; } String a = "
starting multicast receiver.
"; buf.write(a.getBytes()); startPlayRcvr(); return -1; } if (cmd.equals("restream")) { putStart(buf, 5); putMenu(buf); String a = "
starting multicast restreamer from " + peer + ".
"; buf.write(a.getBytes()); startPlayRestream(peer); return -1; } if (cmd.equals("download")) { return playerUtil.str2int(song); } if (cmd.equals("title")) { String a; if ((currSong >= playlist.size()) || (currSong < 0)) { a = "stopped"; } else { a = playlist.get(currSong).title; } buf.reset(); buf.write(a.getBytes()); return -2; } if (cmd.equals("stop")) { startPlayNormal(-1, "0"); putStart(buf, 1); putMenu(buf); buf.write("selected no song
".getBytes()); return -1; } if (cmd.equals("replay")) { startPlayNormal(currSong, "0"); putStart(buf, 1); putMenu(buf); buf.write("selected current song
".getBytes()); return -1; } if (cmd.equals("next")) { startPlayNormal(nextSong.get(0), "0"); putStart(buf, 1); putMenu(buf); buf.write("selected next song
".getBytes()); return -1; } if (cmd.equals("prev")) { startPlayNormal(prevSong, "0"); putStart(buf, 1); putMenu(buf); buf.write("selected previous song
".getBytes()); return -1; } if (cmd.equals("play")) { startPlayNormal(playerUtil.str2int(song), "0"); putStart(buf, 1); putMenu(buf); String a = "selected song #" + song + "
"; buf.write(a.getBytes()); return -1; } if (currSong < 0) { putStart(buf, 5); putMenu(buf); buf.write("player currently stopped!".getBytes()); return -1; } putStart(buf, 15); playerSong sng = putMenu(buf); if (currLyrc != null) { buf.write("lyrics:

".getBytes()); for (int i = 0; i < currLyrc.size(); i++) { cmd = currLyrc.get(i) + "
"; buf.write(cmd.getBytes()); } } if (sng != null) { String a = sng.title.replaceAll(" ", "+"); a = "http://www.google.com/search?q=" + a + "&tbm=vid"; a = "clip: " + a + "
"; buf.write(a.getBytes()); } putMenu(buf); return -1; } } freeRtr-25.11.9/misc/player/player.rcvr000077500000000000000000000005531510423065500177320ustar00rootroot00000000000000#!/bin/sh #rtp://[2001:db8:2255::200:11ff:fe11:2222]@[ff3e::232:232]:1234/ sudo -u mc36 vlc -I dummy --audio --no-video --aout alsa rtp://10.2.255.1@232.2.3.2:1234/ #SDL_AUDIODRIVER="alsa" ffplay -nodisp -i "rtp://232.2.3.2:1234?sources=10.2.255.1" #ffmpeg -i "rtp://232.2.3.2:1234?sources=10.2.255.1" -f alsa default #java receiver 0,0 232.2.3.2 10.2.255.1 1234 freeRtr-25.11.9/misc/player/player.rstr000077500000000000000000000003161510423065500177450ustar00rootroot00000000000000#!/bin/sh sudo -u mc36 vlc -vvv -I dummy --mtu 1280 --sout "#transcode{vcodec=none,scodec=none,acodec=s16l,channels=2,samplerate=44100}:rtp{dst=232.2.3.2,port=1234,ttl=255}" "rtp://$1@:10000/" "vlc://quit" freeRtr-25.11.9/misc/player/player.sh000077500000000000000000000001251510423065500173630ustar00rootroot00000000000000#!/bin/sh cd /home/mc36/ java -jar /rtr/rtr.jar routerc /nfs2/own/web/player/player- freeRtr-25.11.9/misc/player/player.strm000077500000000000000000000012761510423065500177460ustar00rootroot00000000000000#!/bin/sh sudo -u mc36 vlc -I dummy --mtu 1280 --sout "#transcode{vcodec=none,scodec=none,acodec=s16l,channels=2,samplerate=44100}:rtp{dst=232.2.3.2,port=1234,ttl=255}" --start-time $2 "file:///$1" "vlc://quit" #ffmpeg -re -i "$1" -ss $2 -vn -sn -ar 44100 -ac 2 -c:a pcm_s16le -f rtp "rtp://232.2.3.2:1234?ttl=255&pkt_size=1280" #sudo -u mc36 vlc -I dummy --mtu 1280 --sout "#transcode{vcodec=none,scodec=none,acodec=mp2,ab=320,channels=2,samplerate=44100}:rtp{mux=ts,dst=232.2.3.2,port=1234,ttl=255}" --start-time $2 "file:///$1" "vlc://quit" #ffmpeg -re -i "$1" -ss $2 -vn -sn -ar 44100 -ac 2 -c:a mp3 -b:a 320k -f rtp "rtp://232.2.3.2:1234?ttl=255&pkt_size=1280" #java sender "$1" $2 232.2.3.2 1234 freeRtr-25.11.9/misc/player/playerLyric.java000066400000000000000000000163161510423065500207030ustar00rootroot00000000000000 import java.util.ArrayList; import java.util.List; /** * lyric * * @author matecsaba */ public class playerLyric { private List text = new ArrayList(); /** * modified */ public long modified; /** * in range * * @param i number * @return true if not, false if yes */ public boolean inRange(int i) { if (i < 0) { return true; } if (i >= text.size()) { return true; } return false; } /** * title * * @return title */ public String title() { String s = text.get(0); text.remove(0); return s; } /** * get line * * @param i line * @return text */ public String get(int i) { return text.get(i); } /** * delete line * * @param i line */ public void del(int i) { text.remove(i); } /** * add line * * @param s text */ public void add(String s) { text.add(s); } /** * add lines * * @param l text */ public void addAll(playerLyric l) { for (int i = 0; i < l.size(); i++) { text.add(l.get(i)); } } /** * find * * @param s text * @return index */ public int findFirst(String s) { s = s.toLowerCase(); for (int i = 0; i < text.size(); i++) { if (text.get(i).toLowerCase().equals(s)) { return i; } } return -1; } /** * find * * @param s text * @return index */ public int findLast(String s) { s = s.toLowerCase(); for (int i = text.size() - 1; i >= 0; i--) { if (text.get(i).toLowerCase().equals(s)) { return i; } } return -1; } /** * find * * @param s text * @return index */ public int findRegex(String s) { for (int i = text.size() - 1; i >= 0; i--) { if (text.get(i).matches(s)) { return i; } } return -1; } /** * find * * @param s text * @return count */ public int findCount(String s) { int o = 0; s = s.toLowerCase(); for (int i = 0; i < text.size(); i++) { if (text.get(i).toLowerCase().equals(s)) { o++; } } return o; } /** * lines * * @return lines */ public int size() { return text.size(); } /** * break * * @param s text * @return true if yes */ public static boolean isBreak(String s) { return s.equals("2br"); } /** * just words * * @param s string * @return string */ public static String justWords(String s) { s = s.replaceAll("\\.", " "); s = s.replaceAll("\\,", " "); s = s.replaceAll("\\!", " "); s = s.replaceAll("\\?", " "); s = s.replaceAll("\\@", " "); s = s.replaceAll("\\#", " "); s = s.replaceAll("\\$", " "); s = s.replaceAll("\\%", " "); s = s.replaceAll("\\&", " "); s = s.replaceAll("\\*", " "); s = s.replaceAll("\\(", " "); s = s.replaceAll("\\)", " "); s = s.replaceAll("\\<", " "); s = s.replaceAll("\\>", " "); s = s.replaceAll("\\[", " "); s = s.replaceAll("\\]", " "); s = s.replaceAll("\\{", " "); s = s.replaceAll("\\}", " "); s = s.replaceAll("\\-", " "); s = s.replaceAll("\\=", " "); s = s.replaceAll("\\+", " "); s = s.replaceAll("\\`", " "); s = s.replaceAll("\\'", " "); s = s.replaceAll("\\\"", " "); s = s.replaceAll("\\;", " "); s = s.replaceAll("\\:", " "); s = s.replaceAll("\\\\", " "); s = s.replaceAll("\\/", " "); s = s.replaceAll("\\|", " "); for (;;) { String a = s; s = s.replaceAll("\\ \\ ", " "); if (a.equals(s)) { break; } } return s.trim(); } /** * is text * * @param s string * @return true if yes */ public static boolean isText(String s) { return s.startsWith("1"); } /** * is tag * * @param s text * @return true if yes */ public static boolean isTag(String s) { return s.startsWith("2"); } /** * count bytes * * @return string */ public int countScript() { if (text == null) { return -1; } int o = 0; for (int i = 0; i < text.size(); i++) { o += text.get(i).length(); o++; } return o; } /** * just content * * @return text */ public playerLyric justContent() { playerLyric res = new playerLyric(); for (int i = 0; i < text.size(); i++) { String a = text.get(i).trim(); if (a.length() < 1) { continue; } res.add(a); } return res; } /** * line differs * * @param src source * @return differing lines */ public playerLyric linesDiffer(playerLyric src) { playerLyric res1 = new playerLyric(); playerLyric res2 = new playerLyric(); for (int i = 0; i < src.size(); i++) { String b = src.get(i); String a = justWords(b); if (a.length() < 1) { continue; } res1.add(a); res2.add(b); } for (int i = 0; i < text.size(); i++) { int o = res1.findFirst(justWords(text.get(i))); if (o < 0) { continue; } res1.del(o); res2.del(o); } return res2.justContent(); } /** * clear script lines * * @return cleared script */ public playerLyric clearScript() { playerLyric res = new playerLyric(); for (int i = 0; i < text.size(); i++) { String a = text.get(i); String b = a.trim().toLowerCase(); if (b.length() > 512) { continue; } if (b.indexOf("document.createelement") >= 0) { continue; } if (b.indexOf("document.getelement") >= 0) { continue; } if (b.indexOf("= 0) { continue; } if (b.indexOf("can't find lyrics for") >= 0) { continue; } if (b.indexOf("we don't have lyrics for") >= 0) { continue; } if (b.indexOf("no lyrics found") >= 0) { continue; } if (b.indexOf("bots have beat this api") >= 0) { continue; } if (b.indexOf("invalid url") >= 0) { continue; } if (b.indexOf("") >= 0) { return new playerLyric(); } res.add(a); } return res; } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������freeRtr-25.11.9/misc/player/playerSong.java���������������������������������������������������������0000664�0000000�0000000�00000014202�15104230655�0020517�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; /** * song * * @author matecsaba */ public class playerSong implements Comparator<playerSong> { /** * file name */ public String file; /** * artist - title */ public String title; public String toString() { return file + "|" + title; } /** * just artist * * @return path */ public String justArtist() { int i = title.indexOf(" - "); if (i < 0) { return ""; } return title.substring(0, i).trim(); } /** * just artist * * @return path */ public String justTitle() { int i = title.indexOf(" - "); if (i < 0) { return ""; } return title.substring(i + 2, title.length()).trim(); } /** * just path * * @return path */ public String justPath() { String a = file; int i = a.lastIndexOf("/"); if (i > 0) { a = a.substring(0, i); } return a; } /** * lyric file * * @return file */ public String lyrFile() { int i = file.lastIndexOf("."); String s; if (i < 0) { s = file; } else { s = file.substring(0, i); } return s + ".lyric"; } /** * playlist entry * * @param num number * @return text */ public playerLyric plsEntry(int num) { playerLyric res = new playerLyric(); res.add("File" + num + "=" + file); res.add("Title" + num + "=" + title); return res; } /** * playlist entry * * @return text */ public playerLyric m3uEntry() { playerLyric res = new playerLyric(); res.add(""); res.add("#EXTINF:0," + title); res.add(file); return res; } /** * playlist entry * * @param num number * @return text */ public playerLyric cueEntry(int num) { playerLyric res = new playerLyric(); res.add("FILE \"" + file + "\""); res.add(" TRACK " + num + " AUDIO"); res.add(" TITLE \"" + justTitle() + "\""); res.add(" PERFORMER \"" + justArtist() + "\""); res.add(" INDEX 01 00:00:00"); return res; } public int compare(playerSong o1, playerSong o2) { return o1.file.compareTo(o2.file); } /** * read up pls * * @param res source * @param src text * @return result */ public static List<playerSong> txt2pls(List<playerSong> res, playerLyric src) { if (res == null) { res = new ArrayList<playerSong>(); } playerSong cur = new playerSong(); if (src == null) { return res; } for (int i = 0; i < src.size(); i++) { String a = src.get(i); int o = a.indexOf("="); if (o < 0) { continue; } String b = a.substring(o + 1, a.length()); a = a.substring(0, o).toLowerCase(); if (a.startsWith("file")) { cur.file = b; continue; } if (a.startsWith("title")) { cur.title = b; res.add(cur); cur = new playerSong(); continue; } } return res; } /** * read up m3u * * @param res source * @param src text * @return result */ public static List<playerSong> txt2m3u(List<playerSong> res, playerLyric src) { if (res == null) { res = new ArrayList<playerSong>(); } for (int i = 0; i < src.size(); i++) { String a = src.get(i); if (!a.startsWith("#EXTINF:")) { continue; } int o = a.indexOf(","); if (o < 0) { continue; } a = a.substring(o + 1, a.length()); playerSong cur = new playerSong(); cur.title = a; cur.file = src.get(i + 1); res.add(cur); } return res; } /** * write down pls * * @param src songs * @return text */ public static playerLyric pls2txt(List<playerSong> src) { playerLyric res = new playerLyric(); res.add("[playlist]"); res.add("NumberOfEntries=" + src.size()); for (int i = 0; i < src.size(); i++) { res.addAll(src.get(i).plsEntry(i + 1)); } return res; } /** * write down m3u * * @param src songs * @return text */ public static playerLyric m3u2txt(List<playerSong> src) { playerLyric res = new playerLyric(); res.add("#EXTM3U"); for (int i = 0; i < src.size(); i++) { res.addAll(src.get(i).m3uEntry()); } return res; } /** * write down cue * * @param src songs * @return text */ public static playerLyric cue2txt(List<playerSong> src) { playerLyric res = new playerLyric(); for (int i = 0; i < src.size(); i++) { res.addAll(src.get(i).cueEntry(i + 1)); } return res; } /** * sort playlist * * @param lst songs */ public static void sort(List<playerSong> lst) { Collections.sort(lst, new playerSong()); } /** * find entry * * @param lst sorted list where to find * @param val entry to find * @return index, negative on error */ public static int find(List<playerSong> lst, playerSong val) { int lower = 0; int upper = lst.size() - 1; while (lower <= upper) { int mid = (lower + upper) >>> 1; int cmp = val.compare(lst.get(mid), val); if (cmp < 0) { lower = mid + 1; continue; } if (cmp > 0) { upper = mid - 1; continue; } return mid; } return -lower - 1; } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������freeRtr-25.11.9/misc/player/playerUtil.java���������������������������������������������������������0000664�0000000�0000000�00000021675�15104230655�0020542�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.URI; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * utils * * @author matecsaba */ public class playerUtil { /** * debug net io */ public static boolean debugNet = false; /** * debug file io */ public static boolean debugFile = false; /** * debug cache */ public static boolean localCache = false; /** * days in millis * * @param days days * @return millis */ public static long daysInMs(long days) { return days * 24 * 60 * 60 * 1000; } /** * put one line * * @param s string to write */ public static void put(String s) { System.out.println(s); } /** * check if key pressed * * @return true if was */ public static boolean keyPress() { try { return System.in.available() > 0; } catch (Exception e) { return true; } } /** * put out lines * * @param l lines to write */ public static void put(playerLyric l) { for (int i = 0; i < l.size(); i++) { put(l.get(i)); } } /** * get time * * @return time in millis */ public static long getTime() { return new Date().getTime(); } /** * save as * * @param buf buffer to save * @param pat file to overwrite */ public static void saveas(playerLyric buf, String pat) { if (debugFile) { put("writing " + pat + "..."); } try { FileOutputStream ot = new FileOutputStream(pat, false); PrintStream pr = new PrintStream(ot); for (int i = 0; i < buf.size(); i++) { pr.println(buf.get(i)); } pr.flush(); pr.close(); } catch (Exception e) { } } /** * text to binary * * @param lst text * @param mod mode * @return binary */ public static byte[] txt2bin(playerLyric lst, int mod) { List<Integer> res = new ArrayList<Integer>(); for (int i = 0; i < lst.size(); i++) { byte[] buf = lst.get(i).getBytes(); for (int o = 0; o < buf.length; o++) { res.add(buf[o] & 0xff); } switch (mod) { case 13: res.add(13); break; case 10: res.add(10); break; case 1013: res.add(10); res.add(13); break; case 1310: res.add(13); res.add(10); break; } } byte[] buf = new byte[res.size()]; for (int i = 0; i < buf.length; i++) { buf[i] = (byte) ((int) res.get(i)); } return buf; } /** * download one file * * @param pat url * @return downloaded */ public static playerLyric download(String pat) { String cache = "cache." + playerLyric.justWords(pat).replaceAll("\\ ", "#"); if (localCache) { playerLyric res = readup(cache); if (res != null) { return res; } } if (debugNet) { put("getting " + pat + "..."); } try { playerLyric res = doRead(new URI(pat).toURL().openStream()); if (res == null) { return null; } if (localCache) { saveas(res, cache); } return res; } catch (Exception e) { return null; } } /** * html to text * * @param src url * @return text */ public static String html2text(String src) { String res = ""; for (;;) { int i = src.indexOf("&"); if (i < 0) { res += src; break; } res += src.substring(0, i); src = src.substring(i + 1, src.length()); i = src.indexOf(";"); if (i < 0) { res += src; break; } String a = src.substring(0, i); src = src.substring(i + 1, src.length()); if (a.equals("nbsp")) { res += " "; continue; } if (a.equals("lt")) { res += "<"; continue; } if (a.equals("gt")) { res += ">"; continue; } if (a.equals("amp")) { res += "&"; continue; } if (!a.startsWith("#")) { res += "&" + a + ";"; continue; } a = a.substring(1, a.length()); i = str2int(a); if ((i < 1) || (i > 254)) { res += "&#" + a + ";"; continue; } byte[] buf = new byte[1]; buf[0] = (byte) (i & 0xff); res += new String(buf); } return res.trim(); } /** * string to integer * * @param s string * @return integer */ public static int str2int(String s) { try { return Integer.parseInt(s); } catch (Exception e) { return 0; } } /** * sleep some time without wakeups * * @param msec time */ public static void sleep(int msec) { if (msec < 1) { return; } try { synchronized (sleeper) { sleeper.wait(msec); } } catch (Exception e) { } } private final static Object sleeper = new Object(); /** * html to text * * @param src url * @return text */ public static playerLyric html2text(playerLyric src) { playerLyric res = new playerLyric(); if (src == null) { return res; } String cur = ""; for (int i = 0; i < src.size(); i++) { cur += src.get(i); for (;;) { int o = cur.indexOf("<"); if (o < 0) { if (cur.length() < 1) { break; } res.add("1" + html2text(cur)); cur = ""; break; } if (o > 0) { res.add("1" + html2text(cur.substring(0, o))); } cur = cur.substring(o, cur.length()); o = cur.indexOf(">"); if (o < 0) { break; } String s = cur.substring(1, o).trim(); if (s.endsWith("/")) { s = s.substring(0, s.length() - 1); } s = s.replaceAll(" ", " ").trim().toLowerCase(); res.add("2" + s); cur = cur.substring(o + 1, cur.length()); } } if (cur.length() > 0) { res.add("1" + html2text(cur)); } return res; } /** * read up file * * @param pat pathname * @return text */ public static playerLyric readup(String pat) { if (debugFile) { put("reading " + pat + "..."); } try { File fil = new File(pat); long tim = fil.lastModified(); playerLyric res = doRead(new FileInputStream(pat)); if (res == null) { return null; } res.modified = tim; return res; } catch (Exception e) { return null; } } /** * append one line * * @param fn file name * @param ln line */ public static void append(String fn, String ln) { try { BufferedWriter f = new BufferedWriter(new FileWriter(fn, true)); f.append(ln + "\n"); f.close(); } catch (Exception e) { } } /** * read up stream * * @param is stream to read * @return text */ public static playerLyric doRead(InputStream is) { playerLyric res = new playerLyric(); try { BufferedReader rd = new BufferedReader(new InputStreamReader(is)); for (;;) { String a = rd.readLine(); if (a == null) { break; } res.add(a); } rd.close(); is.close(); } catch (Exception e) { } return res; } } �������������������������������������������������������������������freeRtr-25.11.9/misc/player/pls2cue.java������������������������������������������������������������0000664�0000000�0000000�00000001571�15104230655�0017756�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ import java.util.List; /** * convert playlist * * @author matecsaba */ public class pls2cue { /** * the main * * @param args arguments */ public static void main(String[] args) { if (args.length != 2) { playerUtil.put("usage: pls2cue <source.pls> <target.cue>"); return; } playerUtil.put("reading " + args[0]); playerLyric txt = playerUtil.readup(args[0]); playerUtil.put("converting " + txt.size() + " lines"); List<playerSong> pls = playerSong.txt2pls(null, txt); playerUtil.put("sorting " + pls.size() + " songs"); playerSong.sort(pls); playerUtil.put("converting " + pls.size() + " songs"); txt = playerSong.cue2txt(pls); playerUtil.put("writing " + txt.size() + " lines to " + args[1]); playerUtil.saveas(txt, args[1]); } } ���������������������������������������������������������������������������������������������������������������������������������������freeRtr-25.11.9/misc/player/pls2m3u.java������������������������������������������������������������0000664�0000000�0000000�00000001571�15104230655�0017706�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ import java.util.List; /** * convert playlist * * @author matecsaba */ public class pls2m3u { /** * the main * * @param args arguments */ public static void main(String[] args) { if (args.length != 2) { playerUtil.put("usage: pls2m3u <source.pls> <target.m3u>"); return; } playerUtil.put("reading " + args[0]); playerLyric txt = playerUtil.readup(args[0]); playerUtil.put("converting " + txt.size() + " lines"); List<playerSong> pls = playerSong.txt2pls(null, txt); playerUtil.put("sorting " + pls.size() + " songs"); playerSong.sort(pls); playerUtil.put("converting " + pls.size() + " songs"); txt = playerSong.m3u2txt(pls); playerUtil.put("writing " + txt.size() + " lines to " + args[1]); playerUtil.saveas(txt, args[1]); } } ���������������������������������������������������������������������������������������������������������������������������������������freeRtr-25.11.9/misc/player/power.tcl���������������������������������������������������������������0000664�0000000�0000000�00000000067�15104230655�0017375�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������puts "shutting down" exec "test shell1 /sbin/init 0" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������freeRtr-25.11.9/misc/player/receiver.java�����������������������������������������������������������0000664�0000000�0000000�00000003154�15104230655�0020204�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.MulticastSocket; import java.nio.ByteBuffer; import java.nio.channels.DatagramChannel; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.Mixer; import javax.sound.sampled.SourceDataLine; public class receiver { public static void main(String[] args) throws Exception { Mixer.Info[] mixers = AudioSystem.getMixerInfo(); int mixerc = -1; for (int i = 0; i < mixers.length; i++) { if (mixers[i].getName().contains(args[0])) { mixerc = i; } System.out.println(mixers[i].getName() + " - " + mixers[i].getDescription()); } InetAddress group = InetAddress.getByName(args[1]); InetAddress source = InetAddress.getByName(args[2]); int port = Integer.parseInt(args[3]); AudioFormat audioFormat = new AudioFormat(44100, 16, 2, true, true); SourceDataLine sourceDataLine = AudioSystem.getSourceDataLine(audioFormat, mixers[mixerc]); sourceDataLine.open(audioFormat); sourceDataLine.start(); MulticastSocket mcstsck = new MulticastSocket(); DatagramChannel channel = DatagramChannel.open(); channel.socket().bind(new InetSocketAddress(port)); channel.join(group, mcstsck.getNetworkInterface(), source); ByteBuffer buffer = ByteBuffer.allocate(4096); for (;;) { buffer.clear(); channel.receive(buffer); sourceDataLine.write(buffer.array(), 12, buffer.position() - 12); } } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������freeRtr-25.11.9/misc/player/renamer.java������������������������������������������������������������0000664�0000000�0000000�00000020512�15104230655�0020026�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ import java.io.File; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * rename files * * @author matecsaba */ public class renamer { /** * current year */ public static int year; /** * the main * * @param args arguments */ public static void main(String[] args) { year = LocalDateTime.now().getYear(); String prepend = ""; String remover = ""; boolean really = true; boolean basic = false; for (int i = 1; i < args.length; i++) { String s = args[i].toLowerCase(); if (s.equals("predir")) { prepend = new File(".").getAbsolutePath(); int o = prepend.lastIndexOf("/"); prepend = prepend.substring(0, o); o = prepend.lastIndexOf("/"); prepend = prepend.substring(o + 1, prepend.length()) + " "; } if (s.equals("prepend")) { i++; prepend = args[i] + " "; } if (s.equals("remover")) { i++; remover = args[i] + " "; } if (s.equals("noremover")) { remover = ""; } if (s.equals("noprepend")) { prepend = ""; } if (s.equals("demo")) { really = false; } if (s.equals("really")) { really = true; } if (s.equals("extended")) { basic = false; } if (s.equals("basic")) { basic = true; } } String s = args[0]; playerUtil.put("reading " + s + "..."); String[] l1 = new File(s).list(); List<String> l2 = new ArrayList<String>(); for (int i = 0; i < l1.length; i++) { l2.add(l1[i]); } Collections.sort(l2, new duplicates()); int tried = 0; int failed = 0; for (int i = 0; i < l2.size(); i++) { s = l2.get(i); String a = guessName(prepend + s, basic); a = guessName(a, basic); a = guessName(a, basic); if (a == null) { playerUtil.put(s + " have no guess"); continue; } if (a.startsWith(remover)) { a = a.substring(remover.length(), a.length()).trim(); } if (a.equals(s)) { continue; } playerUtil.put(s + " --> " + a); tried++; if (!really) { continue; } try { new File(args[0] + s).renameTo(new File(args[0] + a)); } catch (Exception e) { failed++; } } } /** * path separator */ public final static String sep = "/"; /** * guess name * * @param s string to use * @param basic guess mode * @return guessed name */ public static String guessName(String s, boolean basic) { if (s == null) { return null; } if (s.length() < 1) { return null; } if (s.startsWith(".")) { return null; } if (s.indexOf(sep) >= 0) { return null; } s = s.replaceAll("á", "a"); s = s.replaceAll("Ã", "a"); s = s.replaceAll("é", "e"); s = s.replaceAll("É", "e"); s = s.replaceAll("í", "i"); s = s.replaceAll("Ã", "i"); s = s.replaceAll("ó", "o"); s = s.replaceAll("Ó", "o"); s = s.replaceAll("ö", "o"); s = s.replaceAll("Ö", "o"); s = s.replaceAll("ú", "u"); s = s.replaceAll("Ú", "u"); s = s.replaceAll("ü", "u"); s = s.replaceAll("Ü", "u"); s = s.replaceAll("ű", "u"); s = s.replaceAll("Ű", "u"); s = s.replaceAll("Å‘", "o"); s = s.replaceAll("Å", "o"); s = s.replaceAll("̸", ""); s = s.replaceAll("∕", ""); s = s.replaceAll("Ë", ""); s = s.replaceAll("꞉", ""); s = s.replaceAll(":", ""); s = s.replaceAll("?", ""); s = s.replaceAll("…", ""); s = s.replaceAll("â€", ""); s = s.replaceAll("“", ""); s = s.replaceAll("’", ""); s = s.replaceAll("=", " "); s = s.replaceAll("_", " "); s = s.replaceAll("~", " "); s = s.replaceAll("–", "-"); s = s.replaceAll("&", " "); s = s.replaceAll("@", " "); s = s.replaceAll("#", " "); s = s.replaceAll("\\$", " "); s = s.replaceAll("%", " "); s = s.replaceAll("\\+", " "); s = s.replaceAll("\\^", " "); s = s.replaceAll("\\*", " "); s = s.replaceAll("\\(", " "); s = s.replaceAll("\\)", " "); s = s.replaceAll("\\[", " "); s = s.replaceAll("\\]", " "); s = s.replaceAll("\\{", " "); s = s.replaceAll("\\}", " "); s = s.replaceAll("\\\\", " "); s = s.replaceAll("<", " "); s = s.replaceAll(">", " "); s = s.replaceAll("/", " "); s = s.replaceAll("!", " "); s = s.replaceAll("\\?", " "); s = s.replaceAll(",", " "); s = s.replaceAll(":", " "); s = s.replaceAll(";", " "); s = s.replaceAll("\\.", " "); s = s.replaceAll("'", ""); s = s.replaceAll("`", ""); s = s.replaceAll("\"", ""); s = s.replaceAll(" ", " "); s = s.trim(); String a = ""; for (;;) { if (s.length() < 1) { break; } int i = s.indexOf(" "); String b; if (i < 1) { b = s; s = ""; } else { b = s.substring(0, i); s = s.substring(i, s.length()).trim(); } b = b.trim(); if (b.length() < 1) { continue; } if (b.length() > 1) { b = b.substring(0, 1).toUpperCase() + b.substring(1, b.length()).toLowerCase(); } a += " " + b; } s = a.trim(); if (basic) { return s; } int p = s.lastIndexOf(" "); a = s.substring(p + 1, s.length()); if ("|-|128|192|224|256|320|Kbps|Web|Ep|Lp|Vinyl|Dvd|Cd|Cds|2cd|3cd|4cd|5cd|6cd|7cd|7cd|9cd|Acoustic|Live|Demo|Split|Promo|Bootleg|Single|Version|Edition|Instrumental|Remastered|Rerecorded|Reissue|Re-recorded|Re-mastered|Re-issue|Compilation|Deluxe|Limited|Special|Digipack|".indexOf("|" + a + "|") >= 0) { s = s.substring(0, p).trim(); } p = -1; for (int i = s.length(); i >= 0; i--) { if (isDate(s, i)) { p = i; } } if (p < 0) { return s; } a = s.substring(p, p + 4); s = s.substring(0, p) + sep + s.substring(p + 4, s.length()); s = doAlign(s); if (s.endsWith(sep)) { s = s.substring(0, s.length() - 1); int i = s.indexOf("-"); if (i < 1) { return null; } s = s.substring(0, i) + sep + s.substring(i + 1, s.length()); } s = doAlign(s); s = s.replaceAll(sep, " - " + a + " - ").trim(); return s; } private static String doAlign(String s) { s = s.trim(); for (int i = 0; i < 5; i++) { s = s.replaceAll(" " + sep, sep).replaceAll(sep + " ", sep); s = s.replaceAll("\\[" + sep, sep).replaceAll(sep + "\\]", sep); s = s.replaceAll("\\(" + sep, sep).replaceAll(sep + "\\)", sep); s = s.replaceAll("-" + sep, sep).replaceAll(sep + "-", sep); } return s.trim(); } /** * test if this is a date * * @param s string to use * @param p position * @return true on success */ public static boolean isDate(String s, int p) { int i; try { s = s.substring(p, p + 4); i = Integer.parseInt(s); } catch (Exception e) { return false; } if (i < (year - 40)) { return false; } if (i > (year + 1)) { return false; } return true; } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������freeRtr-25.11.9/misc/player/renamer.sh��������������������������������������������������������������0000775�0000000�0000000�00000002673�15104230655�0017532�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh java -cp /nfs/own/web/player renamer /nfs2/temp/new/ java -cp /nfs/own/web/player renamer /nfs2/music/0/ java -cp /nfs/own/web/player renamer /nfs2/music/a/ java -cp /nfs/own/web/player renamer /nfs2/music/b/ java -cp /nfs/own/web/player renamer /nfs2/music/c/ java -cp /nfs/own/web/player renamer /nfs2/music/d/ java -cp /nfs/own/web/player renamer /nfs2/music/e/ java -cp /nfs/own/web/player renamer /nfs2/music/f/ java -cp /nfs/own/web/player renamer /nfs2/music/g/ java -cp /nfs/own/web/player renamer /nfs2/music/h/ java -cp /nfs/own/web/player renamer /nfs2/music/i/ java -cp /nfs/own/web/player renamer /nfs2/music/j/ java -cp /nfs/own/web/player renamer /nfs2/music/k/ java -cp /nfs/own/web/player renamer /nfs2/music/l/ java -cp /nfs/own/web/player renamer /nfs2/music/m/ java -cp /nfs/own/web/player renamer /nfs2/music/n/ java -cp /nfs/own/web/player renamer /nfs2/music/o/ java -cp /nfs/own/web/player renamer /nfs2/music/p/ java -cp /nfs/own/web/player renamer /nfs2/music/q/ java -cp /nfs/own/web/player renamer /nfs2/music/r/ java -cp /nfs/own/web/player renamer /nfs2/music/s/ java -cp /nfs/own/web/player renamer /nfs2/music/t/ java -cp /nfs/own/web/player renamer /nfs2/music/u/ java -cp /nfs/own/web/player renamer /nfs2/music/v/ java -cp /nfs/own/web/player renamer /nfs2/music/w/ java -cp /nfs/own/web/player renamer /nfs2/music/x/ java -cp /nfs/own/web/player renamer /nfs2/music/y/ java -cp /nfs/own/web/player renamer /nfs2/music/z/ ���������������������������������������������������������������������freeRtr-25.11.9/misc/player/sender.java�������������������������������������������������������������0000664�0000000�0000000�00000003570�15104230655�0017662�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ import java.io.InputStream; import java.net.InetAddress; import java.nio.ByteBuffer; import java.nio.channels.DatagramChannel; public class sender { public static void main(String[] args) throws Exception { InetAddress group = InetAddress.getByName(args[2]); int port = Integer.parseInt(args[3]); DatagramChannel channel = DatagramChannel.open(); channel.socket().connect(group, port); ByteBuffer buffer = ByteBuffer.allocate(4096); String[] cmd = { "ffmpeg", "-ss", args[1], "-re", "-i", args[0], "-vn", "-sn", "-ar", "44100", "-ac", "2", "-c:a", "pcm_s16be", "-f", "s16be", "-"}; Process process = Runtime.getRuntime().exec(cmd); InputStream stream = process.getInputStream(); int seq = 0; int clk = 0; int src = (int) process.pid(); for (;;) { byte[] buf = new byte[1024]; int i = stream.read(buf, 0, buf.length); if (i < 0) { break; } if (i < 1) { if (!process.isAlive()) { break; } continue; } buffer.clear(); putMsb(buffer, 0, 0x800a0000 | seq); putMsb(buffer, 4, clk); putMsb(buffer, 8, src); buffer.put(12, buf, 0, i); buffer.position(0); buffer.limit(i + 12); channel.write(buffer); seq++; seq &= 0xffff; clk += i / 4; } } private static void putMsb(ByteBuffer buf, int ofs, int val) { buf.put(ofs + 0, (byte) (val >>> 24)); buf.put(ofs + 1, (byte) (val >>> 16)); buf.put(ofs + 2, (byte) (val >>> 8)); buf.put(ofs + 3, (byte) val); } } ����������������������������������������������������������������������������������������������������������������������������������������freeRtr-25.11.9/misc/player/sortPls.java������������������������������������������������������������0000664�0000000�0000000�00000001566�15104230655�0020053�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ import java.util.List; /** * sort playlist * * @author matecsaba */ public class sortPls { /** * the main * * @param args arguments */ public static void main(String[] args) { if (args.length != 2) { playerUtil.put("usage: sortpls <source.pls> <target.pls>"); return; } playerUtil.put("reading " + args[0]); playerLyric txt = playerUtil.readup(args[0]); playerUtil.put("converting " + txt.size() + " lines"); List<playerSong> pls = playerSong.txt2pls(null, txt); playerUtil.put("sorting " + pls.size() + " songs"); playerSong.sort(pls); playerUtil.put("converting " + pls.size() + " songs"); txt = playerSong.pls2txt(pls); playerUtil.put("writing " + txt.size() + " lines to " + args[1]); playerUtil.saveas(txt, args[1]); } } ������������������������������������������������������������������������������������������������������������������������������������������freeRtr-25.11.9/misc/player/unrenamer.java����������������������������������������������������������0000664�0000000�0000000�00000002200�15104230655�0020363�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ import java.io.BufferedReader; import java.io.File; import java.io.FileReader; /** * unrename files * * @author matecsaba */ public class unrenamer { /** * the main * * @param args arguments */ public static void main(String[] args) { try { BufferedReader br = new BufferedReader(new FileReader(args[0])); for (;;) { String s = br.readLine(); if (s == null) { break; } int i = s.indexOf(" --> "); if (i < 0) { playerUtil.put("no guess to " + s); continue; } String a = s.substring(i + 5, s.length()); s = s.substring(0, i); playerUtil.put(a + " --> " + s); try { new File(a).renameTo(new File(s)); } catch (Exception e) { playerUtil.put("error"); } } playerUtil.put("done!"); } catch (Exception e) { playerUtil.put("exception!"); } } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������freeRtr-25.11.9/misc/position/����������������������������������������������������������������������0000775�0000000�0000000�00000000000�15104230655�0016102�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������freeRtr-25.11.9/misc/position/c.sh������������������������������������������������������������������0000775�0000000�0000000�00000000114�15104230655�0016657�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh ./d.sh javac -source 11 -target 11 -Xlint:all -deprecation *.java ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������freeRtr-25.11.9/misc/position/d.sh������������������������������������������������������������������0000775�0000000�0000000�00000000042�15104230655�0016660�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh rm *.class 2> /dev/null ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������freeRtr-25.11.9/misc/position/index.css�������������������������������������������������������������0000664�0000000�0000000�00000000272�15104230655�0017724�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������body { background-color: #000000; color: #00FF00; font-size: large; } :link { color: #00FFFF } :visited { color: #00FFFF } :active { color: #00FFFF } table, th, td { border: 1px solid } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������freeRtr-25.11.9/misc/position/index2.html�����������������������������������������������������������0000664�0000000�0000000�00000000342�15104230655�0020160�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<html><head><title>position freeRtr-25.11.9/misc/position/position.cfg000066400000000000000000000002531510423065500204270ustar00rootroot00000000000000scale=10 measure=name;100;100;http://10.10.10.123/position.tcl measure=name;200;200;http://10.10.10.124/position.tcl measure=name;300;300;http://10.10.10.125/position.tcl freeRtr-25.11.9/misc/position/position.java000066400000000000000000000160321510423065500206130ustar00rootroot00000000000000 import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileReader; import java.net.URI; import java.util.ArrayList; import java.util.Collections; import java.util.List; import javax.imageio.ImageIO; /** * web position * * @author matecsaba */ public class position { /** * this is needed for cli startup * * @param args command line parameters */ public static void main(String[] args) { position app = new position(); String a; try { ByteArrayOutputStream buf = new ByteArrayOutputStream(); a = "" + app.getClass().getName() + "."; a = app.httpRequest("http://localhost/" + a, "./" + a, "cli", "clibrowser", "user", args, buf); a = "type=" + a + "\r\ndata:\r\n" + buf.toString(); } catch (Exception e) { a = "exception " + e.getMessage(); } System.out.println(a); } private positionData[] meas; private List neis; private BufferedImage img; private float scale; /** * do one request * * @param url url of app * @param path path of app * @param peer client address * @param agent user agent * @param user auth data * @param par parameters * @param buf result buffer, if empty, pathname must present * @return [pathname"][file name.]extension * @throws Exception if something went wrong */ public String httpRequest(String url, String path, String peer, String agent, String user, String[] par, ByteArrayOutputStream buf) throws Exception { path = path.substring(0, path.lastIndexOf(".")); url = new URI(url).toURL().getPath(); img = ImageIO.read(new File(path + ".png")); readConfig(path); readNeighs(); drawImage(); ImageIO.write(img, "png", buf); return "png"; } private void readConfig(String a) throws Exception { List m = new ArrayList(); BufferedReader f = new BufferedReader(new FileReader(a + ".cfg")); for (;;) { a = f.readLine(); if (a == null) { break; } if (a.startsWith("scale=")) { a = a.substring(6, a.length()); scale = positionUtil.str2num(a); continue; } if (!a.startsWith("measure=")) { continue; } a = a.substring(8, a.length()); positionData v = new positionData(a); m.add(v); } f.close(); positionData[] r = new positionData[m.size()]; for (int i = 0; i < r.length; i++) { r[i] = m.get(i); } meas = r; } private void readNeighs() throws Exception { for (int i = 0; i < meas.length; i++) { meas[i].getNeighs(); } neis = new ArrayList(); for (int o = 0; o < meas.length; o++) { for (int p = 0; p < meas[o].data.size(); p++) { positionAddr ntry = meas[o].data.get(p); int i = Collections.binarySearch(neis, ntry); if (i >= 0) { continue; } neis.add(-i - 1, ntry); ntry.curX = - 1; ntry.curY = - 1; positionAddr adr1 = ntry; positionAddr adr2 = null; positionAddr adr3 = null; positionData msr1 = meas[o]; positionData msr2 = null; positionData msr3 = null; for (int q = o + 1; q < meas.length; q++) { i = Collections.binarySearch(meas[q].data, ntry); if (i < 0) { continue; } positionAddr curr = meas[q].data.get(i); if (curr.sign > adr1.sign) { adr3 = adr2; adr2 = adr1; adr1 = curr; msr3 = msr2; msr2 = msr1; msr1 = meas[q]; continue; } if ((adr2 == null) || (curr.sign > adr2.sign)) { adr3 = adr2; adr2 = curr; msr3 = msr2; msr2 = meas[q]; continue; } if (adr3 == null || (curr.sign > adr3.sign)) { adr3 = curr; msr3 = meas[q]; continue; } } if (adr3 == null) { continue; } double[] val = new double[3]; val[0] = positionUtil.signal2distance(adr1.chan, adr1.sign) * scale; val[1] = positionUtil.signal2distance(adr2.chan, adr2.sign) * scale; val[2] = positionUtil.signal2distance(adr3.chan, adr3.sign) * scale; val = positionUtil.trilateration(msr1.posX, msr1.posY, msr2.posX, msr2.posY, msr3.posX, msr3.posY, val[0], val[1], val[2]); ntry.curX = val[0]; ntry.curY = val[1]; ntry.good = true; } } } private void drawImage() { int mx = img.getWidth(); int my = img.getHeight(); for (int i = 0; i < meas.length; i++) { Graphics2D g2d = img.createGraphics(); g2d.setBackground(Color.blue); g2d.setFont(new Font("Serif", Font.BOLD, 20)); g2d.setPaint(Color.blue); g2d.drawString(meas[i].nam, (int) meas[i].posX, (int) meas[i].posY); g2d.dispose(); } int py = my; for (int i = 0; i < neis.size(); i++) { positionAddr ntry = neis.get(i); Graphics2D g2d = img.createGraphics(); FontMetrics fm = g2d.getFontMetrics(); g2d.setBackground(Color.gray); g2d.setFont(new Font("Serif", Font.BOLD, 20)); String s = ntry.getMac(); if (!ntry.good) { g2d.setPaint(Color.red); py -= fm.getHeight(); g2d.drawString(s, mx - fm.stringWidth(s), py); g2d.dispose(); continue; } if (ntry.curX < 0) { ntry.curX = 0; } if (ntry.curY < 0) { ntry.curY = 0; } int o = mx - fm.stringWidth(s); if (ntry.curX > o) { ntry.curX = o; } o = my - fm.getHeight(); if (ntry.curY > o) { ntry.curY = o; } g2d.setPaint(Color.green); g2d.drawString(s, (int) ntry.curX, (int) ntry.curY); g2d.dispose(); } } } freeRtr-25.11.9/misc/position/position.tcl000066400000000000000000000000621510423065500204500ustar00rootroot00000000000000puts [exec "show radiotap ethernet5"] puts "done" freeRtr-25.11.9/misc/position/positionAddr.java000066400000000000000000000043431510423065500214100ustar00rootroot00000000000000 /** * neighbor entry * * @author matecsaba */ public class positionAddr implements Comparable { /** * address */ public final int addr1; /** * address */ public final int addr2; /** * address */ public final int addr3; /** * rate */ public final float rate; /** * channel */ public final float chan; /** * signal */ public final float sign; /** * x coordinate */ public double curX; /** * y coordinate */ public double curY; /** * coordinates valid */ public boolean good; /** * create instance * * @param a config */ public positionAddr(String a) { a = a.replaceAll(" ", " "); a = a.replaceAll(" ", " "); a = a.trim(); int i = a.indexOf("."); addr1 = Integer.parseInt(a.substring(0, i), 16); a = a.substring(i + 1, a.length()); i = a.indexOf("."); addr2 = Integer.parseInt(a.substring(0, i), 16); a = a.substring(i + 1, a.length()); i = a.indexOf(" "); addr3 = Integer.parseInt(a.substring(0, i), 16); a = a.substring(i + 1, a.length()); i = a.indexOf(" "); rate = positionUtil.str2num(a.substring(0, i)); a = a.substring(i + 1, a.length()); i = a.indexOf(" "); chan = positionUtil.str2num(a.substring(0, i)); a = a.substring(i + 1, a.length()); i = a.indexOf(" "); sign = positionUtil.str2num(a.substring(0, i)); } public int compareTo(positionAddr o) { if (addr1 < o.addr1) { return -1; } if (addr1 > o.addr1) { return +1; } if (addr2 < o.addr2) { return -1; } if (addr2 > o.addr2) { return +1; } if (addr3 < o.addr3) { return -1; } if (addr3 > o.addr3) { return +1; } return 0; } /** * get mac address * * @return string */ public String getMac() { return positionUtil.toHex(addr1) + "." + positionUtil.toHex(addr2) + "." + positionUtil.toHex(addr3); } } freeRtr-25.11.9/misc/position/positionData.java000066400000000000000000000041051510423065500214030ustar00rootroot00000000000000 import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URI; import java.net.URL; import java.net.URLConnection; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * neighbor reading * * @author matecsaba */ public class positionData { /** * x coordinate */ public final float posX; /** * y coordinate */ public final float posY; /** * url */ public final String url; /** * url */ public final String nam; /** * last reading */ public List data = new ArrayList(); /** * create instance * * @param a config */ public positionData(String a) { int i = a.indexOf(";"); nam = a.substring(0, i); a = a.substring(i + 1, a.length()); i = a.indexOf(";"); posX = positionUtil.str2num(a.substring(0, i)); a = a.substring(i + 1, a.length()); i = a.indexOf(";"); posY = positionUtil.str2num(a.substring(0, i)); url = a.substring(i + 1, a.length()); } /** * get current measurement */ protected synchronized void getNeighs() { try { data = new ArrayList(); URL testUrl = new URI(url).toURL(); URLConnection testConn = testUrl.openConnection(); testConn.setConnectTimeout(5000); testConn.setReadTimeout(5000); BufferedReader testReader = new BufferedReader(new InputStreamReader(testConn.getInputStream())); for (;;) { String a = testReader.readLine(); if (a == null) { break; } try { positionAddr v = new positionAddr(a); if (v.sign > -1) { continue; } data.add(v); } catch (Exception e) { } } Collections.sort(data); } catch (Exception e) { } } } freeRtr-25.11.9/misc/position/positionUtil.java000066400000000000000000000036231510423065500214530ustar00rootroot00000000000000 /** * utils * * @author matecsaba */ public class positionUtil { /** * convert string to number * * @param s string to convert * @return value of string, 0 if failed to convert */ public static float str2num(String s) { float i = 0; s = s.trim(); try { i = Float.parseFloat(s); } catch (Exception e) { } return i; } /** * convert to hex * * @param i number * @return converted */ public static String toHex(int i) { String a = Integer.toString(i, 16); for (; a.length() < 4;) { a = "0" + a; } return a; } /** * signal to meters * * @param mhz frequency * @param dbm signal * @return meters */ public static double signal2distance(float mhz, float dbm) { return Math.pow(10.0, (27.55 - (20.0 * Math.log10(mhz)) - dbm) / 20.0); } /** * trilaterate points * * @param xa x coordinate * @param ya y coordinate * @param xb x coordinate * @param yb y coordinate * @param xc x coordinate * @param yc y coordinate * @param ra distance * @param rb distance * @param rc distance * @return x,y coordinates */ public static double[] trilateration(float xa, float ya, float xb, float yb, float xc, float yc, double ra, double rb, double rc) { double s = (Math.pow(xc, 2.0) - Math.pow(xb, 2.0) + Math.pow(yc, 2.0) - Math.pow(yb, 2.0) + Math.pow(rb, 2.0) - Math.pow(rc, 2.0)) / 2.0; double t = (Math.pow(xa, 2.0) - Math.pow(xb, 2.0) + Math.pow(ya, 2.0) - Math.pow(yb, 2.0) + Math.pow(rb, 2.0) - Math.pow(ra, 2.0)) / 2.0; double y = ((t * (xb - xc)) - (s * (xb - xa))) / (((ya - yb) * (xb - xc)) - ((yc - yb) * (xb - xa))); double x = ((y * (ya - yb)) - t) / (xb - xa); return new double[]{x, y}; } } freeRtr-25.11.9/misc/prace/000077500000000000000000000000001510423065500153305ustar00rootroot00000000000000freeRtr-25.11.9/misc/prace/prace.sh000077500000000000000000000064001510423065500167610ustar00rootroot00000000000000#!/bin/sh # Prace routing aktualizalo a login node-okra. # Naponta egyszer-ketszer a cronbol futtatjuk. # # v1.0 2017-07-05 kissg@niif.hu # v1.1 2017-07-05 kissg@niif.hu: a sajat halozatunkra nem kell route-olni # v1.01 2017-07-06 kissg@niif.hu: a 3-as Bash-hez kicsit rontani kellett rajta # 2017-08-29 kissg: valtozott a $ROUTE_SERVER # "Az inputunk Mate Csaba tamogatasaval keszul." :-) ROUTE_SERVER=x.x.x.x URL=http://$ROUTE_SERVER/prace-routes.tcl # Ezzel cimkezzuk meg az itt beszurt route-okat REALM=prace PATH=/sbin:/bin:/usr/sbin:/usr/bin unset LC_ALL export LANG=C [[ "$1" = -debug ]] && DEBUG=":" # Megmondja, hogy az adott IP cim melyik subnetben van get_network () { local OLDIFS="$IFS" local IFS='./' set -- $1 IFS="$OLDIFS" local prefix=$5 # Magia innen: # https://stackoverflow.com/questions/10278513/bash-shell-decimal-to-binary-conversion # es innen: # https://unix.stackexchange.com/questions/65280/binary-to-hexadecimal-and-decimal-in-a-shell-script # Picit rontani kellett az elson, hogy a 3-as Bash is egye. ($binlist valtozo) local binlist=$(echo {0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1}) declare -a D2B=($binlist) local z=${D2B[0]} # nyolc 0 echo "${D2B[$1]}${D2B[$2]}${D2B[$3]}${D2B[$4]}" | # dec to bin sed -r "s/^(.{$prefix}).*/\1$z$z$z$z/; s/(.{8})/\1 /g" | { read o1 o2 o3 o4 _rest echo $((2#$o1)).$((2#$o2)).$((2#$o3)).$((2#$o4))/$prefix # bin to dec } } ################### main ##################### if ! fgrep -q $REALM /etc/iproute2/rt_realms then echo "Add '163 $REALM' to file /etc/iproute2/rt_realms. Aborting..." >&2 exit 1 fi # Kitalaljuk a gateway-t es az output interfeszt. Utobbi minden gepen mas. exec 3< <(ip route list exact $ROUTE_SERVER) read -u 3 webaddr _via_ router _dev_ interface if [[ -z $interface ]] then echo "Missing route to $ROUTE_SERVER. Aborting..." >&2 exit 1 fi # Kitalajuk a sajat networkunket exec 3< <(ip -4 address show dev $interface | tail -1) read -u 3 _inet_ myaddr rest mynetwork=$(get_network $myaddr) # Kinyerjuk az aktualis PRACE networkoket a route serverbol declare -a new_routes=( $(curl -s $URL | grep -v '/3[012]' | # nem igazi subnetek, hanem pont-pont kapcsolatok grep -v " $mynetwork " | # a sajat halozatunkra nem kell route-olni sed -rn /^B/'s!^B +([0-9./]+).*!\1!p' ) ) #echo ${#new_routes[*]} # Ezek a statikus route-ok vannak most a kernelben declare -a old_routes=($(ip route show realm $REALM | cut -f1 -d' ' )) #echo "${#old_routes[*]}" # Nehogy valami hiba folytan kitorljunk mindent! if (( ${#new_routes[*]} < ${#old_routes[*]} / 2 )) then echo "Too few routes from root server. Check manually. Aborting..." >&2 exit 1 fi # Lassuk a valtozasokat es aszerint modositsuk a routingot! # Tulajdonkeppen eleg lenne siman torolni minden regit, es felvenni # minden ujat, sortolas es diff nelkul, de igy elegansabb a kijelzes diff --normal <(echo ${old_routes[*]} | tr ' ' '\012' | sort -n -t. ) \ <(echo ${new_routes[*]} | tr ' ' '\012' | sort -n -t. ) | sort | while read marker subnet do case $marker in '<') echo Removing subnet $subnet from routing table $DEBUG ip route delete $subnet via $router dev $interface realm $REALM ;; '>') echo Adding subnet $subnet to routing table $DEBUG ip route add $subnet via $router dev $interface realm $REALM ;; esac done freeRtr-25.11.9/misc/prometheus/000077500000000000000000000000001510423065500164315ustar00rootroot00000000000000freeRtr-25.11.9/misc/prometheus/bfd.json000066400000000000000000000141411510423065500200600ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_PROMETHEUS", "label": "Prometheus", "description": "prometheus metric collector that receives metric from freeRouter control plane", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.0" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" }, { "type": "panel", "id": "stat", "name": "Stat", "version": "" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "editable": true, "gnetId": 13159, "graphTooltip": 0, "id": null, "iteration": 1602514693556, "links": [], "panels": [ { "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [ { "from": "", "id": 0, "text": "down", "to": "", "type": 1, "value": "0" }, { "from": "", "id": 1, "text": "down", "to": "", "type": 1, "value": "0" }, { "from": "", "id": 2, "text": "init", "to": "", "type": 1, "value": "1" }, { "from": "", "id": 3, "text": "shutdown", "to": "", "type": 1, "value": "-1" }, { "from": "", "id": 4, "text": "up", "to": "", "type": 1, "value": "2" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "black", "value": null }, { "color": "black", "value": -1 }, { "color": "dark-red", "value": -0.1 }, { "color": "dark-yellow", "value": 1 }, { "color": "dark-green", "value": 1.1 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Field" }, "properties": [ { "id": "custom.width", "value": 314 } ] } ] }, "gridPos": { "h": 2, "w": 3.4285714285714284, "x": 0, "y": 0 }, "id": 2, "maxPerRow": 8, "options": { "colorMode": "background", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "last" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "7.2.0", "repeat": "bfd_peer", "repeatDirection": "h", "targets": [ { "expr": "bfd${afi}_state{instance=\"$instance\",ip=\"$bfd_peer\"}", "instant": true, "interval": "", "legendFormat": "", "refId": "A" } ], "timeFrom": null, "timeShift": null, "title": "${bfd_peer}", "transformations": [], "type": "stat" } ], "schemaVersion": 26, "style": "dark", "tags": [ "[scope:local]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values({__name__=~\"^bfd.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"^bfd.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": true, "text": "6", "value": "6" }, "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "afi", "options": [ { "selected": true, "text": "4", "value": "4" }, { "selected": false, "text": "6", "value": "6" } ], "query": "4,6", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(bfd${afi}_state{instance=\"$instance\"},ip)", "hide": 0, "includeAll": true, "label": null, "multi": true, "name": "bfd_peer", "options": [], "query": "label_values(bfd${afi}_state{instance=\"$instance\"},ip)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "RARE/freeRouter - BFD states", "uid": "AoN8AMcGza", "version": 38, "description": "Display BFP state metrics" }freeRtr-25.11.9/misc/prometheus/bgp-neighbors.json000066400000000000000000000304501510423065500220540ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_PROMETHEUS", "label": "Prometheus", "description": "prometheus metric collector that receives metric from freeRouter control plane", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.0" }, { "type": "panel", "id": "graph", "name": "Graph", "version": "" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" }, { "type": "panel", "id": "stat", "name": "Stat", "version": "" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "editable": true, "gnetId": 13158, "graphTooltip": 0, "id": null, "iteration": 1602514665601, "links": [], "panels": [ { "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, "mappings": [ { "from": "", "id": 0, "text": "up", "to": "", "type": 1, "value": "-1" }, { "from": "", "id": 1, "text": "down", "to": "", "type": 1, "value": "-2" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "black", "value": null }, { "color": "red", "value": -2 }, { "color": "dark-green", "value": -1 }, { "color": "black", "value": 0 } ] } }, "overrides": [] }, "gridPos": { "h": 4, "w": 12, "x": 0, "y": 0 }, "id": 15, "options": { "colorMode": "background", "graphMode": "none", "justifyMode": "center", "orientation": "auto", "reduceOptions": { "calcs": [ "last" ], "fields": "", "values": false }, "textMode": "value_and_name" }, "pluginVersion": "7.2.0", "repeat": "bgp_peer", "targets": [ { "expr": "bgp${afi}_peer_state{instance=\"$instance\",peer=\"$bgp_peer\"}-2", "instant": true, "interval": "", "legendFormat": "State", "refId": "A" }, { "expr": "bgp${afi}_peer_learn{instance=\"$instance\",peer=\"$bgp_peer\"}", "instant": true, "interval": "", "legendFormat": "Learned", "refId": "B" }, { "expr": "bgp${afi}_peer_advert{instance=\"$instance\",peer=\"$bgp_peer\"}", "instant": true, "interval": "", "legendFormat": "Advertised", "refId": "C" } ], "timeFrom": null, "timeShift": null, "title": "${bgp_peer} state", "type": "stat" }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [ { "from": "", "id": 0, "text": "down", "to": "", "type": 1, "value": "0" }, { "from": "", "id": 1, "text": "up", "to": "", "type": 1, "value": "1" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "black", "value": null }, { "color": "red", "value": 0 }, { "color": "dark-green", "value": 0.1 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Field" }, "properties": [ { "id": "custom.width", "value": 314 } ] } ] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 4 }, "hiddenSeries": false, "id": 2, "legend": { "avg": false, "current": false, "max": false, "min": false, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "repeat": "bgp_peer", "repeatDirection": "v", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "bgp${afi}_peer_learn{instance=\"$instance\",peer=\"$bgp_peer\"}", "instant": false, "interval": "", "legendFormat": "", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Number of prefix learned from ${bgp_peer}", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "transformations": [], "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:552", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:553", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [ { "from": "", "id": 0, "text": "down", "to": "", "type": 1, "value": "0" }, { "from": "", "id": 1, "text": "up", "to": "", "type": 1, "value": "1" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "black", "value": null }, { "color": "red", "value": 0 }, { "color": "dark-green", "value": 0.1 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Field" }, "properties": [ { "id": "custom.width", "value": 314 } ] } ] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 4 }, "hiddenSeries": false, "id": 11, "legend": { "avg": false, "current": false, "max": false, "min": false, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "repeat": "bgp_peer", "repeatDirection": "v", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "bgp${afi}_peer_advert{instance=\"$instance\",peer=\"$bgp_peer\"}", "instant": false, "interval": "", "legendFormat": "", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Number of prefix advertised to ${bgp_peer}", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "transformations": [], "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:137", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:138", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } } ], "schemaVersion": 26, "style": "dark", "tags": [ "[scope:local]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values({__name__=~\"bgp.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"bgp.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": false, "text": "4", "value": "4" }, "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "afi", "options": [ { "selected": true, "text": "4", "value": "4" }, { "selected": false, "text": "6", "value": "6" } ], "query": "4,6", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(bgp${afi}_peer_state{instance=\"$instance\"},peer)", "hide": 0, "includeAll": true, "label": null, "multi": true, "name": "bgp_peer", "options": [], "query": "label_values(bgp${afi}_peer_state{instance=\"$instance\"},peer)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "RARE/freeRouter - BGP peer learned / advertised", "uid": "AoN8AMcGsas", "version": 28, "description": "Display BGP peer learned and advertised prefix metrics" }freeRtr-25.11.9/misc/prometheus/bgp-perf.json000066400000000000000000000437001510423065500210320ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_PROMETHEUS", "label": "Prometheus", "description": "prometheus metric collector that receives metric from freeRouter control plane", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.0" }, { "type": "panel", "id": "graph", "name": "Graph", "version": "" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" }, { "type": "panel", "id": "stat", "name": "Stat", "version": "" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "editable": true, "gnetId": 13157, "graphTooltip": 0, "id": null, "iteration": 1602514646878, "links": [], "panels": [ { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [ { "from": "", "id": 0, "text": "down", "to": "", "type": 1, "value": "0" }, { "from": "", "id": 1, "text": "up", "to": "", "type": 1, "value": "1" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "black", "value": null }, { "color": "red", "value": 0 }, { "color": "dark-green", "value": 0.1 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Field" }, "properties": [ { "id": "custom.width", "value": 314 } ] } ] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 0 }, "hiddenSeries": false, "id": 2, "legend": { "alignAsTable": true, "avg": false, "current": true, "max": true, "min": true, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "repeat": null, "repeatDirection": "v", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "rate(bgp${afi}_perf_full_runval{instance=\"$instance\"}[1m])", "instant": false, "interval": "", "legendFormat": "", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Full run computation rate", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "transformations": [], "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:59", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:60", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [ { "from": "", "id": 0, "text": "down", "to": "", "type": 1, "value": "0" }, { "from": "", "id": 1, "text": "up", "to": "", "type": 1, "value": "1" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "black", "value": null }, { "color": "red", "value": 0 }, { "color": "dark-green", "value": 0.1 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Field" }, "properties": [ { "id": "custom.width", "value": 314 } ] } ] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 0 }, "hiddenSeries": false, "id": 16, "legend": { "alignAsTable": true, "avg": false, "current": true, "max": true, "min": true, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "repeat": null, "repeatDirection": "v", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "rate(bgp${afi}_perf_incr_runval{instance=\"$instance\"}[1m])", "instant": false, "interval": "", "legendFormat": "", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Incremental run computation rate", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "transformations": [], "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:59", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:60", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [ { "from": "", "id": 0, "text": "down", "to": "", "type": 1, "value": "0" }, { "from": "", "id": 1, "text": "up", "to": "", "type": 1, "value": "1" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "black", "value": null }, { "color": "red", "value": 0 }, { "color": "dark-green", "value": 0.1 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Field" }, "properties": [ { "id": "custom.width", "value": 314 } ] } ] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 8 }, "hiddenSeries": false, "id": 17, "legend": { "alignAsTable": true, "avg": false, "current": true, "max": true, "min": true, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "repeat": null, "repeatDirection": "v", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "rate(bgp${afi}_perf_versionval{instance=\"$instance\"}[1m])", "instant": false, "interval": "", "legendFormat": "", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Version computation rate", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "transformations": [], "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:59", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:60", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [ { "from": "", "id": 0, "text": "down", "to": "", "type": 1, "value": "0" }, { "from": "", "id": 1, "text": "up", "to": "", "type": 1, "value": "1" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "black", "value": null }, { "color": "red", "value": 0 }, { "color": "dark-green", "value": 0.1 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Field" }, "properties": [ { "id": "custom.width", "value": 314 } ] } ] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 8 }, "hiddenSeries": false, "id": 18, "legend": { "alignAsTable": true, "avg": false, "current": true, "max": true, "min": true, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "repeat": null, "repeatDirection": "v", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "rate(bgp${afi}_perf_changes_allval{instance=\"$instance\"}[1m])", "instant": false, "interval": "", "legendFormat": "", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "\"Changes all\" computation rate", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "transformations": [], "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:59", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:60", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "black", "value": null } ] } }, "overrides": [] }, "gridPos": { "h": 2, "w": 24, "x": 0, "y": 16 }, "id": 15, "maxPerRow": 8, "options": { "colorMode": "background", "graphMode": "none", "justifyMode": "center", "orientation": "horizontal", "reduceOptions": { "calcs": [ "last" ], "fields": "", "values": false }, "textMode": "value" }, "pluginVersion": "7.2.0", "repeat": "bgp_perf_type", "repeatDirection": "h", "targets": [ { "expr": "bgp${afi}_perf_${bgp_perf_type}val{instance=\"$instance\"}", "instant": true, "interval": "", "legendFormat": "", "refId": "A" } ], "timeFrom": null, "timeShift": null, "title": "${bgp_perf_type}", "type": "stat" } ], "schemaVersion": 26, "style": "dark", "tags": [ "[scope:local]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values({__name__=~\"bgp.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"bgp.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": false, "text": "4", "value": "4" }, "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "afi", "options": [ { "selected": true, "text": "4", "value": "4" }, { "selected": false, "text": "6", "value": "6" } ], "query": "4,6", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values({__name__=~\"bgp${afi}_perf_(.*)\",instance=\"$instance\"},__name__)", "hide": 0, "includeAll": true, "label": null, "multi": true, "name": "bgp_perf_type", "options": [], "query": "label_values({__name__=~\"bgp${afi}_perf_(.*)\",instance=\"$instance\"},__name__)", "refresh": 1, "regex": "bgp${afi}_perf_(.*?)val", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "RARE/freeRouter - BGP performance", "uid": "AoN8AMcperf", "version": 32, "description": "Display BGP performance metrics" }freeRtr-25.11.9/misc/prometheus/bmp.json000066400000000000000000000143441510423065500201100ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_MP-LS.PROMETHEUS", "label": "mp-ls.prometheus", "description": "", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.0" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" }, { "type": "panel", "id": "stat", "name": "Stat", "version": "" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "description": "Display BMP metrics", "editable": true, "gnetId": 13156, "graphTooltip": 0, "id": null, "iteration": 1602750643800, "links": [], "panels": [ { "datasource": "${DS_MP-LS.PROMETHEUS}", "description": "", "fieldConfig": { "defaults": { "custom": {}, "mappings": [ { "from": "", "id": 0, "text": "up", "to": "", "type": 1, "value": "-1" }, { "from": "", "id": 1, "text": "down", "to": "", "type": 1, "value": "-2" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "black", "value": null }, { "color": "dark-red", "value": -2 }, { "color": "dark-green", "value": -1 }, { "color": "black", "value": 0 } ] }, "unit": "none" }, "overrides": [] }, "gridPos": { "h": 2, "w": 6, "x": 0, "y": 0 }, "id": 2, "maxPerRow": 12, "options": { "colorMode": "background", "graphMode": "none", "justifyMode": "auto", "orientation": "vertical", "reduceOptions": { "calcs": [ "last" ], "fields": "", "values": false }, "textMode": "value" }, "pluginVersion": "7.2.0", "repeat": "remote_peer", "repeatDirection": "h", "targets": [ { "expr": "bmp_state{instance=\"$instance\",from=\"$bmp_agent\",rpeer=\"$remote_peer\"}-2", "instant": true, "interval": "", "legendFormat": "{{met}}", "refId": "A" }, { "expr": "bmp_asn{instance=\"$instance\",from=\"$bmp_agent\",rpeer=\"$remote_peer\"}", "instant": true, "interval": "", "legendFormat": "", "refId": "B" }, { "expr": "bmp_flaps{instance=\"$instance\",from=\"$bmp_agent\",rpeer=\"$remote_peer\"}", "instant": true, "interval": "", "legendFormat": "", "refId": "C" } ], "timeFrom": null, "timeShift": null, "title": "${remote_peer}", "transformations": [], "type": "stat" } ], "schemaVersion": 26, "style": "dark", "tags": [ "[scope:global]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_MP-LS.PROMETHEUS}", "definition": "label_values({__name__=~\"bmp_.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"bmp_.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": {}, "datasource": "${DS_MP-LS.PROMETHEUS}", "definition": "label_values({from=~\".*\",instance=\"$instance\"},from)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "bmp_agent", "options": [], "query": "label_values({from=~\".*\",instance=\"$instance\"},from)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": {}, "datasource": "${DS_MP-LS.PROMETHEUS}", "definition": "bmp_asn{instance=\"$instance\",from=\"$bmp_agent\"}", "hide": 2, "includeAll": true, "label": null, "multi": true, "name": "agent_asn", "options": [], "query": "bmp_asn{instance=\"$instance\",from=\"$bmp_agent\"}", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": {}, "datasource": "${DS_MP-LS.PROMETHEUS}", "definition": "label_values({from=\"$bmp_agent\",instance=\"$instance\"},rpeer)", "hide": 0, "includeAll": true, "label": null, "multi": true, "name": "remote_peer", "options": [], "query": "label_values({from=\"$bmp_agent\",instance=\"$instance\"},rpeer)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "RARE/freeRouter - BMP metrics", "uid": "vZWgBhcMks", "version": 2 }freeRtr-25.11.9/misc/prometheus/bridge-byte.json000066400000000000000000000161271510423065500215300ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_MP-LS.PROMETHEUS", "label": "mp-ls.prometheus", "description": "", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.0" }, { "type": "panel", "id": "graph", "name": "Graph", "version": "" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "description": "Display bridge byte metrics", "editable": true, "gnetId": 13244, "graphTooltip": 0, "id": null, "iteration": 1603357252050, "links": [], "panels": [ { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_MP-LS.PROMETHEUS}", "description": "", "fieldConfig": { "defaults": { "custom": {}, "links": [] }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 9, "w": 24, "x": 0, "y": 0 }, "hiddenSeries": false, "id": 2, "legend": { "alignAsTable": true, "avg": true, "current": true, "max": true, "min": true, "rightSide": false, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "maxPerRow": 3, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "repeat": "mac", "repeatDirection": "h", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "rate(br_mac_byte_tx{instance=\"$instance\",typ=\"$cntr_type\",mac=\"$mac\",ifc=\"$instance_iface\"}[1m])*8", "interval": "", "legendFormat": "tx", "refId": "A" }, { "expr": "rate(br_mac_byte_rx{instance=\"$instance\",typ=\"$cntr_type\",mac=\"$mac\",ifc=\"$instance_iface\"}[1m])*8", "interval": "", "legendFormat": "rx", "refId": "B" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "${cntr_type}:${instance_iface}:${mac}", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "bps", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } } ], "refresh": "5s", "schemaVersion": 26, "style": "dark", "tags": [ "[scope:local]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_MP-LS.PROMETHEUS}", "definition": "label_values({__name__=~\"^br_mac_.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"^br_mac_.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": true, "text": "hw", "value": "hw" }, "hide": 0, "includeAll": false, "label": "", "multi": false, "name": "cntr_type", "options": [ { "selected": true, "text": "hw", "value": "hw" }, { "selected": false, "text": "sw", "value": "sw" } ], "query": "hw,sw", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": { "selected": false, "text": "tx", "value": "tx" }, "hide": 2, "includeAll": false, "label": null, "multi": false, "name": "dir", "options": [ { "selected": true, "text": "tx", "value": "tx" }, { "selected": false, "text": "rx", "value": "rx" } ], "query": "tx,rx", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": {}, "datasource": "${DS_MP-LS.PROMETHEUS}", "definition": "label_values(br_mac_byte_${dir}{instance=\"$instance\"},ifc)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance_iface", "options": [], "query": "label_values(br_mac_byte_${dir}{instance=\"$instance\"},ifc)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": {}, "datasource": "${DS_MP-LS.PROMETHEUS}", "definition": "label_values(br_mac_byte_${dir}{instance=\"$instance\",ifc=\"$instance_iface\"},mac)", "hide": 0, "includeAll": true, "label": null, "multi": true, "name": "mac", "options": [], "query": "label_values(br_mac_byte_${dir}{instance=\"$instance\",ifc=\"$instance_iface\"},mac)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-5m", "to": "now" }, "timepicker": { "refresh_intervals": [ "5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d" ] }, "timezone": "", "title": "RARE/freeRouter - bridge MAC bytes", "uid": "sqqgkzcGzbrmac", "version": 41 }freeRtr-25.11.9/misc/prometheus/bridge-pack.json000066400000000000000000000161631510423065500215030ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_MP-LS.PROMETHEUS", "label": "mp-ls.prometheus", "description": "", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.0" }, { "type": "panel", "id": "graph", "name": "Graph", "version": "" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "description": "Display Bridge MAC packet metrics", "editable": true, "gnetId": 13246, "graphTooltip": 0, "id": null, "iteration": 1603357273158, "links": [], "panels": [ { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_MP-LS.PROMETHEUS}", "description": "", "fieldConfig": { "defaults": { "custom": {}, "links": [], "unit": "pps" }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 9, "w": 24, "x": 0, "y": 0 }, "hiddenSeries": false, "id": 2, "legend": { "alignAsTable": true, "avg": true, "current": true, "max": true, "min": true, "rightSide": false, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "maxPerRow": 3, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "repeat": "mac", "repeatDirection": "h", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "rate(br_mac_pack_tx{instance=\"$instance\",typ=\"$cntr_type\",mac=\"$mac\",ifc=\"$instance_iface\"}[1m])", "interval": "", "legendFormat": "tx", "refId": "A" }, { "expr": "rate(br_mac_pack_rx{instance=\"$instance\",typ=\"$cntr_type\",mac=\"$mac\",ifc=\"$instance_iface\"}[1m])", "interval": "", "legendFormat": "rx", "refId": "B" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "${cntr_type}:${instance_iface}:${mac}", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "pps", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } } ], "refresh": "5s", "schemaVersion": 26, "style": "dark", "tags": [ "[scope:local]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_MP-LS.PROMETHEUS}", "definition": "label_values({__name__=~\"^br_mac_.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"^br_mac_.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": true, "text": "hw", "value": "hw" }, "hide": 0, "includeAll": false, "label": "", "multi": false, "name": "cntr_type", "options": [ { "selected": true, "text": "hw", "value": "hw" }, { "selected": false, "text": "sw", "value": "sw" } ], "query": "hw,sw", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": { "selected": false, "text": "tx", "value": "tx" }, "hide": 2, "includeAll": false, "label": null, "multi": false, "name": "dir", "options": [ { "selected": true, "text": "tx", "value": "tx" }, { "selected": false, "text": "rx", "value": "rx" } ], "query": "tx,rx", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": {}, "datasource": "${DS_MP-LS.PROMETHEUS}", "definition": "label_values(br_mac_pack_${dir}{instance=\"$instance\"},ifc)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance_iface", "options": [], "query": "label_values(br_mac_pack_${dir}{instance=\"$instance\"},ifc)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": {}, "datasource": "${DS_MP-LS.PROMETHEUS}", "definition": "label_values(br_mac_pack_${dir}{instance=\"$instance\",ifc=\"$instance_iface\"},mac)", "hide": 0, "includeAll": true, "label": null, "multi": true, "name": "mac", "options": [], "query": "label_values(br_mac_pack_${dir}{instance=\"$instance\",ifc=\"$instance_iface\"},mac)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-5m", "to": "now" }, "timepicker": { "refresh_intervals": [ "5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d" ] }, "timezone": "", "title": "RARE/freeRouter - bridge MAC packet", "uid": "sqqgkzcGzbrpck", "version": 13 }freeRtr-25.11.9/misc/prometheus/dvigp-ifaces.json000066400000000000000000000137511510423065500216740ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_PROMETHEUS", "label": "Prometheus", "description": "prometheus metric collector that receives metric from freeRouter control plane", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.0" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" }, { "type": "panel", "id": "stat", "name": "Stat", "version": "" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "editable": true, "gnetId": 13155, "graphTooltip": 0, "id": null, "iteration": 1602514610710, "links": [], "panels": [ { "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [ { "from": "", "id": 0, "text": "down", "to": "", "type": 1, "value": "0" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "black", "value": null }, { "color": "red", "value": 0 }, { "color": "dark-green", "value": 0.1 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Field" }, "properties": [ { "id": "custom.width", "value": 314 } ] } ] }, "gridPos": { "h": 2, "w": 12, "x": 0, "y": 0 }, "id": 2, "maxPerRow": 12, "options": { "colorMode": "background", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "mean" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "7.2.0", "repeat": "iface", "repeatDirection": "h", "targets": [ { "expr": "${igp_type}_iface_neighbors{ifc=\"$iface\",instance=\"$instance\",proto=\"$protocol\"}", "instant": true, "interval": "", "legendFormat": "", "refId": "A" } ], "timeFrom": null, "timeShift": null, "title": "${iface}", "transformations": [], "type": "stat" } ], "schemaVersion": 26, "style": "dark", "tags": [ "[scope:local]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values({__name__=~\"^dvigp.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"^dvigp.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": true, "text": "dvigp4", "value": "dvigp4" }, "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "igp_type", "options": [ { "selected": true, "text": "dvigp4", "value": "dvigp4" }, { "selected": false, "text": "dvigp6", "value": "dvigp6" } ], "query": "dvigp4,dvigp6", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(${igp_type}_iface_neighbors{instance=\"$instance\"},proto)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "protocol", "options": [], "query": "label_values(${igp_type}_iface_neighbors{instance=\"$instance\"},proto)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(${igp_type}_iface_neighbors{instance=\"$instance\",proto=\"$protocol\"},ifc)", "hide": 0, "includeAll": true, "label": null, "multi": true, "name": "iface", "options": [], "query": "label_values(${igp_type}_iface_neighbors{instance=\"$instance\",proto=\"$protocol\"},ifc)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "RARE/freeRouter - Distance Vector IGP interface", "uid": "AoN8AMcGzsss", "version": 15, "description": "Display distance vector IGP interface metrics" }freeRtr-25.11.9/misc/prometheus/dvigp-neighbors.json000066400000000000000000000252241510423065500224200ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_PROMETHEUS", "label": "Prometheus", "description": "prometheus metric collector that receives metric from freeRouter control plane", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.0" }, { "type": "panel", "id": "graph", "name": "Graph", "version": "" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "editable": true, "gnetId": 13154, "graphTooltip": 0, "id": null, "iteration": 1602514593054, "links": [], "panels": [ { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [ { "from": "", "id": 0, "text": "down", "to": "", "type": 1, "value": "0" }, { "from": "", "id": 1, "text": "up", "to": "", "type": 1, "value": "1" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "black", "value": null }, { "color": "red", "value": 0 }, { "color": "dark-green", "value": 0.1 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Field" }, "properties": [ { "id": "custom.width", "value": 314 } ] } ] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 0 }, "hiddenSeries": false, "id": 2, "legend": { "avg": false, "current": false, "max": false, "min": false, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "repeat": "peer_ip", "repeatDirection": "v", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "${igp_type}_peers_learn{instance=\"$instance\",proto=\"$protocol\",ip=\"$peer_ip\"}", "instant": false, "interval": "", "legendFormat": "", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Number of route learned from ${peer_ip}", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "transformations": [], "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:1241", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:1242", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [ { "from": "", "id": 0, "text": "down", "to": "", "type": 1, "value": "0" }, { "from": "", "id": 1, "text": "up", "to": "", "type": 1, "value": "1" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "black", "value": null }, { "color": "red", "value": 0 }, { "color": "dark-green", "value": 0.1 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Field" }, "properties": [ { "id": "custom.width", "value": 314 } ] } ] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 9, "w": 12, "x": 12, "y": 0 }, "hiddenSeries": false, "id": 5, "legend": { "avg": false, "current": false, "max": false, "min": false, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "repeat": "peer_ip", "repeatDirection": "v", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "${igp_type}_peers_advert{instance=\"$instance\",proto=\"$protocol\",ip=\"$peer_ip\"}", "instant": false, "interval": "", "legendFormat": "", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Number of route advertised to ${peer_ip}", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "transformations": [], "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:1241", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:1242", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } } ], "schemaVersion": 26, "style": "dark", "tags": [ "[scope:local]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values({__name__=~\"^dvigp.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"^dvigp.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": true, "text": "dvigp4", "value": "dvigp4" }, "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "igp_type", "options": [ { "selected": true, "text": "dvigp4", "value": "dvigp4" }, { "selected": false, "text": "dvigp6", "value": "dvigp6" } ], "query": "dvigp4,dvigp6", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(${igp_type}_peers_advert{instance=\"$instance\"},proto)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "protocol", "options": [], "query": "label_values(${igp_type}_peers_advert{instance=\"$instance\"},proto)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(${igp_type}_peers_advert{instance=\"$instance\",proto=\"$protocol\"},ip)", "hide": 0, "includeAll": true, "label": null, "multi": true, "name": "peer_ip", "options": [], "query": "label_values(${igp_type}_peers_advert{instance=\"$instance\",proto=\"$protocol\"},ip)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "RARE/freeRouter - Distance Vector IGP peers", "uid": "bgjhfbgjhfsgsjk", "version": 13, "description": "Display distance vector IGP peer metrics" }freeRtr-25.11.9/misc/prometheus/iface-byte.json000066400000000000000000000147121510423065500213410ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_MP-LS.PROMETHEUS", "label": "mp-ls.prometheus", "description": "", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.0" }, { "type": "panel", "id": "graph", "name": "Graph", "version": "" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "description": "Display interface bytes metrics", "editable": true, "gnetId": 13153, "graphTooltip": 0, "id": null, "iteration": 1602766201862, "links": [], "panels": [ { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_MP-LS.PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, "links": [] }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 9, "w": 8, "x": 0, "y": 0 }, "hiddenSeries": false, "id": 2, "legend": { "alignAsTable": true, "avg": true, "current": true, "max": true, "min": true, "rightSide": false, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "maxPerRow": 3, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "repeat": "instance_iface", "repeatDirection": "h", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "rate(iface_${cntr_type}_byte_tx{ifc=\"$instance_iface\",instance=\"$instance\"}[1m])*8", "interval": "", "legendFormat": "tx", "refId": "A" }, { "expr": "rate(iface_${cntr_type}_byte_rx{ifc=\"$instance_iface\",instance=\"$instance\"}[1m])*8", "interval": "", "legendFormat": "rx", "refId": "B" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "${cntr_type}:${instance_iface}", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:935", "format": "bps", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:936", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } } ], "refresh": "5s", "schemaVersion": 26, "style": "dark", "tags": [ "[scope:local]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_MP-LS.PROMETHEUS}", "definition": "label_values({__name__=~\"^iface_.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"^iface_.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": false, "text": "hw", "value": "hw" }, "hide": 0, "includeAll": false, "label": "", "multi": false, "name": "cntr_type", "options": [ { "selected": true, "text": "hw", "value": "hw" }, { "selected": false, "text": "sw", "value": "sw" } ], "query": "hw,sw", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": { "selected": false, "text": "tx", "value": "tx" }, "hide": 2, "includeAll": false, "label": null, "multi": false, "name": "dir", "options": [ { "selected": true, "text": "tx", "value": "tx" }, { "selected": false, "text": "rx", "value": "rx" } ], "query": "tx,rx", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": {}, "datasource": "${DS_MP-LS.PROMETHEUS}", "definition": "label_values(iface_${cntr_type}_byte_${dir}{instance=\"$instance\"},ifc)", "hide": 0, "includeAll": true, "label": null, "multi": true, "name": "instance_iface", "options": [], "query": "label_values(iface_${cntr_type}_byte_${dir}{instance=\"$instance\"},ifc)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-30m", "to": "now" }, "timepicker": { "refresh_intervals": [ "5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d" ] }, "timezone": "", "title": "RARE/freeRouter - interfaces bytes", "uid": "sqqgkzcGz", "version": 4 }freeRtr-25.11.9/misc/prometheus/iface-pack.json000066400000000000000000000146301510423065500213130ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_MP-LS.PROMETHEUS", "label": "mp-ls.prometheus", "description": "", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.0" }, { "type": "panel", "id": "graph", "name": "Graph", "version": "" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "description": "Display interface packet metrics", "editable": true, "gnetId": 13152, "graphTooltip": 0, "id": null, "iteration": 1602766731244, "links": [], "panels": [ { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_MP-LS.PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, "links": [], "unit": "pps" }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 9, "w": 8, "x": 0, "y": 0 }, "hiddenSeries": false, "id": 2, "legend": { "alignAsTable": true, "avg": false, "current": true, "max": true, "min": true, "rightSide": false, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "maxPerRow": 3, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "repeat": "instance_iface", "repeatDirection": "h", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "rate(iface_${cntr_type}_pack_tx{ifc=\"$instance_iface\",instance=\"$instance\"}[1m])", "interval": "", "legendFormat": "tx", "refId": "A" }, { "expr": "rate(iface_${cntr_type}_pack_rx{ifc=\"$instance_iface\",instance=\"$instance\"}[1m])", "interval": "", "legendFormat": "rx", "refId": "B" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "${cntr_type}:${instance_iface}", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "pps", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } } ], "refresh": "5s", "schemaVersion": 26, "style": "dark", "tags": [ "[scope:local]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_MP-LS.PROMETHEUS}", "definition": "label_values({__name__=~\"^iface_.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"^iface_.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": true, "text": "hw", "value": "hw" }, "hide": 0, "includeAll": false, "label": "", "multi": false, "name": "cntr_type", "options": [ { "selected": true, "text": "hw", "value": "hw" }, { "selected": false, "text": "sw", "value": "sw" } ], "query": "hw,sw", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": { "selected": false, "text": "tx", "value": "tx" }, "hide": 2, "includeAll": false, "label": null, "multi": false, "name": "dir", "options": [ { "selected": true, "text": "tx", "value": "tx" }, { "selected": false, "text": "rx", "value": "rx" } ], "query": "tx,rx", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": {}, "datasource": "${DS_MP-LS.PROMETHEUS}", "definition": "label_values(iface_${cntr_type}_pack_${dir}{instance=\"$instance\"},ifc)", "hide": 0, "includeAll": true, "label": null, "multi": true, "name": "instance_iface", "options": [], "query": "label_values(iface_${cntr_type}_pack_${dir}{instance=\"$instance\"},ifc)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-30m", "to": "now" }, "timepicker": { "refresh_intervals": [ "5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d" ] }, "timezone": "", "title": "RARE/freeRouter - interfaces packets", "uid": "sqqgkzcee", "version": 2 }freeRtr-25.11.9/misc/prometheus/ldp-null.json000066400000000000000000000174151510423065500210630ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_PROMETHEUS", "label": "Prometheus", "description": "prometheus metric collector that receives metric from freeRouter control plane", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.0" }, { "type": "panel", "id": "graph", "name": "Graph", "version": "" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "editable": true, "gnetId": 13151, "graphTooltip": 0, "id": null, "iteration": 1602514515751, "links": [], "panels": [ { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [ { "from": "", "id": 0, "text": "down", "to": "", "type": 1, "value": "0" }, { "from": "", "id": 1, "text": "up", "to": "", "type": 1, "value": "1" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "black", "value": null }, { "color": "red", "value": 0 }, { "color": "dark-green", "value": 0.1 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Field" }, "properties": [ { "id": "custom.width", "value": 314 } ] } ] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 8, "w": 24, "x": 0, "y": 0 }, "hiddenSeries": false, "id": 12, "legend": { "avg": false, "current": false, "max": false, "min": false, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "repeat": "ldp_peer", "repeatDirection": "v", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "ldp${afi}null_${ldp_fec}_nulled{instance=\"$instance\",ip=\"$ldp_peer\"}", "instant": false, "interval": "", "legendFormat": "", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Number of remote connected interface to ${ldp_peer} (ldp${afi}_${ldp_fec}_nulled)", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "transformations": [], "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:700", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:701", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } } ], "schemaVersion": 26, "style": "dark", "tags": [ "[scope:global]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values({__name__=~\"ldp${afi}null.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"ldp${afi}null.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": false, "text": "4", "value": "4" }, "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "afi", "options": [ { "selected": true, "text": "4", "value": "4" }, { "selected": false, "text": "6", "value": "6" } ], "query": "4,6", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values({__name__=~\"ldp${afi}null_.*\",instance=\"$instance\"},ip)", "hide": 0, "includeAll": true, "label": null, "multi": true, "name": "ldp_peer", "options": [], "query": "label_values({__name__=~\"ldp${afi}null_.*\",instance=\"$instance\"},ip)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": false, "text": "prefix", "value": "prefix" }, "hide": 2, "includeAll": false, "label": null, "multi": false, "name": "ldp_fec", "options": [ { "selected": true, "text": "prefix", "value": "prefix" } ], "query": "prefix", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(vrf_v${afi}{instance=\"$instance\"},name)", "hide": 2, "includeAll": false, "label": null, "multi": false, "name": "vrf", "options": [], "query": "label_values(vrf_v${afi}{instance=\"$instance\"},name)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "RARE/freeRouter - LDP null dashboard", "uid": "AoN8AMcGznulled", "version": 23, "description": "LDP dashboard global to a backbone network " }freeRtr-25.11.9/misc/prometheus/ldp-summ.json000066400000000000000000000264201510423065500210660ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_PROMETHEUS", "label": "Prometheus", "description": "prometheus metric collector that receives metric from freeRouter control plane", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.0" }, { "type": "panel", "id": "graph", "name": "Graph", "version": "" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "editable": true, "gnetId": 13150, "graphTooltip": 0, "id": null, "iteration": 1602514495437, "links": [], "panels": [ { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [ { "from": "", "id": 0, "text": "down", "to": "", "type": 1, "value": "0" }, { "from": "", "id": 1, "text": "up", "to": "", "type": 1, "value": "1" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "black", "value": null }, { "color": "red", "value": 0 }, { "color": "dark-green", "value": 0.1 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Field" }, "properties": [ { "id": "custom.width", "value": 314 } ] } ] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 0 }, "hiddenSeries": false, "id": 2, "legend": { "avg": false, "current": false, "max": false, "min": false, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "repeat": "ldp_peer", "repeatDirection": "v", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "ldp${afi}_${ldp_fec}_learn{instance=\"$instance\",ip=\"$ldp_peer\"}", "instant": false, "interval": "", "legendFormat": "", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "${ldp_fec} learned from ${ldp_peer} (ldp${afi}_${ldp_fec}_learn)", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "transformations": [], "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:51", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:52", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [ { "from": "", "id": 0, "text": "down", "to": "", "type": 1, "value": "0" }, { "from": "", "id": 1, "text": "up", "to": "", "type": 1, "value": "1" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "black", "value": null }, { "color": "red", "value": 0 }, { "color": "dark-green", "value": 0.1 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Field" }, "properties": [ { "id": "custom.width", "value": 314 } ] } ] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 0 }, "hiddenSeries": false, "id": 11, "legend": { "avg": false, "current": false, "max": false, "min": false, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "repeat": "ldp_peer", "repeatDirection": "v", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "ldp${afi}_${ldp_fec}_advert{instance=\"$instance\",ip=\"$ldp_peer\"}", "instant": false, "interval": "", "legendFormat": "", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "${ldp_fec} advertised to ${ldp_peer} (ldp${afi}_${ldp_fec}_advert)", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "transformations": [], "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:51", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:52", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } } ], "schemaVersion": 26, "style": "dark", "tags": [ "[scope:local]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values({__name__=~\"ldp.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"ldp.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": false, "text": "4", "value": "4" }, "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "afi", "options": [ { "selected": true, "text": "4", "value": "4" }, { "selected": false, "text": "6", "value": "6" } ], "query": "4,6", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(ldp${afi}_layer2_advert{instance=\"$instance\"},ip)", "hide": 0, "includeAll": true, "label": null, "multi": true, "name": "ldp_peer", "options": [], "query": "label_values(ldp${afi}_layer2_advert{instance=\"$instance\"},ip)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": false, "text": "prefix", "value": "prefix" }, "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "ldp_fec", "options": [ { "selected": true, "text": "prefix", "value": "prefix" }, { "selected": false, "text": "p2mp", "value": "p2mp" }, { "selected": false, "text": "layer2", "value": "layer2" } ], "query": "prefix,p2mp,layer2", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(vrf_v${afi}{instance=\"$instance\"},name)", "hide": 2, "includeAll": false, "label": null, "multi": false, "name": "vrf", "options": [], "query": "label_values(vrf_v${afi}{instance=\"$instance\"},name)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "RARE/freeRouter - LDP summary", "uid": "AoN8AMcGzldp", "version": 40, "description": "Display LDP summary metrics" }freeRtr-25.11.9/misc/prometheus/lsigp-ifaces.json000066400000000000000000000142421510423065500216750ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_PROMETHEUS", "label": "Prometheus", "description": "prometheus metric collector that receives metric from freeRouter control plane", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.0" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" }, { "type": "panel", "id": "stat", "name": "Stat", "version": "" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "editable": true, "gnetId": 13149, "graphTooltip": 0, "id": null, "iteration": 1602514448028, "links": [], "panels": [ { "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [ { "from": "", "id": 0, "text": "down", "to": "", "type": 1, "value": "0" }, { "from": "", "id": 1, "text": "up", "to": "", "type": 1, "value": "1" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "black", "value": null }, { "color": "red", "value": 0 }, { "color": "dark-green", "value": 0.1 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Field" }, "properties": [ { "id": "custom.width", "value": 314 } ] } ] }, "gridPos": { "h": 2, "w": 2.1818181818181817, "x": 0, "y": 0 }, "id": 2, "maxPerRow": 12, "options": { "colorMode": "background", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "mean" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "7.2.0", "repeat": "iface", "repeatDirection": "h", "targets": [ { "expr": "${igp_type}_iface_neighbors{ifc=\"$iface\",instance=\"$instance\",proto=\"$protocol\"}", "instant": true, "interval": "", "legendFormat": "", "refId": "A" } ], "timeFrom": null, "timeShift": null, "title": "${iface}", "transformations": [], "type": "stat" } ], "schemaVersion": 26, "style": "dark", "tags": [ "[scope:local]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values({__name__=~\"^lsigp.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"^lsigp.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": true, "text": "lsigp4", "value": "lsigp4" }, "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "igp_type", "options": [ { "selected": false, "text": "lsigp4", "value": "lsigp4" }, { "selected": true, "text": "lsigp6", "value": "lsigp6" } ], "query": "lsigp4,lsigp6", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(${igp_type}_iface_neighbors{instance=\"$instance\"},proto)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "protocol", "options": [], "query": "label_values(${igp_type}_iface_neighbors{instance=\"$instance\"},proto)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(${igp_type}_iface_neighbors{instance=\"$instance\",proto=\"$protocol\"},ifc)", "hide": 0, "includeAll": true, "label": null, "multi": true, "name": "iface", "options": [], "query": "label_values(${igp_type}_iface_neighbors{instance=\"$instance\",proto=\"$protocol\"},ifc)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "RARE/freeRouter - Link state IGP interface", "uid": "AoN8AMcGz", "version": 61, "description": "Display IGP link state interface metrics" }freeRtr-25.11.9/misc/prometheus/lsigp-neighbors.json000066400000000000000000000143661510423065500224320ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_PROMETHEUS", "label": "Prometheus", "description": "prometheus metric collector that receives metric from freeRouter control plane", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.0" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" }, { "type": "panel", "id": "stat", "name": "Stat", "version": "" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "editable": true, "gnetId": 13163, "graphTooltip": 0, "id": null, "iteration": 1602514756701, "links": [], "panels": [ { "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, "mappings": [ { "from": "", "id": 0, "text": "up", "to": "", "type": 1, "value": "0" }, { "from": "", "id": 1, "text": "down", "to": "", "type": 1, "value": "-1" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "#000000", "value": null }, { "color": "dark-red", "value": -1 }, { "color": "dark-green", "value": 0 }, { "color": "#000000", "value": 0.1 } ] } }, "overrides": [] }, "gridPos": { "h": 2, "w": 3, "x": 0, "y": 0 }, "id": 2, "maxPerRow": 8, "options": { "colorMode": "background", "graphMode": "area", "justifyMode": "center", "orientation": "vertical", "reduceOptions": { "calcs": [ "last" ], "fields": "", "values": false }, "textMode": "value" }, "pluginVersion": "7.2.0", "repeat": "igp_peer", "repeatDirection": "h", "targets": [ { "expr": "${igp_type}_peers_reachable{instance=\"$instance\",proto=\"$protocol\",node=\"$igp_peer\"}-1", "instant": true, "interval": "", "legendFormat": "", "refId": "A" }, { "expr": "${igp_type}_peers_neighbors{instance=\"$instance\",proto=\"$protocol\",node=\"$igp_peer\"}", "hide": false, "instant": true, "interval": "", "legendFormat": "", "refId": "B" } ], "timeFrom": null, "timeShift": null, "title": "${protocol}:${igp_peer}", "transformations": [], "type": "stat" } ], "refresh": "5s", "schemaVersion": 26, "style": "dark", "tags": [ "[scope:global]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values({__name__=~\"^lsigp.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"^lsigp.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": true, "text": "lsigp4", "value": "lsigp4" }, "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "igp_type", "options": [ { "selected": true, "text": "lsigp4", "value": "lsigp4" }, { "selected": false, "text": "lsigp6", "value": "lsigp6" } ], "query": "lsigp4,lsigp6", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(${igp_type}_peers_neighbors{instance=\"$instance\"},proto)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "protocol", "options": [], "query": "label_values(${igp_type}_peers_neighbors{instance=\"$instance\"},proto)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(${igp_type}_peers_neighbors{instance=\"$instance\"},node)", "hide": 0, "includeAll": true, "label": null, "multi": true, "name": "igp_peer", "options": [], "query": "label_values(${igp_type}_peers_neighbors{instance=\"$instance\"},node)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "RARE/freeRouter - Link State IGP peers / reachability & neighbor count summary", "uid": "LGmFlW5Gz", "version": 68, "description": "Display link state IGP peer reachability and neighbor count metrics" }freeRtr-25.11.9/misc/prometheus/lsigp-peers.json000066400000000000000000000141761510423065500215670ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_PROMETHEUS", "label": "Prometheus", "description": "prometheus metric collector that receives metric from freeRouter control plane", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.0" }, { "type": "panel", "id": "graph", "name": "Graph", "version": "" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "editable": true, "gnetId": 13146, "graphTooltip": 0, "id": null, "iteration": 1602517183887, "links": [], "panels": [ { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 0 }, "hiddenSeries": false, "id": 2, "legend": { "avg": false, "current": false, "max": false, "min": false, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 5, "maxPerRow": 2, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "repeat": "igp_peer", "repeatDirection": "h", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "${igp_type}_peers_neighbors{instance=\"$instance\",proto=\"$protocol\",node=\"$igp_peer\"}", "interval": "", "legendFormat": "", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "${igp_peer}", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:343", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:344", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } } ], "schemaVersion": 26, "style": "dark", "tags": [ "[scope:global]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values({__name__=~\"^lsigp.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"^lsigp.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": true, "text": "lsigp6", "value": "lsigp6" }, "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "igp_type", "options": [ { "selected": false, "text": "lsigp4", "value": "lsigp4" }, { "selected": true, "text": "lsigp6", "value": "lsigp6" } ], "query": "lsigp4,lsigp6", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(${igp_type}_peers_neighbors{instance=\"$instance\"},proto)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "protocol", "options": [], "query": "label_values(${igp_type}_peers_neighbors{instance=\"$instance\"},proto)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(${igp_type}_peers_neighbors{instance=\"$instance\"},node)", "hide": 0, "includeAll": true, "label": null, "multi": true, "name": "igp_peer", "options": [], "query": "label_values(${igp_type}_peers_neighbors{instance=\"$instance\"},node)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "RARE/freeRouter - Links State IGP peers and neighbor count", "uid": "FODuEMcGk", "version": 39, "description": "Display a global IGP view and neighbor count metrics" }freeRtr-25.11.9/misc/prometheus/lsigp-perf.json000066400000000000000000000414131510423065500213770ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_PROMETHEUS", "label": "Prometheus", "description": "prometheus metric collector that receives metric from freeRouter control plane", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.0" }, { "type": "panel", "id": "graph", "name": "Graph", "version": "" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "editable": true, "gnetId": 13148, "graphTooltip": 0, "id": null, "iteration": 1602514382717, "links": [], "panels": [ { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "description": "", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 8, "w": 24, "x": 0, "y": 0 }, "hiddenSeries": false, "id": 10, "legend": { "avg": false, "current": false, "max": false, "min": false, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "${igp_type}_perf_unreachableval{instance=\"$instance\",proto=\"$protocol\"}", "instant": false, "interval": "", "legendFormat": "", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Number of unreachable nodes", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:152", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:153", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "description": "Calmness of your IGP", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 8, "w": 24, "x": 0, "y": 8 }, "hiddenSeries": false, "id": 6, "legend": { "avg": false, "current": false, "max": false, "min": false, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 5, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "rate(${igp_type}_perf_runval{instance=\"$instance\",proto=\"$protocol\"}[1m])", "instant": false, "interval": "", "legendFormat": "", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Number of SPF(s) per second", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:152", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:153", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "description": "Accidental redistribution into your IGP", "fieldConfig": { "defaults": { "custom": {}, "unit": "ms" }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 8, "w": 24, "x": 0, "y": 16 }, "hiddenSeries": false, "id": 8, "legend": { "avg": false, "current": false, "max": false, "min": false, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "${igp_type}_perf_fillval{instance=\"$instance\",proto=\"$protocol\"}", "instant": false, "interval": "", "legendFormat": "", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Link state database parsing time", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:152", "format": "ms", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:153", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 8, "w": 24, "x": 0, "y": 24 }, "hiddenSeries": false, "id": 9, "legend": { "avg": false, "current": false, "max": false, "min": false, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "${igp_type}_perf_reachableval{instance=\"$instance\",proto=\"$protocol\"}", "instant": false, "interval": "", "legendFormat": "", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Number of reachable nodes", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:152", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:153", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "description": "Ability to spot rogue node", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 8, "w": 24, "x": 0, "y": 32 }, "hiddenSeries": false, "id": 2, "legend": { "avg": false, "current": false, "max": false, "min": false, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 1, "maxPerRow": 2, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "repeat": "instance", "repeatDirection": "h", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "${igp_type}_perf_reachableval{instance=\"$instance\",proto=\"$protocol\"}", "hide": false, "interval": "", "legendFormat": "", "refId": "D" }, { "expr": "${igp_type}_perf_unreachableval{instance=\"$instance\",proto=\"$protocol\"}", "hide": false, "interval": "", "legendFormat": "", "refId": "F" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Number of nodes in your networks", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "transformations": [ { "id": "calculateField", "options": { "mode": "reduceRow", "reduce": { "reducer": "sum" }, "replaceFields": true } } ], "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:589", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:590", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, "unit": "ms" }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 8, "w": 24, "x": 0, "y": 40 }, "hiddenSeries": false, "id": 7, "legend": { "avg": false, "current": false, "max": false, "min": false, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "${igp_type}_perf_calcval{instance=\"$instance\",proto=\"$protocol\"}", "instant": false, "interval": "", "legendFormat": "", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "SPF calculation duration", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:152", "format": "ms", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:153", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } } ], "refresh": "5s", "schemaVersion": 26, "style": "dark", "tags": [ "[scope:local]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(up,instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values(up,instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": true, "text": "lsigp6", "value": "lsigp6" }, "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "igp_type", "options": [ { "selected": true, "text": "lsigp4", "value": "lsigp4" }, { "selected": false, "text": "lsigp6", "value": "lsigp6" } ], "query": "lsigp4,lsigp6", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(${igp_type}_iface_neighbors{instance=\"$instance\"},proto)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "protocol", "options": [], "query": "label_values(${igp_type}_iface_neighbors{instance=\"$instance\"},proto)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "RARE/freeRouter - Link State IGP performance and neighbor count", "uid": "hyvDqG5Mk", "version": 59, "description": "Display IGP performance and neighbor count" }freeRtr-25.11.9/misc/prometheus/nrpe.json000066400000000000000000000230451510423065500202740ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_PROMETHEUS", "label": "Prometheus", "description": "prometheus metric collector that receives metric from freeRouter control plane", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.0" }, { "type": "panel", "id": "graph", "name": "Graph", "version": "" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" }, { "type": "panel", "id": "stat", "name": "Stat", "version": "" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "editable": true, "gnetId": 13145, "graphTooltip": 0, "id": null, "iteration": 1602514306943, "links": [], "panels": [ { "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, "mappings": [ { "from": "", "id": 0, "text": "down", "to": "", "type": 1, "value": "0" }, { "from": "", "id": 1, "text": "up", "to": "", "type": 1, "value": "1" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "black", "value": null }, { "color": "red", "value": -0.1 }, { "color": "dark-green", "value": 0.1 } ] } }, "overrides": [] }, "gridPos": { "h": 3, "w": 4, "x": 0, "y": 0 }, "id": 12, "maxPerRow": 12, "options": { "colorMode": "background", "graphMode": "none", "justifyMode": "center", "orientation": "vertical", "reduceOptions": { "calcs": [ "last" ], "fields": "", "values": false }, "textMode": "value" }, "pluginVersion": "7.2.0", "repeat": "nrpe_name", "repeatDirection": "h", "targets": [ { "expr": "nrpe_state{instance=\"$instance\",name=\"$nrpe_name\"}", "instant": true, "interval": "", "legendFormat": "", "refId": "A" } ], "timeFrom": null, "timeShift": null, "title": "NRPE ${nrpe_name}", "type": "stat" }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "dark-green", "value": null } ] }, "unit": "none" }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 11, "w": 12, "x": 0, "y": 3 }, "hiddenSeries": false, "id": 3, "legend": { "alignAsTable": true, "avg": false, "current": true, "max": true, "min": true, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "repeat": "nrpe_name", "repeatDirection": "v", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "rate(nrpe_failed{instance=\"$instance\",name=\"$nrpe_name\"}[1m])", "interval": "", "legendFormat": "Failed", "refId": "B" }, { "expr": "rate(nrpe_passed{instance=\"$instance\",name=\"$nrpe_name\"}[1m])", "interval": "", "legendFormat": "Passed", "refId": "C" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "${nrpe_name}:failed/passed rate", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:67", "format": "none", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:68", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "dark-green", "value": null } ] }, "unit": "s" }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 11, "w": 12, "x": 12, "y": 3 }, "hiddenSeries": false, "id": 39, "legend": { "alignAsTable": true, "avg": false, "current": true, "max": true, "min": true, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "repeat": "nrpe_name", "repeatDirection": "v", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "nrpe_time{instance=\"$instance\",name=\"$nrpe_name\"}", "hide": false, "instant": false, "interval": "", "legendFormat": "Total", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "${nrpe_name}:time", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:67", "format": "s", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:68", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } } ], "schemaVersion": 26, "style": "dark", "tags": [ "[scope:local]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values({__name__=~\"^nrpe_.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"^nrpe_.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(nrpe_state{instance=\"$instance\"},name)", "hide": 0, "includeAll": true, "label": null, "multi": true, "name": "nrpe_name", "options": [], "query": "label_values(nrpe_state{instance=\"$instance\"},name)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "RARE/freeRouter - NRPE", "uid": "b_eUM55Ga", "version": 50, "description": "Display NREP metrics" }freeRtr-25.11.9/misc/prometheus/rout-ifaces.json000066400000000000000000000123731510423065500215530ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_PROMETHEUS", "label": "Prometheus", "description": "", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.1" }, { "type": "panel", "id": "graph", "name": "Graph", "version": "" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "editable": true, "gnetId": 13161, "graphTooltip": 0, "id": null, "iteration": 1602673176038, "links": [], "panels": [ { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 0 }, "hiddenSeries": false, "id": 2, "legend": { "avg": false, "current": false, "max": false, "min": false, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 1, "maxPerRow": 2, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.1", "pointradius": 2, "points": false, "renderer": "flot", "repeat": "protocol", "repeatDirection": "h", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "routing${afi}_ifaces{instance=\"$instance\",proto=\"$protocol\"}", "interval": "", "legendFormat": "", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "${protocol}", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:203", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:204", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } } ], "schemaVersion": 26, "style": "dark", "tags": [ "[scope:local]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values({__name__=~\"^routing${afi}.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"^routing${afi}.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": false, "text": "4", "value": "4" }, "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "afi", "options": [ { "selected": false, "text": "4", "value": "4" }, { "selected": true, "text": "6", "value": "6" } ], "query": "4,6", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(routing${afi}_ifaces{instance=\"$instance\"},proto)", "hide": 0, "includeAll": true, "label": null, "multi": true, "name": "protocol", "options": [], "query": "label_values(routing${afi}_ifaces{instance=\"$instance\"},proto)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "RARE/freeRouter - Routing / Interfaces", "uid": "I7M4UF5Gk", "version": 3 }freeRtr-25.11.9/misc/prometheus/rout-neighbors.json000066400000000000000000000124051510423065500222750ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_PROMETHEUS", "label": "Prometheus", "description": "", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.1" }, { "type": "panel", "id": "graph", "name": "Graph", "version": "" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "editable": true, "gnetId": 13160, "graphTooltip": 0, "id": null, "iteration": 1602673188960, "links": [], "panels": [ { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 0 }, "hiddenSeries": false, "id": 2, "legend": { "avg": false, "current": false, "max": false, "min": false, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 1, "maxPerRow": 2, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.1", "pointradius": 2, "points": false, "renderer": "flot", "repeat": "protocol", "repeatDirection": "h", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "routing${afi}_neighbors{instance=\"$instance\",proto=\"$protocol\"}", "interval": "", "legendFormat": "", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "${protocol}", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:368", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:369", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } } ], "schemaVersion": 26, "style": "dark", "tags": [ "[scope:local]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values({__name__=~\"^routing${afi}_.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"^routing${afi}_.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": false, "text": "4", "value": "4" }, "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "afi", "options": [ { "selected": true, "text": "4", "value": "4" }, { "selected": false, "text": "6", "value": "6" } ], "query": "4,6", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(routing${afi}_neighbors{instance=\"$instance\"},proto)", "hide": 0, "includeAll": true, "label": null, "multi": true, "name": "protocol", "options": [], "query": "label_values(routing${afi}_neighbors{instance=\"$instance\"},proto)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "RARE/freeRouter - Routing / Neighbors", "uid": "I7M4UF5Gf", "version": 4 }freeRtr-25.11.9/misc/prometheus/rout-routes.json000066400000000000000000000200271510423065500216350ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_PROMETHEUS", "label": "Prometheus", "description": "", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.1" }, { "type": "panel", "id": "graph", "name": "Graph", "version": "" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "editable": true, "gnetId": 13162, "graphTooltip": 0, "id": null, "iteration": 1602673128848, "links": [], "panels": [ { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 0 }, "hiddenSeries": false, "id": 2, "legend": { "avg": false, "current": false, "max": false, "min": false, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 1, "maxPerRow": 2, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.1", "pointradius": 2, "points": false, "renderer": "flot", "repeat": "protocol", "repeatDirection": "v", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "routing${afi}_computed_${routing_report_type}{instance=\"$instance\",proto=\"$protocol\"}", "interval": "", "legendFormat": "", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "${protocol}->${routing_report_type}", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 0 }, "hiddenSeries": false, "id": 6, "legend": { "avg": false, "current": false, "max": false, "min": false, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 1, "maxPerRow": 2, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.1", "pointradius": 2, "points": false, "renderer": "flot", "repeat": "protocol", "repeatDirection": "v", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "rate(routing${afi}_computed_changed{instance=\"$instance\",proto=\"$protocol\"}[1m])", "interval": "", "legendFormat": "", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "${protocol}->changed/second", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } } ], "schemaVersion": 26, "style": "dark", "tags": [ "[scope:local]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values({__name__=~\"^routing${afi}.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"^routing${afi}.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": false, "text": "4", "value": "4" }, "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "afi", "options": [ { "selected": false, "text": "4", "value": "4" }, { "selected": true, "text": "6", "value": "6" } ], "query": "4,6", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(routing${afi}_ifaces{instance=\"$instance\"},proto)", "hide": 0, "includeAll": true, "label": null, "multi": true, "name": "protocol", "options": [], "query": "label_values(routing${afi}_ifaces{instance=\"$instance\"},proto)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values({__name__=~\"routing${afi}_(.*?)\"},__name__)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "routing_report_type", "options": [], "query": "label_values({__name__=~\"routing${afi}_(.*?)\"},__name__)", "refresh": 1, "regex": "routing${afi}_computed_(unicast|multicast|flowspec)$", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "RARE/freeRouter - Routing / Computed - Redistributed", "uid": "I7M4UF5CR", "version": 5 }freeRtr-25.11.9/misc/prometheus/sensor.json000066400000000000000000000203121510423065500206330ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_PROMETHEUS", "label": "Prometheus", "description": "prometheus metric collector that receives metric from freeRouter control plane", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "panel", "id": "bargauge", "name": "Bar gauge", "version": "" }, { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.0" }, { "type": "panel", "id": "graph", "name": "Graph", "version": "" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" }, { "type": "panel", "id": "stat", "name": "Stat", "version": "" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "editable": true, "gnetId": 13144, "graphTooltip": 0, "id": null, "iteration": 1602514286833, "links": [], "panels": [ { "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "dark-green", "value": null }, { "color": "dark-green", "value": 0 }, { "color": "dark-orange", "value": 100 } ] }, "unit": "ms" }, "overrides": [] }, "gridPos": { "h": 6, "w": 12, "x": 0, "y": 0 }, "id": 2, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ "last" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "7.2.0", "repeat": null, "targets": [ { "expr": "prom_time{instance=\"$instance\",met=\"metrics\"}", "instant": false, "interval": "", "legendFormat": "{{met}}", "refId": "A" } ], "timeFrom": null, "timeShift": null, "title": "{$instance}: All metrics fetch duration", "type": "stat" }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "dark-green", "value": null }, { "color": "dark-green", "value": 0 }, { "color": "dark-orange", "value": 100 } ] }, "unit": "none" }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 6, "w": 12, "x": 12, "y": 0 }, "hiddenSeries": false, "id": 4, "legend": { "alignAsTable": true, "avg": false, "current": true, "max": true, "min": true, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "rate(prom_asked{instance=\"$instance\",met=\"metrics\"}[1m])", "instant": false, "interval": "", "legendFormat": "Asked count", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Metric query rate for target: {$instance}", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:970", "format": "none", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:971", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "dark-green", "value": null }, { "color": "dark-green", "value": 0 }, { "color": "dark-orange", "value": 100 } ] }, "unit": "ms" }, "overrides": [] }, "gridPos": { "h": 18, "w": 24, "x": 0, "y": 6 }, "id": 3, "options": { "displayMode": "gradient", "orientation": "horizontal", "reduceOptions": { "calcs": [ "last" ], "fields": "", "values": false }, "showUnfilled": true }, "pluginVersion": "7.2.0", "targets": [ { "expr": "prom_time{instance=\"$instance\",met!~\"metrics\"}", "instant": true, "interval": "", "legendFormat": "{{met}}", "refId": "A" } ], "timeFrom": null, "timeShift": null, "title": "{$instance} Prometheus metrics", "type": "bargauge" } ], "schemaVersion": 26, "style": "dark", "tags": [ "[scope:local]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values({__name__=~\"prom_.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"prom_.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values({met=~\".*\",instance=\"$instance\"},met)", "hide": 2, "includeAll": true, "label": null, "multi": true, "name": "metric_name", "options": [], "query": "label_values({met=~\".*\",instance=\"$instance\"},met)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "RARE/freeRouter - Prometheus metrics", "uid": "vZWgBhcMk", "version": 44, "description": "Display freeRouter Prometheus metrics" }freeRtr-25.11.9/misc/prometheus/system.json000066400000000000000000000503621510423065500206560ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_PROMETHEUS", "label": "Prometheus", "description": "", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "panel", "id": "bargauge", "name": "Bar gauge", "version": "" }, { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.0" }, { "type": "panel", "id": "graph", "name": "Graph", "version": "" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "editable": true, "gnetId": 13143, "graphTooltip": 0, "id": null, "iteration": 1602514265019, "links": [], "panels": [ { "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "dark-green", "value": null } ] }, "unit": "decbytes" }, "overrides": [] }, "gridPos": { "h": 11, "w": 6, "x": 0, "y": 0 }, "id": 8, "options": { "displayMode": "lcd", "orientation": "horizontal", "reduceOptions": { "calcs": [ "last" ], "fields": "", "values": false }, "showUnfilled": true }, "pluginVersion": "7.2.0", "targets": [ { "expr": "system_gc_memory_maximum_val{instance=\"$instance\"}", "hide": false, "instant": true, "interval": "", "legendFormat": "Total", "refId": "A" }, { "expr": "system_gc_memory_used_val{instance=\"$instance\"}", "hide": false, "instant": true, "interval": "", "legendFormat": "Used", "refId": "B" }, { "expr": "system_gc_memory_free_val{instance=\"$instance\"}", "hide": false, "instant": true, "interval": "", "legendFormat": "Free", "refId": "C" } ], "timeFrom": null, "timeShift": null, "title": "Garbage Collector", "type": "bargauge" }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "dark-green", "value": null } ] }, "unit": "decbytes" }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 11, "w": 18, "x": 6, "y": 0 }, "hiddenSeries": false, "id": 12, "legend": { "alignAsTable": true, "avg": false, "current": true, "max": true, "min": true, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "system_gc_memory_used_val{instance=\"$instance\"}", "hide": false, "instant": false, "interval": "", "legendFormat": "Used", "refId": "B" }, { "expr": "system_gc_memory_free_val{instance=\"$instance\"}", "hide": false, "instant": false, "interval": "", "legendFormat": "Free", "refId": "C" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Garbage Collector timeseries", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "decbytes", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, "unit": "ms" }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 11, "w": 12, "x": 0, "y": 11 }, "hiddenSeries": false, "id": 11, "legend": { "alignAsTable": true, "avg": false, "current": true, "max": true, "min": true, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "rate(system_ProcessCpuTime_val{instance=\"$instance\"}[1m])/1000000", "interval": "", "legendFormat": "", "refId": "D" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "CPU time", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:150", "format": "ms", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:151", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, "unit": "none" }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 11, "w": 12, "x": 12, "y": 11 }, "hiddenSeries": false, "id": 6, "legend": { "alignAsTable": true, "avg": false, "current": true, "max": true, "min": true, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "system_ProcessCpuLoad_val{instance=\"$instance\"}", "interval": "", "legendFormat": "", "refId": "A" }, { "expr": "system_SystemCpuLoad_val{instance=\"$instance\"}", "interval": "", "legendFormat": "", "refId": "B" }, { "expr": "system_SystemLoadAverage_val{instance=\"$instance\"}", "interval": "", "legendFormat": "", "refId": "C" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "CPU load", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:150", "format": "none", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:151", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, "unit": "decbytes" }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 11, "w": 12, "x": 0, "y": 22 }, "hiddenSeries": false, "id": 5, "legend": { "alignAsTable": true, "avg": false, "current": true, "max": true, "min": true, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "system_CommittedVirtualMemorySize_val{instance=\"$instance\"}", "interval": "", "legendFormat": "Committed Virtual Memory Size", "refId": "A" }, { "expr": "system_FreePhysicalMemorySize_val{instance=\"$instance\"}", "interval": "", "legendFormat": "Free Physical Memory Size", "refId": "B" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Virtual Memory", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:150", "format": "decbytes", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:151", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 11, "w": 12, "x": 12, "y": 22 }, "hiddenSeries": false, "id": 10, "legend": { "alignAsTable": true, "avg": false, "current": true, "max": true, "min": true, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "rate(system_gc_G1_Old_Generation_ran_val{instance=\"$instance\"}[1m])", "interval": "", "legendFormat": "", "refId": "A" }, { "expr": "rate(system_gc_G1_Old_Generation_time_val{instance=\"$instance\"}[1m])", "interval": "", "legendFormat": "", "refId": "B" }, { "expr": "rate(system_gc_G1_Young_Generation_ran_val{instance=\"$instance\"}[1m])", "interval": "", "legendFormat": "", "refId": "C" }, { "expr": "rate(system_gc_G1_Young_Generation_time_val{instance=\"$instance\"}[1m])", "interval": "", "legendFormat": "", "refId": "D" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "G1_Old|New_Generation", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:793", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:794", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "dark-green", "value": null } ] }, "unit": "decbytes" }, "overrides": [] }, "gridPos": { "h": 9, "w": 6, "x": 0, "y": 33 }, "id": 2, "options": { "displayMode": "lcd", "orientation": "horizontal", "reduceOptions": { "calcs": [ "last" ], "fields": "", "values": false }, "showUnfilled": true }, "pluginVersion": "7.2.0", "targets": [ { "expr": "system_disk_total_bytes{instance=\"$instance\"}", "hide": false, "instant": true, "interval": "", "legendFormat": "Total", "refId": "A" }, { "expr": "system_disk_free_bytes{instance=\"$instance\"}", "hide": false, "instant": true, "interval": "", "legendFormat": "Free", "refId": "B" }, { "expr": "system_disk_usable_bytes{instance=\"$instance\"}", "hide": false, "instant": true, "interval": "", "legendFormat": "Usable", "refId": "C" } ], "timeFrom": null, "timeShift": null, "title": "System disk", "type": "bargauge" }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "dark-green", "value": null } ] }, "unit": "decbytes" }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 9, "w": 18, "x": 6, "y": 33 }, "hiddenSeries": false, "id": 3, "legend": { "alignAsTable": true, "avg": false, "current": true, "max": true, "min": true, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "system_disk_total_bytes{instance=\"$instance\"}", "hide": false, "instant": false, "interval": "", "legendFormat": "Total", "refId": "A" }, { "expr": "system_disk_free_bytes{instance=\"$instance\"}", "hide": false, "instant": false, "interval": "", "legendFormat": "Free", "refId": "B" }, { "expr": "system_disk_usable_bytes{instance=\"$instance\"}", "hide": false, "instant": false, "interval": "", "legendFormat": "Usable", "refId": "C" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "System disk timeseries", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:267", "format": "decbytes", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:268", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } } ], "refresh": "5s", "schemaVersion": 26, "style": "dark", "tags": [ "[scope:local]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values({__name__=~\"^system_.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"^system_.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-15m", "to": "now" }, "timepicker": {}, "timezone": "", "title": "RARE/freeRouter - System", "uid": "b_eUM55Gz", "version": 58, "description": "Display freeRouter system statistics" }freeRtr-25.11.9/misc/prometheus/tracker.json000066400000000000000000000106141510423065500207610ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_PROMETHEUS", "label": "Prometheus", "description": "prometheus metric collector that receives metric from freeRouter control plane", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.0" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" }, { "type": "panel", "id": "stat", "name": "Stat", "version": "" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "editable": true, "gnetId": 13142, "graphTooltip": 0, "id": null, "iteration": 1602514193734, "links": [], "panels": [ { "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {}, "mappings": [ { "from": "", "id": 0, "text": "down", "to": "", "type": 1, "value": "0" }, { "from": "", "id": 1, "text": "up", "to": "", "type": 1, "value": "1" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "black", "value": null }, { "color": "red", "value": -0.1 }, { "color": "dark-green", "value": 0.9 } ] } }, "overrides": [] }, "gridPos": { "h": 4, "w": 3, "x": 0, "y": 0 }, "id": 8, "maxPerRow": 8, "options": { "colorMode": "background", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "last" ], "fields": "", "values": false }, "textMode": "value" }, "pluginVersion": "7.2.0", "repeat": "trackers", "repeatDirection": "h", "targets": [ { "expr": "tracker_state{instance=\"$instance\",name=\"$trackers\"}", "instant": false, "interval": "", "legendFormat": "", "refId": "A" } ], "timeFrom": null, "timeShift": null, "title": "${trackers}", "type": "stat" } ], "schemaVersion": 26, "style": "dark", "tags": [ "[scope:local]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values({__name__=~\"tracker_.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"tracker_.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(tracker_state{instance=\"$instance\"},name)", "hide": 0, "includeAll": true, "label": null, "multi": true, "name": "trackers", "options": [], "query": "label_values(tracker_state{instance=\"$instance\"},name)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "RARE/freeRouter - Tracker", "uid": "b_eUM55Gzs", "version": 24, "description": "Display freeRouter tracker status" }freeRtr-25.11.9/misc/prometheus/traf-byte.json000066400000000000000000000143141510423065500212240ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_MP-LS.PROMETHEUS", "label": "mp-ls.prometheus", "description": "", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.0" }, { "type": "panel", "id": "graph", "name": "Graph", "version": "" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "description": "Display routed traffic byte metrics", "editable": true, "gnetId": 13247, "graphTooltip": 0, "id": null, "iteration": 1603357293384, "links": [], "panels": [ { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_MP-LS.PROMETHEUS}", "description": "", "fieldConfig": { "defaults": { "custom": {}, "links": [] }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 9, "w": 8, "x": 0, "y": 0 }, "hiddenSeries": false, "id": 2, "legend": { "alignAsTable": true, "avg": true, "current": true, "max": true, "min": true, "rightSide": false, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "maxPerRow": 3, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "repeat": "prefix", "repeatDirection": "h", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "rate(routed_traffic${afi}_byte{instance=\"$instance\",typ=\"$cntr_type\",prefix=\"$prefix\"}[1m])*8", "interval": "", "legendFormat": "tx", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "${cntr_type}:${prefix}", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "bps", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } } ], "refresh": "5s", "schemaVersion": 26, "style": "dark", "tags": [ "[scope:local]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_MP-LS.PROMETHEUS}", "definition": "label_values({__name__=~\"^routed_traffic.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"^routed_traffic.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": true, "text": "hw", "value": "hw" }, "hide": 0, "includeAll": false, "label": "", "multi": false, "name": "cntr_type", "options": [ { "selected": false, "text": "hw", "value": "hw" }, { "selected": true, "text": "sw", "value": "sw" } ], "query": "hw,sw", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": { "selected": true, "text": "4", "value": "4" }, "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "afi", "options": [ { "selected": false, "text": "4", "value": "4" }, { "selected": true, "text": "6", "value": "6" } ], "query": "4,6", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": {}, "datasource": "${DS_MP-LS.PROMETHEUS}", "definition": "label_values(routed_traffic${afi}_byte{instance=\"$instance\"},prefix)", "hide": 0, "includeAll": true, "label": null, "multi": true, "name": "prefix", "options": [], "query": "label_values(routed_traffic${afi}_byte{instance=\"$instance\"},prefix)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-30m", "to": "now" }, "timepicker": { "refresh_intervals": [ "5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d" ] }, "timezone": "", "title": "RARE/freeRouter - Routed traffic bytes", "uid": "sqqgkzcGzbrt4b", "version": 14 }freeRtr-25.11.9/misc/prometheus/traf-pack.json000066400000000000000000000143451510423065500212030ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_MP-LS.PROMETHEUS", "label": "mp-ls.prometheus", "description": "", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.0" }, { "type": "panel", "id": "graph", "name": "Graph", "version": "" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "description": "Display routed traffic packet metric", "editable": true, "gnetId": 13248, "graphTooltip": 0, "id": null, "iteration": 1603357311649, "links": [], "panels": [ { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_MP-LS.PROMETHEUS}", "description": "", "fieldConfig": { "defaults": { "custom": {}, "links": [], "unit": "pps" }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 9, "w": 8, "x": 0, "y": 0 }, "hiddenSeries": false, "id": 2, "legend": { "alignAsTable": true, "avg": true, "current": true, "max": true, "min": true, "rightSide": false, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "maxPerRow": 3, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "repeat": "prefix", "repeatDirection": "h", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "rate(routed_traffic${afi}_pack{instance=\"$instance\",typ=\"$cntr_type\",prefix=\"$prefix\"}[1m])", "interval": "", "legendFormat": "tx", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "${cntr_type}:${prefix}", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "pps", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } } ], "refresh": "5s", "schemaVersion": 26, "style": "dark", "tags": [ "[scope:local]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_MP-LS.PROMETHEUS}", "definition": "label_values({__name__=~\"^routed_traffic.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"^routed_traffic.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": true, "text": "hw", "value": "hw" }, "hide": 0, "includeAll": false, "label": "", "multi": false, "name": "cntr_type", "options": [ { "selected": false, "text": "hw", "value": "hw" }, { "selected": true, "text": "sw", "value": "sw" } ], "query": "hw,sw", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": { "selected": true, "text": "4", "value": "4" }, "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "afi", "options": [ { "selected": false, "text": "4", "value": "4" }, { "selected": true, "text": "6", "value": "6" } ], "query": "4,6", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": {}, "datasource": "${DS_MP-LS.PROMETHEUS}", "definition": "label_values(routed_traffic${afi}_pack{instance=\"$instance\"},prefix)", "hide": 0, "includeAll": true, "label": null, "multi": true, "name": "prefix", "options": [], "query": "label_values(routed_traffic${afi}_pack{instance=\"$instance\"},prefix)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-30m", "to": "now" }, "timepicker": { "refresh_intervals": [ "5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d" ] }, "timezone": "", "title": "RARE/freeRouter - Routed traffic packets", "uid": "sqqgkzcGzbpack", "version": 4 }freeRtr-25.11.9/misc/prometheus/vrf.json000066400000000000000000000202601510423065500201210ustar00rootroot00000000000000{ "__inputs": [ { "name": "DS_PROMETHEUS", "label": "Prometheus", "description": "prometheus metric collector that receives metric from freeRouter control plane", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.2.0" }, { "type": "panel", "id": "graph", "name": "Graph", "version": "" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "editable": true, "gnetId": 13141, "graphTooltip": 0, "id": null, "iteration": 1602514086095, "links": [], "panels": [ { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 0 }, "hiddenSeries": false, "id": 4, "legend": { "alignAsTable": true, "avg": false, "current": true, "max": true, "min": true, "rightSide": false, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "maxPerRow": 2, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "repeat": "vrf", "repeatDirection": "v", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "vrf_v4{type=\"$type\",instance=\"$instance\",name=\"$vrf\"}", "hide": false, "interval": "", "legendFormat": "", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "${vrf}_${afi}", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:566", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:567", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "${DS_PROMETHEUS}", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 9, "w": 12, "x": 12, "y": 0 }, "hiddenSeries": false, "id": 14, "legend": { "alignAsTable": true, "avg": false, "current": true, "max": true, "min": true, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.2.0", "pointradius": 2, "points": false, "renderer": "flot", "repeat": "vrf", "repeatDirection": "v", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "vrf_v6{type=\"$type\",instance=\"$instance\",name=\"$vrf\"}", "interval": "", "legendFormat": "", "refId": "B" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "${vrf}_v6", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:355", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:356", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } } ], "refresh": "5s", "schemaVersion": 26, "style": "dark", "tags": [ "[scope:local]" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values({__name__=~\"^vrf_.*\"},instance)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "instance", "options": [], "query": "label_values({__name__=~\"^vrf_.*\"},instance)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": false, "text": "v4", "value": "v4" }, "hide": 2, "includeAll": false, "label": null, "multi": false, "name": "afi", "options": [ { "selected": true, "text": "v4", "value": "v4" }, { "selected": false, "text": "v6", "value": "v6" } ], "query": "v4,v6", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(vrf_${afi}{instance=\"$instance\"},name)", "hide": 0, "includeAll": true, "label": null, "multi": true, "name": "vrf", "options": [], "query": "label_values(vrf_${afi}{instance=\"$instance\"},name)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": {}, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(vrf_${afi}{instance=\"$instance\"},type)", "hide": 0, "includeAll": false, "label": null, "multi": false, "name": "type", "options": [], "query": "label_values(vrf_${afi}{instance=\"$instance\"},type)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "RARE/freeRouter - VRF route count", "uid": "e6pUBGcGk", "version": 106, "description": "Number of routes in freeRouter node VRFs" }freeRtr-25.11.9/misc/pvrp/000077500000000000000000000000001510423065500152255ustar00rootroot00000000000000freeRtr-25.11.9/misc/pvrp/index2.html000066400000000000000000000063521510423065500173120ustar00rootroot00000000000000

The Path Vector Routing Protocol specification



there are some captures of the protocol:
ipv4 capture
ipv6 capture


there are some text decodes of the protocol:
ipv4 decode
ipv6 decode




here is a specification about it:
pvrp specification by J. Sreenan



this is a clear text protocol.


the prefix descriptor have the following parameters:
-prefix=<addr>/<len>
-label=<num>
-metric=<num>
-external=true/false
-tag=<num>
-segrou=<num>
-bieri=<num>
-biers=<num>
-path=<rtrid> [rtrid]...

there are these types of messages:
-open rtrid=<addr> mtu=<num> bfd=<num> iface=<text> name=<text>
-reachable <prefix>
-withdraw <prefix>
-metric <num>
-measme true/false
-segrou <num> <num>
-bier <num> <num> <num>
-startEncrypt <proto>
-password-request <base64channenge>
-password-reply <base64response>
-signed <base64sign> <text>
-error <text>
-warning <text>
-discard <text>
-echo <text>
-echoed <text>
-close
-resend
-resending
-request <addr>/<len>
-nomore
-keepalive <num>


freeRtr-25.11.9/misc/pvrp/pvrp4.pcap000066400000000000000000000061141510423065500171470ustar00rootroot00000000000000Ôò¡ÿÿ¯úTe<<""E,þ¸Â³ Ëžè`Àlý¯úTg<<""E,þ¸Ã ³d´–¸Ëžé`Àq¯úTh<<""E(þ¸Å³ Ëžéd´–¹PÀ‡ˆ¯úThRR""EDþ¸¨³ Ëžéd´–¹PÀ†open rtrid=4.4.4.2 name=r2 ¯úTkRR""EDþ¸ª ³d´–¹ËŸPÀ…þopen rtrid=4.4.4.1 name=r1 ¯úTk<<""E(þ¸Å ³d´–ÕËŸPÀ‡P¯úTl<<""E(þ¸Ã³ ËŸd´–ÕPÀ‡P¯úTlRR""EDþ¸¨ ³d´–¹ËŸPÀ…þopen rtrid=4.4.4.1 name=r1 #¯úTGG""E9 þ¸±³ ËŸd´–ÕPÀêëkeepalive 15000 #¯úT<<""E( þ¸Á³ ËŸd´–ÕPÀ‡?#¯úT<<""E(þ¸Ã ³d´–ÕËŸPÀ‡?#¯úT<<""E( þ¸Â ³d´–ÕËŸPÀ‡?#¯úT¬¬""Ež þ¸J³ ËŸd´–ÕPÀ|¶reachable prefix=1.1.1.4/30 metric=0 tag=0 path= 4.4.4.2 reachable prefix=2.2.2.2/32 metric=0 tag=0 path= 4.4.4.2 #¯úT<<""E( þ¸Á ³d´–ÕËŸŒPÀ†É#¯úT‚‚""Et þ¸t ³d´–ÕËŸŒPÀR·keepalive 15000 reachable prefix=2.2.2.1/32 metric=0 tag=0 path= 4.4.4.1 #¯úT'<<""E( þ¸¿³ ËŸŒd´—!PÀ†}#¯úT*GG""E9 þ¸­³ ËŸŒd´—!PÀêkeepalive 15000 #¯úT+GG""E9 þ¸® ³d´—!ËŸŒPÀêkeepalive 15000 #¯úT+<<""E( þ¸¾ ³d´—2ËŸPÀ†[#¯úT+GG""E9þ¸¬ ³d´—!ËŸPÀêkeepalive 15000 #¯úT1<<""E(þ¸½³ ËŸd´—2PÀ†['¯úTGG""E9þ¸¤³ ËŸd´—2PÀéökeepalive 15000 '¯úT<<""E(þ¸´³ ËŸ®d´—2PÀ†J'¯úT<<""E(þ¸» ³d´—2ËŸ®PÀ†J'¯úT<<""E(þ¸º ³d´—2ËŸ®PÀ†J'¯úT¼¼""E®þ¸-³ ËŸ®d´—2PÀï!reachable prefix=1.1.1.8/30 metric=10 tag=0 path= 4.4.4.2 4.4.4.3 reachable prefix=2.2.2.3/32 metric=10 tag=0 path= 4.4.4.2 4.4.4.3 '¯úT<<""E(þ¸¹ ³d´—2Ë 4PÀ…Ä'¯úT#GG""E9þ¸§ ³d´—2Ë 4PÀé_keepalive 15000 '¯úT$<<""E(þ¸°³ Ë 4d´—CPÀ…³,¯úTGG""E9þ¸›³ Ë 4d´—CPÀéNkeepalive 15000 ,¯úT<<""E( þ¸«³ Ë Ed´—CPÀ…¢,¯úT<<""E(þ¸· ³d´—CË EPÀ…¢,¯úT<<""E(þ¸¶ ³d´—CË EPÀ…¢,¯úT!GG""E9þ¸¤ ³d´—CË EPÀé=keepalive 15000 ,¯úT"<<""E(!þ¸ª³ Ë Ed´—TPÀ…‘freeRtr-25.11.9/misc/pvrp/pvrp4.txt000066400000000000000000000007671510423065500170530ustar00rootroot00000000000000open rtrid=4.4.4.2 name=r2 open rtrid=4.4.4.1 name=r1 keepalive 15000 reachable prefix=1.1.1.4/30 metric=0 tag=0 path= 4.4.4.2 reachable prefix=2.2.2.2/32 metric=0 tag=0 path= 4.4.4.2 keepalive 15000 reachable prefix=2.2.2.1/32 metric=0 tag=0 path= 4.4.4.1 keepalive 15000 keepalive 15000 keepalive 15000 reachable prefix=1.1.1.8/30 metric=10 tag=0 path= 4.4.4.2 4.4.4.3 reachable prefix=2.2.2.3/32 metric=10 tag=0 path= 4.4.4.2 4.4.4.3 keepalive 15000 keepalive 15000 keepalive 15000 freeRtr-25.11.9/misc/pvrp/pvrp6.pcap000066400000000000000000000066021510423065500171530ustar00rootroot00000000000000Ôò¡ÿÿ¯úTyNN""†Ý`þ44šˆ a?l?`ÀG[¯úTzNN""†Ý`þ44šˆ a?l?`ÀG[¯úT{NN""†Ý`þ44 šˆtû‹Ka?l@`ÀG¯úT}JJ""†Ý`þ44šˆ a?l@tû‹LPÀ] ¯úT~ff""†Ý`0þ44šˆ a?l@tû‹LPÀ[–open rtrid=6.6.6.2 name=r2 ¯úT†ff""†Ý`0þ44 šˆtû‹La?l@PÀ[˜open rtrid=6.6.6.1 name=r1 ¯úT‡JJ""†Ý`þ44 šˆtû‹ha?l\PÀ\Ô¯úTˆJJ""†Ý`þ44šˆ a?l\tû‹hPÀ\Ô#¯úT'ÓÓ""†Ý`þ44šˆ a?l\tû‹hPÀ+»keepalive 15000 reachable prefix=1234:2::/32 metric=0 tag=0 path= 6.6.6.2 reachable prefix=4321::2/128 metric=0 tag=0 path= 6.6.6.2 #¯úT'JJ""†Ý`þ44šˆ a?låtû‹hPÀ\K#¯úT)JJ""†Ý`þ44 šˆtû‹ha?låPÀ\K#¯úT)JJ""†Ý`þ44 šˆtû‹ha?låPÀ\K#¯úT,——""†Ý`aþ44 šˆtû‹ha?låPÀukeepalive 15000 reachable prefix=4321::1/128 metric=0 tag=0 path= 6.6.6.1 #¯úT/[[""†Ý`%þ44šˆ a?låtû‹µPÀ¿™keepalive 15000 #¯úT/JJ""†Ý`þ44 šˆtû‹µa?löPÀ[í'¯úT1[[""†Ý`%þ44šˆ a?lötû‹µPÀ¿ˆkeepalive 15000 '¯úT2JJ""†Ý`þ44 šˆtû‹µa?mPÀ[Ü'¯úT2JJ""†Ý`þ44 šˆtû‹µa?mPÀ[Ü'¯úT2JJ""†Ý`þ44šˆ a?mtû‹µPÀ[Ü'¯úT3ŸŸ""†Ý`iþ44šˆ a?lötû‹µPÀâ$keepalive 15000 reachable prefix=1234:3::/32 metric=10 tag=0 path= 6.6.6.2 6.6.6.3 '¯úT5[[""†Ý`%þ44 šˆtû‹µa?mKPÀ¿3keepalive 15000 '¯úT6JJ""†Ý`þ44šˆ a?mKtû‹ÆPÀ[‡'¯úT<ŸŸ""†Ý`iþ44šˆ a?mKtû‹ÆPÀÞÅkeepalive 15000 reachable prefix=4321::3/128 metric=10 tag=0 path= 6.6.6.2 6.6.6.3 '¯úT=JJ""†Ý`þ44 šˆtû‹Æa?m PÀ[2'¯úT>[[""†Ý`%þ44 šˆtû‹Æa?m PÀ¾Íkeepalive 15000 '¯úTKJJ""†Ý`þ44šˆ a?m tû‹×PÀ[!,¯úT=[[""†Ý`%þ44šˆ a?m tû‹×PÀ¾¼keepalive 15000 ,¯úT=JJ""†Ý`þ44šˆ a?m±tû‹×PÀ[,¯úT=JJ""†Ý`þ44 šˆtû‹×a?m±PÀ[,¯úT>JJ""†Ý`þ44 šˆtû‹×a?m±PÀ[,¯úT?[[""†Ý`%þ44 šˆtû‹×a?m±PÀ¾«keepalive 15000 ,¯úT@JJ""†Ý`þ44šˆ a?m±tû‹èPÀZÿfreeRtr-25.11.9/misc/pvrp/pvrp6.txt000066400000000000000000000010151510423065500170400ustar00rootroot00000000000000open rtrid=6.6.6.2 name=r2 open rtrid=6.6.6.1 name=r1 keepalive 15000 reachable prefix=1234:2::/32 metric=0 tag=0 path= 6.6.6.2 reachable prefix=4321::2/128 metric=0 tag=0 path= 6.6.6.2 keepalive 15000 reachable prefix=4321::1/128 metric=0 tag=0 path= 6.6.6.1 keepalive 15000 keepalive 15000 reachable prefix=1234:3::/32 metric=10 tag=0 path= 6.6.6.2 6.6.6.3 keepalive 15000 keepalive 15000 reachable prefix=4321::3/128 metric=10 tag=0 path= 6.6.6.2 6.6.6.3 keepalive 15000 keepalive 15000 keepalive 15000 freeRtr-25.11.9/misc/rare.svg000066400000000000000000000130431510423065500157110ustar00rootroot00000000000000 freeRtr-25.11.9/misc/rfcs/000077500000000000000000000000001510423065500151735ustar00rootroot00000000000000freeRtr-25.11.9/misc/rfcs/c.sh000077500000000000000000000001141510423065500157500ustar00rootroot00000000000000#!/bin/sh ./d.sh javac -source 11 -target 11 -Xlint:all -deprecation *.java freeRtr-25.11.9/misc/rfcs/d.sh000077500000000000000000000000421510423065500157510ustar00rootroot00000000000000#!/bin/sh rm *.class 2> /dev/null freeRtr-25.11.9/misc/rfcs/renamer.java000066400000000000000000000032551510423065500174740ustar00rootroot00000000000000 import java.io.File; /** * rfc renamer * * @author matecsaba */ public class renamer { private static String repairPath(String a) { if (a.endsWith("/")) { return a; } return a + "/"; } private final static int needed = 4; /** * this is needed for cli startup * * @param args command line parameters */ public static void main(String[] args) { File[] fls = new File[0]; String src = repairPath(args[0]); String trg = repairPath(args[1]); try { fls = new File(src).listFiles(); } catch (Exception e) { } for (int i = 0; i < fls.length; i++) { File cur = fls[i]; String org = cur.getName(); if (!org.toLowerCase().startsWith("rfc")) { continue; } int s = org.length(); String nw = org.substring(3, s); int o = nw.indexOf("."); if (o < 0) { continue; } s = nw.length(); String ext = nw.substring(o, s).toLowerCase(); nw = nw.substring(0, o); for (int p = nw.length(); p < needed; p++) { nw = "0" + nw; } nw = "rfc" + nw + ext; if (nw.equals(org)) { continue; } System.out.print("renaming " + org + " to " + nw + "... "); try { cur.renameTo(new File(trg + nw)); System.out.print("done"); } catch (Exception e) { System.out.print("error"); } System.out.println("."); } } } freeRtr-25.11.9/misc/rfcs/renamer.sh000077500000000000000000000005001510423065500171560ustar00rootroot00000000000000#!/bin/sh java renamer rfc0xxx/ rfc0xxx/ java renamer rfc1xxx/ rfc1xxx/ java renamer rfc2xxx/ rfc2xxx/ java renamer rfc3xxx/ rfc3xxx/ java renamer rfc4xxx/ rfc4xxx/ java renamer rfc5xxx/ rfc5xxx/ java renamer rfc6xxx/ rfc6xxx/ java renamer rfc7xxx/ rfc7xxx/ java renamer rfc8xxx/ rfc8xxx/ java renamer rfc9xxx/ rfc9xxx/ freeRtr-25.11.9/misc/router.svg000066400000000000000000000265631510423065500163130ustar00rootroot00000000000000 image/svg+xml freeRtr-25.11.9/misc/sdwan/000077500000000000000000000000001510423065500153525ustar00rootroot00000000000000freeRtr-25.11.9/misc/sdwan/index2.html000066400000000000000000000035701510423065500174360ustar00rootroot00000000000000 Software Defined WAN

Software Defined WAN



this is a clear text protocol.


endpoint parameters:
<ipver>
<address>
<port>
<idnum>
<ipv4>
<ipv6>
[nosgt]
[nomacsec]

there are these types of messages:
-sdwan
-okay
-hello
-username <text>
-software <text>
-middleware <text>
-forwarder <text>
-hardware <text>
-kernel <text>
-needaddr <true/false> <true/false>
-myaddr <ipv4> <ipv6>
-youraddr <ipv4> <ipv6>
-yourid <num>
-nomore
-echo <text>
-echoed <text>
-endpoint_add <parameters>
-endpoint_del <parameters>


freeRtr-25.11.9/misc/sensor/000077500000000000000000000000001510423065500155475ustar00rootroot00000000000000freeRtr-25.11.9/misc/sensor/acl.txt000066400000000000000000000012651510423065500170530ustar00rootroot00000000000000sensor acl4 path acl4 prefix acl4 prepend acl4_ command sho access-list nat4 name 0 seq= key acl4 acl4/acl4 skip 2 column 1 name txbyte column 1 split + typ="sw" typ="hw" column 2 name txpack column 2 split + typ="sw" typ="hw" column 3 name rxbyte column 3 split + typ="sw" typ="hw" column 4 name rxpack column 4 split + typ="sw" typ="hw" . exit sensor acl6 path acl6 prefix acl6 prepend acl6_ command sho access-list nat4 name 0 seq= key acl6 acl6/acl6 skip 2 column 1 name txbyte column 1 split + typ="sw" typ="hw" column 2 name txpack column 2 split + typ="sw" typ="hw" column 3 name rxbyte column 3 split + typ="sw" typ="hw" column 4 name rxpack column 4 split + typ="sw" typ="hw" . exit freeRtr-25.11.9/misc/sensor/bfd.txt000066400000000000000000000010251510423065500170410ustar00rootroot00000000000000sensor bfd4 path bfd4/peer/peer prefix freertr-bfd4 key name bfd4/peer command sho ipv4 bfd inet neighbor prepend bfd4_ name 1 ip= replace \. _ column 2 name state column 2 replace down 0 column 2 replace init 1 column 2 replace shut -1 column 2 replace up 2 . exit sensor bfd6 path bfd6/peer/peer prefix freertr-bfd6 key name bfd6/peer command sho ipv6 bfd inet neighbor prepend bfd6_ name 1 ip= replace \: _ column 2 name state column 2 replace down 0 column 2 replace init 1 column 2 replace shut -1 column 2 replace up 2 . exit freeRtr-25.11.9/misc/sensor/bgp.txt000066400000000000000000000023331510423065500170610ustar00rootroot00000000000000sensor bgp4peer path bgp4/peer/peer prefix freertr-bgp4peer key name bgp4/peer command sho ipv4 bgp 65535 summ prepend bgp4_peer_ name 0 peer= replace \. _ column 2 name state column 2 replace down 0 column 2 replace up 1 column 3 name learn column 4 name advert . exit sensor bgp4perf path bgp4/perf/perf prefix freertr-bgp4perf key name bgp4/perf command sho ipv4 bgp 65535 best | exc last prepend bgp4_perf_ replace \s _ column 1 name val . exit sensor bgp4pref path bgp4/pref/pref prefix freertr-bgp4pref key name bgp4/pref command sho ipv4 bgp 65535 tables prepend bgp4_pref_ replace \s _ column 1 name val . exit sensor bgp6peer path bgp6/peer/peer prefix freertr-bgp6peer key name bgp6/peer command sho ipv6 bgp 65535 summ prepend bgp6_peer_ name 0 peer= replace \: _ column 2 name state column 2 replace down 0 column 2 replace up 1 column 3 name learn column 3 name advert . exit sensor bgp6perf path bgp6/perf/perf prefix freertr-bgp6perf key name bgp6/perf command sho ipv6 bgp 65535 best | exc last prepend bgp6_perf_ replace \s _ column 1 name val . exit sensor bgp6pref path bgp6/pref/pref prefix freertr-bgp6pref key name bgp6/pref command sho ipv6 bgp 65535 tables prepend bgp6_pref_ replace \s _ column 1 name val . exit freeRtr-25.11.9/misc/sensor/bmp-sum.txt000066400000000000000000000003721510423065500176720ustar00rootroot00000000000000sensor bmp-rtr1vh path bmp-rtr1vh/bmp-rtr1vh prefix freertr-bmp-nodesum key name bmp/bmp-rtr1vh prepend bmp_nodesum command sho bmp bmp 195.111.97.108 | include rep\s|\sin|\sout name 0 data= labels node="rtr1vh" replace \s _ column 1 name val . exit freeRtr-25.11.9/misc/sensor/bmp.txt000066400000000000000000000004151510423065500170660ustar00rootroot00000000000000sensor bmp path bmp/peer/peer prefix freertr-bmp key name bmp/peer command sho bmp bmp prepend bmp_ name 0 from= addname 1 * rpeer= replace \. _ replace \: _ column 2 name asn column 3 name state column 3 replace down 0 column 3 replace up 1 column 4 name flaps . exit freeRtr-25.11.9/misc/sensor/bridge.txt000066400000000000000000000010061510423065500175410ustar00rootroot00000000000000sensor bridge path bridge/peer/peer prefix freertr-bridge key name bridge/peer command sho bridge 1 | beg addr prepend br_mac_ name 0 mac= addname 1 * ifc= replace \. _ column 3 name pack_tx column 3 split + typ="sw" typ="hw" column 4 name pack_rx column 4 split + typ="sw" typ="hw" column 5 name pack_dr column 5 split + typ="sw" typ="hw" column 6 name byte_tx column 6 split + typ="sw" typ="hw" column 7 name byte_rx column 7 split + typ="sw" typ="hw" column 8 name byte_dr column 8 split + typ="sw" typ="hw" . exit freeRtr-25.11.9/misc/sensor/c.sh000077500000000000000000000001671510423065500163340ustar00rootroot00000000000000#/bin/sh for fn in *.txt ; do java -jar ../../src/rtr.jar test yangsensor $fn ../../binTmp/ done rm reload.log freeRtr-25.11.9/misc/sensor/check.txt000066400000000000000000000004321510423065500173640ustar00rootroot00000000000000sensor check path check/peer/peer prefix freertr-check key name check/peer command sho check prepend check_ name 0 name= skip 2 column 1 name state column 1 replace down 0 column 1 replace up 1 column 2 name asked column 3 name time column 4 name passed column 6 name failed . exit freeRtr-25.11.9/misc/sensor/disk.txt000066400000000000000000000005701510423065500172440ustar00rootroot00000000000000sensor disk path disk/peer/peer prefix freertr-disk key name disk/peer command flas disk /rtr/ | exc path prepend system_disk_ column 1 name _bytes . exit sensor flash path flash/peer/peer prefix freertr-flash key name flash/peer command flas list /rtr/ | inc rtr prepend system_flash_ name 2 name= replace \. _ replace \- _ column 1 name size column 1 replace dir -1 . exit freeRtr-25.11.9/misc/sensor/dvigp-babel.txt000066400000000000000000000015511510423065500204660ustar00rootroot00000000000000sensor dvigp4int path dvigp4int/peer/peer prefix freertr-dvigp4int key name dvigp4int/peer command sho ipv4 babel 1 interface prepend dvigp4_iface_ name 0 proto="babel1",ifc= replace \. _ column 1 name neighbors . exit sensor dvigp4peer path dvigp4peer/peer/peer prefix freertr-dvigp4peer key name dvigp4peer/peer command sho ipv4 babel 1 summary prepend dvigp4_peers_ name 2 proto="babel1",ip= replace \. _ column 1 name learn . exit sensor dvigp6int path dvigp6int/peer/peer prefix freertr-dvigp6int key name dvigp6int/peer command sho ipv6 babel 1 interface prepend dvigp6_iface_ name 0 proto="babel1",ifc= replace \. _ column 1 name neighbors . exit sensor dvigp6peer path dvigp6peer/peer/peer prefix freertr-dvigp6peer key name dvigp6peer/peer command sho ipv6 babel 1 summary prepend dvigp6_peers_ name 2 proto="babel1",ip= replace \: _ column 1 name learn . exit freeRtr-25.11.9/misc/sensor/dvigp-eigrp.txt000066400000000000000000000015651510423065500205340ustar00rootroot00000000000000sensor dvigp4int path dvigp4int/peer/peer prefix freertr-dvigp4int key name dvigp4int/peer command sho ipv4 eigrp 1 interface prepend dvigp4_iface_ name 0 proto="eigrp1",ifc= replace \. _ column 1 name neighbors . exit sensor dvigp4peer path dvigp4peer/peer/peer prefix freertr-dvigp4peer key name dvigp4peer/peer command sho ipv4 eigrp 1 summary prepend dvigp4_peers_ name 1 ip= replace \. _ column 2 name learn column 3 name advert . exit sensor dvigp6int path dvigp6int/peer/peer prefix freertr-dvigp6int key name dvigp6int/peer command sho ipv6 eigrp 1 interface prepend dvigp6_iface_ name 0 proto="eigrp1",ifc= replace \. _ column 1 name neighbors . exit sensor dvigp6peer path dvigp6peer/peer/peer prefix freertr-dvigp6peer key name dvigp6peer/peer command sho ipv6 eigrp 1 summary prepend dvigp6_peers_ name 1 ip= replace \: _ column 2 name learn column 3 name advert . exit freeRtr-25.11.9/misc/sensor/dvigp-olsr.txt000066400000000000000000000015411510423065500203770ustar00rootroot00000000000000sensor dvigp4int path dvigp4int/peer/peer prefix freertr-dvigp4int key name dvigp4int/peer command sho ipv4 olsr 1 interface prepend dvigp4_iface_ name 0 proto="olsr1",ifc= replace \. _ column 1 name neighbors . exit sensor dvigp4peer path dvigp4peer/peer/peer prefix freertr-dvigp4peer key name dvigp4peer/peer command sho ipv4 olsr 1 summary prepend dvigp4_peers_ name 2 proto="olsr1",ip= replace \. _ column 1 name learn . exit sensor dvigp6int path dvigp6int/peer/peer prefix freertr-dvigp6int key name dvigp6int/peer command sho ipv6 olsr 1 interface prepend dvigp6_iface_ name 0 proto="olsr1",ifc= replace \. _ column 1 name neighbors . exit sensor dvigp6peer path dvigp6peer/peer/peer prefix freertr-dvigp6peer key name dvigp6peer/peer command sho ipv6 olsr 1 summary prepend dvigp6_peers_ name 2 proto="olsr1",ip= replace \: _ column 1 name learn . exit freeRtr-25.11.9/misc/sensor/dvigp-pvrp.txt000066400000000000000000000016131510423065500204070ustar00rootroot00000000000000sensor dvigp4int path dvigp4int/peer/peer prefix freertr-dvigp4int key name dvigp4int/peer command sho ipv4 pvrp 1 interface prepend dvigp4_iface_ name 0 proto="pvrp1",ifc= replace \. _ column 1 name neighbors . exit sensor dvigp4peer path dvigp4peer/peer/peer prefix freertr-dvigp4peer key name dvigp4peer/peer command sho ipv4 pvrp 1 summary prepend dvigp4_peers_ name 4 proto="pvrp1",ip= replace \. _ column 5 name learn column 6 name advert . exit sensor dvigp6int path dvigp6int/peer/peer prefix freertr-dvigp6int key name dvigp6int/peer command sho ipv6 pvrp 1 interface prepend dvigp6_iface_ name 0 proto="pvrp1",ifc= replace \. _ column 1 name neighbors . exit sensor dvigp6peer path dvigp6peer/peer/peer prefix freertr-dvigp6peer key name dvigp6peer/peer command sho ipv6 pvrp 1 summary prepend dvigp6_peers_ name 4 proto="pvrp1",ip= replace \: _ column 5 name learn column 6 name advert . exit freeRtr-25.11.9/misc/sensor/dvigp-rip.txt000066400000000000000000000015311510423065500202110ustar00rootroot00000000000000sensor dvigp4int path dvigp4int/peer/peer prefix freertr-dvigp4int key name dvigp4int/peer command sho ipv4 rip 1 interface prepend dvigp4_iface_ name 0 proto="rip1",ifc= replace \. _ column 1 name neighbors . exit sensor dvigp4peer path dvigp4peer/peer/peer prefix freertr-dvigp4peer key name dvigp4peer/peer command sho ipv4 rip 1 summary prepend dvigp4_peers_ name 2 proto="rip1",ip= replace \. _ column 1 name learn . exit sensor dvigp6int path dvigp6int/peer/peer prefix freertr-dvigp6int key name dvigp6int/peer command sho ipv6 rip 1 interface prepend dvigp6_iface_ replace \. _ name 0 proto="rip1",ifc= column 1 name neighbors . exit sensor dvigp6peer path dvigp6peer/peer/peer prefix freertr-dvigp6peer key name dvigp6peer/peer command sho ipv6 rip 1 summary prepend dvigp6_peers_ name 2 proto="rip1",ip= replace \: _ column 1 name learn . exit freeRtr-25.11.9/misc/sensor/flaps.txt000066400000000000000000000006311510423065500174150ustar00rootroot00000000000000sensor flaps4 path flaps/peer/peer prefix freertr-flaps key name flaps/peer command show ipv4 logger 1 flapstat 100 prepend flaps_ipv4_ name 1 prefix= replace \. _ replace \- _ column 2 name count . exit sensor flaps6 path flaps/peer/peer prefix freertr-flaps key name flaps/peer command show ipv6 logger 1 flapstat 100 prepend flaps_ipv6_ name 1 prefix= replace \. _ replace \- _ column 2 name count . exit freeRtr-25.11.9/misc/sensor/gc.txt000066400000000000000000000002341510423065500167000ustar00rootroot00000000000000sensor gc path gc/peer/peer prefix freertr-gc key name gc/peer command sho watchdog gc | exc name prepend system_gc_ replace \s _ column 1 name _val . exit freeRtr-25.11.9/misc/sensor/ghosts.txt000066400000000000000000000005551510423065500176240ustar00rootroot00000000000000sensor ghosts4 path ghosts/peer/peer prefix freertr-ghosts key name ghosts/peer command show ipv4 ghosthunt 1 status prepend ghosts_ipv4_ name 0 category= column 2 name count . exit sensor ghosts6 path ghosts/peer/peer prefix freertr-ghosts key name ghosts/peer command show ipv6 ghosthunt 1 status prepend ghosts_ipv6_ name 0 category= column 2 name count . exit freeRtr-25.11.9/misc/sensor/http.txt000066400000000000000000000002271510423065500172700ustar00rootroot00000000000000sensor http path http/domain/domain prefix freertr-http prepend http_ command sho http inet name 0 name= key name http/domain column 1 name hit . exit freeRtr-25.11.9/misc/sensor/iface-byte.txt000066400000000000000000000012231510423065500203160ustar00rootroot00000000000000sensor ifaces-hw path interfaces-hw/interface/counter prefix freertr-ifaces key name interfaces-hw/interface command sho inter hwsumm prepend iface_hw_byte_ name 0 ifc= replace \. _ column 1 name st column 1 replace admin -1 column 1 replace down 0 column 1 replace up 1 column 2 name tx column 3 name rx column 4 name dr . exit sensor ifaces-sw path interfaces-sw/interface/counter prefix freertr-ifaces key name interfaces-sw/interface command sho inter swsumm prepend iface_sw_byte_ name 0 ifc= replace \. _ column 1 name st column 1 replace admin -1 column 1 replace down 0 column 1 replace up 1 column 2 name tx column 3 name rx column 4 name dr . exit freeRtr-25.11.9/misc/sensor/iface-pack.txt000066400000000000000000000012331510423065500202720ustar00rootroot00000000000000sensor ifaces-hwp path interfaces-hwp/interface/counter prefix freertr-ifaces key name interfaces-hwp/interface command sho inter hwpsumm prepend iface_hw_pack_ name 0 ifc= replace \. _ column 1 name st column 1 replace admin -1 column 1 replace down 0 column 1 replace up 1 column 2 name tx column 3 name rx column 4 name dr . exit sensor ifaces-swp path interfaces-swp/interface/counter prefix freertr-ifaces key name interfaces-swp/interface command sho inter swpsumm prepend iface_sw_pack_ name 0 ifc= replace \. _ column 1 name st column 1 replace admin -1 column 1 replace down 0 column 1 replace up 1 column 2 name tx column 3 name rx column 4 name dr . exit freeRtr-25.11.9/misc/sensor/ldp-null.txt000066400000000000000000000010171510423065500200360ustar00rootroot00000000000000sensor ldp4nul path ldp4nul/peer/peer prefix freertr-ldp4nul key name ldp4nul/peer command sho ipv4 ldp inet nulled-summary prepend ldp4null_ name 3 ip= skip 2 replace \. _ column 0 name prefix_learn column 1 name prefix_advert column 2 name prefix_nulled . exit sensor ldp6nul path ldp6nul/peer/peer prefix freertr-ldp6nul key name ldp6nul/peer command sho ipv6 ldp inet nulled-summary prepend ldp6null_ name 3 ip= skip 2 replace \: _ column 0 name prefix_learn column 1 name prefix_advert column 2 name prefix_nulled . exit freeRtr-25.11.9/misc/sensor/ldp-summ.txt000066400000000000000000000012251510423065500200460ustar00rootroot00000000000000sensor ldp4sum path ldp4sum/peer/peer prefix freertr-ldp4sum key name ldp4sum/peer command sho ipv4 ldp inet summary prepend ldp4_ name 6 ip= skip 2 replace \. _ column 0 name prefix_learn column 1 name prefix_advert column 2 name layer2_learn column 3 name layer2_advert column 4 name p2mp_learn column 5 name p2mp_advert . exit sensor ldp6sum path ldp6sum/peer/peer prefix freertr-ldp6sum key name ldp6sum/peer command sho ipv6 ldp inet summary prepend ldp6_ name 6 ip= skip 2 replace \: _ column 0 name prefix_learn column 1 name prefix_advert column 2 name layer2_learn column 3 name layer2_advert column 4 name p2mp_learn column 5 name p2mp_advert . exit freeRtr-25.11.9/misc/sensor/lsigp-isis.txt000066400000000000000000000036561510423065500204050ustar00rootroot00000000000000sensor lsigp4int path lsigp4int/peer/peer prefix freertr-lsigp4int key name lsigp4int/peer command sho ipv4 isis 1 interface prepend lsigp4_iface_ name 0 proto="isis1",ifc= replace \. _ column 1 name neighbors . exit sensor lsigp4peer path lsigp4peer/peer/peer prefix freertr-lsigp4peer key name lsigp4peer/peer command sho ipv4 isis 1 topology 2 | inc reach prepend lsigp4_peers_ name 0 proto="isis1",node= replace \. _ column 2 name reachable column 2 replace false 0 column 2 replace true 1 column 3 name neighbors . exit sensor lsigp4perf path lsigp4perf/peer/peer prefix freertr-lsigp4perf key name lsigp4perf/peer command sho ipv4 isis 1 spf 2 | inc reachable|fill|calc|run prepend lsigp4_perf_ labels proto="isis1" skip 0 column 1 name val . exit sensor lsigp6int path lsigp6int/peer/peer prefix freertr-lsigp6int key name lsigp6int/peer command sho ipv6 isis 1 interface prepend lsigp6_iface_ name 0 proto="isis1",ifc= replace \. _ column 1 name neighbors . exit sensor lsigp6peer path lsigp6peer/peer/peer prefix freertr-lsigp6peer key name lsigp6peer/peer command sho ipv6 isis 1 topology 2 | inc reach name 0 proto="isis1",node= prepend lsigp6_peers_ replace \. _ column 2 name reachable column 2 replace false 0 column 2 replace true 1 column 3 name neighbors . exit sensor lsigp6perf path lsigp6perf/peer/peer prefix freertr-lsigp6perf key name lsigp6perf/peer command sho ipv6 isis 1 spf 2 | inc reachable|fill|calc|run prepend lsigp6_perf_ labels proto="isis1" skip 0 column 1 name val . exit sensor lsigp4metric path lsigp4metric/peer/peer prefix freertr-lsigp4metric prepend lsigp4_metric_ command show ipv4 isis 1 metric name 0 proto="isis1",ifc= key name lsigp4metric/peer replace \. _ column 4 name metric . exit sensor lsigp6metric path lsigp6metric/peer/peer prefix freertr-lsigp6metric prepend lsigp6_metric_ command show ipv6 isis 1 metric name 0 proto="isis1",ifc= key name lsigp6metric/peer replace \. _ column 4 name metric . exit freeRtr-25.11.9/misc/sensor/lsigp-lsrp.txt000066400000000000000000000036461510423065500204150ustar00rootroot00000000000000sensor lsigp4int path lsigp4int/peer/peer prefix freertr-lsigp4int key name lsigp4int/peer command sho ipv4 lsrp 1 interface prepend lsigp4_iface_ name 0 proto="lsrp1",ifc= replace \. _ column 1 name neighbors . exit sensor lsigp4peer path lsigp4peer/peer/peer prefix freertr-lsigp4peer key name lsigp4peer/peer command sho ipv4 lsrp 1 topology | inc reach prepend lsigp4_peers_ name 0 proto="lsrp1",node= replace \. _ column 2 name reachable column 2 replace false 0 column 2 replace true 1 column 3 name neighbors . exit sensor lsigp4perf path lsigp4perf/peer/peer prefix freertr-lsigp4perf key name lsigp4perf/peer command sho ipv4 lsrp 1 spf | inc reachable|fill|calc|run prepend lsigp4_perf_ labels proto="lsrp1" skip 0 column 1 name val . exit sensor lsigp6int path lsigp6int/peer/peer prefix freertr-lsigp6int key name lsigp6int/peer command sho ipv6 lsrp 1 interface prepend lsigp6_iface_ name 0 proto="lsrp1",ifc= replace \. _ column 1 name neighbors . exit sensor lsigp6peer path lsigp6peer/peer/peer prefix freertr-lsigp6peer key name lsigp6peer/peer command sho ipv6 lsrp 1 topology | inc reach prepend lsigp6_peers_ name 0 proto="lsrp1",node= replace \. _ column 2 name reachable column 2 replace false 0 column 2 replace true 1 column 3 name neighbors . exit sensor lsigp6perf path lsigp6perf/peer/peer prefix freertr-lsigp6perf key name lsigp6perf/peer command sho ipv6 lsrp 1 spf | inc reachable|fill|calc|run prepend lsigp6_perf_ labels proto="lsrp1" skip 0 column 1 name val . exit sensor lsigp4metric path lsigp4metric/peer/peer prefix freertr-lsigp4metric prepend lsigp4_metric_ command show ipv4 lsrp 1 metric name 0 proto="lsrp1",ifc= key name lsigp4metric/peer replace \. _ column 4 name metric . exit sensor lsigp6metric path lsigp6metric/peer/peer prefix freertr-lsigp6metric prepend lsigp6_metric_ command show ipv6 lsrp 1 metric name 0 proto="lsrp1",ifc= key name lsigp6metric/peer replace \. _ column 4 name metric . exit freeRtr-25.11.9/misc/sensor/lsigp-ospf.txt000066400000000000000000000036721510423065500204030ustar00rootroot00000000000000sensor lsigp4int path lsigp4int/peer/peer prefix freertr-lsigp4int key name lsigp4int/peer command sho ipv4 ospf 1 interface prepend lsigp4_iface_ name 0 proto="ospf1",ifc= replace \. _ column 1 name neighbors . exit sensor lsigp4peer path lsigp4peer/peer/peer prefix freertr-lsigp4peer key name lsigp4peer/peer command sho ipv4 ospf 1 topology 0 | inc reach prepend lsigp4_peers_ name 0 proto="ospf1",node= replace \. _ column 2 name reachable column 2 replace false 0 column 2 replace true 1 column 3 name neighbors . exit sensor lsigp4perf path lsigp4perf/peer/peer prefix freertr-lsigp4perf key name lsigp4perf/peer command sho ipv4 ospf 1 spf 0 | inc reachable|fill|calc|run prepend lsigp4_perf_ labels proto="ospf1" skip 0 column 1 name val . exit sensor lsigp6int path lsigp6int/peer/peer prefix freertr-lsigp6int key name lsigp6int/peer command sho ipv6 ospf 1 interface prepend lsigp6_iface_ name 0 proto="ospf1",ifc= replace \. _ column 1 name neighbors . exit sensor lsigp6peer path lsigp6peer/peer/peer prefix freertr-lsigp6peer key name lsigp6peer/peer command sho ipv6 ospf 1 topology 0 | inc reach prepend lsigp6_peers_ name 0 proto="ospf1",node= replace \. _ replace \/ _ column 2 name reachable column 2 replace false 0 column 2 replace true 1 column 3 name neighbors . exit sensor lsigp6perf path lsigp6perf/peer/peer prefix freertr-lsigp6perf key name lsigp6perf/peer command sho ipv6 ospf 1 spf 0 | inc reachable|fill|calc|run prepend lsigp6_perf_ labels proto="ospf1" skip 0 column 1 name val . exit sensor lsigp4metric path lsigp4metric/peer/peer prefix freertr-lsigp4metric prepend lsigp4_metric_ command show ipv4 ospf 1 metric name 0 proto="ospf1",ifc= key name lsigp4metric/peer replace \. _ column 4 name metric . exit sensor lsigp6metric path lsigp6metric/peer/peer prefix freertr-lsigp6metric prepend lsigp6_metric_ command show ipv6 ospf 1 metric name 0 proto="ospf1",ifc= key name lsigp6metric/peer replace \. _ column 4 name metric . exit freeRtr-25.11.9/misc/sensor/mtracker.txt000066400000000000000000000004421510423065500201200ustar00rootroot00000000000000sensor mtracker path mtracker/peer/peer prefix freertr-mtracker key name mtracker/peer command sho mtracker inet list prepend mtracker_ name 0 from= addname 1 * peer= replace \- _ column 2 name state column 2 replace down 0 column 2 replace up 1 column 6 name rtt column 7 name loss . exit freeRtr-25.11.9/misc/sensor/routing.txt000066400000000000000000000017431510423065500200040ustar00rootroot00000000000000sensor routing4 path routing4/peer/peer prefix freertr-routing4 key name routing4/peer command sho ipv4 protocol inet | beg computed prepend routing4_ name 0 proto= addname 1 * id= skip 2 column 2 name ifaces column 3 name neighbors column 4 name computed_unicast column 5 name computed_multicast column 6 name computed_flowspec column 7 name computed_changed column 9 name redisted_unicast column 10 name redisted_multicast column 11 name redisted_flowspec column 12 name redisted_changed . exit sensor routing6 path routing6/peer/peer prefix freertr-routing6 key name routing6/peer command sho ipv6 protocol inet | beg computed prepend routing6_ name 0 proto= addname 1 * id= skip 2 column 2 name ifaces column 3 name neighbors column 4 name computed_unicast column 5 name computed_multicast column 6 name computed_flowspec column 7 name computed_changed column 9 name redisted_unicast column 10 name redisted_multicast column 11 name redisted_flowspec column 12 name redisted_changed . exit freeRtr-25.11.9/misc/sensor/rpki.txt000066400000000000000000000003471510423065500172610ustar00rootroot00000000000000sensor rpki path rpki/peer/peer prefix freertr-rpki key name rpki/peer command sho ipv4 rpki 65535 summ prepend rpki_peer_ name 0 peer= replace \. _ column 1 name ipv4 column 2 name ipv6 column 3 name key column 4 name aspa . exit freeRtr-25.11.9/misc/sensor/sensor.txt000066400000000000000000000002541510423065500176220ustar00rootroot00000000000000sensor sensor path sensor/peer/peer prefix freertr-sensor key name sensor/peer command sho sensor prepend sensor_ name 0 met= column 1 name asked column 2 name time . exit freeRtr-25.11.9/misc/sensor/sys.txt000066400000000000000000000002361510423065500171270ustar00rootroot00000000000000sensor sys path sys/peer/peer prefix freertr-sys key name sys/peer command sho watchdog sys | exc name prepend system_ replace \s _ column 1 name _val . exit freeRtr-25.11.9/misc/sensor/tracker.txt000066400000000000000000000003331510423065500177420ustar00rootroot00000000000000sensor tracker path tracker/peer/peer prefix freertr-tracker key name tracker/peer command sho tracker prepend tracker_ name 0 name= replace \- _ column 4 name state column 4 replace down 0 column 4 replace up 1 . exit freeRtr-25.11.9/misc/sensor/traffic.txt000066400000000000000000000011251510423065500177250ustar00rootroot00000000000000sensor routraf4 path routraf4/peer/peer prefix freertr-routraf4 key name routraf4/peer command sho ipv4 counter inet prepend routed_traffic4_ name 0 prefix= replace \. _ replace \/ _ column 1 name pack column 1 split + typ="sw" typ="hw" column 2 name byte column 2 split + typ="sw" typ="hw" . exit sensor routraf6 path routraf6/peer/peer prefix freertr-routraf6 key name routraf6/peer command sho ipv6 counter inet prepend routed_traffic6_ name 0 prefix= replace \. _ replace \/ _ column 1 name pack column 1 split + typ="sw" typ="hw" column 2 name byte column 2 split + typ="sw" typ="hw" . exit freeRtr-25.11.9/misc/sensor/vdc.txt000066400000000000000000000003071510423065500170640ustar00rootroot00000000000000sensor vdc path vdc/peer/peer prefix freertr-vdc key name vdc/peer command sho vdc device prepend system_vdc_ name 2 name= replace \. _ replace \- _ column 1 name size column 1 replace dir -1 . exit freeRtr-25.11.9/misc/sensor/vrf.txt000066400000000000000000000007431510423065500171110ustar00rootroot00000000000000sensor vrf path vrf/peer/peer prefix freertr-vrf key name vrf/peer command sho vrf routing prepend vrf_ name 0 name= skip 2 column 2 name v4 type="ifc" column 3 name v6 type="ifc" column 4 name v4 type="uni" column 5 name v6 type="uni" column 6 name v4 type="multi" column 7 name v6 type="multi" column 8 name v4 type="flow" column 9 name v6 type="flow" column 10 name v4 type="label" column 11 name v6 type="label" column 12 name v4 type="conn" column 13 name v6 type="conn" . exit freeRtr-25.11.9/misc/service/000077500000000000000000000000001510423065500156765ustar00rootroot00000000000000freeRtr-25.11.9/misc/service/c.sh000077500000000000000000000055371510423065500164710ustar00rootroot00000000000000#!/bin/sh TRG=$1 if [ -z "$TRG" ] ; then echo "usage: c.sh " exit fi echo installing to $TRG directory echo net.ipv6.conf.all.disable_ipv6=1 > /etc/sysctl.d/disableipv6.conf echo net.ipv6.conf.default.disable_ipv6=1 >> /etc/sysctl.d/disableipv6.conf echo kernel.panic=10 > /etc/sysctl.d/panic.conf sed -i "s\quiet\panic=10 nomodeset nofb\g" /etc/default/grub sed -i "s\GRUB_TIMEOUT=5\GRUB_TIMEOUT=1\g" /etc/default/grub sed -i "s\#GRUB_TERMINAL=console\GRUB_TERMINAL=console\g" /etc/default/grub cat > /etc/network/interfaces << EOF iface lo inet loopback #allow-hotplug eth0 #iface eth0 inet dhcp #iface eth0 inet6 auto EOF cat > /etc/init.d/rtr << EOF #!/bin/sh ### BEGIN INIT INFO # Provides: rtr # Required-Start: $local_fs # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: router processes ### END INIT INFO case "$1" in start) cd $TRG $TRG/hwdet-all.sh ;; stop) kill -9 `pidof java` `pidof pcapInt.bin` `pidof rawInt.bin` `pidof mapInt.bin` `pidof tapInt.bin` `pidof vlan.bin` `pidof bundle.bin` `pidof socat` ;; status) echo java: `pidof java` echo pcapInt: `pidof pcapInt.bin` echo rawInt: `pidof rawInt.bin` echo mapInt: `pidof mapInt.bin` echo tapInt: `pidof tapInt.bin` echo vlan: `pidof vlan.bin` echo bundle: `pidof bundle.bin` echo socat: `pidof socat` ;; restart) $0 stop $0 start ;; *) echo "Usage: $N {start|stop|status|restart}" >&2 exit 1 ;; esac exit 0 EOF chmod 755 /etc/init.d/rtr update-rc.d rtr defaults systemctl set-default multi-user.target rm /etc/netplan/* rm /usr/lib/systemd/network/* rm /etc/NetworkManager/system-connections/* SVC="network-manager NetworkManager ModemManager netplan connman wicd systemd-network-generator systemd-networkd systemd-networkd-wait-online systemd-resolved hostapd wpa_supplicant serial-getty@ttyS0 serial-getty@ttyS1" systemctl disable $SVC systemctl mask $SVC cat > /lib/systemd/system/rtr.service << EOF [Unit] Description=router processes Wants=network.target After=network-pre.target Before=network.target [Service] Type=forking ExecStart=$TRG/hwdet-all.sh [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl unmask rtr systemctl enable rtr rm -f /etc/resolv.conf cat > /etc/resolv.conf << EOF nameserver 10.255.255.254 EOF mkdir -p $TRG cp ../default.cfg $TRG/rtr-sw.txt cp ../../src/rtr.jar $TRG/ cp ../../src/rtr.ver $TRG/ cp ../../binTmp/*.bin $TRG/ cp ../../binTmp/*.so $TRG/ grep "rx:" /proc/tty/driver/serial | sed "s/^/\/dev\/ttyS/" > $TRG/hwdet.ser ip link show > $TRG/hwdet.eth ip route show > $TRG/hwdet.rou java -jar $TRG/rtr.jar test hwdet tuntap 10.255.255.1/24 10.255.255.254 path $TRG/ iface raw line raw inline mem 1024m chmod 755 $TRG/*.sh ls -l $TRG/ freeRtr-25.11.9/misc/sniffer/000077500000000000000000000000001510423065500156725ustar00rootroot00000000000000freeRtr-25.11.9/misc/sniffer/delete.tcl000066400000000000000000000001431510423065500176360ustar00rootroot00000000000000set a [exec "flash delete /rtr/web/capture.pcap"] puts "deleted:
$a" freeRtr-25.11.9/misc/sniffer/home.html000066400000000000000000000006651510423065500175170ustar00rootroot00000000000000 empty welcome to web sniffer!

usage:
home: this page
start: start collecting packets
info: information about capture
stop: stop collecting packets
download: download packets in pcap format
delete: delete pcap file from server
freeRtr-25.11.9/misc/sniffer/index2.html000066400000000000000000000006111510423065500177470ustar00rootroot00000000000000 sniffer <body> your browser doesn't support frames! </body> freeRtr-25.11.9/misc/sniffer/info.tcl000066400000000000000000000002571510423065500173350ustar00rootroot00000000000000set a [exec "flash info /rtr/web/capture.pcap"] set b [exec "flash disk /rtr/web/"] puts "capture:
$a

storage:
$b
" freeRtr-25.11.9/misc/sniffer/menu.html000066400000000000000000000007151510423065500175270ustar00rootroot00000000000000 menu menu: home || start || info || stop || download || delete freeRtr-25.11.9/misc/sniffer/toggle.tcl000066400000000000000000000001501510423065500176530ustar00rootroot00000000000000set a [exec "packet capture di1 /rtr/web/capture.pcap"] puts "status:
$a" freeRtr-25.11.9/misc/snmp/000077500000000000000000000000001510423065500152135ustar00rootroot00000000000000freeRtr-25.11.9/misc/snmp/getword.tcl000066400000000000000000000003721510423065500173740ustar00rootroot00000000000000proc getword {} { global b set b [string trim $b] set p [string first " " $b] if {$p < 0} { set p $b set b "" return $p } set c [string range $b 0 [expr $p - 1]] set b [string range $b $p [string length $b]] set b [string trim $b] return $c }freeRtr-25.11.9/misc/snmp/ifname.tcl000066400000000000000000000031571510423065500171640ustar00rootroot00000000000000proc nametonumber {n}{ set inttypenum [string first "ethernet" $n] if { $inttypenum == 0} { set k [string range $n 8 [string length $n]] set number [expr 70000+$k] return $number } set inttypenum [string first "atm" $n] if { $inttypenum == 0} { set k [string range $n 3 [string length $n]] set number [expr 20000+$k] return $number } set inttypenum [string first "serial" $n] if { $inttypenum == 0} { set k [string range $n 6 [string length $n]] set number [expr 90000+$k] return $number } set inttypenum [string first "cellular" $n] if { $inttypenum == 0} { set k [string range $n 8 [string length $n]] set number [expr 50000+$k] return $number } set inttypenum [string first "loopback" $n] if { $inttypenum == 0} { set k [string range $n 8 [string length $n]] set number [expr 80000+$k] return $number } set inttypenum [string first "dialer" $n] if { $inttypenum == 0} { set k [string range $n 6 [string length $n]] set number [expr 60000+$k] return $number } set inttypenum [string first "bvi" $n] if { $inttypenum == 0} { set k [string range $n 3 [string length $n]] set number [expr 40000+$k] return $number } set inttypenum [string first "bundle" $n] if { $inttypenum == 0} { set k [string range $n 6 [string length $n]] set number [expr 30000+$k] return $number } set inttypenum [string first "tunnel" $n] if { $inttypenum == 0} { set k [string range $n 6 [string length $n]] set number [expr 100000+$k] return $number } set inttypenum [string first "access" $n] if { $inttypenum == 0} { set k [string range $n 6 [string length $n]] set number [expr 10000+$k] return $number } } freeRtr-25.11.9/misc/snmp/ifnext.tcl000066400000000000000000000015321510423065500172150ustar00rootroot00000000000000proc if_next {z} { if {[string equal $z ""]} {set z interface} set l [exec "show interfaces summary"] set l [split $l "\r"] set l [split $l "\n"] set p [string first $z $l] if {$p == -1} {set p 9} else {set p [expr $p + [string length $z]]} set l [string range $l $p 999999] set l [string trim $l] set p [string first " " $l] if {$p == -1} {return ""} set l [string range $l $p 999999] set l [string trim $l] set p [string first " " $l] if {$p == -1} {return ""} set l [string range $l $p 999999] set l [string trim $l] set p [string first " " $l] if {$p == -1} {return ""} set l [string range $l $p 999999] set l [string trim $l] set p [string first " " $l] if {$p == -1} {return ""} set l [string range $l $p 999999] set l [string trim $l] set p [string first " " $l] if {$p == -1} {return ""} return [string range $l 0 [expr $p-1]] } freeRtr-25.11.9/misc/snmp/intnum.tcl000066400000000000000000000022111510423065500172250ustar00rootroot00000000000000set ifnum 0 set interface "" set z [string range $oid [expr [string last "." $oid]+1] [string length $oid]] if {$z / 10000 == 7} { set ifnum [expr $z % 70000] set interface "ethernet$ifnum" } if {$z / 10000 == 2} { set ifnum [expr $z % 20000] set interface "atm$ifnum" } if {$z / 10000 == 9} { set ifnum [expr $z % 90000] set interface "serial$ifnum" } if {$z / 10000 == 5} { set ifnum [expr $z % 50000] set interface "cellular$ifnum" } if {$z / 10000 == 8} { set ifnum [expr $z % 80000] set interface "loopback$ifnum" } if {$z / 10000 == 6} { set ifnum [expr $z % 60000] set interface "dialer$ifnum" } if {$z / 10000 == 4} { set ifnum [expr $z % 40000] set interface "bvi$ifnum" } if {$z / 10000 == 3} { set ifnum [expr $z % 30000] set interface "bundle$ifnum" } if {$z / 10000 == 10} { set ifnum [expr $z % 100000] set interface "tunnel$ifnum" } if {$z / 10000 == 1} { set ifnum [expr $z % 10000] set interface "access$ifnum" } set b [exec "show interfaces $interface"] freeRtr-25.11.9/misc/snmp/snmp.tcl000066400000000000000000001271071510423065500167040ustar00rootroot00000000000000oid .* 0.1 proc snmp {mode oid} { puts "1.3.6.1.2.1.1.1.0" } . oid .* 1 proc snmp {mode oid} { puts "1.3.6.1.2.1.1.1.0" } . oid .* 1.3 proc snmp {mode oid} { puts "1.3.6.1.2.1.1.1.0" } . oid .* 1.3.6 proc snmp {mode oid} { puts "1.3.6.1.2.1.1.1.0" } . oid .* 1.3.6.1 proc snmp {mode oid} { puts "1.3.6.1.2.1.1.1.0" } . oid .* 1.3.6.1 proc snmp {mode oid} { puts "1.3.6.1.2.1.1.1.0" } . oid .* 1.3.6.1.2 proc snmp {mode oid} { puts "1.3.6.1.2.1.1.1.0" } . oid .* 1.3.6.1.2.1 proc snmp {mode oid} { puts "1.3.6.1.2.1.1.1.0" } . oid .* 1.3.6.1.2.1.2 proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl set q [if_next] set v [nametonumber $q] puts "1.3.6.1.2.1.2.2.1.1.$v" } . oid .* 1.3.6.1.2.1.2.2 proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl set q [if_next] set v [nametonumber $q] puts "1.3.6.1.2.1.2.2.1.1.$v" } . oid .* 1.3.6.1.2.1.2.2.1 proc snmp {mode oid} { if {[string equal $mode next]} { } else {return} script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl set q [if_next] set v [nametonumber $q] puts "1.3.6.1.2.1.2.2.1.1.$v" } . oid .* 1.3.6.1.2.1.2.2.1.1 proc snmp {mode oid} { if {[string equal $mode next]} { } else {return} script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl set q [if_next] set v [nametonumber $q] puts "1.3.6.1.2.1.2.2.1.1.$v" } . oid .* 1.3.6.1.2.1.2.2.1.1\..* proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl if {[string equal $mode next]} { set this [if_next $interface] if {[string length $this] > 0} { set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.1.$thisn" } else { set this [if_next ""] set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.2.$thisn" } return } set m [string last "." $oid] incr m set index [string range $oid $m [string length $oid]] puts "tag=integer int32=$index" } . oid .* 1.3.6.1.2.1.2.2.1.1 proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl set q [if_next] set v [nametonumber $q] puts "1.3.6.1.2.1.2.2.1.1.$v" } . oid .* 1.3.6.1.2.1.2.2.1.2\..* proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl if {[string equal $mode next]} { set this [if_next $interface] if {[string length $this] > 0} { set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.2.$thisn" } else { set this [if_next ""] set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.3.$thisn" } return } puts "tag=octetstring string=$interface" } . oid .* 1.3.6.1.2.1.2.2.1.2 proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl set q [if_next] set v [nametonumber $q] puts "1.3.6.1.2.1.2.2.1.2.$v" } . oid .* 1.3.6.1.2.1.2.2.1.5.* proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl if {[string equal $mode next]} { set this [if_next $interface] if {[string length $this] > 0} { set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.5.$thisn" } else { set this [if_next ""] set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.6.$thisn" } return } set start [string first "bw" $b] set cut [string range $b $start [string length $b]] set startt [string first , $cut] set startt [expr $startt -1 ] set final [string range $cut 0 $startt] set result [string range $final [expr [string first "=" $final]+1] [string length $final]] set a [string first "m" $result] set r [expr $a-1] set bw [string range $result 0 $r] puts "tag=integer class=1 int32=$bw" } . oid .* 1.3.6.1.2.1.2.2.1.6.* proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl if {[string equal $mode next]} { set this [if_next $interface] if {[string length $this] > 0} { set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.6.$thisn" } else { set this [if_next ""] set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.7.$thisn" } return } set start [string first "hw" $b] set cut [string range $b $start [string length $b]] set startt [string first , $cut] set startt [expr $startt -1 ] set final [string range $cut 0 $startt] set result [string range $final [expr [string first "=" $final]+1] [string length $final]] puts "tag=octetstring string= $result" } . oid .* 1.3.6.1.2.1.2.2.1.4.* proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl if {[string equal $mode next]} { set this [if_next $interface] if {[string length $this] > 0} { set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.4.$thisn" } else { set this [if_next ""] set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.5.$thisn" } return } set start [string first "mtu" $b] set cut [string range $b $start [string length $b]] set startt [string first , $cut] set startt [expr $startt -1 ] set final [string range $cut 0 $startt] set result [string range $final [expr [string first "=" $final]+1] [string length $final]] puts "tag=integer int32=$result" } . oid .* 1.3.6.1.2.1.2.2.1.7.* proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl if {[string equal $mode next]} { set this [if_next $interface] if {[string length $this] > 0} { set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.7.$thisn" } else { set this [if_next ""] set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.8.$thisn" } return } getword getword set final [getword] set result 0 set comp 0 set comp2 0 set comp [string first "u" $final] if { $comp > -1 }{ set result 1 } set comp [string first "d" $final] if { $comp > -1 }{ set result 2 } puts "tag=integer int32=$result" } . oid .* 1.3.6.1.2.1.2.2.1.8.* proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl if {[string equal $mode next]} { set this [if_next $interface] if {[string length $this] > 0} { set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.8.$thisn" } else { set this [if_next ""] set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.10.$thisn" } return } getword getword set final [getword] set result 0 set comp 0 set comp2 0 set comp [string first "u" $final] if { $comp > -1 }{ set result 1 } set comp [string first "d" $final] if { $comp > -1 }{ set result 2 } puts "tag=integer int32=$result" } . oid .* 1.3.6.1.2.1.2.2.1.10.* proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl if {[string equal $mode next]} { set this [if_next $interface] if {[string length $this] > 0} { set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.10.$thisn" } else { set this [if_next ""] set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.17.$thisn" } return } set total [ exec "show interfaces total" ] set b [ string range $total [string first $interface $total] [string length $total]] getword getword set result [getword] puts "tag=1 class=1 int32=$result" } . oid .* 1.3.6.1.2.1.2.2.1.11.* proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl if {[string equal $mode next]} { set this [if_next $interface] if {[string length $this] > 0} { set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.11.$thisn" } else { set this [if_next ""] set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.14.$thisn" } return } set total [ exec "show interfaces ptotal" ] set b [ string range $total [string first $interface $total] [string length $total]] getword getword set result [getword] puts "tag=1 class=1 int32=$result" } . oid .* 1.3.6.1.2.1.2.2.1.14.* proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl if {[string equal $mode next]} { set this [if_next $interface] if {[string length $this] > 0} { set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.14.$thisn" } else { set this [if_next ""] set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.16.$thisn" } return } set total [ exec "show interfaces ptotal" ] set b [ string range $total [string first $interface $total] [string length $total]] set b [split $b "\r"] set b [split $b "\n"] getword getword getword getword set result [getword] puts "tag=1 class=1 int32=$result" } . oid .* 1.3.6.1.2.1.2.2.1.16.* proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl if {[string equal $mode next]} { set this [if_next $interface] if {[string length $this] > 0} { set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.16.$thisn" } else { set this [if_next ""] set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.17.$thisn" } return } set total [ exec "show interfaces total" ] set b [ string range $total [string first $interface $total] [string length $total]] getword getword set result [getword] puts "tag=1 class=1 int32=$result" } . oid .* 1.3.6.1.2.1.2.2.1.17.* proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl if {[string equal $mode next]} { set this [if_next $interface] if {[string length $this] > 0} { set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.17.$thisn" } else { set this [if_next ""] set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.20.$thisn" } return } set total [ exec "show interfaces ptotal" ] set b [ string range $total [string first $interface $total] [string length $total]] getword set result [getword] puts "tag=1 class=1 int32=$result" } . oid .* 1.3.6.1.2.1.2.2.1.20.* proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl if {[string equal $mode next]} { set this [if_next $interface] if {[string length $this] > 0} { set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.20.$thisn" } else { set this [if_next ""] set thisn [nametonumber $this] puts "1.3.6.1.2.1.4.20.1.1" } return } set total [ exec "show interfaces ptotal" ] set b [ string range $total [string first $interface $total] [string length $total]] set b [split $b "\r"] set b [split $b "\n"] getword getword getword getword set result [getword] puts "tag=1 class=1 int32=$result" } . oid .* 1.3.6.1.2.1.2.2.1.3.* proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl if {[string equal $mode next]} { set this [if_next $interface] if {[string length $this] > 0} { set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.3.$thisn" } else { set this [if_next ""] set thisn [nametonumber $this] puts "1.3.6.1.2.1.2.2.1.4.$thisn" } return } set comp 0 set ma "type" set word "" while { $comp < 1 }{ set word [getword] set comp [string match $ma $word] } getword set typ [getword] set out 0 set eth "ethernet," set comp [string match $typ $eth] if { $comp > 0 }{ set out 6 } set atm "atm," set comp [string match $typ $atm] if { $comp > 0 }{ set out 37 } set ser "serial," set comp [string match $typ $ser] if { $comp > 0 }{ set out 22 } set tun "gre," set comp [string match $typ $tun] if { $comp > 0 }{ set out 131 } puts "tag=integer int32=$out" } . oid .* 1.3.6.1.2.1.1 proc snmp {mode oid} { puts "1.3.6.1.2.1.1.1.0" } . oid .* 1.3.6.1.2.1.1.1 proc snmp {mode oid} { puts "1.3.6.1.2.1.1.1.0" } . oid .* 1.3.6.1.2.1.1.1.0 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.2.1.1.2.0" return } puts "tag=octetstring string=T-Systems Mobile Access Router" } . oid .* 1.3.6.1.2.1.1.2 proc snmp {mode oid} { puts "1.3.6.1.2.1.1.2.0" } . oid .* 1.3.6.1.2.1.1.2.0 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.2.1.1.3.0" return } puts "tag=objectid oid=1.2.3.4" } . oid .* 1.3.6.1.2.1.1.3 proc snmp {mode oid} { puts "1.3.6.1.2.1.1.3.0" } . oid .* 1.3.6.1.2.1.1.3.0 proc snmp {mode oid} { script getword.tcl if {[string equal $mode next]} { puts "1.3.6.1.2.1.1.5.0" return } set b [exec "show platform"] set comp 0 set ma "for" set word "" while { $comp < 1 }{ set word [getword] set comp [string match $ma $word] } set time [getword] set time [split $time "\r"] set time [split $time "\n"] set fk [string first ":" $time] set fk [expr $fk-1] set hour [string range $time 0 $fk] set fk [expr $fk+2] set time [string range $time $fk [string length $time]] set fk [string first ":" $time] set fk [expr $fk-1] set min [string range $time 0 $fk] set fk [expr $fk+2] set time [string range $time $fk [string length $time]] set sec [string range $time 0 1] set mm [expr 60*$min] set sysup [expr $sec + $mm] set hm [expr 3600*$hour] set sysup [expr $sysup + $hm] set sysup [expr $sysup*100] puts "tag=3 class=1 int32=$sysup" } . oid .* 1.3.6.1.2.1.1.5 proc snmp {mode oid} { puts "1.3.6.1.2.1.1.5.0" } . oid .* 1.3.6.1.2.1.1.5.0 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.2.1.1.6.0" return } script getword.tcl set b [exec "show platform"] set b [split $b "\r"] set b [split $b "\n"] set m [getword] set comp [string first "name:" $m] while { $comp < 0 }{ set m [getword] set comp [string first "name:" $m] } set m [getword] puts "tag=octetstring string=$m" } . oid .* 1.3.6.1.2.1.1.6 proc snmp {mode oid} { puts "1.3.6.1.2.1.1.6.0" } . oid .* 1.3.6.1.2.1.1.6.0 proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl if {[string equal $mode next]} { set q [if_next] set v [nametonumber $q] puts "1.3.6.1.2.1.2.2.1.1.$v" return } puts "tag=octetstring string=kfkibavan" } . oid .* 1.3.6.1.2.1.4.20.1.1.* proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.2.1.4.20.1.2" return } puts "tag=0 class=1 adrip4=10.10.10.10" } . oid .* 1.3.6.1.2.1.4.20.1.2.* proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.2.1.4.20.1.3" return } puts "tag=integer int32=0" } . oid .* 1.3.6.1.2.1.4.20.1.3.* proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.2.1.4.22.1" return } puts "tag=0 class=1 string=10.10.10.10" } . oid .* 1.3.6.1.2.1.4.20.1 proc snmp {mode oid} { puts "1.3.6.1.2.1.4.20.1.1" } . oid .* 1.3.6.1.2.1.4.20 proc snmp {mode oid} { puts "1.3.6.1.2.1.4.20.1.1" } . oid .* 1.3.6.1.2.1.4 proc snmp {mode oid} { puts "1.3.6.1.2.1.4.20.1.1" } . oid .* 1.3.6.1.2.1.47.1.1.1.1.2 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.2.1.47.1.1.1.1.3" return } puts "tag=octetstring string= asd" } . oid .* 1.3.6.1.2.1.47.1.1.1.1 proc snmp {mode oid} { puts "1.3.6.1.2.1.47.1.1.1.1.2" } . oid .* 1.3.6.1.2.1.47.1.1.1 proc snmp {mode oid} { puts "1.3.6.1.2.1.47.1.1.1.1.2" } . oid .* 1.3.6.1.2.1.47.1.1 proc snmp {mode oid} { puts "1.3.6.1.2.1.47.1.1.1.1.2" } . oid .* 1.3.6.1.2.1.47.1 proc snmp {mode oid} { puts "1.3.6.1.2.1.47.1.1.1.1.2" } . oid .* 1.3.6.1.2.1.47 proc snmp {mode oid} { puts "1.3.6.1.2.1.47.1.1.1.1.2" } . oid .* 1.3.6.1.2.1.47.1.1.1.1.3 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.2.1.47.1.1.1.1.5" return } puts "tag=octetstring string= asd" } . oid .* 1.3.6.1.2.1.47.1.1.1.1.5 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.2.1.47.1.1.1.1.7" return } puts "tag=octetstring string= asd" } . oid .* 1.3.6.1.2.1.47.1.1.1.1.7 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.2.1.47.1.1.1.1.11" return } puts "tag=octetstring string= asd" } . oid .* 1.3.6.1.2.1.47.1.1.1.1.11 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.2.1.47.1.1.1.1.13" return } puts "tag=octetstring string= asd" } . oid .* 1.3.6.1.2.1.47.1.1.1.1.13 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.2.1.47.1.1.1.1.16" return } puts "tag=octetstring string= asd" } . oid .* 1.3.6.1.2.1.47.1.1.1.1.16 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.2.1.68.1.4.1.2" return } puts "tag=octetstring string= asd" } . oid .* 1.3.6.1.2.1.68.1.4.1.2 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.3.118.1.2.1.1.6" return } puts "tag=integer int32=0" } . oid .* 1.3.6.1.2.1.68.1.4.1 proc snmp {mode oid} { puts "1.3.6.1.2.1.68.1.4.1.2" } . oid .* 1.3.6.1.2.1.68.1.4 proc snmp {mode oid} { puts "1.3.6.1.2.1.68.1.4.1.2" } . oid .* 1.3.6.1.2.1.68.1 proc snmp {mode oid} { puts "1.3.6.1.2.1.68.1.4.1.2" } . oid .* 1.3.6.1.2.1.68 proc snmp {mode oid} { puts "1.3.6.1.2.1.68.1.4.1.2" } . oid .* 1.3.6.1.3.118.1.2.1.1.6 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.2.1.57.0" return } puts "tag=integer int32=2" } . oid .* 1.3.6.1.3.118.1.2.1.1 proc snmp {mode oid} { puts "1.3.6.1.3.118.1.2.1.1.6" } . oid .* 1.3.6.1.3.118.1.2.1 proc snmp {mode oid} { puts "1.3.6.1.3.118.1.2.1.1.6" } . oid .* 1.3.6.1.3.118.1.2 proc snmp {mode oid} { puts "1.3.6.1.3.118.1.2.1.1.6" } . oid .* 1.3.6.1.3.118.1 proc snmp {mode oid} { puts "1.3.6.1.3.118.1.2.1.1.6" } . oid .* 1.3.6.1.3.118 proc snmp {mode oid} { puts "1.3.6.1.3.118.1.2.1.1.6" } . oid .* 1.3.6.1.3 proc snmp {mode oid} { puts "1.3.6.1.3.118.1.2.1.1.6" } . oid .* 1.3.6.1.2.1.4.22 proc snmp {mode oid} { puts "1.3.6.1.2.1.4.22.1" } . oid .* 1.3.6.1.2.1.4.22.1 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.2.1.17.1.4.1" return } puts "tag=octetstring string= asd" } . oid .* 1.3.6.1.2.1.17.1.4.1.* proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.2.1.17.4.3.1" return } puts "tag=octetstring string= asd" } . oid .* 1.3.6.1.2.1.17.1.4 proc snmp {mode oid} { puts "1.3.6.1.2.1.17.1.4.1" } . oid .* 1.3.6.1.2.1.17.1 proc snmp {mode oid} { puts "1.3.6.1.2.1.17.1.4.1" } . oid .* 1.3.6.1.2.1.17 proc snmp {mode oid} { puts "1.3.6.1.2.1.17.1.4.1" } . oid .* 1.3.6.1.2.1.17.4.3.1 proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl if {[string equal $mode next]} { set q [if_next] set v [nametonumber $q] puts "1.3.6.1.2.1.31.1.1.1.1.$v" return } puts "tag=octetstring string= asd" } . oid .* 1.3.6.1.2.1.17.4.3 proc snmp {mode oid} { puts "1.3.6.1.2.1.17.4.3.1" } . oid .* 1.3.6.1.2.1.17.4 proc snmp {mode oid} { puts "1.3.6.1.2.1.17.4.3.1" } . oid .* 1.3.6.1.2.1.31.1.1.1.1\..* proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl if {[string equal $mode next]} { set this [if_next $interface] if {[string length $this] > 0} { set thisn [nametonumber $this] puts "1.3.6.1.2.1.31.1.1.1.1.$thisn" } else { set this [if_next ""] set thisn [nametonumber $this] puts "1.3.6.1.2.1.31.1.1.1.6.$thisn" } return } puts "tag=octetstring string=$interface" } . oid .* 1.3.6.1.2.1.31.1.1.1.1 proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl set q [if_next] set v [nametonumber $q] puts "1.3.6.1.2.1.31.1.1.1.1.$v" } . oid .* 1.3.6.1.2.1.31.1.1.1 proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl set q [if_next] set v [nametonumber $q] puts "1.3.6.1.2.1.31.1.1.1.1.$v" } . oid .* 1.3.6.1.2.1.31.1.1 proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl set q [if_next] set v [nametonumber $q] puts "1.3.6.1.2.1.31.1.1.1.1.$v" } . oid .* 1.3.6.1.2.1.31.1 proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl set q [if_next] set v [nametonumber $q] puts "1.3.6.1.2.1.31.1.1.1.1.$v" } . oid .* 1.3.6.1.2.1.31 proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl set q [if_next] set v [nametonumber $q] puts "1.3.6.1.2.1.31.1.1.1.1.$v" } . oid .* 1.3.6.1.2.1.31.1.1.1.6.* proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl if {[string equal $mode next]} { set this [if_next $interface] if {[string length $this] > 0} { set thisn [nametonumber $this] puts "1.3.6.1.2.1.31.1.1.1.6.$thisn" } else { set this [if_next ""] set thisn [nametonumber $this] puts "1.3.6.1.2.1.31.1.1.1.10.$thisn" } return } set total [ exec "show interfaces total" ] set b [ string range $total [string first $interface $total] [string length $total]] getword getword set result [getword] puts "tag=6 class=1 int64=$result" } . oid .* 1.3.6.1.2.1.31.1.1.1.10.* proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl if {[string equal $mode next]} { set this [if_next $interface] if {[string length $this] > 0} { set thisn [nametonumber $this] puts "1.3.6.1.2.1.31.1.1.1.10.$thisn" } else { set this [if_next ""] set thisn [nametonumber $this] puts "1.3.6.1.2.1.31.1.1.1.17.$thisn" } return } set total [ exec "show interfaces total" ] set b [ string range $total [string first $interface $total] [string length $total]] getword getword set result [getword] puts "tag=6 class=1 int64=$result" } . oid .* 1.3.6.1.2.1.31.1.1.1.17.* proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl if {[string equal $mode next]} { set this [if_next $interface] if {[string length $this] > 0} { set thisn [nametonumber $this] puts "1.3.6.1.2.1.31.1.1.1.17.$thisn" } else { set this [if_next ""] set thisn [nametonumber $this] puts "1.3.6.1.2.1.31.1.1.1.18.$thisn" } return } puts "tag=integer int32=0" } . oid .* 1.3.6.1.2.1.31.1.1.1.18.* proc snmp {mode oid} { script getword.tcl script intnum.tcl script ifname.tcl script ifnext.tcl if {[string equal $mode next]} { set this [if_next $interface] if {[string length $this] > 0} { set thisn [nametonumber $this] puts "1.3.6.1.2.1.31.1.1.1.18.$thisn" } else { puts "1.3.6.1.2.1.47.1.1.1.1.2" } return } set comp 0 set ma "description:" set word "" while { $comp < 1 }{ set word [getword] set comp [string match $ma $word] } set desc [getword] set comp 0 set ma "type" set comp [string match $desc $ma] if {$comp > 0} { set desc "" } puts "tag=octetstring string= $desc" } . oid .* 1.3.6.1.3.118.1.2.1.1.6 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.3.6.3" return } puts "tag=octetstring string= asd" } . oid .* 1.3.6.1.3.118.1.2.1.1 proc snmp {mode oid} { puts "1.3.6.1.3.118.1.2.1.1.6" } . oid .* 1.3.6.1.3.118.1.2.1 proc snmp {mode oid} { puts "1.3.6.1.3.118.1.2.1.1.6" } . oid .* 1.3.6.1.3.118.1.2 proc snmp {mode oid} { puts "1.3.6.1.3.118.1.2.1.1.6" } . oid .* 1.3.6.1.3.118.1 proc snmp {mode oid} { puts "1.3.6.1.3.118.1.2.1.1.6" } . oid .* 1.3.6.1.3.118 proc snmp {mode oid} { puts "1.3.6.1.3.118.1.2.1.1.6" } . oid .* 1.3.6.1.3 proc snmp {mode oid} { puts "1.3.6.1.3.118.1.2.1.1.6" } . oid .* 1.3.6.1.4.1.9.3.6.6.0 script getword.tcl proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.5.1.4.1.1.9" return } set b [exec "show platform"] set k [string first "max=" $b] set r [ string range $b [expr $k+4] [expr $k+6]] set result [expr $r*1024*1024] puts "tag=integer int32=$result" } . oid .* 1.3.6.1.4.1.9.3.6.6 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.3.6.6.0" } . oid .* 1.3.6.1.4.1.9.3.6.3 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.3.6.6.0" return } puts "tag=octetstring string= itttatok" } . oid .* 1.3.6.1.4.1.9.3.6 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.3.6.3" } . oid .* 1.3.6.1.4.1.9.3 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.3.6.3" } . oid .* 1.3.6.1.4.1.9.2.1.58.0.* proc snmp {mode oid} { script getword.tcl if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.3.6.3" return } set b [ exec "show system" ] getword getword getword getword getword getword getword getword getword getword getword set min [getword] puts "tag=integer class=1 int32=$min" } . oid .* 1.3.6.1.4.1.9.2.1.58 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.2.1.58.0" } . oid .* 1.3.6.1.4.1.9.2.1.57.0.* proc snmp {mode oid} { script getword.tcl if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.2.1.58.0" return } set b [ exec "show system" ] getword getword getword getword getword set min [getword] puts "tag=integer class=1 int32=$min" } . oid .* 1.3.6.1.4.1.9.2.1.57 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.2.1.57.0" } . oid .* 1.3.6.1.4.1.9.2.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.2.1.57.0" } . oid .* 1.3.6.1.4.1.9.2.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.2.1.57.0" } . oid .* 1.3.6.1.4.1.9.2 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.2.1.57.0" } . oid .* 1.3.6.1.4.1.9 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.2.1.57.0" } . oid .* 1.3.6.1.4.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.2.1.57.0" } . oid .* 1.3.6.1.4 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.2.1.57.0" } . oid .* 1.3.6.1.4.1.9.9.48.1.1.1.6.1 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.68.1.2.2.1.2" return } puts "tag=integer class=1 int32=40" } . oid .* 1.3.6.1.4.1.9.9.48.1.1.1.5.1 proc snmp {mode oid} { script getword.tcl if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.48.1.1.1.6.1" return } set free 5000000 puts "tag=integer class=1 int32=$free" } . oid .* 1.3.6.1.4.1.9.9.48.1.1.1.5 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.48.1.1.1.5.1" } . oid .* 1.3.6.1.4.1.9.9.48.1.1.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.48.1.1.1.5.1" } . oid .* 1.3.6.1.4.1.9.9.48.1.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.48.1.1.1.5.1" } . oid .* 1.3.6.1.4.1.9.9.48.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.48.1.1.1.5.1" } . oid .* 1.3.6.1.4.1.9.9.48 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.48.1.1.1.5.1" } . oid .* 1.3.6.1.4.1.9.5.1.4.1.1.9 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.5.1.4.1.1.10" return } puts "tag=octetstring string=asd" } . oid .* 1.3.6.1.4.1.9.5.1.4.1.1.10 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.5.1.4.1.1.11" return } puts "tag=octetstring string=asd" } . oid .* 1.3.6.1.4.1.9.5.1.4.1.1.11 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.10.1.1.2.1.2.1" return } puts "tag=integer int32=0" } . oid .* 1.3.6.1.4.1.9.5.1.4.1.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.5.1.4.1.1.9" } . oid .* 1.3.6.1.4.1.9.5.1.4.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.5.1.4.1.1.9" } . oid .* 1.3.6.1.4.1.9.5.1.4 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.5.1.4.1.1.9" } . oid .* 1.3.6.1.4.1.9.5.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.5.1.4.1.1.9" } . oid .* 1.3.6.1.4.1.9.5 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.5.1.4.1.1.9" } . oid .* 1.3.6.1.4.1.9.9.10.1.1.2.1.2.1 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.13.1.3.1.2" return } puts "tag=integer int32=256" } . oid .* 1.3.6.1.4.1.9.9.10.1.1.2.1.2 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.10.1.1.2.1.2.1" } . oid .* 1.3.6.1.4.1.9.9.10.1.1.2.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.10.1.1.2.1.2.1" } . oid .* 1.3.6.1.4.1.9.9.10.1.1.2 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.10.1.1.2.1.2.1" } . oid .* 1.3.6.1.4.1.9.9.10.1.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.10.1.1.2.1.2.1" } . oid .* 1.3.6.1.4.1.9.9.10.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.10.1.1.2.1.2.1" } . oid .* 1.3.6.1.4.1.9.9.10 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.10.1.1.2.1.2.1" } . oid .* 1.3.6.1.4.1.9.9 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.10.1.1.2.1.2" } . oid .* 1.3.6.1.4.1.9.9.23.1.1.1.1.2 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.23.1.2.1.1.1" return } puts "tag=integer int32=2" } . oid . * 1.3.6.1.4.1.9.9.23.1.1.1.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.23.1.1.1.1.2" } . oid .* 1.3.6.1.4.1.9.9.23.1.1.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.23.1.1.1.1.2" } . oid .* 1.3.6.1.4.1.9.9.23.1.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.23.1.1.1.1.2" } . oid .* 1.3.6.1.4.1.9.9.23.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.23.1.1.1.1.2" } . oid .* 1.3.6.1.4.1.9.9.23 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.23.1.1.1.1.2" } . oid .* 1.3.6.1.4.1.9.9.13.1.3.1.2 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.13.1.3.1.3" return } puts "tag=octetstring string=enviroment" } . oid .* 1.3.6.1.4.1.9.9.13.1.3.1.3 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.13.1.3.1.6" return } puts "tag=octetstring string=enviroment" } . oid .* 1.3.6.1.4.1.9.9.13.1.3.1.6 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.23.1.1.1.1.2" return } puts "tag=octetstring string=enviroment" } . oid .* 1.3.6.1.4.1.9.9.13.1.3.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.13.1.3.1.2" } . oid .* 1.3.6.1.4.1.9.9.13.1.3 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.13.1.3.1.2" } . oid .* 1.3.6.1.4.1.9.9.13.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.13.1.3.1.2" } . oid .* 1.3.6.1.4.1.9.9.13 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.13.1.3.1.2" } . oid .* 1.3.6.1.4.1.9.9.23.1.2.1.1.1 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.23.1.2.1.1.2" return } puts "tag=octetstring string=cdp1" } . oid .* 1.3.6.1.4.1.9.9.23.1.2.1.1.2 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.23.1.2.1.1.3" return } puts "tag=octetstring string=cdp2" } . oid .* 1.3.6.1.4.1.9.9.23.1.2.1.1.3 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.23.1.2.1.1.4" return } puts "tag=octetstring string=cdp3" } . oid .* 1.3.6.1.4.1.9.9.23.1.2.1.1.4 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.23.1.2.1.1.5" return } puts "tag=octetstring string=cdp4" } . oid .* 1.3.6.1.4.1.9.9.23.1.2.1.1.5 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.23.1.2.1.1.6" return } puts "tag=octetstring string=cdp5" } . oid .* 1.3.6.1.4.1.9.9.23.1.2.1.1.6 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.23.1.2.1.1.7" return } puts "tag=octetstring string=cdp6" } . oid .* 1.3.6.1.4.1.9.9.23.1.2.1.1.7 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.23.1.2.1.1.8" return } puts "tag=octetstring string=cdp7" } . oid .* 1.3.6.1.4.1.9.9.23.1.2.1.1.8 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.23.1.2.1.1.9" return } puts "tag=octetstring string=cdp8" } . oid .* 1.3.6.1.4.1.9.9.23.1.2.1.1.9 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.42.1.2.1.1" return } puts "tag=octetstring string=cdp9" } . oid .* 1.3.6.1.4.1.9.9.23.1.2.1.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.23.1.2.1.1.1" } . oid .* 1.3.6.1.4.1.9.9.23.1.2.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.23.1.2.1.1.1" } . oid .* 1.3.6.1.4.1.9.9.23.1.2 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.23.1.2.1.1.1" } . oid .* 1.3.6.1.4.1.9.9.42.1.2.1.1 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.42.1.2.2.1" return } puts "tag=octetstring string=rtrmon" } . oid .* 1.3.6.1.4.1.9.9.42.1.2.1 proc snmp {mode oid} { puts puts "1.3.6.1.4.1.9.9.42.1.2.1.1" } . oid .* 1.3.6.1.4.1.9.9.42.1.2 proc snmp {mode oid} { puts puts "1.3.6.1.4.1.9.9.42.1.2.1.1" } . oid .* 1.3.6.1.4.1.9.9.42.1 proc snmp {mode oid} { puts puts "1.3.6.1.4.1.9.9.42.1.2.1.1" } . oid .* 1.3.6.1.4.1.9.9.42 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.42.1.2.1.1" } . oid .* 1.3.6.1.4.1.9.9.42.1.2.2.1 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.42.1.2.5.1" return } puts "tag=octetstring string=rtrmon" } . oid .* 1.3.6.1.4.1.9.9.42.1.2.2 proc snmp {mode oid} { puts puts "1.3.6.1.4.1.9.9.42.1.2.2.1" } . oid .* 1.3.6.1.4.1.9.9.42.1.2.5.1 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.42.1.2.6.1" return } puts "tag=octetstring string=rtrmon" } . oid .* 1.3.6.1.4.1.9.9.42.1.2.5 proc snmp {mode oid} { puts puts "1.3.6.1.4.1.9.9.42.1.2.5.1" } . oid .* 1.3.6.1.4.1.9.9.42.1.2.6.1 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.42.1.2.7.1" return } puts "tag=octetstring string=rtrmon" } . oid .* 1.3.6.1.4.1.9.9.42.1.2.6 proc snmp {mode oid} { puts puts "1.3.6.1.4.1.9.9.42.1.2.6.1" } . oid .* 1.3.6.1.4.1.9.9.42.1.2.7.1 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.42.1.3.1.1.5" return } puts "tag=octetstring string=rtrmon" } . oid .* 1.3.6.1.4.1.9.9.42.1.2.7 proc snmp {mode oid} { puts puts "1.3.6.1.4.1.9.9.42.1.2.7.1" } . oid .* 1.3.6.1.4.1.9.9.42.1.3.1.1.5 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.42.1.3.1.1.6" return } puts "tag=octetstring string=capture" } . oid .* 1.3.6.1.4.1.9.9.42.1.3.1.1.6 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.42.1.3.1.1.7" return } puts "tag=octetstring string=capture" } . oid .* 1.3.6.1.4.1.9.9.42.1.3.1.1.7 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.42.1.3.1.1.10" return } puts "tag=octetstring string=capture" } . oid .* 1.3.6.1.4.1.9.9.42.1.3.1.1.10 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.42.1.3.1.1.11" return } puts "tag=octetstring string=capture" } . oid .* 1.3.6.1.4.1.9.9.42.1.3.1.1.11 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.42.1.3.2.1.1" return } puts "tag=octetstring string=capture" } . oid .* 1.3.6.1.4.1.9.9.42.1.3.1.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.42.1.3.1.1.5" } . oid .* 1.3.6.1.4.1.9.9.42.1.3.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.42.1.3.1.1.5" } . oid .* 1.3.6.1.4.1.9.9.42.1.3 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.42.1.3.1.1.5" } . oid .* 1.3.6.1.4.1.9.9.42.1.3.2.1.1 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.42.1.3.2.1.2" return } puts "tag=octetstring string=stat" } . oid .* 1.3.6.1.4.1.9.9.42.1.3.2.1.2 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.42.1.3.2.1.3" return } puts "tag=octetstring string=stat" } . oid .* 1.3.6.1.4.1.9.9.42.1.3.2.1.3 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.42.1.3.2.1.4" return } puts "tag=octetstring string=stat" } . oid .* 1.3.6.1.4.1.9.9.42.1.3.2.1.4 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.42.1.3.2.1.5" return } puts "tag=octetstring string=stat" } . oid .* 1.3.6.1.4.1.9.9.42.1.3.2.1.5 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.42.1.3.2.1.6" return } puts "tag=octetstring string=stat" } . oid .* 1.3.6.1.4.1.9.9.42.1.3.2.1.6 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.42.1.3.2.1.7" return } puts "tag=octetstring string=stat" } . oid .* 1.3.6.1.4.1.9.9.42.1.3.2.1.7 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.46.1.3.1.1.4"" return } puts "tag=octetstring string=stat" } . oid .* 1.3.6.1.4.1.9.9.42.1.3.2.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.42.1.3.2.1.1" } . oid .* 1.3.6.1.4.1.9.9.42.1.3.2 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.42.1.3.2.1.1" } . oid .* 1.3.6.1.4.1.9.9.46.1.3.1.1.4 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.46.1.6.1.1.14" return } puts "tag=octetstring string=vtp" } . oid .* 1.3.6.1.4.1.9.9.46.1.3.1.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.46.1.3.1.1.4" } . oid .* 1.3.6.1.4.1.9.9.46.1.3.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.46.1.3.1.1.4" } . oid .* 1.3.6.1.4.1.9.9.46.1.3 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.46.1.3.1.1.4" } . oid .* 1.3.6.1.4.1.9.9.46.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.46.1.3.1.1.4" } . oid .* 1.3.6.1.4.1.9.9.46 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.46.1.3.1.1.4" } . oid .* 1.3.6.1.4.1.9.9.46.1.6.1.1.14 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.48.1.1.1.5.1" return } puts "tag=octetstring string=vtrunk" } . oid .* 1.3.6.1.4.1.9.9.46.1.6.1.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.46.1.6.1.1.14" } . oid .* 1.3.6.1.4.1.9.9.46.1.6.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.46.1.6.1.1.14" } . oid .* 1.3.6.1.4.1.9.9.46.1.6 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.46.1.6.1.1.14" } . oid .* 1.3.6.1.4.1.9.9.68.1.2.2.1.2 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.68.1.5.1.1.1" return } puts "tag=octetstring string=wm" } . oid .* 1.3.6.1.4.1.9.9.68.1.2.2.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.68.1.2.2.1.2" } . oid .* 1.3.6.1.4.1.9.9.68.1.2.2 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.68.1.2.2.1.2" } . oid .* 1.3.6.1.4.1.9.9.68.1.2 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.68.1.2.2.1.2" } . oid .* 1.3.6.1.4.1.9.9.68.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.68.1.2.2.1.2" } . oid .* 1.3.6.1.4.1.9.9.68 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.68.1.2.2.1.2" } . oid .* 1.3.6.1.4.1.9.9.68.1.5.1.1.1 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.106.1.2.1.1.11" return } puts "tag=octetstring string=wmvoice" } . oid .* 1.3.6.1.4.1.9.9.68.1.5.1.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.68.1.5.1.1.1" } . oid .* 1.3.6.1.4.1.9.9.68.1.5.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.68.1.5.1.1.1" } . oid .* 1.3.6.1.4.1.9.9.68.1.5 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.68.1.5.1.1.1" } . oid .* 1.3.6.1.4.1.9.9.106.1.2.1.1.11 proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.109.1.1.1.1.2" return } puts "tag=octetstring string=hsrp" } . oid .* 1.3.6.1.4.1.9.9.106.1.2.1.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.106.1.2.1.1.11" } . oid .* 1.3.6.1.4.1.9.9.106.1.2.1 proc snmp {mode oid} { puts } . oid .* 1.3.6.1.4.1.9.9.106.1.2 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.106.1.2.1.1.11" } . oid .* 1.3.6.1.4.1.9.9.106.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.106.1.2.1.1.11" . oid .* 1.3.6.1.4.1.9.9.106 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.106.1.2.1.1.11" } . oid .* 1.3.6.1.4.1.9.9.109.1.1.1.1.2.* proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.109.1.1.1.1.4.1" return } puts "tag=octetstring string=cpu" } . oid .* 1.3.6.1.4.1.9.9.109.1.1.1.1.4 proc snmp {mode oid} { script getword.tcl if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.109.1.1.1.1.4.1" return } set b [ exec "show system" ] getword getword getword getword getword set min [getword] puts "tag=integer class=1 int32=$min" } . oid .* 1.3.6.1.4.1.9.9.109.1.1.1.1.4.1.* proc snmp {mode oid} { script getword.tcl if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.109.1.1.1.1.5.1" return } set b [ exec "show system" ] getword getword getword getword getword set min [getword] puts "tag=integer class=1 int32=$min" } . oid .* 1.3.6.1.4.1.9.9.109.1.1.1.1.5 proc snmp {mode oid} { script getword.tcl if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.109.1.1.1.1.5.1" return } set b [ exec "show system" ] getword getword getword getword getword getword getword getword getword getword getword set min [getword] puts "tag=integer class=1 int32=$min" } . oid .* 1.3.6.1.4.1.9.9.109.1.1.1.1.5.1.* proc snmp {mode oid} { script getword.tcl if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.166.1.1.1.1.2" return } set b [ exec "show system" ] getword getword getword getword getword getword getword getword getword getword getword set min [getword] puts "tag=integer class=1 int32=$min" } . oid .* 1.3.6.1.4.1.9.9.109.1.1.1.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.109.1.1.1.1.2" } . oid .* 1.3.6.1.4.1.9.9.109.1.1.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.109.1.1.1.1.2" } . oid .* 1.3.6.1.4.1.9.9.109.1.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.109.1.1.1.1.2" } . oid .* 1.3.6.1.4.1.9.9.109.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.109.1.1.1.1.2" } . oid .* 1.3.6.1.4.1.9.9.109 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.109.1.1.1.1.2" } . oid .* 1.3.6.1.4.1.9.9.166.1.1.1.1.2.* proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.166.1.1.1.1.3" return } puts "tag=octetstring string=c" } . oid .* 1.3.6.1.4.1.9.9.166.1.1.1.1.3.* proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.166.1.1.1.1.4" return } puts "tag=octetstring string=c" } . oid .* 1.3.6.1.4.1.9.9.166.1.1.1.1.4.* proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.166.1.1.1.1.9" return } puts "tag=octetstring string=c" } . oid .* 1.3.6.1.4.1.9.9.166.1.1.1.1.9.* proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.166.1.5.1.1.2" return } puts "tag=octetstring string=c" } . oid .* 1.3.6.1.4.1.9.9.166.1.1.1.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.166.1.1.1.1.2" } . oid .* 1.3.6.1.4.1.9.9.166.1.1.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.166.1.1.1.1.2" } . oid .* 1.3.6.1.4.1.9.9.166.1.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.166.1.1.1.1.2" } . oid .* 1.3.6.1.4.1.9.9.166.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.166.1.1.1.1.2" } . oid .* 1.3.6.1.4.1.9.9.166 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.166.1.1.1.1.2" } . oid .* 1.3.6.1.4.1.9.9.166.1.5.1.1.2.* proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.166.1.5.1.1.3" return } puts "tag=octetstring string=h" } . oid .* 1.3.6.1.4.1.9.9.166.1.5.1.1.3.* proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.166.1.5.1.1.4" return } puts "tag=octetstring string=h" } . oid .* 1.3.6.1.4.1.9.9.166.1.5.1.1.4.* proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.166.1.6.1.1.1" return } puts "tag=octetstring string=h" } . oid .* 1.3.6.1.4.1.9.9.166.1.5.1.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.166.1.5.1.1.2" } . oid .* 1.3.6.1.4.1.9.9.166.1.5.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.166.1.5.1.1.2" } . oid .* 1.3.6.1.4.1.9.9.166.1.5 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.166.1.5.1.1.2" } . oid .* 1.3.6.1.4.1.9.9.166.1.6.1.1.1.* proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.166.1.7.1.1.1" return } puts "tag=octetstring string=mandjemvege" } . oid .* 1.3.6.1.4.1.9.9.166.1.6.1.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.166.1.6.1.1.1" } . oid .* 1.3.6.1.4.1.9.9.166.1.6.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.166.1.6.1.1.1" } . oid .* 1.3.6.1.4.1.9.9.166.1.6 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.166.1.6.1.1.1" } . oid .* 1.3.6.1.4.1.9.9.166.1.7.1.1.1.* proc snmp {mode oid} { if {[string equal $mode next]} { puts "1.3.6.1.4.1.9.9.166.1.7.1.1.1" return } puts "tag=octetstring string=vege" } . oid.* 1.3.6.1.4.1.9.9.166.1.7.1.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.166.1.7.1.1.1" } . oid.* 1.3.6.1.4.1.9.9.166.1.7.1 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.166.1.7.1.1.1" } . oid .* 1.3.6.1.4.1.9.9.166.1.7 proc snmp {mode oid} { puts "1.3.6.1.4.1.9.9.166.1.7.1.1.1" } . freeRtr-25.11.9/misc/temper/000077500000000000000000000000001510423065500155325ustar00rootroot00000000000000freeRtr-25.11.9/misc/temper/acpi.sh000077500000000000000000000000541510423065500170040ustar00rootroot00000000000000#!/bin/sh acpi -t | cut -d' ' -f4 echo done freeRtr-25.11.9/misc/temper/acpi.tcl000066400000000000000000000000601510423065500171460ustar00rootroot00000000000000puts [exec "attach shell2 /rtr/temper/acpi.sh"] freeRtr-25.11.9/misc/temper/c.sh000077500000000000000000000001141510423065500163070ustar00rootroot00000000000000#!/bin/sh ./d.sh javac -source 11 -target 11 -Xlint:all -deprecation *.java freeRtr-25.11.9/misc/temper/d.sh000077500000000000000000000000421510423065500163100ustar00rootroot00000000000000#!/bin/sh rm *.class 2> /dev/null freeRtr-25.11.9/misc/temper/index.css000066400000000000000000000002751510423065500173570ustar00rootroot00000000000000body { background-color: #000000; color: #00FF00; font-size: xx-large; } :link { color: #00FFFF } :visited { color: #00FFFF } :active { color: #00FFFF } table, th, td { border: 1px solid } freeRtr-25.11.9/misc/temper/index2.html000066400000000000000000000003231510423065500176070ustar00rootroot00000000000000temper starting... freeRtr-25.11.9/misc/temper/temper.cfg000066400000000000000000000002661510423065500175130ustar00rootroot00000000000000tzdata=CET door-code=asdf door-pin=2 heat-pin=1 script=/rtr/temper/tempset.sh measure=in;1;bedroom;http://10.10.10.123/temper.tcl measure=out;1;cellar;http://10.10.10.124/temper.tcl freeRtr-25.11.9/misc/temper/temper.java000066400000000000000000000644151510423065500177030ustar00rootroot00000000000000 import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileReader; import java.net.URI; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Locale; import javax.imageio.ImageIO; /** * web temperature setter * * @author matecsaba */ public class temper implements Runnable { /** * this is needed for cli startup * * @param args command line parameters */ public static void main(String[] args) { temper app = new temper(); String a; try { ByteArrayOutputStream buf = new ByteArrayOutputStream(); a = "" + app.getClass().getName() + "."; a = temper.httpRequest("http://localhost/" + a, "./" + a, "cli", "clibrowser", "user", args, buf); a = "type=" + a + "\r\ndata:\r\n" + buf.toString(); } catch (Exception e) { a = "exception " + e.getMessage(); } System.out.println(a); } /** * where i'm located in ram */ protected static temper staticTemper = null; /** * do one request * * @param url url of app * @param path path of app * @param peer client address * @param agent user agent * @param user auth data * @param par parameters * @param buf result buffer, if empty, pathname must present * @return [pathname"][file name.]extension * @throws Exception if something went wrong */ public static String httpRequest(String url, String path, String peer, String agent, String user, String[] par, ByteArrayOutputStream buf) throws Exception { if (staticTemper == null) { staticTemper = new temper(); staticTemper.path = path.substring(0, path.lastIndexOf(".")); staticTemper.url = new URI(url).toURL().getPath(); staticTemper.doInit(); new Thread(staticTemper).start(); } if (staticTemper.doRequest(par, buf, peer) == 2) { return "png"; } else { return "html"; } } /** * where i'm located on host */ protected String path; /** * where i'm located on net */ protected String url; /** * reading store */ protected temperData measDat[] = new temperData[0]; /** * allowed peers */ protected String allowIp; /** * inside reading used */ protected int measIn = -1; /** * outside reading used */ protected int measOut = -1; /** * current value sent */ protected int currValue = 0x10000; /** * last needed temperature */ protected float lastNeeded = 20; /** * time needed temperature */ protected long timeNeeded = 0; /** * time heating temperature */ protected long timeHeating = 0; /** * time zone to use */ protected String tzdata = "Z"; /** * http refresh seconds */ protected int refreshSeconds = 3; /** * http refresh site */ protected String refreshSite = "/index.html"; /** * log file */ protected String logFile = "temper.log"; /** * script file */ protected String scrFile = "temper.sh"; /** * window min time */ protected int windowTim = 15 * 60 * 1000; /** * measure timeout */ protected int measTime = 5 * 60 * 1000; /** * measure timeout */ protected int measIotm = 5 * 1000; /** * measure interval */ protected int collTime = 30 * 1000; /** * measure history */ protected int collHist = 90; /** * measure discard */ protected Float collIlde = 0.2F; /** * temperature minimum */ protected float tempMin = 10; /** * temperature maximum */ protected float tempMax = 30; /** * heat tolerance */ protected float heatTol = 0.3F; /** * cool tolerance */ protected float coolTol = 0.3F; /** * cool tolerance */ protected float ventTol = 0.1F; /** * window tolerance */ protected float windowTol = 0.9F; /** * heat pin */ protected int heatPin = 0x0; /** * cool pin */ protected int coolPin = 0x0; /** * vent pin */ protected int ventPin = 0x0; /** * relay pin */ protected int relayPin = 0x0; /** * door pin */ protected int doorPin = 0x0; /** * door time */ protected int doorTime = 1000; /** * door codes */ protected List doorCode = new ArrayList(); /** * door log */ protected List doorLog = new ArrayList(); /** * door temporary codes allowed */ protected boolean doorTemp = false; /** * door max */ protected int doorMax = 5; /** * door count */ protected int doorCnt = 0; /** * last setter peer */ protected String lastSetter = "nobody"; private synchronized void setValue(int val) { val &= (heatPin | coolPin | ventPin | doorPin | relayPin); if (currValue == val) { return; } try { Runtime rtm = Runtime.getRuntime(); String[] cmd = new String[2]; cmd[0] = scrFile; cmd[1] = val + ""; Process prc = rtm.exec(cmd); prc.waitFor(); } catch (Exception e) { return; } int mask = heatPin | coolPin | ventPin; if ((currValue & mask) != (val & mask)) { timeHeating = temperUtil.getTime(); for (int i = 0; i < measDat.length; i++) { measDat[i].setWindow(); } } currValue = val; } private void rangeCheck() { if (lastNeeded > tempMax) { lastNeeded = tempMax; } if (lastNeeded < tempMin) { lastNeeded = tempMin; } } private int doCalc() { for (int i = 0; i < measDat.length; i++) { measDat[i].getValue(); measDat[i].doCalc(); } measIn = -1; measOut = -1; int prioIn = -1; int prioOut = -1; boolean win = false; for (int i = 0; i < measDat.length; i++) { if (!measDat[i].isWorking) { continue; } if (measDat[i].myPri < 0) { continue; } if (measDat[i].inside) { if (prioIn > measDat[i].myPri) { continue; } measIn = i; prioIn = measDat[i].myPri; } else { if (prioOut > measDat[i].myPri) { continue; } measOut = i; prioOut = measDat[i].myPri; } win |= measDat[i].isWindow; } int i = currValue & ~(heatPin | coolPin | ventPin); if (win) { return i; } if (measIn < 0) { return i; } temperData.results res = measDat[measIn].lastCalc; if ((ventPin != 0) && (measOut >= 0)) { boolean maybe = (currValue & ventPin) != 0; float diff = measDat[measIn].lastMeasure - measDat[measOut].lastMeasure; if (diff < 0) { diff = -diff; } maybe &= diff < ventTol; boolean good; switch (res) { case cool: good = measDat[measIn].lastMeasure > (measDat[measOut].lastMeasure + coolTol); break; case heat: good = measDat[measIn].lastMeasure < (measDat[measOut].lastMeasure - heatTol); break; default: return i; } //good &= (res == measDat[measOut].histRes) || (measDat[measOut].histRes == temperData.results.idle); if (good || maybe) { return i | ventPin; } } switch (res) { case cool: return i | coolPin; case heat: return i | heatPin; default: return i; } } private synchronized void writeLog(String who) { if (who == null) { who = lastSetter; } String a = ""; for (int i = 0; i < measDat.length; i++) { a = a + ";" + measDat[i].getLog(); } temperUtil.append(logFile, temperUtil.getTime() + ";" + who + ";" + currValue + ";" + lastNeeded + ";" + measIn + ";" + measOut + a); } /** * initialize */ public void doInit() { readConfig(); timeNeeded = temperUtil.getTime(); timeHeating = timeNeeded; lastSetter = "boot"; rangeCheck(); writeLog(""); } public void run() { for (;;) { rangeCheck(); setValue(doCalc()); writeLog(null); temperUtil.sleep(collTime); } } private void readConfig() { logFile = path + ".log"; List c = temperUtil.readup(path + ".cfg"); if (c == null) { return; } List m = new ArrayList(); for (int i = 0; i < c.size(); i++) { String s = c.get(i); int o = s.indexOf("="); if (o < 0) { continue; } String a = s.substring(0, o).trim().toLowerCase(); s = s.substring(o + 1, s.length()).trim(); if (a.equals("script")) { scrFile = s; continue; } if (a.equals("needed")) { lastNeeded = temperUtil.str2num(s); continue; } if (a.equals("tzdata")) { tzdata = s; continue; } if (a.equals("door-count")) { doorMax = (int) temperUtil.str2num(s); continue; } if (a.equals("door-code")) { doorCode.add(new temperCode(doorCode.size() + 1, s, false)); continue; } if (a.equals("door-tcode")) { doorCode.add(new temperCode(doorCode.size() + 1, s, true)); continue; } if (a.equals("door-temp")) { doorTemp = s.equals("on"); continue; } if (a.equals("door-time")) { doorTime = (int) temperUtil.str2num(s); continue; } if (a.equals("door-pin")) { doorPin = (int) temperUtil.str2num(s); continue; } if (a.equals("log-file")) { logFile = s; continue; } if (a.equals("temp-min")) { tempMin = temperUtil.str2num(s); continue; } if (a.equals("temp-max")) { tempMax = temperUtil.str2num(s); continue; } if (a.equals("heat-tol")) { heatTol = temperUtil.str2num(s); continue; } if (a.equals("heat-pin")) { heatPin = (int) temperUtil.str2num(s); continue; } if (a.equals("cool-tol")) { coolTol = temperUtil.str2num(s); continue; } if (a.equals("cool-pin")) { coolPin = (int) temperUtil.str2num(s); continue; } if (a.equals("vent-tol")) { ventTol = temperUtil.str2num(s); continue; } if (a.equals("vent-pin")) { ventPin = (int) temperUtil.str2num(s); continue; } if (a.equals("win-tim")) { windowTim = (int) (temperUtil.str2num(s) * 60 * 1000); continue; } if (a.equals("win-tol")) { windowTol = temperUtil.str2num(s); continue; } if (a.equals("collect")) { collTime = (int) (temperUtil.str2num(s) * 1000); continue; } if (a.equals("history")) { collHist = (int) temperUtil.str2num(s); continue; } if (a.equals("idling")) { collIlde = temperUtil.str2num(s); continue; } if (a.equals("timeout")) { measTime = (int) (temperUtil.str2num(s) * 60 * 1000); continue; } if (a.equals("relay-pin")) { relayPin = (int) temperUtil.str2num(s); continue; } if (a.equals("refresh-delay")) { refreshSeconds = (int) temperUtil.str2num(s); continue; } if (a.equals("refresh-site")) { refreshSite = s; continue; } if (a.equals("allowed-ip")) { allowIp = s; continue; } if (a.equals("measure")) { m.add(s); continue; } } measDat = new temperData[m.size()]; for (int i = 0; i < measDat.length; i++) { measDat[i] = new temperData(this, i + 1, m.get(i)); } } protected void drawRightAlighed(Graphics2D g2d, int mx10, int y, String s) { FontMetrics fm = g2d.getFontMetrics(); g2d.drawString(s, mx10 - fm.stringWidth(s), y); } protected void putStart(ByteArrayOutputStream buf, String tit, String res) throws Exception { buf.write("".getBytes()); buf.write("".getBytes()); buf.write(tit.getBytes()); buf.write("".getBytes()); buf.write(res.getBytes()); buf.write("".getBytes()); } private temperCode findCode(String s) { for (int i = 0; i < doorCode.size(); i++) { temperCode cur = doorCode.get(i); if (!s.equals(cur.code)) { continue; } return cur; } return null; } private BufferedImage drawHist(List hst, int dot) { float tmpMin = Float.MAX_VALUE; float tmpMax = Float.MIN_VALUE; for (int o = 0; o < hst.size(); o++) { temperHist l = hst.get(o); tmpMin = Float.min(tmpMin, l.need); tmpMax = Float.max(tmpMax, l.need); for (int i = 0; i < l.meas.length; i++) { float v = l.meas[i]; tmpMin = Float.min(tmpMin, v); tmpMax = Float.max(tmpMax, v); } } tmpMax -= tmpMin; final int mx = 1800; final int my = 900; final int mx10 = mx - 10; final int mx20 = mx - 20; final int my1 = my - 1; final int my10 = my - 10; final int my20 = my - 20; final int my30 = my - 30; final int my40 = my - 40; final int my50 = my - 50; BufferedImage img = new BufferedImage(mx, my, BufferedImage.TYPE_INT_RGB); Graphics2D g2d = img.createGraphics(); g2d.setBackground(Color.gray); g2d.setFont(new Font("Serif", Font.BOLD, 20)); g2d.setPaint(Color.gray); g2d.fillRect(0, 0, img.getWidth(), img.getHeight()); g2d.setPaint(Color.black); Color colors[] = { Color.green, Color.red, Color.cyan, Color.magenta, Color.orange, Color.pink, Color.yellow, Color.white, Color.blue,}; for (int o = 0; o < hst.size(); o++) { temperHist l = hst.get(o); int x = ((o * mx20) / hst.size()) + 10; g2d.setPaint(Color.black); g2d.drawRect(x, my10 - (int) (((l.need - tmpMin) * my20) / tmpMax), dot, dot); if (l.curr != 0) { g2d.drawRect(x, 10, dot, dot); } for (int i = 0; i < l.meas.length; i++) { g2d.setPaint(colors[i]); g2d.drawRect(x, my10 - (int) (((l.meas[i] - tmpMin) * my20) / tmpMax), dot, dot); } } for (int i = 0; i < measDat.length; i++) { g2d.setPaint(colors[i]); drawRightAlighed(g2d, mx10, my50 - (i * 20), measDat[i].myNam); } g2d.setPaint(Color.black); drawRightAlighed(g2d, mx10, my30, "needed"); for (int i = 20; i < my20; i += 50) { float v = (float) i * tmpMax; v = v / (float) my20; v += tmpMin; String a = v + " "; g2d.drawString(a.substring(0, 6), 1, my10 - i); } String a; if ((hst.get(hst.size() - 1).time - hst.get(0).time) < (86400 * 3000)) { a = "HH:mm"; } else { a = "MMMdd"; } for (int i = 0; i < mx20; i += 100) { temperHist l = hst.get((i * hst.size()) / mx20); DateFormat dat = new SimpleDateFormat(a, Locale.US); g2d.drawString(dat.format(new Date((long) l.time)), i + 10, my1); } return img; } private boolean checkPeer(ByteArrayOutputStream buf, String peer) throws Exception { if (allowIp == null) { return false; } if (allowIp.indexOf(";" + peer + ";") >= 0) { return false; } putStart(buf, "restricted", "you are not allowed"); return true; } /** * do one request * * @param par parameters * @param buf buffer to use * @param peer address * @return 1 on html result * @throws Exception on error */ public synchronized int doRequest(String[] par, ByteArrayOutputStream buf, String peer) throws Exception { String tmp = ""; String cmd = ""; for (int i = 0; i < par.length; i++) { String a = par[i]; int o = a.indexOf("="); if (o < 1) { continue; } String b = a.substring(0, o); a = a.substring(o + 1, a.length()); if (b.equals("temp")) { tmp = a; } if (b.equals("cmd")) { cmd = a; } } if (cmd.equals("heat")) { if (checkPeer(buf, peer)) { return 1; } lastNeeded = temperUtil.str2num(tmp); timeNeeded = temperUtil.getTime(); lastSetter = peer; rangeCheck(); } if (cmd.equals("relayor")) { int i = ((int) temperUtil.str2num(tmp)) & relayPin; tmp = "" + (currValue | i); cmd = "relayset"; } if (cmd.equals("relayand")) { int i = ((int) temperUtil.str2num(tmp)) & relayPin; tmp = "" + (currValue & i); cmd = "relayset"; } if (cmd.equals("relayxor")) { int i = ((int) temperUtil.str2num(tmp)) & relayPin; tmp = "" + (currValue ^ i); cmd = "relayset"; } if (cmd.equals("relayset")) { if (checkPeer(buf, peer)) { return 1; } if (relayPin == 0) { putStart(buf, "relay", "relay not set"); return 1; } int i = ((int) temperUtil.str2num(tmp)) & relayPin; setValue((currValue & (~relayPin)) | i); writeLog(peer); putStart(buf, "relay", "relay set to " + i + " from range " + relayPin); return 1; } if (cmd.equals("guests")) { if (checkPeer(buf, peer)) { return 1; } temperCode res = findCode(tmp); if (res == null) { putStart(buf, "door", "invalid code"); return 1; } if (res.temp) { putStart(buf, "door", "disabled code"); return 1; } doorTemp = true; putStart(buf, "door", "guests enabled"); return 1; } if (cmd.equals("closed")) { if (checkPeer(buf, peer)) { return 1; } temperCode res = findCode(tmp); if (res == null) { putStart(buf, "door", "invalid code"); return 1; } if (res.temp) { putStart(buf, "door", "disabled code"); return 1; } doorTemp = false; putStart(buf, "door", "guests disabled"); return 1; } if (cmd.equals("door")) { if (checkPeer(buf, peer)) { return 1; } temperCode res = findCode(tmp); if (res == null) { putStart(buf, "door", "invalid code"); return 1; } if (res.temp && (!doorTemp)) { putStart(buf, "door", "disabled code"); return 1; } setValue(currValue | doorPin); writeLog(peer); temperUtil.sleep(doorTime); setValue(currValue & (~doorPin)); writeLog(peer); doorLog.add(new temperLog(this, peer, res.myNum)); for (;;) { if (doorLog.size() <= doorMax) { break; } doorLog.remove(0); } doorCnt++; putStart(buf, "door", "door opened"); return 1; } if (cmd.equals("history")) { temperData cur = measDat[(int) temperUtil.str2num(tmp) - 1]; ImageIO.write(drawHist(cur.histDat, 10), "png", buf); return 2; } if (!cmd.equals("graph")) { rangeCheck(); String a = "temper"; buf.write(a.getBytes()); a = ""; buf.write(a.getBytes()); long tim = temperUtil.getTime(); a = ""; buf.write(a.getBytes()); for (int i = 0; i < measDat.length; i++) { a = measDat[i].getMeas(); buf.write(a.getBytes()); } a = "
numnamevaluelasterrreadworkwinreshstwtmpwtim

"; buf.write(a.getBytes()); a = "tolerance: heat " + heatTol + ", cool " + coolTol + ", vent " + ventTol + ", window " + windowTol + ", time " + temperUtil.timePast(windowTim, 0) + "
"; buf.write(a.getBytes()); a = "needed: " + lastNeeded + " celsius, since " + temperUtil.time2str(tzdata, timeNeeded) + ", " + temperUtil.timePast(tim, timeNeeded) + " ago by " + lastSetter + "
"; buf.write(a.getBytes()); a = "doing: " + currValue + ", since " + temperUtil.time2str(tzdata, timeHeating) + ", " + temperUtil.timePast(tim, timeHeating) + " ago, using #" + (measIn + 1) + "/#" + (measOut + 1) + " for " + temperUtil.timePast(measTime, 0) + "
"; buf.write(a.getBytes()); a = "
wish: celsius (" + tempMin + "-" + tempMax + ")"; buf.write(a.getBytes()); buf.write("".getBytes()); buf.write("".getBytes()); buf.write("

".getBytes()); for (int i = -3; i <= 3; i++) { int o = i + (int) lastNeeded; a = "((" + o + ".0))"; buf.write(a.getBytes()); a = "((" + o + ".5))"; buf.write(a.getBytes()); } a = "

the door was opened " + doorCnt + " times:
"; buf.write(a.getBytes()); a = ""; buf.write(a.getBytes()); for (int i = doorLog.size() - 1; i >= 0; i--) { a = doorLog.get(i).getMeas(i, tim); buf.write(a.getBytes()); } a = "
numwhenagocodepeer

"; buf.write(a.getBytes()); buf.write("".getBytes()); return 1; } File fi = new File(logFile); FileReader fr = new FileReader(fi); fr.skip(fi.length() - (long) (temperUtil.str2num(tmp) * 64000)); BufferedReader f = new BufferedReader(fr); f.readLine(); List history = new ArrayList(); while (f.ready()) { String s = f.readLine(); temperHist l = new temperHist(); l.parseLine(s); history.add(l); } f.close(); ImageIO.write(drawHist(history, 1), "png", buf); return 2; } } freeRtr-25.11.9/misc/temper/temper.sh000077500000000000000000000003021510423065500173600ustar00rootroot00000000000000#!/bin/sh python3 /rtr/temper/temper.py | cut -d' ' -f7 | cut -d'C' -f1 echo done #wget https://raw.githubusercontent.com/urwen/temper/master/temper.py #apt-get install usbutils python3-serial freeRtr-25.11.9/misc/temper/temper.tcl000066400000000000000000000000611510423065500175270ustar00rootroot00000000000000puts [exec "attach shell2 /rtr/temper/temper.sh"]freeRtr-25.11.9/misc/temper/temperCode.java000066400000000000000000000007351510423065500204710ustar00rootroot00000000000000 /** * door code * * @author matecsaba */ public class temperCode { /** * my number */ protected final int myNum; /** * code */ protected final String code; /** * temporary */ protected final boolean temp; /** * create instance * * @param c code * @param t temporary */ public temperCode(int n, String c, boolean t) { myNum = n; code = c; temp = t; } } freeRtr-25.11.9/misc/temper/temperData.java000066400000000000000000000145741510423065500204760ustar00rootroot00000000000000 import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URI; import java.net.URL; import java.net.URLConnection; import java.util.ArrayList; import java.util.List; /** * temperature reading * * @author matecsaba */ public class temperData { /** * result codes */ public enum results { idle, cool, heat }; /** * parent */ protected final temper lower; /** * my number */ protected final int myNum; /** * my priority */ protected final int myPri; /** * my name */ protected final String myNam; /** * my url */ protected final String myUrl; /** * inside measurement */ protected final boolean inside; /** * last measured temperature */ protected float lastMeasure; /** * time measured temperature */ protected long timeMeasure; /** * measurement history */ protected List histDat; /** * history result */ protected results histRes = results.idle; /** * time window temperature */ protected long timeWindow; /** * last window temperature */ protected float lastWindow; /** * last works status */ protected boolean isWorking; /** * last tilted status */ protected boolean isWindow; /** * exceptions happened */ protected int errors; /** * images got */ protected int fetches; /** * last calculated value */ protected results lastCalc = results.idle; /** * create instance * * @param prnt parent * @param num my number * @param nam my name */ protected temperData(temper prnt, int num, String nam) { lower = prnt; myNum = num; int i = nam.indexOf(";"); inside = nam.substring(0, i).equals("in"); nam = nam.substring(i + 1, nam.length()); i = nam.indexOf(";"); myPri = (int) temperUtil.str2num(nam.substring(0, i)); nam = nam.substring(i + 1, nam.length()); i = nam.indexOf(";"); myNam = nam.substring(0, i); myUrl = nam.substring(i + 1, nam.length()); lastMeasure = 20; lastWindow = lastMeasure; histDat = new ArrayList(); } /** * get current measurement */ protected synchronized void getValue() { try { URL testUrl = new URI(myUrl).toURL(); URLConnection testConn = testUrl.openConnection(); testConn.setConnectTimeout(lower.measIotm); testConn.setReadTimeout(lower.measIotm); BufferedReader testReader = new BufferedReader(new InputStreamReader(testConn.getInputStream())); String testLine = testReader.readLine(); if (!testReader.readLine().equals("done")) { errors++; return; } lastMeasure = Float.parseFloat(testLine); timeMeasure = temperUtil.getTime(); fetches++; temperHist ntry = new temperHist(); ntry.placeMeas(timeMeasure, lastMeasure, lower.lastNeeded); histDat.add(ntry); for (; histDat.size() > lower.collHist;) { histDat.remove(0); } } catch (Exception e) { errors++; } } /** * update window */ protected void setWindow() { lastWindow = lastMeasure; } /** * calculate */ protected void doCalc() { float tmpMin = Float.MAX_VALUE; float tmpMax = Float.MIN_VALUE; int posMin = 0; int posMax = 0; for (int i = 0; i < histDat.size(); i++) { Float v = histDat.get(i).meas[0]; if (tmpMin > v) { tmpMin = v; posMin = i; } if (tmpMax < v) { tmpMax = v; posMax = i; } } if (posMin > posMax) { histRes = results.cool; } else { histRes = results.heat; } if ((tmpMax - tmpMin) < lower.collIlde) { histRes = results.idle; } long tim = temperUtil.getTime(); isWorking = (tim - timeMeasure) < lower.measTime; if (!inside) { return; } if (!isWorking) { return; } if (myPri < 0) { return; } //lastCalc = results.idle; if (lower.lastNeeded > (lastMeasure + lower.heatTol)) { lastCalc = results.heat; } if (lower.lastNeeded < (lastMeasure - lower.coolTol)) { lastCalc = results.cool; } isWindow = false; if (lower.windowTol < 0) { return; } if (timeWindow > 0) { isWindow = true; lastCalc = results.idle; if ((tim - timeWindow) < lower.windowTim) { return; } timeWindow = 0; return; } switch (lastCalc) { case heat: isWindow = lastMeasure < (lastWindow - lower.windowTol); isWindow &= (lower.currValue & lower.heatPin) != 0; break; case cool: isWindow = lastMeasure > (lastWindow + lower.windowTol); isWindow &= (lower.currValue & lower.coolPin) != 0; break; default: break; } if (!isWindow) { return; } lastCalc = results.idle; timeWindow = tim; } /** * get log line * * @return string */ public String getLog() { return timeMeasure + ";" + timeWindow + ";" + lastWindow + ";" + lastMeasure + ";" + isWorking + ";" + isWindow; } /** * get web line * * @return string */ public String getMeas() { return "" + myNum + "" + myNam + "" + lastMeasure + "" + temperUtil.timePast(temperUtil.getTime(), timeMeasure) + "" + errors + "" + fetches + "" + isWorking + "" + isWindow + "" + lastCalc + "" + histRes + "" + lastWindow + "" + temperUtil.timePast(temperUtil.getTime(), timeWindow) + ""; } } freeRtr-25.11.9/misc/temper/temperHist.java000066400000000000000000000037521510423065500205300ustar00rootroot00000000000000 import java.util.ArrayList; import java.util.List; /** * history * * @author matecsaba */ public class temperHist { /** * time */ protected float time; /** * needed */ protected float need; /** * measures */ protected float[] meas; /** * current value */ protected int curr; private String line; public String toString() { String a = time + ";" + need; for (int i = 0; i < meas.length; i++) { a += ";" + meas[i]; } return a; } /** * get word * * @return word */ protected String getWord() { int i = line.indexOf(";"); if (i < 0) { String a = line; line = ""; return a; } String a = line.substring(0, i); line = line.substring(i + 1, line.length()); return a; } /** * parse line * * @param s line to read */ protected void parseLine(String s) { line = s; time = temperUtil.str2num(getWord()); getWord(); // who curr = (int) temperUtil.str2num(getWord()); need = temperUtil.str2num(getWord()); getWord(); // meas in getWord(); // meas out List res = new ArrayList(); for (; line.length() > 0;) { getWord(); // time getWord(); // wintime getWord(); // win res.add(temperUtil.str2num(getWord())); getWord(); // work getWord(); // win } meas = new float[res.size()]; for (int i = 0; i < meas.length; i++) { meas[i] = res.get(i); } line = null; } /** * place measurement * * @param t time * @param v value * @param n needed */ protected void placeMeas(long t, float v, float n) { meas = new float[1]; meas[0] = v; time = t; need = n; curr = 0; } } freeRtr-25.11.9/misc/temper/temperLog.java000066400000000000000000000020251510423065500203320ustar00rootroot00000000000000 /** * log entry * * @author matecsaba */ public class temperLog { /** * parent */ public final temper lower; /** * time */ public final long time; /** * peer */ public final String peer; /** * code */ public final int code; /** * create instance * * @param prnt parent * @param per peer * @param cod code */ public temperLog(temper prnt, String per, int cod) { lower = prnt; time = temperUtil.getTime(); peer = per; code = cod; } /** * get web line * * @param num my number * @param tim current time * @return string */ protected String getMeas(int num, long tim) { num += lower.doorCnt; num -= lower.doorLog.size(); num++; return "" + num + "" + temperUtil.time2str(lower.tzdata, time) + "" + temperUtil.timePast(tim, time) + "" + code + "" + peer + ""; } } freeRtr-25.11.9/misc/temper/temperUtil.java000066400000000000000000000070531510423065500205340ustar00rootroot00000000000000 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.List; import java.util.TimeZone; /** * utils * * @author matecsaba */ public class temperUtil { /** * get millisecs since 1970 jan 1 * * @return current time */ public static long getTime() { return new Date().getTime(); } /** * pad up to beginning for a minimum size * * @param str string to pad up * @param min minimum size to use * @param pad padding string * @return padded string */ public static String padBeg(String str, int min, String pad) { for (; str.length() < min;) { str = pad + str; } return str; } /** * convert time to string * * @param tzd time zone to use * @param tim time to convert * @return string */ public static String time2str(String tzd, long tim) { Calendar cal = new GregorianCalendar(TimeZone.getTimeZone(tzd)); cal.setTime(new Date(tim)); return cal.get(Calendar.YEAR) + "-" + padBeg("" + (cal.get(Calendar.MONTH) + 1), 2, "0") + "-" + padBeg("" + cal.get(Calendar.DAY_OF_MONTH), 2, "0") + " " + padBeg("" + cal.get(Calendar.HOUR_OF_DAY), 2, "0") + ":" + padBeg("" + cal.get(Calendar.MINUTE), 2, "0") + ":" + padBeg("" + cal.get(Calendar.SECOND), 2, "0"); } /** * convert time to string * * @param tim current time * @param when time to write * @return nice string */ public static String timePast(long tim, long when) { long i = (tim - when) / 1000; String a = (i % 60) + "s"; i = i / 60; if (i > 0) { a = (i % 60) + "m" + a; i = i / 60; } if (i > 0) { a = (i % 24) + "h" + a; i = i / 24; } if (i > 0) { a = i + "d"; } return a; } /** * sleep some time without wakeups * * @param msec time */ public static void sleep(int msec) { if (msec < 1) { return; } try { synchronized (sleeper) { sleeper.wait(msec); } } catch (Exception e) { } } private final static Object sleeper = new Object(); /** * append one line * * @param fn file name * @param ln line */ public static void append(String fn, String ln) { try { BufferedWriter f = new BufferedWriter(new FileWriter(fn, true)); f.append(ln + "\n"); f.close(); } catch (Exception e) { } } /** * read up file * * @param fn file name * @return lines */ public static List readup(String fn) { List l = new ArrayList(); try { BufferedReader f = new BufferedReader(new FileReader(fn)); while (f.ready()) { l.add(f.readLine()); } f.close(); } catch (Exception e) { } return l; } /** * convert string to number * * @param s string to convert * @return value of string, 0 if failed to convert */ public static float str2num(String s) { float i = 0; s = s.trim(); try { i = Float.parseFloat(s); } catch (Exception e) { } return i; } } freeRtr-25.11.9/misc/temper/tempset.sh000077500000000000000000000004211510423065500175470ustar00rootroot00000000000000#!/bin/sh while (true); do echo setting to $1 at `find /dev/ttyUSB*` echo -n P > `find /dev/ttyUSB*` sleep 0.1 echo -n Q > `find /dev/ttyUSB*` sleep 0.1 echo -n $1 > `find /dev/ttyUSB*` if [[ $? = 0 ]] ; then exit else sleep 1 fi sleep 1 done freeRtr-25.11.9/misc/temper/tracker.tcl000066400000000000000000000003631510423065500176730ustar00rootroot00000000000000set a [exec "term tab html" "show tracker"] puts "network map" puts "" puts "$a
" puts "" freeRtr-25.11.9/misc/tests/000077500000000000000000000000001510423065500154005ustar00rootroot00000000000000freeRtr-25.11.9/misc/tests/ibgp-peers-1box.tcl000066400000000000000000000013101510423065500210030ustar00rootroot00000000000000proc trafficMultiplierA { hops } { for {set a 1} {$a <= $hops} {incr a} { set c [expr $a/256] set d [expr $a%256] puts "interface loopback$a" puts " vrf for v" puts " ipv4 addr 12.3.$c.$d 255.255.255.255" puts " exit" } } proc trafficMultiplierB { hops } { puts "router bgp4 1" puts " vrf v" for {set a 1} {$a <= $hops} {incr a} { set c [expr $a/256] set d [expr $a%256] puts " neighbor 1.9.$c.$d remote-as 1" puts " neighbor 1.9.$c.$d address-family unicast" puts " neighbor 1.9.$c.$d update-source loopback$a" puts " neighbor 1.9.$c.$d route-policy-in v" } puts " exit" } proc trafficMultiplier { hops } { trafficMultiplierA $hops trafficMultiplierB $hops } trafficMultiplier 10 freeRtr-25.11.9/misc/tests/ibgp-peers-2box.tcl000066400000000000000000000031011510423065500210040ustar00rootroot00000000000000proc configureHW1 { hops } { set x [open r1-hw.txt w] puts $x "nostall" for {set a 1} {$a <= $hops} {incr a} { set e [expr ($a*2)+25000] set f [expr $e+1] puts $x "int serial$a ser - 127.0.0.1 $e 127.0.0.1 $f" } } proc configureHW2 { hops } { set x [open r2-hw.txt w] puts $x "nostall" for {set a 1} {$a <= $hops} {incr a} { set e [expr ($a*2)+25000] set f [expr $e+1] puts $x "int serial$a ser - 127.0.0.1 $f 127.0.0.1 $e" } close $x } proc configureSW1 { hops } { set x [open r1-sw.txt w] puts $x "logging file debug r1-log.txt" puts $x "vrf def v1" puts $x " exit" puts $x "router bgp4 1" puts $x " vrf v1" puts $x " local-as 1" puts $x " exit" for {set a 1} {$a <= $hops} {incr a} { set c [expr $a/256] set d [expr $a%256] puts $x "int ser$a" puts $x " enc raw" puts $x " vrf for v1" puts $x " ipv4 addr 1.$c.$d.1 255.255.255.252" puts $x " exit" puts $x "router bgp4 1" puts $x " neigh 1.$c.$d.2 remote-as 1" puts $x " exit" } close $x } proc configureSW2 { hops } { set x [open r2-sw.txt w] puts $x "logging file debug r2-log.txt" puts $x "vrf def v1" puts $x " exit" puts $x "router bgp4 1" puts $x " vrf v1" puts $x " local-as 1" puts $x " exit" for {set a 1} {$a <= $hops} {incr a} { set c [expr $a/256] set d [expr $a%256] puts $x "int ser$a" puts $x " enc raw" puts $x " vrf for v1" puts $x " ipv4 addr 1.$c.$d.2 255.255.255.252" puts $x " exit" puts $x "router bgp4 1" puts $x " neigh 1.$c.$d.1 remote-as 1" puts $x " exit" } close $x } set lim 10 configureHW1 $lim configureHW2 $lim configureSW1 $lim configureSW2 $lim freeRtr-25.11.9/misc/tests/ibgp-vpnuni-1box.tcl000066400000000000000000000012321510423065500212070ustar00rootroot00000000000000proc configureBGP { hops } { for {set a 1} {$a <= $hops} {incr a} { set c [expr $a/256] set d [expr $a%256] puts "bgp$a" config "hair $a" "no ether" config "int hair$a1" "enc raw" "vrf for v1" "ipv4 addr 1.$c.$d.1 255.255.255.252" config "int hair$a2" "enc raw" "vrf for v2" "ipv4 addr 1.$c.$d.2 255.255.255.252" config "router bgp4 2" "neigh 1.$c.$d.1 temp rr" } } proc configureLO { hops } { for {set a 1} {$a <= $hops} {incr a} { puts "lo$a" set b [expr $a/65536] set c [expr $a%65536] set d [expr $c/256] set e [expr $c%256] config "int lo$a" "vrf for v3" "ipv4 addr 2.$b.$d.$e 255.255.255.255" } } configureBGP 10 configureLO 10 freeRtr-25.11.9/misc/tests/l2tp-mass.tcl000066400000000000000000000031371510423065500177320ustar00rootroot00000000000000set m 4000 for {set a 1} {$a <= $m} {incr a} { set b [expr $a/256] set c [expr $a%256] config "vrf definition main$a" config "vrf definition suli$a" "rd 6500:1025" config "vrf definition suli$a" "rt-both 1955:6661666" config "interface loopback$a" "vrf forwarding suli$a" config "interface loopback$a" "ipv4 address 10.241.$b.$c 255.255.255.255" config "interface virtualppp$a" "encapsulation ppp" config "interface virtualppp$a" "ppp ip4cp open" config "interface virtualppp$a" "ppp ip4cp local 100.64.$b.$c" config "interface virtualppp$a" "ppp mplscp open" config "interface virtualppp$a" "vrf forwarding main$a" config "interface virtualppp$a" "ipv4 address dynamic 255.255.255.255" config "interface virtualppp$a" "mpls enable" config "interface virtualppp$a" "pseudowire v1 loopback0 l2tp2 195.111.97.12 1234" config "router bgp4 $a" "vrf main$a" config "router bgp4 $a" "local-as 65000" config "router bgp4 $a" "router-id 10.45.$b.$c" config "router bgp4 $a" "no safe-ebgp" config "router bgp4 $a" "neighbor 10.7.255.255 remote-as 1955" config "router bgp4 $a" "neighbor 10.7.255.255 address-family vpnuni ovpnuni vpls" config "router bgp4 $a" "neighbor 10.7.255.255 send-community all" config "router bgp4 $a" "neighbor 195.111.94.251 remote-as 1955" config "router bgp4 $a" "neighbor 195.111.94.251 address-family labeled" config "router bgp4 $a" "afi-vrf suli$a enable" config "router bgp4 $a" "afi-vrf suli$a redistribute connected" config "router bgp4 $a" "justadvert virtualppp$a" } for {set a 1} {$a <= $m} {incr a} { puts [exec "ping 8.8.8.8 vrf suli$a"] } freeRtr-25.11.9/misc/tests/multiple-ping.tcl000066400000000000000000000005231510423065500206720ustar00rootroot00000000000000for {set i 1} {$i < 6} {incr i} { set a "ping 10.0.0.$i vrf CORE source loopback0" puts "" puts "*************************************************************************" puts "**************** $a ****************" puts "*************************************************************************" set b [exec $a] puts $b } freeRtr-25.11.9/misc/tests/ports-ip.tcl000066400000000000000000000024501510423065500176620ustar00rootroot00000000000000proc makeConfig { x port } { puts $x "addremote r1" puts $x "int eth1 eth 0000.0000.2222 127.0.0.1 1234 127.0.0.1 1235" puts $x "!" puts $x "config term" puts $x "vrf definition v1" puts $x " rd 1:1" puts $x " exit" puts $x "vrf definition v2" puts $x " rd 1:2" puts $x " exit" puts $x "interface tunnel11" puts $x " tunnel key $port" puts $x " tunnel vrf sulinet" puts $x " tunnel source loopback2" puts $x " tunnel destination 193.224.22.9" puts $x " tunnel mode pckoip" puts $x " vrf forwarding v1" puts $x " ipv4 address 1.1.1.9 255.255.255.252" puts $x " exit" puts $x "interface tunnel12" puts $x " tunnel key $port" puts $x " tunnel vrf uplink" puts $x " tunnel source ethernet1" puts $x " tunnel destination 195.199.255.209" puts $x " tunnel mode pckoip" puts $x " vrf forwarding v2" puts $x " ipv4 address 1.1.1.10 255.255.255.252" puts $x " exit" puts $x "end" puts $x "!" } proc testCaseA2B { port } { set x [open port-ip-a2b-$port.tst w] puts $x "description ip inet2suli $port" makeConfig $x $port puts $x "r1 tping 100 10 1.1.1.9 vrf v2" close $x } proc testCaseB2A { port } { set x [open port-ip-b2a-$port.tst w] puts $x "description ip suli2inet $port" makeConfig $x $port puts $x "r1 tping 100 10 1.1.1.10 vrf v1" close $x } for {set a 1} {$a < 255} {incr a} { testCaseA2B $a testCaseB2A $a } freeRtr-25.11.9/misc/tests/ports-tcp.tcl000066400000000000000000000041071510423065500200410ustar00rootroot00000000000000proc testCaseA2B { port } { set x [open port-tcp-a2b-$port.tst w] puts $x "description tcp inet2suli $port" puts $x "addremote r1" puts $x "int eth1 eth 0000.0000.2222 127.0.0.1 1234 127.0.0.1 1235" puts $x "!" puts $x "config term" puts $x "vrf definition v1" puts $x " rd 1:1" puts $x " exit" puts $x "vrf definition v2" puts $x " rd 1:2" puts $x " exit" puts $x "interface dialer11" puts $x " encapsulation raw" puts $x " vrf forwarding v1" puts $x " ipv4 address 1.1.1.5 255.255.255.252" puts $x " exit" puts $x "interface dialer12" puts $x " encapsulation raw" puts $x " vrf forwarding v2" puts $x " ipv4 address 1.1.1.6 255.255.255.252" puts $x " exit" puts $x "server pckotcp a" puts $x " port $port" puts $x " clone dialer11" puts $x " vrf sulinet" puts $x " exit" puts $x "vpdn a" puts $x " interface dialer12" puts $x " proxy uplink" puts $x " target 195.199.255.209" puts $x " vcid $port" puts $x " protocol pckotcp" puts $x " exit" puts $x "end" puts $x "!" puts $x "r1 tping 100 10 1.1.1.5 vrf v2" close $x } proc testCaseB2A { port } { set x [open port-tcp-b2a-$port.tst w] puts $x "description tcp suli2inet $port" puts $x "addremote r1" puts $x "int eth1 eth 0000.0000.2222 127.0.0.1 1234 127.0.0.1 1235" puts $x "!" puts $x "config term" puts $x "vrf definition v1" puts $x " rd 1:1" puts $x " exit" puts $x "vrf definition v2" puts $x " rd 1:2" puts $x " exit" puts $x "interface dialer11" puts $x " encapsulation raw" puts $x " vrf forwarding v1" puts $x " ipv4 address 1.1.1.5 255.255.255.252" puts $x " exit" puts $x "interface dialer12" puts $x " encapsulation raw" puts $x " vrf forwarding v2" puts $x " ipv4 address 1.1.1.6 255.255.255.252" puts $x " exit" puts $x "server pckotcp a" puts $x " port $port" puts $x " clone dialer11" puts $x " vrf uplink" puts $x " exit" puts $x "vpdn a" puts $x " interface dialer12" puts $x " proxy sulinet" puts $x " target 193.224.22.9" puts $x " vcid $port" puts $x " protocol pckotcp" puts $x " exit" puts $x "end" puts $x "!" puts $x "r1 tping 100 10 1.1.1.6 vrf v1" close $x } for {set a 1} {$a < 65535} {incr a} { testCaseA2B $a testCaseB2A $a } freeRtr-25.11.9/misc/tests/ports-udp.tcl000066400000000000000000000024561510423065500200500ustar00rootroot00000000000000proc makeConfig { x port } { puts $x "addremote r1" puts $x "int eth1 eth 0000.0000.2222 127.0.0.1 1234 127.0.0.1 1235" puts $x "!" puts $x "config term" puts $x "vrf definition v1" puts $x " rd 1:1" puts $x " exit" puts $x "vrf definition v2" puts $x " rd 1:2" puts $x " exit" puts $x "interface tunnel11" puts $x " tunnel key $port" puts $x " tunnel vrf sulinet" puts $x " tunnel source loopback2" puts $x " tunnel destination 193.224.22.9" puts $x " tunnel mode pckoudp" puts $x " vrf forwarding v1" puts $x " ipv4 address 1.1.1.1 255.255.255.252" puts $x " exit" puts $x "interface tunnel12" puts $x " tunnel key $port" puts $x " tunnel vrf uplink" puts $x " tunnel source ethernet1" puts $x " tunnel destination 195.199.255.209" puts $x " tunnel mode pckoudp" puts $x " vrf forwarding v2" puts $x " ipv4 address 1.1.1.2 255.255.255.252" puts $x " exit" puts $x "end" puts $x "!" } proc testCaseA2B { port } { set x [open port-udp-a2b-$port.tst w] puts $x "description udp inet2suli $port" makeConfig $x $port puts $x "r1 tping 100 10 1.1.1.1 vrf v2" close $x } proc testCaseB2A { port } { set x [open port-udp-b2a-$port.tst w] puts $x "description udp suli2inet $port" makeConfig $x $port puts $x "r1 tping 100 10 1.1.1.2 vrf v1" close $x } for {set a 1} {$a < 65535} {incr a} { testCaseA2B $a testCaseB2A $a } freeRtr-25.11.9/misc/tests/ports.ini000066400000000000000000000001011510423065500172400ustar00rootroot0000000000000010.19.254.254 7200 10.19.254.1 configure terminal hostname ports freeRtr-25.11.9/misc/tests/ports.sh000066400000000000000000000001201510423065500170740ustar00rootroot00000000000000#!/bin/sh java -jar /rtr/rtr.jar test tester - remote ports.ini summary retry 8 freeRtr-25.11.9/misc/tests/source-addresses.tcl000066400000000000000000000003351510423065500213600ustar00rootroot00000000000000for {set a 0} {$a <= 0x100} {incr a} { config "inter lo666" "vrf for inet2" config "inter lo666" "ipv6 addr 2001:738:666:666::[string tohex w $a] /128" puts [exec "ping vpn.nop.hu vrf inet2 sou lo666 time 100"] } freeRtr-25.11.9/misc/tests/systemd.service000066400000000000000000000002521510423065500204510ustar00rootroot00000000000000RuntimeMaxUSec=infinity MemoryMax=infinity TasksMax=infinity CPUAccounting=no IOAccounting=no BlockIOAccounting=no MemoryAccounting=no TasksAccounting=no IPAccounting=no freeRtr-25.11.9/misc/tests/traffic-chain-ports.tcl000066400000000000000000000023661510423065500217560ustar00rootroot00000000000000proc trafficMultiplierA { hops } { for {set a 1} {$a <= $hops} {incr a} { set p [expr ($a*2)+19] set b [expr $a+100] set c [expr (($a+2)/2)+100] set d "sdn$p" set e "inter $d" set f "router lsrp4 $c" set g [expr ($a*2)+120] config "vrf def big$c" "rd $b:$c" config "$f" "vrf big$c" config "$f" "router-id 253.252.$a.1" config "$f" "red conn" config "$f" "segrout 300 $g" config "$e" "vrf for big$c" config "$e" "ipv4 addr 253.252.$a.1 /30" config "$e" "$f ena" config "$e" "mpls ena" config "serv p4la p4" "export-vrf big$c $c" } } proc trafficMultiplierB { hops } { for {set a 1} {$a <= $hops} {incr a} { set p [expr ($a*2)+20] set b [expr $a+100] set c [expr (($a+1)/2)+500] set d "sdn$p" set e "inter $d" set f "router lsrp4 $c" set g [expr ($a*2)+121] config "vrf def big$c" "rd $b:$c" config "$f" "vrf big$c" config "$f" "router-id 253.252.$a.2" config "$f" "red conn" config "$f" "segrout 300 $g" config "$e" "vrf for big$c" config "$e" "ipv4 addr 253.252.$a.2 /30" config "$e" "$f ena" config "$e" "mpls ena" config "serv p4la p4" "export-vrf big$c $c" } } proc trafficMultiplier { hops } { trafficMultiplierA $hops trafficMultiplierB $hops } trafficMultiplierA 10 trafficMultiplierB 10 freeRtr-25.11.9/misc/tests/traffic-two-ports.tcl000066400000000000000000000023121510423065500214740ustar00rootroot00000000000000proc trafficMultiplierA { hops } { for {set a 1} {$a <= $hops} {incr a} { set b [expr $a+100] set c [expr (($a+2)/2)+100] set d "sdn19.$b" set e "inter $d" set f "router lsrp4 $c" set g [expr ($a*2)+120] config "vrf def big$c" "rd $b:$c" config "$f" "vrf big$c" config "$f" "router-id 253.252.$a.1" config "$f" "red conn" config "$f" "segrout 300 $g" config "$e" "vrf for big$c" config "$e" "ipv4 addr 253.252.$a.1 /30" config "$e" "$f ena" config "$e" "mpls ena" config "serv p4la p4" "export-vrf big$c $c" } } proc trafficMultiplierB { hops } { for {set a 1} {$a <= $hops} {incr a} { set b [expr $a+100] set c [expr (($a+1)/2)+500] set d "sdn20.$b" set e "inter $d" set f "router lsrp4 $c" set g [expr ($a*2)+121] config "vrf def big$c" "rd $b:$c" config "$f" "vrf big$c" config "$f" "router-id 253.252.$a.2" config "$f" "red conn" config "$f" "segrout 300 $g" config "$e" "vrf for big$c" config "$e" "ipv4 addr 253.252.$a.2 /30" config "$e" "$f ena" config "$e" "mpls ena" config "serv p4la p4" "export-vrf big$c $c" } } proc trafficMultiplier { hops } { trafficMultiplierA $hops trafficMultiplierB $hops } trafficMultiplierA 10 trafficMultiplierB 10 freeRtr-25.11.9/misc/trackmap/000077500000000000000000000000001510423065500160405ustar00rootroot00000000000000freeRtr-25.11.9/misc/trackmap/addr.css000066400000000000000000000000641510423065500174640ustar00rootroot00000000000000body { background-color: #000000; color: #FFFFFF; } freeRtr-25.11.9/misc/trackmap/addr.java000066400000000000000000000043421510423065500176200ustar00rootroot00000000000000 import java.io.ByteArrayOutputStream; import java.io.RandomAccessFile; /** * sample http applet * * @author matecsaba */ public class addr { /** * this is needed for cli startup * * @param args command line parameters */ public static void main(String[] args) { addr app = new addr(); String a; try { ByteArrayOutputStream buf = new ByteArrayOutputStream(); a = "" + app.getClass().getName() + "."; a = app.httpRequest("http://localhost/" + a, "./" + a, "cli", "clibrowser", "user", args, buf); a = "type=" + a + "\r\ndata:\r\n" + buf; } catch (Exception e) { a = "exception " + e.getMessage(); } System.out.println(a); } private static byte[] style = null; /** * do one request * * @param url url of app * @param path path of app * @param peer client address * @param agent user agent * @param user auth data * @param par parameters * @param buf result buffer, if empty, pathname must present * @return [pathname"][file name.]extension * @throws Exception if something went wrong */ public String httpRequest(String url, String path, String peer, String agent, String user, String[] par, ByteArrayOutputStream buf) throws Exception { if (style == null) { try { RandomAccessFile fr = new RandomAccessFile(path.substring(0, path.lastIndexOf(".")) + ".css", "r"); byte[] red = new byte[(int) fr.length()]; fr.read(red, 0, red.length); fr.close(); style = red; } catch (Exception e) { style = new byte[0]; } } buf.write("address\n".getBytes()); buf.write(peer.getBytes()); buf.write("\n\n".getBytes()); return "html"; } } freeRtr-25.11.9/misc/trackmap/addr.tcl000066400000000000000000000004551510423065500174620ustar00rootroot00000000000000set clnt "" for {} {1<2} {} { set ln [gets -] if {[string equal $ln "."]} break set sh "$sh$ln
" if {[string first clnt $ln] >= 0} {set clnt [string range $ln 5 666]} } puts "address" puts "" puts "$clnt" puts "" freeRtr-25.11.9/misc/trackmap/arp.tcl000066400000000000000000000005331510423065500173270ustar00rootroot00000000000000puts "arp" puts "" puts "" puts [exec "terminal table html" "show ipv4 arp eth91"] puts "
" puts "" puts [exec "terminal table html" "show ipv6 neigh eth91"] puts "
" puts "" freeRtr-25.11.9/misc/trackmap/bridge.tcl000066400000000000000000000004641510423065500200040ustar00rootroot00000000000000proc dosh { cmd } { set res [exec "term tab fancy" $cmd] puts "$cmd
" puts "
$res
" } puts "bridge" puts "" dosh "show bridge 1" dosh "show bridge 2" dosh "show bridge 3" dosh "show bridge 4" puts "" freeRtr-25.11.9/misc/trackmap/c.sh000077500000000000000000000001451510423065500166210ustar00rootroot00000000000000#!/bin/sh ./d.sh dia -e home.png home.dia javac -source 11 -target 11 -Xlint:all -deprecation *.java freeRtr-25.11.9/misc/trackmap/cdp.tcl000066400000000000000000000003771510423065500173210ustar00rootroot00000000000000proc dosh { cmd } { set res [exec "term tab html" $cmd] puts "$cmd
" puts "$res
" } puts "cdp" puts "" dosh "show cdp neigh" puts "" freeRtr-25.11.9/misc/trackmap/d.sh000077500000000000000000000000701510423065500166170ustar00rootroot00000000000000#!/bin/sh rm *.class 2> /dev/null rm *.png 2> /dev/null freeRtr-25.11.9/misc/trackmap/dyndns.tcl000066400000000000000000000013611510423065500200440ustar00rootroot00000000000000set sh "" set domain "d.nop.hu" set auth "" set clnt "" set prot "" for {} {1<2} {} { set ln [gets -] if {[string equal $ln "."]} break set sh "$sh$ln
" if {[string first auth $ln] >= 0} {set auth [string range $ln 5 666]} if {[string first clnt $ln] >= 0} {set clnt [string range $ln 5 666]} } if {[string first . $clnt] >= 0} {set prot "ip4a"} else {set prot "ip6a"} if {[string length $auth] > 0} { config "server dns inet" "no zone $domain rr $auth.$domain $prot $clnt" config "server dns inet" "zone $domain rr $auth.$domain $prot $clnt" } puts "dyndns" puts "" puts "updated $auth.$domain to $clnt address.
" puts "parameters
$sh
" puts "" freeRtr-25.11.9/misc/trackmap/grapher.java000066400000000000000000000120011510423065500203250ustar00rootroot00000000000000 import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Random; import javax.imageio.ImageIO; /** * graph drawer * * @author matecsaba */ public class grapher { /** * this is needed for cli startup * * @param args command line parameters */ public static void main(String[] args) { grapher app = new grapher(); String a; try { ByteArrayOutputStream buf = new ByteArrayOutputStream(); a = "" + app.getClass().getName() + "."; a = app.httpRequest("http://localhost/" + a, "./" + a, "cli", "clibrowser", "user", args, buf); a = "type=" + a + "\r\ndata:\r\n" + buf.toString(); } catch (Exception e) { a = "exception " + e.getMessage(); } System.out.println(a); } /** * do one request * * @param url url of app * @param path path of app * @param peer client address * @param agent user agent * @param user auth data * @param par parameters * @param buf result buffer, if empty, pathname must present * @return [pathname"][file name.]extension * @throws Exception if something went wrong */ public String httpRequest(String url, String path, String peer, String agent, String user, String[] par, ByteArrayOutputStream buf) throws Exception { try { str = par[0]; str = str.substring(str.indexOf("=") + 1, str.length()); BufferedImage img = doImage(); ImageIO.write(img, "png", buf); return "png"; } catch (Exception e) { buf.write(path.getBytes()); buf.write("...exception happened...".getBytes()); return "txt"; } } private String str; private int max; private String word() { str = str.trim(); int i = str.indexOf(" "); if (i < 0) { String a = str; str = ""; return a; } String a = str.substring(0, i).trim(); str = str.substring(i, str.length()).trim(); return a; } private static int str2num(String s) { int i = 0; s = s.trim(); try { i = Integer.parseInt(s, 10); } catch (Exception e) { } return i; } private int location(int i) { if (i < 0) { i = 0; } return ((max - i) * 570) / max; } private BufferedImage doImage() { List rx = new ArrayList(); List tx = new ArrayList(); List dr = new ArrayList(); for (;;) { String s = word(); if (s.length() < 1) { break; } if (!s.endsWith("s")) { continue; } word(); rx.add(str2num(word())); word(); tx.add(str2num(word())); word(); dr.add(str2num(word())); } max = 0; for (int i = 0; i < rx.size(); i++) { int o = rx.get(i); if (o > max) { max = o; } o = tx.get(i); if (o > max) { max = o; } } BufferedImage img = new BufferedImage(800, 600, BufferedImage.TYPE_INT_RGB); Graphics2D g2d = img.createGraphics(); g2d.setBackground(Color.gray); g2d.setFont(new Font("Serif", Font.BOLD, 20)); g2d.setPaint(Color.gray); g2d.fillRect(0, 0, img.getWidth(), img.getHeight()); g2d.setPaint(Color.black); for (int i = 0; i < 10; i++) { int o = (max * i) / 10; String a = "" + o; if (o > 4096) { o /= 1024; a = o + "k"; if (o > 4096) { o /= 1024; a = o + "m"; } } g2d.drawString(a, 5, (10 - i) * 57); o = (rx.size() * i) / 10; g2d.drawString(o + "s", 80 + (i * 70), 595); } g2d.drawLine(80, 0, 80, 600); g2d.drawLine(0, 570, 800, 570); int or = location(rx.get(0)); int ot = location(tx.get(0)); int od = location(dr.get(0)); int ox = 80; for (int i = 1; i < rx.size(); i++) { int cr = location(rx.get(i)); int ct = location(tx.get(i)); int cd = location(dr.get(i)); int cx = 80 + ((i * 700) / rx.size()); g2d.setPaint(Color.green); g2d.drawLine(ox, or, cx, cr); g2d.setPaint(Color.red); g2d.drawLine(ox, ot, cx, ct); g2d.setPaint(Color.black); g2d.drawLine(ox, od, cx, cd); or = cr; ot = ct; od = cd; ox = cx; } g2d.dispose(); return img; } } freeRtr-25.11.9/misc/trackmap/home.dia000066400000000000000000000037161510423065500174560ustar00rootroot00000000000000‹í\[oÛÆ~ϯ”Wyµ³÷­jmóT Ài‹>”DKliR ©8>ýígV¤-ëBI&¹I…PAâ˜^î·3œË7£±¾ÿáóc<øfy”&·C t8“Y:’Åíðßÿsc†?Ü}ø~ßáßE<ðŽ$wßÝ—E±ún<~zz"ñsiFâhMòpüOÇÁ‡wƒ·̃"pת«AQdÑt]„ƒ$x o‡Ó`ö÷"K×É|X®ªÖÍÒ8ÍŸ‚øvøñ¡z ÇÕFãNì¾ á4 ƒ¿ë7§ø²¶Ùæ«0Ûßøq•æ.)žWKjöqÿ¾YS­ÊqQ²¸ûø£øX©º°ÝëØAkAŠÇ [DÉ!j'.UÁˆaŒ¡:¤5–j¡áE'~Y¸øËÂe_.ÊïWiVdATBNÓ4ƒ¤D}â"am,FŠhŠñ”* "cgš»NÇ}˜ÌÚ4‹y¸Ï¥¹`îœZò†¥.úÑlµžcßS›nûPùAÄyùÉ`‰&âú¼~8ÛæƒØî>ì|RÛ݇ÿè:BÏÃXfreeRtr-25.11.9/misc/trackmap/iface.tcl000066400000000000000000000024041510423065500176130ustar00rootroot00000000000000set sh "" set iface "" for {} {1<2} {} { set ln [gets -] if {[string equal $ln "."]} break set sh "$sh$ln
" if {[string first auth $ln] >= 0} {set auth [string range $ln 5 666]} if {[string first clnt $ln] >= 0} {set clnt [string range $ln 5 666]} if {[string first par.iface $ln] >= 0} {set iface [string range $ln 10 666]} } proc getline {} { global b global c global d global e global f proc getword {} { global b set b [string trim $b] set p [string first " " $b] if {$p < 0} { set p $b set b "" return $p } set c [string range $b 0 [expr $p - 1]] set b [string range $b $p [string length $b]] set b [string trim $b] return $c } set c [getword] set q [getword] set d [getword] set e [getword] set f [getword] } set b [exec "show interfaces traffic"] set b [split $b "\r"] set b [split $b "\n"] set c "" set d "" set e "" set f "" getline puts "interfaces" puts "" puts "" puts "" for {} {[string length $b] > 0} {} { getline puts "" } puts "
interfacetxrxdrop
$c$d$e$f
" puts "" freeRtr-25.11.9/misc/trackmap/iface1.tcl000066400000000000000000000011541510423065500176750ustar00rootroot00000000000000set sh "" set iface "" for {} {1<2} {} { set ln [gets -] if {[string equal $ln "."]} break set sh "$sh$ln
" if {[string first auth $ln] >= 0} {set auth [string range $ln 5 666]} if {[string first clnt $ln] >= 0} {set clnt [string range $ln 5 666]} if {[string first par.iface $ln] >= 0} {set iface [string range $ln 10 666]} } set ifc [exec "terminal tablemode fancy" "show interfaces $iface full"] puts "$iface traffic" puts "" puts "
$ifc
" puts "" freeRtr-25.11.9/misc/trackmap/iface2.tcl000066400000000000000000000013161510423065500176760ustar00rootroot00000000000000set sh "" set iface "" for {} {1<2} {} { set ln [gets -] if {[string equal $ln "."]} break set sh "$sh$ln
" if {[string first auth $ln] >= 0} {set auth [string range $ln 5 666]} if {[string first clnt $ln] >= 0} {set clnt [string range $ln 5 666]} if {[string first par.iface $ln] >= 0} {set iface [string range $ln 10 666]} } set ifa [exec "show interface $iface numhist"] set ifa [split $ifa "\r"] set ifa [split $ifa "\n"] set ifa [split $ifa " "] set ifa [split $ifa " "] puts "$iface traffic" puts "" puts "" puts "" freeRtr-25.11.9/misc/trackmap/lldp.tcl000066400000000000000000000004011510423065500174720ustar00rootroot00000000000000proc dosh { cmd } { set res [exec "term tab html" $cmd] puts "$cmd
" puts "$res
" } puts "lldp" puts "" dosh "show lldp neigh" puts "" freeRtr-25.11.9/misc/trackmap/lookup.tcl000066400000000000000000000025531510423065500200620ustar00rootroot00000000000000proc putOpt {typ} { global type if {[string compare $type $typ] == 0} {set par " selected"} else {set par ""} puts "$typ" } set sh "" set path "" set domain "" set server "" set type "" for {} {1<2} {} { set ln [gets -] if {[string equal $ln "."]} break set sh "$sh$ln
" if {[string first path $ln] >= 0} {set path [string range $ln 5 666]} if {[string first par.domain $ln] >= 0} {set domain [string range $ln 11 666]} if {[string first par.server $ln] >= 0} {set server [string range $ln 11 666]} if {[string first par.type $ln] >= 0} {set type [string range $ln 9 666]} } set cmd "lookup $type $domain $server" set res [exec $cmd] puts "lookup" puts "" puts "
" puts "domain:
" puts "server:
" puts "type:

" puts "
" puts "command: '$cmd'
" puts "results
$res

" puts "parameters
$sh
" puts "" freeRtr-25.11.9/misc/trackmap/lsa.tcl000066400000000000000000000013301510423065500173200ustar00rootroot00000000000000proc dosh { cmd } { set res [exec "term tab html" $cmd] puts "$cmd
" puts "$res
" } set path "" set rtrid "" for {} {1<2} {} { set ln [gets -] if {[string equal $ln "."]} break set sh "$sh$ln
" if {[string first path $ln] >= 0} {set path [string range $ln 5 666]} if {[string first par.rtrid $ln] >= 0} {set rtrid [string range $ln 10 666]} } puts "lsa" puts "" puts "
" puts "rtrid:
" puts "

" dosh "show ipv4 lsrp 1 database $rtrid" dosh "show ipv6 lsrp 1 database $rtrid" puts "" freeRtr-25.11.9/misc/trackmap/lsabr.tcl000066400000000000000000000004371510423065500176530ustar00rootroot00000000000000proc dosh { cmd } { set res [exec "term tab html" $cmd] puts "$cmd
" puts "$res
" } puts "lsa" puts "" dosh "show ipv4 bier inet" dosh "show ipv6 bier inet" puts "" freeRtr-25.11.9/misc/trackmap/lsafw.tcl000066400000000000000000000004551510423065500176640ustar00rootroot00000000000000proc dosh { cmd } { set res [exec "term tab html" $cmd] puts "$cmd
" puts "$res
" } puts "lsa" puts "" dosh "show ipv4 lsrp 1 forwarder" dosh "show ipv6 lsrp 1 forwarder" puts "" freeRtr-25.11.9/misc/trackmap/lsagr.tcl000066400000000000000000000004021510423065500176500ustar00rootroot00000000000000set a [exec "show ipv4 lsrp 1 graph half"] set b [string urlencode $a] puts "lsa" puts "" puts "redirecting" freeRtr-25.11.9/misc/trackmap/lsahw.tcl000066400000000000000000000004531510423065500176640ustar00rootroot00000000000000proc dosh { cmd } { set res [exec "term tab html" $cmd] puts "$cmd
" puts "$res
" } puts "lsa" puts "" dosh "show ipv4 lsrp 1 hardware" dosh "show ipv6 lsrp 1 hardware" puts "" freeRtr-25.11.9/misc/trackmap/lsakr.tcl000066400000000000000000000004471510423065500176650ustar00rootroot00000000000000proc dosh { cmd } { set res [exec "term tab html" $cmd] puts "$cmd
" puts "$res
" } puts "lsa" puts "" dosh "show ipv4 lsrp 1 kernel" dosh "show ipv6 lsrp 1 kernel" puts "" freeRtr-25.11.9/misc/trackmap/lsamw.tcl000066400000000000000000000004571510423065500176750ustar00rootroot00000000000000proc dosh { cmd } { set res [exec "term tab html" $cmd] puts "$cmd
" puts "$res
" } puts "lsa" puts "" dosh "show ipv4 lsrp 1 middleware" dosh "show ipv6 lsrp 1 middleware" puts "" freeRtr-25.11.9/misc/trackmap/lsasp.tcl000066400000000000000000000004041510423065500176640ustar00rootroot00000000000000proc dosh { cmd } { set res [exec $cmd] puts "$cmd
" puts "
$res
" } puts "lsa" puts "" dosh "show ipv4 lsrp 1 spf" dosh "show ipv6 lsrp 1 spf" puts "" freeRtr-25.11.9/misc/trackmap/lsasr.tcl000066400000000000000000000004451510423065500176730ustar00rootroot00000000000000proc dosh { cmd } { set res [exec "term tab html" $cmd] puts "$cmd
" puts "$res
" } puts "lsa" puts "" dosh "show ipv4 segrout inet" dosh "show ipv6 segrout inet" puts "" freeRtr-25.11.9/misc/trackmap/lsasw.tcl000066400000000000000000000004531510423065500176770ustar00rootroot00000000000000proc dosh { cmd } { set res [exec "term tab html" $cmd] puts "$cmd
" puts "$res
" } puts "lsa" puts "" dosh "show ipv4 lsrp 1 software" dosh "show ipv6 lsrp 1 software" puts "" freeRtr-25.11.9/misc/trackmap/lsatp.tcl000066400000000000000000000004161510423065500176700ustar00rootroot00000000000000proc dosh { cmd } { set res [exec $cmd] puts "$cmd
" puts "
$res
" } puts "lsa" puts "" dosh "show ipv4 lsrp 1 topology" dosh "show ipv6 lsrp 1 topology" puts "" freeRtr-25.11.9/misc/trackmap/lsatr.tcl000066400000000000000000000004061510423065500176710ustar00rootroot00000000000000proc dosh { cmd } { set res [exec $cmd] puts "$cmd
" puts "
$res
" } puts "lsa" puts "" dosh "show ipv4 lsrp 1 tree" dosh "show ipv6 lsrp 1 tree" puts "" freeRtr-25.11.9/misc/trackmap/lsaup.tcl000066400000000000000000000004471510423065500176750ustar00rootroot00000000000000proc dosh { cmd } { set res [exec "term tab html" $cmd] puts "$cmd
" puts "$res
" } puts "lsa" puts "" dosh "show ipv4 lsrp 1 uptime" dosh "show ipv6 lsrp 1 uptime" puts "" freeRtr-25.11.9/misc/trackmap/mtrack.tcl000066400000000000000000000013051510423065500200240ustar00rootroot00000000000000proc doer {cmd tit} { puts "$tit
" puts "
"
puts [exec "terminal table html" "$cmd stat"]
puts "
"
puts [exec "terminal table html" "$cmd peer"]
puts "
"
puts [exec "terminal table html" "$cmd reach"]
puts "
"
puts [exec "terminal table html" "$cmd time"]
puts "
" puts "

" } puts "mesh tracker" puts "" doer "show mtrack v4" "ipv4 unicast" doer "show mtrack v6" "ipv6 unicast" doer "show mtrack v4m" "ipv4 multicast" doer "show mtrack v6m" "ipv6 multicast" puts "" freeRtr-25.11.9/misc/trackmap/sample.java000066400000000000000000000035471510423065500201750ustar00rootroot00000000000000 import java.io.ByteArrayOutputStream; /** * sample http applet * * @author matecsaba */ public class sample { /** * this is needed for cli startup * * @param args command line parameters */ public static void main(String[] args) { sample app = new sample(); String a; try { ByteArrayOutputStream buf = new ByteArrayOutputStream(); a = "" + app.getClass().getName() + "."; a = app.httpRequest("http://localhost/" + a, "./" + a, "cli", "clibrowser", "user", args, buf); a = "type=" + a + "\r\ndata:\r\n" + buf; } catch (Exception e) { a = "exception " + e.getMessage(); } System.out.println(a); } /** * static variable */ public static int stat; /** * global variable */ public int glob; /** * do one request * * @param url url of app * @param path path of app * @param peer client address * @param agent user agent * @param user auth data * @param par parameters * @param buf result buffer, if empty, pathname must present * @return [pathname"][file name.]extension * @throws Exception if something went wrong */ public String httpRequest(String url, String path, String peer, String agent, String user, String[] par, ByteArrayOutputStream buf) throws Exception { stat++; glob++; String pars = ""; for (int i = 0; i < par.length; i++) { pars += "
" + par[i]; } String s = "stat=" + stat + "
glob=" + glob + "
url=" + url + "
path=" + path + "
peer=" + peer + "
agent=" + agent + "
user=" + user + pars + "
"; buf.write(s.getBytes()); return "html"; } } freeRtr-25.11.9/misc/trackmap/sample.tcl000066400000000000000000000003741510423065500200310ustar00rootroot00000000000000set sh "" for {} {1<2} {} { set ln [gets -] if {[string equal $ln "."]} break set sh "$sh$ln
" } puts "sample" puts "" puts "parameters
$sh
" puts "" freeRtr-25.11.9/misc/trackmap/trackMap.imgmap000066400000000000000000000012561510423065500210020ustar00rootroot00000000000000rectangle 200 130 250 160 http://ap.mchome.nop.hu/ rectangle 140 16 180 54 http://mediapc.mchome.nop.hu/ rectangle 86 16 120 54 http://packard.mchome.nop.hu:8080/ rectangle 120 54 145 80 http://medal.mchome.nop.hu/ rectangle 30 16 55 60 http://src.nop.hu/ rectangle 14 86 63 115 /elo.html rectangle 19 210 87 251 http://10.10.10.2/show.tcl rectangle 165 210 229 251 http://www.nop.hu/show.tcl rectangle 367 210 432 251 http://www.lnx.nop.hu/show.tcl rectangle 315 105 383 145 http://10.10.10.33/show.tcl rectangle 415 105 475 145 http://10.10.10.32/show.tcl rectangle 390 29 470 60 http://10.10.10.34/show.tcl rectangle 495 105 560 140 http://10.10.10.35/show.tcl default /trackMap.tcl freeRtr-25.11.9/misc/trackmap/trackMap.java000066400000000000000000000063371510423065500204560ustar00rootroot00000000000000 import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import javax.imageio.ImageIO; /** * tracker mapper applet * * @author matecsaba */ public class trackMap { /** * this is needed for cli startup * * @param args command line parameters */ public static void main(String[] args) { trackMap app = new trackMap(); String a; try { ByteArrayOutputStream buf = new ByteArrayOutputStream(); a = "" + app.getClass().getName() + "."; a = app.httpRequest("http://localhost/" + a, "./" + a, "cli", "clibrowser", "user", args, buf); a = "type=" + a + "\r\ndata:\r\n" + buf.toString(); } catch (Exception e) { a = "exception " + e.getMessage(); } System.out.println(a); } /** * do one request * * @param url url of app * @param path path of app * @param peer client address * @param agent user agent * @param user auth data * @param par parameters * @param buf result buffer, if empty, pathname must present * @return [pathname"][file name.]extension * @throws Exception if something went wrong */ public String httpRequest(String url, String path, String peer, String agent, String user, String[] par, ByteArrayOutputStream buf) throws Exception { try { int i = path.lastIndexOf("/"); path = path.substring(0, i + 1); String s = par[0]; i = s.lastIndexOf("="); s = s.substring(0, i); BufferedImage img = ImageIO.read(new File(path + s)); for (int o = 1; o < par.length; o++) { s = par[o]; i = s.lastIndexOf("="); s = s.substring(0, i); i = s.lastIndexOf("-"); boolean up = s.substring(i + 1, s.length()).equals("up"); s = s.substring(0, i); i = s.lastIndexOf("-"); int y = Integer.parseInt(s.substring(i + 1, s.length())); s = s.substring(0, i); i = s.lastIndexOf("-"); int x = Integer.parseInt(s.substring(i + 1, s.length())); s = s.substring(0, i); Graphics2D g2d = img.createGraphics(); g2d.setBackground(Color.gray); g2d.setFont(new Font("Serif", Font.BOLD, 20)); g2d.setPaint(Color.black); g2d.drawString(s, x - 1, y - 1); g2d.drawString(s, x - 1, y); g2d.drawString(s, x - 1, y + 1); g2d.drawString(s, x, y - 1); g2d.drawString(s, x, y + 1); g2d.drawString(s, x + 1, y - 1); g2d.drawString(s, x + 1, y); g2d.drawString(s, x + 1, y + 1); g2d.setPaint(up ? Color.green : Color.red); g2d.drawString(s, x, y); g2d.dispose(); } ImageIO.write(img, "png", buf); return "png"; } catch (Exception e) { buf.write("...exception happened...".getBytes()); return "txt"; } } } freeRtr-25.11.9/misc/trackmap/trackMap.tcl000066400000000000000000000022741510423065500203130ustar00rootroot00000000000000proc getline {} { global b global c global d global e global f global g global h global i proc getword {} { global b set b [string trim $b] set p [string first " " $b] if {$p < 0} { set p $b set b "" return $p } set c [string range $b 0 [expr $p - 1]] set b [string range $b $p [string length $b]] set b [string trim $b] return $c } set c [getword] set d [getword] set e [getword] set f [getword] set g [getword] set h [getword] set i [getword] set j [getword] } set b [exec "show tracker"] set b [split $b "\r"] set b [split $b "\n"] set c "" set d "" set e "" set f "" set g "" set h "" getline puts "network map" puts "" set a "trackMap.class?home.png" for {} {[string length $b] > 0} {} { getline set a "$a&$c-$g" } puts "map
" puts "domain lookup
" puts "interface monitor
" puts "arp monitor
" puts "vrf monitor
" set a [exec "term tab html" "show tracker"] puts "$a
" puts "" freeRtr-25.11.9/misc/trackmap/vrf.tcl000066400000000000000000000003671510423065500173470ustar00rootroot00000000000000puts "vrfs" puts "" puts "" puts [exec "terminal table html" "show vrf routing"] puts "
" puts "" freeRtr-25.11.9/misc/trackmap/vrf1.tcl000066400000000000000000000010711510423065500174210ustar00rootroot00000000000000set sh "" set vrf "" for {} {1<2} {} { set ln [gets -] if {[string equal $ln "."]} break set sh "$sh$ln
" if {[string first auth $ln] >= 0} {set auth [string range $ln 5 666]} if {[string first clnt $ln] >= 0} {set clnt [string range $ln 5 666]} if {[string first par.vrf $ln] >= 0} {set vrf [string range $ln 8 666]} } set ifc [exec "show vrf $vrf full"] puts "$vrf traffic" puts "" puts "
$ifc
" puts "" freeRtr-25.11.9/misc/trackmap/vrf2.tcl000066400000000000000000000012671510423065500174310ustar00rootroot00000000000000set sh "" set vrf "" for {} {1<2} {} { set ln [gets -] if {[string equal $ln "."]} break set sh "$sh$ln
" if {[string first auth $ln] >= 0} {set auth [string range $ln 5 666]} if {[string first clnt $ln] >= 0} {set clnt [string range $ln 5 666]} if {[string first par.vrf $ln] >= 0} {set vrf [string range $ln 8 666]} } set ifa [exec "show vrf $vrf numhist"] set ifa [split $ifa "\r"] set ifa [split $ifa "\n"] set ifa [split $ifa " "] set ifa [split $ifa " "] puts "$vrf traffic" puts "" puts "" puts "" freeRtr-25.11.9/misc/trackmap/wakeup.tcl000066400000000000000000000007401510423065500200410ustar00rootroot00000000000000set sh "" set mac "0000.1111.2222" for {} {1<2} {} { set ln [gets -] if {[string equal $ln "."]} break set sh "$sh$ln
" if {[string first par.mac $ln] < 0} continue set mac [string range $ln 8 666] } set cmd "packet wakeup eth2 $mac" puts "waker" puts "" puts "mac=$mac

" puts "command
$cmd
[exec $cmd]

" puts "parameters
$sh
" puts "" freeRtr-25.11.9/misc/valgrind.cfg000066400000000000000000000001411510423065500165210ustar00rootroot00000000000000{ _memmove_overlap Memcheck:Overlap fun:__memcpy_chk fun:memmove fun:inet_pton6 } freeRtr-25.11.9/misc/vm/000077500000000000000000000000001510423065500146605ustar00rootroot00000000000000freeRtr-25.11.9/misc/vm/c.sh000077500000000000000000000002271510423065500154420ustar00rootroot00000000000000#!/bin/sh ./d.sh javac -source 11 -target 11 -Xlint:all -deprecation -cp ../../src/rtr.jar *.java zip ../../src/rtr.jar *.class gcc -O3 -o vm.bin vm.c freeRtr-25.11.9/misc/vm/d.sh000077500000000000000000000000701510423065500154370ustar00rootroot00000000000000#!/bin/sh rm *.class 2> /dev/null rm *.bin 2> /dev/null freeRtr-25.11.9/misc/vm/vm.c000066400000000000000000000354631510423065500154610ustar00rootroot00000000000000#include #include #include #define maxHandlers 16 #define terminationFlag 0x40000000 #define int8 char #define int16 short int #define int32 int #define reg_a 1 #define reg_b 2 #define reg_c 3 #define reg_d 4 #define reg_src 5 #define reg_trg 6 #define reg_cip 7 typedef struct { int32 regs[8]; int32 flags; //1=above, 2=below, 4=equal char nam[255]; char par[255]; char *stackD; int32 stackS; int32 stackP; char *codeD; int32 codeS; char *dataD; int32 dataS; int32 dataP; int32 *procD; int32 procS; int32 handleD[maxHandlers]; int32 handleN; } oneEmulatorRecord; int32 getConstant(oneEmulatorRecord *d,int32 n) { int32 i; i=0; memcpy(&i,d->codeD+d->regs[reg_cip],n); d->regs[reg_cip]+=n; return i; } void emuClear(oneEmulatorRecord *d) { memset((char*)d,0,sizeof(*d)); } void emuFinish(oneEmulatorRecord *d) { if (d->dataD!=0) free(d->dataD); if (d->stackD!=0) free(d->stackD); if (d->procD!=0) free(d->procD); if (d->codeD!=0) free(d->codeD); emuClear(d); } void emuDump(oneEmulatorRecord *d) { printf("nam='%s' par='%s'\n",d->nam,d->par); printf("a=%08x b=%08x c=%08x d=%08x\n",d->regs[reg_a],d->regs[reg_b],d->regs[reg_c],d->regs[reg_d]); printf("src=%08x trg=%08x cip=%08x\n",d->regs[reg_src],d->regs[reg_trg],d->regs[reg_cip]); } void emuGetResult(oneEmulatorRecord *d,int32 i,char *b) { switch (i) { case 0: sprintf(b,"%i-running",i); break; case 1: sprintf(b,"%i-invalid syscall code",i); break; case 2: sprintf(b,"%i-invalid instruction code",i); break; case 3: sprintf(b,"%i-invalid stack reference",i); break; case 4: sprintf(b,"%i-division by zero",i); break; case 5: sprintf(b,"%i-invalid memory reference",i); break; case 6: sprintf(b,"%i-invalid subroutine reference",i); break; case 7: sprintf(b,"%i-invalid code reference",i); break; case 8: sprintf(b,"%i-invalid memory reference",i); break; default: sprintf(b,"%i-unknown error happened",i); break; } if (i&terminationFlag) sprintf(b,"0-successful, exitcode=%i",i&0xffff); } int32 emuStart(oneEmulatorRecord *d,char *n,char *p) { FILE *f; int32 i; emuClear(d); strcpy(d->nam,n); strcpy(d->par,p); f=fopen(d->nam,"rb"); if (f==0) return 1; fseek(f,0,SEEK_END); d->codeS=ftell(f); fseek(f,0,SEEK_SET); if ((d->codeD=malloc(d->codeS))==0) return 1; if (fread(d->codeD,1,d->codeS,f)!=(unsigned)d->codeS) return 1; fclose(f); if (getConstant(d,4)!=0x30314d56) return 1; i=getConstant(d,4); d->stackS=getConstant(d,4); d->dataS=getConstant(d,4); d->procS=getConstant(d,4); d->regs[reg_cip]=getConstant(d,4); i=d->procS*4; if ((d->procD=malloc(i))==0) return 1; memset(d->procD,0x7f,i); if ((d->stackD=malloc(d->stackS))==0) return 1; if ((d->dataD=malloc(d->dataS))==0) return 1; return 0; } void emuExec_push(oneEmulatorRecord *d,int32 v,int32 s) { memcpy(d->stackD+d->stackP,&v,s); d->stackP+=s; } int32 emuExec_pop(oneEmulatorRecord *d,int32 s) { int32 v; v=0; d->stackP-=s; memcpy(&v,d->stackD+d->stackP,s); return v; } int32 emuExec_convType(int32 d,int32 sig,int32 siz,int32 after) { sig&=1; siz&=15; switch (siz) { case 1: d&=0xff; break; case 2: d&=0xffff; break; case 3: d&=0xffffffff; break; } if (sig) switch (siz) { case 1: d=(int8)d; break; case 2: d=(int16)d; break; case 3: d=(int32)d; break; } if (after) switch (siz) { case 1: d&=0xff; break; case 2: d&=0xffff; break; case 3: d&=0xffffffff; break; } return d; } int32 emuExec_getMemory(oneEmulatorRecord *d) { int32 i,o,p; i=getConstant(d,1); p=i&0x80; i=i&15; o=getConstant(d,4); i=d->regs[i]; if (p==0) o+=i; else o-=i; return o; } int32 emuExec_convForm(int32 d,int32 frm,int32 siz) { frm&=15; siz&=15; if (frm==2) switch (siz) { case 1: d&=0xff; break; case 2: d=((d>>8)&0xff)|((d<<8)&0xff00); break; case 3: d=((d>>24)&0xff)|((d>>8)&0xff00)|((d<<8)&0xff0000)|(d<<24); break; } return d; } int32 emuExec_GetMovementSize(int32 siz) { siz&=15; switch (siz) { case 1: return 1; break; case 2: return 2; break; case 3: return 4; break; } return 0; } int32 emuExec_oneOpcode(oneEmulatorRecord *d) { int32 form; int32 siz1,siz2; int32 reg1,reg2; int32 val1,val2; siz1=getConstant(d,1); switch (siz1) { case 1: //add siz1=getConstant(d,1); reg1=getConstant(d,1); if (siz1&0x80) val1=getConstant(d,4); else val1=d->regs[getConstant(d,1)]; d->regs[reg1]+=val1; return 0; break; case 2: //sub siz1=getConstant(d,1); reg1=getConstant(d,1); if (siz1&0x80) val1=getConstant(d,4); else val1=d->regs[getConstant(d,1)]; d->regs[reg1]-=val1; return 0; break; case 3: //mul siz1=getConstant(d,1); siz2=siz1>>6; reg1=getConstant(d,1); if (siz1&0x80) val1=getConstant(d,4); else val1=d->regs[getConstant(d,1)]; val1=emuExec_convType(val1,siz2,siz1,0); val2=emuExec_convType(d->regs[reg1],siz2,siz1,0); d->regs[reg1]=val2*val1; return 0; break; case 4: //div siz1=getConstant(d,1); siz2=siz1>>6; reg1=getConstant(d,1); if (siz1&0x80) val1=getConstant(d,4); else val1=d->regs[getConstant(d,1)]; val1=emuExec_convType(val1,siz2,siz1,0); val2=emuExec_convType(d->regs[reg1],siz2,siz1,0); if (val1==0) return 4; d->regs[reg1]=val2/val1; return 0; break; case 5: //mod siz1=getConstant(d,1); siz2=siz1>>6; reg1=getConstant(d,1); if (siz1&0x80) val1=getConstant(d,4); else val1=d->regs[getConstant(d,1)]; val1=emuExec_convType(val1,siz2,siz1,0); val2=emuExec_convType(d->regs[reg1],siz2,siz1,0); if (val1==0) return 4; d->regs[reg1]=val2%val1; return 0; break; case 6: //or siz1=getConstant(d,1); reg1=getConstant(d,1); if (siz1&0x80) val1=getConstant(d,4); else val1=d->regs[getConstant(d,1)]; d->regs[reg1]|=val1; return 0; break; case 7: //xor siz1=getConstant(d,1); reg1=getConstant(d,1); if (siz1&0x80) val1=getConstant(d,4); else val1=d->regs[getConstant(d,1)]; d->regs[reg1]^=val1; return 0; break; case 8: //and siz1=getConstant(d,1); reg1=getConstant(d,1); if (siz1&0x80) val1=getConstant(d,4); else val1=d->regs[getConstant(d,1)]; d->regs[reg1]&=val1; return 0; break; case 9: //not siz1=getConstant(d,1); reg1=getConstant(d,1); d->regs[reg1]=!d->regs[reg1]; return 0; break; case 10: //neg siz1=getConstant(d,1); reg1=getConstant(d,1); d->regs[reg1]=-d->regs[reg1]; return 0; break; case 11: //shl siz1=getConstant(d,1); reg1=getConstant(d,1); if (siz1&0x80) val1=getConstant(d,4); else val1=d->regs[getConstant(d,1)]; d->regs[reg1]<<=val1; return 0; break; case 12: //shr siz1=getConstant(d,1); reg1=getConstant(d,1); if (siz1&0x80) val1=getConstant(d,4); else val1=d->regs[getConstant(d,1)]; d->regs[reg1]>>=val1; return 0; break; case 13: //push siz1=getConstant(d,1); reg1=getConstant(d,1); siz1=emuExec_GetMovementSize(siz1); val1=d->regs[reg1]; emuExec_push(d,val1,siz1); return 0; break; case 14: //pop siz1=getConstant(d,1); reg1=getConstant(d,1); siz1=emuExec_GetMovementSize(siz1); d->regs[reg1]=emuExec_pop(d,siz1); return 0; break; case 15: //comp siz1=getConstant(d,1); siz2=siz1>>6; reg1=getConstant(d,1); if (siz1&0x80) val1=getConstant(d,4); else val1=d->regs[getConstant(d,1)]; val1=emuExec_convType(val1,siz2,siz1,0); val2=emuExec_convType(d->regs[reg1],siz2,siz1,0); reg1=0; if (val1val2) reg1|=2; if (val1==val2) reg1|=4; d->flags&=0xffffff8; d->flags|=reg1; return 0; break; case 16: //move siz1=getConstant(d,1); siz2=getConstant(d,1); reg1=getConstant(d,1); if (siz2&0x80) val1=getConstant(d,4); else val1=d->regs[getConstant(d,1)]; val1=emuExec_convType(val1,siz2>>6,siz2,0); val1=emuExec_convType(val1,siz1>>6,siz1,1); d->regs[reg1]=val1; return 0; break; case 17: //movr form=getConstant(d,1); siz1=getConstant(d,1); siz2=getConstant(d,1); val2=emuExec_getMemory(d); reg1=getConstant(d,1); memcpy(&val1,d->dataD+val2,4); val1=emuExec_convForm(val1,form,siz2); val1=emuExec_convType(val1,siz2>>6,siz2,0); val1=emuExec_convType(val1,siz1>>6,siz1,1); d->regs[reg1]=val1; return 0; break; case 18: //movw form=getConstant(d,1); siz1=getConstant(d,1); siz2=getConstant(d,1); val2=emuExec_getMemory(d); reg1=getConstant(d,1); val1=d->regs[reg1]; val1=emuExec_convType(val1,siz2>>6,siz2,0); val1=emuExec_convType(val1,siz1>>6,siz1,1); val1=emuExec_convForm(val1,form,siz1); siz2=emuExec_GetMovementSize(siz1); memcpy(d->dataD+val2,&val1,siz2); return 0; break; case 19: //call val1=getConstant(d,4); emuExec_push(d,d->regs[reg_cip],4); d->regs[reg_cip]=val1; return 0; break; case 20: //ret d->regs[reg_cip]=emuExec_pop(d,4); return 0; break; case 21: //jump d->regs[reg_cip]=getConstant(d,4); return 0; break; case 22: //jmpc reg1=getConstant(d,1); val1=getConstant(d,4); if (d->flags®1) d->regs[reg_cip]=val1; return 0; break; case 23: //addrLod val2=emuExec_getMemory(d); reg1=getConstant(d,1); memcpy(&val1,d->dataD+val2,4); d->regs[reg1]=val1; return 0; break; case 24: //addrSav val2=emuExec_getMemory(d); reg1=getConstant(d,1); val1=d->regs[reg1]; memcpy(d->dataD+val2,&val1,4); return 0; break; case 25: //procAddr reg1=getConstant(d,1); val1=getConstant(d,4); if (val1==-1) { val2=emuExec_pop(d,4); emuExec_push(d,val2,4); } else val2=d->procD[val1]; d->regs[reg1]=val2; return 0; break; case 26: //procAllocBeg val1=getConstant(d,4); val2=d->procD[val1]; emuExec_push(d,val2,4); val2=d->dataP; val1=getConstant(d,4); d->dataP+=val1; emuExec_push(d,val2,4); return 0; break; case 31: //procAllocEnd val2=emuExec_pop(d,4); val1=getConstant(d,4); d->procD[val1]=val2; getConstant(d,4); return 0; break; case 27: //procFree val1=getConstant(d,4); val2=emuExec_pop(d,4); d->procD[val1]=val2; val2=getConstant(d,4); d->dataP-=val2; return 0; break; case 28: //codeOfs reg1=getConstant(d,1); d->regs[reg1]=getConstant(d,4); return 0; break; case 29: //xchg siz1=getConstant(d,1); val2=emuExec_getMemory(d); reg1=getConstant(d,1); siz2=emuExec_GetMovementSize(siz1); val1=d->regs[reg1]; memcpy(d->regs+reg1,d->dataD+val2,siz2); memcpy(d->dataD+val2,&val1,siz2); return 0; break; case 30: //setc reg2=getConstant(d,1); siz1=getConstant(d,1); reg1=getConstant(d,1); if (d->flags®2) val1=1; else val1=0; d->regs[reg1]=val1; return 0; break; case 32: //syscall siz1=getConstant(d,1); goto syscall; break; case 33: //cllr reg1=getConstant(d,1); emuExec_push(d,d->regs[reg_cip],4); d->regs[reg_cip]=d->regs[reg1]; return 0; break; case 34: //jmpr reg1=getConstant(d,1); d->regs[reg_cip]=d->regs[reg1]; return 0; break; default: d->regs[reg_cip]-=1; return 2; break; } syscall: switch (siz1) { case 1: //sleep return 0; break; case 2: //memcopy memmove(d->dataD+d->regs[reg_trg],d->dataD+d->regs[reg_src],d->regs[reg_c]&0xffff); return 0; break; case 3: //codecopy memcpy(d->dataD+d->regs[reg_trg],d->codeD+d->regs[reg_src],d->regs[reg_c]&0xffff); return 0; break; case 4: //terminate return (d->regs[reg_a]&0xffff)|terminationFlag; break; case 5: //console.write val1=d->regs[reg_src]; for (val2=0; val2regs[reg_c]; val2++) putchar(d->dataD[val1++]); return 0; break; case 44: //memFillByte memset(d->dataD+d->regs[reg_trg],d->regs[reg_a],d->regs[reg_c]&0xffff); return 0; break; default: d->regs[reg_cip]-=2; return 1; break; } } int32 main(int32 argc,char *argv[]) { oneEmulatorRecord d; char buf[1024]; int32 i; printf("Virtual Machine Emulator v1.0, done by Mc in 2002.\n"); if (argc<2) { printf("parameters: [parameters]\n"); return 1; } memset(buf,0,sizeof(buf)); for (i=2; i Virtual Machine

Virtual Machine (definition)
version 1.0, done by Mc in 2002


table of contents:


The purpose of this virtual machine is to create a new, general purpose, hardware independent environment to speed up application development. Imagine that applications could be developed in any (high level) language. The compiler first generates code for this virtual machine and in the second step, an other simply assembler generates working code for existing processors. The main advantage of this technique is that high level compilers do not require modification to support new hardware environment, and every application could compile to any hardware without modification. So we can say that once we have a good compiler, it can compile for any (possible not yet existing) hardware environments. To do this, a simple assembler is needed to generate machine specific code. It means that this virtual machine code could be used as an intermediate language between higher level languages and the machine code. Because of this, virtual machine is defined with minimal set of instructions and registers, so every existing (and hopefully future) processors could used as target machine.
The only things what higher level compilers should know about target environment are the size of address, and the default integer size, but of course this knowledge is not required, a well chosen address size could be enough for every platform.
Another partition of this idea is the way how applications make system calls (such as file handling, etc). To make a general purpose virtual machine, we need to define these complex things at 'processor' level. This is done through the syscall instruction. Once an application wants to do something with the system, puts the appropriate syscall to the virtual machine code, and the assembler generates the hardware specific code to binary output.

table of contents


sizes:

b

byte

8 bits

w

word

16 bits

d

double word

32 bits

q

quad word

64 bits

table of contents


formats:

d

default bit order

m

Most Significant Bit first

l

Least Significant Bit first

table of contents


signs:

s

signed

u

unsigned

table of contents


registers:

a

data

b, w, d, w

b

data

b, w, d, w

c

data

b, w, d, w

d

data

b, w, d, w

src

pointer

depends on architecture

trg

pointer

depends on architecture

table of contents


addressing:

[src+-number]

[trg+-number]

table of contents


conditions:

a

above

b

below

e

equal

ae

above or equal

be

below or equal

na

not above

nb

not below

ne

not equal

nae

nor above nor equal

nbe

nor below nor equal

table of contents


syntax:

platform

name

 

the name of platform used at higher level

proc

label

 

beginning of subroutine

endp

 

 

end of subroutine

label

label

 

place a label here

defb

number(s)

 

place byte(s) in code

defw

number(s)

 

place word(s) in code

defd

number(s)

 

place double word(s) in code

defq

number(s)

 

place quad word(s) in code

const

name

number

let constant name equal to number

table of contents


instructions:
note1: the upper remainder parts of registers are not tested, and have invalid contents after execution.
note2: the conditions are destroied by instructions, so a jmpc or setc must preceded by a comp instruction.

add

size

reg

reg/num

adding op2 to op1

sub

size

reg

reg/num

subtract op2 from op1

mul

sign size

reg

reg/num

multiply op1 by op2

div

sign size

reg

reg/num

divide op1 by op2

mod

sign size

reg

reg/num

remainder from dividing op1 by op2

or

size

reg

reg/num

bitwise oring op1 by op2

xor

size

reg

reg/num

bitwise xoring op1 by op2

and

size

reg

reg/num

bitwise anding op1 by op2

not

size

reg

 

bitwise noting op1

neg

size

reg

 

negating op1

shl

size

reg

reg/num

shift left op1 by op2 bits

shr

size

reg

reg/num

shift right op1 by op2 bits

push

size

reg

 

put op1 to top of stack

pop

size

reg

 

get value from top of stack to op1

comp

sign size

reg

reg/num

compare op1 to op2

move

op1.sign op1.size op2.sign op2.size

reg

reg/num

move op2 to op1

movr

format op1.sign op1.size op2.sign op2.size

reg

mem

read op1 from memory

movw

format op1.sign op1.size op2.sign op2.size

mem

reg

write op2 to memory

call

label

 

 

jump to label, push offset to stack

cllr

src/trg

 

 

jump to an address, push offset to stack

ret

 

 

 

return to saved offset

jump

label

 

 

jump to label

jmpr

src/trg

 

 

jump to an address

jmpc

condition

label

 

jump to label if condition is true

setc

condition

size

reg

set the register to 1 if condition is true, else 0

xchg

size

mem

reg

exchange value in op2 register with op1 memory

addrLod

src/trg

mem

 

load address from memory to op1

addrSav

mem

src/trg

 

save address from op2 to memory

procAddr

src/trg

num

 

setup op1 to beginning of op2 subroutine's data block

procAllocBeg

num

num

 

begin allocating op2 bytes to op1 subroutine; use the - as number

procAllocEnd

num

num

 

finish allocating op2 bytes to op1 subroutine

procFree

num

num

 

release op2 bytes from op1 subroutine

codeOfs

src/trg

label

 

get offset of label in code

sysCall

function

 

 

do the function, parameters are in registers

table of contents


syscalls:

startup

 

 

starts the code here [maxproc] [maxstack] [maxheap]

terminate

w:a

 

terminates the code withe error code a

sleep

 

 

sleeps the process for a while

memCopy

src trg d:c

 

copy c bytes from [src] to [trg] in memory

memCopy2

src trg d:c

 

copy c bytes from [src] to [trg] in memory, cares on overlapping

memFillByte

trg b:a d:c

 

fill a byte to trg c times

memResize

d:c

d:c trg

resize the memory to c, returns the size, and beginning

getMemInfo

 

d:c trg

returns the size, and beginning of extended memory

codeCopy

src trg d:c

 

copy c bytes from code [src] to memory [trg]

console.write

src d:c

 

write c bytes from src to the console

console.iskey

 

b:a

test for char on console (1=yes, 0=no)

console.read

trg d:c

d:c

read c bytes to trg from the console, returns number of bytes read in c

console.size

 

w:a w:b

read console size (a=x, b=y)

console.clear

 

 

clears the console

console.gotoXY

w:a w:b

 

set the cursor to a column and b row

console.setColor

b:a

 

set the pen color to ibm attributes

console.getDate

 

w:a w:b w:c

returns current date, a-year, b-month, c-day

console.getTime

 

w:a w:b w:c

returns current time, a-hour, b-minute, c-second

console.execWait

src trg

w:a w:b

execute process in trg with src parameter, wait until terminate, returns exitcode in a (b=error)

file.maxName

 

w:a

returns maximum name length

file.myName

trg

w:c

returns pathname of running process

file.myParam

trg

w:c

returns parameters of running process

file.open

src d:a

d:a w:b

open file on pascii name src with a rights, handler returned in a (b=error)

file.read

d:a trg d:c

d:c w:b

read c bytes to trg memory from file handler a, return c bytes read, (b=error)

file.write

d:a src d:c

w:b

write c bytes from src memory to file handler a (b=error)

file.seek

d:a d:c

w:b

seek to c position in file handler a (b=error)

file.getSize

d:a

d:c w:b

get file size to c from handler a (b=error)

file.getPos

d:a

d:c w:b

get file position to c from handler a (b=error)

file.truncate

d:a

w:b

truncate file handler a (b=error)

file.close

d:a

w:b

close the file handler a (b=error)

file.create

src

w:b

create pascii src named file (b=error)

file.erase

src

w:b

erase pascii src named file (b=error)

dir.current

trg

w:b

get working directory to trg in pascii (b=error)

dir.change

src

w:b

change working directory from src in pascii (b=error)

dir.statistic

 

d:a d:b d:c d:d

get disk statistics: a-free, b-used, c-bad, d-blocksize

dir.setRights

src d:a d:b

w:b

set directory entry access rights to a and owner to b (b=error)

dir.setDate

src trg

w:b

set src directory entry create,modify date to trg (b=error)

dir.reName

src trg

w:b

rename src directory entry to trg name (b=error)

dir.makeLink

src trg

w:b

create link to src directory entry under trg name (b=error)

dir.open

src

d:a w:b

open directory on pascii src name, handler returned in a (b=error)

dir.read

d:a trg

w:b

read dir entry to trg memory from dir handler a (b=error)
format: d:size, d:rights, d:owner, t:create, t:modify, pascii:name
t: w:year, b:month, b:day, b:hour, b:minute, b:second

dir.close

d:a

w:b

close the directory handler a (b=error)

dir.create

src

w:b

create pascii src named directory (b=error)

dir.erase

src

w:b

erase pascii src named directory (b=error)

pipeline.startListen

 

w:b

start listening for incoming pipelines (b=error)

pipeline.stopListen

 

w:b

stop listening for incoming pipelines (b=error)

pipeline.getIncoming

 

w:b d:a

get next incoming pipeline number in a (b=error)

pipeline.create

d:a d:c b:b

w:b d:a

create c bytes pipe to a process b=1 if block mode, pipe id a (b=error)

pipeline.close

d:a

w:b

close pipeline a (b=error)

pipeline.info

d:a

d:a d:c d:d w:b

pipeline info, a=process, c=freeTx, d=usedRx (b=error)

pipeline.receive

d:a trg d:c

d:c w:b

receive c bytes to trg from a pipeline, c bytes received (b=error)

pipeline.send

d:a src d:c

w:b

send c bytes from src to a pipeline (b=error)

system.getPID

 

d:a d:b d:c

returns a=process id, b=parent process id, c=rights

system.getUID

 

d:a d:b

returns my user id in a, original in b

system.sysInfoNum

 

d:a d:c d:d

returns a=#of proc, c=#of pipes, d=#of files

system.sysInfoMem

 

d:a d:c d:d

returns memory in byte a=total, c=kernel, d=free

system.sysInfoProc

 

d:a d:b d:c d:d

returns process starts a=idles, b=rounds, c=full rounds, d=active start

system.procInfoNam

d:a trg

d:a d:c d:d

returns info about [a] process, trg=pathname+param, a=uid, c=parent pid, d=rights

system.procInfoNum

d:a

d:a d:c d:d

returns info about [a] process, a=bytes, c=pipes, d=files

system.procInfoRun

d:a

d:a d:b d:c

returns process runs a=working since, b=times was busy, c=times run

system.findProcNum

d:a

d:a

find process by number (0..max-1)

system.findProcNam

src

d:a

find process by name

system.cpuInfo

d:a trg

d:a d:c

get cpu info (0..max-1), a=max, c=number

system.kernelInfo

trg

 

get kernel info to trg in asciiZ

system.kernelLogo

trg

 

get kernel logo to trg in asciiZ

system.procLive

d:a

d:b

check process existence, 0=no, 1=yes

system.uptimeInfo

 

d:a d:c d:d

get uptime info, a=days, c=ticks, d=ticks/day

system.killProcess

d:a

d:b

kill another process

syscalls require extra privileges:

system.setUID

d:a

 

sets my user id

console.execBckgnd

src trg

d:a w:b

execute process in background, returns pid in a (b=error)

console.execInme

src trg

d:a d:c w:b

execute process inside me, returns pid in a, pipe in c (b=error)

system.mapMemory

d:a d:c

d:b trg d:a d:c

map c bytes from a of physical memory, returns trg as logical offset

system.contMem

d:c

d:b d:a d:c trg

allocate continous c bytes, returns b=error, a=physical, c=size, trg=beginning

system.IOportRead

d:d b:c

d:a

read c bits from d port to a

system.IOportWrite

d:d b:c d:a

 

write c bits from d port from a

system.DMAcount

w:d

d:c

get byte count of dma channel

system.DMAstop

w:d

 

stop dma channel

system.DMAstart

w:d d:a d:c b:b

 

start dma channel a=physical, c=count, b=mode:
0=demand, 1=single, 2=block, 3=cascade; 00h=verify, 10h=card>>mem, 20h=mem>>card

system.driveLogin

b:a src

d:b

login as drive letter

system.driveLogout

b:a

d:b

logout as drive letter

system.driveFinished

 

 

drive signals end of processing

system.dropPrivi

 

 

drop privileged flag

table of contents


errors:

0

no error

1

unknown error

2

out of memory

3

out of disk space

4

no right

5

sharing violation

6

path not exists

7

file not exists

8

file already exists

9

invalid handle

10

directory not empty

11

embedded directories

12

file/directory mismatch

13

file pointer too big

14

drive io fault

15

drive not ready

16

eof encountered

17

invalid filename format

18

abnormal program termination

table of contents


keys:
first byte bits:

7

extended key

2

alt

1

ctrl

0

shift

extended keys:

0

no operation

1

redraw screen

2

tab

3

backspace

4

enter

5

escape

6

insert

7

delete

8

home

9

end

10

pgup

11

pgdn

12

up

13

down

14

left

15

right

16

printscreen

17

break

18

start-left

19

menu

20..49

f1..f30

50

start-right

51

wake-up

52

sleep

53

power

table of contents


rights:

001h

owner read

002h

owner write

004h

owner execute

008h

anybody read

010h

anybody write

020h

anybody execute

040h

extended privileges

080h

directory

100h

owner read

200h

owner write

table of contents


filesys:
buffer:

dword

command/result

dword

userid

dword

rights

dword

buffer size

string

current directory

string

filename1

string

filename2

512 bytes

handler

65536 bytes

data

commands:

1

change directory

dir, fn1, uid

2

drive statistics

data: free,used,bad,blockSize:dword

3

create directory

dir, fn1, uid

4

erase directory

dir, fn1, uid

5

create file

dir, fn1, uid

6

erase file

dir, fn1, uid

7

rename

dir, fn1, fn2, uid

8

create link

dir, fn1, fn2, uid

9

set rights

dir, fn1, uid, data: rights,owner:dword

10

set date

dir, fn1, uid, data: create,modify:time

11

open directory

dir, fn1, uid, hdr, data: inode,rights:dword; name:string

12

read directory

hdr, data: size,right,own:dword; create,modify:time; name:string

13

open file

dir, fn1, right, uid, hdr, data: inode,rights:dword; name:string

14

read file

hdr, size, data

15

write file

hdr, size, data

16

seek file

hdr, data: position:dword

17

get file size

hdr, data: filesize:dword

18

get file position

hdr, data: position:dword

19

truncate file

hdr

table of contents

freeRtr-25.11.9/misc/vm/vm.java000066400000000000000000001211351510423065500161500ustar00rootroot00000000000000package org.freertr; import java.io.File; import java.io.RandomAccessFile; import java.util.ArrayList; import java.util.List; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgInit; import org.freertr.cry.cryHashCrc32; import org.freertr.pipe.pipeSide; import org.freertr.enc.encUrl; import org.freertr.tab.tabGen; import org.freertr.user.userFlash; import org.freertr.user.userScreen; import org.freertr.util.bits; import org.freertr.util.logger; /** * virtual machine * * @author matecsaba */ public class vm { private final static String rootDir = "../vm/"; private final static int reg_a = 1; private final static int reg_b = 2; private final static int reg_c = 3; private final static int reg_d = 4; private final static int reg_src = 5; private final static int reg_trg = 6; private final static int reg_cip = 7; /** * termination flag */ public final static int res_term = 0x40000000; private final static int memBound = 65536; private boolean allowFileIO; private int[] regs; private int flags; // 1=above, 2=below, 4=equal private String nam; private String par; private byte[] stackD; private int stackP; private byte[] codeD; private byte[] dataD; private int dataP; private int dataS; private int[] procD; private tabGen files; private tabGen dirs; private pipeSide console; private String currDir; /** * do vm work * * @param cons pipe to use * @param fio set true to allow file io * @param dir working directory * @param name file to load * @param param parameters to give * @return result code */ public int doWork(pipeSide cons, boolean fio, String dir, String name, String param) { vm vm = new vm(cons, fio, dir); int res; try { vm.doLoad(name, param); res = vm.doProcess(); } catch (Exception e) { cons.linePut("vm error: " + logger.dumpException(e, "fio=" + fio + " fn=" + dir + " " + name + " pars" + param)); List txt = vm.dump(); for (int i = 0; i < txt.size(); i++) { cons.linePut(txt.get(i)); } res = 1; } try { vm.doFinish(); } catch (Exception e) { } return res; } /** * construct a vm * * @param cons pipe to use * @param fio set true to allow file io * @param dir working directory */ public vm(pipeSide cons, boolean fio, String dir) { console = cons; allowFileIO = fio; currDir = "/" + encUrl.normalizePath(dir + "/"); regs = new int[8]; } public String toString() { return "emulating " + nam; } /** * dump this virtual machine * * @return dump of virtual machine */ public List dump() { List l = new ArrayList(); l.add("nam='" + nam + "' par='" + par + "' dir='" + currDir + "'"); l.add("a=" + regs[reg_a] + " b=" + regs[reg_b] + " c=" + regs[reg_c] + " d=" + regs[reg_d]); l.add("src=" + regs[reg_src] + " trg=" + regs[reg_trg] + " cip=" + regs[reg_cip]); return l; } /** * convert result to error * * @param i result * @return error */ public static int result2error(int i) { if ((i & res_term) == 0) { return i; } else { return 0; } } /** * convert result to exit code * * @param i result * @return exit code */ public static int result2extcod(int i) { i &= ~res_term; return i; } /** * convert result to string * * @param i result * @return string */ public static String result2string(int i) { if (result2error(i) != 0) { return "error code=" + result2error(i); } return "exit code=" + result2extcod(i); } private static int getSize(int siz) { siz &= 15; switch (siz) { case 1: return 1; case 2: return 2; case 3: return 4; } return 0; } private static int convType(int d, int sig, int siz, int after) { sig &= 1; siz &= 15; switch (siz) { case 1: d &= 0xff; break; case 2: d &= 0xffff; break; case 3: d &= 0xffffffff; break; } if (sig != 0) { switch (siz) { case 1: d = (byte) d; break; case 2: d = (short) d; break; case 3: // d = d; break; } } if (after != 0) { switch (siz) { case 1: d &= 0xff; break; case 2: d &= 0xffff; break; case 3: d &= 0xffffffff; break; } } return d; } private static String replacePathSep(String s) { byte[] buf = s.getBytes(); for (int i = 0; i < buf.length; i++) { switch (buf[i]) { case 47: buf[i] = 92; break; case 92: buf[i] = 47; break; } } return new String(buf); } private static String fromUnix(String s) { return "c:" + replacePathSep(s); } private String fromDos(String s) { s = replacePathSep(s); if (s.length() > 2) { if (s.substring(1, 3).equals(":/")) { s = s.substring(2, s.length()); } } if (!s.startsWith("/")) { s = currDir + s; } return s; } private String getPascii(int ofs) { int i = dataD[ofs]; byte[] buf = new byte[i]; bits.byteCopy(dataD, ofs + 1, buf, 0, buf.length); return new String(buf); } private void putPascii(int ofs, String str) { final int max = 255; if (str.length() > max) { str = str.substring(0, max); } byte[] res = str.getBytes(); dataD[ofs] = (byte) res.length; bits.byteCopy(res, 0, dataD, ofs + 1, res.length); } private void putAsciiz(int ofs, String str) { byte[] res = str.getBytes(); bits.byteCopy(res, 0, dataD, ofs, res.length); bits.msbPutD(dataD, ofs + res.length, 0); } private int readOne(byte[] data, int ofs, int siz, int msb) throws Exception { siz &= 15; switch (siz) { case 1: return data[ofs] & 0xff; case 2: switch (msb) { case 1: // default case 3: // lsb return bits.lsbGetW(data, ofs); case 2: // msb return bits.msbGetW(data, ofs); default: throw new Exception("invalid type"); } case 3: switch (msb) { case 1: // default case 3: // lsb return bits.lsbGetD(data, ofs); case 2: return bits.msbGetD(data, ofs); default: throw new Exception("invalid type"); } default: throw new Exception("invalid type"); } } private void writeOne(byte[] data, int ofs, int siz, int msb, int val) throws Exception { siz &= 15; switch (siz) { case 1: data[ofs] = (byte) (val & 0xff); return; case 2: switch (msb) { case 1: // default case 3: // lsb bits.lsbPutW(data, ofs, val); return; case 2: // msb bits.msbPutW(data, ofs, val); return; default: throw new Exception("invalid type"); } case 3: switch (msb) { case 1: // default case 3: // lsb bits.lsbPutD(data, ofs, val); return; case 2: // msb bits.msbPutD(data, ofs, val); return; default: throw new Exception("invalid type"); } default: throw new Exception("invalid type"); } } private int getConst(int siz) throws Exception { int i = readOne(codeD, regs[reg_cip], siz, 1); regs[reg_cip] += getSize(siz); return i; } private void pushOne(int val, int siz) throws Exception { writeOne(stackD, stackP, siz, 1, val); stackP += getSize(siz); } private int popOne(int siz) throws Exception { stackP -= getSize(siz); return readOne(stackD, stackP, siz, 1); } private int getMemory() throws Exception { int i, o, p; i = getConst(1); p = i & 0x80; i = i & 15; o = getConst(3); i = regs[i]; if (p == 0) { o += i; } else { o -= i; } return o; } private static int convCol(int i) { final int[] tab = {0, 4, 2, 6, 1, 5, 3, 7, 8, 12, 10, 14, 9, 13, 11, 15}; int fg = i & 0xf; int bg = (i >>> 4) & 0xf; return tab[fg] | (tab[bg] << 16); } private int getKey() { return userScreen.getKey(console); } /** * load one file * * @param name file to load * @param param parameters to give * @throws Exception on error */ public void doLoad(String name, String param) throws Exception { name = "/" + encUrl.normalizePath(name); nam = name; par = param; RandomAccessFile f = new RandomAccessFile(rootDir + name, "r"); int codeS = (int) f.length(); codeD = new byte[codeS]; f.read(codeD, 0, codeS); f.close(); if (getConst(3) != 0x30314d56) { throw new Exception("invalid magic number"); } int i = getConst(3); if (i != codeS) { throw new Exception("invalid size field"); } int stackS = getConst(3); dataS = getConst(3) + memBound; int procS = getConst(3); int procB = getConst(3); cryHashCrc32 h = new cryHashCrc32(cryHashCrc32.polyCrc32i); h.init(); h.update(codeD, 0, codeD.length - 4); byte[] buf = h.finish(); regs[reg_cip] = codeD.length - 4; if (getConst(3) != bits.msbGetD(buf, 0)) { throw new Exception("invalid checksum"); } regs[reg_cip] = procB; stackD = new byte[stackS + memBound]; dataD = new byte[dataS]; procD = new int[procS]; files = new tabGen(); dirs = new tabGen(); } /** * run until end * * @return result code * @throws Exception on error */ public int doProcess() throws Exception { int i; for (;;) { i = doOpcode(); if ((i & res_term) != 0) { break; } } return i; } /** * finish the process */ public void doFinish() { for (int i = 0; i < files.size(); i++) { try { files.get(i).fil.close(); } catch (Exception e) { } } } /** * run one opcode * * @return result code * @throws Exception on error */ public int doOpcode() throws Exception { int form; int siz1, siz2; int reg1, reg2; int val1, val2; int opc = getConst(1); switch (opc) { case 1: // add siz1 = getConst(1); reg1 = getConst(1); if ((siz1 & 0x80) != 0) { val1 = getConst(3); } else { val1 = regs[getConst(1)]; } regs[reg1] += val1; return 0; case 2: // sub siz1 = getConst(1); reg1 = getConst(1); if ((siz1 & 0x80) != 0) { val1 = getConst(3); } else { val1 = regs[getConst(1)]; } regs[reg1] -= val1; return 0; case 3: // mul siz1 = getConst(1); siz2 = siz1 >>> 6; reg1 = getConst(1); if ((siz1 & 0x80) != 0) { val1 = getConst(3); } else { val1 = regs[getConst(1)]; } val1 = convType(val1, siz2, siz1, 0); val2 = convType(regs[reg1], siz2, siz1, 0); regs[reg1] = val2 * val1; return 0; case 4: // div siz1 = getConst(1); siz2 = siz1 >>> 6; reg1 = getConst(1); if ((siz1 & 0x80) != 0) { val1 = getConst(3); } else { val1 = regs[getConst(1)]; } val1 = convType(val1, siz2, siz1, 0); val2 = convType(regs[reg1], siz2, siz1, 0); if (val1 == 0) { throw new Exception("division by zero"); } regs[reg1] = val2 / val1; return 0; case 5: // mod siz1 = getConst(1); siz2 = siz1 >>> 6; reg1 = getConst(1); if ((siz1 & 0x80) != 0) { val1 = getConst(3); } else { val1 = regs[getConst(1)]; } val1 = convType(val1, siz2, siz1, 0); val2 = convType(regs[reg1], siz2, siz1, 0); if (val1 == 0) { throw new Exception("division by zero"); } regs[reg1] = val2 % val1; return 0; case 6: // or siz1 = getConst(1); reg1 = getConst(1); if ((siz1 & 0x80) != 0) { val1 = getConst(3); } else { val1 = regs[getConst(1)]; } regs[reg1] |= val1; return 0; case 7: // xor siz1 = getConst(1); reg1 = getConst(1); if ((siz1 & 0x80) != 0) { val1 = getConst(3); } else { val1 = regs[getConst(1)]; } regs[reg1] ^= val1; return 0; case 8: // and siz1 = getConst(1); reg1 = getConst(1); if ((siz1 & 0x80) != 0) { val1 = getConst(3); } else { val1 = regs[getConst(1)]; } regs[reg1] &= val1; return 0; case 9: // not siz1 = getConst(1); reg1 = getConst(1); regs[reg1] = -1 - regs[reg1]; return 0; case 10: // neg siz1 = getConst(1); reg1 = getConst(1); regs[reg1] = -regs[reg1]; return 0; case 11: // shl siz1 = getConst(1); reg1 = getConst(1); if ((siz1 & 0x80) != 0) { val1 = getConst(3); } else { val1 = regs[getConst(1)]; } regs[reg1] <<= val1; return 0; case 12: // shr siz1 = getConst(1); reg1 = getConst(1); if ((siz1 & 0x80) != 0) { val1 = getConst(3); } else { val1 = regs[getConst(1)]; } regs[reg1] >>>= val1; return 0; case 13: // push siz1 = getConst(1); reg1 = getConst(1); val1 = regs[reg1]; pushOne(val1, siz1); return 0; case 14: // pop siz1 = getConst(1); reg1 = getConst(1); regs[reg1] = popOne(siz1); return 0; case 15: // comp siz1 = getConst(1); siz2 = siz1 >>> 6; reg1 = getConst(1); if ((siz1 & 0x80) != 0) { val1 = getConst(3); } else { val1 = regs[getConst(1)]; } val1 = convType(val1, siz2, siz1, 0); val2 = convType(regs[reg1], siz2, siz1, 0); reg1 = 0; if (val1 < val2) { reg1 |= 1; } if (val1 > val2) { reg1 |= 2; } if (val1 == val2) { reg1 |= 4; } flags &= 0xffffff8; flags |= reg1; return 0; case 16: // move siz1 = getConst(1); siz2 = getConst(1); reg1 = getConst(1); if ((siz2 & 0x80) != 0) { val1 = getConst(3); } else { val1 = regs[getConst(1)]; } val1 = convType(val1, siz2 >>> 6, siz2, 0); val1 = convType(val1, siz1 >>> 6, siz1, 1); regs[reg1] = val1; return 0; case 17: // movr form = getConst(1); siz1 = getConst(1); siz2 = getConst(1); val2 = getMemory(); reg1 = getConst(1); val1 = readOne(dataD, val2, siz2, form); val1 = convType(val1, siz2 >>> 6, siz2, 0); val1 = convType(val1, siz1 >>> 6, siz1, 1); regs[reg1] = val1; return 0; case 18: // movw form = getConst(1); siz1 = getConst(1); siz2 = getConst(1); val2 = getMemory(); reg1 = getConst(1); val1 = regs[reg1]; val1 = convType(val1, siz2 >>> 6, siz2, 0); val1 = convType(val1, siz1 >>> 6, siz1, 1); writeOne(dataD, val2, siz1, form, val1); return 0; case 19: // call val1 = getConst(3); pushOne(regs[reg_cip], 3); regs[reg_cip] = val1; return 0; case 20: // ret regs[reg_cip] = popOne(3); return 0; case 21: // jump regs[reg_cip] = getConst(3); return 0; case 22: // jmpc reg1 = getConst(1); val1 = getConst(3); if ((flags & reg1) != 0) { regs[reg_cip] = val1; } return 0; case 23: // addrLod val2 = getMemory(); reg1 = getConst(1); regs[reg1] = readOne(dataD, val2, 3, 1); return 0; case 24: // addrSav val2 = getMemory(); reg1 = getConst(1); writeOne(dataD, val2, 3, 1, regs[reg1]); return 0; case 25: // procAddr reg1 = getConst(1); val1 = getConst(3); if (val1 == -1) { val2 = popOne(3); pushOne(val2, 3); } else { val2 = procD[val1]; } regs[reg1] = val2; return 0; case 26: // procAllocBeg val1 = getConst(3); val2 = procD[val1]; pushOne(val2, 3); val2 = dataP; val1 = getConst(3); dataP += val1; pushOne(val2, 3); return 0; case 27: // procFree val1 = getConst(3); val2 = popOne(3); procD[val1] = val2; val2 = getConst(3); dataP -= val2; return 0; case 28: // codeOfs reg1 = getConst(1); regs[reg1] = getConst(3); return 0; case 29: // xchg siz1 = getConst(1); val2 = getMemory(); reg1 = getConst(1); val1 = regs[reg1]; regs[reg1] = readOne(dataD, val2, siz1, 1); writeOne(dataD, val2, siz1, 1, val1); return 0; case 30: // setc reg2 = getConst(1); siz1 = getConst(1); reg1 = getConst(1); if ((flags & reg2) != 0) { val1 = 1; } else { val1 = 0; } regs[reg1] = val1; return 0; case 31: // procAllocEnd val2 = popOne(3); val1 = getConst(3); procD[val1] = val2; getConst(3); return 0; case 32: // syscall return doSyscall(); case 33: // cllr reg1 = getConst(1); pushOne(regs[reg_cip], 3); regs[reg_cip] = regs[reg1]; return 0; case 34: // jmpr reg1 = getConst(1); regs[reg_cip] = regs[reg1]; return 0; } regs[reg_cip] -= 1; throw new Exception("unknown (" + opc + ") opcode"); } /** * do a system call * * @return return code * @throws Exception may throw an exception */ public int doSyscall() throws Exception { int opc = getConst(1); int val1; switch (opc) { case 1: // sleep bits.sleep(10); return 0; case 2: // memCopy bits.byteCopy(dataD, regs[reg_src], dataD, regs[reg_trg], regs[reg_c]); return 0; case 3: // codeCopy bits.byteCopy(codeD, regs[reg_src], dataD, regs[reg_trg], regs[reg_c]); return 0; case 4: // terminate return (regs[reg_a] & 0xffff) | res_term; case 5: // console.write console.strPut(new String(dataD, regs[reg_src], regs[reg_c])); return 0; case 6: // console.read if (console.ready2rx() < 1) { if (console.isClosed() != 0) { throw new Exception("console closed"); } regs[reg_c] = 0; return 0; } bits.lsbPutW(dataD, regs[reg_trg], getKey()); regs[reg_c] = 2; return 0; case 7: // file.maxName regs[reg_a] = 128; return 0; case 8: // file.myName String a = fromUnix(nam); regs[reg_c] = a.length(); putAsciiz(regs[reg_trg], a); return 0; case 9: // file.myParam regs[reg_c] = par.length(); putAsciiz(regs[reg_trg], par); return 0; case 10: // file.open regs[reg_b] = 1; if (!allowFileIO) { return 0; } a = rootDir + fromDos(getPascii(regs[reg_src])); if (!new File(a).exists()) { return 0; } vmFil fil = new vmFil(0); try { fil.fil = new RandomAccessFile(a, "rw"); } catch (Exception e) { return 0; } for (;;) { fil.num = bits.randomD(); if (files.add(fil) == null) { break; } } regs[reg_a] = fil.num; regs[reg_b] = 0; return 0; case 11: // file.read regs[reg_b] = 1; fil = files.find(new vmFil(regs[reg_a])); if (fil == null) { return 0; } try { fil.fil.read(dataD, regs[reg_trg], regs[reg_c]); } catch (Exception e) { return 0; } regs[reg_b] = 0; return 0; case 12: // file.write regs[reg_b] = 1; fil = files.find(new vmFil(regs[reg_a])); if (fil == null) { return 0; } try { fil.fil.write(dataD, regs[reg_src], regs[reg_c]); } catch (Exception e) { return 0; } regs[reg_b] = 0; return 0; case 13: // file.seek regs[reg_b] = 1; fil = files.find(new vmFil(regs[reg_a])); if (fil == null) { return 0; } try { fil.fil.seek(regs[reg_c]); } catch (Exception e) { return 0; } regs[reg_b] = 0; return 0; case 14: // file.getSize regs[reg_b] = 1; fil = files.find(new vmFil(regs[reg_a])); if (fil == null) { return 0; } try { regs[reg_c] = (int) fil.fil.length(); } catch (Exception e) { return 0; } regs[reg_b] = 0; return 0; case 15: // file.getPos regs[reg_b] = 1; fil = files.find(new vmFil(regs[reg_a])); if (fil == null) { return 0; } try { regs[reg_c] = (int) fil.fil.getFilePointer(); } catch (Exception e) { return 0; } regs[reg_b] = 0; return 0; case 16: // file.truncate regs[reg_b] = 1; fil = files.find(new vmFil(regs[reg_a])); if (fil == null) { return 0; } try { fil.fil.setLength(fil.fil.getFilePointer()); } catch (Exception e) { return 0; } regs[reg_b] = 0; return 0; case 17: // file.close regs[reg_b] = 1; fil = files.del(new vmFil(regs[reg_a])); if (fil == null) { return 0; } try { fil.fil.close(); } catch (Exception e) { return 0; } regs[reg_b] = 0; return 0; case 18: // file.create regs[reg_b] = 1; if (!allowFileIO) { return 0; } a = rootDir + fromDos(getPascii(regs[reg_src])); if (userFlash.mkfile(a)) { return 0; } regs[reg_b] = 0; return 0; case 19: // file.erase regs[reg_b] = 1; if (!allowFileIO) { return 0; } a = rootDir + fromDos(getPascii(regs[reg_src])); if (userFlash.delete(a)) { return 0; } regs[reg_b] = 0; return 0; case 20: // dir.current putPascii(regs[reg_trg], fromUnix(currDir)); regs[reg_b] = 0; return 0; case 21: // dir.change regs[reg_b] = 1; if (!allowFileIO) { return 0; } a = fromDos(getPascii(regs[reg_src])); a = "/" + encUrl.normalizePath(a + "/"); if (!new File(rootDir + a).isDirectory()) { return 0; } currDir = a; regs[reg_b] = 0; return 0; case 22: // dir.setRights regs[reg_b] = 1; if (!allowFileIO) { return 0; } a = rootDir + fromDos(getPascii(regs[reg_src])); if (!new File(a).exists()) { return 0; } regs[reg_b] = 0; return 0; case 23: // dir.rename regs[reg_b] = 1; if (!allowFileIO) { return 0; } a = rootDir + fromDos(getPascii(regs[reg_src])); if (userFlash.rename(a, rootDir + fromDos(getPascii(regs[reg_trg])), false, false)) { return 0; } regs[reg_b] = 0; return 0; case 24: // dir.makeLink regs[reg_b] = 1; return 0; case 25: // dir.open regs[reg_b] = 1; if (!allowFileIO) { return 0; } a = rootDir + fromDos(getPascii(regs[reg_src])); if (!new File(a).exists()) { return 0; } vmDir dir = new vmDir(0); dir.lst = userFlash.dirList(a); if (dir.lst == null) { return 0; } for (;;) { dir.num = bits.randomD(); if (dirs.add(dir) == null) { break; } } regs[reg_a] = dir.num; regs[reg_b] = 0; return 0; case 26: // dir.read regs[reg_b] = 1; dir = dirs.find(new vmDir(regs[reg_a])); if (dir == null) { return 0; } bits.byteFill(dataD, regs[reg_trg], 64, 0); if (dir.pos < dir.lst.length) { File ntry = dir.lst[dir.pos]; dir.pos++; int ofs = regs[reg_trg]; int rgt = 0; long tim = ntry.lastModified(); if (ntry.isDirectory()) { rgt |= 0x83; } if (ntry.canRead()) { rgt |= 0x01; } if (ntry.canWrite()) { rgt |= 0x02; } if (ntry.canExecute()) { rgt |= 0x04; } bits.lsbPutD(dataD, ofs + 0, (int) ntry.length()); bits.lsbPutD(dataD, ofs + 4, rgt); bits.lsbPutD(dataD, ofs + 8, 0); bits.lsbPutW(dataD, ofs + 12, bits.time2num(cfgAll.timeZoneName, tim, 1)); dataD[ofs + 14] = (byte) bits.time2num(cfgAll.timeZoneName, tim, 2); dataD[ofs + 15] = (byte) bits.time2num(cfgAll.timeZoneName, tim, 3); dataD[ofs + 16] = (byte) bits.time2num(cfgAll.timeZoneName, tim, 4); dataD[ofs + 17] = (byte) bits.time2num(cfgAll.timeZoneName, tim, 5); dataD[ofs + 18] = (byte) bits.time2num(cfgAll.timeZoneName, tim, 6); bits.byteCopy(dataD, ofs + 12, dataD, ofs + 19, 7); putPascii(ofs + 26, ntry.getName()); } regs[reg_b] = 0; return 0; case 27: // dir.close regs[reg_b] = 1; dir = dirs.del(new vmDir(regs[reg_a])); if (dir == null) { return 0; } regs[reg_b] = 0; return 0; case 28: // dir.create regs[reg_b] = 1; if (!allowFileIO) { return 0; } a = rootDir + fromDos(getPascii(regs[reg_src])); if (userFlash.mkdir(a)) { return 0; } regs[reg_b] = 0; return 0; case 29: // dir.erase regs[reg_b] = 1; if (!allowFileIO) { return 0; } a = rootDir + fromDos(getPascii(regs[reg_src])); if (userFlash.delete(a)) { return 0; } regs[reg_b] = 0; return 0; case 30: // dir.stats regs[reg_a] = 0x20000000; regs[reg_b] = 0x10000000; regs[reg_c] = 0; regs[reg_d] = 512; return 0; case 31: // dir.setDate regs[reg_b] = 1; if (!allowFileIO) { return 0; } a = rootDir + fromDos(getPascii(regs[reg_src])); if (!new File(a).exists()) { return 0; } regs[reg_b] = 0; return 0; case 32: // memReSize byte[] buf = dataD; dataD = new byte[dataS + regs[reg_c] + memBound]; if (buf.length < dataD.length) { val1 = buf.length; } else { val1 = dataD.length; } bits.byteCopy(buf, 0, dataD, 0, val1); regs[reg_c] = dataD.length - dataS - memBound; regs[reg_trg] = dataS; return 0; case 33: // memInfo regs[reg_c] = dataD.length - dataS - memBound; regs[reg_trg] = dataS; return 0; case 34: // console.isKey regs[reg_a] = 0; if (console.ready2rx() > 0) { regs[reg_a] = 1; } return 0; case 35: // console.size regs[reg_a] = 78; regs[reg_b] = 24; return 0; case 36: // console.gotoXY userScreen.sendCur(console, regs[reg_a] - 1, regs[reg_b] - 1); return 0; case 37: // console.setColor userScreen.sendAnsCol(console, convCol(regs[reg_a])); return 0; case 38: // console.clear userScreen.sendCls(console); return 0; case 39: // console.execWait a = fromDos(getPascii(regs[reg_src])); vm v = new vm(console, true, currDir); v.doLoad(a, currDir); val1 = v.doWork(console, true, "", a, currDir); regs[reg_b] = result2error(val1); regs[reg_a] = result2extcod(val1); return 0; case 40: // console.execBckgnd regs[reg_b] = 1; return 0; case 41: // console.execInMe regs[reg_b] = 1; return 0; case 42: // console.getDate regs[reg_a] = bits.time2num(cfgAll.timeZoneName, bits.getTime(), 1); regs[reg_b] = bits.time2num(cfgAll.timeZoneName, bits.getTime(), 2); regs[reg_c] = bits.time2num(cfgAll.timeZoneName, bits.getTime(), 3); return 0; case 43: // console.getTime regs[reg_a] = bits.time2num(cfgAll.timeZoneName, bits.getTime(), 4); regs[reg_b] = bits.time2num(cfgAll.timeZoneName, bits.getTime(), 5); regs[reg_c] = bits.time2num(cfgAll.timeZoneName, bits.getTime(), 6); return 0; case 44: // memFillByte bits.byteFill(dataD, regs[reg_trg], regs[reg_c], regs[reg_a]); return 0; case 100: // pipeline.startListen case 101: // pipeline.stopListen case 102: // pipeline.getIncoming case 103: // pipeline.create case 104: // pipeline.close case 105: // pipeline.info case 106: // pipeline.receive case 107: // pipeline.send regs[reg_b] = 1; return 0; case 108: // system.getPID regs[reg_a] = 1234; regs[reg_b] = 4321; regs[reg_c] = 3; return 0; case 109: // system.getUID regs[reg_a] = 0; regs[reg_b] = 0; return 0; case 110: // system.sysInfoNum regs[reg_a] = 1; regs[reg_c] = 0; regs[reg_d] = dirs.size() + files.size(); return 0; case 111: // system.sysInfoMem regs[reg_a] = 0x20000000; regs[reg_c] = 0x10000; regs[reg_d] = 0x10000000; return 0; case 112: // system.sysInfoProc regs[reg_a] = 64; regs[reg_b] = 1; regs[reg_c] = 1; regs[reg_d] = 1; return 0; case 113: // system.procInfoNam putPascii(regs[reg_trg] + 0, ""); putPascii(regs[reg_trg] + 256, ""); regs[reg_a] = 0; regs[reg_c] = 0; regs[reg_d] = 0; return 0; case 114: // system.procInfoNum regs[reg_a] = 0; regs[reg_c] = 0; regs[reg_d] = 0; return 0; case 115: // system.procInfoRun regs[reg_a] = 0; regs[reg_b] = 0; regs[reg_c] = 0; return 0; case 116: // system.findProcNum regs[reg_a] = 0; return 0; case 117: // system.findProcNam regs[reg_a] = 0; return 0; case 118: // system.cpuInfo regs[reg_a] = 1; regs[reg_c] = 8086; putAsciiz(regs[reg_trg], "emulator"); return 0; case 119: // system.kernelInfo putAsciiz(regs[reg_trg], bits.lst2str(cfgInit.getShPlat(), "\r\n")); return 0; case 120: // system.kernelLogo putAsciiz(regs[reg_trg], bits.lst2str(cfgInit.getShLogo(0x08), "\r\n")); return 0; case 121: // system.procLive regs[reg_b] = 0; return 0; case 122: // system.uptimeInfo regs[reg_a] = 0; regs[reg_c] = (int) ((bits.getTime() / 10) % 1000000); regs[reg_d] = 100; return 0; case 123: // system.killProc regs[reg_b] = 1; return 0; } regs[reg_cip] -= 2; throw new Exception("unknown (" + opc + ") syscall"); } } class vmFil implements Comparable { public int num; public RandomAccessFile fil; public vmFil(int i) { num = i; } public int compareTo(vmFil o) { if (num < o.num) { return -1; } if (num > o.num) { return +1; } return 0; } } class vmDir implements Comparable { public int num; public File[] lst; public int pos; public vmDir(int i) { num = i; } public int compareTo(vmDir o) { if (num < o.num) { return -1; } if (num > o.num) { return +1; } return 0; } } freeRtr-25.11.9/misc/vm/vm2.html000066400000000000000000000725141510423065500162630ustar00rootroot00000000000000 Virtual Machine

Virtual Machine (definition)
version 2.0, done by Mc in 2002


table of contents:

The purpose of this virtual machine is to create a new, general purpose, hardware independent environment to speed up application development. Imagine that applications could be developed in any (high level) language. The compiler first generates code for this virtual machine and in the second step, an other simply assembler generates working code for existing processors. The main advantage of this technique is that high level compilers do not require modification to support new hardware environment, and every application could compile to any hardware without modification. So we can say that once we have a good compiler, it can compile for any (possible not yet existing) hardware environments. To do this, a simple assembler is needed to generate machine specific code. It means that this virtual machine code could be used as an intermediate language between higher level languages and the machine code. Because of this, virtual machine is defined with minimal set of instructions and registers, so every existing (and hopefully future) processors could used as target machine.
The only things what higher level compilers should know about target environment are the size of address, and the default integer size, but of course this knowledge is not required, a well chosen address size could be enough for every platform.
Another partition of this idea is the way how applications make system calls (such as file handling, etc). To make a general purpose virtual machine, we need to define these complex things at 'processor' level. This is done through the syscall instruction. Once an application wants to do something with the system, puts the appropriate syscall to the virtual machine code, and the assembler generates the hardware specific code to binary output.

table of contents
sizes:
b byte 8 bits
w word 16 bits
d double word 32 bits
q quad word 64 bits
table of contents
formats:
d default bit order
m Most Significant Bit first
l Least Significant Bit first
table of contents
signs:
s signed
u unsigned
table of contents
registers:
a data b, w, d, w
b data b, w, d, w
c data b, w, d, w
d data b, w, d, w
src pointer depends on architecture
trg pointer depends on architecture
table of contents
addressing:
[src+-number]
[trg+-number]
table of contents
conditions:
a above
b below
e equal
ae above or equal
be below or equal
na not above
nb not below
ne not equal
nae nor above nor equal
nbe nor below nor equal
table of contents
syntax:
platform name   the name of platform used at higher level
proc label   beginning of subroutine
endp     end of subroutine
label label   place a label here
defb number(s)   place byte(s) in code
defw number(s)   place word(s) in code
defd number(s)   place double word(s) in code
defq number(s)   place quad word(s) in code
const name number let constant name equal to number
table of contents
instructions:
note1: the upper remainder parts of registers are not tested, and have invalid contents after execution.
note2: the conditions are destroied by instructions, so a jmpc or setc must preceded by a comp instruction.
add size reg reg/num adding op2 to op1
sub size reg reg/num subtract op2 from op1
mul sign size reg reg/num multiply op1 by op2
div sign size reg reg/num divide op1 by op2
mod sign size reg reg/num remainder from dividing op1 by op2
or size reg reg/num bitwise oring op1 by op2
xor size reg reg/num bitwise xoring op1 by op2
and size reg reg/num bitwise anding op1 by op2
not size reg   bitwise noting op1
neg size reg   negating op1
shl size reg reg/num shift left op1 by op2 bits
shr size reg reg/num shift right op1 by op2 bits
push size reg   put op1 to top of stack
pop size reg   get value from top of stack to op1
comp sign size reg reg/num compare op1 to op2
move op1.sign op1.size op2.sign op2.size reg reg/num move op2 to op1
movr format op1.sign op1.size op2.sign op2.size reg mem read op1 from memory
movw format op1.sign op1.size op2.sign op2.size mem reg write op2 to memory
call label     jump to label, push offset to stack
cllr src/trg     jump to an address, push offset to stack
ret       return to saved offset
jump label     jump to label
jmpr src/trg     jump to an address
jmpc condition label   jump to label if condition is true
setc condition size reg set the register to 1 if condition is true, else 0
xchg size mem reg exchange value in op2 register with op1 memory
addrLod src/trg mem   load address from memory to op1
addrSav mem src/trg   save address from op2 to memory
procAddr src/trg num   setup op1 to beginning of op2 subroutine's data block
procAllocBeg num num   begin allocating op2 bytes to op1 subroutine; use the - as number
procAllocEnd num num   finish allocating op2 bytes to op1 subroutine
procFree num num   release op2 bytes from op1 subroutine
codeOfs src/trg label   get offset of label in code
sysCall function     do the function, parameters are in registers
table of contents
syscalls:
startup     starts the code here [maxproc] [maxstack] [maxheap]
terminate w:a   terminates the code withe error code a
sleep     sleeps the process for a while
memCopy src trg d:c   copy c bytes from [src] to [trg] in memory
memCopy2 src trg d:c   copy c bytes from [src] to [trg] in memory, cares on overlapping
memFillByte trg b:a d:c   fill a byte to trg c times
memResize d:c d:c trg resize the memory to c, returns the size, and beginning
getMemInfo   d:c trg returns the size, and beginning of extended memory
codeCopy src trg d:c   copy c bytes from code [src] to memory [trg]
console.write src d:c   write c bytes from src to the console
console.iskey   b:a test for char on console (1=yes, 0=no)
console.read trg d:c d:c read c bytes to trg from the console, returns number of bytes read in c
console.size   w:a w:b read console size (a=x, b=y)
console.clear     clears the console
console.gotoXY w:a w:b   set the cursor to a column and b row
console.setColor b:a   set the pen color to ibm attributes
console.getDate   w:a w:b w:c returns current date, a-year, b-month, c-day
console.getTime   w:a w:b w:c returns current time, a-hour, b-minute, c-second
console.execWait src trg w:a w:b execute process in trg with src parameter, wait until terminate, returns exitcode in a (b=error)
file.maxName   w:a returns maximum name length
file.myName trg w:c returns pathname of running process
file.myParam trg w:c returns parameters of running process
file.open src d:a d:a w:b open file on pascii name src with a rights, handler returned in a (b=error)
file.read d:a trg d:c d:c w:b read c bytes to trg memory from file handler a, return c bytes read, (b=error)
file.write d:a src d:c w:b write c bytes from src memory to file handler a (b=error)
file.seek d:a d:c w:b seek to c position in file handler a (b=error)
file.getSize d:a d:c w:b get file size to c from handler a (b=error)
file.getPos d:a d:c w:b get file position to c from handler a (b=error)
file.truncate d:a w:b truncate file handler a (b=error)
file.close d:a w:b close the file handler a (b=error)
file.create src w:b create pascii src named file (b=error)
file.erase src w:b erase pascii src named file (b=error)
dir.current trg w:b get working directory to trg in pascii (b=error)
dir.change src w:b change working directory from src in pascii (b=error)
dir.statistic   d:a d:b d:c d:d get disk statistics: a-free, b-used, c-bad, d-blocksize
dir.setRights src d:a d:b w:b set directory entry access rights to a and owner to b (b=error)
dir.setDate src trg w:b set src directory entry create,modify date to trg (b=error)
dir.reName src trg w:b rename src directory entry to trg name (b=error)
dir.makeLink src trg w:b create link to src directory entry under trg name (b=error)
dir.open src d:a w:b open directory on pascii src name, handler returned in a (b=error)
dir.read d:a trg w:b read dir entry to trg memory from dir handler a (b=error)
format: d:size, d:rights, d:owner, t:create, t:modify, pascii:name
t: w:year, b:month, b:day, b:hour, b:minute, b:second
dir.close d:a w:b close the directory handler a (b=error)
dir.create src w:b create pascii src named directory (b=error)
dir.erase src w:b erase pascii src named directory (b=error)
pipeline.startListen   w:b start listening for incoming pipelines (b=error)
pipeline.stopListen   w:b stop listening for incoming pipelines (b=error)
pipeline.getIncoming   w:b d:a get next incoming pipeline number in a (b=error)
pipeline.create d:a d:c b:b w:b d:a create c bytes pipe to a process b=1 if block mode, pipe id a (b=error)
pipeline.close d:a w:b close pipeline a (b=error)
pipeline.info d:a d:a d:c d:d w:b pipeline info, a=process, c=freeTx, d=usedRx (b=error)
pipeline.receive d:a trg d:c d:c w:b receive c bytes to trg from a pipeline, c bytes received (b=error)
pipeline.send d:a src d:c w:b send c bytes from src to a pipeline (b=error)
system.getPID   d:a d:b d:c returns a=process id, b=parent process id, c=rights
system.getUID   d:a d:b returns my user id in a, original in b
system.sysInfoNum   d:a d:c d:d returns a=#of proc, c=#of pipes, d=#of files
system.sysInfoMem   d:a d:c d:d returns memory in byte a=total, c=kernel, d=free
system.sysInfoProc   d:a d:b d:c d:d returns process starts a=idles, b=rounds, c=full rounds, d=active start
system.procInfoNam d:a trg d:a d:c d:d returns info about [a] process, trg=pathname+param, a=uid, c=parent pid, d=rights
system.procInfoNum d:a d:a d:c d:d returns info about [a] process, a=bytes, c=pipes, d=files
system.procInfoRun d:a d:a d:b d:c returns process runs a=working since, b=times was busy, c=times run
system.findProcNum d:a d:a find process by number (0..max-1)
system.findProcNam src d:a find process by name
system.cpuInfo d:a trg d:a d:c get cpu info (0..max-1), a=max, c=number
system.kernelInfo trg   get kernel info to trg in asciiZ
system.kernelLogo trg   get kernel logo to trg in asciiZ
system.procLive d:a d:b check process existence, 0=no, 1=yes
system.uptimeInfo   d:a d:c d:d get uptime info, a=days, c=ticks, d=ticks/day
system.killProcess d:a d:b kill another process
syscalls require extra privileges:
system.setUID d:a   sets my user id
console.execBckgnd src trg d:a w:b execute process in background, returns pid in a (b=error)
console.execInme src trg d:a d:c w:b execute process inside me, returns pid in a, pipe in c (b=error)
system.mapMemory d:a d:c d:b trg d:a d:c map c bytes from a of physical memory, returns trg as logical offset
system.contMem d:c d:b d:a d:c trg allocate continous c bytes, returns b=error, a=physical, c=size, trg=beginning
system.IOportRead d:d b:c d:a read c bits from d port to a
system.IOportWrite d:d b:c d:a   write c bits from d port from a
system.DMAcount w:d d:c get byte count of dma channel
system.DMAstop w:d   stop dma channel
system.DMAstart w:d d:a d:c b:b   start dma channel a=physical, c=count, b=mode:
0=demand, 1=single, 2=block, 3=cascade; 00h=verify, 10h=card>>mem, 20h=mem>>card
system.driveLogin b:a src d:b login as drive letter
system.driveLogout b:a d:b logout as drive letter
system.driveFinished     drive signals end of processing
system.dropPrivi     drop privileged flag
table of contents
errors:
0 no error
1 unknown error
2 out of memory
3 out of disk space
4 no right
5 sharing violation
6 path not exists
7 file not exists
8 file already exists
9 invalid handle
10 directory not empty
11 embedded directories
12 file/directory mismatch
13 file pointer too big
14 drive io fault
15 drive not ready
16 eof encountered
17 invalid filename format
18 abnormal program termination
table of contents
keys:
first byte bits:
7 extended key
2 alt
1 ctrl
0 shift
extended keys:
0 no operation
1 redraw screen
2 tab
3 backspace
4 enter
5 escape
6 insert
7 delete
8 home
9 end
10 pgup
11 pgdn
12 up
13 down
14 left
15 right
16 printscreen
17 break
18 start-left
19 menu
20..49 f1..f30
50 start-right
51 wake-up
52 sleep
53 power
table of contents
rights:
001h owner read
002h owner write
004h owner execute
008h anybody read
010h anybody write
020h anybody execute
040h extended privileges
080h directory
100h owner read
200h owner write
table of contents
filesys:
buffer:
dword command/result
dword userid
dword rights
dword buffer size
string current directory
string filename1
string filename2
512 bytes handler
65536 bytes data
commands:
1 change directory dir, fn1, uid
2 drive statistics data: free,used,bad,blockSize:dword
3 create directory dir, fn1, uid
4 erase directory dir, fn1, uid
5 create file dir, fn1, uid
6 erase file dir, fn1, uid
7 rename dir, fn1, fn2, uid
8 create link dir, fn1, fn2, uid
9 set rights dir, fn1, uid, data: rights,owner:dword
10 set date dir, fn1, uid, data: create,modify:time
11 open directory dir, fn1, uid, hdr, data: inode,rights:dword; name:string
12 read directory hdr, data: size,right,own:dword; create,modify:time; name:string
13 open file dir, fn1, right, uid, hdr, data: inode,rights:dword; name:string
14 read file hdr, size, data
15 write file hdr, size, data
16 seek file hdr, data: position:dword
17 get file size hdr, data: filesize:dword
18 get file position hdr, data: position:dword
19 truncate file hdr
table of contents freeRtr-25.11.9/misc/vm/websense.html000066400000000000000000000007261510423065500173660ustar00rootroot00000000000000 the page requested is blocked! the page you have requested ( ) has been blocked!
if you think, this is a mistake, report it!


happy browsing...
freeRtr-25.11.9/misc/voice/000077500000000000000000000000001510423065500153435ustar00rootroot00000000000000freeRtr-25.11.9/misc/voice/c.sh000077500000000000000000000001141510423065500161200ustar00rootroot00000000000000#!/bin/sh ./d.sh javac -source 11 -target 11 -Xlint:all -deprecation *.java freeRtr-25.11.9/misc/voice/d.sh000077500000000000000000000000421510423065500161210ustar00rootroot00000000000000#!/bin/sh rm *.class 2> /dev/null freeRtr-25.11.9/misc/voice/door.tcl000066400000000000000000000001751510423065500170150ustar00rootroot00000000000000puts "play-start /nfs2/own/voice/door.wav" sleep 15 exec "flash receive /rtr/zzz4.html http://url/uri" sleep 3 puts "hangup" freeRtr-25.11.9/misc/voice/fwd.tcl000066400000000000000000000007041510423065500166300ustar00rootroot00000000000000puts "calling" set t [gets -] set p [string first " " $t] set t [string range $t [expr $p + 1] 666] puts "play-start /nfs2/own/voice/fwd.wav" puts "play-wait" puts "forward-start 0 $t" for {} {1<2} {} { sleep 1 puts "forward-running" for {} {1<2} {} { set a [gets -] if {[string first forward-running $a] >= 0} {break;} } if {[string first false $a] >= 0} {break;} } puts "forward-stop" puts "forward-wait" puts "hangup" sleep 2 freeRtr-25.11.9/misc/voice/fwdui.tcl000066400000000000000000000007571510423065500171760ustar00rootroot00000000000000set frst "" set scnd "" for {} {1<2} {} { set ln [gets -] if {[string equal $ln "."]} break set sh "$sh$ln
" if {[string first par.n1 $ln] >= 0} {set frst [string range $ln 7 666]} if {[string first par.n2 $ln] >= 0} {set scnd [string range $ln 7 666]} } if {[string length $frst] < 1} { puts "no first number" return } if {[string length $scnd] < 1} { puts "no second number" return } puts "connecting $frst to $scnd" execbg "packet voice $frst $scnd /nfs2/own/voice/fwd.tcl" freeRtr-25.11.9/misc/voice/leave.tcl000066400000000000000000000011131510423065500171370ustar00rootroot00000000000000puts "calling" set f [gets -] set p [string first " " $f] set f [string range $f [expr $p + 1] 666] set a [exec "show clock raw"] set a [split $a "\r"] set a [split $a "\n"] set a "$a end" set a [string trim $a] set p [string first " " $a] set a [string range $a 0 [expr $p - 1]] puts "record-start /nfs2/own/voice/got$a-$f.wav" exec "packet smtp cs@nop.hu new message from $f" puts "play-start /nfs2/own/voice/leave.wav" puts "play-wait" sleep 30 puts "record-stop" puts "record-wait" puts "play-start /nfs2/own/voice/got$a-$f.wav" sleep 30 puts "play-wait" puts "hangup" sleep 2 freeRtr-25.11.9/misc/voice/message.tcl000066400000000000000000000006141510423065500174740ustar00rootroot00000000000000set src "" set trg "" set msg "" for {} {1<2} {} { set ln [gets -] if {[string equal $ln "."]} break if {[string first from= $ln] == 0} {set src [string range $ln 5 666]} if {[string first to= $ln] == 0} {set trg [string range $ln 3 666]} if {[string first text= $ln] == 0} {set msg "$msg [string range $ln 5 666]"} } exec "packet message $src $trg dear $src, i've got $msg, bye: $trg" freeRtr-25.11.9/misc/voice/music.sh000077500000000000000000000000641510423065500170220ustar00rootroot00000000000000#!/bin/sh sox $1 -r 8k -e a-law -b 8 -c 1 music.wav freeRtr-25.11.9/misc/voice/music.tcl000066400000000000000000000010421510423065500171640ustar00rootroot00000000000000set a [exec "show clock raw"] set a [split $a "\r"] set a [split $a "\n"] set a "$a end" set a [string trim $a] set p [string first " " $a] set a [string range $a 0 [expr $p - 1]] puts "dtmf-start" for {} {1<2} {} { puts "play-start /nfs2/own/voice/music.wav" for {} {1<2} {} { sleep 1 puts "play-running" for {} {1<2} {} { set a [gets -] if {[string first play-running $a] >= 0} {break;} } if {[string first false $a] >= 0} {break;} } puts "play-stop" puts "play-wait" sleep 1 } puts "hangup" freeRtr-25.11.9/misc/voice/phoneAuth.txt000066400000000000000000000002301510423065500200320ustar00rootroot00000000000000HTTP/1.1 200 OK Content-Type: text/html Cache-Control: no-cache Transfer-Encoding: chunked Server: call-manager-emulator/1.0 A AUTHORIZED 0 freeRtr-25.11.9/misc/voice/phoneAuth.txt.noheaders000066400000000000000000000000001510423065500217740ustar00rootroot00000000000000freeRtr-25.11.9/misc/voice/phoneBook.java000066400000000000000000000102311510423065500201270ustar00rootroot00000000000000 import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; /** * sample http applet * * @author matecsaba */ public class phoneBook implements Comparator { /** * this is needed for cli startup * * @param args command line parameters */ public static void main(String[] args) { phoneBook app = new phoneBook(); String a; try { ByteArrayOutputStream buf = new ByteArrayOutputStream(); a = "" + app.getClass().getName() + "."; a = app.httpRequest("http://localhost/" + a, "./" + a, "cli", "clibrowser", "user", args, buf); a = "type=" + a + "\r\ndata:\r\n" + buf; } catch (Exception e) { a = "exception " + e.getMessage(); } System.out.println(a); } public int compare(String o1, String o2) { return o1.toLowerCase().compareTo(o2.toLowerCase()); } /** * do one request * * @param url url of app * @param path path of app * @param peer client address * @param agent user agent * @param user auth data * @param par parameters * @param buf result buffer, if empty, pathname must present * @return [pathname"][file name.]extension * @throws Exception if something went wrong */ public String httpRequest(String url, String path, String peer, String agent, String user, String[] par, ByteArrayOutputStream buf) throws Exception { String name = null; for (int o = 0; o < par.length; o++) { String a = par[o]; int i = a.indexOf("="); if (i < 0) { break; } String s = a.substring(i + 1, a.length()).trim(); a = a.substring(0, i).trim(); if (a.equals("name")) { name = s; continue; } } if (name == null) { buf.write("".getBytes()); buf.write("".getBytes()); buf.write("phonebook search".getBytes()); buf.write("enter name".getBytes()); buf.write(("" + url + "").getBytes()); buf.write("namenameA".getBytes()); buf.write("".getBytes()); return "xml"; } name = name.toLowerCase(); int i = path.lastIndexOf("."); path = path.substring(0, i) + ".csv"; List res = new ArrayList(); try { FileInputStream in = new FileInputStream(path); BufferedReader rd = new BufferedReader(new InputStreamReader(in)); while (rd.ready()) { String a = rd.readLine(); if (a.indexOf(name) < 0) { continue; } i = a.lastIndexOf(","); if (i < 0) { continue; } String s = a.substring(i + 1, a.length()).replaceAll(" ", "").replaceAll("\\(", "").replaceAll("\\)", "").trim(); a = a.substring(0, i).trim(); res.add("" + a + "" + s + ""); } rd.close(); Collections.sort(res, new phoneBook()); } catch (Exception e) { return null; } buf.write("".getBytes()); buf.write("".getBytes()); buf.write("phonebook search".getBytes()); buf.write("select person".getBytes()); for (i = 0; i < res.size(); i++) { buf.write(res.get(i).getBytes()); } buf.write("".getBytes()); return "xml"; } } freeRtr-25.11.9/misc/voice/phoneExecute.java000066400000000000000000000041441510423065500206450ustar00rootroot00000000000000 import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.net.Socket; import java.util.Base64; /** * web temperature setter * * @author matecsaba */ public class phoneExecute { /** * this is needed for cli startup * * @param args command line parameters */ public static void main(String[] args) { if (args.length < 2) { return; } phoneExecute a = new phoneExecute(); a.doer(args[0], args[1]); } private Socket sck; private DataOutputStream out; private BufferedReader in; private void txLn(String s) throws Exception { System.out.println("tx: " + s); out.writeBytes(s + "\r\n"); } private void doer(String dev, String cmd) { try { String xml = "XML="; String aut = null; int i = dev.indexOf("@"); if (i >= 0) { aut = dev.substring(0, i); dev = dev.substring(i + 1, dev.length()); aut = "Authorization: Basic " + new String(Base64.getEncoder().encode(aut.getBytes())); } sck = new Socket(dev, 80); out = new DataOutputStream(sck.getOutputStream()); in = new BufferedReader(new InputStreamReader(sck.getInputStream())); txLn("POST /CGI/Execute HTTP/1.1"); txLn("Host: " + dev); txLn("User-Agent: phone-agent/1.0"); txLn("Accept: */*"); if (aut != null) { txLn(aut); } txLn("Content-Type: application/xml"); txLn("Content-Length: " + (xml.length() + 2)); txLn(""); txLn(xml); for (;;) { String a = in.readLine(); if (a == null) { break; } System.out.println("rx: " + a); } } catch (Exception e) { System.out.println("error sending command!"); } } } freeRtr-25.11.9/misc/voice/phoneExecute.tcl000066400000000000000000000007541510423065500205110ustar00rootroot00000000000000set frst "" set scnd "" for {} {1<2} {} { set ln [gets -] if {[string equal $ln "."]} break set sh "$sh$ln
" if {[string first par.n1 $ln] >= 0} {set frst [string range $ln 7 666]} if {[string first par.n2 $ln] >= 0} {set scnd [string range $ln 7 666]} } if {[string length $frst] < 1} { puts "no device" return } if {[string length $scnd] < 1} { puts "no number" return } puts "executing $scnd at $frst" exec "attach shell1 java -cp /rtr/service/ phoneExecute $frst $scnd" freeRtr-25.11.9/misc/voice/phonebook.xml000066400000000000000000000011731510423065500200530ustar00rootroot00000000000000 mchome phonebook select subbook favorite numbershttp://www.mchome.nop.hu/phonebook2.xml searchable numbershttp://www.mchome.nop.hu/phoneBook.class centrex phonebookhttp://10.51.0.11/phonebook/ client numbershttp://www.mchome.nop.hu/phonebook3.xml infra numbershttp://www.mchome.nop.hu/phonebook4.xml freeRtr-25.11.9/misc/voice/phonebook2.xml000066400000000000000000000002271510423065500201340ustar00rootroot00000000000000 my own phonebook select number freeRtr-25.11.9/misc/voice/phonebook3.xml000066400000000000000000000025121510423065500201340ustar00rootroot00000000000000 endpoint phonebook select number telefon11 tablet12 alvos13 labor14 nappali15 nappali216 pince17 acer31 packard32 emachine33 lenovo34 compaq35 parents nappali41 parents konyha42 parents autoanswer40 freeRtr-25.11.9/misc/voice/phonebook4.xml000066400000000000000000000031721510423065500201400ustar00rootroot00000000000000 infra phonebook select number player previous01 player stop02 player next03 player volume 004 player volume 5005 player volume 10006 player title07 player replay08 temper 20 C20 temper 21 C21 temper 22 C22 temper 23 C23 temper 24 C24 temper 25 C25 door00 modem81 answering machine82 music loop83 freeRtr-25.11.9/misc/voice/player.tcl000066400000000000000000000043511510423065500173460ustar00rootroot00000000000000puts "calling" puts "called" puts "echo echoed" set src "" set trg "" for {} {1<2} {} { set ln [gets -] if {[string equal $ln "echoed"]} break if {[string first called $ln] >= 0} {set trg [string range $ln 6 666]} if {[string first calling $ln] >= 0} {set src [string range $ln 7 666]} } set url "" set cmd "" if {[string first sip:12@ $src] >= 0} {set url "http://speaker.mchome.nop.hu/player.class"} if {[string first sip:13@ $src] >= 0} {set url "http://10.10.10.16/player.class"} if {[string first sip:14@ $src] >= 0} {set url "http://player.mchome.nop.hu/player.class"} if {[string first sip:15@ $src] >= 0} {set url "http://speaker.mchome.nop.hu/player.class"} if {[string first sip:16@ $src] >= 0} {set url "http://speaker.mchome.nop.hu/player.class"} if {[string first sip:17@ $src] >= 0} {set url "http://pince.mchome.nop.hu/player.class"} if {[string first sip:31@ $src] >= 0} {set url "http://player.mchome.nop.hu/player.class"} if {[string first sip:32@ $src] >= 0} {set url "http://player.mchome.nop.hu/player.class"} if {[string first sip:33@ $src] >= 0} {set url "http://speaker.mchome.nop.hu/player.class"} if {[string first sip:34@ $src] >= 0} {set url "http://lenovo.mchome.nop.hu/player.class"} if {[string first sip:35@ $src] >= 0} {set url "http://10.10.10.16/player.class"} if {[string first sip:01@ $trg] >= 0} {set cmd "cmd=prev"} if {[string first sip:02@ $trg] >= 0} {set cmd "cmd=stop"} if {[string first sip:03@ $trg] >= 0} {set cmd "cmd=next"} if {[string first sip:04@ $trg] >= 0} {set cmd "cmd=vol&song=10"} if {[string first sip:05@ $trg] >= 0} {set cmd "cmd=vol&song=50"} if {[string first sip:06@ $trg] >= 0} {set cmd "cmd=vol&song=100"} if {[string first sip:08@ $trg] >= 0} {set cmd "cmd=replay"} if {[string length $url] < 1} { puts "play-start /nfs2/own/voice/player.wav" puts "play-wait" sleep 5 puts "hangup" sleep 2 return } if {[string first sip:07 $trg] >= 0} { set tit [exec "attach shell1 curl -s $url?cmd=title"] puts "hangup" exec "packet message $src $trg $tit" sleep 2 return } if {[string length $cmd] < 1} { puts "play-start /nfs2/own/voice/player.wav" puts "play-wait" sleep 5 puts "hangup" sleep 2 return } exec "flash receive /rtr/zzz5.html $url?$cmd" puts "hangup" sleep 2 freeRtr-25.11.9/misc/voice/temper.tcl000066400000000000000000000012631510423065500173450ustar00rootroot00000000000000puts "called" set trg [gets -] set tmp "" if {[string first sip:20@ $trg] >= 0} {set tmp "20"} if {[string first sip:21@ $trg] >= 0} {set tmp "21"} if {[string first sip:22@ $trg] >= 0} {set tmp "22"} if {[string first sip:23@ $trg] >= 0} {set tmp "23"} if {[string first sip:24@ $trg] >= 0} {set tmp "24"} if {[string first sip:25@ $trg] >= 0} {set tmp "25"} if {[string length $tmp] < 1} { puts "hangup" sleep 2 return } exec "flash receive /rtr/zzz6.html http://door.mchome.nop.hu/temper.class?temp=$tmp&cmd=heat" puts "play-start /nfs2/own/voice/temper.wav" puts "play-wait" puts "play-start /nfs2/own/voice/temper$tmp.wav" puts "play-wait" sleep 10 puts "hangup" sleep 2 freeRtr-25.11.9/misc/voice/trigger.tcl000066400000000000000000000011571510423065500175160ustar00rootroot00000000000000set frst "" set scnd "" for {} {1<2} {} { set ln [gets -] if {[string equal $ln "."]} break set sh "$sh$ln
" if {[string first par.n1 $ln] >= 0} {set frst [string range $ln 7 666]} if {[string first par.n2 $ln] >= 0} {set scnd [string range $ln 7 666]} } if {[string length $frst] < 1} { puts "no interface" return } if {[string length $scnd] < 1} { puts "no command" return } config "int $frst" "$scnd" puts "trigger" puts "executed $scnd at $frst
" set a [exec "term tab html" "show interfaces description"] puts "$a
" puts "" freeRtr-25.11.9/readme.md000066400000000000000000000111171510423065500150630ustar00rootroot00000000000000# freeRouter source tree freeRouter is a free, open source router os process. it speaks routing protocols, and (re)encapsulates packets on interfaces. it can export the computed forwarding tables to external dataplanes. summary of features: * forwarding: ipv4, ipv6, ipx, mpls, nsh, layer2, irb, atom, eompls, vpls, evpn * routing protocols: ospf, isis, bgp, rip, eigrp, rift, babel, olsr, pim, msdp * lsp support: p2p, p2mp, mp2mp built by bgp, ldp, rsvp-te, sr, sr-te, bier, polka * crypto: macsec, ipsec, ikev1, ikev2, tls, dtls, ssh, openvpn, wireguard, sgt * tunnel: gre, ipip, l2tp, pptp, lisp, geneve, nvgre, vxlan, etherip, amt * encapsulation: ethernet, vlan, qinq, ppp(oe), framerelay, pwether, virtppp, hairpin * misc: acl, qos, nat, pbr, srv6, vrrp, hsrp, inspect, 6to4, rpl, tunnel, vpdn, pcep more about the project at [www.freertr.org](http://www.freertr.org/) you can find the same source tree at various locations, normally all should be the same: * http://sources.freertr.org/ * http://codeberg.org/mc36/freeRtr * http://bitbucket.org/mc36mc/freeRtr * http://gitlab.com/mc36mc/freeRtr * http://github.com/mc36/freeRtr * http://gitea.com/mc36/freeRtr * http://git.sr.ht/~mc36/freeRtr * http://src.freertr.org/ part of the subdirectories under misc/ are somewhere else too: * p4bf at http://bitbucket.software.geant.org/projects/RARE/repos/rare/browse * p4bmv2 at http://github.com/rare-freertr/RARE-bmv2 ## dependencies you'll need an up to date debian sid with a jdk installed for natives, you'll need clang, dpdk, libpcap, libbpf, libxdp, liburing, libmnl and libcrypto for p4sai, you'll need libsai for p4bmv2, you'll need p4c and bmv2 for p4bf, you'll need the tofino sdk and a switch with the asic ## directory structure the following directories could be found here: * src contains the main sources * cfg contains the self tests * misc contains some smaller subprojects, see below the following directories will appear here: * img vm images used for interop and dataplane testing * binDwn packages used for demo vm creation * binDsk rootfs used for demo vm creation * binImg outcome of demo vm creation * binOut output of compilation * binTmp output of testing ## directories under misc folder * native: dpdk, xdp, pcap, xsk, io uring, raw socket, mnl and sai based dataplanes * p4bf: tofino based dataplane * p4bmv2: bmv2 based dataplane * bogon: web based bogon originator * lookingglass: web based looking glass * captures: script to stream captures * sniffer: web based packet capture * mailer: web based mail reader * paster: web based pastebin service * gallery: web based album viewer * motion: web based alarm/recorder * player: web based music player/streamer/receiver * temper: web based thermostat/controller * trackmap: web based monitoring * position: web based location service * voice: an answering machine * snmp: some snmp definitions * rfcs: rfc series renamer * consistency: old style check definitions * tests: some volumentric generators * check: some check definitions * sensor: some sensor definitions * prometheus: some grafana definitions * netconf: some yang definitions * image: demo vm iso creator * img2ova: demo vm ova creator * service: install script ## getting started there is no build system in use, but you'll find shell scripts: * d.sh to clean up * c.sh to compile * r.sh to run * t.sh to selftest as a first start to get your routers up, do the following: * cd src * ./c.sh * ./tw.sh rout-bgp001 * telnet 127.0.0.1 20001 * telnet 127.0.0.1 20002 * telnet 127.0.0.1 20003 * telnet 127.0.0.1 20004 to have a topology with a dataplane, do the following: * cd src * ./c.sh * ./cn.sh * ./twd.sh p4lang-rout001 * telnet 127.0.0.1 20001 * telnet 127.0.0.1 20003 * telnet 127.0.0.1 20004 * telnet 127.0.0.1 20005 * telnet 127.0.0.1 20006 ## contributing to start coding on the project, take a look on the following: * grep me-the in the sources to see how to add a show command * grep ifcHdlc to see how to add a new interface encapsulation * take a look on rtrDownload to see an exmaple routing protocol * find out how to add a new game to the command line interface * try to solve a puzzle from the todo.txt in the source tree * in most of the folders there is a class to extend or implment * your eyes will bleed because of the mix of c, p4 and java feel free to reach us on the mailing lists with your patches, ideas, feature requests, etc ## additional information * [freertr@groups.io](mailto:freertr@groups.io) * [docs.freertr.org](http://docs.freertr.org/) * [demo.freertr.org](http://demo.freertr.org/) * [rare.freertr.org](http://rare.freertr.org/) * [blog.freertr.org](http://blog.freertr.org/) freeRtr-25.11.9/release.sh000077500000000000000000000001521510423065500152600ustar00rootroot00000000000000#!/bin/sh ./backup.sh cd src ./c.sh ./cb.sh cd ../misc/native/ ./c.sh ./p.sh cd ../image/ ./cj.sh ./ci.sh freeRtr-25.11.9/rtr-hw.txt000066400000000000000000000007011510423065500152650ustar00rootroot00000000000000hwid emu hwsn 123 rwpath ../binTmp/ save ../binTmp/state.txt port 60000 61000 int eth1 eth 0000.1111.2222 127.0.0.1 22706 127.0.0.1 22705 int eth2 eth 0000.1111.2222 127.0.0.1 22704 127.0.0.1 22703 int eth8 eth 0000.1111.3333 127.0.0.1 22702 127.0.0.1 22701 int eth9 eth 0000.1111.4444 127.0.0.1 22701 127.0.0.1 22702 !line tty1 127.0.0.1 21001 127.0.0.1 21002 tcp2vrf 8080 v1 80 dcfg alias test bash command attach shell1 /rtr/ptyRun.bin /bin/bash freeRtr-25.11.9/rtr-sw.txt000066400000000000000000001164661510423065500153200ustar00rootroot00000000000000hostname sid buggy password-encrypt $v10$czNjcjN0 enable $V10$LmUbNUUefDFvI3E6XXkWBU4uX3V1JHM3ZGRHEnJQESRJTQZ0MxQ3dDk2Iks3J2xbmoBU5FUKnZ2TeM5wjTkv6kckltWXdlCgjoLmByDO banner encoded WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgNClhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYDQpYWFhYIFhYWFhYIFhYWCAgICBYWFggICAgIFhYWCBYWCBYWCBYWFhYIFhYWFhYWFhYWFhYWFhYWFhYWA0KWFhYWCAgWFhYWCBYWCBYWFhYIFhYIFhYWFggWFggWFggWFggWFhYWCBYWFhYWFhYL35+fn5cWFhYWFgNClhYWFggWCBYWFggWFggWFhYWCBYWCBYWFhYIFhYIFhYIFhYIFhYWFggWFhYWFhYfCBkZW1vIHxYWFhYDQpYWFhYIFhYIFhYIFhYIFhYWFggWFggICAgIFhYWCAgICBYWCBYWFhYIFhYWFhYWFhcX19fXy9YWFhYWA0KWFhYWCBYWFggWCBYWCBYWFhYIFhYIFhYWFhYWFggWFggWFggWFhYWCBYWFhYWFhYWFhYWFhYWFhYWFgNClhYWFggWFhYWCAgWFggWFhYWCBYWCBYWFhYWFhYIFhYIFhYIFhYWFggWFhYWFhYWFhYWFhYWFhYWFhYDQpYWFhYIFhYWFhYIFhYWCAgICBYWFggWFhYIFhYWCBYWCBYWFggICAgWFhYWFhYWFhYWFhYWFhYWFhYWA0KWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgNClhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYDQo= ! logging tracestop logging milliseconds logging buffered debug 10240 logging file debug zzz.log logging syslog debug system 100.100.3.10 100.100.3.4 logging irc debug irc.mchome.nop.hu #routers ! crypto rsakey rsa import $w10$N3+TVBuly+Vsk7thaWzKF3EEbl8gu04ZviDyG3uRzsel59kv6Q2d9EC/jQjTAlo4fCorvpsCpVD1sAuYpboqQRd9luZWMCugYJvYeRt/RemR0vgwLuALhtuGDk/kus+v5+3Zc+z4/wseyNHdDmVUoD2YDOGZmlfwMKc3YRT11PbbAwdL9/4BEFp4MvWk18IencEvZ3yb7hN7My25SV7iKWpVhAi7oToD3ElE1ci/seeJ9QnwtDSnZp3oMNtbPX1IO+8WMR2/oDITv6X/F9mMij2a6UcWaM5mm5+XRGh7QcPS3+1Xivsz/D/u6loWG5do7Uty09Cx2hG9ZYsRDdsbIgigvP3lLIcLupN6PwO2YSp9XWvqpS2WOXNLkjS16HDzWxEiopGO7QC4GSvVPyIHVw/fUFo3/rk93pyYDXOrQ1/wQJmoQ0t+Yzu7lcN8RfNxVm7l5pLmvQyn0QiEVIXD+UaYgC6X2C7BA56tgts4zsaVnAF39kJ4XhXabXM6er14zjPjvKD0xOvRk0cvmfqNcgUF41XA2kfM+hzBeJNwI5JTtWc9/7pbzikLqTNSs5vueXKxzuXZOV2Nxt6K7qAprVlicZmZbUvowpEkL+hB740YLmjmiQHYSOxfM2TuPOnMl4x5uTslaPuIZgsgONBjcg++VAxjb8BUuJmt0o1Y7jw4u6pJDvHRKJ3rDSpdfaG6znLVKeUUYzWnvmG4LrvO1ahyb9rbt5zGd9nQjDSoePM/wpHcCHRX8fHVwwPW1C10+JY34H8/k2MEubz9DL+l2j7H8ncCnoT+rZdFDRUrRFA0kitdZy3hgM1nzWd0IoP/gVzWWYP8hBkYYbtD1GaKr1Xec6vFkCg04V5g7hKjqPVVK8dCveft6s47TYBw5mTZ6GiyjMZVdxjPAFWHaNoQGfUgsPysC/MOx8vbequR3B0zI0MroDJA5l0wgMyjdVabGFWy5InWbZ1XYt0ec5jVp3ZtUzsC+Uv/biZPxq1lMC7oVOr+wc07ugRInhuG1xwTLj2mApvWfc2CBwo+/jrUP4OgQHzZaqUVUt5KJjzKV2w+H0fbAjCndou0TpHBhjMfQc6HcCVhJoaoM18NlCLsYgOwJDbviMZ0BHBDrncHHLxpR88UgA31OvUaF7H781MQVZKZNjHT+5a8+n4i/cjB2MzNeRSgqB0vDZUBgTu3x9JZqXsFJGOerBrObzNhnTaiAsSuElOvug+fTetYBZwYvssN/lolCIswI3ORxRBjI7Ofj7huZt9mTeEr15B1eMWg0D3F11Pw0knlnfNfXqq7a5c3ZgruzBbph7hbuNLbU0KrgV/1oxMIxUqNbV9Mcqv5seINGmKuwRmxFTNwHaxEkOEvhZhdb+x5v6IWIGcpLbg5itTWncagjFc5vWyuYNx+F6XCLtXd1lrjDyLwjCfZa9CXRCCUGUYgNSgvc6WFK9CJSJioNu0bgk5QBQPUes0+XAAHPBbOIx762a8acoUt+HguAOWoOAy6De7iUqDM1me1npghENUDyUnwtpwjS0ixJECaLnWY79pvMATfwogxbtPAensnwZtZZ0abFm8GFtn9nflbMKc0zv0WzAMiMgItb4l7BkvyxjsDXAVAH2m3vrbnCawifDzDAk55qv5hXpeYwIi7zNirZmHHBiQPMID1fGq9+ApuM2GmekDLs63er3Npk+99Ve5xW/4j54jpO94dL1Ntw57zyNzUVGaVs17O3VZsQ4gP/g6BMpEVu6cuNZIM9APAzviWJIVnVtZ1B2vHsb99OoZ+vXlGSjI9cDAxggXHJ9kZefVPiwcP6AMDO4A7ZoNDq342CJ9qK37WP24DZT3tZmWYA9UCRXuWcw06b4niLbUHoQm846XawnAAobYkslh1MlUVm6gNM3l2oHOzlUn2YoZGwPF4zpOvO4v8HtVYr3JuqNLn60jLncP/HHiRGrE4L5H3ThcFU0OGCaNo82/cSQPoUYUjDllOnEe0avFTldjIRW5jUj5vsscgImDz5mglFlrMHFzzT4Has0n3kusaBlxnVvwqy0T1RvsWII2mqok8zHG6iP+XnyEO7rbY9S+xajimReGFKGB0h2yDBgvmnlAOmUgBegq/8A3josZZSTguLBRd89bGzLK+Hw== ! crypto dsakey dsa import $w10$N3+TUx6Ty+Vsk7tgT2zMMGs2aUMamH9I8CTkFFeBy8SY4PJKsHia1kj5uArGIk83QyA2qK1ovmaOwQ6TsvEcHVFq7JdaMz+AbYvjfiZAepLlx9klENReleOoNXrA3/ma9/OgPOqNyUYzhofZDgVe0yPJEemXvnvuE+MREhro5eTsIyxN1+scaxRyF/S11cMjuokRfl6G7jR7Ykn4RwfgHEBXo2SjnRx7klwP8OmS652MhCnKlBKvZYfSE/hJA2hbW89HMHKYiyQVpt+WZfHx9SKC7GEgCdZI77WpQ1Utdp3J2uZI+JZrySSdi2V5UJNvjGYSkbDZ9ASMCdAqGtxcHQano8nMSaUg4ZoHLAnpXTdlViruqQjZKz9OmEDsgRGsa1gJ++C18V6MRBLQOkwHABnkB3B/prAo/MG4JCr6AljqeravWDFUC1ewkuhEda5JXnnmvbn8oy+5ojGVLZvLwW6w0gmOhFbLBKy9rt4T3f6V+SVIi1NBaweFc30aTdg1/CXKt7vL1MHduFECtOShWnx0x0HrpX6J93njT/9FepdgyWojwbFn9E1gqkVlqujoIm3Jr+vfaFehvNK+6vMyyyZLco3qCXft/7BIY9sdy8sAO0LWuzDpXMBaZR7jEqnQg7MnhBBJUvSCaBArP+tFKziQewtQa+gujeDTzqoA7yQwqPNBIvz0M6LaOEp8Sef+kw/PKcoKWhCl3gvvaoqIuIx0aOvc6K/AS4rdsyCHVr9j4e7CdzVq1Jz0hwD1t1c29MJi7E0auEZd8oD9Wq7p3Az39FV7yMOk9dkmXXxcLh4= ! crypto ecdsakey ecdsa import $w10$N3OLUiq1x+Jok7NWfAzVIVI3eVUquH4ToWzkAx73xvqx/eRdznuSwWXSoCrbKEA4aw4/mogfgEXbiEXunbIrVUx857RvCyetdoKgPCZDWpTws74TTNdA6NCZGUnC1L7QhbrhBKvMuTNf4/6VPlUWiw== ! crypto mldsakey mldsa import $w10$N3+TWiOly+VshrFualrjMWg3eFMYh1c11G75CFah7tS+w/RQxw6Ex2f3nXPAKlUlZjshvIcLkGfp2jqWovoKVF5R6ft0FAyfbP+lOhFTE+3/0PkgFPRt84S8SknHoOydtP3Qfdr4ikkdhNXjSnpT/DPvJcuf3VSNCL9BSSDK7JbYMzBy7OobNwkyGIqR5sc+lZYcQwyC0zFIPmTIUWP2BVE/gxPlpix/rWViydKQ7PGrlQbnuTGST5DnFvlSBGtCAq85bQm7pSAF2qLjZ+uo7iWIvlduO7R34qq6R3lAYb7s1uAMn5Au4S+jwkM4d4tSk1wHzazo3gG2QqQAJOFgADiwu+LSc70c2NoNJzDQSRdKUVDKgTG9BQhwjTGd5WLOTjUrjsq16Xe+MjWaAkV1ZwrrV2UskMIx/+SZKxOIanHkcJC5QCtBHneUhv9BabVRXU3Lv7PZtXuqkSKlXKPwy2iFlRin+RPMG6eHmtsG78ORoi1JrXxsSifxf3gAX94+/xXdsK7z8rbZiXoHmtWMThks4QXI/lf9iRzWa4l1PZJr2mETwLx47z9ilzFburb/UlGvqM3cEBuB3s+Z+54V5F9rU42THHyv7qwKUsFhx8ceGF3etgL1WcJ4Tw7QGc/JlY59oDJWbNOZSTJ5WNx6KyC0QA5DZ+A2u7CRwrF07UItmOs1LvvUIaz0MTVMQcPe41buOPkWWQ2MqRm6VKTS3LlkTc2sxKW2T+7GrwWKR/sW58mleElip5/RmRb/yAwI1KZlzXUdvXRjx6f1cIel/RnsvFgYmoTln5hnbDkKVlsTlU9hOxze5sxeyE1qCYfvviPge4Xk90dBW7oS3xeV1W/SWajNvAkt2URAjWuPnt9xMMNMtefZkOocUOJYxXbW2V+Znf5Xdwf+cmqRZvQUP94Cqdf+CNc/1/nwdfCB0DwVBXNKlQ1Bll87gNeBXni/CQHIlZfKTbJcbdYnGIrK6E9FbFgk0Wi/SHxJ64ddC1jkQq/FxPINqx44qguc+gYZNxC7KO2gKs2aMCwo2xb8BKSRRyD7f7IQT/pvKRLSVW5yIirfMhOOc5GHQouy+D4IcJWZDyliKabWMVsToxXbPT64GgTJt9lnHW1YiEJ6JZFdYbkq6QPEPt4lIpqG9kgtWcmLDxLHvoqX+Hp0wbfz2fPgYy2kzR4SB68XtBGhxPZir1MAAE6dnhrfbjJYvQ7aPc2DWUesoH22B+9mEoY4ue0k2FQ5NawkVmu5wFxEHKy4hKsGOfFIU8AgypUJbZeVgzvkpAig9HGSqbJeSoWoTZQhXHny6i2qu7Zo5eChVE+4skvlzz8EwDeoUnRfDdvmhrI/G1qXxSWiMyprK7Jjzvonr4BOZcBe/6EbMhIFCZFRgevtuo7H8mUoiU+fT+NkI46dCMC6/mjJKS7xmDnGT6PwYmS2JFQABAY8TIyBCuarY56eBeA31FZKGQ2zet0DYi49Cm6oBC/sxNdYQuYr/04IP/O+EjrzHs77Eavk/mGtz6QHL8YlwFnck68iaW20FjCKHnStys82NTehy6gUafH3RXk94YdYa027GEV7II/8rrdqLZM+/+MT6yw2ECIoVf8FKEP3gisUOSZeOXmN0ZfZCJMtUHzaADB0jONddYW7xpvxm6m9JHniNjMmEpjxUSqF+HpnJnizNmzUss/8gFg5isJ/BMRpRvIt/ZvdJKBPMTok85jdzvPkVWqOo3bXyhIBd7UG/nyJJ5ESpeh5EvQBxBnwuJajdogUdqtmJXXaubliabsuvQ0XfjYqGBY0q17Zb9BdAfQ/nxQT6AYVQokWbPVn6TlhVZBHLX35QERNYxzhQEHhJ88DP0/IdCpBeK2KYOpDtgvqwoDm/FIip7YL/H1jXiEsz5QAKGQQr0WigAqlWr8zpsxVw9T+JrDBMcAGoVRNpqSSjWn33bq6E360UMBWE7CddAIYEXLlI6p32nOGczL0Vb8aaFAIgWeJXuddoL30ZUoyDDBCn/8yZTSu1XEASmv+K3rQTJzHimTs8MsUOi1SMupzqHD1C4B6BonNhJkhmjXdtIzTqzVV497klS2dYwmkHfzQJBtYpU69MAupi1cRxUU1cwO0/CXmi54jMGMXQEQOx4SUlYGPUYq80pp5Gdhukd/GGt31KCwk+WMacTAlHbztZBpANKhPkt1cPlO2FAWns1FCnuYG1Wjr79HZEeECMFH2DoS/jw6pCDItTbSI8GuBKmTJOmq8H7/qovYvTqdz30gnbvEdsEQW18AuPIlEGLk2Ia5nlcIB92RrxF7+6uPbuuIWT2a6UkpBevoDP43cNyqnhMLLBDB93Jo0btek0Er2Px1bR4ecqVUzUA6CNi2wTiBDoOQVFPemT6WszzwxcOnw/3sHFH3KRHoKxBGXHl6kZpFNIgG1Qwtoe6/J2IcKJrW7e9Jw3x7VO0GVZxdtNQzSeyidCoiX0ByoU6ehOiTw6XjmfrerfZv+92YGSaiWMpSbBkLA5n73BXgHsRU7o3GCpWPW92YxC1NvneYC54Tsp8RPQBvWkZsSIFQtzfxl90zGdWhzB0V6P1quL5hMnxDbd2OH8e0e+Rd3GitiDI7Y9cyE3jv4NE8siIkMJwGejvFPc/Pyx5MsfqYR0CbPQ+JocTpX5qeyMBX2pXvMGdAXzJsSgRVyCLS5CvXSA3Ix35HQ1ZWsfHwM9/H2xo+gCPYICWemZicliRiqL7C3+ar3fH90H8DcmEZg/EmM7nZcHUKT6wQV3GPchfr1xwweBxkKGai0hHv2mtdb0TLS6qfLHHbqsq4Ap7I37jywobmOFxCjNnpV11SU/YPiB3rj84ULjwsUrNvlgpHSGGXorjnvlH3w3mb2/idDWBi6LJf0mxP8zA0xRESQ8frw0F0ee3UxD7z664Kj8O5FaOuk5vDhi6PoadBNgGpUJtp84ox4sTmcoRwb7T215cbMTXSq+oUVSOse8P8biF69SnrkRXEpzGNOAtzxK755pQVdJ055Vc+hcmQHOs14C5vaH6B+rmEfvhq5EhMlaVotqVUD/v4xjgXu43N/HyNUmoABAB+1MdXzV3BubhI11MT6itHk0KOOFqVeyf9813swiREmN38To83L4yS+Bk5NFMektlXE3aDa0/eatoNlE4O6rDzJ/SnYcKzBuLP9lUqcXD9b+8Q6Nt3dN7q8ZGx1kx9rN+7gqoCI0MlQ0si7oinrc/uGIJQVQQnX0irrvqSeXJFV1jf/b8oa3i5OvfIKY6BWtKVu2RkJuSGnQaaqB4/l4wk+3q/4qDmKqZW5gadGukgwCmoLSC0aliiNecj4B93iOhu/NdrubLatx0CWOFZ6hQ3NB2VeiZcc1m5JdnZmkHO7GYUYjZF+BanuVZGXpxdc6Rz9BL8At1ul0/z1wOmpjCBe5A5DTTsKJVG/G1w2KFeVcvMFIEO/okQEZjPK6wksJEvNnc3vRUufU880oFm5UXxMV6WTjQx533Y3Fs5XEh/ZTHxlHDG4AI7Zi/a+hCUGhqWmDwEL6RU8KbU1cqUSxMkoaVHeKJPCXnZLJMhClGT2DnsjEvv/q5f3ROZMcGfUiL8HduJAQN3cxwYXre2/9se7Zjs7wL9d262p9YA6VCcdjR1j9nJ8/x5B/sGegaAPhH0MUkV7czK8A4hivAl9MThyLCPE75gIV5h2AGC4l3fPsxYjot8iq4N56GLuZUsU/2ieuP/wa0vAdXZ+CrF4m/0J0yrwhIdenIJs5topUTCbGyrra1beHrvUmF4v+UHAyey75oLuiIBZPBwCa0xOhp3ddiUtqyoUtw63SSg5MrCiy4ohuPFzlLEhQMnBKNcM1FL+69AqwBMPAYaYTrLt/7e+Ou1YNMopiiGFDEBpther6KyHt3LAvZPJwL1oX/uj+h14lTYK//JMBJrs5ajGAD575INI3aGtPSsxCmzKBu/mDVL8g4d2wy834Julk4/ahbVN7mughnvE3Ira0H7xaITf1TihuMs359fEEc29gTkG3iZXnyI0huORL5tlvcrnDSdnw+UokALIK+KmJ90hSEAma0PFCJgR5f2YvCglr7Vl6mRUk2A17KJlqlrWBwi3iudIgvC7myfN66b2va5s+bYKGoytwBVAqyXaq3RjrFPWtM3vqIBkNQJvL2e/Sep9TLn6WeJd0QeYIBRoIhv554R7EWnmG2PCn5kr9e20Ip1WJ30zfi9B+urJRlf/Cv0OkFhcoT86H+K63CBj/49RTeNQVuOI5FOXDGta8VWQl8I5Kk0RS/cRK2dqfvt0ha1BM9lz+UIoKhSvuMcXcb5TC0IF/W99qJvwcKsjNKLZIQ+9FhEXsSOb8Yc0VW2P8qmvQURmtKjxNz35DFFmFMvsoeFVQ+jNg0ujNYk2DOryZp5ruVo32gwCjCXJ+oMp3hDyx4dNJhpWeP6kXRSduN5rIxzWbDwhps13y+zcZZsBdD2Sr0xqmkPH9xaGavIhzFnQOyNSAS7BTycJ7KKrvhqlErQ6xlB1uG+rYcjr7hX+XzifF6AprQ2shYgEVV9QL89KbffZgBwVZcybog0lQ4ZpByCddOhAuqA4yU+d9oHMSMelTVkOPdxTqCZVkOqcva82ASJiP10GSDPOVXUzMCwzcFAsZg6dKMEp/Q== ! crypto certificate dsa import dsa dsa $w10$N3+TUg+gweRsu9tFaUrGFEE7VlQbjngg4mz9AXOh4uyb4ddUyg6GwGbBmDXZLUgwZw0LqKprh3P+kjCNlrkBR2hfk7pdPlO7QpqgfBImYdLGydkVMttZjfqUP3ncwcqVyO6wfOam6AYIi53bcy9T/Dn5I4aeuWnAHL8pHyXo1MzjExpt2OUBGWlMEfmC69EsvvEUWV2azDNuYi3tc1iiOFpT8D/0gQoKpH9Dy8Oh38C+pRPChh6cWJHkC+xFGmRIIPE+QCyLjDYZgp33DvGh+Q3x12g8GLNpxbChUy4ubaXo28Qvm4kf9ye46VUUEIxb9wc16q7z5nmRaa8AKdp8KBiVudLeS6pQye0XCRDhbhRdTlH/sRaVOy5ImECf81PucBY6gZikyGq+Fy+5D0V1Yhq+Vzovu/kz2siPGwiGbR6tXYqJWDxELnHtg/hzSql4YzrXq4KhkxuxvT3GK6HvuFOWyhep+xaqMom1ueAw3vaNugtyh1luWEDtChlgV8sj+Qqfyf/rgrbwoHcTotrUZw0r1XXMukvSjibELv9CfKdpyhwjv5lE5DdyrkdPr7v0eT/TlN39KlWh/8ic2JMP2HkQVZahNmbu4KhKctl6ttkWBnGnz3uwBdIwVnnNFe/Ot8pf2hlLF66bbEBgM8gwFhG8WTVtNZoXjZuI6ql57Fs9jdozPc39P7zAOhNmd9Xt22LoHpUtRS+uiW/ac8aWop5dT/Ctw6z5RZXwmgq0RPInh+/GeVta9bjTiRjg7wYf961bzl00l2d3y7H7bpCS7hHCs0E1rYyXobxjKTUEbVoitllYZSr3rb5vzUBjceGElzXtFd/s/ENSVsBP0zCBrRrqVoXlxgod6kVnxFWcrIZjP8dhrZXvntQdUbc/u1f7/GGA8+gnDDbqVWSwO8kbE60Ft/DXENpU/srJROWozgUwF3g9xxE37DcygsKQTGqEJVC07cjzdbR/a9Amcvv4/SxyYE0v9nG9fVxB4IIMDnXzdZfz4fkPuzQIng+s0H1ANhOnAuigCNOxMiwMxTvwP6CfbyXFeahPR+VvHxP+czB8NwnbWgKPeK+LZYux3hwQZo+CLQlCF/3OI0MGhgDwFRyZAwyXhdxIAUh+5hsoT9A= ! crypto certificate ecdsa import ecdsa ecdsa $w10$N3+SZCatxfNCk71haWzGFUIaSCJtj30H0VflBHqp29SJ4I1exDiewmXUmBLcOD0maTg1q70Lg3L6nSylu+E4W2lwloh4LSP+VY3Mfj5/ad/q+8FSN+VVm/OqNz/e0dqay/6ofOa29AMStZHiei9TxTvsFfSS3G39EK01bz/4zJ7jBTQo0uYZGn1kMfqU3qNvnsEAa32e9x5OEV3ifkzeD3tb8CfCkjF4k2d39JSe0ffMkEH4nQ2DdKzLNvhQA0loCvcHcniK+RMwn7HkG/6zhiuA/nYJEs0J7JujQVlIYbPX8+QmgYcM0guG8HElEZY5hHwS7dnroQWeQdAkA6J5Fyy+9u38eacr8/13FkuzexRgdirju2jfOC5A7jq74hHrTwkigfKGxEGOMm60BlJQfgq/TVUGl9gv6eyVPnD+GmLFY+D9KnoQWxTC16oSAcUQ ! crypto certificate mldsa import mldsa mldsa $w10$N3+TQSOgweRviLNFaUrGFEE7VlQau0so8Wz9A3Oh7fqb4dpZ3x6awWXonATQLUweZx4bmKg9i3LpuyybsPwjVkVl86d0EQmBVaPAfj5/YZPqxd1SNNlv9+CWGUDe79aay9CgNuaI6AMRiauhaT9XxDv8EcSQimH8B4Qpbjf129XPFiRt+MMNJHJcM/qExNQRjOcDQH660xhJAVPCfWbSDwBFhDynhn4doG11/fGA/vCVhAHcoxbFVKjNb8ByZEh+JqQdZjKM/xwVspLDBP6TljmwxEMfEMBY2rubQ0pvTMTNxuwziZMW2DiS/Et9S699oHg1x5jhwB3VdKkiK9gbKx6jm/3fUZ9c0ts1D03/OXJqb1v4jWyNBTdGtQ+yilXeUDUUmO6i8ke7IR6AZGZsfC++cFB+5bAR/82DOCiOUHjnSPKQTzVBHFLt7vleRpVqWX/L54varx6B0QyVa5CMzV34vQ6tmT7tA5mGs/sW9NKwn3Nch0JoUxDXUmopJ7kP+hXzy4/AjtGLlyMKl/Wfe3k991nMwVSB+g3jMbpnfMxCtE8w3ppP9BhtkDhyqpOPPmC3tfn6Gm6O4peks6E3yGpyJKSAKnPu9NEGeasf6dAPDkTNhQTwZvBMSj/0LOzUmr5csAFVVd/oRD4nW+g6DRqSeSxQY54xzuKlz7RHzFoMi+waOcPaC7KBdRNsK6rExkrkCPcVW1ecqDTRe4jgiq1TXdivsrGxUM/dpx3WWMQi7MffClt+1KDAwyHutQI6v4c51k9iuEwduYXeWZvskTb89HYpjbH+p4gfbCQqZnoVgyhgODf/hMBE0XZGGLrnngHuDqXS1CNiQqM3xwSc0Xese8++hSRBzUJHzxa4kuRRDM9pjf7HvvEDb4No0lj76X2vjZ05SyP+AmKnYMwcI+pkodrAFtEU2NHHZ/Sx9RYxZ2pRpgN41igQouODd2jiAD7kkK6XSJk/RfZAO7rF2y0wS30r8ULiRk9qxLJGEGrVRK3k2Y0OtCVF2iKY1wgfQR/FL8TOE8iEJyZIuRDJI9i4Xl3iR9plIIplERTGcVQlJSmoJTL3DKyySbCKwhoDUK+JLA9mLJ/8BXg5pyDmCDGkalqZpZx4FEJS8HFbHZwMVog7wR/lRshzM5KM5nUaGcy4AgCkrtqiyl0UyZLyxu7GWxCg5hVCIJchiTmp8tpakUN6X2mIgDn3bHEigSvRLPK5AFSBu3+rCOl+Jf8wv9oC6FcHLo4TZl++zX94JqGnv4EDMcFnJtUA3791brXiklr+nwal1W+G+KtGfZWiTboUaX7XvlrLoo1nr+yocnC14EXS1RUH8SSMEktUKd/FieIsE0azxiSEAmpYB5tsj+5aj4BlQ8d6+KFnMh8hOL0x4dfrwY3h9XMrq1y9Rv5YPfG2aMSuikvDDj3Qrhn0cI+bcg+LeUEuBzESLPaRGNzeV7eWAOQd3ipqKiGTYesvHRAKIFKcAQ7ewLYBWfoYzxsvDdSVNzK0ZduiVITHwHr0k8o5EOI3tXbRgLV2ZHHNAACpHQa3w/J2FkW+6bcSZOXyI1oJ+bEMS2KgKnpTZ9XAgb5bSoUd/IAZ0C4iAj01c/wvDWmjwSctXyV+GE/tuInncqAfVDXvDxNJjMJ8SaCvy7vsmYfvdxDkMDAMb5H+XX3f8n1WPVGXCWrd98PXknslqOtQCZZpSvp/xdzgM91LLHA/wKPPyOnyQlr2g3617FIwQ7QmxiDLB7kN9OliO4Bdw0v+uYuxJ/VhV69BMQHpgJhLCIh6rggQJQJ4QAVLvA/ZLck9QqI5lnkvjiYaCIs4G4hSlAM3aYJOKFjCOyQfbiXYVkvkD8MMP0v6Zwp1TvObTPch1Wuz3rTF9UUenLEosV5cElQAmIcaUkRptlOOjHDxaoEvsO5Yl6W5I576Fdk/omZZ96aw7m2BkbexOVyyCelUEICXeEwhbjCtAq9u7yOFSyzXdLcFBkJGmEqgde5qnNzpf1AxJzAiqpANTGyEoGUgE3OcKh3AT7SBkk/2ktcvMlpiEKoS9gnaF+h4TrDRrIM8hlXlh6roxzltyN/3iiS3QBqVD8urHCROoyKPPiXx+A0Ul1FmcSqBoCXaprQdTDIGdUJlibDp/ofaUZmD6eJcCq4Gt9/cVO/eMHgQ0XwpMC1YEbuoUBZ/cbJKoc9HRnLOETuFhGVd5esUxSjY7/XqBfwzSCS+Kde16UqINDwbQYnr4DneYl/oBnjiC5v7++kPCfk76EotFcV3i0QDpv1LduZfPbQKf8N2298i6HpZmSmz6+Te+uY1XUi7R0dme/dFNJzfICjo48PNDUYslqMJT9XSwk6sLVRaQa75u1sjN3fRCRLXdSYgkv0LZYW+Ode/vjk8a9Ks3Bo/ICjrUkJW4SmtL1LFSp9Id2ChRA4fXbbN8Lg5PLuafaBNzSqgJ1rdQSIZPDD5WQ2TZejj/VroU6DyAA7n6BDnb9iMWvr9h2VHLIShKKyyQUf89W/QBlgogjM50QqZtFzQ8UgULl5Jr8wE6oDrm8RYJSbN7Z55C1YorMll9FHJbDZSETsALHeMCag/iRKucVK4/uQS0SpqHEseb43c3a6H20P0JwNbppAwTWam8YRpKv3DlLNySp4c/QbxfOhLTQJGkay9QzONnnDNG/ZQ4pIh1wJRF5XEJITyPTgd1M2Pr4e7WxUD86yA6q2WGPszPVq+ZAN/2n63eIWv3qDwfBt2BMrftzNg7xCp7HtZID/Sxydo/Df1xaySkz9kBgYlKJ+YxB232OFrgw7UuKX/akCbgfEd654y/hmIi86KJje7GG1L1me5x7W8C0bM4soL4DV7zfPV6bLpBhCV7UXZpXjvrXjr4hkkW0nqEaCo/VHIzlMzMU6MndbD23ULCi0rZ6nSyf+tyvdIFsa8zvb0q9exY/8NvlIjGvdE4Y1E0CD1iQMahCmw/ML1cBn89pcRFOIC1OYTgHKGVDHKeQkVzH56KurTd9dhpVVkICAdYtzOV0RWPOx5VprqMZBdigF9w2TUWmEgRVZwt3gF9Y8f2CzAulpMWho2t7pIdWzQL83YSkNYdiBXmdzrm/fW2aS6SqIv34R+ixEThxAUUXxqreeI51+lAicqS7qI7kbMyZPwj9S9qb5NCKWZizfZ9SG9bqODqJP+jWiGaARdrboHJtPPYcS2FxVnwwttT9vwtYaS9uNZntP0uz25KOfccZkEMCW7yUri9Kj3dKxuxWHzFdYE2zloh/ZsGPpctJ4GgwZ/rjKKUqfIIf7HlhckzIn6rDCEgPTGmqJfvkgiW1YJTxMFqwmkZ8CDFv2xOleCO/eiJY65/QCyJDYqmgvOOGJV7rNj6W99SWwTs3+EOcAuz7ttL/XRFuTp2ltM6QzXWt4Ji3Dg88a6qMuxiy9B7X8bU1IjBibBByU2KGKNZ5AkAzjchQoQSBr9sE8fEEjuxvabTUKFWecUrRCZc0F+ZaCVujs30nxpEJNRA17vXXljAzvnHoffr/KumTkXw4uALXQMxWQYNOIYA4FY9rEefV+IS6PxKRwXStx5kk7OUG0bG+LkvKLeJJ4LLwHs2pkGFNZAO4apyFFIxtCcwPynWlY03/JZ5dnOgNhmRjA/uzJyinsazBxx/cifq7UL0FlDI3l9TEO/JLcs9FpUVTNEfG2mzZ8kbutQfHSvmE/k/VtmvoI8tb8/4U/saAlL9AGxyu7WF0bCI2FZcJNL4Psx1DzagoVlpO9v8OY6IjbxCDz5e0L8OoqUsFJx9l/r+NWezNPUsZlANhgyG0wG35/MUAEVoAoCiES3VCUTcpuy9pJTmKxoouE8f/zBH+cc4W6MyIJd9V8AB/GwPejGi7qNL9p7MepqzyKAa3J3jgzEybyIhQrB4vyMwYFQIPDPgUJo7Fwhos9jUKu21qfKUW5M6Ip287fsABglekuxM8HqP2ifs6UwyCV374Kcl6u8jLV4sUe8oELNhI3MjkbKQIHvpSqzsLVbu/LCR9CIo24hh31gvB9LxNDdNuV/idDiPg1W3fo5lV/nVdmOB8kIZUEJT0TQdLsm1ImRxTRyjfFu03ZE7WwYo50eyibCQxa6rPZ2qLOPoU+/1Lz0pLpCy6MnDYTX4XAk+z38kWh9ui2atOauptx0GRhyPU7GAOFQKrzFYts65Ty+HglUEzPqg8VCDAvYd2a3iYhZq4+RDNgAfhorBB5d95/JGkH/PKwg8Gk+v1YoedCC/iY7w7IkToE1W+q+x3SiIDMHqw+UwbAUDAoFSLZRTV1dZ5NdiccMSdhxy15NLCq6hPtua/JMXFtbxlonhLLqMZI5WtOgbAyiagl6qjvywc4HeF3Yianpdjo5uKDqUQWPHzpgOMHyhuJGDofHmRWCAoMLOpiwEKhj7H8b5S8IpSXnoLtv2z+3+pFUGkNVHIqJfmyegKN/XiXBeiUYy9UT7sjcUb4vaRCMn1g4hjL28DCXdY58zk/peRJZLyb0b08H2ZKh4y2mAJIc0XMFiiaxIOPU5UfHci6YKsMykRCP/cJCNWYPKdFuWuLbgQAZN+uljQRZOKF4BByfbLkaxr0mn2X06MecVZSuNmEgVc8wiBtu+fG9r4YDAQdKMkceQRGQEEZCYUZ8ID5FIl3sZfVgi5WGBkhhI+XwyAiycVxsmrENYAFVbeNayd9yid0MbIO2W998jMu4SffkJmeAjlt6693S/iie9i50IGNFlu4pmqXbxYadpIFroyezi5RjnWd3uT4qN2gAvwoTAHD+WRbdhngEuBQymxSBrcsKqGnSo8IdP9ewbOi69cDfQxQGcN/NmAf2NVyBrEEht11LDBfNpL5br8gSIh8vZ4YTfN6ct184jxrkCnrjFcSGRzaFFF08NsX0hL5hCMU4Zqr5r7mgc/IOf3JScbfguKnTRyqbBe3AaVNJviFWwvULgk4vKYqDXDhBKeTn71oLF20Prpt2LdQTM8uHGMYzBbhrLgPe1g4kSidzRIXr4zN815p+z6unzfmPj0f40xZIOEHvkOEk2o4zvFjZBXbdhmUNu+RbGdiFF1bJaTVHnYhVghhHQfO35c786tVN/p/ZkUVpVAHg8eCwoeeUxpkgzZSLSrZMObf8hPwk5hjZjl4+0aJxbrEaaGmZ73vA3++QmKvuU1FFnoaoHFSOhDRs4Xt55HSSBfoa8qqM7LNWQhxZvH5a+e8msesUfMseeabJvxUwtovyFASqlxTOrE4BklWjvqCKmMvFuFE9EKY0cEbad+DMVQh8R5evayc4dtxYG+ZQO2YOMr43U7UwK5pk/SNDXdVqx1cA1hvvG4ZGVwls7RvU+AyCSbGVXwuExbZAl5QP8EZF1OODTOFhlKzErmQucAzS0XQVLknxeoMPwJP2g6s53+HP0iLY/NZrFP2m4qyG/9uRFPtk1SusPHGZCBf9LOAMFvTr+kA1e0zo5GKCpW1CukRb+AFAkCVAZbM8qd92F5e0BZaMQPOAHBGTPKQ2qF+Tg8UWTAAoXNTD3EeaycjRJ9k3wDwRuE1fIJ+kZ+yiksWGki/FJhphERQD9YWuC/vDXqrdqX/YSnw4BuGU3u/19l1BB8nzcUcoGCh/+qaO6Lx+yPv3xLYshm92VAfWnpHQcNvdHwRqYygKY7scKE62pg3Tv3atFcwBqYnDeDa9MvJ8BSX+UnxkFyrEFTFqOmRR+ilKfF4UOoQ9N5956/w7p8EJuu5OtkaTwUsUw1kzBjc98DQDVaSv1OBy6Qk8+VKanKOBIEJ7rR0ATOTJOJ+BsszNYt6ZLtpUG4pQ3AUi6pLynXmjwXKlxLZ86BSf838nTZwfYZVkJe51kDPUt+JXjX9UibVX4YgmySzx0ASTcl9feF6ouivb1686gp26zGvWDh6ZC5bIGkd6+Y7wPQAwJpeo/Y56Ml1bxpa/v7MDgUKeG27t01o30qhw3ELY1QAiuBdq6se8UbXrMm+BbTdIbgJzQJfip7vs0lICSfShcDLIg6OZxcbr6nJK3WJzvgY8a8Wmojq7N60bukB7S8GFT+VwQudiu5UYdrHJHT+1yvjB4iKcwictLV2uwfD3r6D1uPMLKD8rL8hkkqA4aJMgbvhtCN9fq1iKB5Z0NnPTjUWe3RvfaShKEvJgtb71txVcg53uepdP7sf8P4FMRpt8YCRSGKIkzKuHRshwd/lOKJ9gWe4CKjxL4jhKR5IlOWemING4INj5KHTOizsxd/fWFWICg53QaKtSGQyrG6xJpNKKzQta2YjfDRC3KzuZl/ccrFggwtJ0gyBxElnUc7YPBsQcJ3DYf5UbR4mlC4brPF1plA0pAkaVWYGoCD0Le1yuZOCOyTS3cPxziBSp1mObtImEkHdVTc5KHWoEBRTcBeC4q7GdTb4XeYCFLZupgeutOwrNuhV+qjcWOUaeLe+by8EF3tjRKsEQ94zZPFrisAC3XZf5CXu5RjM+oKtQUO8tG3CgkuAjyZMAfX/LUQYws4Xzys3Q+uWTy7AQSczCu6SbejTF22gLxySN+CXLUP1NmNXxVBzNOMXLGLHw7tuxINVG1cfJTvP/SddCnncF/Gbb3uFpc/aBylTx5tL5PIwMBLOFv8KsPj+AgURIUYeB4FpzwpLmqH8yhK4OdHn44k+20fCNqrRUtoXsFiqOgjAEojEh2mFhlF1/xib/Ef+HglMhTfIOMAz5wiq0F8sV0D+TSwAzb5t5x2M8MV93Dv2qScQioqJnsJDPw0XglejfEGyZ7ykUS7znkhNtqRaiSnBVftkEztvFdOLN19Qftfd+pGPnFB55MgLUgUKkyJIyfBuOzEoPQtG665LocGI1XeCbvTzi+VppvV9KLhxISNR+/m5Mn4nrQgc1k+LMQ9yCNkCp551U0TBF9bsjKWAxAp4/fWcNZ3w8ltY0moMfjKfwHV0= ! crypto certificate rsa import rsa rsa $w10$N3+TUgagweRsi7NFaUrGFEE7VlQKpmMovkL9A3Oh6uyb4dRcvDjnxmXBqgTQLUweZx4bmKg9i3LpuyybsPwjVkVl86d0EQmBVaPAfj5BZZXqxe9TN+d38eCWGUDe79aay+6kNOaI2gISt7OnaT9XxDv8EcSQimH8B4Qpbjf129XPFiRt+MMdNHJccPqEwOYRjO8nH3ucxx5NAUnAfgHeDH1nhCf3sgwCpHJp/uWX2cKZrUHGtDq6ILGUD8JRZkFdMqUcVw63o2NLpYDiBN6Ol1yZzF08HcFcw+K3LU54QpSz2NQqq4E31wuu3kEcFtN7jR0A6KXcxBCjAaUDd+NvEw+tjsfvRochvJMkGivOPjBkVlvloTuLPS81qVef8EqvWwcAi8ST+AfdADyUBUdVcxvFUUgQhL464vKvZxP/a2HXcLv2GA1+alrwnPJeNJYnYkHIubjQiwCxtW65e9H8xm6tgQ3SxxP1G/6HgqI099a85npSsH1zYif9b1MtZ+cAxyL6ov7A1vCLhncT686BKQgtpQf19nXQjADSRLlPGMhA+EE29qhR2AdBiDxFrJ+IQjKNmPr6aBeh4NGi8I8fx2dQesedO2vQw5wPJPh4+OQULVXx0hnTasorWCvwBN2Jo7JSpT93XLWTRzJxW89mAF6TXhoyYeIN1Jjb8IN50HhLyakLKt7bJLfwGwthScvB4VXYMMgpVyqlvx3EW7zmqL9ZW9yow7n5c+vGkCnfVMA/3O+/SWtU+pbAhAD17xQt47k97VA5/08Fw6DPS7GU2w3rg2QSh6ngtrFqCS4QGVB3311pCweHu/xk7TsMCr7PvlnFaobwyhAeBY8Symfz+GrEZJzxqH0dyiEeimqtmf9CDsUP1Ozj/OUGS6tvyluozlaDnIR1SR32c02MfdYBDfEAg+vQMZEY1POSQuHgzD0SJnkVjg5v4ysIj+iTaST/V1T/zqnmSqlUaagXCbr171hiKjwa1mK9a0ZCoIhlHk3JWZyv6IgrzkEzrgWepDwTLDmmdsWDKPmVAVoe5ybdKsq5EmPLfoVrRfZbFDvWE11ZLAbWEhafQ5aWRsak0SckYqO/dhtEJvnROV4h9mH7BW6bOF/N8c9jFmJ3vF1GN7VRdrwGnT/bado5L4Hgum0aYM6sDxnDkLWbxUUOy6HUyMbhciin6GU6Nc8T/nr7vrM= ! aaa userlist access log-failure log-error log-success log-password username * username * anypass username * anykey username * privilege 1 username mc36 username mc36 password $w10$HFepawSJgqct0vAiKD2PVg== username mc36 pubkey AAAAB3NzaC1yc2EAAAADAQABAAADzQCgm5to8zCBImy7+NM7YvCGnu5cTrGh5gViRDasUlXsepaXrisALtNLuRAfI4wAtnB910cwjhwDkFHhJgHH/OLRVHfHNOu0YdjBSHId2ACkdCw9Ac2fD9o52hTj1iHkwpj58nOY9XAVxho64q734p3VGA9bslM0UMCj++pz+01hohLp+lCSjOC/aoIm+QEnrLKf8Dy+7Je2LML0rmXlibN31bqcAXKvDlPmaJ+f8z4tjXZD5Ia9D87Vy2Cit8sPYjd6eCzI4sCCaRn6TqGncqalfnKXzlm6Cl/QXbuqgQZ/hXraxV65gEAXnh3jdevZ4TKsT4Gms5E74+A1M6rCsc5mOgIywVqX5tNVfCYSgWwsY/p/ng/ZcdoYt6TCgI98xnITl6+S8GZVJy2G7LeTowJZVC+qv5lfdxEvst9bTlSeBc4PhI0UIBLc8c6pNAiWmfxWNw3L37rGTg353xXYAcDE7N6CT1PfLlApCCeUIBnCRm5vgphgW+SlJDzsuWsb7CTVjIMi//AhWWRegS1uWsgJOR53PLFp9AQaticgJsckzc9io2YYg1re0XKmpnqNTVQVJpuNB59IFF7CIMBcaCw8X723Ug/r2I/ZwVaFKqOnbH+eN9CL4zDN/nnqe8lLJbZeB57BexZnt3pcXlr+aNWG/p5TBUGk4D8DOuXztmx+L0rMqEqCdUnof8ZiNMZNkmyJuymEFdr9XzqeCNsZSg/ScNP9xNWPkOXOph5psNMoYBO3/fGiyjzkOQhyTDXVtwLGXFD0zA9bIIS8OpKKzhd3HcfEx39NWpVUinbt7YRbgoyp62R1bQlDZbeEv5fkJoJQ0meT26LQVXWSN2HJ+4LnCAgdTk9vfzyUMqU/8rHGheRx+vvtRKHs6/VpDrlQC8mRoGKRZtXR5Pi5V4+CyHqXD8GCpFkrMcn9ibg2M1+KjNZbMfZnuwxU/G+RtK8SqJmzU4mNcYqtoHAFQfQ3tbo4TFV55jnSv6BpXAEmK0rH7RMPeG2pD9zOcQWJRQnFSDdyuIDKDwkc+28IpimSVS4suuzy+RJmvpYqt6DWzXWQcfksDz547l8AI2RJXDmh4CFbW/ALUCfx8rV+EEgKTYkF6+yyTzEs/ggX+4wknmIqkSOvTAd1Na+Vjq2CKyKbwOn381VtXKiyAczLwk7xjN8t7GkHLGtaEXfQg/eGbS1Qr9iHBYpPutjLNMDOcjZ8sYfGS/CVieK1hcBeN1J0vWJpdFZaqEZ/n4ViSAFTDQx733PVsmXWFV++CJMgIfb0hyu3NxElQIqx/I+J0h8= forbidden ^show.*config$ forbidden ^show config.*$ allowed show .* allowed view .* allowed watch .* allowed display .* allowed differs .* allowed terminal .* allowed test .* allowed game .* allowed send .* allowed terminal .* allowed flash .* allowed tmux .* allowed enable allowed disable allowed exit allowed logout allowed configure terminal allowed interface .* allowed description .* allowed telnet .* exit ! aaa radius rad secret $w10$GV+pcgTkgqct0vAiKD2PVg== server 100.100.3.227 exit ! aaa tacacs tac secret $w10$GV+pcgTkgqct0vAiKD2PVg== server 100.100.3.227 exit ! script logger sequence 10 exec "test logging info someone from $remote hit the script" sequence 20 puts "just some text" stop exit ! prefix-list def4 sequence 10 permit 0.0.0.0/0 ge 0 le 0 exit ! prefix-list def6 sequence 10 permit ::/0 ge 0 le 0 exit ! prefix-list nht4 sequence 10 permit 100.100.0.0/16 ge 32 le 32 exit ! prefix-list nht6 sequence 10 permit 2001:db8::/32 ge 128 le 128 exit ! route-policy nht sequence 10 if distance 70 sequence 20 pass sequence 30 else sequence 40 drop sequence 50 enif exit ! bundle 1 loadbalance all exit ! bridge 1 rd 65535:1 rt-import 65535:1 rt-export 65535:1 mac-learn private-bridge exit ! bridge 2 rd 65535:2 rt-import 65535:2 rt-export 65535:2 mac-learn private-bridge exit ! bridge 3 rd 65535:1 rt-import 65535:1 rt-export 65535:1 mac-learn private-bridge exit ! bridge 4 rd 65535:2 rt-import 65535:2 rt-export 65535:2 mac-learn private-bridge exit ! bridge 9 rd 65535:103 rt-import 65535:103 rt-export 65535:103 mac-learn mac-move exit ! vrf definition bvi rd 65535:2 exit ! vrf definition dn42 rd 65535:42 rt4import 65535:42 rt4export 65535:42 rt6import 65535:42 rt6export 65535:42 mdt4 mldp mdt6 mldp exit ! vrf definition freenet exit ! vrf definition rtbh rd 65535:666 rt4import 65535:666 rt4export 65535:666 rt6import 65535:666 rt6export 65535:666 exit ! vrf definition v1 rd 1:1 rt4import 1:1 rt4export 1:1 rt6import 1:1 rt6export 1:1 exit ! vrf definition v2 rd 1:2 rt4import 1:2 rt4export 1:2 rt6import 1:2 rt6export 1:2 label4mode per-prefix label6mode per-prefix exit ! vrf definition v3 rd 1:3 rt4import 1:3 rt4export 1:3 rt6import 1:3 rt6export 1:3 label4mode per-prefix label6mode per-prefix exit ! vrf definition v4 rd 1:4 rt4import 1:4 rt4export 1:4 rt6import 1:4 rt6export 1:4 label4mode per-prefix label6mode per-prefix exit ! vrf definition v5 rd 1:5 rt4import 1:5 rt4export 1:5 rt6import 1:5 rt6export 1:5 label4mode per-prefix label6mode per-prefix exit ! vrf definition v6 rd 1:6 rt4import 1:6 rt4export 1:6 rt6import 1:6 rt6export 1:6 label4mode per-prefix label6mode per-prefix exit ! vrf definition v7 rd 1:7 rt4import 1:7 rt4export 1:7 rt6import 1:7 rt6export 1:7 label4mode per-prefix label6mode per-prefix exit ! vrf definition v8 rd 1:8 rt4import 1:8 rt4export 1:8 rt6import 1:8 rt6export 1:8 label4mode per-prefix label6mode per-prefix exit ! vrf definition v9 rd 1:9 rt4import 1:9 rt4export 1:9 rt6import 1:9 rt6export 1:9 label4mode per-prefix label6mode per-prefix exit ! vrf definition vpn rd 65535:1 rt4import 65535:1 rt4export 65535:1 rt6import 65535:1 rt6export 65535:1 mdt4 mldp mdt6 mldp exit ! router blackhole4 1 vrf rtbh exit ! router blackhole6 1 vrf rtbh exit ! router lsrp4 1 vrf v1 router-id 100.100.3.227 refresh 600000 lifetime 2147483000 ha-mode spf-log 500 spf-bidir spf-ecmp suppress-prefix segrout 300 227 bier 256 300 227 0 justadvert loopback0 ecmp exit ! router lsrp6 1 vrf v1 router-id 100.100.3.227 refresh 600000 lifetime 2147483000 ha-mode spf-log 500 spf-bidir spf-ecmp suppress-prefix segrout 300 227 bier 256 300 227 0 justadvert loopback0 ecmp exit ! router logger4 1 vrf v1 flapstat redistribute lsrp4 1 exit ! router logger4 65535 vrf v1 flapstat redistribute bgp4 65535 exit ! router logger6 1 vrf v1 flapstat redistribute lsrp6 1 exit ! router logger6 65535 vrf v1 flapstat redistribute bgp6 65535 exit ! interface template1 description core links monitor-buffer 10240000 lldp enable cdp enable cdp odr4 100.100.1.246 cdp odr6 2001:db8:1123::91 ptp enable ptp receive carrier-delay 123 sgt enable vrf forwarding v1 ipv4 address dynamic 255.255.255.252 ipv4 host-watch appear logger change logger disappear logger ipv4 srh enable ipv4 nsh enable ipv4 ptp enable ipv4 ptp receive ipv4 bfd 1000 3000 3 ipv4 pim enable ipv4 pim bier-tunnel 227 ipv4 pim join-source loopback0 ipv6 address dynamic ffff:ffff:ffff:ffff:: ipv6 host-watch appear logger change logger disappear logger ipv6 srh enable ipv6 nsh enable ipv6 ptp enable ipv6 ptp receive ipv6 bfd 1000 3000 3 ipv6 pim enable ipv6 pim bier-tunnel 227 ipv6 pim join-source loopback0 polka enable 227 70000 256 mpls enable mpls ldp4 mpls ldp6 mpls rsvp4 mpls rsvp6 router lsrp4 1 enable router lsrp4 1 dump lsrp4.log router lsrp4 1 accept-metric router lsrp4 1 bfd router lsrp4 1 ipinfo pmtud 768 1024 666 router lsrp4 1 dynamic-metric mode inband router lsrp4 1 dynamic-metric size 4 router lsrp4 1 dynamic-metric ignore 2 router lsrp6 1 enable router lsrp6 1 dump lsrp6.log router lsrp6 1 accept-metric router lsrp6 1 bfd router lsrp6 1 ipinfo pmtud 768 1024 666 router lsrp6 1 dynamic-metric mode inband router lsrp6 1 dynamic-metric size 4 router lsrp6 1 dynamic-metric ignore 2 shutdown no log-link-change exit ! interface loopback0 description management vrf forwarding v1 ipv4 address 100.100.3.227 255.255.255.255 ipv6 address 2001:db8:1101::227:227 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff template template1 no shutdown exit ! interface loopback42 description dn42.net vrf forwarding dn42 ipv4 address 172.23.215.130 255.255.255.255 ipv6 address fd40:cc1e:c0de::fffd ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff no shutdown no log-link-change exit ! interface loopback65535 description vpn vrf forwarding vpn ipv4 address 172.16.27.4 255.255.255.255 ipv6 address fd42:1234::4 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff no shutdown no log-link-change exit ! interface bundle1 description uplink no shutdown no log-link-change exit ! interface bundle1.227 description uplink vrf forwarding v1 ipv4 address 100.100.1.246 255.255.255.252 ipv6 address 2001:db8:1123::91 ffff:ffff:ffff:ffff:: template template1 no shutdown exit ! interface bvi1 description vpn lldp enable cdp enable no shutdown no log-link-change exit ! interface bvi2 description vpn lldp enable cdp enable no shutdown no log-link-change exit ! interface bvi3 description vpn lldp enable cdp enable vrf forwarding bvi ipv4 address 172.16.26.4 255.255.255.0 ipv6 address fd42:1235::4 ffff:ffff:ffff:ffff:: no shutdown no log-link-change exit ! interface bvi4 description vpn lldp enable cdp enable no shutdown no log-link-change exit ! interface bvi9 description freenet vrf forwarding freenet ipv4 address dynamic dynamic ipv4 gateway-prefix def4 ipv4 host-watch ipv4 dhcp-client enable ipv4 dhcp-client early ipv6 address dynamic dynamic ipv6 gateway-prefix def6 ipv6 host-watch ipv6 slaac-client enable ipv6 prefix-suppress no shutdown no log-link-change exit ! interface ethernet1 description uplink1 bundle-group 1 no shutdown no log-link-change exit ! interface ethernet2 description uplink2 bundle-group 1 no shutdown no log-link-change exit ! interface ethernet8 description hairpin lldp enable cdp enable no shutdown no log-link-change exit ! interface ethernet9 description hairpin lldp enable cdp enable no shutdown no log-link-change exit ! interface null0 description null vrf forwarding v1 ipv4 address 192.0.2.0 255.255.255.0 ipv6 address 100:: ffff:ffff:ffff:ffff:: no shutdown no log-link-change exit ! router bgp4 65535 vrf v1 local-as 65535 router-id 100.100.3.227 address-family unicast multicast vpnuni vpnmlt vpls evpn mdt flowspec vpnflw ovpnuni ovpnmlt ovpnflw mvpn omvpn mspw srte linkstate ouni omlt oflw osrt nsh rtfilter rpd mtree omtree spf sdwan flapstat nexthop route-policy nht nexthop prefix-list nht4 monitor bmp p1 100.100.3.227 17971 dump mrt bgp4.log ! template r remote-as 65535 template r local-as 65535 template r ipinfo pmtud 512 1024 666 template r ipinfo router4 bgp4 65535 template r ipinfo resolve template r address-family unicast multicast vpnuni vpnmlt vpls evpn mdt flowspec vpnflw ovpnuni ovpnmlt ovpnflw mvpn omvpn mspw srte linkstate ouni omlt oflw osrt nsh rtfilter rpd mtree omtree spf sdwan template r distance 200 template r connection-mode active template r dynamic-capability template r compression both template r additional-path-rx unicast multicast vpnuni vpnmlt template r additional-path-tx unicast multicast vpnuni vpnmlt template r update-source loopback0 template r monitor bmp template r dump mrt template r hostname domain template r software template r extended-open template r extended-update template r ha-mode template r aigp template r entropy template r traffeng template r pmsitun template r connector template r pe-distinguisher template r aspath-limit template r nsh-chain template r domain-path template r bfd-discriminator template r tunenc template r attribset template r unknowns-out all template r unknowns-in all template r unknowns-log template r log-end-changes template r log-nexthop-changes template r log-length-changes 3-3333 template r segrout template r bier template r leak-role attrib template r next-hop-capability template r send-community all ! neighbor 100.100.3.254 template r ! neighbor 100.100.3.255 template r ! afi-vrf dn42 enable afi-vrf dn42 mvpn loopback0 afi-vrf dn42 redistribute connected afi-vrf dn42 redistribute static afi-vrf dn42 ecmp ! afi-vrf rtbh enable afi-vrf rtbh redistribute blackhole4 1 ! afi-vrf vpn enable afi-vrf vpn mvpn loopback0 afi-vrf vpn redistribute connected afi-vrf vpn redistribute static ! afi-vpls 65535:1 bridge-group 1 afi-vpls 65535:1 update-source loopback0 ! afi-vpls 65535:103 bridge-group 9 afi-vpls 65535:103 update-source loopback0 ! afi-evpn 2 bridge-group 2 afi-evpn 2 bmac 006e.085c.1743 afi-evpn 2 encapsulation pbb afi-evpn 2 update-source loopback0 ! ! redistribute connected redistribute static ecmp exit ! router bgp6 65535 vrf v1 local-as 65535 router-id 100.100.3.227 address-family unicast multicast vpnuni vpnmlt vpls evpn mdt flowspec vpnflw ovpnuni ovpnmlt ovpnflw mvpn omvpn mspw srte linkstate ouni omlt oflw osrt nsh rtfilter rpd mtree omtree spf sdwan flapstat nexthop route-policy nht nexthop prefix-list nht6 monitor bmp p1 2001:db8:1101::227:227 17971 dump mrt bgp6.log ! template r remote-as 65535 template r local-as 65535 template r ipinfo pmtud 512 1024 666 template r ipinfo router4 bgp4 65535 template r ipinfo resolve template r address-family unicast multicast vpnuni vpnmlt vpls evpn mdt flowspec vpnflw ovpnuni ovpnmlt ovpnflw mvpn omvpn mspw srte linkstate ouni omlt oflw osrt nsh rtfilter rpd mtree omtree spf sdwan template r distance 200 template r connection-mode active template r dynamic-capability template r compression both template r additional-path-rx unicast multicast vpnuni vpnmlt template r additional-path-tx unicast multicast vpnuni vpnmlt template r update-source loopback0 template r monitor bmp template r dump mrt template r hostname domain template r software template r extended-open template r extended-update template r ha-mode template r aigp template r entropy template r traffeng template r pmsitun template r connector template r pe-distinguisher template r aspath-limit template r nsh-chain template r domain-path template r bfd-discriminator template r tunenc template r attribset template r unknowns-out all template r unknowns-in all template r unknowns-log template r log-end-changes template r log-nexthop-changes template r log-length-changes 3-3333 template r segrout template r bier template r leak-role attrib template r next-hop-capability template r send-community all ! neighbor 2001:db8:1101::254 template r ! neighbor 2001:db8:1101::255 template r ! afi-vrf dn42 enable afi-vrf dn42 mvpn loopback0 afi-vrf dn42 redistribute connected afi-vrf dn42 redistribute static afi-vrf dn42 ecmp ! afi-vrf rtbh enable afi-vrf rtbh redistribute blackhole6 1 ! afi-vrf vpn enable afi-vrf vpn mvpn loopback0 afi-vrf vpn redistribute connected afi-vrf vpn redistribute static ! afi-vpls 65535:1 bridge-group 3 afi-vpls 65535:1 update-source loopback0 ! afi-evpn 2 bridge-group 4 afi-evpn 2 bmac 0002.4276.7a16 afi-evpn 2 encapsulation pbb afi-evpn 2 update-source loopback0 ! ! redistribute connected redistribute static ecmp exit ! console0 exec bells exec colorize header no exec authorization no login authentication exit ! proxy-profile dn42 vrf dn42 exit ! proxy-profile p1 vrf v1 source loopback0 exit ! proxy-profile p2 vrf v2 exit ! proxy-profile p3 vrf v3 exit ! proxy-profile p4 vrf v4 exit ! proxy-profile p5 vrf v5 exit ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! translation-rule 1 remove %20 remove - remove \( remove \) replace \+36 06 match ^sip:(?[0-9]+)@(?.*)$ match ^.*[0-9]+)@(?.*)>.*$ match ^(?[0-9]+)$ text " variable n text " character 32 text log exit ! translation-rule 2 match .* text "96" exit ! translation-rule 3 match ^http://(?.*)\.dn42.sid.mchome.nop.hu/(?

.*)$ text http:// variable d text .dn42/ variable p log exit ! translation-rule 4 match ^http://(?.*)\.inet.sid.mchome.nop.hu/(?

.*)$ text http:// variable d text / variable p log exit ! dial-peer 1 match-calling .* match-called .* translate-out-calling 2 translate-out-called 1 port-remote 6050 keepalive 15000 log history 10 vrf v1 source loopback0 myname 97 target 2001:db8:1101::10 max-calls-in 99 max-calls-out 99 protocol sip-connect direction both exit ! ! server telnet tel vrf v1 interface loopback0 security authentication access security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa access-log access-total 128 access-subnet 16 access-blackhole4 1 access-blackhole6 1 exec timestamp exec bells exec colorize header exec tablemode table exec authorization access login authentication access login stars login logging login last global location second-port 22 exit ! server udptn ut vrf v1 interface loopback0 no exec authorization no login authentication login logging exit ! server rfb vnc vrf v1 interface loopback0 no exec authorization no login authentication login logging exit ! server echo e vrf v1 exit ! server discard d vrf v1 exit ! server chargen c vrf v1 exit ! server forwarder tel vrf v1 interface loopback0 port 2323 location target vrf v1 target interface loopback0 target address 100.100.3.227 target port 23 exit ! server http web vrf v1 interface loopback0 security rsakey rsa security dsakey dsa security ecdsakey ecdsa security mldsakey mldsa security rsacert rsa security dsacert dsa security ecdsacert ecdsa security mldsacert mldsa access-log access-total 128 access-peer 16 access-startup 10000 second-port 443 host * path /nfs/own/web/ host * redir http://sid.mchome.nop.hu/ host *.dn42.sid.mchome.nop.hu path /nfs/own/web/ host *.dn42.sid.mchome.nop.hu reconn dn42 http://www.nop.dn42/ host *.dn42.sid.mchome.nop.hu translate 3 host *.inet.sid.mchome.nop.hu path /nfs/own/web/ host *.inet.sid.mchome.nop.hu reconn p1 http://www.nop.hu/ host *.inet.sid.mchome.nop.hu translate 4 host sid.mchome.nop.hu path /nfs/own/web/ host sid.mchome.nop.hu style table, th, td { border: 1px solid } host sid.mchome.nop.hu logging host sid.mchome.nop.hu dirlist readme stats host sid.mchome.nop.hu markdown host sid.mchome.nop.hu noindex host sid.mchome.nop.hu search-script log host sid.mchome.nop.hu script exec config host sid.mchome.nop.hu api exec config ipinfo show script host sid.mchome.nop.hu ipinfo router4 bgp4 65535 host sid.mchome.nop.hu ipinfo router6 bgp6 65535 host sid.mchome.nop.hu ipinfo details host sid.mchome.nop.hu ipinfo single host sid.mchome.nop.hu ipinfo style background-color:#000000;color:#00FFFF; host sid.mchome.nop.hu ipinfo script logger host sid.mchome.nop.hu ipinfo resolve host sid.mchome.nop.hu ipinfo others host sid.mchome.nop.hu websock host sid.mchome.nop.hu webdav host sid.mchome.nop.hu class exit ! server ftp f vrf v1 interface loopback0 authentication access path /nfs/own/web/ exit ! server tftp t vrf v1 interface loopback0 path /nfs/own/web/ exit ! server plan9 p vrf v1 interface loopback0 path /nfs/own/web/ exit ! server ntp n vrf v1 interface loopback0 reference 0.0.0.0 exit ! server bmp2mrt bmp vrf v1 interface loopback0 file bmp.log bulk-down exit ! server dns ns vrf v1 interface loopback0 logging recursion enable zone sid.mchome.nop.hu defttl 60 zone sid.mchome.nop.hu axfr enable zone sid.mchome.nop.hu rr ip.sid.mchome.nop.hu ip4i loopback42 zone sid.mchome.nop.hu rr sid.mchome.nop.hu ip4a 100.100.3.227 zone sid.mchome.nop.hu rr sid.mchome.nop.hu ns ns1.sid.mchome.nop.hu zone sid.mchome.nop.hu rr sid.mchome.nop.hu ns ns2.sid.mchome.nop.hu zone sid.mchome.nop.hu rr sid.mchome.nop.hu ns ns3.sid.mchome.nop.hu zone sid.mchome.nop.hu rr *.sid.mchome.nop.hu cname sid.mchome.nop.hu zone sid.mchome.nop.hu rr sid.mchome.nop.hu soa ns0.sid.mchome.nop.hu cs.sid.mchome.nop.hu 20210309 60000 120000 6000000 600 zone sid.mchome.nop.hu rr ip.sid.mchome.nop.hu ip6i loopback42 zone sid.mchome.nop.hu rr sid.mchome.nop.hu ip6a 2001:db8:1101::227:227 exit ! server honeypot hp1 vrf v1 interface loopback0 port 8881 tiny-http info pmtud 512 1024 666 info router4 bgp4 65535 info router6 bgp6 65535 info single info style background-color:#000000;color:#00FFFF; info script logger exit ! server honeypot hp2 vrf v1 interface loopback0 port 8882 tiny-http info pmtud 512 1024 666 info router4 bgp4 65535 info router6 bgp6 65535 info details info single info style background-color:#000000;color:#00FFFF; info resolve exit ! server honeypot hp3 vrf v1 interface loopback0 port 8883 info pmtud 512 1024 666 info router4 bgp4 65535 info router6 bgp6 65535 info details info single info resolve exit ! server whois as vrf v1 interface loopback0 exit ! server sip lab vrf v1 interface loopback0 protocol ipv4 ipv6 tcp udp exit ! server radius rad vrf v1 interface loopback0 authentication access secret $w10$GV+pcgTkgqct0vAiKD2PVg== logging exit ! server tacacs tac vrf v1 interface loopback0 authentication access authorization access secret $w10$GV+pcgTkgqct0vAiKD2PVg== logging exit ! client proxy p1 client domain-name mchome.nop.hu client domain-lookup client prefer-ipv6 client whois-server www.mchome.nop.hu client whois-online http://bgp.he.net/AS http://ipinfo.io/AS http://bgpview.io/asn/ client pastebin http://paste.nop.hu/paster.class?data= client name-server 100.100.3.10 client time-server www.mchome.nop.hu client time-zone CET client mail-server mail.mchome.nop.hu ! end freeRtr-25.11.9/src/000077500000000000000000000000001510423065500140725ustar00rootroot00000000000000freeRtr-25.11.9/src/a.sh000077500000000000000000000000301510423065500146420ustar00rootroot00000000000000#!/bin/sh ./c.sh ./r.sh freeRtr-25.11.9/src/c.sh000077500000000000000000000000511510423065500146470ustar00rootroot00000000000000#!/bin/sh ./d.sh ./cj.sh ./cp.sh ./cs.sh freeRtr-25.11.9/src/cb.sh000077500000000000000000000002151510423065500150130ustar00rootroot00000000000000#!/bin/sh echo compiling cp rtr.jar rtr2.jar zip -d rtr2.jar "org/freertr/pipe/pipeWindow*" native-image @native.txt upx -o rtr2.bin rtr.bin freeRtr-25.11.9/src/cd.sh000077500000000000000000000017421510423065500150230ustar00rootroot00000000000000#!/bin/sh scanOne() { echo "scanning for $1 as $2." find org/ -type f -exec grep -l -P "$2" {} \; } echo "scanning for duplicate features" cat rtr.ftr | sort | uniq -d scanOne "trailing space" " +$" scanOne "username" `whoami` scanOne "here" "\"here" scanOne "non-ascii" "[^\x00-\x7F]" scanOne "override" "\@Override" scanOne "exception" "throw new" scanOne "this" "this\." scanOne "for-each" " for .* : " scanOne "diamond" "\<\>" scanOne "finally" "\ finally\ " scanOne "var" " var " scanOne "case-str" "case \"" scanOne "stat-fin" "static\ final" scanOne "stat-imp" "import\ static" scanOne "null-and" "\=\ null\ \&" scanOne "null-or" "\=\ null\ \|" scanOne "pre-inc" "\ \+\+[a-z|A-Z]" scanOne "pre-dec" "\ \-\-[a-z|A-Z]" scanOne "no-brck" " - 1; .\+\+" scanOne ".tostring()" "\.toString\(\)" scanOne "///" "\/\/\/" echo "generating javadoc" find . -name "*.java" -print0 | xargs -s 512000 -0 javadoc -source 11 -use -linksource -keywords -quiet -d ../binTmp/ #doxygen ../misc/doxygen.cfg freeRtr-25.11.9/src/ce.sh000077500000000000000000000000531510423065500150160ustar00rootroot00000000000000#!/bin/sh echo compiling ecj @compiler.txt freeRtr-25.11.9/src/cj.sh000077500000000000000000000000551510423065500150250ustar00rootroot00000000000000#!/bin/sh echo compiling javac @compiler.txt freeRtr-25.11.9/src/cn.sh000077500000000000000000000000601510423065500150250ustar00rootroot00000000000000#!/bin/sh cd ../misc/native ./c.sh cd ../../src freeRtr-25.11.9/src/compiler.txt000066400000000000000000000001571510423065500164500ustar00rootroot00000000000000--release 11 -Xlint:all -deprecation -d ../binOut/ -sourcepath ./ module-info.java org/freertr/router.java freeRtr-25.11.9/src/cp.sh000077500000000000000000000005011510423065500150270ustar00rootroot00000000000000#!/bin/sh echo packing TRG=../binOut/ #jar -c -0 -f rtr.jar -e org.freertr.router -C $TRG . #jar -c -0 -f rtr.jar -m manifest.txt -C $TRG . mkdir -p $TRG/META-INF cp manifest.txt $TRG/META-INF/MANIFEST.MF CWD=`pwd` cd $TRG LST=`find . | sort` touch -d "2010-01-01 00:00:00" $LST zip $CWD/rtr.jar $LST > /dev/null cd $CWD freeRtr-25.11.9/src/cs.sh000077500000000000000000000006221510423065500150360ustar00rootroot00000000000000#!/bin/sh echo signing java -Xmx256m -jar rtr.jar show version number | head -n 1 > rtr.txt echo -n "version=" cat rtr.txt java -Xmx256m -jar rtr.jar test verfile http://keystore.mchome.nop.hu:8080/freertr5 java -Xmx256m -jar rtr.jar test vercore http://keystore.mchome.nop.hu:8080/freertr5 http://keystore.mchome.nop.hu:8080/freertr5 echo verifying java -Xmx256m -jar rtr.jar exec flash verify exit 0 freeRtr-25.11.9/src/d.sh000077500000000000000000000007701510423065500146600ustar00rootroot00000000000000#!/bin/sh echo cleaning rm -f *.jar 2> /dev/null rm -f *.bin* 2> /dev/null rm -f *.ver 2> /dev/null rm -f *.tmp 2> /dev/null rm -f *.pcap 2> /dev/null rm -f *.mrt 2> /dev/null rm -f *.log 2> /dev/null rm -f rtr*-.csv 2> /dev/null rm -f rtr*-.ftr 2> /dev/null rm -f rtr*-.html 2> /dev/null rm -f javac.*.args 2> /dev/null rm -f ../changelog*-.txt 2> /dev/null rm -f core 2> /dev/null rm -rf ../binTmp/* 2> /dev/null rm -rf ../binOut/* 2> /dev/null mkdir -p ../binTmp mkdir -p ../binOut mkdir -p ../binImg freeRtr-25.11.9/src/k.sh000077500000000000000000000000371510423065500146630ustar00rootroot00000000000000#!/bin/sh kill -9 `pidof java` freeRtr-25.11.9/src/manifest.txt000066400000000000000000000000651510423065500164420ustar00rootroot00000000000000Manifest-Version: 1.0 Main-Class: org.freertr.router freeRtr-25.11.9/src/module-info.java000066400000000000000000000002331510423065500171510ustar00rootroot00000000000000/** * module info * * @author matecsaba */ module org.freertr { requires java.base; requires java.management; requires java.desktop; } freeRtr-25.11.9/src/native.txt000066400000000000000000000002011510423065500161120ustar00rootroot00000000000000-O3 --no-fallback -jar rtr2.jar -o rtr.bin -H:+UnlockExperimentalVMOptions -H:-ReduceImplicitExceptionStackTraceInformation freeRtr-25.11.9/src/org/000077500000000000000000000000001510423065500146615ustar00rootroot00000000000000freeRtr-25.11.9/src/org/freertr/000077500000000000000000000000001510423065500163325ustar00rootroot00000000000000freeRtr-25.11.9/src/org/freertr/addr/000077500000000000000000000000001510423065500172445ustar00rootroot00000000000000freeRtr-25.11.9/src/org/freertr/addr/addrArcnet.java000066400000000000000000000023321510423065500221560ustar00rootroot00000000000000package org.freertr.addr; import org.freertr.util.bits; /** * stores one arcnet address * * @author matecsaba */ public class addrArcnet extends addrType { /** * create instance */ public addrArcnet() { } /** * size of address */ public final static int size = 1; public String toString() { return bits.toHexB(addr[0]); } public addrArcnet copyBytes() { addrArcnet a = new addrArcnet(); a.fromBuf(addr, 0); return a; } public boolean fromString(String s) { try { addr[0] = (byte) Integer.parseInt(s, 16); } catch (Exception e) { return true; } return false; } public int getSize() { return size; } /** * generate random address * * @return bytes of address */ public static addrArcnet getRandom() { addrArcnet a = new addrArcnet(); a.fillRandom(); return a; } /** * get broadcast address * * @return bytes of address */ public static addrArcnet getBroadcast() { addrArcnet a = new addrArcnet(); bits.byteFill(a.addr, 0, size, 0x00); return a; } } freeRtr-25.11.9/src/org/freertr/addr/addrBridge.java000066400000000000000000000041711510423065500221410ustar00rootroot00000000000000package org.freertr.addr; import org.freertr.pack.packHolder; /** * one bridge address * * @author matecsaba */ public class addrBridge implements Comparable { /** * create instance */ public addrBridge() { } /** * size of address */ public final static int size = 8; /** * priority */ public int pri; /** * address */ public addrMac adr = new addrMac(); public int compareTo(addrBridge o) { if (pri < o.pri) { return -1; } if (pri > o.pri) { return +1; } return adr.compareTo(o.adr); } /** * convert to string * * @return string */ public String toString() { return pri + "/" + adr; } /** * clone this address * * @return new instance with the same content */ public addrBridge copyBytes() { addrBridge n = new addrBridge(); n.adr.setAddr(adr); n.pri = pri; return n; } /** * get from packet * * @param pck packet to read * @param ofs offset where from read */ public void fromPack(packHolder pck, int ofs) { pri = pck.msbGetW(ofs + 0); pck.getAddr(adr, ofs + 2); } /** * put to packet * * @param pck packet to write * @param ofs offset where to write */ public void toPack(packHolder pck, int ofs) { pck.msbPutW(ofs + 0, pri); pck.putAddr(ofs + 2, adr); } /** * convert bandwidth to cost * * @param bw bandwidth * @return cost */ public static int bandwidth2cost(long bw) { if (bw > 9999999999L) { return 2; } if (bw > 1999999999L) { return 3; } if (bw > 999999999L) { return 4; } if (bw > 99999999L) { return 19; } if (bw > 15999999L) { return 62; } if (bw > 9999999L) { return 100; } if (bw > 3999999L) { return 250; } return 10000; } } freeRtr-25.11.9/src/org/freertr/addr/addrClns.java000066400000000000000000000064411510423065500216460ustar00rootroot00000000000000package org.freertr.addr; import org.freertr.util.bits; /** * stores one clns address the first byte is the size byte * * @author matecsaba */ public class addrClns extends addrType { /** * create instance */ public addrClns() { } /** * copy bytes * * @return copy */ public addrClns copyBytes() { addrClns a = new addrClns(); a.fromBuf(addr, 0); return a; } /** * get size * * @return size */ public int getSize() { return 256; } /** * fill unused bytes */ public void fillUnunsed() { int i = (addr[0] & 0xff) + 1; bits.byteFill(addr, i, addr.length - i, 0); } /** * convert to string * * @return string */ public String toString() { String s = bits.toHexB(addr[1]); for (int i = 0; i < (addr[0] - 2); i += 2) { s += "." + bits.toHexB(addr[i + 2]) + bits.toHexB(addr[i + 3]); } if ((addr[0] & 1) == 0) { s += "." + bits.toHexB(addr[addr[0]]); } return s; } /** * from string * * @param s string * @return false on success, true on error */ public boolean fromString(String s) { bits.byteFill(addr, 0, addr.length, 0); s = s.replaceAll("\\.", ""); s = s.replaceAll("\\:", ""); s = s.replaceAll("\\-", ""); if ((s.length() & 1) != 0) { return true; } addr[0] = (byte) (s.length() / 2); for (int i = 0; i < addr[0]; i++) { try { addr[i + 1] = (byte) Integer.parseInt(s.substring(i * 2, i * 2 + 2), 16); } catch (Exception e) { return true; } } fillUnunsed(); return false; } /** * get bytes of address * * @param lenAlso include length in data * @return bytes */ public byte[] getAddrDat(boolean lenAlso) { int len = addr[0] & 0xff; if (lenAlso) { byte[] buf = new byte[len + 1]; bits.byteCopy(addr, 0, buf, 0, buf.length); return buf; } byte[] buf = new byte[len]; bits.byteCopy(addr, 1, buf, 0, buf.length); return buf; } /** * get real length of address including size byte * * @return bytes */ public int getAddrLen() { return (addr[0] & 0xff) + 1; } /** * get selector byte * * @return selector */ public int getSel() { return addr[addr[0] & 0xff] & 0xff; } /** * get system id * * @return system id, null if too short */ public addrIsis getNode() { if ((addr[0] & 0xff) < (addrIsis.size + 1)) { return null; } addrIsis a = new addrIsis(); a.fromBuf(addr, (addr[0] & 0xff) - addrIsis.size); return a; } /** * get area id * * @return area id, null if too short */ public addrClns getArea() { if ((addr[0] & 0xff) < (addrIsis.size + 1)) { return null; } addrClns a = new addrClns(); a.addr[0] = (byte) (addr[0] - addrIsis.size - 1); bits.byteCopy(addr, 1, a.addr, 1, a.addr[0] & 0xff); return a; } } freeRtr-25.11.9/src/org/freertr/addr/addrEmpty.java000066400000000000000000000010201510423065500220310ustar00rootroot00000000000000package org.freertr.addr; /** * empty address * * @author matecsaba */ public class addrEmpty extends addrType { /** * create instance */ public addrEmpty() { } /** * size of address */ public final static int size = 0; public String toString() { return "none"; } public int getSize() { return 0; } public addrEmpty copyBytes() { return new addrEmpty(); } public boolean fromString(String s) { return false; } } freeRtr-25.11.9/src/org/freertr/addr/addrEui.java000066400000000000000000000044441510423065500214720ustar00rootroot00000000000000package org.freertr.addr; import org.freertr.util.bits; /** * stores one eui64 address * * @author matecsaba */ public class addrEui extends addrType { /** * create instance */ public addrEui() { } /** * size of address */ public final static int size = 8; public String toString() { return bits.toHexB(addr[0]) + bits.toHexB(addr[1]) + "-" + bits.toHexB(addr[2]) + bits.toHexB(addr[3]) + "-" + bits.toHexB(addr[4]) + bits.toHexB(addr[5]) + "-" + bits.toHexB(addr[6]) + bits.toHexB(addr[7]); } public addrEui copyBytes() { addrEui a = new addrEui(); a.fromBuf(addr, 0); return a; } public boolean fromString(String s) { if (s.length() != toString().length()) { return true; } s = s.replaceAll("\\.", "-"); s = s.replaceAll("\\:", "-"); if (!s.substring(4, 5).endsWith("-")) { return true; } if (!s.substring(9, 10).endsWith("-")) { return true; } s = s.replaceAll("\\-", ""); for (int i = 0; i < size; i++) { try { addr[i] = (byte) Integer.parseInt(s.substring(i * 2, i * 2 + 2), 16); } catch (Exception e) { return true; } } return false; } /** * generate random address * * @return bytes of address */ public static addrEui getRandom() { addrEui a = new addrEui(); a.fillRandom(); a.addr[0] = 0; return a; } public int getSize() { return size; } /** * convert to ipv6 * * @param prefix prefix to prepend, null if link local * @return ipv6 address */ public addrIPv6 toIPv6(addrIPv6 prefix) { addrIPv6 a; if (prefix == null) { a = new addrIPv6(); a.addr[0] = (byte) 0xfe; a.addr[1] = (byte) 0x80; } else { a = prefix.copyBytes(); } bits.byteCopy(addr, 0, a.addr, size, size); return a; } /** * convert from ipv6 * * @param a address */ public void fromIPv6(addrIPv6 a) { for (int i = 0; i < size; i++) { addr[i] = a.addr[size + i]; } } } freeRtr-25.11.9/src/org/freertr/addr/addrIP.java000066400000000000000000000152761510423065500212650ustar00rootroot00000000000000package org.freertr.addr; import org.freertr.util.bits; /** * stores one IP (v4 or v6) address * * @author matecsaba */ public class addrIP extends addrType { /** * create instance */ public addrIP() { } /** * size of address */ public final static int size = 16; private final static byte[] IPv4addrBeg = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (byte) 0xff, (byte) 0xff}; private final static byte[] IPv4maskBeg = {(byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff}; private static int IPv4prefLen = addrIPv6.size - addrIPv4.size; /** * get size * * @return size */ public int getSize() { return size; } /** * copy bytes * * @return copy */ public addrIP copyBytes() { addrIP a = new addrIP(); a.addr[0] = addr[0]; a.addr[1] = addr[1]; a.addr[2] = addr[2]; a.addr[3] = addr[3]; a.addr[4] = addr[4]; a.addr[5] = addr[5]; a.addr[6] = addr[6]; a.addr[7] = addr[7]; a.addr[8] = addr[8]; a.addr[9] = addr[9]; a.addr[10] = addr[10]; a.addr[11] = addr[11]; a.addr[12] = addr[12]; a.addr[13] = addr[13]; a.addr[14] = addr[14]; a.addr[15] = addr[15]; return a; } public int compareTo(addrType o) { int v1 = bits.msbGetW(addr, 0); int v2 = bits.msbGetW(o.addr, 0); if (v1 < v2) { return -1; } if (v1 > v2) { return +1; } v1 = bits.msbGetW(addr, 2); v2 = bits.msbGetW(o.addr, 2); if (v1 < v2) { return -1; } if (v1 > v2) { return +1; } v1 = bits.msbGetW(addr, 4); v2 = bits.msbGetW(o.addr, 4); if (v1 < v2) { return -1; } if (v1 > v2) { return +1; } v1 = bits.msbGetW(addr, 6); v2 = bits.msbGetW(o.addr, 6); if (v1 < v2) { return -1; } if (v1 > v2) { return +1; } v1 = bits.msbGetW(addr, 8); v2 = bits.msbGetW(o.addr, 8); if (v1 < v2) { return -1; } if (v1 > v2) { return +1; } v1 = bits.msbGetW(addr, 10); v2 = bits.msbGetW(o.addr, 10); if (v1 < v2) { return -1; } if (v1 > v2) { return +1; } v1 = bits.msbGetW(addr, 12); v2 = bits.msbGetW(o.addr, 12); if (v1 < v2) { return -1; } if (v1 > v2) { return +1; } v1 = bits.msbGetW(addr, 14); v2 = bits.msbGetW(o.addr, 14); if (v1 < v2) { return -1; } if (v1 > v2) { return +1; } return 0; } /** * test if address is a v4 address * * @return true if it is a v4 address */ public boolean isIPv4() { for (int i = 0; i < IPv4prefLen; i++) { if (addr[i] != IPv4addrBeg[i]) { return false; } } return true; } /** * convert address to ipv4 address does not check if v4 prefix exists at * beginning * * @return ipv4 address */ public addrIPv4 toIPv4() { addrIPv4 a = new addrIPv4(); a.fromBuf(addr, IPv4prefLen); return a; } /** * convert address to ipv6 address does not check if v4 prefix exists at * beginning * * @return ipv6 address */ public addrIPv6 toIPv6() { addrIPv6 a = new addrIPv6(); a.fromBuf(addr, 0); return a; } /** * convert from ipv4 address * * @param a ipv4 address */ public void fromIPv4addr(addrIPv4 a) { bits.byteCopy(IPv4addrBeg, 0, addr, 0, IPv4prefLen); bits.byteCopy(a.addr, 0, addr, IPv4prefLen, addrIPv4.size); } /** * convert from ipv4 netmask * * @param a ipv4 netmask */ public void fromIPv4mask(addrIPv4 a) { bits.byteCopy(IPv4maskBeg, 0, addr, 0, IPv4prefLen); bits.byteCopy(a.addr, 0, addr, IPv4prefLen, addrIPv4.size); } /** * convert from ipv6 address * * @param a ipv6 address */ public void fromIPv6addr(addrIPv6 a) { bits.byteCopy(a.addr, 0, addr, 0, addrIPv6.size); } /** * convert from ipv6 netmask * * @param a ipv6 address */ public void fromIPv6mask(addrIPv6 a) { bits.byteCopy(a.addr, 0, addr, 0, addrIPv6.size); } /** * convert multicast address to multicast mac address * * @return multicast mac address */ public addrMac conv2multiMac() { if (isIPv4()) { return toIPv4().conv2multiMac(); } else { return toIPv6().conv2multiMac(); } } /** * test if this is a multicast address * * @return true if yes */ public boolean isMulticast() { if (isIPv4()) { return toIPv4().isMulticast(); } else { return toIPv6().isMulticast(); } } /** * test if this is a routed multicast address * * @return true if yes */ public boolean isRoutedMcast() { if (isIPv4()) { return toIPv4().isRoutedMcast(); } else { return toIPv6().isRoutedMcast(); } } /** * test if this is a unicast address * * @return tris if yes */ public boolean isUnicast() { if (isIPv4()) { return toIPv4().isUnicast(); } else { return toIPv6().isUnicast(); } } /** * test if this is an empty address * * @return tris if yes */ public boolean isEmpty() { if (isIPv4()) { return toIPv4().isEmpty(); } else { return toIPv6().isEmpty(); } } /** * convert to string * * @return string */ public String toString() { if (isIPv4()) { return "" + toIPv4(); } else { return "" + toIPv6(); } } /** * convert from string * * @param s string * @return false on success, true on error */ public boolean fromString(String s) { addrIPv4 a4 = new addrIPv4(); addrIPv6 a6 = new addrIPv6(); if (!a4.fromString(s)) { fromIPv4addr(a4); return false; } if (!a6.fromString(s)) { fromIPv6addr(a6); return false; } return true; } } freeRtr-25.11.9/src/org/freertr/addr/addrIPv4.java000066400000000000000000000116021510423065500215240ustar00rootroot00000000000000package org.freertr.addr; import org.freertr.util.bits; /** * stores one IPv4 address * * @author matecsaba */ public class addrIPv4 extends addrType { /** * create instance */ public addrIPv4() { } /** * copy bytes * * @return copy */ public addrIPv4 copyBytes() { addrIPv4 a = new addrIPv4(); a.addr[0] = addr[0]; a.addr[1] = addr[1]; a.addr[2] = addr[2]; a.addr[3] = addr[3]; return a; } public int compareTo(addrType o) { int v1 = bits.msbGetW(addr, 0); int v2 = bits.msbGetW(o.addr, 0); if (v1 < v2) { return -1; } if (v1 > v2) { return +1; } v1 = bits.msbGetW(addr, 2); v2 = bits.msbGetW(o.addr, 2); if (v1 < v2) { return -1; } if (v1 > v2) { return +1; } return 0; } /** * size of address */ public final static int size = 4; /** * get size * * @return size */ public int getSize() { return size; } /** * convert to string * * @return string */ public String toString() { return (addr[0] & 0xff) + "." + (addr[1] & 0xff) + "." + (addr[2] & 0xff) + "." + (addr[3] & 0xff); } /** * convert from string * * @param s string * @return false on success, true on error */ public boolean fromString(String s) { s += "."; for (int i = 0; i < size; i++) { int o = s.indexOf("."); if (o < 0) { return true; } try { addr[i] = (byte) Integer.parseInt(s.substring(0, o), 10); } catch (Exception e) { return true; } s = s.substring(o + 1, s.length()); } if (s.length() != 0) { return true; } return false; } /** * get class of this address (a..e) * * @return 1=a, 2=b, etc, 0 if unknown */ public int getAddrClass() { int i = addr[0] & 0xff; if (i < 128) { // a - /8 nets return 1; } if (i < 192) { // b - /16 nets return 2; } if (i < 224) { // c - /24 nets return 3; } if (i < 240) { // d - multicast return 4; } if (i < 248) { // e - reserved return 5; } return 0; } /** * get broadcast address * * @return bytes of address */ public static addrIPv4 getBroadcast() { addrIPv4 a = new addrIPv4(); bits.byteFill(a.addr, 0, size, 0xff); return a; } /** * test if this is a broadcast address * * @return true if yes */ public boolean isBroadcast() { return isFilled(255); } /** * test if this is a link local address * * @return true if yes */ public boolean isLinkLocal() { return bits.msbGetW(addr, 0) == 0xa9fe; // 169.254.x.x } /** * generate link local address * * @return ipv4 link local address */ public static addrIPv4 genLinkLocal() { addrIPv4 adr = new addrIPv4(); adr.addr[0] = (byte) 169; adr.addr[1] = (byte) 254; adr.addr[2] = (byte) bits.random(1, 254); adr.addr[3] = (byte) bits.randomB(); return adr; } /** * get empty address * * @return bytes of address */ public static addrIPv4 getEmpty() { addrIPv4 a = new addrIPv4(); bits.byteFill(a.addr, 0, size, 0); return a; } /** * test if this is an empty address * * @return true if yes */ public boolean isEmpty() { return isFilled(0); } /** * test if this is a multicast address * * @return true if yes */ public boolean isMulticast() { int i = addr[0] & 0xff; return (i >= 224) && (i < 240); } /** * test if this is a routed multicast address * * @return true if yes */ public boolean isRoutedMcast() { int i = bits.msbGetW(addr, 0); if (i >= 0xefff) { // 239.255.x.x return false; } return i > 0xe000; // 224.0.x.x } /** * test if this is a unicast address * * @return tris if yes */ public boolean isUnicast() { return (!isBroadcast()) && (!isMulticast()); } /** * convert multicast address to multicast mac address * * @return multicast mac address */ public addrMac conv2multiMac() { addrMac a = new addrMac(); a.addr[0] = 0x01; a.addr[1] = 0x00; a.addr[2] = 0x5e; a.addr[3] = (byte) (addr[1] & 0x7f); a.addr[4] = addr[2]; a.addr[5] = addr[3]; return a; } } freeRtr-25.11.9/src/org/freertr/addr/addrIPv6.java000066400000000000000000000224121510423065500215270ustar00rootroot00000000000000package org.freertr.addr; import org.freertr.util.bits; /** * stores one IPv6 address * * @author matecsaba */ public class addrIPv6 extends addrType { /** * create instance */ public addrIPv6() { } /** * size of address */ public final static int size = 16; /** * get size * * @return size */ public int getSize() { return size; } /** * copy bytes * * @return copy */ public addrIPv6 copyBytes() { addrIPv6 a = new addrIPv6(); a.addr[0] = addr[0]; a.addr[1] = addr[1]; a.addr[2] = addr[2]; a.addr[3] = addr[3]; a.addr[4] = addr[4]; a.addr[5] = addr[5]; a.addr[6] = addr[6]; a.addr[7] = addr[7]; a.addr[8] = addr[8]; a.addr[9] = addr[9]; a.addr[10] = addr[10]; a.addr[11] = addr[11]; a.addr[12] = addr[12]; a.addr[13] = addr[13]; a.addr[14] = addr[14]; a.addr[15] = addr[15]; return a; } public int compareTo(addrType o) { int v1 = bits.msbGetW(addr, 0); int v2 = bits.msbGetW(o.addr, 0); if (v1 < v2) { return -1; } if (v1 > v2) { return +1; } v1 = bits.msbGetW(addr, 2); v2 = bits.msbGetW(o.addr, 2); if (v1 < v2) { return -1; } if (v1 > v2) { return +1; } v1 = bits.msbGetW(addr, 4); v2 = bits.msbGetW(o.addr, 4); if (v1 < v2) { return -1; } if (v1 > v2) { return +1; } v1 = bits.msbGetW(addr, 6); v2 = bits.msbGetW(o.addr, 6); if (v1 < v2) { return -1; } if (v1 > v2) { return +1; } v1 = bits.msbGetW(addr, 8); v2 = bits.msbGetW(o.addr, 8); if (v1 < v2) { return -1; } if (v1 > v2) { return +1; } v1 = bits.msbGetW(addr, 10); v2 = bits.msbGetW(o.addr, 10); if (v1 < v2) { return -1; } if (v1 > v2) { return +1; } v1 = bits.msbGetW(addr, 12); v2 = bits.msbGetW(o.addr, 12); if (v1 < v2) { return -1; } if (v1 > v2) { return +1; } v1 = bits.msbGetW(addr, 14); v2 = bits.msbGetW(o.addr, 14); if (v1 < v2) { return -1; } if (v1 > v2) { return +1; } return 0; } /** * convert to string * * @return string */ public String toString() { int bstPos = 0; int bstLen = 0; int curBeg = 0; for (int curPos = 0; curPos <= size; curPos += 2) { int curLen = curPos - curBeg - 1; if (checkPartZero(curPos)) { curBeg = curPos + 1; } if (curLen <= bstLen) { continue; } bstLen = curLen; bstPos = curPos; } if (bstLen < 1) { return toPartString(0, size / 2); } return toPartString(0, (bstPos - bstLen) / 2) + "::" + toPartString(bstPos / 2, size / 2); } private boolean checkPartZero(int curPos) { if (curPos >= size) { return false; } return (addr[curPos] != 0) || (addr[curPos + 1] != 0); } private String toPartString(int min, int max) { if (min >= max) { return ""; } String s = ""; for (int i = min; i < max; i++) { String a = bits.toHexB(addr[i * 2]) + bits.toHexB(addr[(i * 2) + 1]); for (;;) { if (a.length() < 1) { a = "0"; break; } if (!a.substring(0, 1).equals("0")) { break; } a = a.substring(1, a.length()); } s += ":" + a; } return s.substring(1, s.length()); } private int fromPartString(byte[] buf, String s) { if (s.length() == 0) { return 0; } int o = 0; s += ":"; for (;;) { int i = s.indexOf(":"); if (i < 0) { return o; } if (o >= size) { return -1; } try { bits.msbPutW(buf, o, Integer.parseInt(s.substring(0, i), 16)); } catch (Exception e) { return -1; } o += 2; s = s.substring(i + 1, s.length()); } } /** * convert from string * * @param s string * @return false on success, true on error */ public boolean fromString(String s) { int o = s.indexOf("::"); if (o < 0) { byte[] b = new byte[size]; int i = fromPartString(b, s); if (i != size) { return true; } fromBuf(b, 0); return false; } byte[] b1 = new byte[size]; byte[] b2 = new byte[size]; bits.byteFill(b1, 0, size, 0); int s1 = fromPartString(b1, s.substring(0, o)); if (s1 < 0) { return true; } int s2 = fromPartString(b2, s.substring(o + 2, s.length())); if (s2 < 0) { return true; } if (s1 + s2 > size) { return true; } bits.byteCopy(b2, 0, b1, size - s2, s2); fromBuf(b1, 0); return false; } /** * get empty address * * @return bytes of address */ public static addrIPv6 getEmpty() { addrIPv6 a = new addrIPv6(); bits.byteFill(a.addr, 0, size, 0); return a; } /** * test if this is an empty address * * @return true if yes */ public boolean isEmpty() { return isFilled(0); } /** * test if this is a broadcast address * * @return true if yes */ public boolean isBroadcast() { return isFilled(255); } /** * test if this is a link local address * * @return true if yes */ public boolean isLinkLocal() { return (((addr[0] & 0xff) == 0xfe) && ((addr[1] & 0xc0) == 0x80)); } /** * test if this is a multicast address * * @return true if yes */ public boolean isMulticast() { return ((addr[0] & 0xff) == 0xff); } /** * test if this is a routed multicast address * * @return true if yes */ public boolean isRoutedMcast() { return (bits.msbGetW(addr, 0) & 0xff0f) > 0xff03; } /** * test if this is a unicast address * * @return tris if yes */ public boolean isUnicast() { return !isMulticast(); } /** * convert multicast address to multicast mac address * * @return multicast mac address */ public addrMac conv2multiMac() { addrMac a = new addrMac(); a.addr[0] = 0x33; a.addr[1] = 0x33; a.addr[2] = addr[12]; a.addr[3] = addr[13]; a.addr[4] = addr[14]; a.addr[5] = addr[15]; return a; } /** * convert to solicited node multicast address * * @return solicited node address */ public addrIPv6 conv2solicited() { addrIPv6 adr = new addrIPv6(); adr.addr[0] = (byte) 0xff; adr.addr[1] = (byte) 0x02; adr.addr[11] = (byte) 0x01; adr.addr[12] = (byte) 0xff; adr.addr[13] = addr[13]; adr.addr[14] = addr[14]; adr.addr[15] = addr[15]; return adr; } /** * generate link local address * * @param mac mac address to convert * @return ipv6 link local address of mac */ public static addrIPv6 genLinkLocal(addrMac mac) { addrIPv6 adr = new addrIPv6(); adr.addr[0] = (byte) 0xfe; adr.addr[1] = (byte) 0x80; return genPublic(mac, adr); } /** * generate public address * * @param mac mac address to convert * @param ip ip address to convert * @return ipv6 link local address of mac */ public static addrIPv6 genPublic(addrMac mac, addrIPv6 ip) { addrIPv6 adr = new addrIPv6(); bits.byteCopy(ip.addr, 0, adr.addr, 0, size / 2); adr.addr[8] = (byte) (mac.addr[0] ^ 0x02); adr.addr[9] = mac.addr[1]; adr.addr[10] = mac.addr[2]; adr.addr[11] = (byte) 0xff; adr.addr[12] = (byte) 0xfe; adr.addr[13] = mac.addr[3]; adr.addr[14] = mac.addr[4]; adr.addr[15] = mac.addr[5]; return adr; } /** * get all nodes multicast address * * @return the address */ public static addrIPv6 getAllNodes() { addrIPv6 adr = new addrIPv6(); adr.addr[0] = (byte) 0xff; adr.addr[1] = (byte) 0x02; adr.addr[15] = (byte) 0x01; return adr; } /** * get all routers multicast address * * @return the address */ public static addrIPv6 getAllRouters() { addrIPv6 adr = new addrIPv6(); adr.addr[0] = (byte) 0xff; adr.addr[1] = (byte) 0x02; adr.addr[15] = (byte) 0x02; return adr; } } freeRtr-25.11.9/src/org/freertr/addr/addrInfiniband.java000066400000000000000000000024421510423065500230050ustar00rootroot00000000000000package org.freertr.addr; import org.freertr.util.bits; /** * stores one infiniband address * * @author matecsaba */ public class addrInfiniband extends addrType { /** * create instance */ public addrInfiniband() { } /** * size of address */ public final static int size = 2; public addrInfiniband copyBytes() { addrInfiniband a = new addrInfiniband(); a.fromBuf(addr, 0); return a; } public boolean fromString(String s) { try { int i = (byte) Integer.parseInt(s, 10); bits.msbPutW(addr, 0, i); } catch (Exception e) { return true; } return false; } public int getSize() { return size; } public String toString() { return "" + bits.msbGetW(addr, 0); } /** * check if multicast address * * @return true if yess */ public boolean isMulticast() { return (addr[0] & 0xff) >= 0xc0; } /** * generate random address * * @return bytes of address */ public static addrInfiniband getRandom() { addrInfiniband a = new addrInfiniband(); a.addr[0] = (byte) bits.random(0, 0xc0); a.addr[1] = (byte) bits.randomB(); return a; } } freeRtr-25.11.9/src/org/freertr/addr/addrIpx.java000066400000000000000000000042241510423065500215040ustar00rootroot00000000000000package org.freertr.addr; import org.freertr.util.bits; /** * stores one ipx address * * @author matecsaba */ public class addrIpx extends addrType { /** * create instance */ public addrIpx() { } /** * size of address */ public final static int size = 10; /** * get size * * @return size */ public int getSize() { return size; } /** * get copy * * @return copy */ public addrIpx copyBytes() { addrIpx a = new addrIpx(); a.fromBuf(addr, 0); return a; } /** * convert to string * * @return string */ public String toString() { return bits.toHexB(addr[0]) + bits.toHexB(addr[1]) + bits.toHexB(addr[2]) + bits.toHexB(addr[3]) + "." + bits.toHexB(addr[4]) + bits.toHexB(addr[5]) + "." + bits.toHexB(addr[6]) + bits.toHexB(addr[7]) + "." + bits.toHexB(addr[8]) + bits.toHexB(addr[9]); } /** * from string * * @param s string * @return false on success, true on error */ public boolean fromString(String s) { s = s.replaceAll("\\.", ""); s = s.replaceAll("\\:", ""); s = s.replaceAll("\\-", ""); if (s.length() != (size * 2)) { return true; } for (int i = 0; i < size; i++) { try { addr[i] = (byte) Integer.parseInt(s.substring(i * 2, i * 2 + 2), 16); } catch (Exception e) { return true; } } return false; } /** * get network part * * @return network */ public int getNet() { return bits.msbGetD(addr, 0); } /** * get mac part * * @return mac */ public addrMac getMac() { addrMac a = new addrMac(); a.fromBuf(addr, 4); return a; } /** * put network * * @param i network */ public void putNet(int i) { bits.msbPutD(addr, 0, i); } /** * put mac * * @param a mac */ public void putMac(addrMac a) { a.toBuffer(addr, 4); } } freeRtr-25.11.9/src/org/freertr/addr/addrIsis.java000066400000000000000000000027451510423065500216610ustar00rootroot00000000000000package org.freertr.addr; import org.freertr.util.bits; /** * stores one isis system id * * @author matecsaba */ public class addrIsis extends addrType { /** * create instance */ public addrIsis() { } /** * size of address */ public final static int size = 6; /** * copy bytes * * @return copy */ public addrIsis copyBytes() { addrIsis a = new addrIsis(); a.fromBuf(addr, 0); return a; } /** * get size * * @return size */ public int getSize() { return size; } /** * convert to string * * @return string */ public String toString() { return bits.toHexB(addr[0]) + bits.toHexB(addr[1]) + "." + bits.toHexB(addr[2]) + bits.toHexB(addr[3]) + "." + bits.toHexB(addr[4]) + bits.toHexB(addr[5]); } /** * convert from string * * @param s string * @return false on success, true on error */ public boolean fromString(String s) { s = s.replaceAll("\\.", ""); s = s.replaceAll("\\:", ""); s = s.replaceAll("\\-", ""); if (s.length() != (size * 2)) { return true; } for (int i = 0; i < size; i++) { try { addr[i] = (byte) Integer.parseInt(s.substring(i * 2, i * 2 + 2), 16); } catch (Exception e) { return true; } } return false; } } freeRtr-25.11.9/src/org/freertr/addr/addrMac.java000066400000000000000000000077031510423065500214510ustar00rootroot00000000000000package org.freertr.addr; import org.freertr.util.bits; /** * stores one mac address * * @author matecsaba */ public class addrMac extends addrType { /** * create instance */ public addrMac() { } /** * size of address */ public final static int size = 6; /** * size of ethernet header (dstadr,srcadr) */ public final static int sizeX2 = size * 2; /** * convert to string * * @return string */ public String toString() { return bits.toHexB(addr[0]) + bits.toHexB(addr[1]) + "." + bits.toHexB(addr[2]) + bits.toHexB(addr[3]) + "." + bits.toHexB(addr[4]) + bits.toHexB(addr[5]); } /** * convert to string * * @return string */ public String toEmuStr() { return bits.toHexB(addr[0]) + ":" + bits.toHexB(addr[1]) + ":" + bits.toHexB(addr[2]) + ":" + bits.toHexB(addr[3]) + ":" + bits.toHexB(addr[4]) + ":" + bits.toHexB(addr[5]); } /** * copy bytes * * @return copy */ public addrMac copyBytes() { addrMac a = new addrMac(); a.addr[0] = addr[0]; a.addr[1] = addr[1]; a.addr[2] = addr[2]; a.addr[3] = addr[3]; a.addr[4] = addr[4]; a.addr[5] = addr[5]; return a; } public int compareTo(addrType o) { int v1 = bits.msbGetW(addr, 0); int v2 = bits.msbGetW(o.addr, 0); if (v1 < v2) { return -1; } if (v1 > v2) { return +1; } v1 = bits.msbGetW(addr, 2); v2 = bits.msbGetW(o.addr, 2); if (v1 < v2) { return -1; } if (v1 > v2) { return +1; } v1 = bits.msbGetW(addr, 4); v2 = bits.msbGetW(o.addr, 4); if (v1 < v2) { return -1; } if (v1 > v2) { return +1; } return 0; } /** * convert from string * * @param s string * @return false on success, true on error */ public boolean fromString(String s) { s = s.replaceAll("\\.", ""); s = s.replaceAll("\\:", ""); s = s.replaceAll("\\-", ""); if (s.length() != sizeX2) { return true; } for (int i = 0; i < size; i++) { try { addr[i] = (byte) Integer.parseInt(s.substring(i * 2, i * 2 + 2), 16); } catch (Exception e) { return true; } } return false; } /** * get size * * @return size */ public int getSize() { return size; } /** * generate random address * * @return bytes of address */ public static addrMac getRandom() { addrMac a = new addrMac(); a.fillRandom(); a.addr[0] = 0; return a; } /** * get broadcast address * * @return bytes of address */ public static addrMac getBroadcast() { addrMac a = new addrMac(); bits.byteFill(a.addr, 0, size, 0xff); return a; } /** * get multicast base address * * @return bytes of address */ public static addrMac getMultiBase() { addrMac a = new addrMac(); a.addr[0] = 1; return a; } /** * test if this address should be flooded to anybody * * @return true if yes */ public boolean isFloodable() { return (addr[0] & 1) != 0; } /** * test if this is a broadcast address * * @return true if yes */ public boolean isBroadcast() { return isFilled(255); } /** * test if this is a multicast address * * @return true if yes */ public boolean isMulticast() { return isFloodable() && (!isBroadcast()); } /** * test if this is a unicast address * * @return tris if yes */ public boolean isUnicast() { return !isFloodable(); } } freeRtr-25.11.9/src/org/freertr/addr/addrPool.java000066400000000000000000000060021510423065500216510ustar00rootroot00000000000000package org.freertr.addr; import java.math.BigInteger; import org.freertr.util.bits; import org.freertr.util.logger; /** * address pool * * @param type of address * @author matecsaba */ public class addrPool { /** * name of this pool */ public String poolName; private T first; private BigInteger frst; private BigInteger incr; private boolean[] used; /** * setup address pool * * @param adr first address * @param nxt increment of next address * @param num number of addresses in pool */ @SuppressWarnings("unchecked") public addrPool(T adr, T nxt, int num) { first = (T) adr.copyBytes(); used = new boolean[num]; for (int i = 0; i < num; i++) { used[i] = false; } frst = addr2bn(first); incr = addr2bn(nxt); } public String toString() { return poolName; } private BigInteger addr2bn(T adr) { byte[] buf1 = adr.getBytes(); byte[] buf2 = new byte[buf1.length + 1]; bits.byteCopy(buf1, 0, buf2, 1, buf1.length); buf2[0] = 0; return new BigInteger(buf2); } @SuppressWarnings("unchecked") private T bn2addr(BigInteger n) { T a = (T) first.copyBytes(); final int as = a.getSize(); byte[] buf1 = n.toByteArray(); if (buf1.length > as) { a.fromBuf(buf1, buf1.length - as); return a; } byte[] buf2 = new byte[as]; for (int i = 0; i < as; i++) { buf2[i] = 0; } bits.byteCopy(buf1, 0, buf2, as - buf1.length, buf1.length); a.fromBuf(buf2, 0); return a; } /** * return total number of addresses * * @return total number of addresses */ public int addrTotal() { return used.length; } /** * return free number of addresses * * @return free number of addresses */ public int addrFree() { int o = 0; for (int i = 0; i < used.length; i++) { if (used[i] == false) { o++; } } return o; } /** * allocate one address * * @return address allocated, null if none */ public synchronized T addrAlloc() { for (int retry = 0; retry < 64; retry++) { int i = bits.random(0, used.length); if (used[i]) { continue; } used[i] = true; BigInteger b = new BigInteger("" + i).multiply(incr).add(frst); return bn2addr(b); } logger.warn("failed to allocate new address"); return null; } /** * release one address * * @param adr address to release */ public void addrRelease(T adr) { BigInteger i = addr2bn(adr); i = i.subtract(frst).divide(incr); int o = i.intValue(); if ((o < 0) || (o >= used.length)) { return; } used[o] = false; } } freeRtr-25.11.9/src/org/freertr/addr/addrPrefix.java000066400000000000000000000215771510423065500222130ustar00rootroot00000000000000package org.freertr.addr; /** * represents one prefix (address/netmask) * * @param class of address * @author matecsaba */ public class addrPrefix implements Comparable> { /** * network address */ public T network; /** * the netmask */ public T mask; /** * wildcard mask */ public T wildcard; /** * broadcast address */ public T broadcast; /** * netmask length */ public int maskLen; private addrPrefix() { } /** * create new prefix * * @param adr address in the prefix * @param msk netmask size in bits */ @SuppressWarnings("unchecked") public addrPrefix(T adr, int msk) { maskLen = rangeCheckMask(adr, msk); network = (T) adr.copyBytes(); mask = (T) adr.copyBytes(); wildcard = (T) adr.copyBytes(); broadcast = (T) adr.copyBytes(); update(); } /** * clone this prefix * * @return new instance containing same data */ @SuppressWarnings("unchecked") public addrPrefix copyBytes() { addrPrefix n = new addrPrefix(); n.network = (T) network.copyBytes(); n.mask = (T) mask.copyBytes(); n.wildcard = (T) wildcard.copyBytes(); n.broadcast = (T) broadcast.copyBytes(); n.maskLen = maskLen; return n; } public int compareTo(addrPrefix o) { int i = network.compareTo(o.network); if (i != 0) { return i; } return broadcast.compareTo(o.broadcast); } /** * convert to string * * @return string */ public String toString() { return network + "/" + maskLen; } private int rangeCheckMask(T adr, int msk) { if (msk > adr.maxBits()) { msk = adr.maxBits(); } if (msk < 0) { msk = 0; } return msk; } private void update() { mask.fromNetmask(maskLen); network.setAnd(network, mask); wildcard.setNot(mask); broadcast.setOr(network, wildcard); } /** * change just mask * * @param msk netmask size */ public void setMask(int msk) { maskLen = rangeCheckMask(network, msk); update(); } /** * convert string to address * * @param s string to convert * @return true if error happened */ public boolean fromString(String s) { s = s.trim(); int i = s.indexOf("/"); if (i < 0) { return true; } if (network.fromString(s.substring(0, i).trim())) { return true; } try { maskLen = Integer.parseInt(s.substring(i + 1, s.length()).trim()); } catch (Exception e) { return true; } maskLen = rangeCheckMask(network, maskLen); update(); return false; } /** * test if this prefix contains an address * * @param adr address to test * @return true if matches, false if not matches */ public boolean matches(T adr) { if (adr.compareTo(network) < 0) { return false; } if (adr.compareTo(broadcast) > 0) { return false; } return true; } /** * test if this prefix's network is address * * @param adr address to test * @return true if this is the network address */ public boolean isNetwork(T adr) { return adr.compareTo(network) == 0; } /** * test if this prefix's broadcast is address * * @param adr address to test * @return true if this is the broadcast address */ public boolean isBroadcast(T adr) { return adr.compareTo(broadcast) == 0; } /** * test if this prefix contains this unicast address * * @param adr address to test * @return true if this is the broadcast address */ public boolean isUnicast(T adr) { boolean b = matches(adr); b &= !isNetwork(adr); b &= !isBroadcast(adr); return b; } /** * test if this prefix contains an other * * @param other other to test * @param equals set true to allow equals to contain * @return true if other is subnet of this, false otherwise */ public boolean supernet(addrPrefix other, boolean equals) { if (!matches(other.network)) { return false; } if (!matches(other.broadcast)) { return false; } if (equals) { return true; } if (network.compareTo(other.network) != 0) { return true; } if (broadcast.compareTo(other.broadcast) != 0) { return true; } return false; } /** * convert ipv4 prefix to ip * * @param old old prefix * @return new prefix */ public static addrPrefix ip4toIP(addrPrefix old) { addrIPv4 a4 = addrIPv4.getBroadcast(); a4.fromNetmask(old.maskLen); addrIP a1 = new addrIP(); addrIP a2 = new addrIP(); a1.fromIPv4mask(a4); a2.fromIPv4addr(old.network); return new addrPrefix(a2, a1.toNetmask()); } /** * convert ipv6 prefix to ip * * @param old old prefix * @return new prefix */ public static addrPrefix ip6toIP(addrPrefix old) { addrIPv6 a6 = addrIPv6.getAllNodes(); a6.fromNetmask(old.maskLen); addrIP a1 = new addrIP(); addrIP a2 = new addrIP(); a1.fromIPv6mask(a6); a2.fromIPv6addr(old.network); return new addrPrefix(a2, a1.toNetmask()); } /** * convert prefix to ipv4 * * @param old old prefix * @return new prefix */ public static addrPrefix ip2ip4(addrPrefix old) { addrIPv4 a1 = old.network.toIPv4(); addrIPv4 a2 = old.mask.toIPv4(); return new addrPrefix(a1, a2.toNetmask()); } /** * convert prefix to ipv6 * * @param old old prefix * @return new prefix */ public static addrPrefix ip2ip6(addrPrefix old) { addrIPv6 a1 = old.network.toIPv6(); addrIPv6 a2 = old.mask.toIPv6(); return new addrPrefix(a1, a2.toNetmask()); } /** * convert string to ip prefix * * @param s string to convert * @return null if failed, prefix if succeeded */ public static addrPrefix str2ip(String s) { addrPrefix p4 = new addrPrefix(addrIPv4.getBroadcast(), 0); if (!p4.fromString(s)) { return ip4toIP(p4); } addrPrefix p6 = new addrPrefix(addrIPv6.getAllNodes(), 0); if (!p6.fromString(s)) { return ip6toIP(p6); } int i = s.indexOf("#"); if (i < 0) { return null; } addrPrefix p = new addrPrefix(new addrIP(), addrIP.size * 128); if (p.network.fromString(s.substring(0, i))) { return null; } if (p.broadcast.fromString(s.substring(i + 1, s.length()))) { return null; } return p; } /** * convert prefix to string * * @param old prefix to convert * @return string representation */ public static String ip2str(addrPrefix old) { if (old.network.isIPv4()) { return "" + ip2ip4(old); } else { return "" + ip2ip6(old); } } /** * convert prefix to string * * @param old prefix to convert * @return string representation */ public static String ip2evpn(addrPrefix old) { return old.network + "#" + old.broadcast; } /** * get default route * * @return default route */ public static addrPrefix defaultRoute4() { return new addrPrefix(new addrIPv4(), 0); } /** * get default route * * @return default route */ public static addrPrefix defaultRoute6() { return new addrPrefix(new addrIPv6(), 0); } /** * get default route * * @param ver version number * @return default route */ public static addrPrefix defaultRoute(int ver) { if (ver == 4) { return ip4toIP(defaultRoute4()); } else { return ip6toIP(defaultRoute6()); } } /** * substract on displaying * * @param old prefix to test * @return substract value */ public static int dispSub(addrPrefix old) { int i; if (old.network.isIPv4()) { i = addrIPv4.size; } else { i = addrIPv6.size; } return (addrIP.size - i) * 8; } } freeRtr-25.11.9/src/org/freertr/addr/addrType.java000066400000000000000000000213501510423065500216640ustar00rootroot00000000000000package org.freertr.addr; import org.freertr.util.bits; /** * one address * * @author matecsaba */ public abstract class addrType implements Comparable { /** * bytes representing this address */ protected byte[] addr; /** * get size of this address in bytes * * @return bytes in the address */ public abstract int getSize(); /** * clone this address * * @return new instance with the same content */ public abstract addrType copyBytes(); /** * text representation of this address * * @return text representing of this address */ public abstract String toString(); /** * convert string to address * * @param s string to convert * @return true if error happened */ public abstract boolean fromString(String s); /** * convert any address to string * * @param at address to convert * @return converted */ public final static String any2str(addrType at) { try { addrIP ai = (addrIP) at; return "" + ai; } catch (Exception e) { return "" + at; } } /** * get size of this address in bits * * @return bits in the address */ public int maxBits() { return addr.length * 8; } /** * set address from other address * * @param src source */ public void setAddr(addrType src) { bits.byteCopy(src.addr, 0, addr, 0, addr.length); } /** * exchange two addresses * * @param other other to exchange */ public void exchangeAddr(addrType other) { byte[] ob = other.addr; other.addr = addr; addr = ob; } /** * convert prefix length to address * * @param len number of 1 bits */ public void fromNetmask(int len) { if (len > addr.length * 8) { len = addr.length * 8; } if (len < 0) { len = 0; } int ofs = len / 8; len &= 7; bits.byteFill(addr, 0, ofs, 0xff); bits.byteFill(addr, ofs, addr.length - ofs, 0); if (len < 1) { return; } addr[ofs] = maskVals[len]; } private final static byte[] maskVals = { (byte) 0x00, (byte) 0x80, (byte) 0xc0, (byte) 0xe0, (byte) 0xf0, (byte) 0xf8, (byte) 0xfc, (byte) 0xfe, (byte) 0xff }; /** * convert address to prefix length * * @return number of 1 bits */ public int toNetmask() { int len; for (len = 0; len < addr.length; len++) { if ((addr[len] & 0xff) != 0xff) { break; } } if (len >= addr.length) { return addr.length * 8; } int val = addr[len] & 0xff; int ofs; for (ofs = 7; ofs >= 0; ofs--) { if ((bits.bitVals[ofs] & val) == 0) { break; } } return len * 8 + 7 - ofs; } /** * bit values in u32 */ public final static int[] bitVals = { 0x80, 0x40, 0x20, 0x10, 0x8, 0x4, 0x2, 0x1 }; /** * set one bit * * @param num bit number */ public void bitSet(int num) { addr[num / 8] |= (byte) bitVals[num & 0x7]; } /** * set one bit * * @param num bit number */ public void bitClear(int num) { addr[num / 8] &= (byte) (-bitVals[num & 0x7] - 1); } /** * set one bit * * @param num bit number * @return bit value */ public boolean bitValue(int num) { return (addr[num / 8] & (byte) bitVals[num & 0x7]) != 0; } /** * create empty address */ public addrType() { addr = new byte[getSize()]; } /** * get bytes of address * * @return bytes represents the address */ public byte[] getBytes() { return addr; } /** * set address bytes from buffer * * @param buf source buffer * @param ofs offset in buffer */ public void fromBuf(byte[] buf, int ofs) { bits.byteCopy(buf, ofs, addr, 0, addr.length); } /** * copy address bytes to buffer * * @param buf target buffer * @param ofs offset in buffer */ public void toBuffer(byte[] buf, int ofs) { bits.byteCopy(addr, 0, buf, ofs, addr.length); } /** * test if address matches to a network/mask * * @param net network to test for * @param msk mask to test for * @return true if matches, false if not matches */ public boolean isMatches(addrType net, addrType msk) { for (int i = 0; i < addr.length; i++) { if ((addr[i] & msk.addr[i]) != (net.addr[i] & msk.addr[i])) { return false; } } return true; } /** * test if address filled with a value * * @param val value to check for * @return true if filled, false if not */ public boolean isFilled(int val) { for (int i = 0; i < addr.length; i++) { if (addr[i] != (byte) val) { return false; } } return true; } /** * fill up buffer with value * * @param val value to set */ public void fillBytes(int val) { for (int i = 0; i < addr.length; i++) { addr[i] = (byte) val; } } /** * fill up buffer with random */ public void fillRandom() { for (int i = 0; i < addr.length; i++) { addr[i] = (byte) bits.randomB(); } } /** * set from a1 and a2 * * @param a1 address 1 * @param a2 address 2 */ public void setAnd(addrType a1, addrType a2) { for (int i = 0; i < addr.length; i++) { addr[i] = (byte) ((a1.addr[i] & 0xff) & (a2.addr[i] & 0xff)); } } /** * set from a1 or a2 * * @param a1 address 1 * @param a2 address 2 */ public void setOr(addrType a1, addrType a2) { for (int i = 0; i < addr.length; i++) { addr[i] = (byte) ((a1.addr[i] & 0xff) | (a2.addr[i] & 0xff)); } } /** * set from a1 xor a2 * * @param a1 address 1 * @param a2 address 2 */ public void setXor(addrType a1, addrType a2) { for (int i = 0; i < addr.length; i++) { addr[i] = (byte) ((a1.addr[i] & 0xff) ^ (a2.addr[i] & 0xff)); } } /** * set from not a1 * * @param a1 address */ public void setNot(addrType a1) { for (int i = 0; i < addr.length; i++) { addr[i] = (byte) (255 - (a1.addr[i] & 0xff)); } } /** * set from shifted a1 * * @param a1 address * @param shf shift */ public void setShl(addrType a1, int shf) { int shb = shf / 8; shf &= 7; for (int i = 0; i < (addr.length - shb); i++) { int p = (a1.addr[i + shb] & 0xff) << shf; if ((i + shb + 1) < addr.length) { p |= (a1.addr[i + shb + 1] & 0xff) >>> (8 - shf); } addr[i] = (byte) p; } for (int i = 0; i < (shb - 1); i++) { addr[addr.length - i - 1] = 0; } } /** * set from a1 + a2 * * @param a1 address 1 * @param a2 address 2 */ public void setAdd(addrType a1, addrType a2) { int o = 0; for (int i = addr.length - 1; i >= 0; i--) { o = (a1.addr[i] & 0xff) + (a2.addr[i] & 0xff) + o; addr[i] = (byte) o; if (o > 0xff) { o = 1; } else { o = 0; } } } /** * set from a1 - a2 * * @param a1 address 1 * @param a2 address 2 */ public void setSub(addrType a1, addrType a2) { int o = 0; for (int i = addr.length - 1; i >= 0; i--) { o = (a1.addr[i] & 0xff) - (a2.addr[i] & 0xff) + o; addr[i] = (byte) o; if (o < 0) { o = -1; } else { o = 0; } } } public int compareTo(addrType o) { return bits.byteComp(addr, 0, o.addr, 0, addr.length); } /** * get address hash * * @return xor value */ public int getHashB() { int o = 0; for (int i = 0; i < addr.length; i++) { o ^= addr[i] & 0xff; } return o; } /** * get address hash * * @return xor value */ public int getHashW() { int o = 0; for (int i = 0; i < addr.length; i += 2) { o ^= addr[i + 0] & 0xff; o ^= (addr[i + 1] & 0xff) << 8; } return o; } } freeRtr-25.11.9/src/org/freertr/addr/package-info.java000066400000000000000000000001071510423065500224310ustar00rootroot00000000000000/** * addresses * * @author matecsaba */ package org.freertr.addr; freeRtr-25.11.9/src/org/freertr/auth/000077500000000000000000000000001510423065500172735ustar00rootroot00000000000000freeRtr-25.11.9/src/org/freertr/auth/authConstant.java000066400000000000000000000042301510423065500226100ustar00rootroot00000000000000package org.freertr.auth; import java.util.ArrayList; import java.util.List; import org.freertr.cry.cryHashGeneric; import org.freertr.cry.cryKeyGeneric; import org.freertr.user.userFormat; import org.freertr.user.userHelp; import org.freertr.util.cmds; import org.freertr.util.counter; /** * authentication that always succeeds * * @author matecsaba */ public class authConstant extends authGeneric { private final boolean res; /** * create authenticator * * @param result result of operation, true=success, false=failure */ public authConstant(boolean result) { res = result; } public authResult authUserPass(String user, String pass) { if (res) { return new authResult(this, authResult.authSuccessful, user, pass); } else { return new authResult(this, authResult.authBadUserPass, user, pass); } } public authResult authUserCommand(String user, String cmd) { return authUserPass(user, ""); } public authResult acntUserSession(String user, String addr, int sess, counter cntr, int stat) { return new authResult(this, authResult.authSuccessful, user, ""); } public authResult authUserChap(String user, int id, byte[] chal, byte[] resp) { return authUserPass(user, ""); } public authResult authUserApop(String cookie, String user, String resp) { return authUserPass(user, ""); } public authResult authUserPkey(cryKeyGeneric key, String user) { return authUserPass(user, ""); } public authResult authUserPkey(cryKeyGeneric key, cryHashGeneric algo, String algn, byte[] chal, String user, byte[] resp) { return authUserPass(user, ""); } public authResult authUserNone(String user) { return authUserPass(user, ""); } public List getShRun(String beg, int filter) { return new ArrayList(); } public void getHelp(userHelp l) { } public String getCfgName() { return "always"; } public boolean fromString(cmds cmd) { return true; } public userFormat getShowSpec() { return null; } } freeRtr-25.11.9/src/org/freertr/auth/authGeneric.java000066400000000000000000000152511510423065500224000ustar00rootroot00000000000000package org.freertr.auth; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.cfg.cfgAll; import org.freertr.cry.cryHashGeneric; import org.freertr.cry.cryKeyGeneric; import org.freertr.tab.tabListing; import org.freertr.tab.tabListingEntry; import org.freertr.tab.tabPrfxlstN; import org.freertr.user.userFormat; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.counter; /** * authenticate one user * * @author matecsaba */ public abstract class authGeneric implements Comparable { /** * create instance */ public authGeneric() { } /** * name of list */ public String autName = ""; /** * log on failure */ public boolean logFail = false; /** * log on error */ public boolean logErr = false; /** * log on success */ public boolean logOk = false; /** * log password */ public boolean logPass = false; /** * number of failure responses */ public int sawFail; /** * number of error responses */ public int sawErr; /** * number of ok responses */ public int sawOk; /** * last failure response */ public long lastFail; /** * last error response */ public long lastErr; /** * last ok response */ public long lastOk; /** * authenticate user by username/password * * @param user username * @param pass password * @return authentication value */ public abstract authResult authUserPass(String user, String pass); /** * authorize user command * * @param user username * @param cmd command * @return authentication value */ public abstract authResult authUserCommand(String user, String cmd); /** * account user session * * @param user username * @param addr address * @param sess session * @param cntr counter * @param stat status, 1=start, 2=stop, 3=update * @return accounting value */ public abstract authResult acntUserSession(String user, String addr, int sess, counter cntr, int stat); /** * authenticate user by username/chap * * @param user username * @param id id received * @param chal challenge requested * @param resp response received * @return authentication value */ public abstract authResult authUserChap(String user, int id, byte[] chal, byte[] resp); /** * authenticate user by username/apop * * @param cookie cookie * @param user username * @param resp response received * @return authentication value */ public abstract authResult authUserApop(String cookie, String user, String resp); /** * authenticate user by username/pubkey * * @param key public key * @param algo hash algorithm * @param algn sign algorithm * @param chal challenge * @param user username * @param resp response received * @return authentication value */ public abstract authResult authUserPkey(cryKeyGeneric key, cryHashGeneric algo, String algn, byte[] chal, String user, byte[] resp); /** * check user by username/pubkey * * @param key public key * @param user username * @return authentication value */ public abstract authResult authUserPkey(cryKeyGeneric key, String user); /** * authenticate user by username * * @param user username * @return authentication value */ public abstract authResult authUserNone(String user); /** * get running configuration * * @param beg beginning string * @param filter filter defaults * @return string list */ public abstract List getShRun(String beg, int filter); /** * get help text * * @param l where to store */ public abstract void getHelp(userHelp l); /** * get config text * * @return text */ public abstract String getCfgName(); /** * parse commands * * @param cmd commands * @return true if error happened */ public abstract boolean fromString(cmds cmd); /** * get show * * @return show */ public abstract userFormat getShowSpec(); /** * convert to string * * @return string */ public String toString() { return autName; } public int compareTo(authGeneric o) { return autName.toLowerCase().compareTo(o.autName.toLowerCase()); } /** * get show * * @return show */ public userFormat getShowGlob() { userFormat res = new userFormat("|", "reply|times|ago|last"); res.add("ok|" + sawOk + "|" + bits.timePast(lastOk) + "|" + bits.time2str(cfgAll.timeZoneName, lastOk + cfgAll.timeServerOffset, 3)); res.add("fail|" + sawFail + "|" + bits.timePast(lastFail) + "|" + bits.time2str(cfgAll.timeZoneName, lastFail + cfgAll.timeServerOffset, 3)); res.add("error|" + sawErr + "|" + bits.timePast(lastErr) + "|" + bits.time2str(cfgAll.timeZoneName, lastErr + cfgAll.timeServerOffset, 3)); return res; } /** * convert route to prefix * * @param trg target * @param src route */ public static void route2prefix(tabListing trg, String src) { src = src.trim(); int i = src.indexOf(" "); if (i >= 0) { src = src.substring(0, i); } tabPrfxlstN ntry = new tabPrfxlstN(); if (ntry.fromString(src)) { return; } ntry.sequence = trg.nextseq(); ntry.action = tabListingEntry.actionType.actPermit; trg.add(ntry); } /** * convert route list to prefixes * * @param src route * @return converted */ public static tabListing route2prefixes(String src) { tabListing res = new tabListing(); res.listName = "converted"; route2prefix(res, src); if (res.size() < 1) { return null; } return res; } /** * convert route list to prefixes * * @param src list * @return converted */ public static tabListing routes2prefixes(List src) { tabListing res = new tabListing(); res.listName = "converted"; for (int i = 0; i < src.size(); i++) { route2prefix(res, src.get(i)); } if (res.size() < 1) { return null; } return res; } } freeRtr-25.11.9/src/org/freertr/auth/authLdap.java000066400000000000000000000132341510423065500217030ustar00rootroot00000000000000package org.freertr.auth; import java.util.ArrayList; import java.util.List; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgProxy; import org.freertr.clnt.clntLdap; import org.freertr.clnt.clntProxy; import org.freertr.cry.cryHashGeneric; import org.freertr.cry.cryKeyGeneric; import org.freertr.user.userFormat; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.counter; /** * ldap authentication * * @author matecsaba */ public class authLdap extends authGeneric { /** * create instance */ public authLdap() { } /** * target server */ public String server = null; /** * prefix */ public String prefix = null; /** * suffix */ public String suffix = null; /** * target port */ public int port; /** * default privilege */ public int privilege = 15; /** * proxy to use */ public clntProxy proxy; public String getCfgName() { return "ldap"; } public List getShRun(String beg, int filter) { List l = new ArrayList(); cmds.cfgLine(l, port < 1, beg, "port", "" + port); cmds.cfgLine(l, server == null, beg, "server", server); cmds.cfgLine(l, prefix == null, beg, "prefix", prefix); cmds.cfgLine(l, suffix == null, beg, "suffix", suffix); cmds.cfgLine(l, proxy == null, beg, "proxy", "" + proxy); l.add(beg + "privilege " + privilege); return l; } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2}, "server", "specify server"); l.add(null, false, 2, new int[]{-1}, "", "name of server"); l.add(null, false, 1, new int[]{2}, "prefix", "specify prefix"); l.add(null, false, 2, new int[]{-1}, "", "bind prefix"); l.add(null, false, 1, new int[]{2}, "suffix", "specify suffix"); l.add(null, false, 2, new int[]{-1}, "", "bind suffix"); l.add(null, false, 1, new int[]{2}, "port", "set port number"); l.add(null, false, 2, new int[]{-1}, "", "port number"); l.add(null, false, 1, new int[]{2}, "privilege", "set default privilege"); l.add(null, false, 2, new int[]{-1}, "", "privilege of terminal"); l.add(null, false, 1, new int[]{2}, "proxy", "set proxy to use"); l.add(null, false, 2, new int[]{-1}, "", "proxy profile"); } public boolean fromString(cmds cmd) { String s = cmd.word(); if (s.equals("server")) { server = cmd.word(); return false; } if (s.equals("prefix")) { prefix = authLocal.passwdDecode(cmd.word()); return false; } if (s.equals("suffix")) { suffix = authLocal.passwdDecode(cmd.word()); return false; } if (s.equals("privilege")) { privilege = bits.str2num(cmd.word()); return false; } if (s.equals("port")) { port = bits.str2num(cmd.word()); return false; } if (s.equals("proxy")) { cfgProxy prx = cfgAll.proxyFind(cmd.word(), false); if (prx == null) { cmd.error("no such proxy"); return false; } proxy = prx.proxy; return false; } if (!s.equals(cmds.negated)) { return true; } s = cmd.word(); if (s.equals("server")) { server = null; return false; } if (s.equals("prefix")) { prefix = null; return false; } if (s.equals("suffix")) { suffix = null; return false; } if (s.equals("proxy")) { proxy = null; return false; } if (s.equals("port")) { port = 0; return false; } return true; } public userFormat getShowSpec() { return null; } public authResult authUserApop(String cookie, String user, String resp) { return new authResult(this, authResult.authServerError, user, ""); } public authResult authUserPkey(cryKeyGeneric key, String user) { return new authResult(this, authResult.authServerError, user, ""); } public authResult authUserPkey(cryKeyGeneric key, cryHashGeneric algo, String algn, byte[] chal, String user, byte[] resp) { return new authResult(this, authResult.authServerError, user, ""); } public authResult authUserNone(String user) { return new authResult(this, authResult.authServerError, user, ""); } public authResult authUserCommand(String user, String cmd) { return new authResult(this, authResult.authServerError, user, cmd); } public authResult acntUserSession(String user, String addr, int sess, counter cntr, int stat) { return new authResult(this, authResult.authServerError, user, ""); } public authResult authUserChap(String user, int id, byte[] chal, byte[] resp) { return new authResult(this, authResult.authServerError, user, ""); } public authResult authUserPass(String user, String pass) { clntLdap lda = new clntLdap(proxy); lda.port = port; lda.server = server; String u = user; if (prefix != null) { u = prefix + u; } if (suffix != null) { u = u + suffix; } if (lda.doPap(u, pass)) { return new authResult(this, authResult.authServerError, user, pass); } return lda.checkAuthenResult(this, privilege); } } freeRtr-25.11.9/src/org/freertr/auth/authList.java000066400000000000000000000211511510423065500217330ustar00rootroot00000000000000package org.freertr.auth; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgAuther; import org.freertr.cry.cryHashGeneric; import org.freertr.cry.cryKeyGeneric; import org.freertr.tab.tabAuthlstN; import org.freertr.tab.tabListing; import org.freertr.user.userFormat; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.counter; /** * list of methods * * @author matecsaba */ public class authList extends authGeneric { /** * create instance */ public authList() { } private tabListing methods = new tabListing(); public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2}, "sequence", "select sequence number"); l.add(null, false, 2, new int[]{3}, "", "number of entry"); l.add(null, false, 3, new int[]{-1}, "", "name of authenticator"); l.add(null, false, 1, new int[]{2, -1}, "reindex", "reindex prefix list"); l.add(null, false, 2, new int[]{3, -1}, "[num]", "initial number to start with"); l.add(null, false, 3, new int[]{-1}, "[num]", "increment number"); } public List getShRun(String beg, int filter) { List l = new ArrayList(); l.addAll(methods.dump(cmds.tabulator, filter)); return l; } public String getCfgName() { return "list"; } public boolean fromString(cmds cmd) { String a = cmd.word(); if (a.equals(cmds.negated)) { a = cmd.word(); if (a.equals("sequence")) { tabAuthlstN ntry = new tabAuthlstN(); ntry.sequence = bits.str2num(cmd.word()); if (methods.del(ntry)) { cmd.error("invalid sequence"); return false; } return false; } cmd.badCmd(); return false; } if (a.equals("reindex")) { int i = bits.str2num(cmd.word()); methods.reindex(i, bits.str2num(cmd.word())); return false; } int seq = methods.nextseq(); if (a.equals("sequence")) { seq = bits.str2num(cmd.word()); a = cmd.word(); } tabAuthlstN ntry = new tabAuthlstN(); ntry.sequence = seq; cfgAuther auth = cfgAll.autherFind(a, null); if (auth == null) { cmd.error("no such method"); return false; } if (auth.name.equals(autName)) { cmd.error("loop detected"); return false; } ntry.auth = auth.getAuther(); methods.add(ntry); return false; } public userFormat getShowSpec() { userFormat res = new userFormat("|", "aaa|times|ago|last"); for (int i = 0; i < methods.size(); i++) { tabAuthlstN ntry = methods.get(i); if (ntry == null) { continue; } res.add(ntry.auth.autName + "|" + ntry.timeout + "|" + bits.timePast(ntry.lastMatch) + "|" + bits.time2str(cfgAll.timeZoneName, ntry.lastMatch + cfgAll.timeServerOffset, 3)); } return res; } public authResult authUserPass(String user, String pass) { for (int i = 0; i < methods.size(); i++) { tabAuthlstN ntry = methods.get(i); if (ntry == null) { continue; } ntry.timeout++; ntry.lastMatch = bits.getTime(); authResult res = ntry.auth.authUserPass(user, pass); if (res == null) { continue; } if (res.result == authResult.authServerError) { continue; } return res; } return new authResult(this, authResult.authServerError, user, pass); } public authResult authUserCommand(String user, String cmd) { for (int i = 0; i < methods.size(); i++) { tabAuthlstN ntry = methods.get(i); if (ntry == null) { continue; } ntry.timeout++; ntry.lastMatch = bits.getTime(); authResult res = ntry.auth.authUserCommand(user, cmd); if (res == null) { continue; } if (res.result == authResult.authServerError) { continue; } return res; } return new authResult(this, authResult.authServerError, user, cmd); } public authResult acntUserSession(String user, String addr, int sess, counter cntr, int stat) { for (int i = 0; i < methods.size(); i++) { tabAuthlstN ntry = methods.get(i); if (ntry == null) { continue; } ntry.timeout++; ntry.lastMatch = bits.getTime(); authResult res = ntry.auth.acntUserSession(user, addr, sess, cntr, stat); if (res == null) { continue; } if (res.result == authResult.authServerError) { continue; } return res; } return new authResult(this, authResult.authServerError, user, ""); } public authResult authUserChap(String user, int id, byte[] chal, byte[] resp) { for (int i = 0; i < methods.size(); i++) { tabAuthlstN ntry = methods.get(i); if (ntry == null) { continue; } ntry.timeout++; ntry.lastMatch = bits.getTime(); authResult res = ntry.auth.authUserChap(user, id, chal, resp); if (res == null) { continue; } if (res.result == authResult.authServerError) { continue; } return res; } return new authResult(this, authResult.authServerError, user, ""); } public authResult authUserApop(String cookie, String user, String resp) { for (int i = 0; i < methods.size(); i++) { tabAuthlstN ntry = methods.get(i); if (ntry == null) { continue; } ntry.timeout++; ntry.lastMatch = bits.getTime(); authResult res = ntry.auth.authUserApop(cookie, user, resp); if (res == null) { continue; } if (res.result == authResult.authServerError) { continue; } return res; } return new authResult(this, authResult.authServerError, user, ""); } public authResult authUserPkey(cryKeyGeneric key, String user) { for (int i = 0; i < methods.size(); i++) { tabAuthlstN ntry = methods.get(i); if (ntry == null) { continue; } ntry.timeout++; ntry.lastMatch = bits.getTime(); authResult res = ntry.auth.authUserPkey(key, user); if (res == null) { continue; } if (res.result == authResult.authServerError) { continue; } return res; } return new authResult(this, authResult.authServerError, user, ""); } public authResult authUserPkey(cryKeyGeneric key, cryHashGeneric algo, String algn, byte[] chal, String user, byte[] resp) { for (int i = 0; i < methods.size(); i++) { tabAuthlstN ntry = methods.get(i); if (ntry == null) { continue; } authResult res = ntry.auth.authUserPkey(key, algo, algn, chal, user, resp); if (res == null) { continue; } ntry.timeout++; ntry.lastMatch = bits.getTime(); if (res.result == authResult.authServerError) { continue; } return res; } return new authResult(this, authResult.authServerError, user, ""); } public authResult authUserNone(String user) { for (int i = 0; i < methods.size(); i++) { tabAuthlstN ntry = methods.get(i); if (ntry == null) { continue; } ntry.timeout++; ntry.lastMatch = bits.getTime(); authResult res = ntry.auth.authUserNone(user); if (res == null) { continue; } if (res.result == authResult.authServerError) { continue; } return res; } return new authResult(this, authResult.authServerError, user, ""); } } freeRtr-25.11.9/src/org/freertr/auth/authLocal.java000066400000000000000000000732311510423065500220600ustar00rootroot00000000000000package org.freertr.auth; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrEui; import org.freertr.addr.addrIPv4; import org.freertr.addr.addrIPv6; import org.freertr.cfg.cfgAll; import org.freertr.enc.encBase64; import org.freertr.cry.cryEncrCTRaes; import org.freertr.cry.cryEncrGeneric; import org.freertr.cry.cryHashGeneric; import org.freertr.cry.cryHashHmac; import org.freertr.cry.cryHashSha1; import org.freertr.cry.cryHashSha2224; import org.freertr.cry.cryHashSha2256; import org.freertr.cry.cryKeyGeneric; import org.freertr.serv.servPop3; import org.freertr.tab.tabGen; import org.freertr.user.userFormat; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.counter; /** * local user database * * @author matecsaba */ public class authLocal extends authGeneric { private tabGen users; private List forbidden; private List commands; /** * password beginning */ protected final static String passwdBeg = "$v10$"; /** * credential beginning */ protected final static String cryptoBeg = "$w10$"; /** * secret beginning */ protected final static String secretBeg = "$V10$"; /** * removed secret */ protected final static String removedEnd = "$"; /** * hide password * * @param str cleartext password to encode * @param hide hide password * @return encoded password */ public static String passwdHide(String str, boolean hide) { if (str == null) { return null; } if (hide) { return passwdBeg + removedEnd; } return passwdBeg + encBase64.encodeString(str); } /** * encode password * * @param str cleartext password to encode * @param hide hide password * @return encoded password */ public static String passwdEncode(String str, boolean hide) { if (str == null) { return null; } if (hide) { return cryptoBeg + removedEnd; } if ((cfgAll.passEnc == null) && (cfgAll.passEnh == null)) { return passwdHide(str, hide); } cryEncrGeneric c = new cryEncrCTRaes(); cryHashGeneric h1 = new cryHashSha2256(); cryHashGeneric h2 = new cryHashSha2224(); h1.init(); h2.init(); if (cfgAll.passEnh != null) { h1.update(cfgAll.passEnh.getBytes()); h2.update(cfgAll.passEnh.getBytes()); } if (cfgAll.passEnc != null) { h1.update(cfgAll.passEnc.getBytes()); h2.update(cfgAll.passEnc.getBytes()); } byte[] buf1 = h1.finish(); byte[] buf2 = h2.finish(); byte[] buf3 = new byte[c.getKeySize()]; bits.byteCopy(buf1, 0, buf3, 0, buf3.length); int i = c.getBlockSize(); buf1 = new byte[i]; bits.byteCopy(buf2, 0, buf1, 0, i); c.init(buf3, buf1, true); buf1 = str.getBytes(); buf2 = new byte[i - (buf1.length % i)]; buf1 = bits.byteConcat(buf1, buf2); c.update(buf1, 0, buf1.length); return cryptoBeg + encBase64.encodeBytes(buf1); } /** * decode password * * @param str encoded password * @return cleartext password */ public static String passwdDecode(String str) { if (str == null) { return null; } if (str.startsWith(passwdBeg)) { str = str.substring(passwdBeg.length(), str.length()); str = encBase64.decodeString(str); return str; } if (!str.startsWith(cryptoBeg)) { return str; } str = str.substring(passwdBeg.length(), str.length()); if ((cfgAll.passEnc == null) && (cfgAll.passEnh == null)) { return null; } cryEncrGeneric c = new cryEncrCTRaes(); cryHashGeneric h1 = new cryHashSha2256(); cryHashGeneric h2 = new cryHashSha2224(); h1.init(); h2.init(); if (cfgAll.passEnh != null) { h1.update(cfgAll.passEnh.getBytes()); h2.update(cfgAll.passEnh.getBytes()); } if (cfgAll.passEnc != null) { h1.update(cfgAll.passEnc.getBytes()); h2.update(cfgAll.passEnc.getBytes()); } byte[] buf1 = h1.finish(); byte[] buf2 = h2.finish(); byte[] buf3 = new byte[c.getKeySize()]; bits.byteCopy(buf1, 0, buf3, 0, buf3.length); int i = c.getBlockSize(); buf1 = new byte[i]; bits.byteCopy(buf2, 0, buf1, 0, i); c.init(buf3, buf1, false); buf1 = encBase64.decodeBytes(str); if (buf1 == null) { return null; } c.update(buf1, 0, buf1.length); int o = -1; for (i = buf1.length - 1; i >= 0; i--) { if (buf1[i] == 0) { o = i; } } if (o < 0) { return null; } buf2 = new byte[o]; bits.byteCopy(buf1, 0, buf2, 0, buf2.length); return new String(buf2); } /** * compress password * * @param k key to use * @param s password to compress * @return compressed password */ private static byte[] hashPass(byte[] k, String s) { cryHashGeneric h = new cryHashHmac(new cryHashSha2256(), k); h.init(); h.update(s.getBytes()); return bits.byteConcat(k, h.finish()); } /** * test one password * * @param sec secret to use * @param pass password to check * @return true if error, false if match */ public static boolean secretTest(byte[] sec, String pass) { if (sec == null) { return true; } byte[] buf = new byte[sec[0]]; bits.byteCopy(sec, 0, buf, 0, buf.length); buf = hashPass(buf, pass); return bits.byteComp(sec, 0, buf, 0, buf.length) != 0; } /** * decode secret * * @param s secret to decode * @return decoded */ public static byte[] secretDecode(String s) { if (s.startsWith(secretBeg)) { s = s.substring(5, s.length()); return encBase64.decodeBytes(s); } byte[] buf = new byte[32 + bits.random(0, 16)]; for (int i = 1; i < buf.length; i++) { buf[i] = (byte) bits.randomB(); } buf[0] = (byte) buf.length; return hashPass(buf, s); } /** * encode secret * * @param sec secret to encode * @param hide hide password * @return encoded */ public static String secretEncode(byte[] sec, boolean hide) { if (sec == null) { return null; } if (hide) { return secretBeg + removedEnd; } return secretBeg + encBase64.encodeBytes(sec); } /** * create new user list */ public authLocal() { users = new tabGen(); forbidden = new ArrayList(); commands = new ArrayList(); } /** * get name * * @return name */ public String getCfgName() { return "userlist"; } /** * get help * * @param l help */ public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2}, "allowed", "allow one command"); l.add(null, false, 2, new int[]{2, -1}, "", "command"); l.add(null, false, 1, new int[]{2}, "forbidden", "forbid one command"); l.add(null, false, 2, new int[]{2, -1}, "", "command"); l.add(null, false, 1, new int[]{2}, "username", "create or update user"); List lst = new ArrayList(); for (int i = 0; i < users.size(); i++) { lst.add(users.get(i).username); } l.add(lst, false, 2, new int[]{3, -1}, "", "name of user, * for any"); l.add(null, false, 3, new int[]{4}, "password", "set password of user"); l.add(null, false, 4, new int[]{4, -1}, "[text]", "password of user"); l.add(null, false, 3, new int[]{4}, "pubkey", "set ssh key of user"); l.add(null, false, 4, new int[]{4, -1}, "[text]", "public key of user"); l.add(null, false, 3, new int[]{4}, "secret", "set secret of user"); l.add(null, false, 4, new int[]{4, -1}, "[text]", "secret of user"); l.add(null, false, 3, new int[]{4}, "otpseed", "set seed of user"); l.add(null, false, 4, new int[]{4, -1}, "[text]", "seed of user"); l.add(null, false, 3, new int[]{4}, "otppass", "set seed of user"); l.add(null, false, 4, new int[]{5}, "", "length of tokencode"); l.add(null, false, 5, new int[]{5, -1}, "[text]", "seed of user"); l.add(null, false, 3, new int[]{4}, "autocommand", "set automatic command"); l.add(null, false, 4, new int[]{4, -1}, "[text]", "autocommand of user"); l.add(null, false, 3, new int[]{4}, "countdown", "set counter"); l.add(null, false, 4, new int[]{-1}, "", "login counter"); l.add(null, false, 3, new int[]{-1}, "anypass", "any password will be accepted"); l.add(null, false, 3, new int[]{-1}, "anykey", "any pubkey will be accepted"); l.add(null, false, 3, new int[]{-1}, "anything", "refused auth will be accepted"); l.add(null, false, 3, new int[]{-1}, "autohangup", "disconnect user after autocommand"); l.add(null, false, 3, new int[]{4}, "ipv4addr", "specify ipv4 address"); l.add(null, false, 4, new int[]{-1}, "", "address"); l.add(null, false, 3, new int[]{4}, "ipv4route", "specify ipv4 route"); l.add(null, false, 4, new int[]{4, -1}, "[text]", "route"); l.add(null, false, 3, new int[]{4}, "ipv6addr", "specify ipv6 address"); l.add(null, false, 4, new int[]{-1}, "", "address"); l.add(null, false, 3, new int[]{4}, "ipv6ifid", "specify ipv6 interface id"); l.add(null, false, 4, new int[]{-1}, "", "address"); l.add(null, false, 3, new int[]{4}, "ipv6route", "specify ipv6 route"); l.add(null, false, 4, new int[]{4, -1}, "[text]", "route"); l.add(null, false, 3, new int[]{4}, "privilege", "set privilege level of user"); l.add(null, false, 4, new int[]{-1}, "", "privilege of user"); l.add(null, false, 3, new int[]{4}, "filter", "specify filter id"); l.add(null, false, 4, new int[]{4, -1}, "[text]", "string"); } /** * convert from string * * @param cmd string * @return false on success, true on error */ public boolean fromString(cmds cmd) { String a = cmd.word(); boolean negated = false; if (a.equals(cmds.negated)) { negated = true; a = cmd.word(); } if (a.equals("forbidden")) { a = cmd.getRemaining().trim(); if (negated) { forbidden.remove(a); } else { forbidden.add(a); } return false; } if (a.equals("allowed")) { a = cmd.getRemaining().trim(); if (negated) { commands.remove(a); } else { commands.add(a); } return false; } if (!a.equals("username")) { return true; } a = cmd.word().trim(); if (a.length() < 1) { return true; } authLocalEntry ntry = new authLocalEntry(); ntry.username = a; authLocalEntry old = users.add(ntry); if (old != null) { ntry = old; } if (negated && (cmd.size() < 2)) { users.del(ntry); return false; } return ntry.fromString(negated, cmd); } /** * get config * * @param beg beginning * @return config */ public List getShRun(String beg, int filter) { List l = new ArrayList(); for (int i = 0; i < users.size(); i++) { authLocalEntry ntry = users.get(i); ntry.getShRun(beg, l, filter); } for (int i = 0; i < forbidden.size(); i++) { l.add(beg + "forbidden " + forbidden.get(i)); } for (int i = 0; i < commands.size(); i++) { l.add(beg + "allowed " + commands.get(i)); } return l; } /** * get show * * @return show */ public userFormat getShowSpec() { userFormat res = new userFormat("|", "user|times|ago|last"); for (int i = 0; i < users.size(); i++) { authLocalEntry ntry = users.get(i); if (ntry == null) { continue; } res.add(ntry.username + "|" + ntry.matches + "|" + bits.timePast(ntry.lastMatch) + "|" + bits.time2str(cfgAll.timeZoneName, ntry.lastMatch + cfgAll.timeServerOffset, 3)); } return res; } /** * create passed result * * @param ntry entry * @param user username * @param pass password * @return result */ private authResult createPassed(authLocalEntry ntry, String user, String pass) { authResult res = new authResult(this, authResult.authSuccessful, user, pass); res.autoCommand = ntry.autoCommand; res.autoHangup = ntry.autoHangup; res.privilege = ntry.privilege; if (ntry.filterid != null) { res.filter = ntry.filterid; } if (ntry.ipv4addr != null) { res.ipv4addr = ntry.ipv4addr.copyBytes(); } if (ntry.ipv4route != null) { res.ipv4route = ntry.ipv4route; } if (ntry.ipv6addr != null) { res.ipv6addr = ntry.ipv6addr.copyBytes(); } if (ntry.ipv6ifid != null) { res.ipv6ifid = ntry.ipv6ifid.copyBytes(); } if (ntry.ipv6route != null) { res.ipv6route = ntry.ipv6route; } return res; } private authLocalEntry findUser(String user) { authLocalEntry ntry = new authLocalEntry(); ntry.username = user; ntry = users.find(ntry); if (ntry == null) { ntry = new authLocalEntry(); ntry.username = "*"; ntry = users.find(ntry); } if (ntry == null) { return null; } ntry.matches++; ntry.lastMatch = bits.getTime(); if (ntry.countdown == 0) { return null; } if (ntry.countdown >= 0) { ntry.countdown--; } return ntry; } /** * authenticate with password * * @param user username * @param pass password * @return result */ public authResult authUserPass(String user, String pass) { authLocalEntry ntry = findUser(user); if (ntry == null) { return new authResult(this, authResult.authBadUserPass, user, pass); } if (ntry.anyPass) { return createPassed(ntry, user, pass); } if (ntry.otpseed != null) { List lst = ntry.getOtpPass(); for (int i = 0; i < lst.size(); i++) { if (lst.get(i).equals(pass)) { return createPassed(ntry, user, pass); } } return new authResult(this, authResult.authBadUserPass, user, pass); } if (ntry.secret != null) { if (authLocal.secretTest(ntry.secret, pass)) { return new authResult(this, authResult.authBadUserPass, user, pass); } return createPassed(ntry, user, pass); } if (ntry.password != null) { if (!ntry.password.equals(pass)) { return new authResult(this, authResult.authBadUserPass, user, pass); } return createPassed(ntry, user, pass); } return new authResult(this, authResult.authBadUserPass, user, pass); } /** * authorize command * * @param user username * @param cmd command * @return result */ public authResult authUserCommand(String user, String cmd) { cmd = cmd.trim().toLowerCase(); for (int i = 0; i < forbidden.size(); i++) { if (cmd.matches(forbidden.get(i))) { return new authResult(this, authResult.authBadUserPass, user, cmd); } } for (int i = 0; i < commands.size(); i++) { if (cmd.matches(commands.get(i))) { return new authResult(this, authResult.authSuccessful, user, cmd); } } return new authResult(this, authResult.authBadUserPass, user, cmd); } /** * account user session * * @param user username * @param addr address * @param sess session * @param cntr counter * @param stat status, 1=start, 2=stop, 3=update * @return accounting value */ public authResult acntUserSession(String user, String addr, int sess, counter cntr, int stat) { return new authResult(this, authResult.authSuccessful, user, ""); } /** * authenticate with chap * * @param user username * @param id id * @param chal challenge * @param resp response * @return result */ public authResult authUserChap(String user, int id, byte[] chal, byte[] resp) { authLocalEntry ntry = findUser(user); if (ntry == null) { return new authResult(this, authResult.authBadUserPass, user, ""); } if (ntry.anyPass) { return createPassed(ntry, user, ""); } if (ntry.password == null) { return new authResult(this, authResult.authBadUserPass, user, ""); } byte[] buf = autherChap.calcAuthHash(id, ntry.password, chal); if (bits.byteComp(buf, 0, resp, 0, buf.length) != 0) { return new authResult(this, authResult.authBadUserPass, user, ""); } return createPassed(ntry, user, ""); } /** * authenticate with apop * * @param cookie cookie * @param user username * @param resp response * @return result */ public authResult authUserApop(String cookie, String user, String resp) { authLocalEntry ntry = findUser(user); if (ntry == null) { return new authResult(this, authResult.authBadUserPass, user, ""); } if (ntry.anyPass) { return createPassed(ntry, user, ""); } if (ntry.password == null) { return new authResult(this, authResult.authBadUserPass, user, ""); } if (servPop3.calcApop(cookie, ntry.password).compareTo(resp.toLowerCase()) != 0) { return new authResult(this, authResult.authBadUserPass, user, ""); } return createPassed(ntry, user, ""); } /** * check user by username/pubkey * * @param key public key * @param user username * @return authentication value */ public authResult authUserPkey(cryKeyGeneric key, String user) { authLocalEntry ntry = findUser(user); if (ntry == null) { return new authResult(this, authResult.authBadUserPass, user, ""); } if (ntry.anyKey) { return createPassed(ntry, user, ""); } if (ntry.pubkey == null) { return new authResult(this, authResult.authBadUserPass, user, ""); } if (ntry.checkPkey(key)) { return new authResult(this, authResult.authBadUserPass, user, ""); } return createPassed(ntry, user, ""); } /** * authenticate user by username/pubkey * * @param key public key * @param algo hash algorithm * @param algn sign algorithm * @param chal challenge * @param user username * @param resp response received * @return authentication value */ public authResult authUserPkey(cryKeyGeneric key, cryHashGeneric algo, String algn, byte[] chal, String user, byte[] resp) { authLocalEntry ntry = findUser(user); if (ntry == null) { return new authResult(this, authResult.authBadUserPass, user, ""); } if (ntry.anyKey) { return createPassed(ntry, user, ""); } if (ntry.checkPkey(key)) { return new authResult(this, authResult.authBadUserPass, user, ""); } if (key.sshVerify(algo, algn, chal, resp)) { return new authResult(this, authResult.authBadUserPass, user, ""); } return createPassed(ntry, user, ""); } /** * authenticate user by username * * @param user username * @return authentication value */ public authResult authUserNone(String user) { authLocalEntry ntry = findUser(user); if (ntry == null) { return new authResult(this, authResult.authBadUserPass, user, ""); } if (!ntry.nothing) { return new authResult(this, authResult.authBadUserPass, user, ""); } return createPassed(ntry, user, ""); } } /** * one user record * * @author matecsaba */ class authLocalEntry implements Comparable { /** * times matched */ public int matches; /** * last matched */ public long lastMatch; /** * name of user */ public String username = ""; /** * password of user */ public String password = null; /** * secret of user */ public byte[] secret; /** * one time password */ public byte[] otpseed; /** * ssh public key */ public byte[] pubkey; /** * accept any password */ public boolean anyPass; /** * accept any public key */ public boolean anyKey; /** * accept refused authentication */ public boolean nothing; /** * command to use on login */ public String autoCommand = ""; /** * terminate session after command */ public boolean autoHangup = false; /** * privilege of user */ public int privilege = 15; /** * filter id of user */ public String filterid; /** * usage counter */ public int countdown = -1; /** * ipv4 address */ public addrIPv4 ipv4addr; /** * ipv4 routes */ public String ipv4route; /** * ipv6 address */ public addrIPv6 ipv6addr; /** * ipv6 interface id */ public addrEui ipv6ifid; /** * ipv6 routes */ public String ipv6route; /** * get running configuration * * @param beg beginning string * @param lst list to append */ public void getShRun(String beg, List lst, int filter) { beg += "username " + username; lst.add(beg); beg += " "; if (password != null) { lst.add(beg + "password " + authLocal.passwdEncode(password, (filter & 2) != 0)); } if (secret != null) { lst.add(beg + "secret " + authLocal.secretEncode(secret, (filter & 2) != 0)); } if (otpseed != null) { lst.add(beg + "otpseed " + authLocal.passwdEncode(new String(otpseed), (filter & 2) != 0)); } if (pubkey != null) { lst.add(beg + "pubkey " + encBase64.encodeBytes(pubkey)); } if (autoHangup) { lst.add(beg + "autohangup"); } if (countdown >= 0) { lst.add(beg + "countdown " + countdown); } if (filterid != null) { lst.add(beg + "filter " + filterid); } if (anyPass) { lst.add(beg + "anypass"); } if (anyKey) { lst.add(beg + "anykey"); } if (nothing) { lst.add(beg + "anything"); } if (ipv4addr != null) { lst.add(beg + "ipv4addr " + ipv4addr); } if (ipv4route != null) { lst.add(beg + "ipv4route " + ipv4route); } if (ipv6addr != null) { lst.add(beg + "ipv6addr " + ipv6addr); } if (ipv6ifid != null) { lst.add(beg + "ipv6ifid " + ipv6ifid); } if (ipv6route != null) { lst.add(beg + "ipv6route " + ipv6route); } lst.add(beg + "autocommand " + autoCommand); lst.add(beg + "privilege " + privilege); } /** * parse commands * * @param neg negated * @param cmd commands * @return true if error happened */ public boolean fromString(boolean neg, cmds cmd) { String s = cmd.word(); if (s.length() < 1) { return false; } if (s.equals("password")) { if (neg) { password = null; return false; } password = authLocal.passwdDecode(cmd.getRemaining()); return false; } if (s.equals("secret")) { if (neg) { secret = null; return false; } secret = authLocal.secretDecode(cmd.getRemaining()); return false; } if (s.equals("pubkey")) { if (neg) { pubkey = null; return false; } pubkey = encBase64.decodeBytes(cmd.getRemaining()); return false; } if (s.equals("otpseed")) { if (neg) { otpseed = null; return false; } s = cmd.getRemaining(); if (s.startsWith(authLocal.passwdBeg)) { otpseed = null; s = authLocal.passwdDecode(s); if (s == null) { return false; } otpseed = s.getBytes(); return false; } byte[] buf1 = new byte[1]; buf1[0] = (byte) bits.str2num(cmd.word()); otpseed = bits.byteConcat(buf1, cmd.getRemaining().getBytes()); return false; } if (s.equals("anypass")) { anyPass = !neg; return false; } if (s.equals("anykey")) { anyKey = !neg; return false; } if (s.equals("anything")) { nothing = !neg; return false; } if (s.equals("countdown")) { if (neg) { countdown = -1; return false; } countdown = bits.str2num(cmd.word()); return false; } if (s.equals("otppass")) { byte[] buf1 = new byte[1]; buf1[0] = (byte) bits.str2num(cmd.word()); otpseed = bits.byteConcat(buf1, cmd.getRemaining().getBytes()); return false; } if (s.equals("autocommand")) { if (neg) { autoCommand = ""; return false; } autoCommand = cmd.getRemaining(); return false; } if (s.equals("autohangup")) { autoHangup = !neg; return false; } if (s.equals("filter")) { if (neg) { filterid = null; return false; } filterid = cmd.getRemaining(); return false; } if (s.equals("ipv4addr")) { if (neg) { ipv4addr = null; return false; } ipv4addr = new addrIPv4(); ipv4addr.fromString(cmd.word()); return false; } if (s.equals("ipv4route")) { if (neg) { ipv4route = null; return false; } ipv4route = cmd.getRemaining(); return false; } if (s.equals("ipv6addr")) { if (neg) { ipv6addr = null; return false; } ipv6addr = new addrIPv6(); ipv6addr.fromString(cmd.word()); return false; } if (s.equals("ipv6ifid")) { if (neg) { ipv6ifid = null; return false; } ipv6ifid = new addrEui(); ipv6ifid.fromString(cmd.word()); return false; } if (s.equals("ipv6route")) { if (neg) { ipv6route = null; return false; } ipv6route = cmd.getRemaining(); return false; } if (s.equals("privilege")) { privilege = bits.str2num(cmd.word()) & 0xf; return false; } return true; } public int compareTo(authLocalEntry o) { return username.toLowerCase().compareTo(o.username.toLowerCase()); } public List getOtpPass() { if (otpseed == null) { return null; } int digs = otpseed[0]; String pref = ""; if (password != null) { pref = "" + password; } byte[] seed = new byte[otpseed.length - 1]; bits.byteCopy(otpseed, 1, seed, 0, seed.length); List lst = new ArrayList(); long tim = (bits.getTime() + cfgAll.timeServerOffset) / 1000; final int range = 10; for (int i = -range; i < range; i += autherOtp.timeInt) { String a = autherOtp.calcTotp(seed, tim + i, autherOtp.timeInt, digs, new cryHashSha1()); lst.add(pref + a); } return lst; } public boolean checkPkey(cryKeyGeneric key) { if (pubkey == null) { return true; } byte[] buf = key.sshWriter(); if (buf.length != pubkey.length) { return true; } if (bits.byteComp(pubkey, 0, buf, 0, buf.length) != 0) { return true; } return false; } } freeRtr-25.11.9/src/org/freertr/auth/authRadius.java000066400000000000000000000130101510423065500222420ustar00rootroot00000000000000package org.freertr.auth; import java.util.ArrayList; import java.util.List; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgProxy; import org.freertr.clnt.clntProxy; import org.freertr.clnt.clntRadius; import org.freertr.cry.cryHashGeneric; import org.freertr.cry.cryKeyGeneric; import org.freertr.user.userFormat; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.counter; /** * radius authentication * * @author matecsaba */ public class authRadius extends authGeneric { /** * create instance */ public authRadius() { } /** * target server */ public String server = null; /** * shared secret */ public String secret; /** * target port */ public int port; /** * default privilege */ public int privilege = 15; /** * proxy to use */ public clntProxy proxy; public String getCfgName() { return "radius"; } public List getShRun(String beg, int filter) { List l = new ArrayList(); cmds.cfgLine(l, port < 1, beg, "port", "" + port); cmds.cfgLine(l, secret == null, beg, "secret", authLocal.passwdEncode(secret, (filter & 2) != 0)); cmds.cfgLine(l, server == null, beg, "server", server); cmds.cfgLine(l, proxy == null, beg, "proxy", "" + proxy); l.add(beg + "privilege " + privilege); return l; } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2}, "server", "specify server"); l.add(null, false, 2, new int[]{-1}, "", "name of server"); l.add(null, false, 1, new int[]{2}, "secret", "specify secret"); l.add(null, false, 2, new int[]{-1}, "", "shared secret"); l.add(null, false, 1, new int[]{2}, "port", "set port number"); l.add(null, false, 2, new int[]{-1}, "", "port number"); l.add(null, false, 1, new int[]{2}, "privilege", "set default privilege"); l.add(null, false, 2, new int[]{-1}, "", "privilege of terminal"); l.add(null, false, 1, new int[]{2}, "proxy", "set proxy to use"); l.add(null, false, 2, new int[]{-1}, "", "proxy profile"); } public boolean fromString(cmds cmd) { String s = cmd.word(); if (s.equals("server")) { server = cmd.word(); return false; } if (s.equals("secret")) { secret = authLocal.passwdDecode(cmd.word()); return false; } if (s.equals("privilege")) { privilege = bits.str2num(cmd.word()); return false; } if (s.equals("port")) { port = bits.str2num(cmd.word()); return false; } if (s.equals("proxy")) { cfgProxy prx = cfgAll.proxyFind(cmd.word(), false); if (prx == null) { cmd.error("no such proxy"); return false; } proxy = prx.proxy; return false; } if (!s.equals(cmds.negated)) { return true; } s = cmd.word(); if (s.equals("server")) { server = null; return false; } if (s.equals("secret")) { secret = null; return false; } if (s.equals("proxy")) { proxy = null; return false; } if (s.equals("port")) { port = 0; return false; } return true; } public userFormat getShowSpec() { return null; } public authResult authUserChap(String user, int id, byte[] chal, byte[] resp) { clntRadius rad = new clntRadius(proxy); rad.port = port; rad.secret = secret; rad.server = server; if (rad.doChap(user, id, chal, resp)) { return new authResult(this, authResult.authServerError, user, ""); } return rad.checkResult(this, privilege); } public authResult authUserApop(String cookie, String user, String resp) { return new authResult(this, authResult.authServerError, user, ""); } public authResult authUserPkey(cryKeyGeneric key, String user) { return new authResult(this, authResult.authServerError, user, ""); } public authResult authUserPkey(cryKeyGeneric key, cryHashGeneric algo, String algn, byte[] chal, String user, byte[] resp) { return new authResult(this, authResult.authServerError, user, ""); } public authResult authUserNone(String user) { return new authResult(this, authResult.authServerError, user, ""); } public authResult authUserCommand(String user, String cmd) { return new authResult(this, authResult.authServerError, user, cmd); } public authResult acntUserSession(String user, String addr, int sess, counter cntr, int stat) { clntRadius rad = new clntRadius(proxy); rad.port = port; rad.secret = secret; rad.server = server; rad.doAcnt(user, addr, sess, cntr, stat); return new authResult(this, authResult.authSuccessful, user, ""); } public authResult authUserPass(String user, String pass) { clntRadius rad = new clntRadius(proxy); rad.port = port; rad.secret = secret; rad.server = server; if (rad.doPap(user, pass)) { return new authResult(this, authResult.authServerError, user, pass); } return rad.checkResult(this, privilege); } } freeRtr-25.11.9/src/org/freertr/auth/authResult.java000066400000000000000000000076031510423065500223040ustar00rootroot00000000000000package org.freertr.auth; import org.freertr.addr.addrEui; import org.freertr.addr.addrIPv4; import org.freertr.addr.addrIPv6; import org.freertr.user.userFormat; import org.freertr.util.bits; import org.freertr.util.logger; /** * result of authentication * * @author matecsaba */ public class authResult { /** * successfully authenticated */ public final static int authSuccessful = 1; /** * bad authentication data */ public final static int authBadUserPass = 2; /** * server error */ public final static int authServerError = 3; /** * result of authentication */ public final int result; /** * username authenticated */ public final String user; /** * autocommand to execute */ public String autoCommand = ""; /** * hangup after command */ public boolean autoHangup = false; /** * privilege level */ public int privilege = 0; /** * privilege level */ public String filter; /** * ipv4 address */ public addrIPv4 ipv4addr; /** * ipv4 routes */ public String ipv4route; /** * ipv6 address */ public addrIPv6 ipv6addr; /** * ipv6 interface id */ public addrEui ipv6ifid; /** * ipv6 routes */ public String ipv6route; /** * convert result to string * * @param i result * @return string */ public static String result2string(int i) { switch (i) { case authSuccessful: return "success"; case authBadUserPass: return "badCredentinals"; case authServerError: return "serverError"; default: return "unknown=" + i; } } /** * create new result */ public authResult() { result = authServerError; user = ""; } /** * create new result * * @param lower authenticator * @param res result * @param nam username * @param pwd password */ public authResult(authGeneric lower, int res, String nam, String pwd) { result = res; user = nam; if (lower == null) { return; } if (lower.logPass) { nam = nam + "/" + pwd; } switch (res) { case authServerError: if (lower.logErr) { logger.info("error while authenticating " + nam); } lower.lastErr = bits.getTime(); lower.sawErr++; break; case authBadUserPass: if (lower.logFail) { logger.info("bad user/pass for " + nam); } lower.lastFail = bits.getTime(); lower.sawFail++; break; case authSuccessful: if (lower.logOk) { logger.info("successful for " + nam); } lower.lastOk = bits.getTime(); lower.sawOk++; break; } } public String toString() { return result2string(result) + " privi=" + privilege + " user=" + user; } /** * dump result * * @return result */ public userFormat dump() { userFormat lst = new userFormat("|", "category|value"); lst.add("result|" + result2string(result)); lst.add("username|" + user); lst.add("command|" + autoCommand); lst.add("hangup|" + autoHangup); lst.add("privilege|" + privilege); lst.add("filter|" + filter); lst.add("ipv4 addr|" + ipv4addr); lst.add("ipv4 route|" + ipv4route); lst.add("ipv6 addr|" + ipv6addr); lst.add("ipv6 route|" + ipv6route); lst.add("ipv6 ifid|" + ipv6ifid); return lst; } } freeRtr-25.11.9/src/org/freertr/auth/authTacacs.java000066400000000000000000000127011510423065500222170ustar00rootroot00000000000000package org.freertr.auth; import java.util.ArrayList; import java.util.List; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgProxy; import org.freertr.clnt.clntProxy; import org.freertr.clnt.clntTacacs; import org.freertr.cry.cryHashGeneric; import org.freertr.cry.cryKeyGeneric; import org.freertr.user.userFormat; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.counter; /** * tacacs authentication * * @author matecsaba */ public class authTacacs extends authGeneric { /** * create instance */ public authTacacs() { } /** * target server */ public String server = null; /** * shared secret */ public String secret; /** * target port */ public int port; /** * default privilege */ public int privilege = 15; /** * proxy to use */ public clntProxy proxy; public String getCfgName() { return "tacacs"; } public List getShRun(String beg, int filter) { List l = new ArrayList(); cmds.cfgLine(l, port < 1, beg, "port", "" + port); cmds.cfgLine(l, secret == null, beg, "secret", authLocal.passwdEncode(secret, (filter & 2) != 0)); cmds.cfgLine(l, server == null, beg, "server", server); cmds.cfgLine(l, proxy == null, beg, "proxy", "" + proxy); l.add(beg + "privilege " + privilege); return l; } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2}, "server", "specify server"); l.add(null, false, 2, new int[]{-1}, "", "name of server"); l.add(null, false, 1, new int[]{2}, "secret", "specify secret"); l.add(null, false, 2, new int[]{-1}, "", "shared secret"); l.add(null, false, 1, new int[]{2}, "port", "set port number"); l.add(null, false, 2, new int[]{-1}, "", "port number"); l.add(null, false, 1, new int[]{2}, "privilege", "set default privilege"); l.add(null, false, 2, new int[]{-1}, "", "privilege of terminal"); l.add(null, false, 1, new int[]{2}, "proxy", "set proxy to use"); l.add(null, false, 2, new int[]{-1}, "", "proxy profile"); } public boolean fromString(cmds cmd) { String s = cmd.word(); if (s.equals("server")) { server = cmd.word(); return false; } if (s.equals("secret")) { secret = authLocal.passwdDecode(cmd.word()); return false; } if (s.equals("privilege")) { privilege = bits.str2num(cmd.word()); return false; } if (s.equals("port")) { port = bits.str2num(cmd.word()); return false; } if (s.equals("proxy")) { cfgProxy prx = cfgAll.proxyFind(cmd.word(), false); if (prx == null) { cmd.error("no such proxy"); return false; } proxy = prx.proxy; return false; } if (!s.equals(cmds.negated)) { return true; } s = cmd.word(); if (s.equals("server")) { server = null; return false; } if (s.equals("secret")) { secret = null; return false; } if (s.equals("proxy")) { proxy = null; return false; } if (s.equals("port")) { port = 0; return false; } return true; } public userFormat getShowSpec() { return null; } public authResult authUserChap(String user, int id, byte[] chal, byte[] resp) { clntTacacs tac = new clntTacacs(proxy); tac.port = port; tac.secret = secret; tac.server = server; if (tac.doChap(user, id, chal, resp)) { return new authResult(this, authResult.authServerError, user, ""); } return tac.checkAuthenResult(this, privilege); } public authResult authUserApop(String cookie, String user, String resp) { return new authResult(this, authResult.authServerError, user, ""); } public authResult authUserPkey(cryKeyGeneric key, String user) { return new authResult(this, authResult.authServerError, user, ""); } public authResult authUserPkey(cryKeyGeneric key, cryHashGeneric algo, String algn, byte[] chal, String user, byte[] resp) { return new authResult(this, authResult.authServerError, user, ""); } public authResult authUserNone(String user) { return new authResult(this, authResult.authServerError, user, ""); } public authResult authUserCommand(String user, String cmd) { clntTacacs tac = new clntTacacs(proxy); tac.port = port; tac.secret = secret; tac.server = server; return tac.doCmd(this, user, cmd); } public authResult acntUserSession(String user, String addr, int sess, counter cntr, int stat) { return new authResult(this, authResult.authSuccessful, user, ""); } public authResult authUserPass(String user, String pass) { clntTacacs tac = new clntTacacs(proxy); tac.port = port; tac.secret = secret; tac.server = server; if (tac.doPap(user, pass)) { return new authResult(this, authResult.authServerError, user, pass); } return tac.checkAuthenResult(this, privilege); } } freeRtr-25.11.9/src/org/freertr/auth/authenDown.java000066400000000000000000000011071510423065500222510ustar00rootroot00000000000000package org.freertr.auth; import org.freertr.pack.packHolder; /** * authentication sender * * @author matecsaba */ public interface authenDown { /** * send authentication packet * * @param pck packet to update * @param proto protocol number * @param code code number * @param id id value * @param msg message */ public void sendAuthPack(packHolder pck, int proto, int code, int id, String msg); /** * received authentication packet * * @param msg message */ public void recvAuthPack(String msg); } freeRtr-25.11.9/src/org/freertr/auth/authenHead.java000066400000000000000000000024661510423065500222140ustar00rootroot00000000000000package org.freertr.auth; import org.freertr.pack.packHolder; /** * authentication header * * @author matecsaba */ public class authenHead { /** * create instance */ public authenHead() { } /** * size of header */ public final static int size = 4; /** * code */ public int code; /** * id */ public int id; /** * parse packet * * @param pck packet to parse * @return false on success, true on error */ public boolean parsePack(packHolder pck) { code = pck.getByte(0); // code id = pck.getByte(1); // identification int i = pck.msbGetW(2); // size if (i > pck.dataSize()) { return true; } if (i < size) { return true; } pck.setDataSize(i); pck.getSkip(size); return false; } /** * update packet * * @param pck packet to update */ public void updatePack(packHolder pck) { pck.merge2beg(); pck.putByte(0, code); // code pck.putByte(1, id); // identification pck.msbPutW(2, pck.dataSize() + size); // size pck.putSkip(size); pck.merge2beg(); } public String toString() { return "code=" + code + " id=" + id; } } freeRtr-25.11.9/src/org/freertr/auth/autherChap.java000066400000000000000000000133551510423065500222310ustar00rootroot00000000000000package org.freertr.auth; import org.freertr.cry.cryHashMd5; import org.freertr.pack.packHolder; import org.freertr.util.bits; /** * challenge handshake authentication protocol (rfc1994) * * @author matecsaba */ public class autherChap extends autherDoer { /** * ppp name */ public final static String pppName = "chap"; /** * ppp control type */ public final static int pppCtrl = 0xc223; /** * challenge */ public final static int codeChal = 1; /** * response */ public final static int codeResp = 2; /** * success */ public final static int codeSucc = 3; /** * failure */ public final static int codeFail = 4; private int sentId; private byte[] sentCh; /** * compute auth response * * @param id id received * @param pass password to send * @param chal challenge reveived * @return sum calculated */ public static byte[] calcAuthHash(int id, String pass, byte[] chal) { cryHashMd5 md = new cryHashMd5(); md.init(); md.update(id); md.update(pass.getBytes()); md.update(chal); return md.finish(); } /** * the constructor * * @param prnt parent */ public autherChap(authenDown prnt) { parent = prnt; } /** * convert code to string * * @param i code * @return string */ public static String code2str(int i) { switch (i) { case codeChal: return "challenge"; case codeResp: return "response"; case codeSucc: return "success"; case codeFail: return "failure"; default: return "unknown=" + i; } } protected void authenRecv(packHolder pck, int code, int id) { autherChapMsg msg = new autherChapMsg(); msg.code = code; msg.id = id; if (msg.parsePack(pck)) { return; } if (!working) { return; } working = false; parent.recvAuthPack("" + msg); switch (code) { case codeChal: if (!isClient()) { return; } working = true; msg.code = codeResp; msg.message = sentUser; msg.data = calcAuthHash(id, sentPass, msg.data); msg.createPack(pck); parent.sendAuthPack(pck, pppCtrl, msg.code, msg.id, "" + msg); break; case codeResp: if (isClient()) { return; } if (sentId != msg.id) { parent.recvAuthPack("got bad id"); working = true; return; } result = authenRem.authUserChap(msg.message, sentId, sentCh, msg.data); if (result.result == authResult.authSuccessful) { msg.code = codeSucc; } else { msg.code = codeFail; } msg.message = code2str(msg.code); msg.id = sentId; msg.createPack(pck); parent.sendAuthPack(pck, pppCtrl, msg.code, msg.id, "" + msg); break; case codeSucc: if (!isClient()) { return; } result = new authResult(authenRem, authResult.authSuccessful, sentUser, sentPass); break; case codeFail: if (!isClient()) { return; } result = new authResult(authenRem, authResult.authBadUserPass, sentUser, sentPass); break; default: working = true; break; } } protected void authenSend(packHolder pck) { if (!working) { return; } if (isClient()) { return; } sentId = bits.randomB(); sentCh = new byte[16]; for (int i = 0; i < sentCh.length; i++) { sentCh[i] = (byte) bits.randomB(); } autherChapMsg msg = new autherChapMsg(); msg.code = codeChal; msg.id = sentId; msg.message = ""; msg.data = sentCh; msg.createPack(pck); parent.sendAuthPack(pck, pppCtrl, msg.code, msg.id, "" + msg); return; } } class autherChapMsg { public int code; public int id; public byte[] data; public String message; public boolean needValue() { switch (code) { case autherChap.codeChal: case autherChap.codeResp: return true; default: return false; } } public boolean parsePack(packHolder pck) { if (needValue()) { int i = pck.getByte(0); pck.getSkip(1); data = new byte[i]; pck.getCopy(data, 0, 0, i); pck.getSkip(i); } else { data = new byte[0]; } message = pck.getAsciiZ(0, pck.dataSize(), 0); return false; } public void createPack(packHolder pck) { pck.clear(); if (needValue()) { pck.putByte(0, data.length); pck.putSkip(1); pck.putCopy(data, 0, 0, data.length); pck.putSkip(data.length); } pck.putAsciiZ(0, message.length(), message, 0); pck.putSkip(message.length()); pck.merge2beg(); } public String toString() { return "cod=" + autherChap.code2str(code) + " id=" + id + " msg=" + message + " val=" + bits.byteDump(data, 0, -1); } } freeRtr-25.11.9/src/org/freertr/auth/autherDoer.java000066400000000000000000000100071510423065500222360ustar00rootroot00000000000000package org.freertr.auth; import org.freertr.pack.packHolder; import org.freertr.util.logger; import org.freertr.util.notifier; /** * authentication worker * * @author matecsaba */ public abstract class autherDoer implements Runnable { /** * create instance */ public autherDoer() { } /** * get worker * * @param prnt parent * @param proto protocol id * @return worker */ public static autherDoer getWorker(authenDown prnt, int proto) { switch (proto) { case autherEap.pppCtrl: return new autherEap(prnt); case autherChap.pppCtrl: return new autherChap(prnt); case autherPap.pppCtrl: return new autherPap(prnt); } return null; } /** * get name * * @param proto protocol id * @return name */ public static String getName(int proto) { switch (proto) { case autherEap.pppCtrl: return autherEap.pppName; case autherChap.pppCtrl: return autherChap.pppName; case autherPap.pppCtrl: return autherPap.pppName; default: return "unknown=" + proto; } } /** * the parent */ protected authenDown parent; /** * still working */ public boolean working = true; /** * result */ public authResult result = new authResult(); /** * sent username */ public String sentUser = null; /** * sent password */ public String sentPass = null; /** * authentication list to use for remote */ public authGeneric authenRem = null; private notifier notif = null; private packHolder pendPck = null; private int pendCod; private int pendId; public String toString() { return working + "|" + result; } /** * 9 * received one packet * * @param pck packet received * @param code code * @param id identification */ protected abstract void authenRecv(packHolder pck, int code, int id); /** * send one packet * * @param pck packet to send */ protected abstract void authenSend(packHolder pck); /** * test if this a client or server side * * @return true means client, false means server */ public boolean isClient() { return authenRem == null; } /** * send one request */ public void sendReq() { if ((notif != null) && (pendPck != null)) { return; } packHolder pck = new packHolder(true, true); authenSend(pck); } /** * received one packet * * @param pck packet received * @param code code * @param id identification */ public void recvPck(packHolder pck, int code, int id) { if (notif == null) { authenRecv(pck, code, id); return; } if (pendPck != null) { return; } pendCod = code; pendId = id; pendPck = pck.copyBytes(true, true); notif.wakeup(); } /** * start thread */ public void startThread() { if (notif != null) { return; } notif = new notifier(); new Thread(this).start(); } /** * start thread */ public void stopThread() { notif = null; } private void doWork() { for (;;) { if (!working) { return; } if (notif == null) { return; } notif.sleep(1000); if (pendPck == null) { continue; } authenRecv(pendPck, pendCod, pendId); pendPck = null; } } public void run() { try { doWork(); } catch (Exception e) { logger.traceback(e); } working = false; notif = null; } } freeRtr-25.11.9/src/org/freertr/auth/autherEap.java000066400000000000000000000171751510423065500220670ustar00rootroot00000000000000package org.freertr.auth; import org.freertr.pack.packHolder; import org.freertr.util.bits; /** * extensible authentication protocol (rfc3748) * * @author matecsaba */ public class autherEap extends autherDoer { /** * ppp name */ public final static String pppName = "eap"; /** * ppp control type */ public final static int pppCtrl = 0xc227; /** * request */ public final static int codeReq = 1; /** * response */ public final static int codeRep = 2; /** * success */ public final static int codeSucc = 3; /** * failure */ public final static int codeFail = 4; /** * identity */ public final static int typeId = 1; /** * notification */ public final static int typeNtfy = 2; /** * negative acknowledge */ public final static int typeNak = 3; /** * md5 Challenge */ public final static int typeChal = 4; /** * one time password */ public final static int typeOtp = 5; /** * generic token card */ public final static int typeGtc = 6; private String gotId = null; private int sentId; private byte[] sentCh; /** * the constructor * * @param prnt parent */ public autherEap(authenDown prnt) { parent = prnt; } /** * convert code to string * * @param i code value * @return string value */ public static String code2str(int i) { switch (i) { case codeReq: return "request"; case codeRep: return "response"; case codeSucc: return "success"; case codeFail: return "failure"; default: return "unknown=" + i; } } /** * convert type to string * * @param i type value * @return string value */ public static String type2str(int i) { switch (i) { case typeId: return "identity"; case typeNtfy: return "notification"; case typeNak: return "negativeAcknowledge"; case typeChal: return "md5challenge"; case typeOtp: return "oneTimePassword"; case typeGtc: return "genericTokenCard"; default: return "unknown=" + i; } } protected void authenRecv(packHolder pck, int code, int id) { autherEapMsg msg = new autherEapMsg(); msg.code = code; msg.id = id; if (msg.parsePack(pck)) { return; } if (!working) { return; } working = false; parent.recvAuthPack("" + msg); switch (code) { case codeReq: if (!isClient()) { return; } working = true; switch (msg.type) { case typeId: msg.code = codeRep; msg.message = sentUser; break; case typeChal: msg.code = codeRep; msg.message = sentUser; msg.data = autherChap.calcAuthHash(id, sentPass, msg.data); break; default: return; } msg.createPack(pck); parent.sendAuthPack(pck, pppCtrl, msg.code, msg.id, "" + msg); break; case codeRep: if (isClient()) { return; } switch (msg.type) { case typeId: gotId = "" + msg.message; working = true; break; case typeChal: if (sentId != msg.id) { parent.recvAuthPack("got bad id"); working = true; return; } result = authenRem.authUserChap(gotId, sentId, sentCh, msg.data); if (result.result == authResult.authSuccessful) { msg.code = codeSucc; } else { msg.code = codeFail; } msg.message = code2str(msg.code); msg.id = sentId; msg.createPack(pck); parent.sendAuthPack(pck, pppCtrl, msg.code, msg.id, "" + msg); break; } break; case codeSucc: if (!isClient()) { return; } result = new authResult(authenRem, authResult.authSuccessful, sentUser, sentPass); break; case codeFail: if (!isClient()) { return; } result = new authResult(authenRem, authResult.authBadUserPass, sentUser, sentPass); break; default: working = true; break; } } protected void authenSend(packHolder pck) { if (!working) { return; } if (isClient()) { return; } sentId = bits.randomB(); autherEapMsg msg = new autherEapMsg(); msg.code = codeReq; msg.id = sentId; if (gotId == null) { msg.type = typeId; msg.data = new byte[0]; msg.message = ""; } else { sentCh = new byte[16]; for (int i = 0; i < sentCh.length; i++) { sentCh[i] = (byte) bits.randomB(); } msg.type = typeChal; msg.data = sentCh; msg.message = ""; } msg.createPack(pck); parent.sendAuthPack(pck, pppCtrl, msg.code, msg.id, "" + msg); return; } } class autherEapMsg { public int code; public int id; public int type; public String message; public byte[] data; private boolean needData() { switch (code) { case autherEap.codeReq: case autherEap.codeRep: return true; default: return false; } } public boolean parsePack(packHolder pck) { if (!needData()) { return false; } type = pck.getByte(0); pck.getSkip(1); if (type == autherEap.typeChal) { int i = pck.getByte(0); pck.getSkip(1); data = new byte[i]; pck.getCopy(data, 0, 0, data.length); pck.getSkip(data.length); } message = pck.getAsciiZ(0, pck.dataSize(), 0); return false; } public void createPack(packHolder pck) { pck.clear(); if (!needData()) { return; } pck.putByte(0, type); pck.putSkip(1); if (type == autherEap.typeChal) { pck.putByte(0, data.length); pck.putSkip(1); pck.putCopy(data, 0, 0, data.length); pck.putSkip(data.length); } pck.putAsciiZ(0, message.length(), message, 0); pck.putSkip(message.length()); pck.merge2beg(); } public String toString() { return "cod=" + autherEap.code2str(code) + " id=" + id + " typ=" + autherEap.type2str(type) + " message=" + message + " val=" + bits.byteDump(data, 0, -1); } } freeRtr-25.11.9/src/org/freertr/auth/autherOtp.java000066400000000000000000000025331510423065500221140ustar00rootroot00000000000000package org.freertr.auth; import org.freertr.cry.cryHashGeneric; import org.freertr.cry.cryHashHmac; import org.freertr.util.bits; /** * one time password for events (rfc2289) and time (rfc6238) * * @author matecsaba */ public class autherOtp { private autherOtp() { } /** * time interval */ public final static int timeInt = 30; /** * calculate hotp * * @param key key * @param vnt event * @param digs digits * @param cry crypto * @return result */ public static String calcHotp(byte[] key, long vnt, int digs, cryHashGeneric cry) { final int[] digPow = {1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000}; byte[] buf = new byte[8]; bits.msbPutQ(buf, 0, vnt); buf = cryHashGeneric.compute(new cryHashHmac(cry, key), buf); int i = buf[buf.length - 1] & 0xf; i = bits.msbGetD(buf, i) & 0x7fffffff; return bits.padBeg("" + (i % digPow[digs]), digs, "0"); } /** * calculate totp * * @param key key * @param tim time * @param ntr interval * @param digs digits * @param cry crypto * @return result */ public static String calcTotp(byte[] key, long tim, int ntr, int digs, cryHashGeneric cry) { return calcHotp(key, tim / ntr, digs, cry); } } freeRtr-25.11.9/src/org/freertr/auth/autherPap.java000066400000000000000000000101241510423065500220650ustar00rootroot00000000000000package org.freertr.auth; import org.freertr.pack.packHolder; import org.freertr.util.bits; /** * password authentication protocol (rfc1334) * * @author matecsaba */ public class autherPap extends autherDoer { /** * ppp name */ public final static String pppName = "pap"; /** * ppp control type */ public final static int pppCtrl = 0xc023; /** * Authenticate Request */ public final static int codeReq = 1; /** * Authenticate Ack */ public final static int codeAck = 2; /** * Authenticate Nak */ public final static int codeNak = 3; private int sentId; /** * the constructor * * @param prnt parent */ public autherPap(authenDown prnt) { parent = prnt; } /** * convert code to string * * @param i code * @return string */ public static String code2str(int i) { switch (i) { case codeReq: return "authReq"; case codeAck: return "authAck"; case codeNak: return "authNak"; default: return "unknown=" + i; } } protected void authenRecv(packHolder pck, int code, int id) { autherPapMsg msg = new autherPapMsg(); msg.code = code; msg.id = id; if (msg.parsePack(pck)) { return; } if (!working) { return; } working = false; parent.recvAuthPack("" + msg); switch (code) { case codeReq: if (isClient()) { return; } result = authenRem.authUserPass(msg.user, msg.pass); if (result.result == authResult.authSuccessful) { msg.code = codeAck; } else { msg.code = codeNak; } msg.user = code2str(msg.code); msg.createPack(pck); parent.sendAuthPack(pck, pppCtrl, msg.code, msg.id, "" + msg); break; case codeAck: if (!isClient()) { return; } result = new authResult(authenRem, authResult.authSuccessful, sentUser, sentPass); break; case codeNak: if (!isClient()) { return; } result = new authResult(authenRem, authResult.authBadUserPass, sentUser, sentPass); break; default: working = true; break; } } protected void authenSend(packHolder pck) { if (!working) { return; } if (!isClient()) { return; } sentId = bits.randomB(); autherPapMsg msg = new autherPapMsg(); msg.code = codeReq; msg.id = sentId; msg.user = sentUser; msg.pass = sentPass; msg.createPack(pck); parent.sendAuthPack(pck, pppCtrl, msg.code, msg.id, "" + msg); return; } } class autherPapMsg { public int code; public int id; public String user; public String pass; private String getStr(packHolder pck) { int i = pck.getByte(0); pck.getSkip(1); String s = pck.getAsciiZ(0, i, 0); pck.getSkip(i); return s; } private void putStr(packHolder pck, String s) { pck.putByte(0, s.length()); pck.putSkip(1); pck.putAsciiZ(0, s.length(), s, 0); pck.putSkip(s.length()); } public boolean parsePack(packHolder pck) { user = getStr(pck); if (code == autherPap.codeReq) { pass = getStr(pck); } return false; } public void createPack(packHolder pck) { pck.clear(); putStr(pck, user); if (code == autherPap.codeReq) { putStr(pck, pass); } pck.merge2beg(); } public String toString() { return "cod=" + autherPap.code2str(code) + " id=" + id + " user=" + user; } } freeRtr-25.11.9/src/org/freertr/auth/package-info.java000066400000000000000000000001141510423065500224560ustar00rootroot00000000000000/** * authentication * * @author matecsaba */ package org.freertr.auth; freeRtr-25.11.9/src/org/freertr/cfg/000077500000000000000000000000001510423065500170715ustar00rootroot00000000000000freeRtr-25.11.9/src/org/freertr/cfg/cfgAceslst.java000066400000000000000000000242161510423065500220170ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.tab.tabAceslstN; import org.freertr.tab.tabGen; import org.freertr.tab.tabListing; import org.freertr.tab.tabListingEntry; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; /** * access list configuration * * @author matecsaba */ public class cfgAceslst implements Comparable, cfgGeneric { /** * name of access list */ public String name; /** * description of access list */ public String description; /** * hidden list */ public boolean hidden; /** * list of statements */ public tabListing, addrIP> aceslst; /** * create new access list * * @param s name */ public cfgAceslst(String s) { aceslst = new tabListing, addrIP>(); name = s; aceslst.listName = s; } /** * defaults text */ public final static userFilter[] defaultF = {}; public String toString() { return name; } public List getShRun(int filter) { List l = new ArrayList(); l.add("access-list " + name); if (description != null) { l.add(cmds.tabulator + "description " + description); } if (hidden) { l.add(cmds.tabulator + "hidden"); } if (!hidden) { l.addAll(aceslst.dump(cmds.tabulator, filter)); } l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2}, "sequence", "sequence number of an entry"); l.add(null, false, 2, new int[]{1}, "", "sequence number"); l.add(null, false, 1, new int[]{3, -1}, "description", "specify description"); l.add(null, false, 3, new int[]{3, -1}, "", "text"); l.add(null, false, 1, new int[]{2}, "rename", "rename this access list"); l.add(null, false, 2, new int[]{-1}, "", "set new name"); l.add(null, false, 1, new int[]{-1}, "hidden", "hide the entries"); l.add(null, false, 1, new int[]{3}, "evaluate", "evaluate another list"); l.add(null, false, 3, new int[]{4}, "permit", "specify list to allow"); l.add(null, false, 3, new int[]{4}, "deny", "specify list to forbid"); l.add(null, false, 4, new int[]{-1}, "", "name of list"); l.add(null, false, 1, new int[]{3}, "reflect", "create forward entry on match"); l.add(null, false, 3, new int[]{4}, "", "name of forward list"); l.add(null, false, 4, new int[]{5}, "", "name of reverse list"); l.add(null, false, 5, new int[]{-1}, "", "timeout"); l.add(null, false, 1, new int[]{3}, "permit", "specify networks to allow"); l.add(null, false, 1, new int[]{3}, "deny", "specify networks to forbid"); l.add(null, false, 3, new int[]{4}, "all", "no protocol matching"); l.add(null, false, 3, new int[]{4}, "", "protocol number"); l.add(null, false, 4, new int[]{6}, "any", "no source address matching"); l.add(null, false, 4, new int[]{5}, "obj", "object group source address matching"); l.add(null, false, 4, new int[]{5}, "host", "host source address matching"); l.add(null, false, 4, new int[]{5}, "", "address of source network"); l.add(null, false, 5, new int[]{6}, "", "mask of source network"); l.add(null, false, 6, new int[]{8}, "all", "no source port matching"); l.add(null, false, 6, new int[]{8}, "", "source port"); l.add(null, false, 6, new int[]{7}, "obj", "object group source port matching"); l.add(null, false, 7, new int[]{8}, "", "name of object group"); l.add(null, false, 8, new int[]{10}, "any", "no target address matching"); l.add(null, false, 8, new int[]{9}, "obj", "object group target address matching"); l.add(null, false, 8, new int[]{9}, "host", "host target address matching"); l.add(null, false, 8, new int[]{9}, "", "address of target network"); l.add(null, false, 9, new int[]{10}, "", "mask of target network"); l.add(null, false, 10, new int[]{12, -1}, "all", "no target port matching"); l.add(null, false, 10, new int[]{12, -1}, "", "target port"); l.add(null, false, 10, new int[]{11}, "obj", "object group target port matching"); l.add(null, false, 11, new int[]{12, -1}, "", "name of object group"); l.add(null, false, 12, new int[]{12, -1}, "alrt", "alerted datagrams"); l.add(null, false, 12, new int[]{12, -1}, "frag", "fragmented datagrams"); l.add(null, false, 12, new int[]{13}, "flag", "tcp flags"); l.add(null, false, 13, new int[]{12, -1}, "all", "no flag matching"); l.add(null, false, 13, new int[]{12, -1}, "", "flag value"); l.add(null, false, 12, new int[]{13}, "tos", "type of service matching"); l.add(null, false, 13, new int[]{12, -1}, "all", "no tos matching"); l.add(null, false, 13, new int[]{12, -1}, "", "tos value"); l.add(null, false, 12, new int[]{13}, "flow", "flow label matching"); l.add(null, false, 13, new int[]{12, -1}, "all", "no tos matching"); l.add(null, false, 13, new int[]{12, -1}, "", "tos value"); l.add(null, false, 12, new int[]{13}, "dscp", "dscp matching"); l.add(null, false, 13, new int[]{12, -1}, "all", "no dscp matching"); l.add(null, false, 13, new int[]{12, -1}, "", "tos value"); l.add(null, false, 12, new int[]{13}, "prec", "precedence matching"); l.add(null, false, 13, new int[]{12, -1}, "all", "no precedence matching"); l.add(null, false, 13, new int[]{12, -1}, "", "tos value"); l.add(null, false, 12, new int[]{13}, "len", "length matching"); l.add(null, false, 13, new int[]{12, -1}, "all", "no length matching"); l.add(null, false, 13, new int[]{12, -1}, "", "length value"); l.add(null, false, 12, new int[]{13}, "ttl", "time to live matching"); l.add(null, false, 13, new int[]{12, -1}, "all", "no ttl matching"); l.add(null, false, 13, new int[]{12, -1}, "", "ttl value"); l.add(null, false, 12, new int[]{13}, "sgt", "security group tag matching"); l.add(null, false, 13, new int[]{12, -1}, "all", "no sgt matching"); l.add(null, false, 13, new int[]{12, -1}, "", "sgt value"); l.add(null, false, 12, new int[]{12, -1}, "log", "log on matching"); l.add(null, false, 1, new int[]{2, -1}, "reindex", "reindex access list"); l.add(null, false, 2, new int[]{3, -1}, "[num]", "initial number to start with"); l.add(null, false, 3, new int[]{-1}, "[num]", "increment number"); } public void doCfgStr(cmds cmd) { String a = cmd.word(); if (a.equals(cmds.negated)) { a = cmd.word(); if (a.equals("description")) { description = null; return; } if (a.equals("hidden")) { hidden = false; return; } if (a.equals("sequence")) { tabAceslstN ntry = new tabAceslstN(new addrIP()); ntry.sequence = bits.str2num(cmd.word()); if (aceslst.del(ntry)) { cmd.error("invalid sequence"); return; } return; } cmd.badCmd(); return; } if (a.equals("rename")) { a = cmd.word(); cfgAceslst v = cfgAll.aclsFind(a, false); if (v != null) { cmd.error("already exists"); return; } name = a; aceslst.listName = a; return; } if (a.equals("description")) { description = cmd.getRemaining(); return; } if (a.equals("hidden")) { hidden = true; return; } if (a.equals("reindex")) { int i = bits.str2num(cmd.word()); aceslst.reindex(i, bits.str2num(cmd.word())); return; } int seq = aceslst.nextseq(); if (a.equals("sequence")) { seq = bits.str2num(cmd.word()); a = cmd.word(); } tabAceslstN ntry = new tabAceslstN(new addrIP()); ntry.sequence = seq; if (a.equals("reflect")) { ntry = aceslst.find(ntry); if (ntry == null) { cmd.error("no such entry"); return; } cfgAceslst res = cfgAll.aclsFind(cmd.word(), false); if (res == null) { cmd.error("no such list"); return; } ntry.reflectFwd = res.aceslst; res = cfgAll.aclsFind(cmd.word(), false); if (res == null) { cmd.error("no such list"); return; } ntry.reflectRev = res.aceslst; ntry.reflectTim = bits.str2num(cmd.word()); return; } if (a.equals("evaluate")) { ntry.action = tabListingEntry.string2action(cmd.word()); cfgAceslst res = cfgAll.aclsFind(cmd.word(), false); if (res == null) { cmd.error("no such list"); return; } ntry.evaluate = res.aceslst; aceslst.add(ntry); return; } ntry.action = tabListingEntry.string2action(a); if (tabAceslstN.fromString(ntry, cmd)) { cmd.error("invalid network"); return; } aceslst.add(ntry); } public int compareTo(cfgAceslst o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String getPrompt() { return "acl"; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgAlias.java000066400000000000000000000351321510423065500214510ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.auth.authLocal; import org.freertr.tab.tabGen; import org.freertr.user.userExec; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.user.userRead; import org.freertr.util.bits; import org.freertr.util.cmds; /** * one alias configuration * * @author matecsaba */ public class cfgAlias implements Comparable, cfgGeneric { /** * create instance * * @param s name * @param t type */ public cfgAlias(String s, aliasType t) { name = s; type = t; } /** * type of alias */ public aliasType type = aliasType.exec; /** * name of this alias */ public String name = ""; /** * command to execute */ public String command = ""; /** * 2nd command to execute */ public String cmd2nd = null; /** * 3rd command to execute */ public String cmd3rd = null; /** * 4th command to execute */ public String cmd4th = null; /** * 5th command to execute */ public String cmd5th = null; /** * hide commands */ public boolean hidden = false; /** * error free execution */ public boolean errorFree = false; /** * stickyness */ public boolean stickyness = false; /** * sticky parameter */ public String stickyPar = ""; /** * sticky changed */ public boolean stickyChgd = false; /** * sticky succeeded */ public boolean stickySucc = false; /** * sticky persistence */ public boolean stickyPrst = false; /** * sticky external file */ public String stickyExtr = null; /** * default parameter */ public String defParam = null; /** * help description text */ public String description = null; /** * parameter existence */ public paraMode parameter = paraMode.allow; /** * 2nd parameter existence */ public paraMode param2nd = paraMode.allow; /** * 3rd parameter existence */ public paraMode param3rd = paraMode.allow; /** * 4th parameter existence */ public paraMode param4th = paraMode.allow; /** * 5th parameter existence */ public paraMode param5th = paraMode.allow; /** * alias types */ public enum aliasType { /** * exec alias */ exec, /** * show alias */ show, /** * clear alias */ clear, /** * test alias */ test, /** * packet alias */ pckt, /** * flash alias */ flsh, } /** * parameter type */ public enum paraMode { /** * need parameters */ always, /** * dont need parameters */ never, /** * parameters allowed */ allow } /** * convert type to string * * @param i type * @return string */ public static String type2string(aliasType i) { switch (i) { case exec: return "exec"; case show: return "show"; case clear: return "clear"; case test: return "test"; case pckt: return "packet"; case flsh: return "flash"; default: return "unknown=" + i; } } /** * convert string to type * * @param s string * @return type */ public static aliasType string2type(String s) { if (s.equals("exec")) { return aliasType.exec; } if (s.equals("show")) { return aliasType.show; } if (s.equals("clear")) { return aliasType.clear; } if (s.equals("test")) { return aliasType.test; } if (s.equals("packet")) { return aliasType.pckt; } if (s.equals("flash")) { return aliasType.flsh; } return aliasType.exec; } /** * convert parameter to string * * @param i parameter * @return string */ public static String param2string(paraMode i) { switch (i) { case allow: return "optional"; case always: return "required"; case never: return "forbidden"; default: return "unknown=" + i; } } /** * convert string to parameter * * @param s string * @return parameter */ public static paraMode string2param(String s) { if (s.equals("optional")) { return paraMode.allow; } if (s.equals("required")) { return paraMode.always; } if (s.equals("forbidden")) { return paraMode.never; } return paraMode.allow; } public String toString() { return type2string(type) + "|" + name + "|" + command; } /** * defaults text */ public final static userFilter[] defaultF = {}; public int compareTo(cfgAlias o) { int i = type.compareTo(o.type); if (i != 0) { return i; } return name.toLowerCase().compareTo(o.name.toLowerCase()); } public void getHelp(userHelp l) { } public String getPrompt() { return "alias"; } private void getShCmds(List l, int filter, String a, String k, String m, String c, paraMode p) { if (c == null) { return; } if (hidden) { l.add(a + k + authLocal.passwdEncode(c, (filter & 2) != 0)); } else { l.add(a + k + c); } if (p != paraMode.allow) { l.add(a + m + param2string(p)); } } public List getShRun(int filter) { List l = new ArrayList(); String a = "alias " + type2string(type) + " " + name; getShCmds(l, filter, a, " command ", " parameter ", command, parameter); getShCmds(l, filter, a, " cmd2nd ", " param2nd ", cmd2nd, param2nd); getShCmds(l, filter, a, " cmd3rd ", " param3rd ", cmd3rd, param3rd); getShCmds(l, filter, a, " cmd4th ", " param4th ", cmd4th, param4th); getShCmds(l, filter, a, " cmd5th ", " param5th ", cmd5th, param5th); if (errorFree) { l.add(a + " error-free"); } if (defParam != null) { l.add(a + " default-param " + defParam); } if (stickyChgd) { l.add(a + " sticky-onlychanged"); } if (stickySucc) { l.add(a + " sticky-onlysuccess"); } if (stickyPrst) { l.add(a + " sticky-persistent"); } if (stickyExtr != null) { l.add(a + " sticky-extpersist " + stickyExtr); } if (stickyness) { l.add(a + " sticky-param " + stickyPar); } if (description != null) { l.add(a + " description " + description); } l.add(cmds.comment); if ((filter & 1) == 0) { return l; } l = userFilter.filterText(l, cfgAll.custDefs); return userFilter.filterText(l, defaultF); } public void doCfgStr(cmds cmd) { String a = cmd.word(); boolean neg = a.equals(cmds.negated); if (neg) { a = cmd.word(); } if (a.equals("command")) { if (neg) { command = ""; } else { command = authLocal.passwdDecode(cmd.getRemaining()); } return; } if (a.equals("cmd2nd")) { if (neg) { cmd2nd = null; } else { cmd2nd = authLocal.passwdDecode(cmd.getRemaining()); } return; } if (a.equals("cmd3rd")) { if (neg) { cmd3rd = null; } else { cmd3rd = authLocal.passwdDecode(cmd.getRemaining()); } return; } if (a.equals("cmd4th")) { if (neg) { cmd4th = null; } else { cmd4th = authLocal.passwdDecode(cmd.getRemaining()); } return; } if (a.equals("cmd5th")) { if (neg) { cmd5th = null; } else { cmd5th = authLocal.passwdDecode(cmd.getRemaining()); } return; } if (a.equals("description")) { if (neg) { description = null; } else { description = cmd.getRemaining(); } return; } if (a.equals("parameter")) { if (neg) { parameter = paraMode.allow; } else { parameter = string2param(cmd.word()); } return; } if (a.equals("param2nd")) { if (neg) { param2nd = paraMode.allow; } else { param2nd = string2param(cmd.word()); } return; } if (a.equals("param3rd")) { if (neg) { param3rd = paraMode.allow; } else { param3rd = string2param(cmd.word()); } return; } if (a.equals("param4th")) { if (neg) { param4th = paraMode.allow; } else { param4th = string2param(cmd.word()); } return; } if (a.equals("param5th")) { if (neg) { param5th = paraMode.allow; } else { param5th = string2param(cmd.word()); } return; } if (a.equals("hidden")) { hidden = !neg; return; } if (a.equals("error-free")) { errorFree = !neg; return; } if (a.equals("sticky-onlychanged")) { stickyChgd = !neg; return; } if (a.equals("sticky-onlysuccess")) { stickySucc = !neg; return; } if (a.equals("sticky-persistent")) { stickyPrst = !neg; return; } if (a.equals("sticky-extpersist")) { if (neg) { stickyExtr = null; return; } stickyExtr = cmd.getRemaining(); List res = bits.txt2buf(stickyExtr); if (res == null) { return; } if (res.size() < 1) { return; } stickyPar = res.get(0); return; } if (a.equals("sticky-param")) { stickyness = !neg; if (neg) { stickyPar = ""; return; } userRead rdr = new userRead(cmd.pipe, null); userExec exe = new userExec(cmd.pipe, rdr); exe.privileged = true; doCommands(exe, cmd); return; } if (a.equals("default-param")) { if (neg) { defParam = null; } else { defParam = cmd.getRemaining(); } return; } cmd.badCmd(); } /** * get help text * * @param l help text to append * @param lev starting level */ public void getLines(userHelp l, int lev) { paraMode p = maxOfParams(parameter, param2nd, cmd2nd); p = maxOfParams(p, param3rd, cmd3rd); p = maxOfParams(p, param4th, cmd4th); p = maxOfParams(p, param5th, cmd5th); int[] nxt = new int[]{-1}; switch (p) { case always: nxt = new int[]{lev + 1}; break; case allow: nxt = new int[]{lev + 1, -1}; break; } String a = description; if (a == null) { a = "execute " + command; } l.add(null, false, lev, nxt, name, a); if (p == paraMode.never) { return; } l.add(null, false, lev + 1, new int[]{lev + 1, -1}, "", "parameter"); } private static paraMode maxOfParams(paraMode a, paraMode b, String c) { if (c == null) { return a; } if (a == paraMode.always) { return paraMode.always; } if (b == paraMode.always) { return paraMode.always; } if (a == paraMode.allow) { return paraMode.allow; } if (b == paraMode.allow) { return paraMode.allow; } return paraMode.never; } private boolean doOneCmd(userExec exe, String a, cmds par, paraMode p) { if (a == null) { return false; } if (p != paraMode.never) { a += " " + par.getRemaining(); } a = exe.repairCommand(a); exe.executeCommand(a); if (!errorFree) { return false; } return exe.cmd.barked != 0; } /** * execute commands * * @param exe environment * @param par parameters */ public void doCommands(userExec exe, cmds par) { if ((defParam != null) && (par.getRemaining().length() < 1)) { par = new cmds("def", defParam); } String pr = par.getRemaining().trim(); if (stickyness) { if (stickyPrst && cfgInit.booting) { stickyPar = pr; return; } if (stickyChgd) { if (stickyPar.equals(pr)) { if (!cfgInit.booting) { par.error("already selected"); } return; } } if (!stickySucc) { stickyPar = pr; } } if (doOneCmd(exe, command, par, parameter)) { return; } if (doOneCmd(exe, cmd2nd, par, param2nd)) { return; } if (doOneCmd(exe, cmd3rd, par, param3rd)) { return; } if (doOneCmd(exe, cmd4th, par, param4th)) { return; } if (doOneCmd(exe, cmd5th, par, param5th)) { return; } if (stickyness) { stickyPar = pr; } } } freeRtr-25.11.9/src/org/freertr/cfg/cfgAll.java000066400000000000000000003515341510423065500211370ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.addr.addrIPv4; import org.freertr.addr.addrIPv6; import org.freertr.addr.addrType; import org.freertr.auth.authLocal; import org.freertr.clnt.clntNtp; import org.freertr.clnt.clntProxy; import org.freertr.enc.encBase64; import org.freertr.cry.cryKeyDSA; import org.freertr.cry.cryKeyECDSA; import org.freertr.cry.cryKeyGeneric; import org.freertr.cry.cryKeyMLDSA; import org.freertr.cry.cryKeyRSA; import org.freertr.ifc.ifcBridge; import org.freertr.ifc.ifcBundle; import org.freertr.ifc.ifcHairpin; import org.freertr.ifc.ifcThread; import org.freertr.line.lineThread; import org.freertr.serv.servAmt; import org.freertr.serv.servBmp2mrt; import org.freertr.serv.servBstun; import org.freertr.serv.servCapwap; import org.freertr.serv.servCharGen; import org.freertr.serv.servDaytime; import org.freertr.serv.servDcp; import org.freertr.serv.servDhcp4; import org.freertr.serv.servDhcp6; import org.freertr.serv.servDiscard; import org.freertr.serv.servDns; import org.freertr.serv.servEchoS; import org.freertr.serv.servErspan; import org.freertr.serv.servEtherIp; import org.freertr.serv.servForwarder; import org.freertr.serv.servFtp; import org.freertr.serv.servGenList; import org.freertr.serv.servGeneric; import org.freertr.serv.servGeneve; import org.freertr.serv.servGopher; import org.freertr.serv.servGre; import org.freertr.serv.servGtp; import org.freertr.serv.servHoneyPot; import org.freertr.serv.servHttp; import org.freertr.serv.servImap4; import org.freertr.serv.servIrc; import org.freertr.serv.servIscsi; import org.freertr.serv.servL2f; import org.freertr.serv.servL2tp2; import org.freertr.serv.servL2tp3; import org.freertr.serv.servLdap; import org.freertr.serv.servLoadBalancer; import org.freertr.serv.servLpd; import org.freertr.serv.servLwapp; import org.freertr.serv.servModem; import org.freertr.serv.servMplsIp; import org.freertr.serv.servMplsOam; import org.freertr.serv.servMplsUdp; import org.freertr.serv.servMrt2bgp; import org.freertr.serv.servMultiplexer; import org.freertr.serv.servNetflow; import org.freertr.serv.servNrpe; import org.freertr.serv.servNtp; import org.freertr.serv.servOpenflow; import org.freertr.serv.servPktmux; import org.freertr.serv.servP4lang; import org.freertr.serv.servPcep; import org.freertr.serv.servPckOdtls; import org.freertr.serv.servPckOtcp; import org.freertr.serv.servPckOtxt; import org.freertr.serv.servPckOudp; import org.freertr.serv.servPlan9; import org.freertr.serv.servPop3; import org.freertr.serv.servPptp; import org.freertr.serv.servPrometheus; import org.freertr.serv.servQuote; import org.freertr.serv.servRadius; import org.freertr.serv.servRexec; import org.freertr.serv.servRfb; import org.freertr.serv.servRpki; import org.freertr.serv.servRtpStat; import org.freertr.serv.servSdwan; import org.freertr.serv.servSip; import org.freertr.serv.servSmtp; import org.freertr.serv.servSnmp; import org.freertr.serv.servSocks; import org.freertr.serv.servSrEth; import org.freertr.serv.servStack; import org.freertr.serv.servStreamingMdt; import org.freertr.serv.servStun; import org.freertr.serv.servSyslog; import org.freertr.serv.servTacacs; import org.freertr.serv.servTelnet; import org.freertr.serv.servTftp; import org.freertr.serv.servTime; import org.freertr.serv.servTwamp; import org.freertr.serv.servUdpFwd; import org.freertr.serv.servUdptn; import org.freertr.serv.servUni2multi; import org.freertr.serv.servUni2uni; import org.freertr.serv.servUpnpFwd; import org.freertr.serv.servUpnpHub; import org.freertr.serv.servVoice; import org.freertr.serv.servVxlan; import org.freertr.serv.servWhois; import org.freertr.serv.servXotPad; import org.freertr.tab.tabGen; import org.freertr.tab.tabNshEntry; import org.freertr.tab.tabRouteAttr; import org.freertr.tab.tabRouteIface; import org.freertr.user.userFilter; import org.freertr.user.userFormat; import org.freertr.user.userHelp; import org.freertr.user.userLine; import org.freertr.user.userReload; import org.freertr.user.userUpgrade; import org.freertr.util.bits; import org.freertr.util.chatter; import org.freertr.util.cmds; import org.freertr.util.logger; import org.freertr.util.syncInt; import org.freertr.util.version; /** * configuration settings * * @author matecsaba */ public class cfgAll { /** * list of vdcs */ public final static tabGen vdcs = new tabGen(); /** * list of processes */ public final static tabGen prcs = new tabGen(); /** * list of vrfs */ public final static tabGen vrfs = new tabGen(); /** * list of interfaces */ public final static tabGen ifaces = new tabGen(); /** * list of lines */ public final static tabGen lines = new tabGen(); /** * console template */ public final static cfgCons con0 = new cfgCons(); /** * list of key menus */ public final static tabGen menuk = new tabGen(); /** * list of tui menus */ public final static tabGen menut = new tabGen(); /** * list of bridges */ public final static tabGen bridges = new tabGen(); /** * list of bundles */ public final static tabGen bundles = new tabGen(); /** * list of hairpins */ public final static tabGen hairpins = new tabGen(); /** * list of vnets */ public final static tabGen vnets = new tabGen(); /** * list of translation rules */ public final static tabGen trnsltns = new tabGen(); /** * list of dial peers */ public final static tabGen dials = new tabGen(); /** * list of sessions */ public final static tabGen sessns = new tabGen(); /** * list of checks */ public final static tabGen checks = new tabGen(); /** * list of sensors */ public final static tabGen sensors = new tabGen(); /** * list of routers */ public final static tabGen routers = new tabGen(); /** * list of network object groups */ public final static tabGen objgrpnets = new tabGen(); /** * list of port object groups */ public final static tabGen objgrpprts = new tabGen(); /** * list of access lists */ public final static tabGen accesslsts = new tabGen(); /** * list of event managers */ public final static tabGen eventmgrs = new tabGen(); /** * list of telemetry destinations */ public final static tabGen tlmtrydst = new tabGen(); /** * list of vpdns */ public final static tabGen vpdns = new tabGen(); /** * list of prefix lists */ public final static tabGen prefixlsts = new tabGen(); /** * list of route maps */ public final static tabGen routemaps = new tabGen(); /** * list of route policies */ public final static tabGen routeplcs = new tabGen(); /** * list of tine maps */ public final static tabGen timemaps = new tabGen(); /** * list of policy maps */ public final static tabGen policymaps = new tabGen(); /** * list of user lists */ public final static tabGen authers = new tabGen(); /** * list of schedulers */ public final static tabGen schedulers = new tabGen(); /** * list of scripts */ public final static tabGen scripts = new tabGen(); /** * list of trackers */ public final static tabGen trackers = new tabGen(); /** * list of mtrackers */ public final static tabGen mtrackers = new tabGen(); /** * list of certificates */ public final static tabGen certs = new tabGen(); /** * list of ipsec profiles */ public final static tabGen ipsecs = new tabGen(); /** * list of proxy profiles */ public final static tabGen proxys = new tabGen(); /** * list of chat scripts */ public final static tabGen chats = new tabGen(); /** * list of rsa keys */ public final static tabGen> rsakeys = new tabGen>(); /** * list of dsa keys */ public final static tabGen> dsakeys = new tabGen>(); /** * list of ecdsa keys */ public final static tabGen> ecdsakeys = new tabGen>(); /** * list of mldsa keys */ public final static tabGen> mldsakeys = new tabGen>(); /** * list of ipv4 pools */ public final static tabGen> ip4pool = new tabGen>(); /** * list of ipv6 pools */ public final static tabGen> ip6pool = new tabGen>(); /** * list of xconnections */ public final static tabGen xconnects = new tabGen(); /** * list of aliases */ public final static tabGen aliases = new tabGen(); /** * echo daemons */ public final static servGenList dmnEcho = new servGenList(); /** * discard daemons */ public final static servGenList dmnDiscard = new servGenList(); /** * quote daemons */ public final static servGenList dmnQuote = new servGenList(); /** * chargen daemons */ public final static servGenList dmnCharGen = new servGenList(); /** * netflow daemons */ public final static servGenList dmnNetflow = new servGenList(); /** * udpfwd daemons */ public final static servGenList dmnUdpFwd = new servGenList(); /** * upnpfwd daemons */ public final static servGenList dmnUpnpFwd = new servGenList(); /** * upnphub daemons */ public final static servGenList dmnUpnpHub = new servGenList(); /** * openflow daemons */ public final static servGenList dmnOpenflow = new servGenList(); /** * pktmux daemons */ public final static servGenList dmnPktmux = new servGenList(); /** * p4lang daemons */ public final static servGenList dmnP4lang = new servGenList(); /** * stack daemons */ public final static servGenList dmnStack = new servGenList(); /** * forwarder daemons */ public final static servGenList dmnForwarder = new servGenList(); /** * syslog daemons */ public final static servGenList dmnSyslog = new servGenList(); /** * loadbalancer daemons */ public final static servGenList dmnLoadBalancer = new servGenList(); /** * multiplexer daemons */ public final static servGenList dmnMultiplexer = new servGenList(); /** * telnet daemons */ public final static servGenList dmnTelnet = new servGenList(); /** * xotpad daemons */ public final static servGenList dmnXotpad = new servGenList(); /** * rfb daemons */ public final static servGenList dmnRfb = new servGenList(); /** * udptn daemons */ public final static servGenList dmnUdptn = new servGenList(); /** * http daemons */ public final static servGenList dmnHttp = new servGenList(); /** * lpd daemons */ public final static servGenList dmnLpd = new servGenList(); /** * honeypot daemons */ public final static servGenList dmnHoney = new servGenList(); /** * whois daemons */ public final static servGenList dmnWhois = new servGenList(); /** * dhcp4 daemons */ public final static servGenList dmnDhcp4 = new servGenList(); /** * dhcp6 daemons */ public final static servGenList dmnDhcp6 = new servGenList(); /** * dns daemons */ public final static servGenList dmnDns = new servGenList(); /** * pop3 daemons */ public final static servGenList dmnPop3 = new servGenList(); /** * imap4 daemons */ public final static servGenList dmnImap4 = new servGenList(); /** * smtp daemons */ public final static servGenList dmnSmtp = new servGenList(); /** * sip modem daemons */ public final static servGenList dmnModem = new servGenList(); /** * sip voice daemons */ public final static servGenList dmnVoice = new servGenList(); /** * sip proxy daemons */ public final static servGenList dmnSip = new servGenList(); /** * ftp daemons */ public final static servGenList dmnFtp = new servGenList(); /** * tftp daemons */ public final static servGenList dmnTftp = new servGenList(); /** * gopher daemons */ public final static servGenList dmnGopher = new servGenList(); /** * plan9 daemons */ public final static servGenList dmnPlan9 = new servGenList(); /** * ntp daemons */ public final static servGenList dmnNtp = new servGenList(); /** * daytime daemons */ public final static servGenList dmnDaytime = new servGenList(); /** * rexec daemons */ public final static servGenList dmnRexec = new servGenList(); /** * rtpstat daemons */ public final static servGenList dmnRtpStat = new servGenList(); /** * time daemons */ public final static servGenList dmnTime = new servGenList(); /** * snmp daemons */ public final static servGenList dmnSnmp = new servGenList(); /** * iscsi daemons */ public final static servGenList dmnIscsi = new servGenList(); /** * bmp2mrt daemons */ public final static servGenList dmnBmp = new servGenList(); /** * irc daemons */ public final static servGenList dmnIrc = new servGenList(); /** * dcp daemons */ public final static servGenList dmnDcp = new servGenList(); /** * sdwan daemons */ public final static servGenList dmnSdwan = new servGenList(); /** * pcep daemons */ public final static servGenList dmnPcep = new servGenList(); /** * socks daemons */ public final static servGenList dmnSocks = new servGenList(); /** * rpki daemons */ public final static servGenList dmnRpki = new servGenList(); /** * nrpe daemons */ public final static servGenList dmnNrpe = new servGenList(); /** * prometheus daemons */ public final static servGenList dmnPrometheus = new servGenList(); /** * streaming telemetry daemons */ public final static servGenList dmnStreamingMdt = new servGenList(); /** * mrt2bgp daemons */ public final static servGenList dmnMrt2bgp = new servGenList(); /** * bstun daemons */ public final static servGenList dmnBStun = new servGenList(); /** * stun daemons */ public final static servGenList dmnStun = new servGenList(); /** * pckoudp daemons */ public final static servGenList dmnPckOudp = new servGenList(); /** * pckodtls daemons */ public final static servGenList dmnPckOdtls = new servGenList(); /** * pckotcp daemons */ public final static servGenList dmnPckOtcp = new servGenList(); /** * pckotxt daemons */ public final static servGenList dmnPckOtxt = new servGenList(); /** * capwap daemons */ public final static servGenList dmnCapwap = new servGenList(); /** * lwapp daemons */ public final static servGenList dmnLwapp = new servGenList(); /** * vxlan daemons */ public final static servGenList dmnVxlan = new servGenList(); /** * geneve daemons */ public final static servGenList dmnGeneve = new servGenList(); /** * l2f daemons */ public final static servGenList dmnL2f = new servGenList(); /** * l2tp2 daemons */ public final static servGenList dmnL2tp2 = new servGenList(); /** * l2tp3 daemons */ public final static servGenList dmnL2tp3 = new servGenList(); /** * etherip daemons */ public final static servGenList dmnEtherIp = new servGenList(); /** * gre daemons */ public final static servGenList dmnGre = new servGenList(); /** * erspan daemons */ public final static servGenList dmnErspan = new servGenList(); /** * sreth daemons */ public final static servGenList dmnSrEth = new servGenList(); /** * mplsip daemons */ public final static servGenList dmnMplsIp = new servGenList(); /** * mplsudp daemons */ public final static servGenList dmnMplsUdp = new servGenList(); /** * mplsoam daemons */ public final static servGenList dmnMplsOam = new servGenList(); /** * twamp daemons */ public final static servGenList dmnTwamp = new servGenList(); /** * amt daemons */ public final static servGenList dmnAmt = new servGenList(); /** * uni2multi daemons */ public final static servGenList dmnUni2mul = new servGenList(); /** * uni2uni daemons */ public final static servGenList dmnUni2uni = new servGenList(); /** * gtp daemons */ public final static servGenList dmnGtp = new servGenList(); /** * pptp daemons */ public final static servGenList dmnPptp = new servGenList(); /** * radius daemons */ public final static servGenList dmnRadius = new servGenList(); /** * ldap daemons */ public final static servGenList dmnLdap = new servGenList(); /** * tacacs daemons */ public final static servGenList dmnTacacs = new servGenList(); /** * name of this host */ public static String hostName = "router"; /** * domain of this host */ public static String domainName = null; /** * allow domain lookup */ public static boolean domainLookup = false; /** * end format */ public static int endForm = 0; /** * encryption of this host */ public static String passEnh = null; /** * encryption of this host */ public static String passEnc = null; /** * password of this host */ public static byte[] enaPass = null; /** * encoded banner of this host */ public static byte[] bannerEnc = new byte[0]; /** * text banner of this host */ public static String bannerTxt = null; /** * image banner of this host */ public static String bannerPix = null; /** * image banner of this host */ public static String bannerImg = null; /** * movie banner of this host */ public static String bannerMov = null; /** * locale of this host */ public static String locale = null; /** * running in a vdc */ public static boolean invdc = false; /** * enable experimental features */ public static boolean buggy = true; /** * minimum tls version to use */ public static int tlsVerMin = 0; /** * maximum tls version to use */ public static int tlsVerMax = 4; /** * minimum ssh group to use */ public static int sshGrpMin = 1024; /** * maximum ssh group to use */ public static int sshGrpMax = 4096; /** * user agent to fake */ public static String sshAgent = null; /** * prefer ipv6 */ public static boolean preferIpv6 = false; /** * graceful reload */ public static boolean graceReload = true; /** * whois server */ public static String whoisServer = null; /** * whois option */ public static String whoisOption = null; /** * whois file */ public static String whoisFile = null; /** * list of asn tools */ public static List whoisOnline = null; /** * proxy to use */ public static clntProxy whoisProxy; /** * chatter */ public final static chatter chat = new chatter(); /** * client proxy settings */ public static cfgProxy clientProxy; /** * proxy of name server */ public static cfgProxy nameServerProxy; /** * address of name server */ public static List nameServerAddr = new ArrayList(); /** * name of time server */ public static clntNtp timeServerName; /** * name of time zone */ public static String timeZoneName = "Z"; /** * proxy to use */ public static clntProxy timeProxy; /** * last offset to time server */ public static long timeServerOffset; /** * proxy to use */ public static clntProxy tftpProxy; /** * proxy to use */ public static clntProxy httpProxy; /** * user agent to fake */ public static String httpAgent = null; /** * access subnet prefix length */ public static int accessSubnet4 = 120; /** * access subnet prefix length */ public static int accessSubnet6 = 64; /** * access subnet prefix length */ public static int accessSupnet4 = 104; /** * access subnet prefix length */ public static int accessSupnet6 = 18; /** * proxy to use */ public static clntProxy mailProxy; /** * name of mail server */ public static String mailServerName = null; /** * username for mail server */ public static String mailServerUser = null; /** * password for mail server */ public static String mailServerPass = null; /** * upgrade public key */ public static String upgradePubKey = null; /** * upgrade server url */ public static String upgradeServer = version.homeUrl; /** * upgrade script */ public static cfgScrpt upgradeScript = null; /** * upgrade backup files */ public static boolean upgradeBackup = false; /** * upgrade revert time */ public static int upgradeRevert = 0; /** * upgrade config save */ public static boolean upgradeConfig = false; /** * upgrade just own key */ public static boolean upgradeOwnKey = false; /** * label range beginning */ public static int labelRangeBeg = 0x20; /** * label range ending */ public static int labelRangeEnd = 0xffff0; /** * cpu hog check */ public static int cpuhogCheck = 0; /** * interface stall check */ public static int ifaceStallCheck = 60000; /** * treat traceback as exception */ public static boolean tracebackStops = false; /** * always on debugs */ public static List alwaysDebugs = new ArrayList(); /** * redundancy keepalive time */ public static int redundancyKeep = 500; /** * redundancy hold time */ public static int redundancyHold = 5 * 500; /** * redundancy init time */ public static int redundancyInit = 10 * 500; /** * redundancy takeover time */ public static int redundancyTake = 300 * 1000; /** * passive mode ftp */ public static boolean ftpPassive = true; /** * proxy to use */ public static clntProxy ftpProxy; /** * proxy to use */ public static clntProxy pop3proxy; /** * ipv4 sending ttl value */ public static int ipv4sendingTTL = 255; /** * ipv4 sending tos value */ public static int ipv4sendingTOS = 0; /** * ipv6 sending ttl value */ public static int ipv6sendingTTL = 255; /** * ipv6 sending tos value */ public static int ipv6sendingTOS = 0; /** * ipv4 checksum tx */ public static boolean ipv4ChecksumTx = true; /** * ipv4 checksum rx */ public static boolean ipv4ChecksumRx = true; /** * icmp4 checksum tx */ public static boolean icmp4ChecksumTx = true; /** * icmp4 checksum rx */ public static boolean icmp4ChecksumRx = true; /** * icmp6 checksum tx */ public static boolean icmp6ChecksumTx = true; /** * icmp6 checksum rx */ public static boolean icmp6ChecksumRx = true; /** * udp checksum tx */ public static boolean udpChecksumTx = true; /** * udp checksum rx */ public static boolean udpChecksumRx = true; /** * udp range beginning */ public static int udpRangeMin = 0x8000; /** * udp range beginning */ public static int udpRangeMax = 0xf000; /** * ludp checksum tx */ public static boolean ludpChecksumTx = true; /** * ludp checksum rx */ public static boolean ludpChecksumRx = true; /** * ludp range beginning */ public static int ludpRangeMin = 0x8000; /** * ludp range beginning */ public static int ludpRangeMax = 0xf000; /** * tcp minimum segment */ public static int tcpSegmentMin = 1024; /** * tcp maximum segment */ public static int tcpSegmentMax = 1024; /** * tcp window scale */ public static int tcpWinScale = 1; /** * tcp timestamps */ public static boolean tcpTimStmp = false; /** * tcp ecn */ public static boolean tcpEcn = false; /** * tcp sack */ public static boolean tcpSack = false; /** * tcp checksum tx */ public static boolean tcpChecksumTx = true; /** * tcp checksum rx */ public static boolean tcpChecksumRx = true; /** * tcp range beginning */ public static int tcpRangeMin = 0x8000; /** * tcp range beginning */ public static int tcpRangeMax = 0xf000; /** * worker timer */ public static int tcpTimeWork = 1000; /** * send keepalives */ public static boolean tcpKeepalive = false; /** * keepalive timer */ public static int tcpTimeAlive = 60 * 1000; /** * timeout while closing */ public static int tcpTimeFin = 45 * 1000; /** * timeout while connecting */ public static int tcpTimeSyn = 30 * 1000; /** * timeout while open */ public static int tcpTimeOpen = 300 * 1000; /** * timeout while closing with data */ public static int tcpTimeClose = 120 * 1000; /** * delayed timer */ public static int tcpTimeLater = 3 * 1000; /** * now timeout */ public static int tcpTimeNow = 100; /** * maximum timeout */ public static int tcpTimeMax = 8 * 1000; /** * dccp checksum tx */ public static boolean dccpChecksumTx = true; /** * dccp checksum rx */ public static boolean dccpChecksumRx = true; /** * dccp range beginning */ public static int dccpRangeMin = 0x8000; /** * dccp range beginning */ public static int dccpRangeMax = 0xf000; /** * sctp checksum tx */ public static boolean sctpChecksumTx = true; /** * sctp checksum rx */ public static boolean sctpChecksumRx = true; /** * sctp range beginning */ public static int sctpRangeMin = 0x8000; /** * sctp range beginning */ public static int sctpRangeMax = 0xf000; /** * pastebin location */ public static String pasteBin = null; /** * capture location */ public static String capturePath = null; /** * l2tp2 hello ticks */ public static int l2fTimer = 5000; /** * l2tp2 retry ticks */ public static int l2fRetry = 8; /** * l2tp2 hello ticks */ public static int l2tp2hello = 5; /** * l2tp2 retry ticks */ public static int l2tp2retry = 8; /** * l2tp3 hello ticks */ public static int l2tp3hello = 5; /** * l2tp3 retry ticks */ public static int l2tp3retry = 8; /** * shame texts */ public static servQuote clientShamer; /** * name of config server */ public static String configServer; /** * username on config server */ public static String configUser; /** * password on config server */ public static String configPass; /** * automatically save configuration */ public static boolean configAsave; /** * automatically backup configuration */ public static boolean configAbackup; /** * backup startup configuration */ public static String configBackup; /** * next reload time */ public static userReload reload; /** * allow only one user to configuration */ public static syncInt configExclusive = new syncInt(0); /** * custom defaults text */ public static userFilter[] custDefs = new userFilter[0]; /** * loaded snmp mibs */ public static userFilter snmpMibs[] = new userFilter[0]; /** * defaults text */ public final static userFilter[] defaultF = { // logging new userFilter("", "logging buffered debug 512", null), new userFilter("", "logging monitor debug", null), new userFilter("", "logging format normal", null), new userFilter("", cmds.negated + cmds.tabulator + "logging milliseconds", null), new userFilter("", cmds.negated + cmds.tabulator + "logging proxy", null), new userFilter("", cmds.negated + cmds.tabulator + "logging rotate", null), new userFilter("", cmds.negated + cmds.tabulator + "logging syslog debug kernel", null), new userFilter("", cmds.negated + cmds.tabulator + "logging file debug", null), new userFilter("", cmds.negated + cmds.tabulator + "logging irc debug", null), new userFilter("", cmds.negated + cmds.tabulator + "logging tracestop", null), new userFilter("", "banner encoded ", null), new userFilter("", cmds.negated + cmds.tabulator + "banner text", null), new userFilter("", cmds.negated + cmds.tabulator + "banner pixel", null), new userFilter("", cmds.negated + cmds.tabulator + "banner image", null), new userFilter("", cmds.negated + cmds.tabulator + "banner movie", null), new userFilter("", cmds.negated + cmds.tabulator + "password-encrypt", null), new userFilter("", cmds.negated + cmds.tabulator + "enable", null), new userFilter("", cmds.negated + cmds.tabulator + "locale", null), // client new userFilter("", cmds.negated + cmds.tabulator + "client pastebin", null), new userFilter("", cmds.negated + cmds.tabulator + "client capture-path", null), new userFilter("", "client label-range 32 1048560", null), new userFilter("", "client cpuhog 0", null), new userFilter("", "client ifacestall 60000", null), new userFilter("", "client redundancy-keepalive 500", null), new userFilter("", "client redundancy-hold 2500", null), new userFilter("", "client redundancy-initial 5000", null), new userFilter("", "client redundancy-takeover 300000", null), new userFilter("", "client l2f-timer 5000 8", null), new userFilter("", "client l2tp2-timer 5 8", null), new userFilter("", "client l2tp3-timer 5 8", null), new userFilter("", cmds.negated + cmds.tabulator + "client bullying", null), new userFilter("", cmds.negated + cmds.tabulator + "client proxy", null), new userFilter("", cmds.negated + cmds.tabulator + "client domain-name", null), new userFilter("", cmds.negated + cmds.tabulator + "client domain-lookup", null), new userFilter("", cmds.negated + cmds.tabulator + "client name-proxy", null), new userFilter("", "client name-server", null), new userFilter("", "client time-zone Z", null), new userFilter("", cmds.negated + cmds.tabulator + "client time-proxy", null), new userFilter("", cmds.negated + cmds.tabulator + "client tftp-proxy", null), new userFilter("", cmds.negated + cmds.tabulator + "client http-proxy", null), new userFilter("", cmds.negated + cmds.tabulator + "client http-agent", null), new userFilter("", "client access-subnet-ipv4 120", null), new userFilter("", "client access-subnet-ipv6 64", null), new userFilter("", "client access-supernet-ipv4 104", null), new userFilter("", "client access-supernet-ipv6 18", null), new userFilter("", "client tls-version 1 4", null), new userFilter("", "client ssh-group 1024 4096", null), new userFilter("", cmds.negated + cmds.tabulator + "client ssh-agent", null), new userFilter("", cmds.negated + cmds.tabulator + "client time-server", null), new userFilter("", cmds.negated + cmds.tabulator + "client upgrade-pubkey", null), new userFilter("", "client upgrade-server " + version.homeUrl, null), new userFilter("", cmds.negated + cmds.tabulator + "client upgrade-config", null), new userFilter("", cmds.negated + cmds.tabulator + "client upgrade-backup", null), new userFilter("", cmds.negated + cmds.tabulator + "client upgrade-revert", null), new userFilter("", cmds.negated + cmds.tabulator + "client upgrade-script", null), new userFilter("", cmds.negated + cmds.tabulator + "client upgrade-ownkey", null), new userFilter("", cmds.negated + cmds.tabulator + "client whois-proxy", null), new userFilter("", cmds.negated + cmds.tabulator + "client whois-server", null), new userFilter("", cmds.negated + cmds.tabulator + "client whois-option", null), new userFilter("", cmds.negated + cmds.tabulator + "client whois-file", null), new userFilter("", cmds.negated + cmds.tabulator + "client config-server", null), new userFilter("", cmds.negated + cmds.tabulator + "client config-username", null), new userFilter("", cmds.negated + cmds.tabulator + "client config-password", null), new userFilter("", cmds.negated + cmds.tabulator + "client config-save", null), new userFilter("", cmds.negated + cmds.tabulator + "client config-archive", null), new userFilter("", cmds.negated + cmds.tabulator + "client config-backup", null), new userFilter("", cmds.negated + cmds.tabulator + "client config-exclusive", null), new userFilter("", cmds.negated + cmds.tabulator + "client mail-proxy", null), new userFilter("", cmds.negated + cmds.tabulator + "client mail-server", null), new userFilter("", cmds.negated + cmds.tabulator + "client mail-username", null), new userFilter("", cmds.negated + cmds.tabulator + "client mail-password", null), new userFilter("", cmds.negated + cmds.tabulator + "client prefer-ipv6", null), new userFilter("", cmds.negated + cmds.tabulator + "client end-format", null), new userFilter("", "client graceful-reload", null), new userFilter("", "client ftp-passive", null), new userFilter("", cmds.negated + cmds.tabulator + "client ftp-proxy", null), new userFilter("", cmds.negated + cmds.tabulator + "client pop3-proxy", null), new userFilter("", "client ipv4-tos 0", null), new userFilter("", "client ipv4-ttl 255", null), new userFilter("", "client ipv6-tos 0", null), new userFilter("", "client ipv6-ttl 255", null), new userFilter("", "client ipv4-checksum both", null), new userFilter("", "client icmp4-checksum both", null), new userFilter("", "client icmp6-checksum both", null), new userFilter("", "client udp-checksum both", null), new userFilter("", "client udp-portrange 32768 61440", null), new userFilter("", "client tcp-segments 1024 1024", null), new userFilter("", "client tcp-winscale 1", null), new userFilter("", cmds.negated + cmds.tabulator + "client tcp-timestamp", null), new userFilter("", cmds.negated + cmds.tabulator + "client tcp-ecn", null), new userFilter("", "client tcp-sack", null), new userFilter("", cmds.negated + cmds.tabulator + "client tcp-keepalive", null), new userFilter("", "client tcp-timer work 1000", null), new userFilter("", "client tcp-timer alive 60000", null), new userFilter("", "client tcp-timer fin 45000", null), new userFilter("", "client tcp-timer syn 30000", null), new userFilter("", "client tcp-timer open 300000", null), new userFilter("", "client tcp-timer close 120000", null), new userFilter("", "client tcp-timer later 3000", null), new userFilter("", "client tcp-timer now 100", null), new userFilter("", "client tcp-timer max 8000", null), new userFilter("", "client tcp-checksum both", null), new userFilter("", "client tcp-portrange 32768 61440", null), new userFilter("", "client ludp-checksum both", null), new userFilter("", "client ludp-portrange 32768 61440", null), new userFilter("", "client dccp-checksum both", null), new userFilter("", "client dccp-portrange 32768 61440", null), new userFilter("", "client sctp-checksum both", null), new userFilter("", "client sctp-portrange 32768 61440", null) }; private cfgAll() { } /** * check for extra vdc privileges * * @return true to forbid, false to allow */ public static boolean evalVdcPrivs() { if (!invdc) { return false; } return !buggy; } /** * get client vrf * * @return client vrf, null if nothing */ public static cfgVrf getClntVrf() { if (clientProxy == null) { return null; } return clientProxy.getVrf(); } /** * get client interface * * @return client interface, null if nothing */ public static cfgIfc getClntIfc() { if (clientProxy == null) { return null; } return clientProxy.getIfc(); } /** * get client proxy * * @param other optional other to return * @return client proxy, null if nothing */ public static clntProxy getClntPrx(clntProxy other) { if (other != null) { return other; } if (clientProxy == null) { return null; } return clientProxy.proxy; } /** * get my fqdn * * @return name */ public static String getFqdn() { if (domainName == null) { return hostName; } else { return hostName + "." + domainName; } } /** * find vrf by rd * * @param ipv4 ipv4 * @param rd rd to find * @return vrf, null on error */ public static cfgVrf findRd(boolean ipv4, long rd) { if (ipv4) { for (int i = 0; i < vrfs.size(); i++) { cfgVrf ntry = vrfs.get(i); if (ntry == null) { continue; } if (ntry.fwd4.rd == rd) { return ntry; } } } else { for (int i = 0; i < vrfs.size(); i++) { cfgVrf ntry = vrfs.get(i); if (ntry == null) { continue; } if (ntry.fwd6.rd == rd) { return ntry; } } } return null; } /** * find one user list * * @param nam name of this * @param create type of list, null=do not create * @return descriptor, null if not found */ public static cfgAuther autherFind(String nam, cfgAuther.methodType create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgAuther ntry = new cfgAuther(nam, create); if (create == null) { return authers.find(ntry); } cfgAuther old = authers.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one vrf * * @param nam name of this * @return descriptor, null if not found */ public static cfgAuther autherDel(String nam) { cfgAuther ntry = new cfgAuther(nam, null); return authers.del(ntry); } /** * find one scheduler * * @param nam name of entry * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgSched schedFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgSched ntry = new cfgSched(nam); if (!create) { return schedulers.find(ntry); } cfgSched old = schedulers.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one scheduler * * @param nam name of entry * @return descriptor, null if not found */ public static cfgSched schedDel(String nam) { cfgSched ntry = new cfgSched(nam); return schedulers.del(ntry); } /** * find one script * * @param nam name of entry * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgScrpt scrptFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgScrpt ntry = new cfgScrpt(nam); if (!create) { return scripts.find(ntry); } cfgScrpt old = scripts.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one script * * @param nam name of entry * @return descriptor, null if not found */ public static cfgScrpt scrptDel(String nam) { cfgScrpt ntry = new cfgScrpt(nam); return scripts.del(ntry); } /** * find one tracker * * @param nam name of entry * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgTrack trackFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgTrack ntry = new cfgTrack(nam); if (!create) { return trackers.find(ntry); } cfgTrack old = trackers.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one tracker * * @param nam name of entry * @return descriptor, null if not found */ public static cfgTrack trackDel(String nam) { cfgTrack ntry = new cfgTrack(nam); return trackers.del(ntry); } /** * find one mtracker * * @param nam name of entry * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgMtrack mtrackFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgMtrack ntry = new cfgMtrack(nam); if (!create) { return mtrackers.find(ntry); } cfgMtrack old = mtrackers.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one mtracker * * @param nam name of entry * @return descriptor, null if not found */ public static cfgMtrack mtrackDel(String nam) { cfgMtrack ntry = new cfgMtrack(nam); return mtrackers.del(ntry); } /** * find one certificate * * @param nam name of entry * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgCert certFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgCert ntry = new cfgCert(nam); if (!create) { return certs.find(ntry); } cfgCert old = certs.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one certificate * * @param nam name of entry * @return descriptor, null if not found */ public static cfgCert certDel(String nam) { cfgCert ntry = new cfgCert(nam); return certs.del(ntry); } /** * find one ipsec profile * * @param nam name of entry * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgIpsec ipsecFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgIpsec ntry = new cfgIpsec(nam); if (!create) { return ipsecs.find(ntry); } cfgIpsec old = ipsecs.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one ipsec profile * * @param nam name of entry * @return descriptor, null if not found */ public static cfgIpsec ipsecDel(String nam) { cfgIpsec ntry = new cfgIpsec(nam); return ipsecs.del(ntry); } /** * find one proxy map * * @param nam name of entry * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgProxy proxyFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgProxy ntry = new cfgProxy(nam); if (!create) { return proxys.find(ntry); } cfgProxy old = proxys.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one proxy map * * @param nam name of entry * @return descriptor, null if not found */ public static cfgProxy proxyDel(String nam) { cfgProxy ntry = new cfgProxy(nam); return proxys.del(ntry); } /** * find one chat script * * @param nam name of entry * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgChat chatFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgChat ntry = new cfgChat(nam); if (!create) { return chats.find(ntry); } cfgChat old = chats.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one chat script * * @param nam name of entry * @return descriptor, null if not found */ public static cfgChat chatDel(String nam) { cfgChat ntry = new cfgChat(nam); return chats.del(ntry); } /** * find one key * * @param exact type * @param lst list of entries * @param nam name of entry * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgKey keyFind( tabGen> lst, String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgKey ntry = new cfgKey(nam); if (!create) { return lst.find(ntry); } cfgKey old = lst.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one key list * * @param exact type * @param lst list of entries * @param nam name of entry * @return descriptor, null if not found */ public static cfgKey keyDel( tabGen> lst, String nam) { cfgKey ntry = new cfgKey(nam); return lst.del(ntry); } /** * find one pool * * @param exact type * @param lst list of entries * @param nam name of entry * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgPool poolFind( tabGen> lst, String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgPool ntry = new cfgPool(nam); if (!create) { return lst.find(ntry); } cfgPool old = lst.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one pool list * * @param exact type * @param lst list of entries * @param nam name of entry * @return descriptor, null if not found */ public static cfgPool poolDel( tabGen> lst, String nam) { cfgPool ntry = new cfgPool(nam); return lst.del(ntry); } /** * find one alias * * @param nam name of entry * @param typ type of entry * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgAlias aliasFind(String nam, cfgAlias.aliasType typ, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgAlias ntry = new cfgAlias(nam, typ); if (!create) { return aliases.find(ntry); } cfgAlias old = aliases.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one alias * * @param nam name of entry * @param typ type of entry * @return descriptor, null if not found */ public static cfgAlias aliasDel(String nam, cfgAlias.aliasType typ) { cfgAlias ntry = new cfgAlias(nam, typ); return aliases.del(ntry); } /** * get helping texts * * @param typ type to get * @param lev beginning help level * @param hlp help text to append */ public static void aliasHelps(cfgAlias.aliasType typ, int lev, userHelp hlp) { for (int i = 0; i < aliases.size(); i++) { cfgAlias ntry = aliases.get(i); if (ntry == null) { continue; } if (ntry.type != typ) { continue; } ntry.getLines(hlp, lev); } } /** * find one vdc * * @param nam name of this * @param create create new on this name if not found * @return descriptor, null if not found */ public static cfgVdc vdcFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgVdc ntry = new cfgVdc(nam); if (!create) { return vdcs.find(ntry); } cfgVdc old = vdcs.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one vdc * * @param nam name of this * @return descriptor, null if not found */ public static cfgVdc vdcDel(String nam) { cfgVdc ntry = new cfgVdc(nam); ntry = vdcs.del(ntry); if (ntry == null) { return null; } for (int i = 0; i < ntry.conns.size(); i++) { ntry.delConn(ntry.conns.get(i).name); } return ntry; } /** * delete interface from all vdcs * * @param ifc interface to delete */ protected static void vdcNoIfc(cfgVdcIfc ifc) { for (int i = 0; i < vdcs.size(); i++) { vdcs.get(i).ifaces.del(ifc); } } /** * find one process * * @param nam name of this * @param create create new on this name if not found * @return descriptor, null if not found */ public static cfgPrcss prcFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgPrcss ntry = new cfgPrcss(nam); if (!create) { return prcs.find(ntry); } cfgPrcss old = prcs.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one process * * @param nam name of this * @return descriptor, null if not found */ public static cfgPrcss prcDel(String nam) { cfgPrcss ntry = new cfgPrcss(nam); ntry = prcs.del(ntry); if (ntry == null) { return null; } return ntry; } /** * find one vrf * * @param nam name of this * @param create create new on this name if not found * @return descriptor, null if not found */ public static cfgVrf vrfFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgVrf ntry = new cfgVrf(nam); if (!create) { return vrfs.find(ntry); } ntry.allocThisVrf(); cfgVrf old = vrfs.add(ntry); if (old != null) { return old; } ntry.startThisVrf(); return ntry; } /** * delete one vrf * * @param nam name of this * @return descriptor, null if not found */ public static cfgVrf vrfDel(String nam) { cfgVrf ntry = new cfgVrf(nam); ntry = vrfs.del(ntry); if (ntry == null) { return null; } for (int i = ifaces.size() - 1; i >= 0; i--) { cfgIfc ifc = ifaces.get(i); if (ifc.vrfFor == null) { continue; } if (ifc.vrfFor.fwd4.vrfNum != ntry.fwd4.vrfNum) { continue; } ifc.clear2routing(true, true); ifc.clear2vrf(); } ntry.closeAllConns(false); ntry.stopThisVrf(); return ntry; } /** * add one physical interface * * @param nam name of interface * @param typ type of interface * @param thrd interface thread handler * @param wrkr worker threads * @return descriptor, null on error */ public static cfgIfc ifcAdd(String nam, tabRouteIface.ifaceType typ, ifcThread thrd, int wrkr) { String pnm[] = cfgIfc.dissectName(nam); if (pnm == null) { return null; } if (thrd != null) { thrd.startLoop(wrkr); } pnm[3] = ""; pnm[4] = ""; cfgIfc ntry = new cfgIfc(pnm); ntry.type = typ; ntry.thread = thrd; ifaces.add(ntry); return ntry; } /** * delete one interface * * @param nam name of interface * @param checks enable checks * @return false if successful, true on error */ public static boolean ifcDel(String nam, boolean checks) { String pnm[] = cfgIfc.dissectName(nam); if (pnm == null) { return true; } cfgIfc ntry = new cfgIfc(pnm); if (checks) { ntry = ifaces.find(ntry); if (ntry == null) { return true; } if (ntry.thread != null) { return true; } if ((ntry.bridgeHed != null) && (ntry.bridgeIfc == null)) { return true; } if ((ntry.bundleHed != null) && (ntry.bundleIfc == null)) { return true; } } ntry = ifaces.del(ntry); if (ntry == null) { return true; } ntry.clear2routing(true, true); ntry.clear2mpls(); ntry.clear2ldp(4); ntry.clear2ldp(6); ntry.clear2rsvp(4); ntry.clear2rsvp(6); ntry.clear2vrf(); ntry.clear2tunnel(true); ntry.clear2bridge(); ntry.clear2bundle(); ntry.clear2xconnect(); ntry.clear2evcs(); ntry.clear2transproxy(); ntry.setup2eapolClnt(null, null); ntry.setup2eapolServ(null); ntry.setup2pppoeClnt(null); ntry.setup2pppoeServ(null, null); ntry.setup2pppoeRely(null, null); ntry.clear2pseudowire(); if (ntry.vlanNum != 0) { return false; } for (int i = ifaces.size() - 1; i >= 0; i--) { cfgIfc cur = ifaces.get(i); if (cur == null) { continue; } if (cur.vlanNum == 0) { continue; } if (cur.parent != ntry) { continue; } ifcDel(cur.name, checks); } return false; } /** * find one interface * * @param nam name of this * @param create 0=find, 1=create new on this name if not found, 2=as 1, but * for cloning * @return descriptor, null if not found */ public static cfgIfc ifcFind(String nam, int create) { String pnm[] = cfgIfc.dissectName(nam); if (pnm == null) { return null; } nam = pnm[0] + pnm[1] + pnm[2] + pnm[3] + pnm[4]; cfgIfc ntry = new cfgIfc(pnm); if (create < 1) { return ifaces.find(ntry); } cfgIfc old = ifaces.add(ntry); if (old != null) { if (create < 2) { return old; } else { return null; } } if (pnm[4].length() > 0) { ntry.vlanNum = bits.str2num(pnm[4].substring(1, pnm[4].length())); pnm[4] = ""; old = ifaces.find(new cfgIfc(pnm)); if (old == null) { ifaces.del(ntry); return null; } ntry.initSubiface(old); return ntry; } if (pnm[3].length() > 0) { ntry.vlanNum = bits.str2num(pnm[3].substring(1, pnm[3].length())); pnm[3] = ""; pnm[4] = ""; old = ifaces.find(new cfgIfc(pnm)); if (old == null) { ifaces.del(ntry); return null; } ntry.initSubiface(old); return ntry; } if (nam.startsWith("tunnel")) { ntry.type = tabRouteIface.ifaceType.tunnel; ntry.clear2tunnel(false); return ntry; } if (nam.startsWith("dialer")) { ntry.type = tabRouteIface.ifaceType.dialer; ntry.initPhysical(); return ntry; } if (nam.startsWith("sdn")) { ntry.type = tabRouteIface.ifaceType.sdn; ntry.initPhysical(); return ntry; } if (nam.startsWith("pwether")) { ntry.type = tabRouteIface.ifaceType.pweth; ntry.initPhysical(); return ntry; } if (nam.startsWith("virtualppp")) { ntry.type = tabRouteIface.ifaceType.virtppp; ntry.initPhysical(); return ntry; } if (nam.startsWith("loopback")) { ntry.type = tabRouteIface.ifaceType.loopback; ntry.initLoopback(); return ntry; } if (nam.startsWith("null")) { ntry.type = tabRouteIface.ifaceType.nul; ntry.initTemplate(); return ntry; } if (nam.startsWith("template")) { ntry.type = tabRouteIface.ifaceType.template; ntry.initTemplate(); return ntry; } if (nam.startsWith("access")) { ntry.type = tabRouteIface.ifaceType.dialer; ntry.initPhysical(); return ntry; } ifaces.del(ntry); return null; } /** * reregister subinterfaces * * @param iface interface */ public synchronized static void regSubifaces(cfgIfc iface) { for (int i = 0; i < ifaces.size(); i++) { cfgIfc ifc = ifaces.get(i); if (ifc.parent == null) { continue; } if (!ifc.parent.name.equals(iface.name)) { continue; } ifc.initSubiface(iface); } } /** * template configuration * * @param temp template interface * @param cmd configuration command */ public synchronized static void templateConfig(cfgIfc temp, cmds cmd) { List l = new ArrayList(); l.add("interface " + temp.name); l.add(" " + cmd.getRemaining().trim()); l = userFilter.filterText(l, cfgIfc.notemplF); if (l.size() < 2) { return; } for (int i = 0; i < ifaces.size(); i++) { cfgIfc ifc = ifaces.get(i); if (ifc.template == null) { continue; } if (!ifc.template.name.equals(temp.name)) { continue; } ifc.doCfgStr(cmd.copyBytes(false)); } } /** * add one physical line * * @param nam name of line * @param thrd line thread handler * @return descriptor */ public static cfgLin linAdd(String nam, lineThread thrd) { cfgLin ntry = new cfgLin(nam); ntry.thread = thrd; lines.add(ntry); ntry.setup2run(); return ntry; } /** * find one line * * @param nam name of this * @return descriptor, null if not found */ public static cfgLin linFind(String nam) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgLin ntry = new cfgLin(nam); return lines.find(ntry); } /** * add one menu * * @param nam name of line * @return descriptor */ public static cfgMenuK menuKdel(String nam) { cfgMenuK ntry = new cfgMenuK(nam); return menuk.del(ntry); } /** * find one menu * * @param nam name of this * @param create create if needed * @return descriptor, null if not found */ public static cfgMenuK menuKfind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgMenuK ntry = new cfgMenuK(nam); ntry = menuk.find(ntry); if (!create) { return ntry; } if (ntry != null) { return ntry; } ntry = new cfgMenuK(nam); menuk.add(ntry); return ntry; } /** * add one menu * * @param nam name of line * @return descriptor */ public static cfgMenuT menuTdel(String nam) { cfgMenuT ntry = new cfgMenuT(nam); return menut.del(ntry); } /** * find one menu * * @param nam name of this * @param create create if needed * @return descriptor, null if not found */ public static cfgMenuT menuTfind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgMenuT ntry = new cfgMenuT(nam); ntry = menut.find(ntry); if (!create) { return ntry; } if (ntry != null) { return ntry; } ntry = new cfgMenuT(nam); menut.add(ntry); return ntry; } /** * find one access list * * @param nam name of entry * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgVpdn vpdnFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgVpdn ntry = new cfgVpdn(nam); if (!create) { return vpdns.find(ntry); } cfgVpdn old = vpdns.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one access list * * @param nam name of entry * @return descriptor, null if not found */ public static cfgVpdn vpdnDel(String nam) { cfgVpdn ntry = new cfgVpdn(nam); ntry = vpdns.del(ntry); if (ntry == null) { return null; } ntry.stop2run(); return ntry; } /** * find one object group * * @param nam name of entry * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgObjnet objnetFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgObjnet ntry = new cfgObjnet(nam); if (!create) { return objgrpnets.find(ntry); } cfgObjnet old = objgrpnets.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one object group * * @param nam name of entry * @return descriptor, null if not found */ public static cfgObjnet objnetDel(String nam) { cfgObjnet ntry = new cfgObjnet(nam); return objgrpnets.del(ntry); } /** * find one object group * * @param nam name of entry * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgObjprt objprtFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgObjprt ntry = new cfgObjprt(nam); if (!create) { return objgrpprts.find(ntry); } cfgObjprt old = objgrpprts.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one object group * * @param nam name of entry * @return descriptor, null if not found */ public static cfgObjprt objprtDel(String nam) { cfgObjprt ntry = new cfgObjprt(nam); return objgrpprts.del(ntry); } /** * find one access list * * @param nam name of entry * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgAceslst aclsFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgAceslst ntry = new cfgAceslst(nam); if (!create) { return accesslsts.find(ntry); } cfgAceslst old = accesslsts.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one access list * * @param nam name of entry * @return descriptor, null if not found */ public static cfgAceslst aclsDel(String nam) { cfgAceslst ntry = new cfgAceslst(nam); return accesslsts.del(ntry); } /** * find one telemetry destination * * @param nam name of entry * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgTlmtry tlmdsFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgTlmtry ntry = new cfgTlmtry(nam); if (!create) { return tlmtrydst.find(ntry); } cfgTlmtry old = tlmtrydst.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one telemetry export * * @param nam name of entry * @return descriptor, null if not found */ public static cfgTlmtry tlmdsDel(String nam) { cfgTlmtry ntry = new cfgTlmtry(nam); return tlmtrydst.del(ntry); } /** * find one event manager * * @param nam name of entry * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgEvntmgr eemFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgEvntmgr ntry = new cfgEvntmgr(nam); if (!create) { return eventmgrs.find(ntry); } cfgEvntmgr old = eventmgrs.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one event manager * * @param nam name of entry * @return descriptor, null if not found */ public static cfgEvntmgr eemDel(String nam) { cfgEvntmgr ntry = new cfgEvntmgr(nam); return eventmgrs.del(ntry); } /** * find one prefix list * * @param nam name of entry * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgPrfxlst prfxFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgPrfxlst ntry = new cfgPrfxlst(nam); if (!create) { return prefixlsts.find(ntry); } cfgPrfxlst old = prefixlsts.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one prefix list * * @param nam name of entry * @return descriptor, null if not found */ public static cfgPrfxlst prfxDel(String nam) { cfgPrfxlst ntry = new cfgPrfxlst(nam); return prefixlsts.del(ntry); } /** * find one route map * * @param nam name of entry * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgRoump rtmpFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgRoump ntry = new cfgRoump(nam); if (!create) { return routemaps.find(ntry); } cfgRoump old = routemaps.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one route map * * @param nam name of entry * @return descriptor, null if not found */ public static cfgRoump rtmpDel(String nam) { cfgRoump ntry = new cfgRoump(nam); return routemaps.del(ntry); } /** * find one route policy * * @param nam name of entry * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgRouplc rtplFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgRouplc ntry = new cfgRouplc(nam); if (!create) { return routeplcs.find(ntry); } cfgRouplc old = routeplcs.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one route policy * * @param nam name of entry * @return descriptor, null if not found */ public static cfgRouplc rtplDel(String nam) { cfgRouplc ntry = new cfgRouplc(nam); return routeplcs.del(ntry); } /** * find one time map * * @param nam name of entry * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgTime timeFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgTime ntry = new cfgTime(nam); if (!create) { return timemaps.find(ntry); } cfgTime old = timemaps.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one time map * * @param nam name of entry * @return descriptor, null if not found */ public static cfgTime timeDel(String nam) { cfgTime ntry = new cfgTime(nam); return timemaps.del(ntry); } /** * find one policy map * * @param nam name of entry * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgPlymp plmpFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgPlymp ntry = new cfgPlymp(nam); if (!create) { return policymaps.find(ntry); } cfgPlymp old = policymaps.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one policy map * * @param nam name of entry * @return descriptor, null if not found */ public static cfgPlymp plmpDel(String nam) { cfgPlymp ntry = new cfgPlymp(nam); return policymaps.del(ntry); } /** * find one connect * * @param nam name of entry * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgXconn xconFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgXconn ntry = new cfgXconn(nam); if (!create) { return xconnects.find(ntry); } cfgXconn old = xconnects.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one connect * * @param nam name of entry * @return descriptor, null if not found */ public static cfgXconn xconDel(String nam) { cfgXconn ntry = new cfgXconn(nam); ntry = xconnects.del(ntry); if (ntry == null) { return null; } ntry.stop2run(); return ntry; } /** * find one router * * @param typ type of routing process * @param num number of this * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgRtr rtrFind(tabRouteAttr.routeType typ, int num, boolean create) { if (num < 1) { return null; } cfgRtr ntry = new cfgRtr(typ, num); if (!create) { return routers.find(ntry); } cfgRtr old = routers.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one router * * @param typ type of routing process * @param num number of this * @return descriptor, null if not found */ public static cfgRtr rtrDel(tabRouteAttr.routeType typ, int num) { cfgRtr ntry = new cfgRtr(typ, num); ntry = routers.del(ntry); if (ntry == null) { return null; } for (int i = ifaces.size() - 1; i >= 0; i--) { cfgIfc ifc = ifaces.get(i); switch (typ) { case rip4: if (ifc.rtrRip4hnd != null) { if (ifc.rtrRip4hnd.number == ntry.number) { ifc.clear2router(ifc.rtrRip4hnd); } } break; case rip6: if (ifc.rtrRip6hnd != null) { if (ifc.rtrRip6hnd.number == ntry.number) { ifc.clear2router(ifc.rtrRip6hnd); } } break; case ospf4: if (ifc.rtrOspf4hnd != null) { if (ifc.rtrOspf4hnd.number == ntry.number) { ifc.clear2router(ifc.rtrOspf4hnd); } } break; case ospf6: if (ifc.rtrOspf6hnd != null) { if (ifc.rtrOspf6hnd.number == ntry.number) { ifc.clear2router(ifc.rtrOspf6hnd); } } break; case isis4: case isis6: if (ifc.rtrIsisHnd != null) { if (ifc.rtrIsisHnd.number == ntry.number) { ifc.clear2router(ifc.rtrIsisHnd); } } break; case rift4: if (ifc.rtrRift4hnd != null) { if (ifc.rtrRift4hnd.number == ntry.number) { ifc.clear2router(ifc.rtrRift4hnd); } } break; case rift6: if (ifc.rtrRift6hnd != null) { if (ifc.rtrRift6hnd.number == ntry.number) { ifc.clear2router(ifc.rtrRift6hnd); } } break; case pvrp4: if (ifc.rtrPvrp4hnd != null) { if (ifc.rtrPvrp4hnd.number == ntry.number) { ifc.clear2router(ifc.rtrPvrp4hnd); } } break; case pvrp6: if (ifc.rtrPvrp6hnd != null) { if (ifc.rtrPvrp6hnd.number == ntry.number) { ifc.clear2router(ifc.rtrPvrp6hnd); } } break; case lsrp4: if (ifc.rtrLsrp4hnd != null) { if (ifc.rtrLsrp4hnd.number == ntry.number) { ifc.clear2router(ifc.rtrLsrp4hnd); } } break; case lsrp6: if (ifc.rtrLsrp6hnd != null) { if (ifc.rtrLsrp6hnd.number == ntry.number) { ifc.clear2router(ifc.rtrLsrp6hnd); } } break; case eigrp4: if (ifc.rtrEigrp4hnd != null) { if (ifc.rtrEigrp4hnd.number == ntry.number) { ifc.clear2router(ifc.rtrEigrp4hnd); } } break; case eigrp6: if (ifc.rtrEigrp6hnd != null) { if (ifc.rtrEigrp6hnd.number == ntry.number) { ifc.clear2router(ifc.rtrEigrp6hnd); } } break; default: break; } } ntry.closeUp(); return ntry; } /** * find one bridge * * @param nam name of this * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgBrdg brdgFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgBrdg ntry = new cfgBrdg(nam); if (!create) { return bridges.find(ntry); } cfgBrdg old = bridges.add(ntry); if (old != null) { return old; } cfgIfc ifc = ifcAdd(ntry.getIntName(), tabRouteIface.ifaceType.bridge, null, 1); if (ifc == null) { bridges.del(ntry); return null; } ntry.bridgeHed = new ifcBridge(); ntry.bridgeHed.doStartup(); ifc.bridgeHed = ntry; ifc.initBridge(); return ntry; } /** * delete one bridge * * @param nam name of this * @return descriptor, null if not found */ public static cfgBrdg brdgDel(String nam) { cfgBrdg ntry = new cfgBrdg(nam); ntry = bridges.del(ntry); if (ntry == null) { return null; } ntry.bridgeHed.doShutdown(); for (int i = ifaces.size() - 1; i >= 0; i--) { cfgIfc ifc = ifaces.get(i); if (ifc.bridgeHed == null) { continue; } if (ntry.compareTo(ifc.bridgeHed) != 0) { continue; } ifc.clear2bridge(); } ifcDel(ntry.getIntName(), false); ntry.closeUp(); return ntry; } /** * find one bundle * * @param nam name of this * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgBndl bndlFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgBndl ntry = new cfgBndl(nam); if (!create) { return bundles.find(ntry); } cfgBndl old = bundles.add(ntry); if (old != null) { return old; } cfgIfc ifc = ifcAdd(ntry.getIntName(), tabRouteIface.ifaceType.bundle, null, 1); if (ifc == null) { bundles.del(ntry); return null; } ntry.bundleHed = new ifcBundle(); ntry.bundleHed.doStartup(); ifc.bundleHed = ntry; ifc.initBundle(); return ntry; } /** * delete one bundle * * @param nam name of this * @return descriptor, null if not found */ public static cfgBndl bndlDel(String nam) { cfgBndl ntry = new cfgBndl(nam); ntry = bundles.del(ntry); if (ntry == null) { return null; } ntry.bundleHed.doShutdown(); for (int i = ifaces.size() - 1; i >= 0; i--) { cfgIfc ifc = ifaces.get(i); if (ifc.bundleHed == null) { continue; } if (ntry.compareTo(ifc.bundleHed) != 0) { continue; } ifc.clear2bundle(); } ifcDel(ntry.getIntName(), false); ntry.closeUp(); return ntry; } /** * find one hairpin * * @param nam name of this * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgHrpn hrpnFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgHrpn ntry = new cfgHrpn(nam); if (!create) { return hairpins.find(ntry); } cfgHrpn old = hairpins.add(ntry); if (old != null) { return old; } ntry.hairpinHed = new ifcHairpin(); cfgIfc ifc1 = ifcAdd(ntry.getIntName(true), tabRouteIface.ifaceType.hairpin, null, 1); if (ifc1 == null) { hairpins.del(ntry); return null; } cfgIfc ifc2 = ifcAdd(ntry.getIntName(false), tabRouteIface.ifaceType.hairpin, null, 1); if (ifc2 == null) { hairpins.del(ntry); return null; } ifc1.hairpinHed = ntry; ifc2.hairpinHed = ntry; ifc1.initHairpin(true); ifc2.initHairpin(false); ntry.startWork(); return ntry; } /** * delete one hairpin * * @param nam name of this * @return descriptor, null if not found */ public static cfgHrpn hrpnDel(String nam) { cfgHrpn ntry = new cfgHrpn(nam); ntry = hairpins.del(ntry); if (ntry == null) { return null; } ifcDel(ntry.getIntName(true), false); ifcDel(ntry.getIntName(false), false); ntry.stopWork(); return ntry; } /** * find one access list * * @param nam name of entry * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgVnet vnetFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgVnet ntry = new cfgVnet(nam); if (!create) { return vnets.find(ntry); } cfgVnet old = vnets.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one access list * * @param nam name of entry * @return descriptor, null if not found */ public static cfgVnet vnetDel(String nam) { cfgVnet ntry = new cfgVnet(nam); ntry = vnets.del(ntry); if (ntry == null) { return null; } ntry.stopNow(); return ntry; } /** * find one session * * @param nam name of this * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgSessn sessnFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgSessn ntry = new cfgSessn(nam); if (!create) { return sessns.find(ntry); } cfgSessn old = sessns.add(ntry); if (old != null) { return old; } ntry.connects.startTimer(); return ntry; } /** * delete one session * * @param nam name of this * @return descriptor, null if not found */ public static cfgSessn sessnDel(String nam) { cfgSessn ntry = new cfgSessn(nam); ntry = sessns.del(ntry); if (ntry == null) { return null; } ntry.connects.stopTimer(); return ntry; } private final static String dialFind(String str) { if (str == null) { return null; } else { return "," + str + ","; } } /** * find one dial peer * * @param calling calling number * @param called called number * @param skip skip this peer * @return descriptor, null if not found */ public static cfgDial dialFind(String calling, String called, cfgDial skip) { String myNam = ","; String mySkp = ""; String myAlw = null; if (skip != null) { myNam = dialFind(skip.name); mySkp = dialFind(skip.skipPeersOut); myAlw = dialFind(skip.allowPeersOut); } for (int i = 0; i < dials.size(); i++) { cfgDial ntry = dials.get(i); if (ntry == null) { continue; } if (skip != null) { if (skip.compareTo(ntry) == 0) { continue; } } String nam = dialFind(ntry.name); if (myAlw != null) { if (myAlw.indexOf(nam) < 0) { continue; } } if (ntry.allowPeersIn != null) { if (dialFind(ntry.allowPeersIn).indexOf(myNam) < 0) { continue; } } if (mySkp != null) { if (mySkp.indexOf(nam) >= 0) { continue; } } if (ntry.skipPeersIn != null) { if (dialFind(ntry.skipPeersIn).indexOf(myNam) >= 0) { continue; } } if (ntry.matches(calling, called)) { return ntry; } } return null; } /** * find one dial peer * * @param nam name of this * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgDial dialFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgDial ntry = new cfgDial(nam); if (!create) { return dials.find(ntry); } cfgDial old = dials.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one dial peer * * @param nam name of this * @return descriptor, null if not found */ public static cfgDial dialDel(String nam) { cfgDial ntry = new cfgDial(nam); ntry = dials.del(ntry); if (ntry == null) { return null; } ntry.doShutdown(); return ntry; } /** * find one check * * @param nam name of this * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgCheck checkFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgCheck ntry = new cfgCheck(nam); if (!create) { return checks.find(ntry); } cfgCheck old = checks.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one check * * @param nam name of this * @return descriptor, null if not found */ public static cfgCheck checkDel(String nam) { cfgCheck ntry = new cfgCheck(nam); ntry = checks.del(ntry); if (ntry == null) { return null; } return ntry; } /** * find one sensor * * @param nam name of this * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgSensor sensorFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgSensor ntry = new cfgSensor(nam); if (!create) { return sensors.find(ntry); } cfgSensor old = sensors.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one sensor * * @param nam name of this * @return descriptor, null if not found */ public static cfgSensor sensorDel(String nam) { cfgSensor ntry = new cfgSensor(nam); ntry = sensors.del(ntry); if (ntry == null) { return null; } ntry.stopWork(); return ntry; } /** * find one translation rule * * @param nam name of this * @param create create new on this number if not found * @return descriptor, null if not found */ public static cfgTrnsltn trnsltnFind(String nam, boolean create) { nam = nam.trim(); if (nam.length() < 1) { return null; } cfgTrnsltn ntry = new cfgTrnsltn(nam); if (!create) { return trnsltns.find(ntry); } cfgTrnsltn old = trnsltns.add(ntry); if (old != null) { return old; } return ntry; } /** * delete one translation rule * * @param nam name of this * @return descriptor, null if not found */ public static cfgTrnsltn trnsltnDel(String nam) { cfgTrnsltn ntry = new cfgTrnsltn(nam); ntry = trnsltns.del(ntry); if (ntry == null) { return null; } return ntry; } /** * find one server * * @param type of list * @param srv empty instance * @param lst the list * @param nam name to find * @return instance, null if not found */ public static T srvrFind(T srv, servGenList lst, String nam) { srv.srvRename(nam); return lst.find(srv, false); } /** * get list of aliases * * @return list of aliases */ public static userFormat getShAlias() { userFormat l = new userFormat("|", "type|name|command"); for (int i = 0; i < aliases.size(); i++) { l.add("" + aliases.get(i)); } return l; } /** * build list of interfaces * * @param mode mode to use * @return text to display */ public static List getShIntTxt(int mode) { List l = new ArrayList(); for (int i = 0; i < ifaces.size(); i++) { cfgIfc ifc = ifaces.get(i); if (ifc == null) { continue; } l.addAll(ifc.getShIntTxt(mode)); } return l; } /** * build list of interfaces * * @param mode mode to use * @return text to display */ public static userFormat getShIntTab(int mode) { userFormat l; switch (mode) { case 1: l = new userFormat("|", "interface|state|description"); break; case 2: case 15: case 19: l = new userFormat("|", "interface|state|tx|rx|drop"); break; case 3: l = new userFormat("|", "interface|state|bandwidth|vrf"); break; case 4: case 5: l = new userFormat("|", "interface|state|address|netmask"); break; case 6: case 7: l = new userFormat("|", "interface|hostname|iface|ipv4|ipv6"); break; case 8: l = new userFormat("|", "interface|hostname|serial|iface|state"); break; case 9: case 17: case 21: l = new userFormat("|", "interface|state|tx|rx|drop"); break; case 10: case 23: case 25: l = new userFormat("|", "interface|state|tx|rx|drop"); break; case 11: case 16: case 20: l = new userFormat("|", "interface|state|tx|rx|drop"); break; case 12: case 18: case 22: l = new userFormat("|", "interface|state|tx|rx|drop"); break; case 13: case 24: case 26: l = new userFormat("|", "interface|state|tx|rx|drop"); break; case 14: l = new userFormat("|", "interface|system|port|state"); break; case 27: l = new userFormat("|", "interface|state|mtu|promisc|macsec|sgt|changes|for|since"); break; case 28: l = new userFormat("|", "interface|state|input|output|drop"); break; case 29: case 30: case 31: l = new userFormat("|", "interface|state|tx|rx|drop"); break; case 32: case 33: case 34: case 35: l = new userFormat("|", "name|enabled"); break; default: return null; } for (int i = 0; i < ifaces.size(); i++) { cfgIfc ifc = ifaces.get(i); if (ifc == null) { continue; } ifc.getShIntTab(l, mode); } return l; } /** * build list of trackers * * @return text to display */ public static userFormat getShTracker() { userFormat l = new userFormat("|", "name|type|mode|target|state|changes|took|changed"); for (int i = 0; i < trackers.size(); i++) { cfgTrack trck = trackers.get(i); if (trck == null) { continue; } l.add(trck.worker.getShSum()); } return l; } /** * build list of checks * * @return text to display */ public static userFormat getShCheck() { userFormat l = new userFormat("|", "name|state|asked|reply|times|last|times|last", "4|2pass|2fail"); for (int i = 0; i < cfgAll.checks.size(); i++) { cfgCheck ntry = cfgAll.checks.get(i); if (ntry == null) { continue; } l.add(ntry.getShSum()); } return l; } /** * build list of mtrackers * * @return text to display */ public static userFormat getShMtracker() { userFormat l = new userFormat("|", "name|group|port|total|reach|bidir|changed"); for (int i = 0; i < mtrackers.size(); i++) { cfgMtrack trck = mtrackers.get(i); if (trck == null) { continue; } l.add(trck.worker.getShSum()); } return l; } /** * do things with more interfaces * * @param what what to do: 1=tunnelDest, 2=clearSwCntr, 3=autoBw, 4=flwTrc, * 5=clearHwCntr, 6=clearAllCntr, 7=countHwCntr * @return value */ public static int moreInterfaces(int what) { int res = 0; for (int i = 0; i < ifaces.size(); i++) { cfgIfc ifc = ifaces.get(i); if (ifc == null) { continue; } switch (what) { case 1: ifc.tunnelDomainName(); break; case 2: ifc.ethtyp.clearSwCounter(); break; case 3: ifc.autoBandwidth(); break; case 4: ifc.followTracker(); break; case 5: ifc.ethtyp.clearHwCounter(); break; case 6: ifc.ethtyp.clearSwCounter(); ifc.ethtyp.clearHwCounter(); break; case 7: if (ifc.ethtyp.hwCntr != null) { res++; } break; } } return res; } private static List getGlobalRunBeg(int filter) { List l = new ArrayList(); l.add("hostname " + hostName); cmds.cfgLine(l, !buggy, "", "buggy", ""); cmds.cfgLine(l, locale == null, "", "locale", locale); cmds.cfgLine(l, passEnc == null, "", "password-encrypt", "" + authLocal.passwdHide(passEnc, (filter & 2) != 0)); cmds.cfgLine(l, enaPass == null, "", "enable", authLocal.secretEncode(enaPass, (filter & 2) != 0)); l.add("banner encoded " + encBase64.encodeBytes(bannerEnc)); cmds.cfgLine(l, bannerTxt == null, "", "banner text", bannerTxt); cmds.cfgLine(l, bannerPix == null, "", "banner pixel", bannerPix); cmds.cfgLine(l, bannerImg == null, "", "banner image", bannerImg); cmds.cfgLine(l, bannerMov == null, "", "banner movie", bannerMov); l.add(cmds.comment); l.add("client label-range " + labelRangeBeg + " " + labelRangeEnd); for (int i = 0; i < alwaysDebugs.size(); i++) { l.add("logging debug " + alwaysDebugs.get(i)); } cmds.cfgLine(l, !tracebackStops, "", "logging tracestop", ""); cmds.cfgLine(l, !logger.logMillis, "", "logging milliseconds", ""); l.add("logging buffered " + logger.level2string(logger.logBufLev) + " " + logger.getBufSize()); l.add("logging monitor " + logger.level2string(logger.logPipLev)); l.add("logging format " + logger.format2string(logger.logPosForm)); String a = logger.fileName(); cmds.cfgLine(l, a == null, "", "logging file " + logger.level2string(logger.logFilLev), a); a = logger.fileRotate(); cmds.cfgLine(l, a == null, "", "logging rotate", a); cmds.cfgLine(l, logger.logProxy == null, "", "logging proxy", "" + logger.logProxy); a = ""; for (int i = 0; i < logger.logSylHnd.size(); i++) { a += " " + logger.logSylHnd.get(i); } a = a.trim(); cmds.cfgLine(l, a.length() < 1, "", "logging syslog " + logger.level2string(logger.logSylLev) + " " + servSyslog.num2facility(logger.logSylFac), a); a = "" + logger.logIrcHnd; cmds.cfgLine(l, a.length() < 1, "", "logging irc " + logger.level2string(logger.logIrcLev), a); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } private static String rxtx2string(boolean rx, boolean tx) { if ((rx == true) && (tx == true)) { return "both"; } if (rx) { return "receive"; } if (tx) { return "transmit"; } return "none"; } private static List getGlobalRunEnd(int filter) { List l = new ArrayList(); l.add("client ifacestall " + ifaceStallCheck); l.add("client redundancy-keepalive " + redundancyKeep); l.add("client redundancy-hold " + redundancyHold); l.add("client redundancy-initial " + redundancyInit); l.add("client redundancy-takeover " + redundancyTake); l.add("client cpuhog " + cpuhogCheck); if (clientShamer == null) { l.add("no client bullying"); } else { l.add("client bullying " + clientShamer.srvName); } if (clientProxy == null) { l.add("no client proxy"); } else { l.add("client proxy " + clientProxy.name); } if (nameServerProxy == null) { l.add("no client name-proxy"); } else { l.add("client name-proxy " + nameServerProxy.name); } cmds.cfgLine(l, domainName == null, "", "client domain-name", domainName); cmds.cfgLine(l, !domainLookup, "", "client domain-lookup", ""); cmds.cfgLine(l, !preferIpv6, "", "client prefer-ipv6", ""); cmds.cfgLine(l, whoisServer == null, "", "client whois-server", whoisServer); cmds.cfgLine(l, whoisOption == null, "", "client whois-option", whoisOption); cmds.cfgLine(l, whoisFile == null, "", "client whois-file", whoisFile); if (whoisOnline != null) { String a = ""; for (int i = 0; i < whoisOnline.size(); i++) { a += " " + whoisOnline.get(i); } l.add("client whois-online" + a); } cmds.cfgLine(l, whoisProxy == null, "", "client whois-proxy", "" + whoisProxy); cmds.cfgLine(l, !graceReload, "", "client graceful-reload", ""); l.add("client ipv4-tos " + ipv4sendingTOS); l.add("client ipv4-ttl " + ipv4sendingTTL); l.add("client ipv6-tos " + ipv6sendingTOS); l.add("client ipv6-ttl " + ipv6sendingTTL); l.add("client ipv4-checksum " + rxtx2string(ipv4ChecksumRx, ipv4ChecksumTx)); l.add("client icmp4-checksum " + rxtx2string(icmp4ChecksumRx, icmp4ChecksumTx)); l.add("client icmp6-checksum " + rxtx2string(icmp6ChecksumRx, icmp6ChecksumTx)); l.add("client udp-checksum " + rxtx2string(udpChecksumRx, udpChecksumTx)); l.add("client udp-portrange " + udpRangeMin + " " + udpRangeMax); l.add("client tcp-checksum " + rxtx2string(tcpChecksumRx, tcpChecksumTx)); l.add("client tcp-segments " + tcpSegmentMin + " " + tcpSegmentMax); l.add("client tcp-winscale " + tcpWinScale); cmds.cfgLine(l, !tcpTimStmp, "", "client tcp-timestamp", ""); cmds.cfgLine(l, !tcpEcn, "", "client tcp-ecn", ""); cmds.cfgLine(l, !tcpSack, "", "client tcp-sack", ""); cmds.cfgLine(l, !tcpKeepalive, "", "client tcp-keepalive", ""); cmds.cfgLine(l, capturePath == null, "", "client capture-path", capturePath); cmds.cfgLine(l, pasteBin == null, "", "client pastebin", pasteBin); l.add("client tcp-timer work " + tcpTimeWork); l.add("client tcp-timer alive " + tcpTimeAlive); l.add("client tcp-timer fin " + tcpTimeFin); l.add("client tcp-timer syn " + tcpTimeSyn); l.add("client tcp-timer open " + tcpTimeOpen); l.add("client tcp-timer close " + tcpTimeClose); l.add("client tcp-timer later " + tcpTimeLater); l.add("client tcp-timer now " + tcpTimeNow); l.add("client tcp-timer max " + tcpTimeMax); l.add("client tcp-portrange " + tcpRangeMin + " " + tcpRangeMax); l.add("client ludp-checksum " + rxtx2string(ludpChecksumRx, ludpChecksumTx)); l.add("client ludp-portrange " + ludpRangeMin + " " + ludpRangeMax); l.add("client dccp-checksum " + rxtx2string(dccpChecksumRx, dccpChecksumTx)); l.add("client dccp-portrange " + dccpRangeMin + " " + dccpRangeMax); l.add("client sctp-checksum " + rxtx2string(sctpChecksumRx, sctpChecksumTx)); l.add("client sctp-portrange " + sctpRangeMin + " " + sctpRangeMax); l.add("client l2f-timer " + l2fTimer + " " + l2fRetry); l.add("client l2tp2-timer " + l2tp2hello + " " + l2tp2retry); l.add("client l2tp3-timer " + l2tp3hello + " " + l2tp3retry); String a = ""; for (int i = 0; i < nameServerAddr.size(); i++) { a += " " + nameServerAddr.get(i); } l.add("client name-server" + a); cmds.cfgLine(l, !ftpPassive, "", "client ftp-passive", ""); cmds.cfgLine(l, ftpProxy == null, "", "client ftp-proxy", "" + ftpProxy); cmds.cfgLine(l, pop3proxy == null, "", "client pop3-proxy", "" + pop3proxy); cmds.cfgLine(l, upgradePubKey == null, "", "client upgrade-pubkey", "" + upgradePubKey); cmds.cfgLine(l, upgradeServer == null, "", "client upgrade-server", "" + upgradeServer); cmds.cfgLine(l, !upgradeConfig, "", "client upgrade-config", ""); cmds.cfgLine(l, !upgradeBackup, "", "client upgrade-backup", ""); cmds.cfgLine(l, upgradeRevert == 0, "", "client upgrade-revert", "" + upgradeRevert); cmds.cfgLine(l, !upgradeOwnKey, "", "client upgrade-ownkey", ""); if (upgradeScript == null) { l.add("no client upgrade-script"); } else { l.add("client upgrade-script " + upgradeScript.name); } cmds.cfgLine(l, configServer == null, "", "client config-server", "" + configServer); cmds.cfgLine(l, configUser == null, "", "client config-username", "" + configUser); cmds.cfgLine(l, configPass == null, "", "client config-password", "" + authLocal.passwdEncode(configPass, (filter & 2) != 0)); cmds.cfgLine(l, configBackup == null, "", "client config-backup", "" + configBackup); cmds.cfgLine(l, !configAsave, "", "client config-save", ""); cmds.cfgLine(l, !configAbackup, "", "client config-archive", ""); cmds.cfgLine(l, configExclusive.get() < 1, "", "client config-exclusive", ""); l.add("client access-subnet-ipv4 " + accessSubnet4); l.add("client access-subnet-ipv6 " + accessSubnet6); l.add("client access-supernet-ipv4 " + accessSupnet4); l.add("client access-supernet-ipv6 " + accessSupnet6); l.add("client tls-version " + tlsVerMin + " " + tlsVerMax); l.add("client ssh-group " + sshGrpMin + " " + sshGrpMax); cmds.cfgLine(l, sshAgent == null, "", "client ssh-agent", sshAgent); cmds.cfgLine(l, timeServerName == null, "", "client time-server", "" + timeServerName); l.add("client time-zone " + timeZoneName); cmds.cfgLine(l, timeProxy == null, "", "client time-proxy", "" + timeProxy); cmds.cfgLine(l, tftpProxy == null, "", "client tftp-proxy", "" + tftpProxy); cmds.cfgLine(l, httpAgent == null, "", "client http-agent", httpAgent); cmds.cfgLine(l, httpProxy == null, "", "client http-proxy", "" + httpProxy); cmds.cfgLine(l, mailProxy == null, "", "client mail-proxy", "" + mailProxy); cmds.cfgLine(l, mailServerName == null, "", "client mail-server", "" + mailServerName); cmds.cfgLine(l, mailServerUser == null, "", "client mail-username", "" + mailServerUser); cmds.cfgLine(l, mailServerPass == null, "", "client mail-password", "" + authLocal.passwdEncode(mailServerPass, (filter & 2) != 0)); a = ""; if ((endForm & 0x1) != 0) { a += " date"; } if ((endForm & 0x2) != 0) { a += " image"; } if ((endForm & 0x4) != 0) { a += " chksum"; } if ((endForm & 0x8) != 0) { a += " user"; } cmds.cfgLine(l, endForm == 0, "", "client end-format", a.trim()); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } /** * build running configuration * * @param filter defaults * @return text to display */ public static List getShRun(int filter) { List l = getGlobalRunBeg(filter); servGenList.listGetRun(l, vdcs, filter); servGenList.listGetRun(l, prcs, filter); servGenList.listGetRun(l, rsakeys, filter); servGenList.listGetRun(l, dsakeys, filter); servGenList.listGetRun(l, ecdsakeys, filter); servGenList.listGetRun(l, mldsakeys, filter); servGenList.listGetRun(l, certs, filter); servGenList.listGetRun(l, timemaps, filter); servGenList.listGetRun(l, ipsecs, filter); servGenList.listGetRun(l, authers, filter); servGenList.listGetRun(l, chats, filter); servGenList.listGetRun(l, sessns, filter); servGenList.listGetRun(l, menuk, filter); servGenList.listGetRun(l, menut, filter); servGenList.listGetRun(l, schedulers, filter); servGenList.listGetRun(l, scripts, filter); servGenList.listGetRun(l, ip4pool, filter); servGenList.listGetRun(l, ip6pool, filter); servGenList.listGetRun(l, eventmgrs, filter); servGenList.listGetRun(l, objgrpnets, filter); servGenList.listGetRun(l, objgrpprts, filter); servGenList.listGetRun(l, accesslsts, filter); servGenList.listGetRun(l, prefixlsts, filter); servGenList.listGetRun(l, routemaps, filter); servGenList.listGetRun(l, routeplcs, filter); servGenList.listGetRun(l, policymaps, filter); servGenList.listGetRun(l, bundles, filter); servGenList.listGetRun(l, bridges, filter); servGenList.listGetRun(l, hairpins, filter); servGenList.listGetRun(l, vnets, filter); servGenList.listGetRun(l, vrfs, filter); for (int i = 0; i < routers.size(); i++) { l.addAll(routers.get(i).getShRun1(filter)); } servGenList.listGetRun(l, ifaces, filter); for (int i = 0; i < routers.size(); i++) { l.addAll(routers.get(i).getShRun2(filter)); } l.addAll(con0.getShRun(filter)); servGenList.listGetRun(l, lines, filter); servGenList.listGetRun(l, proxys, filter); servGenList.listGetRun(l, vpdns, filter); servGenList.listGetRun(l, trackers, filter); servGenList.listGetRun(l, mtrackers, filter); for (int i = 0; i < vrfs.size(); i++) { l.addAll(vrfs.get(i).getShRun2(filter)); } servGenList.listGetRun(l, xconnects, filter); servGenList.listGetRun(l, tabNshEntry.services, filter); servGenList.listGetRun(l, checks, filter); servGenList.listGetRun(l, sensors, filter); servGenList.listGetRun(l, tlmtrydst, filter); servGenList.listGetRun(l, trnsltns, filter); servGenList.listGetRun(l, dials, filter); servGenList.listGetRun(l, aliases, filter); dmnTelnet.getShRun(l, filter); dmnXotpad.getShRun(l, filter); dmnUdptn.getShRun(l, filter); dmnRfb.getShRun(l, filter); dmnEcho.getShRun(l, filter); dmnDiscard.getShRun(l, filter); dmnQuote.getShRun(l, filter); dmnCharGen.getShRun(l, filter); dmnNetflow.getShRun(l, filter); dmnUdpFwd.getShRun(l, filter); dmnUpnpFwd.getShRun(l, filter); dmnUpnpHub.getShRun(l, filter); dmnOpenflow.getShRun(l, filter); dmnPktmux.getShRun(l, filter); dmnP4lang.getShRun(l, filter); dmnStack.getShRun(l, filter); dmnForwarder.getShRun(l, filter); dmnSyslog.getShRun(l, filter); dmnLoadBalancer.getShRun(l, filter); dmnMultiplexer.getShRun(l, filter); dmnSocks.getShRun(l, filter); dmnHttp.getShRun(l, filter); dmnFtp.getShRun(l, filter); dmnTftp.getShRun(l, filter); dmnGopher.getShRun(l, filter); dmnPlan9.getShRun(l, filter); dmnNtp.getShRun(l, filter); dmnDaytime.getShRun(l, filter); dmnRexec.getShRun(l, filter); dmnRtpStat.getShRun(l, filter); dmnTime.getShRun(l, filter); dmnSnmp.getShRun(l, filter); dmnIscsi.getShRun(l, filter); dmnBmp.getShRun(l, filter); dmnIrc.getShRun(l, filter); dmnDcp.getShRun(l, filter); dmnSdwan.getShRun(l, filter); dmnPcep.getShRun(l, filter); dmnDhcp4.getShRun(l, filter); dmnDhcp6.getShRun(l, filter); dmnDns.getShRun(l, filter); dmnLpd.getShRun(l, filter); dmnHoney.getShRun(l, filter); dmnWhois.getShRun(l, filter); dmnPop3.getShRun(l, filter); dmnImap4.getShRun(l, filter); dmnSmtp.getShRun(l, filter); dmnModem.getShRun(l, filter); dmnVoice.getShRun(l, filter); dmnSip.getShRun(l, filter); dmnRpki.getShRun(l, filter); dmnNrpe.getShRun(l, filter); dmnPrometheus.getShRun(l, filter); dmnStreamingMdt.getShRun(l, filter); dmnMrt2bgp.getShRun(l, filter); dmnBStun.getShRun(l, filter); dmnStun.getShRun(l, filter); dmnPckOudp.getShRun(l, filter); dmnPckOdtls.getShRun(l, filter); dmnPckOtcp.getShRun(l, filter); dmnPckOtxt.getShRun(l, filter); dmnCapwap.getShRun(l, filter); dmnLwapp.getShRun(l, filter); dmnVxlan.getShRun(l, filter); dmnGeneve.getShRun(l, filter); dmnL2f.getShRun(l, filter); dmnL2tp2.getShRun(l, filter); dmnL2tp3.getShRun(l, filter); dmnEtherIp.getShRun(l, filter); dmnGre.getShRun(l, filter); dmnErspan.getShRun(l, filter); dmnSrEth.getShRun(l, filter); dmnMplsIp.getShRun(l, filter); dmnMplsUdp.getShRun(l, filter); dmnMplsOam.getShRun(l, filter); dmnTwamp.getShRun(l, filter); dmnAmt.getShRun(l, filter); dmnUni2mul.getShRun(l, filter); dmnUni2uni.getShRun(l, filter); dmnGtp.getShRun(l, filter); dmnPptp.getShRun(l, filter); dmnRadius.getShRun(l, filter); dmnLdap.getShRun(l, filter); dmnTacacs.getShRun(l, filter); l.addAll(getGlobalRunEnd(filter)); String s = ""; if ((endForm & 0x1) != 0) { s += " date=" + bits.time2str(timeZoneName, bits.getTime() + timeServerOffset, 3).replaceAll(" ", "_"); } if ((endForm & 0x2) != 0) { s += " image=" + cfgInit.versionAgent; } if ((endForm & 0x4) != 0) { s += " chksum=" + userUpgrade.calcTextHash(l); } if ((endForm & 0x8) != 0) { s += " user=" + userLine.prevConfiger.replaceAll(" ", "_"); } l.add("end" + s); return l; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgAuther.java000066400000000000000000000214611510423065500216500ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.auth.authConstant; import org.freertr.auth.authGeneric; import org.freertr.auth.authLdap; import org.freertr.auth.authList; import org.freertr.auth.authLocal; import org.freertr.auth.authRadius; import org.freertr.auth.authTacacs; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.cmds; /** * one user list configuration * * @author matecsaba */ public class cfgAuther implements Comparable, cfgGeneric { /** * name of this user list */ public String name; /** * description of this dialpeer */ public String description = null; /** * method type */ public enum methodType { /** * local userlist */ local, /** * radius */ radius, /** * ldap */ ldap, /** * tacacs */ tacacs, /** * list of methods */ listing, /** * never succeed */ never, /** * always succeed */ always } private authLocal loc; private authRadius rad; private authLdap lda; private authTacacs tac; private authList lst; private authConstant cnst; /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("aaa userlist .*", cmds.tabulator + "username .* autocommand ", null), new userFilter("aaa userlist .*", cmds.tabulator + "username .* privilege 15", null), new userFilter("aaa radius .*", cmds.tabulator + cmds.negated + cmds.tabulator + "secret", null), new userFilter("aaa radius .*", cmds.tabulator + cmds.negated + cmds.tabulator + "proxy", null), new userFilter("aaa radius .*", cmds.tabulator + "privilege 15", null), new userFilter("aaa radius .*", cmds.tabulator + cmds.negated + cmds.tabulator + "port", null), new userFilter("aaa ldap .*", cmds.tabulator + cmds.negated + cmds.tabulator + "proxy", null), new userFilter("aaa ldap .*", cmds.tabulator + cmds.negated + cmds.tabulator + "prefix", null), new userFilter("aaa ldap .*", cmds.tabulator + cmds.negated + cmds.tabulator + "suffix", null), new userFilter("aaa ldap .*", cmds.tabulator + "privilege 15", null), new userFilter("aaa ldap .*", cmds.tabulator + cmds.negated + cmds.tabulator + "port", null), new userFilter("aaa tacacs .*", cmds.tabulator + cmds.negated + cmds.tabulator + "secret", null), new userFilter("aaa tacacs .*", cmds.tabulator + cmds.negated + cmds.tabulator + "proxy", null), new userFilter("aaa tacacs .*", cmds.tabulator + "privilege 15", null), new userFilter("aaa tacacs .*", cmds.tabulator + cmds.negated + cmds.tabulator + "port", null), new userFilter("aaa .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("aaa .*", cmds.tabulator + cmds.negated + cmds.tabulator + "log-error", null), new userFilter("aaa .*", cmds.tabulator + cmds.negated + cmds.tabulator + "log-failure", null), new userFilter("aaa .*", cmds.tabulator + cmds.negated + cmds.tabulator + "log-success", null), new userFilter("aaa .*", cmds.tabulator + cmds.negated + cmds.tabulator + "log-password", null) }; public int compareTo(cfgAuther o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String toString() { return "authenticator " + name; } /** * get authenticator * * @return authenticator to use */ public authGeneric getAuther() { if (loc != null) { return loc; } if (rad != null) { return rad; } if (lda != null) { return lda; } if (tac != null) { return tac; } if (lst != null) { return lst; } if (cnst != null) { return cnst; } return null; } /** * create new vrf * * @param nam name of vrf * @param typ type */ public cfgAuther(String nam, methodType typ) { name = nam.trim(); if (typ == null) { return; } switch (typ) { case local: loc = new authLocal(); break; case radius: rad = new authRadius(); break; case ldap: lda = new authLdap(); break; case tacacs: tac = new authTacacs(); break; case listing: lst = new authList(); break; case never: cnst = new authConstant(false); break; case always: cnst = new authConstant(true); break; } authGeneric aut = getAuther(); if (aut != null) { aut.autName = name; } } /** * convert string to type * * @param s string * @return type */ public static methodType string2auther(String s) { if (s.equals("userlist")) { return methodType.local; } if (s.equals("radius")) { return methodType.radius; } if (s.equals("ldap")) { return methodType.ldap; } if (s.equals("tacacs")) { return methodType.tacacs; } if (s.equals("list")) { return methodType.listing; } if (s.equals("never")) { return methodType.never; } if (s.equals("always")) { return methodType.always; } return null; } public List getShRun(int filter) { List l = new ArrayList(); authGeneric aut = getAuther(); if (aut == null) { return l; } l.add("aaa " + aut.getCfgName() + " " + name); cmds.cfgLine(l, description == null, cmds.tabulator, "description", description); cmds.cfgLine(l, !aut.logFail, cmds.tabulator, "log-failure", ""); cmds.cfgLine(l, !aut.logErr, cmds.tabulator, "log-error", ""); cmds.cfgLine(l, !aut.logOk, cmds.tabulator, "log-success", ""); cmds.cfgLine(l, !aut.logPass, cmds.tabulator, "log-password", ""); l.addAll(aut.getShRun(cmds.tabulator, filter)); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2}, "rename", "rename this authenticator"); l.add(null, false, 2, new int[]{-1}, "", "set new name"); l.add(null, false, 1, new int[]{2}, "description", "specify description"); l.add(null, false, 2, new int[]{2, -1}, "", "description"); l.add(null, false, 1, new int[]{-1}, "log-failure", "log failure"); l.add(null, false, 1, new int[]{-1}, "log-success", "log success"); l.add(null, false, 1, new int[]{-1}, "log-error", "log error"); l.add(null, false, 1, new int[]{-1}, "log-password", "log password"); authGeneric aut = getAuther(); if (aut != null) { aut.getHelp(l); } } public synchronized void doCfgStr(cmds cmd) { boolean b = true; authGeneric aut = getAuther(); cmds c = cmd.copyBytes(false); String a = c.word(); boolean neg = a.equals(cmds.negated); if (neg) { a = c.word(); } if (aut == null) { cmd.badCmd(); return; } if (a.equals("rename")) { a = c.word(); cfgAuther v = cfgAll.autherFind(a, null); if (v != null) { cmd.error("already exists"); return; } name = a; aut.autName = a; return; } if (a.equals("description")) { description = c.getRemaining(); if (neg) { description = null; } return; } if (a.equals("log-failure")) { aut.logFail = !neg; return; } if (a.equals("log-error")) { aut.logErr = !neg; return; } if (a.equals("log-success")) { aut.logOk = !neg; return; } if (a.equals("log-password")) { aut.logPass = !neg; return; } b = aut.fromString(cmd); if (b) { cmd.badCmd(); } } public String getPrompt() { return "auther"; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgBndl.java000066400000000000000000000062531510423065500213010ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.ifc.ifcBundle; import org.freertr.tab.tabGen; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; /** * one bundle configuration * * @author matecsaba */ public class cfgBndl implements Comparable, cfgGeneric { /** * name of this bundle */ public final String name; /** * bundle handler */ public ifcBundle bundleHed; /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("bundle .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("bundle .*", cmds.tabulator + "ethernet", null), new userFilter("bundle .*", cmds.tabulator + cmds.negated + cmds.tabulator + "backup", null), new userFilter("bundle .*", cmds.tabulator + cmds.negated + cmds.tabulator + "logging", null), new userFilter("bundle .*", cmds.tabulator + cmds.negated + cmds.tabulator + "loadbalance", null), new userFilter("bundle .*", cmds.tabulator + cmds.negated + cmds.tabulator + "replicate", null), new userFilter("bundle .*", cmds.tabulator + cmds.negated + cmds.tabulator + "reporter", null), new userFilter("bundle .*", cmds.tabulator + cmds.negated + cmds.tabulator + "dynamic", null), new userFilter("bundle .*", cmds.tabulator + cmds.negated + cmds.tabulator + "sequence", null), new userFilter("bundle .*", cmds.tabulator + cmds.negated + cmds.tabulator + "dejitter", null), new userFilter("bundle .*", cmds.tabulator + cmds.negated + cmds.tabulator + "peering", null) }; public int compareTo(cfgBndl o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String toString() { return "bndl " + name; } /** * create new bundle instance * * @param nam name of bridge */ public cfgBndl(String nam) { name = "" + bits.str2num(nam); } /** * close this bundle */ public void closeUp() { } /** * get name of interface represents this bundle * * @return interface name */ public String getIntName() { return "bundle" + name; } /** * get config * * @param filter filter * @return config */ public List getShRun(int filter) { List l = new ArrayList(); l.add("bundle " + name); bundleHed.getConfig(l, cmds.tabulator); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } /** * get help text * * @param l help text */ public void getHelp(userHelp l) { ifcBundle.getHelp(l); } /** * do config string * * @param cmd config */ public void doCfgStr(cmds cmd) { bundleHed.doConfig(cmd); } /** * get prompt * * @return prompt */ public String getPrompt() { return "bndl"; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgBrdg.java000066400000000000000000000066611510423065500213030ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.ifc.ifcBridge; import org.freertr.tab.tabGen; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; /** * one bridge configuration * * @author matecsaba */ public class cfgBrdg implements Comparable, cfgGeneric { /** * number of this bridge */ public final int number; /** * bridge handler */ public ifcBridge bridgeHed; /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("bridge .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("bridge .*", cmds.tabulator + "rd 0:0", null), new userFilter("bridge .*", cmds.tabulator + "rt-import 0:0", null), new userFilter("bridge .*", cmds.tabulator + "rt-export 0:0", null), new userFilter("bridge .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mac-learn", null), new userFilter("bridge .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mac-move", null), new userFilter("bridge .*", cmds.tabulator + cmds.negated + cmds.tabulator + "inspect", null), new userFilter("bridge .*", cmds.tabulator + "stp-mode none", null), new userFilter("bridge .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mac-address", null), new userFilter("bridge .*", cmds.tabulator + cmds.negated + cmds.tabulator + "private-bridge", null), new userFilter("bridge .*", cmds.tabulator + cmds.negated + cmds.tabulator + "block-unicast", null), new userFilter("bridge .*", cmds.tabulator + cmds.negated + cmds.tabulator + "block-multicast", null), new userFilter("bridge .*", cmds.tabulator + cmds.negated + cmds.tabulator + "padup-small", null), new userFilter("bridge .*", cmds.tabulator + "mac-age 600000", null), new userFilter("bridge .*", cmds.tabulator + "mac-limit 0", null), new userFilter("bridge .*", cmds.tabulator + "stp-priority 32768", null), new userFilter("bridge .*", cmds.tabulator + "stp-time 2000 20000 15000", null) }; public int compareTo(cfgBrdg o) { if (number < o.number) { return -1; } if (number > o.number) { return +1; } return 0; } public String toString() { return "brdg " + number; } /** * create new bridge instance * * @param nam name of bridge */ public cfgBrdg(String nam) { number = bits.str2num(nam); } /** * close this bridge */ public void closeUp() { } /** * get name of interface represents this bridge * * @return interface name */ public String getIntName() { return "bvi" + number; } public List getShRun(int filter) { List l = new ArrayList(); l.add("bridge " + number); bridgeHed.getConfig(l, cmds.tabulator); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void getHelp(userHelp l) { ifcBridge.getHelp(l); } public void doCfgStr(cmds cmd) { bridgeHed.doConfig(cmd); } public String getPrompt() { return "brdg"; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgCert.java000066400000000000000000000035171510423065500213170ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.auth.authLocal; import org.freertr.cry.cryCertificate; import org.freertr.cry.cryKeyGeneric; import org.freertr.tab.tabGen; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.cmds; /** * cryptographic certificate configuration * * @author matecsaba */ public class cfgCert implements Comparable, cfgGeneric { /** * name of key */ public String name; /** * name of file */ public String filNam; /** * certificate */ public cryCertificate cert; /** * key */ public cryKeyGeneric key; /** * defaults text */ public final static userFilter[] defaultF = {}; public int compareTo(cfgCert o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } /** * create new certificate * * @param nam name of interface */ public cfgCert(String nam) { name = nam.trim(); } public String toString() { return name; } public void getHelp(userHelp l) { } public String getPrompt() { return "cert"; } public void doCfgStr(cmds cmd) { } public List getShRun(int filter) { List l = new ArrayList(); if (filNam == null) { l.add("crypto certificate " + name + " import " + key.algName() + " " + key.keyName + " " + authLocal.passwdEncode(cert.pemWriteStr(), (filter & 2) != 0)); } else { l.add("crypto certificate " + name + " external " + key.algName() + " " + key.keyName + " " + filNam); } l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } } freeRtr-25.11.9/src/org/freertr/cfg/cfgChat.java000066400000000000000000000043651510423065500213030ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.line.lineScript; import org.freertr.tab.tabGen; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; /** * chat script configuration * * @author matecsaba */ public class cfgChat implements Comparable, cfgGeneric { /** * name of script */ public String name; /** * the script */ public lineScript script; public int compareTo(cfgChat o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String toString() { return "chat script " + name; } /** * defaults text */ public final static userFilter[] defaultF = {}; /** * create new profile * * @param nam name of interface */ public cfgChat(String nam) { name = nam.trim(); script = new lineScript(); script.scrName = name; } public void getHelp(userHelp l) { script.getHelp(l); } public List getShRun(int filter) { List l = new ArrayList(); l.add("chat-script " + name); l.addAll(script.getCfg(cmds.tabulator, filter)); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void doCfgStr(cmds cmd) { String s = cmd.word(); boolean neg = s.equals(cmds.negated); if (!neg) { cmd = cmd.copyBytes(true); } if (s.equals("rename")) { s = cmd.word(); cfgChat v = cfgAll.chatFind(s, false); if (v != null) { cmd.error("already exists"); return; } script.scrName = s; name = s; return; } if (s.equals("reindex")) { int i = bits.str2num(cmd.word()); script.reindex(i, bits.str2num(cmd.word())); return; } if (script.doCfg(cmd, neg)) { cmd.badCmd(); } } public String getPrompt() { return "chat"; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgCheck.java000066400000000000000000000613611510423065500214400ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.freertr.addr.addrIP; import org.freertr.clnt.clntDns; import org.freertr.cry.cryHashCrc32; import org.freertr.pack.packDnsRec; import org.freertr.pack.packNrpe; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeSetting; import org.freertr.pipe.pipeSide; import org.freertr.tab.tabGen; import org.freertr.user.userExec; import org.freertr.user.userFilter; import org.freertr.user.userFormat; import org.freertr.user.userHelp; import org.freertr.user.userRead; import org.freertr.util.bits; import org.freertr.util.cmds; /** * check exporter * * @author matecsaba */ public class cfgCheck implements Comparable, cfgGeneric { /** * name of check */ public String name; /** * time to answer */ public int time; /** * ok answers */ public int okNum; /** * error answers */ public int errNum; /** * last ok */ public long okTim; /** * last error */ public long errTim; /** * last error */ public List errLst; /** * command to execute */ public String command; /** * send out command after error text */ public boolean sendCmds; /** * send out my name after error text */ public boolean sendMyId; /** * don't send out error/ok */ public boolean noState; /** * template parameters */ public cfgCheck template; /** * description */ public String dsc; /** * error string */ public String err; /** * ignore all regexp */ public final List allR; /** * ignore one regexp */ public final List ignR; /** * require one regexp */ public final List reqR; /** * ignore all text */ public final List allT; /** * ignore one text */ public final List ignT; /** * require one text */ public final List reqT; /** * list of resolvers */ public tabGen ress = new tabGen(); /** * list of replacers */ public tabGen reps = new tabGen(); /** * alternate result */ public boolean alternate; /** * severity */ public int severity = packNrpe.coCri; /** * last hash */ public int lastHash = 1; /** * last status */ public int lastStat = packNrpe.coWar; /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("check .*", cmds.tabulator + cmds.negated + cmds.tabulator + "command", null), new userFilter("check .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("check .*", cmds.tabulator + cmds.negated + cmds.tabulator + "template", null), new userFilter("check .*", cmds.tabulator + cmds.negated + cmds.tabulator + "error-text", null), new userFilter("check .*", cmds.tabulator + cmds.negated + cmds.tabulator + "alternate", null), new userFilter("check .*", cmds.tabulator + "severity critical", null), new userFilter("check .*", cmds.tabulator + cmds.negated + cmds.tabulator + "error-states", null), new userFilter("check .*", cmds.tabulator + cmds.negated + cmds.tabulator + "error-commands", null), new userFilter("check .*", cmds.tabulator + cmds.negated + cmds.tabulator + "error-hostname", null) }; /** * create new check * * @param n name */ public cfgCheck(String n) { name = n; allR = new ArrayList(); ignR = new ArrayList(); reqR = new ArrayList(); allT = new ArrayList(); ignT = new ArrayList(); reqT = new ArrayList(); } public String toString() { return name; } public int compareTo(cfgCheck o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String getPrompt() { return "check"; } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2}, "rename", "rename this check"); l.add(null, false, 2, new int[]{-1}, "", "set new name"); l.add(null, false, 1, new int[]{2}, "resolve", "resolve the regexp group a to hostname"); l.add(null, false, 2, new int[]{2, -1}, "", "text to resolv"); l.add(null, false, 1, new int[]{2}, "replace", "replace from one string to another"); l.add(null, false, 2, new int[]{3}, "", "source string"); l.add(null, false, 3, new int[]{3, -1}, "", "target string"); l.add(null, false, 1, new int[]{2, -1}, "train", "train command to current result"); l.add(null, false, 2, new int[]{2, -1}, "", "text"); l.add(null, false, 1, new int[]{-1}, "alternate", "alternate reported state on diff change"); l.add(null, false, 1, new int[]{2}, "severity", "severity level"); l.add(null, false, 2, new int[]{-1}, "critical", "critical"); l.add(null, false, 2, new int[]{-1}, "warning", "warning"); l.add(null, false, 2, new int[]{-1}, "unknown", "unknown"); l.add(null, false, 2, new int[]{-1}, "ok", "ok"); l.add(null, false, 1, new int[]{2}, "template", "template arameters"); l.add(null, false, 2, new int[]{-1}, "", "name of check"); l.add(null, false, 1, new int[]{2}, "command", "specify command to execute"); l.add(null, false, 2, new int[]{2, -1}, "", "command"); l.add(null, false, 1, new int[]{2}, "description", "specify description"); l.add(null, false, 2, new int[]{2, -1}, "", "description"); l.add(null, false, 1, new int[]{2}, "error-text", "specify error text"); l.add(null, false, 2, new int[]{2, -1}, "", "text"); l.add(null, false, 1, new int[]{-1}, "error-states", "remove state of messages"); l.add(null, false, 1, new int[]{-1}, "error-commands", "include commands in states"); l.add(null, false, 1, new int[]{-1}, "error-hostname", "include local hostname in states"); l.add(null, false, 1, new int[]{2}, "require-regexp", "require one regexp line"); l.add(null, false, 2, new int[]{2, -1}, "", "text"); l.add(null, false, 1, new int[]{2}, "ignore-regexp", "ignore one regexp line"); l.add(null, false, 2, new int[]{2, -1}, "", "text"); l.add(null, false, 1, new int[]{2}, "ignorall-regexp", "ignore all regexp line"); l.add(null, false, 2, new int[]{2, -1}, "", "text"); l.add(null, false, 1, new int[]{2}, "require-text", "require one text line"); l.add(null, false, 2, new int[]{2, -1}, "", "text"); l.add(null, false, 1, new int[]{2}, "ignore-text", "ignore one text line"); l.add(null, false, 2, new int[]{2, -1}, "", "text"); l.add(null, false, 1, new int[]{2}, "ignorall-text", "ignore all text line"); l.add(null, false, 2, new int[]{2, -1}, "", "text"); } public List getShRun(int filter) { List l = new ArrayList(); l.add("check " + name); cmds.cfgLine(l, command == null, cmds.tabulator, "command", "" + command); cmds.cfgLine(l, template == null, cmds.tabulator, "template", "" + template); for (int i = 0; i < ress.size(); i++) { l.add(cmds.tabulator + "resolve " + ress.get(i)); } for (int i = 0; i < reps.size(); i++) { l.add(cmds.tabulator + "replace " + reps.get(i)); } cmds.cfgLine(l, dsc == null, cmds.tabulator, "description", dsc); cmds.cfgLine(l, err == null, cmds.tabulator, "error-text", err); cmds.cfgLine(l, !alternate, cmds.tabulator, "alternate", ""); l.add(cmds.tabulator + "severity " + packNrpe.code2string(severity)); cmds.cfgLine(l, !sendCmds, cmds.tabulator, "error-commands", ""); cmds.cfgLine(l, !sendMyId, cmds.tabulator, "error-hostname", ""); cmds.cfgLine(l, !noState, cmds.tabulator, "error-states", ""); for (int i = 0; i < ignT.size(); i++) { l.add(cmds.tabulator + "ignore-text " + ignT.get(i)); } for (int i = 0; i < allT.size(); i++) { l.add(cmds.tabulator + "ignorall-text " + allT.get(i)); } for (int i = 0; i < ignR.size(); i++) { l.add(cmds.tabulator + "ignore-regexp " + ignR.get(i)); } for (int i = 0; i < allR.size(); i++) { l.add(cmds.tabulator + "ignorall-regexp " + allR.get(i)); } for (int i = 0; i < reqT.size(); i++) { l.add(cmds.tabulator + "require-text " + reqT.get(i)); } for (int i = 0; i < reqR.size(); i++) { l.add(cmds.tabulator + "require-regexp " + reqR.get(i)); } l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void doCfgStr(cmds cmd) { String s = cmd.word(); boolean negated = s.equals(cmds.negated); if (negated) { s = cmd.word(); } if (s.equals("rename")) { s = cmd.word(); cfgCheck v = cfgAll.checkFind(s, false); if (v != null) { cmd.error("already exists"); return; } name = s; return; } if (s.equals("resolve")) { s = cmd.getRemaining(); if (negated) { ress.del(new cfgCheckRes(s)); } else { ress.add(new cfgCheckRes(s)); } return; } if (s.equals("replace")) { String a = cmd.word(); s = cmd.getRemaining(); if (negated) { reps.del(new cfgCheckRep(a, s)); } else { reps.add(new cfgCheckRep(a, s)); } return; } if (s.equals("command")) { command = cmd.getRemaining(); if (negated) { command = null; } return; } if (s.equals("description")) { dsc = cmd.getRemaining(); if (negated) { dsc = null; } return; } if (s.equals("error-text")) { err = cmd.getRemaining(); if (negated) { err = null; } return; } if (s.equals("error-commands")) { sendCmds = !negated; return; } if (s.equals("error-hostname")) { sendMyId = !negated; return; } if (s.equals("error-states")) { noState = !negated; return; } if (s.equals("alternate")) { alternate = !negated; return; } if (s.equals("severity")) { severity = packNrpe.string2code(cmd.word()); return; } if (s.equals("require-regexp")) { s = cmd.getRemaining(); if (negated) { reqR.remove(s); } else { reqR.add(s); } return; } if (s.equals("ignore-regexp")) { s = cmd.getRemaining(); if (negated) { ignR.remove(s); } else { ignR.add(s); } return; } if (s.equals("ignorall-regexp")) { s = cmd.getRemaining(); if (negated) { allR.remove(s); } else { allR.add(s); } return; } if (s.equals("require-text")) { s = cmd.getRemaining(); if (negated) { reqT.remove(s); } else { reqT.add(s); } return; } if (s.equals("ignore-text")) { s = cmd.getRemaining(); if (negated) { ignT.remove(s); } else { ignT.add(s); } return; } if (s.equals("ignorall-text")) { s = cmd.getRemaining(); if (negated) { allT.remove(s); } else { allT.add(s); } return; } if (s.equals("template")) { template = cfgAll.checkFind(cmd.word(), false); if (template == null) { cmd.error("no such check"); return; } if (negated) { template = null; } return; } if (s.equals("train")) { s = cmd.getRemaining(); if (s.length() < 1) { doTrain(); } else { doTrain(s); } return; } cmd.badCmd(); } /** * get result * * @return result */ public List getResult() { if (command == null) { return new ArrayList(); } pipeLine pl = new pipeLine(1024 * 1024, false); pipeSide pip = pl.getSide(); pip.lineTx = pipeSide.modTyp.modeCRLF; pip.lineRx = pipeSide.modTyp.modeCRorLF; userRead rdr = new userRead(pip, null); pip.settingsPut(pipeSetting.tabMod, userFormat.tableMode.raw); pip.settingsPut(pipeSetting.height, 0); userExec exe = new userExec(pip, rdr); exe.privileged = true; pip.setTime(120000); String a = exe.repairCommand(command); exe.executeCommand(a); pip = pl.getSide(); pl.setClose(); pip.lineTx = pipeSide.modTyp.modeCRLF; pip.lineRx = pipeSide.modTyp.modeCRtryLF; List lst = new ArrayList(); for (;;) { if (pip.ready2rx() < 1) { break; } a = pip.lineGet(1); if (a.length() < 1) { continue; } lst.add(a); } return lst; } private void delReg(List lst) { for (int o = 0; o < reqR.size(); o++) { String s = reqR.get(o); for (int i = 0; i < lst.size(); i++) { if (!lst.get(i).matches(s)) { continue; } lst.remove(i); break; } } } private void delIgn(List lst) { for (int o = 0; o < ignT.size(); o++) { String s = ignT.get(o); for (int i = 0; i < lst.size(); i++) { if (!lst.get(i).equals(s)) { continue; } lst.remove(i); break; } } for (int o = 0; o < allT.size(); o++) { String s = allT.get(o); for (int i = lst.size() - 1; i >= 0; i--) { if (!lst.get(i).equals(s)) { continue; } lst.remove(i); } } for (int o = 0; o < ignR.size(); o++) { String s = ignR.get(o); for (int i = 0; i < lst.size(); i++) { if (!lst.get(i).matches(s)) { continue; } lst.remove(i); break; } } for (int o = 0; o < allR.size(); o++) { String s = allR.get(o); for (int i = lst.size() - 1; i >= 0; i--) { if (!lst.get(i).matches(s)) { continue; } lst.remove(i); } } } private String makeFancy(String l) { for (int i = 0; i < ress.size(); i++) { cfgCheckRes r = ress.get(i); if (r == null) { continue; } l = r.doWork(l); } for (int i = 0; i < reps.size(); i++) { cfgCheckRep r = reps.get(i); if (r == null) { continue; } l = l.replaceAll(r.src, r.trg); } if (template == null) { return l; } return template.makeFancy(l); } private void doCheckMiss(List lst, List res) { for (int o = 0; o < reqT.size(); o++) { String s = reqT.get(o); boolean ok = false; for (int i = 0; i < lst.size(); i++) { if (!lst.get(i).equals(s)) { continue; } lst.remove(i); ok = true; break; } if (ok) { continue; } res.add("- " + makeFancy(s)); } for (int o = 0; o < reqR.size(); o++) { String s = reqR.get(o); boolean ok = false; for (int i = 0; i < lst.size(); i++) { if (!lst.get(i).matches(s)) { continue; } lst.remove(i); ok = true; break; } if (ok) { continue; } res.add("- " + makeFancy(s)); } } private void doCheckExtra(List lst, List res) { for (int i = 0; i < lst.size(); i++) { res.add("+ " + makeFancy(lst.get(i))); } } private String getHeadLine(List lst) { String s = ""; boolean b = noState; if (template != null) { b |= template.noState; } if (!b) { s += "ERROR "; } s += lst.size() + " "; String a = err; if ((a == null) && (template != null)) { a = template.err; } if (a == null) { a = "line(s) in diff"; } s += a + " "; b = sendMyId; if (template != null) { b |= template.sendMyId; } if (b) { s += " - " + cfgAll.hostName + "#"; } b = sendCmds; if (template != null) { b |= template.sendCmds; } if (b) { s += command + " "; } return s; } /** * do the checking * * @return true if up, false if down */ public boolean getStatus() { return doCheckText().size() < 1; } /** * get summary line * * @return string */ public String getShSum() { return name + "|" + cmds.upDown(getStatus()) + "|" + (okNum + errNum) + "|" + time + "|" + okNum + "|" + bits.timePast(okTim) + "|" + errNum + "|" + bits.timePast(errTim); } /** * do the checking * * @return result */ public List doCheckText() { long tim = bits.getTime(); List lst = getResult(); List res = new ArrayList(); delIgn(lst); if (template != null) { template.delIgn(lst); template.doCheckMiss(lst, res); } doCheckMiss(lst, res); doCheckExtra(lst, res); time = (int) (bits.getTime() - tim); if (res.size() < 1) { okNum++; okTim = tim; } else { errNum++; errTim = tim; errLst = lst; } return res; } /** * get nrpe report * * @param pck packet to update */ public void getReportNrpe(packNrpe pck) { pck.typ = packNrpe.tyRep; List lst = doCheckText(); if (lst.size() < 1) { pck.cod = packNrpe.coOk; pck.str = "OK"; if (dsc != null) { pck.str += " " + dsc; } else if (template != null) { if (template.dsc != null) { pck.str += " " + template.dsc; } } return; } pck.cod = severity; pck.str = getHeadLine(lst).trim(); for (int i = 0; i < lst.size(); i++) { pck.str += new String(pck.sep) + lst.get(i).trim(); } if (!alternate) { if (template == null) { return; } if (!template.alternate) { return; } } cryHashCrc32 hsh = new cryHashCrc32(cryHashCrc32.polyCrc32i); hsh.init(); hsh.update(pck.str.getBytes()); int i = hsh.getCrc(); if (i == lastHash) { pck.cod = lastStat; } else { lastHash = i; if (lastStat == packNrpe.coCri) { i = packNrpe.coWar; } else { i = packNrpe.coCri; } lastStat = i; pck.cod = i; } } /** * train the check * * @param ned line to train */ public void doTrain(String ned) { List lst = getResult(); delIgn(lst); delReg(lst); if (template != null) { template.delIgn(lst); template.delReg(lst); template.doCheckMiss(lst, new ArrayList()); } for (int i = reqT.size() - 1; i >= 0; i--) { if (reqT.get(i).indexOf(ned) >= 0) { reqT.remove(i); } } for (int i = 0; i < lst.size(); i++) { String a = lst.get(i); if (a.indexOf(ned) < 0) { continue; } reqT.add(a); } } /** * train the check */ public void doTrain() { List lst = getResult(); delIgn(lst); delReg(lst); if (template != null) { template.delIgn(lst); template.delReg(lst); template.doCheckMiss(lst, new ArrayList()); } reqT.clear(); for (int i = 0; i < lst.size(); i++) { reqT.add(lst.get(i)); } } /** * get show * * @return result */ public userFormat getShowDetail() { userFormat res = new userFormat("|", "category|value"); res.add("name|" + name); packNrpe nrp = new packNrpe(); getReportNrpe(nrp); res.add("nrpe|" + packNrpe.code2string(nrp.cod)); res.add("template|" + template); res.add("description|" + dsc); res.add("command|" + command); res.add("error|" + err); res.add("alternate|" + alternate); res.add("severity|" + packNrpe.code2string(severity)); res.add("asked|" + (okNum + errNum) + " times"); res.add("reply|" + time + " ms"); res.add("passed|" + okNum + " times"); res.add("last|" + bits.time2str(cfgAll.timeZoneName, okTim + cfgAll.timeServerOffset, 3)); res.add("ago|" + bits.timePast(okTim)); res.add("failed|" + errNum + " times"); res.add("last|" + bits.time2str(cfgAll.timeZoneName, errTim + cfgAll.timeServerOffset, 3)); res.add("ago|" + bits.timePast(errTim)); return res; } /** * get show * * @return result */ public List getShowError() { List res = new ArrayList(); if (errLst != null) { res.addAll(errLst); } return res; } } class cfgCheckRep implements Comparable { public final String src; public final String trg; public cfgCheckRep(String s, String t) { src = s; trg = t; } public String toString() { return src + " " + trg; } public int compareTo(cfgCheckRep o) { return src.toLowerCase().compareTo(o.src.toLowerCase()); } } class cfgCheckRes implements Comparable { public final String nam; public cfgCheckRes(String s) { nam = s; } public String toString() { return nam; } public int compareTo(cfgCheckRes o) { return nam.toLowerCase().compareTo(o.nam.toLowerCase()); } public String doWork(String l) { String as; try { Pattern pat = Pattern.compile(nam); Matcher mat = pat.matcher(l); if (!mat.find()) { return l; } as = mat.group("a"); } catch (Exception e) { as = null; } if (as == null) { return l; } addrIP ad = new addrIP(); if (ad.fromString(as)) { return l; } clntDns clnt = new clntDns(); clnt.doResolvList(cfgAll.nameServerAddr, packDnsRec.generateReverse(ad), false, packDnsRec.typePTR); String dn = clnt.getPTR(); if (dn == null) { return l; } return l.replaceAll(as, dn); } } freeRtr-25.11.9/src/org/freertr/cfg/cfgCons.java000066400000000000000000000025751510423065500213270ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.tab.tabGen; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.user.userLine; import org.freertr.user.userRead; import org.freertr.util.cmds; /** * default console parameters * * @author matecsaba */ public class cfgCons implements cfgGeneric { /** * create instance */ public cfgCons() { } /** * line handler */ public userLine line = new userLine(); /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("console0", " exec timeout 0", null) }; public String toString() { return "con0"; } public List getShRun(int filter) { List l = new ArrayList(); l.add("console0"); line.getShRun(cmds.tabulator, l, filter); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void getHelp(userHelp l) { line.getHelp(l); } public void doCfgStr(cmds cmd) { if (line.doCfgStr(cmd.copyBytes(true))) { cmd.badCmd(); return; } } public String getPrompt() { return "con0"; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgDial.java000066400000000000000000001036721510423065500212760ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.auth.authLocal; import org.freertr.clnt.clntSip; import org.freertr.pack.packRtp; import org.freertr.pack.packSip; import org.freertr.enc.encCodec; import org.freertr.enc.encCodecG711aLaw; import org.freertr.enc.encCodecG711uLaw; import org.freertr.enc.encUrl; import org.freertr.tab.tabGen; import org.freertr.user.userFilter; import org.freertr.user.userFormat; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.logger; /** * one dial peer configuration * * @author matecsaba */ public class cfgDial implements Comparable, cfgGeneric { /** * name of this dialpeer */ public final String name; /** * description of this dialpeer */ public String description = null; /** * skip these dialpeers inbound */ public String skipPeersIn = null; /** * skip these dialpeers inbound */ public String skipPeersOut = null; /** * allow these dialpeers inbound */ public String allowPeersIn = null; /** * allow these dialpeers inbound */ public String allowPeersOut = null; /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("dial-peer .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("dial-peer .*", cmds.tabulator + cmds.negated + cmds.tabulator + "skip-peers-in", null), new userFilter("dial-peer .*", cmds.tabulator + cmds.negated + cmds.tabulator + "skip-peers-out", null), new userFilter("dial-peer .*", cmds.tabulator + cmds.negated + cmds.tabulator + "allow-peers-in", null), new userFilter("dial-peer .*", cmds.tabulator + cmds.negated + cmds.tabulator + "allow-peers-out", null), new userFilter("dial-peer .*", cmds.tabulator + "codec alaw", null), new userFilter("dial-peer .*", cmds.tabulator + cmds.negated + cmds.tabulator + "vrf", null), new userFilter("dial-peer .*", cmds.tabulator + cmds.negated + cmds.tabulator + "source", null), new userFilter("dial-peer .*", cmds.tabulator + cmds.negated + cmds.tabulator + "target", null), new userFilter("dial-peer .*", cmds.tabulator + cmds.negated + cmds.tabulator + "username", null), new userFilter("dial-peer .*", cmds.tabulator + cmds.negated + cmds.tabulator + "password", null), new userFilter("dial-peer .*", cmds.tabulator + cmds.negated + cmds.tabulator + "myname", null), new userFilter("dial-peer .*", cmds.tabulator + cmds.negated + cmds.tabulator + "log", null), new userFilter("dial-peer .*", cmds.tabulator + "history 100", null), new userFilter("dial-peer .*", cmds.tabulator + "keepalive 0", null), new userFilter("dial-peer .*", cmds.tabulator + "max-calls-in 1", null), new userFilter("dial-peer .*", cmds.tabulator + "max-calls-out 1", null), new userFilter("dial-peer .*", cmds.tabulator + "register 0", null), new userFilter("dial-peer .*", cmds.tabulator + "subscribe 0", null), new userFilter("dial-peer .*", cmds.tabulator + "options 0", null), new userFilter("dial-peer .*", cmds.tabulator + "port-local 0", null), new userFilter("dial-peer .*", cmds.tabulator + "port-remote " + packSip.port, null), new userFilter("dial-peer .*", cmds.tabulator + "protocol sip-udp", null), new userFilter("dial-peer .*", cmds.tabulator + "direction none", null) }; /** * direction: 0=none, 1=in, 2=out, 3=both */ public int direction; /** * protocol: 1=sip-udp, 2=sip-listen, 3=sip-connect */ public int protocol = 1; /** * local port */ public int portLoc = 0; /** * remote port */ public int portRem = packSip.port; /** * codec, true=alaw, false=ulaw */ public boolean aLaw = true; /** * keepalive interval */ public int keepalive = 0; /** * register interval */ public int register = 0; /** * subscribe interval */ public int subscribe = 0; /** * options interval */ public int options = 0; /** * log calls */ public boolean log; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc ifc = null; /** * endpoint */ public String endpt; /** * target */ public String trg; /** * username */ public String usr; /** * password */ public String pwd; /** * src pattern */ public List matSrc = new ArrayList(); /** * dst pattern */ public List matDst = new ArrayList(); /** * translate in src */ public List trnsInSrc = new ArrayList(); /** * translate in dst */ public List trnsInDst = new ArrayList(); /** * translate out src */ public List trnsOutSrc = new ArrayList(); /** * translate out dst */ public List trnsOutDst = new ArrayList(); /** * prematch translate src */ public List prmtSrc = new ArrayList(); /** * prematch translate dst */ public List prmtDst = new ArrayList(); /** * maximum in calls */ public int maxCallsIn = 1; /** * maximum out calls */ public int maxCallsOut = 1; /** * seen in calls */ public int seenIn; /** * failed in calls */ public int failIn; /** * seen out calls */ public int seenOut; /** * failed out calls */ public int failOut; /** * seen in msgs */ public int seenMsgIn; /** * failed in msgs */ public int failMsgIn; /** * seen out msgs */ public int seenMsgOut; /** * failed out msgs */ public int failMsgOut; /** * history data */ public List histDat = new ArrayList(); /** * history size */ public int histMax = 100; /** * total time */ public long seenTime; private clntSip sip; public int compareTo(cfgDial o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String toString() { return "dial " + name; } /** * create new dail peer * * @param nam name of peer */ public cfgDial(String nam) { name = "" + bits.str2num(nam); } private void doLog(String s) { if (log) { logger.info(s); } histDat.add(logger.getTimestamp() + " " + s); for (; histDat.size() > histMax;) { histDat.remove(0); } } /** * get direction * * @return direction */ public String getDir() { switch (direction) { case 0: return "none"; case 1: return "in"; case 2: return "out"; case 3: return "both"; default: return "unknown=" + direction; } } /** * get statistics * * @param call true=calls, false=messages * @return statistics */ public String getStats(boolean call) { String a = name + "|"; if (call) { a += seenIn + "|" + seenOut + "|" + bits.timeDump(seenTime / 1000) + "|" + failIn + "|" + failOut + "|"; } else { a += seenMsgIn + "|" + seenMsgOut + "|n/a|" + failMsgIn + "|" + failMsgOut + "|"; } if (sip == null) { return a + "n/a|n/a"; } if (call) { return a + sip.numCallsIn() + "|" + sip.numCallsOut(); } else { return a + "n/a|" + sip.numMsgsOut(); } } /** * get call list * * @param dir direction, true=in, false=out * @return list */ public userFormat getCalls(boolean dir) { userFormat l = new userFormat("|", "id|calling|called|time"); if (sip == null) { return l; } l.add(sip.listCalls(dir)); return l; } /** * get call history * * @return list */ public List getHist() { return histDat; } private String stripAddr(String a) { a = encUrl.fromEmail(a); int i = a.indexOf(";"); if (i >= 0) { return a.substring(0, i).trim(); } else { return a.trim(); } } /** * check if matches the call * * @param calling calling number * @param called called number * @return false if not, true if yes */ public boolean matches(String calling, String called) { if (sip == null) { return false; } if ((direction & 2) == 0) { return false; } if (!sip.isReady()) { return false; } if (sip.numCallsOut() >= maxCallsOut) { return false; } calling = stripAddr(calling); called = stripAddr(called); calling = cfgTrnsltn.doTranslate(prmtSrc, calling); called = cfgTrnsltn.doTranslate(prmtDst, called); boolean ok = false; for (int i = 0; i < matSrc.size(); i++) { if (!calling.matches(matSrc.get(i))) { continue; } ok = true; break; } if (!ok) { return false; } ok = false; for (int i = 0; i < matDst.size(); i++) { if (!called.matches(matDst.get(i))) { continue; } ok = true; break; } return ok; } /** * got the msg * * @param calling calling number * @param called called number * @return peer to use, null if none */ public cfgDial incomeMsg(String calling, String called) { seenMsgIn++; if (sip == null) { failMsgIn++; return null; } if ((direction & 1) == 0) { failMsgIn++; return null; } calling = stripAddr(calling); called = stripAddr(called); doLog("incoming msg " + called + " from " + calling + " started"); cfgDial res = cfgAll.dialFind(calling, called, this); if (res == null) { failMsgIn++; return null; } return res; } /** * got the call * * @param calling calling number * @param called called number * @return peer to use, null if none */ public cfgDial incomeCall(String calling, String called) { seenIn++; if (sip == null) { failIn++; return null; } if ((direction & 1) == 0) { failIn++; return null; } if (sip.numCallsIn() > maxCallsIn) { failIn++; return null; } calling = stripAddr(calling); called = stripAddr(called); doLog("incoming call " + called + " from " + calling + " started"); cfgDial res = cfgAll.dialFind(calling, called, this); if (res == null) { failIn++; return null; } return res; } /** * translate incoming src address * * @param adr address * @return translated */ public String incomeSrc(String adr) { return cfgTrnsltn.doTranslate(trnsInSrc, stripAddr(adr)); } /** * translate incoming trg address * * @param adr address * @return translated */ public String incomeTrg(String adr) { return cfgTrnsltn.doTranslate(trnsInDst, stripAddr(adr)); } /** * send msg * * @param calling calling number * @param called called number * @param msg message * @return false on success, true on error */ public boolean sendMsg(String calling, String called, List msg) { seenMsgOut++; if (sip == null) { failMsgOut++; return true; } calling = stripAddr(calling); called = stripAddr(called); calling = cfgTrnsltn.doTranslate(prmtSrc, calling); called = cfgTrnsltn.doTranslate(prmtDst, called); calling = cfgTrnsltn.doTranslate(trnsOutSrc, calling); called = cfgTrnsltn.doTranslate(trnsOutDst, called); doLog("outgoing msg " + called + " from " + calling + " started"); boolean res = sip.sendMsg(calling, called, msg); if (res) { failMsgOut++; return true; } return res; } /** * make the call * * @param calling calling number * @param called called number * @return call id, null if error */ public String makeCall(String calling, String called) { seenOut++; if (sip == null) { failOut++; return null; } calling = stripAddr(calling); called = stripAddr(called); calling = cfgTrnsltn.doTranslate(prmtSrc, calling); called = cfgTrnsltn.doTranslate(prmtDst, called); calling = cfgTrnsltn.doTranslate(trnsOutSrc, calling); called = cfgTrnsltn.doTranslate(trnsOutDst, called); doLog("outgoing call " + called + " from " + calling + " started"); String res = sip.makeCall(calling, called); if (res == null) { failOut++; return null; } return res; } /** * noticed call end * * @param dir direction, true=out, false=in * @param calling calling number * @param called called number * @param time start time */ public void stoppedCall(boolean dir, String calling, String called, long time) { doLog((dir ? "outgoing" : "incoming") + " call " + called + " from " + calling + " ended after " + bits.timePast(time)); seenTime += bits.getTime() - time; } /** * stop the call * * @param cid call id */ public void stopCall(String cid) { if (sip == null) { return; } sip.stopCall(cid); } /** * get call * * @param cid call id * @return rtp */ public packRtp getCall(String cid) { if (sip == null) { return null; } return sip.getCall(cid); } /** * get codec * * @return codec */ public encCodec getCodec() { if (aLaw) { return new encCodecG711aLaw(); } else { return new encCodecG711uLaw(); } } public List getShRun(int filter) { List l = new ArrayList(); l.add("dial-peer " + name); cmds.cfgLine(l, description == null, cmds.tabulator, "description", description); cmds.cfgLine(l, skipPeersIn == null, cmds.tabulator, "skip-peers-in", skipPeersIn); cmds.cfgLine(l, skipPeersOut == null, cmds.tabulator, "skip-peers-out", skipPeersOut); cmds.cfgLine(l, allowPeersIn == null, cmds.tabulator, "allow-peers-in", allowPeersIn); cmds.cfgLine(l, allowPeersOut == null, cmds.tabulator, "allow-peers-out", allowPeersOut); for (int i = 0; i < prmtSrc.size(); i++) { l.add(cmds.tabulator + "prematch-calling " + prmtSrc.get(i).name); } for (int i = 0; i < prmtDst.size(); i++) { l.add(cmds.tabulator + "prematch-called " + prmtDst.get(i).name); } for (int i = 0; i < matSrc.size(); i++) { l.add(cmds.tabulator + "match-calling " + matSrc.get(i)); } for (int i = 0; i < matDst.size(); i++) { l.add(cmds.tabulator + "match-called " + matDst.get(i)); } for (int i = 0; i < trnsInSrc.size(); i++) { l.add(cmds.tabulator + "translate-in-calling " + trnsInSrc.get(i).name); } for (int i = 0; i < trnsInDst.size(); i++) { l.add(cmds.tabulator + "translate-in-called " + trnsInDst.get(i).name); } for (int i = 0; i < trnsOutSrc.size(); i++) { l.add(cmds.tabulator + "translate-out-calling " + trnsOutSrc.get(i).name); } for (int i = 0; i < trnsOutDst.size(); i++) { l.add(cmds.tabulator + "translate-out-called " + trnsOutDst.get(i).name); } String a; if (aLaw) { a = "alaw"; } else { a = "ulaw"; } l.add(cmds.tabulator + "codec " + a); l.add(cmds.tabulator + "port-local " + portLoc); l.add(cmds.tabulator + "port-remote " + portRem); l.add(cmds.tabulator + "keepalive " + keepalive); l.add(cmds.tabulator + "register " + register); l.add(cmds.tabulator + "subscribe " + subscribe); l.add(cmds.tabulator + "options " + options); cmds.cfgLine(l, !log, cmds.tabulator, "log", ""); l.add(cmds.tabulator + "history " + histMax); if (vrf != null) { l.add(cmds.tabulator + "vrf " + vrf.name); } else { l.add(cmds.tabulator + "no vrf"); } if (ifc != null) { l.add(cmds.tabulator + "source " + ifc.name); } else { l.add(cmds.tabulator + "no source"); } cmds.cfgLine(l, endpt == null, cmds.tabulator, "myname", endpt); cmds.cfgLine(l, usr == null, cmds.tabulator, "username", usr); cmds.cfgLine(l, pwd == null, cmds.tabulator, "password", authLocal.passwdEncode(pwd, (filter & 2) != 0)); cmds.cfgLine(l, trg == null, cmds.tabulator, "target", trg); l.add(cmds.tabulator + "max-calls-in " + maxCallsIn); l.add(cmds.tabulator + "max-calls-out " + maxCallsOut); switch (protocol) { case 1: a = "sip-udp"; break; case 2: a = "sip-listen"; break; case 3: a = "sip-connect"; break; default: a = "unknown=" + protocol; break; } l.add(cmds.tabulator + "protocol " + a); l.add(cmds.tabulator + "direction " + getDir()); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2}, "description", "specify description"); l.add(null, false, 2, new int[]{2, -1}, "", "description"); l.add(null, false, 1, new int[]{2}, "skip-peers-in", "skip dial peers incoming"); l.add(null, false, 2, new int[]{-1}, "", "comma separated peers"); l.add(null, false, 1, new int[]{2}, "skip-peers-out", "skip dial peers outgoing"); l.add(null, false, 2, new int[]{-1}, "", "comma separated peers"); l.add(null, false, 1, new int[]{2}, "allow-peers-in", "allow dial peers incoming"); l.add(null, false, 2, new int[]{-1}, "", "comma separated peers"); l.add(null, false, 1, new int[]{2}, "allow-peers-out", "allow dial peers outgoing"); l.add(null, false, 2, new int[]{-1}, "", "comma separated peers"); l.add(null, false, 1, new int[]{2}, "match-calling", "match calling string"); l.add(null, false, 2, new int[]{2, -1}, "", "regular expression"); l.add(null, false, 1, new int[]{2}, "match-called", "match called string"); l.add(null, false, 2, new int[]{2, -1}, "", "regular expression"); l.add(null, false, 1, new int[]{2}, "translate-in-calling", "translate incoming calling string"); l.add(null, false, 2, new int[]{-1}, "", "rule name"); l.add(null, false, 1, new int[]{2}, "translate-in-called", "translate incoming called string"); l.add(null, false, 2, new int[]{-1}, "", "rule name"); l.add(null, false, 1, new int[]{2}, "translate-out-calling", "translate outgoing calling string"); l.add(null, false, 2, new int[]{-1}, "", "rule name"); l.add(null, false, 1, new int[]{2}, "translate-out-called", "translate outgoing called string"); l.add(null, false, 2, new int[]{-1}, "", "rule name"); l.add(null, false, 1, new int[]{2}, "prematch-calling", "prematch translate outgoing calling string"); l.add(null, false, 2, new int[]{-1}, "", "rule name"); l.add(null, false, 1, new int[]{2}, "prematch-called", "prematch translate outgoing called string"); l.add(null, false, 2, new int[]{-1}, "", "rule name"); l.add(null, false, 1, new int[]{2}, "vrf", "vrf to use"); l.add(null, false, 2, new int[]{-1}, "", "vrf name"); l.add(null, false, 1, new int[]{2}, "source", "interface to use"); l.add(null, false, 2, new int[]{-1}, "", "interface name"); l.add(null, false, 1, new int[]{2}, "target", "set peer name"); l.add(null, false, 2, new int[]{2, -1}, "", "domain name"); l.add(null, false, 1, new int[]{2}, "myname", "set endpoint"); l.add(null, false, 2, new int[]{2, -1}, "", "username"); l.add(null, false, 1, new int[]{2}, "username", "set username"); l.add(null, false, 2, new int[]{2, -1}, "", "username"); l.add(null, false, 1, new int[]{2}, "password", "set password"); l.add(null, false, 2, new int[]{2, -1}, "", "password"); l.add(null, false, 1, new int[]{2}, "protocol", "set peer protocol"); l.add(null, false, 2, new int[]{-1}, "sip-udp", "sip over udp"); l.add(null, false, 2, new int[]{-1}, "sip-listen", "sip over tcp as server"); l.add(null, false, 2, new int[]{-1}, "sip-connect", "sip over tcp as client"); l.add(null, false, 1, new int[]{2}, "direction", "set peer direction"); l.add(null, false, 2, new int[]{-1}, "in", "inbound"); l.add(null, false, 2, new int[]{-1}, "out", "outbound"); l.add(null, false, 2, new int[]{-1}, "both", "in and out"); l.add(null, false, 2, new int[]{-1}, "none", "disabled"); l.add(null, false, 1, new int[]{-1}, "log", "log calls"); l.add(null, false, 1, new int[]{2}, "max-calls-in", "maximum in calls allowed"); l.add(null, false, 2, new int[]{-1}, "", "limit"); l.add(null, false, 1, new int[]{2}, "max-calls-out", "maximum out calls allowed"); l.add(null, false, 2, new int[]{-1}, "", "limit"); l.add(null, false, 1, new int[]{2}, "history", "history size"); l.add(null, false, 2, new int[]{-1}, "", "limit"); l.add(null, false, 1, new int[]{2}, "keepalive", "keepalive to peer"); l.add(null, false, 2, new int[]{-1}, "", "time in ms"); l.add(null, false, 1, new int[]{2}, "register", "register to peer"); l.add(null, false, 2, new int[]{-1}, "", "time in ms"); l.add(null, false, 1, new int[]{2}, "subscribe", "subscribe to peer"); l.add(null, false, 2, new int[]{-1}, "", "time in ms"); l.add(null, false, 1, new int[]{2}, "options", "options to peer"); l.add(null, false, 2, new int[]{-1}, "", "time in ms"); l.add(null, false, 1, new int[]{2}, "port-local", "local port"); l.add(null, false, 2, new int[]{-1}, "", "port number"); l.add(null, false, 1, new int[]{2}, "port-remote", "remote port"); l.add(null, false, 2, new int[]{-1}, "", "port number"); l.add(null, false, 1, new int[]{2}, "codec", "set codec to use"); l.add(null, false, 2, new int[]{-1}, "alaw", "g711 a law"); l.add(null, false, 2, new int[]{-1}, "ulaw", "g711 u law"); } public void doCfgStr(cmds cmd) { String a = cmd.word(); boolean negated = a.equals(cmds.negated); if (negated) { a = cmd.word(); } if (a.equals("description")) { description = cmd.getRemaining(); if (negated) { description = null; } return; } if (a.equals("skip-peers-in")) { skipPeersIn = cmd.getRemaining(); if (negated) { skipPeersIn = null; } return; } if (a.equals("skip-peers-out")) { skipPeersOut = cmd.getRemaining(); if (negated) { skipPeersOut = null; } return; } if (a.equals("allow-peers-in")) { allowPeersIn = cmd.getRemaining(); if (negated) { allowPeersIn = null; } return; } if (a.equals("allow-peers-out")) { allowPeersOut = cmd.getRemaining(); if (negated) { allowPeersOut = null; } return; } if (a.equals("protocol")) { a = cmd.word(); if (negated) { protocol = 1; doStartup(); return; } if (a.equals("sip-udp")) { protocol = 1; doStartup(); return; } if (a.equals("sip-listen")) { protocol = 2; doStartup(); return; } if (a.equals("sip-connect")) { protocol = 3; doStartup(); return; } cmd.badCmd(); return; } if (a.equals("direction")) { a = cmd.word(); if (negated) { direction = 0; doShutdown(); return; } if (a.equals("in")) { direction = 1; doStartup(); return; } if (a.equals("out")) { direction = 2; doStartup(); return; } if (a.equals("both")) { direction = 3; doStartup(); return; } if (a.equals("none")) { direction = 0; doShutdown(); return; } cmd.badCmd(); return; } if (a.equals("match-calling")) { a = cmd.getRemaining(); if (negated) { matSrc.remove(a); } else { matSrc.add(a); } return; } if (a.equals("match-called")) { a = cmd.getRemaining(); if (negated) { matDst.remove(a); } else { matDst.add(a); } return; } if (a.equals("translate-in-calling")) { cfgTrnsltn rule = cfgAll.trnsltnFind(cmd.word(), false); if (rule == null) { cmd.error("no such rule"); return; } if (negated) { trnsInSrc.remove(rule); } else { trnsInSrc.add(rule); } return; } if (a.equals("translate-in-called")) { cfgTrnsltn rule = cfgAll.trnsltnFind(cmd.word(), false); if (rule == null) { cmd.error("no such rule"); return; } if (negated) { trnsInDst.remove(rule); } else { trnsInDst.add(rule); } return; } if (a.equals("translate-out-calling")) { cfgTrnsltn rule = cfgAll.trnsltnFind(cmd.word(), false); if (rule == null) { cmd.error("no such rule"); return; } if (negated) { trnsOutSrc.remove(rule); } else { trnsOutSrc.add(rule); } return; } if (a.equals("translate-out-called")) { cfgTrnsltn rule = cfgAll.trnsltnFind(cmd.word(), false); if (rule == null) { cmd.error("no such rule"); return; } if (negated) { trnsOutDst.remove(rule); } else { trnsOutDst.add(rule); } return; } if (a.equals("prematch-calling")) { cfgTrnsltn rule = cfgAll.trnsltnFind(cmd.word(), false); if (rule == null) { cmd.error("no such rule"); return; } if (negated) { prmtSrc.remove(rule); } else { prmtSrc.add(rule); } return; } if (a.equals("prematch-called")) { cfgTrnsltn rule = cfgAll.trnsltnFind(cmd.word(), false); if (rule == null) { cmd.error("no such rule"); return; } if (negated) { prmtDst.remove(rule); } else { prmtDst.add(rule); } return; } if (a.equals("port-local")) { doShutdown(); portLoc = bits.str2num(cmd.word()); if (negated) { portLoc = 0; } doStartup(); return; } if (a.equals("port-remote")) { doShutdown(); portRem = bits.str2num(cmd.word()); if (negated) { portRem = packSip.port; } doStartup(); return; } if (a.equals("max-calls-in")) { maxCallsIn = bits.str2num(cmd.word()); if (negated) { maxCallsIn = 1; } return; } if (a.equals("max-calls-out")) { maxCallsOut = bits.str2num(cmd.word()); if (negated) { maxCallsOut = 1; } return; } if (a.equals("history")) { histMax = bits.str2num(cmd.word()); if (negated) { histMax = 100; } return; } if (a.equals("keepalive")) { doShutdown(); keepalive = bits.str2num(cmd.word()); if (negated) { keepalive = 0; } doStartup(); return; } if (a.equals("register")) { doShutdown(); register = bits.str2num(cmd.word()); if (negated) { register = 0; } doStartup(); return; } if (a.equals("subscribe")) { doShutdown(); subscribe = bits.str2num(cmd.word()); if (negated) { subscribe = 0; } doStartup(); return; } if (a.equals("options")) { doShutdown(); options = bits.str2num(cmd.word()); if (negated) { options = 0; } doStartup(); return; } if (a.equals("vrf")) { doShutdown(); vrf = cfgAll.vrfFind(cmd.word(), false); if (negated) { vrf = null; } doStartup(); return; } if (a.equals("source")) { doShutdown(); ifc = cfgAll.ifcFind(cmd.word(), 0); if (negated) { ifc = null; } doStartup(); return; } if (a.equals("target")) { doShutdown(); trg = cmd.getRemaining(); if (negated) { trg = null; } doStartup(); return; } if (a.equals("username")) { doShutdown(); usr = cmd.getRemaining(); if (negated) { usr = null; } doStartup(); return; } if (a.equals("myname")) { doShutdown(); endpt = cmd.getRemaining(); if (negated) { endpt = null; } doStartup(); return; } if (a.equals("password")) { doShutdown(); pwd = authLocal.passwdDecode(cmd.getRemaining()); if (negated) { pwd = null; } doStartup(); return; } if (a.equals("log")) { log = !negated; return; } if (a.equals("codec")) { doShutdown(); a = cmd.word(); if (a.equals("alaw")) { aLaw = true; } if (a.equals("ulaw")) { aLaw = false; } if (negated) { aLaw = !aLaw; } doStartup(); return; } cmd.badCmd(); } public String getPrompt() { return "dial"; } /** * stop work */ public synchronized void doShutdown() { if (sip == null) { return; } sip.stopWork(); sip = null; } /** * start work */ public synchronized void doStartup() { doShutdown(); if (direction < 1) { return; } if (vrf == null) { return; } if (trg == null) { return; } if (endpt == null) { return; } sip = new clntSip(); sip.protocol = protocol; sip.upper = this; sip.endpt = endpt; sip.portLoc = portLoc; sip.portRem = portRem; sip.aLaw = aLaw; sip.keepalive = keepalive; sip.register = register; sip.subscribe = subscribe; sip.options = options; sip.vrf = vrf; sip.srcIfc = ifc; sip.trgDom = trg; if ((usr != null) && (pwd != null)) { sip.usr = usr; sip.pwd = pwd; } sip.startWork(); } } freeRtr-25.11.9/src/org/freertr/cfg/cfgEvntmgr.java000066400000000000000000000157511510423065500220470ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeSide; import org.freertr.tab.tabEvntmgrN; import org.freertr.tab.tabGen; import org.freertr.tab.tabListing; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.user.userScript; import org.freertr.util.bits; import org.freertr.util.cmds; /** * event manager configuration * * @author matecsaba */ public class cfgEvntmgr implements Comparable, cfgGeneric { /** * name of event manager */ public String name; /** * description */ public String description; /** * log to match */ public String event; /** * suppress log */ public boolean suppress; /** * list of statements */ public tabListing script; /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("event-manager .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("event-manager .*", cmds.tabulator + cmds.negated + cmds.tabulator + "suppress", null), new userFilter("event-manager .*", cmds.tabulator + cmds.negated + cmds.tabulator + "event", null) }; /** * create new event manager * * @param s name */ public cfgEvntmgr(String s) { script = new tabListing(); name = s; script.listName = s; } /** * add one table entry with preset values * * @param seq sequence number * @param s string represeting proto src/mask/port trg/mask/port * @return true if error happened, false if not */ public synchronized boolean add(int seq, String s) { tabEvntmgrN ntry = new tabEvntmgrN(); if (ntry.fromString(s)) { return true; } ntry.sequence = seq; script.add(ntry); return false; } /** * delete one entry * * @param seq sequence number * @return true if deleted, false if not */ public boolean del(int seq) { tabEvntmgrN ntry = new tabEvntmgrN(); ntry.sequence = seq; return script.del(ntry); } public List getShRun(int filter) { List l = new ArrayList(); l.add("event-manager " + name); cmds.cfgLine(l, description == null, cmds.tabulator, "description", description); cmds.cfgLine(l, event == null, cmds.tabulator, "event", event); cmds.cfgLine(l, !suppress, cmds.tabulator, "suppress", ""); l.addAll(script.dump(cmds.tabulator, filter)); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2}, "sequence", "sequence number of an entry"); l.add(null, false, 2, new int[]{1}, "", "sequence number"); l.add(null, false, 1, new int[]{3, -1}, "description", "specify description"); l.add(null, false, 3, new int[]{3, -1}, "", "text"); l.add(null, false, 1, new int[]{3, -1}, "event", "specify log event to match"); l.add(null, false, 3, new int[]{3, -1}, "", "text"); l.add(null, false, 1, new int[]{3, -1}, "tcl", "specify tcl command to execute"); l.add(null, false, 3, new int[]{3, -1}, "", "text"); l.add(null, false, 1, new int[]{-1}, "suppress", "suppress the log"); l.add(null, false, 1, new int[]{2, -1}, "reindex", "reindex event manager"); l.add(null, false, 2, new int[]{3, -1}, "[num]", "initial number to start with"); l.add(null, false, 3, new int[]{-1}, "[num]", "increment number"); } public void doCfgStr(cmds cmd) { String a = cmd.word(); if (a.equals(cmds.negated)) { a = cmd.word(); if (a.equals("sequence")) { if (del(bits.str2num(cmd.word()))) { cmd.error("invalid sequence"); return; } return; } if (a.equals("description")) { description = null; return; } if (a.equals("event")) { event = null; return; } if (a.equals("suppress")) { suppress = false; return; } cmd.badCmd(); return; } if (a.equals("reindex")) { int i = bits.str2num(cmd.word()); script.reindex(i, bits.str2num(cmd.word())); return; } if (a.equals("description")) { description = cmd.getRemaining(); return; } if (a.equals("event")) { event = cmd.getRemaining(); return; } if (a.equals("suppress")) { suppress = true; return; } int seq = script.nextseq(); if (a.equals("sequence")) { seq = bits.str2num(cmd.word()); a = cmd.word(); } if (!a.equals("tcl")) { cmd.badCmd(); return; } if (add(seq, cmd.getRemaining())) { cmd.error("invalid network"); return; } } public int compareTo(cfgEvntmgr o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String getPrompt() { return "eem"; } /** * process log event * * @param s string to process * @return true if suppression needed */ public static boolean processEvent(String s) { boolean sup = false; for (int o = 0; o < cfgAll.eventmgrs.size(); o++) { cfgEvntmgr ntry = cfgAll.eventmgrs.get(o); if (ntry == null) { continue; } if (ntry.event == null) { continue; } if (!s.matches(ntry.event)) { continue; } sup |= ntry.suppress; if (ntry.script.size() < 1) { continue; } pipeLine pl = new pipeLine(32768, false); pipeSide pip = pl.getSide(); pip.setTime(10000); pip.lineRx = pipeSide.modTyp.modeCRorLF; pip.lineTx = pipeSide.modTyp.modeCRLF; userScript t = new userScript(pip, ""); t.allowExec = true; t.allowConfig = true; t.addLine("set msg \"" + s + "\""); for (int i = 0; i < ntry.script.size(); i++) { t.addLine(ntry.script.get(i).tcl); } pip = pl.getSide(); pip.lineRx = pipeSide.modTyp.modeCRorLF; pip.lineTx = pipeSide.modTyp.modeCR; t.cmdAll(); pl.setClose(); } return sup; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgGeneric.java000066400000000000000000000013441510423065500217720ustar00rootroot00000000000000package org.freertr.cfg; import java.util.List; import org.freertr.user.userHelp; import org.freertr.util.cmds; /** * generic config item * * @author matecsaba */ public interface cfgGeneric { /** * get help text * * @param l help text */ public void getHelp(userHelp l); /** * get configuration of this item * * @param filter mode, 1=filter defaults, 2=hide secrets * @return string list */ public List getShRun(int filter); /** * convert one command line * * @param cmd command to process */ public void doCfgStr(cmds cmd); /** * get prompt text * * @return prompt text */ public String getPrompt(); } freeRtr-25.11.9/src/org/freertr/cfg/cfgHrpn.java000066400000000000000000000065011510423065500213250ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.ifc.ifcHairpin; import org.freertr.tab.tabGen; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; /** * one hairpin configuration * * @author matecsaba */ public class cfgHrpn implements Comparable, cfgGeneric { /** * name of this hairpin */ public final int number; /** * hairpin handler */ public ifcHairpin hairpinHed; public int compareTo(cfgHrpn o) { if (number < o.number) { return -1; } if (number > o.number) { return +1; } return 0; } public String toString() { return "hrpn " + number; } /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("hairpin .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("hairpin .*", cmds.tabulator + "ethernet", null), new userFilter("hairpin .*", cmds.tabulator + "random12drop 0", null), new userFilter("hairpin .*", cmds.tabulator + "random12burst 0 0 0", null), new userFilter("hairpin .*", cmds.tabulator + "random12duplicate 0", null), new userFilter("hairpin .*", cmds.tabulator + "random12reorder 0", null), new userFilter("hairpin .*", cmds.tabulator + "random12delay 0 0 0", null), new userFilter("hairpin .*", cmds.tabulator + "random12corrupt 0", null), new userFilter("hairpin .*", cmds.tabulator + "random21drop 0", null), new userFilter("hairpin .*", cmds.tabulator + "random21burst 0 0 0", null), new userFilter("hairpin .*", cmds.tabulator + "random21duplicate 0", null), new userFilter("hairpin .*", cmds.tabulator + "random21reorder 0", null), new userFilter("hairpin .*", cmds.tabulator + "random21delay 0 0 0", null), new userFilter("hairpin .*", cmds.tabulator + "random21corrupt 0", null), new userFilter("hairpin .*", cmds.tabulator + "buffer 65536", null) }; /** * create new hairpin instance * * @param nam name of bridge */ public cfgHrpn(String nam) { number = bits.str2num(nam); } /** * stop this hairpin */ public void stopWork() { hairpinHed.stopWork(); } /** * start this hairpin */ public void startWork() { hairpinHed.startWork(); } /** * get name of interface represents this hairpin * * @param side side to initialize * @return interface name */ public String getIntName(boolean side) { return "hairpin" + number + (side ? "1" : "2"); } public List getShRun(int filter) { List l = new ArrayList(); l.add("hairpin " + number); hairpinHed.getConfig(l, cmds.tabulator); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void getHelp(userHelp l) { ifcHairpin.getHelp(l); } public void doCfgStr(cmds cmd) { hairpinHed.doConfig(cmd); } public String getPrompt() { return "hrpn"; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgIfc.java000066400000000000000000013711111510423065500211220ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.addr.addrIPv4; import org.freertr.addr.addrIPv6; import org.freertr.addr.addrIpx; import org.freertr.addr.addrMac; import org.freertr.addr.addrPrefix; import org.freertr.clnt.clntAmt; import org.freertr.clnt.clntCapwap; import org.freertr.clnt.clntDhcp4; import org.freertr.clnt.clntDhcp6; import org.freertr.clnt.clntDlsw; import org.freertr.clnt.clntDns; import org.freertr.clnt.clntErspan; import org.freertr.clnt.clntEtherIp; import org.freertr.clnt.clntGeneve; import org.freertr.clnt.clntGtp; import org.freertr.clnt.clntL2tp3; import org.freertr.clnt.clntLisp; import org.freertr.clnt.clntLlcudp; import org.freertr.clnt.clntLwapp; import org.freertr.clnt.clntMplsBier; import org.freertr.clnt.clntMplsExp; import org.freertr.clnt.clntMplsLdpP2mp; import org.freertr.clnt.clntMplsLdpP2p; import org.freertr.clnt.clntMplsLdpTe; import org.freertr.clnt.clntMplsPwe; import org.freertr.clnt.clntMplsSr; import org.freertr.clnt.clntMplsTeP2mp; import org.freertr.clnt.clntMplsTeP2p; import org.freertr.clnt.clntMplsTrg; import org.freertr.clnt.clntMplsUdp; import org.freertr.clnt.clntMpolka; import org.freertr.clnt.clntNvGre; import org.freertr.clnt.clntOpenvpn; import org.freertr.clnt.clntPckOudp; import org.freertr.clnt.clntPolka; import org.freertr.clnt.clntProxy; import org.freertr.clnt.clntSatp; import org.freertr.clnt.clntSlaac; import org.freertr.clnt.clntSrEth; import org.freertr.clnt.clntSrExt; import org.freertr.clnt.clntTzsp; import org.freertr.clnt.clntUdpGre; import org.freertr.clnt.clntUti; import org.freertr.clnt.clntVxlan; import org.freertr.clnt.clntWireguard; import org.freertr.ifc.ifcArcnet; import org.freertr.ifc.ifcAtmDxi; import org.freertr.ifc.ifcAtmSar; import org.freertr.ifc.ifcBridgeIfc; import org.freertr.ifc.ifcBundleIfc; import org.freertr.ifc.ifcCdp; import org.freertr.ifc.ifcConnect; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcDot1ad; import org.freertr.ifc.ifcDot1ah; import org.freertr.ifc.ifcDot1q; import org.freertr.ifc.ifcEapOLclnt; import org.freertr.ifc.ifcEapOLserv; import org.freertr.ifc.ifcEthTyp; import org.freertr.ifc.ifcEther; import org.freertr.ifc.ifcFramePpp; import org.freertr.ifc.ifcFrameRelay; import org.freertr.ifc.ifcFrameRfc; import org.freertr.ifc.ifcHdlc; import org.freertr.ifc.ifcInfiniband; import org.freertr.ifc.ifcIpOnly; import org.freertr.ifc.ifcIsdn; import org.freertr.ifc.ifcIsl; import org.freertr.ifc.ifcLacp; import org.freertr.ifc.ifcLapb; import org.freertr.ifc.ifcLldp; import org.freertr.ifc.ifcLossDet; import org.freertr.ifc.ifcMacSec; import org.freertr.ifc.ifcNhrp; import org.freertr.ifc.ifcNshFwd; import org.freertr.ifc.ifcNshXcn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcP2pOEclnt; import org.freertr.ifc.ifcP2pOErely; import org.freertr.ifc.ifcP2pOEserv; import org.freertr.ifc.ifcPolka; import org.freertr.ifc.ifcPpp; import org.freertr.ifc.ifcPtp; import org.freertr.ifc.ifcQinq1; import org.freertr.ifc.ifcQinq2; import org.freertr.ifc.ifcQinq3; import org.freertr.ifc.ifcQinqX; import org.freertr.ifc.ifcRadioTap; import org.freertr.ifc.ifcRandom; import org.freertr.ifc.ifcRaw; import org.freertr.ifc.ifcSep; import org.freertr.ifc.ifcSgt; import org.freertr.ifc.ifcSyncE; import org.freertr.ifc.ifcThread; import org.freertr.ifc.ifcTrillFgl; import org.freertr.ifc.ifcTrillMt; import org.freertr.ifc.ifcUdld; import org.freertr.ifc.ifcUp; import org.freertr.ifc.ifcVlan; import org.freertr.ip.ipCor4; import org.freertr.ip.ipCor6; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipIcmp4; import org.freertr.ip.ipIcmp6; import org.freertr.ip.ipIfc4; import org.freertr.ip.ipIfc4arp; import org.freertr.ip.ipIfc6; import org.freertr.ip.ipMpls; import org.freertr.ip.ipProxy; import org.freertr.ipx.ipxIface; import org.freertr.pack.packEapOL; import org.freertr.pack.packLdpPwe; import org.freertr.pack.packPppOE; import org.freertr.pack.packPtp; import org.freertr.prt.prt6to4; import org.freertr.prt.prtAplusP; import org.freertr.prt.prtGre; import org.freertr.prt.prtHip; import org.freertr.prt.prtIcmptun; import org.freertr.prt.prtInlsp; import org.freertr.prt.prtIpIp; import org.freertr.prt.prtIpcomp; import org.freertr.prt.prtIpenc; import org.freertr.prt.prtMgre; import org.freertr.prt.prtMinenc; import org.freertr.prt.prtMplsIp; import org.freertr.prt.prtNos; import org.freertr.prt.prtPckOip; import org.freertr.prt.prtPim; import org.freertr.prt.prtPipe; import org.freertr.prt.prtSkip; import org.freertr.prt.prtSrv6; import org.freertr.prt.prtSwipe; import org.freertr.prt.prtTmux; import org.freertr.prt.prtUdp; import org.freertr.rtr.rtrBabelIface; import org.freertr.rtr.rtrEigrpIface; import org.freertr.rtr.rtrIsisIface; import org.freertr.rtr.rtrLdpIface; import org.freertr.rtr.rtrLsrpIface; import org.freertr.rtr.rtrOlsrIface; import org.freertr.rtr.rtrOspf4iface; import org.freertr.rtr.rtrOspf6iface; import org.freertr.rtr.rtrPvrpIface; import org.freertr.rtr.rtrRiftIface; import org.freertr.rtr.rtrRip4iface; import org.freertr.rtr.rtrRip6iface; import org.freertr.rtr.rtrRsvpIface; import org.freertr.sec.secIke; import org.freertr.sec.secIsakmp; import org.freertr.serv.servDhcp4; import org.freertr.serv.servDhcp6; import org.freertr.serv.servGeneric; import org.freertr.tab.tabGen; import org.freertr.tab.tabIndex; import org.freertr.tab.tabQos; import org.freertr.tab.tabRateLimit; import org.freertr.tab.tabRouteAttr; import org.freertr.tab.tabRouteIface; import org.freertr.tab.tabSession; import org.freertr.user.userFilter; import org.freertr.user.userFormat; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.counter; import org.freertr.util.history; import org.freertr.util.logger; import org.freertr.util.state; /** * one interface configuration * * @author matecsaba */ public class cfgIfc implements Comparable, cfgGeneric { /** * name of this interface */ public final String name; private final int cmpOrd1; private final int cmpOrd2; private final int cmpOrd3; private final int cmpOrd4; private final int cmpOrd5; /** * description of this interface */ public String description = ""; /** * hidden interface */ protected boolean hidden = false; /** * name of followed tracker */ public String followTrack = null; /** * where it was cloned, null if not */ public cfgIfc cloned; /** * truly random variable */ public int carrierDelay; /** * disable macsec on this interface */ public boolean disableMacsec; /** * disable sgt on this interface */ public boolean disableSgt; /** * packet handler */ public ifcDn lower = new ifcNull(); /** * type of this interface */ public tabRouteIface.ifaceType type; /** * parent interface */ public cfgIfc parent; /** * template interface */ public cfgIfc template; /** * ethertype handler */ public final ifcEthTyp ethtyp; /** * vlan handler */ public ifcVlan vlanHed; /** * vlan handler */ public int vlanNum; /** * hdlc handler */ public ifcHdlc hdlc; /** * isdn handler */ public ifcIsdn isdn; /** * iponly handler */ public ifcIpOnly ipOnly; /** * lapb handler */ public ifcLapb lapb; /** * raw handler */ public ifcRaw raw; /** * sep handler */ public ifcSep sep; /** * qinqx handler */ public ifcQinqX qinqx; /** * frame relay handler */ public ifcFrameRelay frmrly; /** * ip over frame relay handler */ public ifcFrameRfc frmrfc; /** * ppp over frame relay handler */ public ifcFramePpp frmppp; /** * arcnet handler */ public ifcArcnet arcnet; /** * infiniband handler */ public ifcInfiniband infiniband; /** * atm sar handler */ public ifcAtmSar atmsar; /** * atm dxi handler */ public ifcAtmDxi atmdxi; /** * ppp handler */ public ifcPpp ppp; /** * lldp handler */ public ifcLldp lldp; /** * cdp handler */ public ifcCdp cdp; /** * synce handler */ public ifcSyncE synce; /** * ptp handler */ public ifcPtp ptp; /** * lacp handler */ public ifcLacp lacp; /** * udld handler */ public ifcUdld udld; /** * radiotap handler */ public ifcRadioTap radioTap; /** * nhrp handler */ public ifcNhrp nhrp; /** * random handler */ public ifcRandom random; /** * xconnect handler */ public cfgXconnSide xconn; /** * iconnect handler */ public cfgIfc iconn; /** * pseudowire handler */ public cfgXconnSide pwhe; /** * evc handlers */ public tabGen evcs = new tabGen(); /** * bridge interface */ public ifcBridgeIfc bridgeIfc; /** * bridge handler */ public cfgBrdg bridgeHed; /** * bundle interface */ public ifcBundleIfc bundleIfc; /** * bundle handler */ public cfgBndl bundleHed; /** * hairpin handler */ public cfgHrpn hairpinHed; /** * packet thread */ public ifcThread thread; /** * auto bandwidth */ public int autoBndWdt; /** * transparent proxy */ public ipProxy transProxy; /** * forwarding vrf */ public cfgVrf vrfFor; /** * ipx address */ public addrIpx ipxAddr; /** * ipx interface */ public ipxIface ipxIfc; /** * address pool for remote */ public cfgPool ip4polC; /** * address from pool */ public addrIPv4 ip4polA; /** * address pool for remote */ public cfgPool ip6polC; /** * address from pool */ public addrIPv6 ip6polA; /** * ipv4 address */ public addrIPv4 addr4; /** * ipv4 netmask */ public addrIPv4 mask4; /** * hide ipv4 address */ public boolean hide4adr; /** * hide ipv4 netmask */ public boolean hide4msk; /** * ipc4 packet handler */ public ipIfc4 ipIf4; /** * ipc4 forwarder handler */ public ipFwdIface fwdIf4; /** * ipv6 address */ public addrIPv6 addr6; /** * ipv6 netmask */ public addrIPv6 mask6; /** * hide ipv6 address */ public boolean hide6adr; /** * hide ipv6 netmask */ public boolean hide6msk; /** * ipv6 packet handler */ public ipIfc6 ipIf6; /** * ipv6 forwarder handler */ public ipFwdIface fwdIf6; /** * tunnel mode */ public tunnelType tunMode; /** * tunnel shutdown */ public boolean tunShut; /** * tunnel vrf where encapsulated goes */ public cfgVrf tunVrf; /** * tunnel target where encapsulated goes */ public addrIP tunTrg; /** * tunnel target where encapsulated goes */ public String tunFQDN; /** * tunnel source to use as source */ public cfgIfc tunSrc; /** * sending tos value, -1 means maps out */ public int tunTOS; /** * sending df value, 0=off, 1=on, -1=maps out */ public int tunDFN; /** * sending flow value, -1 means maps out */ public int tunFLW; /** * sending mark value, -1 means maps out */ public int tunMRK; /** * sending ttl value, -1 means maps out */ public int tunTTL; /** * tunnel key to use, 0 means disabled */ public int tunKey = 0; /** * tunnel key to use, 0 means disabled */ public int tunKey2 = 0; /** * send checksum in packets */ public boolean tunSum = false; /** * send sequence number in packets */ public boolean tunSeq = false; /** * association id */ public int tunAscId = 0; /** * association global id */ public int tunAscId2 = 0; /** * association address */ public addrIP tunAscAdr = null; /** * tunnel setup priority */ public int tunPriS = 7; /** * tunnel hold priority */ public int tunPriH = 7; /** * tunnel exclude affinity */ public int tunAffE = 0; /** * tunnel include affinity */ public int tunAffI = 0; /** * tunnel must affinity */ public int tunAffM = 0; /** * ipsec profile to use */ public cfgIpsec tunPrt; /** * gre tunnel handler */ public prtGre tunGRE; /** * mgre tunnel handler */ public prtMgre tunMgre; /** * udpgre tunnel handler */ public clntUdpGre tunUdpGre; /** * amt tunnel handler */ public clntAmt tunAmt; /** * icmp tunnel handler */ public prtIcmptun tunICMP; /** * pim tunnel handler */ public prtPim tunPIM; /** * lisp tunnel handler */ public clntLisp tunLisp; /** * minenc tunnel handler */ public prtMinenc tunMinenc; /** * pipe tunnel handler */ public prtPipe tunPipe; /** * nos tunnel handler */ public prtNos tunNos; /** * ipcomp tunnel handler */ public prtIpcomp tunIpcomp; /** * ipenc tunnel handler */ public prtIpenc tunIpenc; /** * tmux tunnel handler */ public prtTmux tunTmux; /** * hip tunnel handler */ public prtHip tunHip; /** * ipip tunnel handler */ public prtIpIp tunIPIP; /** * 6to4 tunnel handler */ public prt6to4 tun6to4; /** * a plus p tunnel handler */ public prtAplusP tunAplusP; /** * srv6 tunnel handler */ public prtSrv6 tunSrv6; /** * ipsec tunnel handler */ public secIsakmp tunIPsec1; /** * ipsec tunnel handler */ public secIke tunIPsec2; /** * pckOudp tunnel handler */ public clntPckOudp tunPckOudp; /** * pckOip tunnel handler */ public prtPckOip tunPckOip; /** * l2tp3 tunnel handler */ public clntL2tp3 tunL2tp3; /** * gtp tunnel handler */ public clntGtp tunGtp; /** * pweOmpls tunnel handler */ public clntMplsPwe tunPweOmpls; /** * exp bundle tunnel handler */ public clntMplsExp tunExpBun; /** * sr over mpls tunnel handler */ public clntMplsSr tunSrMpls; /** * polka tunnel handler */ public clntPolka tunPolka; /** * mpolka tunnel handler */ public clntMpolka tunMpolka; /** * sr over srh tunnel handler */ public clntSrExt tunSrExt; /** * p2p mpls te tunnel handler */ public clntMplsTeP2p tunTeP2p; /** * p2mp mpls te tunnel handler */ public clntMplsTeP2mp tunTeP2mp; /** * mpls bier tunnel handler */ public clntMplsBier tunBier; /** * p2p mpls ldp tunnel handler */ public clntMplsLdpP2p tunLdpP2p; /** * mpls ldp te tunnel handler */ public clntMplsLdpTe tunLdpTe; /** * p2mp mpls ldp tunnel handler */ public clntMplsLdpP2mp tunLdpP2mp; /** * vxlan tunnel handler */ public clntVxlan tunVxlan; /** * geneve tunnel handler */ public clntGeneve tunGeneve; /** * llcudp tunnel handler */ public clntLlcudp tunLlcudp; /** * llcudp tunnel handler */ public clntTzsp tunTzsp; /** * capwap tunnel handler */ public clntCapwap tunCapwap; /** * lwapp tunnel handler */ public clntLwapp tunLwapp; /** * erspan tunnel handler */ public clntErspan tunErspan; /** * dlsw tunnel handler */ public clntDlsw tunDlsw; /** * etherip tunnel handler */ public clntEtherIp tunEtherip; /** * sreth tunnel handler */ public clntSrEth tunSreth; /** * uti tunnel handler */ public clntUti tunUti; /** * nvgre tunnel handler */ public clntNvGre tunNvgre; /** * mplsip tunnel handler */ public prtMplsIp tunMplsip; /** * mplsudp tunnel handler */ public clntMplsUdp tunMplsudp; /** * swipe tunnel handler */ public prtSwipe tunSwipe; /** * openvpn tunnel handler */ public clntOpenvpn tunOpenvpn; /** * wireguard tunnel handler */ public clntWireguard tunWireguard; /** * satp tunnel handler */ public clntSatp tunSatp; /** * inlsp tunnel handler */ public prtInlsp tunInlsp; /** * skip tunnel handler */ public prtSkip tunSkip; /** * dhcp4 server */ public servDhcp4 dhcp4s; /** * dhcp4 relay service */ public servDhcp4 dhcp4r; /** * dhcp6 server */ public servDhcp6 dhcp6s; /** * dhcp6 relay service */ public servDhcp6 dhcp6r; /** * babel4 routing handler */ public cfgRtr rtrBabel4hnd; /** * babel4 routing interface */ public rtrBabelIface rtrBabel4ifc; /** * babel6 routing handler */ public cfgRtr rtrBabel6hnd; /** * babel6 routing interface */ public rtrBabelIface rtrBabel6ifc; /** * olsr4 routing handler */ public cfgRtr rtrOlsr4hnd; /** * olsr4 routing interface */ public rtrOlsrIface rtrOlsr4ifc; /** * olsr6 routing handler */ public cfgRtr rtrOlsr6hnd; /** * olsr6 routing interface */ public rtrOlsrIface rtrOlsr6ifc; /** * rip4 routing handler */ public cfgRtr rtrRip4hnd; /** * rip4 routing interface */ public rtrRip4iface rtrRip4ifc; /** * rip6 routing handler */ public cfgRtr rtrRip6hnd; /** * rip6 routing interface */ public rtrRip6iface rtrRip6ifc; /** * ospf4 routing handler */ public cfgRtr rtrOspf4hnd; /** * ospf4 routing interface */ public rtrOspf4iface rtrOspf4ifc; /** * ospf6 routing handler */ public cfgRtr rtrOspf6hnd; /** * ospf6 routing interface */ public rtrOspf6iface rtrOspf6ifc; /** * isis routing handler */ public cfgRtr rtrIsisHnd; /** * isis routing interface */ public rtrIsisIface rtrIsisIfc; /** * rift4 routing interface */ public rtrRiftIface rtrRift4ifc; /** * rift4 routing handler */ public cfgRtr rtrRift4hnd; /** * rift4 routing interface */ public rtrRiftIface rtrRift6ifc; /** * rift4 routing handler */ public cfgRtr rtrRift6hnd; /** * pvrp4 routing interface */ public rtrPvrpIface rtrPvrp4ifc; /** * pvrp4 routing handler */ public cfgRtr rtrPvrp4hnd; /** * pvrp4 routing interface */ public rtrPvrpIface rtrPvrp6ifc; /** * pvrp4 routing handler */ public cfgRtr rtrPvrp6hnd; /** * lsrp4 routing interface */ public rtrLsrpIface rtrLsrp4ifc; /** * lsrp4 routing handler */ public cfgRtr rtrLsrp4hnd; /** * lsrp4 routing interface */ public rtrLsrpIface rtrLsrp6ifc; /** * lsrp4 routing handler */ public cfgRtr rtrLsrp6hnd; /** * eigrp4 routing interface */ public rtrEigrpIface rtrEigrp4ifc; /** * eigrp4 routing handler */ public cfgRtr rtrEigrp4hnd; /** * eigrp4 routing interface */ public rtrEigrpIface rtrEigrp6ifc; /** * eigrp4 routing handler */ public cfgRtr rtrEigrp6hnd; /** * pppoe client handler */ public ifcP2pOEclnt pppoeC; /** * pppoe server handler */ public ifcP2pOEserv pppoeS; /** * pppoe relay handler */ public ifcP2pOErely pppoeR; /** * eapol client handler */ public ifcEapOLclnt eapolC; /** * eapol server handler */ public ifcEapOLserv eapolS; /** * dhcp4 client handler */ public clntDhcp4 dhcp4c; /** * dhcp6 client handler */ public clntDhcp6 dhcp6c; /** * slaac client handler */ public clntSlaac slaac; /** * nsh packet processing */ public ifcNshFwd nshPack; /** * nsh xconnect processing */ public ifcNshXcn nshXcon; /** * mpls packet processing */ public ipMpls mplsPack; /** * polka packet processing */ public ifcPolka polkaPack; /** * mpls ldp ipv4 discovery */ public rtrLdpIface mplsLdp4; /** * mpls ldp ipv6 discovery */ public rtrLdpIface mplsLdp6; /** * mpls rsvp ipv4 signaling */ public rtrRsvpIface mplsRsvp4; /** * mpls rsvp ipv6 signaling */ public rtrRsvpIface mplsRsvp6; /** * mpls targeted ldp */ public tabGen mplsTarget = new tabGen(); /** * tunnel type */ public enum tunnelType { /** * gre tunnel interface */ gre, /** * mgre tunnel interface */ mgre, /** * udpgre tunnel interface */ udpgre, /** * amt tunnel interface */ amt, /** * icmp tunnel interface */ icmp, /** * pim tunnel interface */ pim, /** * lisp tunnel interface */ lisp, /** * minenc tunnel interface */ minenc, /** * pipe tunnel interface */ pipe, /** * nos tunnel interface */ nos, /** * ipcomp tunnel interface */ ipcomp, /** * ipenc tunnel interface */ ipenc, /** * tmux tunnel interface */ tmux, /** * hip tunnel interface */ hip, /** * ipip tunnel interface */ ipip, /** * 6to4 tunnel interface */ Sto4, /** * a plus p tunnel interface */ aplusp, /** * srv6 tunnel interface */ srv6, /** * ipsec tunnel interface */ ipsec, /** * pckOudp tunnel interface */ pckOudp, /** * pckOip tunnel interface */ pckOip, /** * l2tp3 tunnel interface */ l2tp3, /** * gtp tunnel interface */ gtp, /** * pweOmpls tunnel interface */ pweOmpls, /** * polka tunnel interface */ polka, /** * mpolka tunnel interface */ mpolka, /** * exp bundle tunnel interface */ expBun, /** * sr over srmpls tunnel interface */ srMpls, /** * sr over srh tunnel interface */ srExt, /** * sr from pcep tunnel interface */ pceSr, /** * te from pcep tunnel interface */ pceTe, /** * p2p mpls te tunnel interface */ teP2p, /** * p2mp mpls te tunnel interface */ teP2mp, /** * mpls bier tunnel interface */ bier, /** * p2p ldp tunnel interface */ ldpP2p, /** * ldp te tunnel interface */ ldpTe, /** * p2mp ldp tunnel interface */ ldpP2mp, /** * mp2mp ldp tunnel interface */ ldpMp2mp, /** * vxlan tunnel interface */ vxlan, /** * geneve tunnel interface */ geneve, /** * llcudp tunnel interface */ llcudp, /** * tzsp tunnel interface */ tzsp, /** * capwap tunnel interface */ capwap, /** * lwapp tunnel interface */ lwapp, /** * erspan tunnel interface */ erspan, /** * dlsw tunnel interface */ dlsw, /** * etherip tunnel interface */ etherip, /** * sreth tunnel interface */ sreth, /** * uti tunnel interface */ uti, /** * nvgre tunnel interface */ nvgre, /** * mplsip tunnel interface */ mplsip, /** * mplsudp tunnel interface */ mplsudp, /** * swipe tunnel interface */ swipe, /** * openvpn tunnel interface */ openvpn, /** * wireguard tunnel interface */ wireguard, /** * satp tunnel interface */ satp, /** * inlsp tunnel interface */ inlsp, /** * skip tunnel interface */ skip } /** * defaults text */ public final static userFilter[] defaultF = { // globals new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mtu", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "macaddr", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "template", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "follow-tracker", null), new userFilter("interface .*", cmds.tabulator + "padup 0 0", null), new userFilter("interface .*", cmds.tabulator + "autostate", null), new userFilter("interface .*", cmds.tabulator + "encapsulation dot1q", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bandwidth", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "lldp enable", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "cdp enable", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "cdp odr4", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "cdp odr6", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "synceth enable", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ptp enable", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ptp receive", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "lacp", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "carrier-delay", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "udld enable", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "radiotap enable", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "radiotap logging", null), new userFilter("interface .*", cmds.tabulator + "radiotap timeout 60000", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "random", null), new userFilter("interface .*", cmds.tabulator + "enforce-mtu none", null), new userFilter("interface .*", cmds.tabulator + "enforce-mac none", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "macsec", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "disable-macsec", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "disable-sgt", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "loss-detection", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "rate-limit-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "rate-limit-out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "sgt enable", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "sgt optional", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "sgt allow-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "sgt allow-out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "sgt forbid-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "sgt forbid-out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "sgt assign", null), new userFilter("interface .*", cmds.tabulator + "monitor-direction both", null), new userFilter("interface .*", cmds.tabulator + "monitor-truncate 0", null), new userFilter("interface .*", cmds.tabulator + "monitor-sample 0", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "monitor-filter", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "monitor-session", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "monitor-buffer", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "eapol client", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "eapol server", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bridge-group", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bridge-filter private-port", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bridge-filter public-port", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bridge-filter stp-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bridge-filter stp-out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bridge-filter stp-root", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bridge-filter ipv4in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bridge-filter ipv4out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bridge-filter ipv6in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bridge-filter ipv6out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bridge-macrewrite", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bridge-portsecurity", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bridge-staticaddr", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bridge-tcp-mss ipv4in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bridge-tcp-mss ipv4out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bridge-tcp-mss ipv6in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bridge-tcp-mss ipv6out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bridge-pmtud ipv4in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bridge-pmtud ipv4out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bridge-pmtud ipv6in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bridge-pmtud ipv6out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bundle-group", null), new userFilter("interface .*", cmds.tabulator + "bundle-priority 0", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "service-policy-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "service-policy-out", null), // forwarding new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "transproxy", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "p2poe client", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "p2poe server", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "p2poe relay", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "vrf forwarding", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "nhrp ipv4", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "nhrp ipv6", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipx network", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "nsh enable", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "nsh xconnect", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "polka enable", null), // mpls new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mpls enable", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mpls access-group-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mpls access-group-out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mpls access-group-common-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mpls access-group-common-out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mpls inspect", null), new userFilter("interface .*", cmds.tabulator + "mpls ethertype unicast", null), new userFilter("interface .*", cmds.tabulator + "mpls flow 0", null), new userFilter("interface .*", cmds.tabulator + "mpls mark 0", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mpls label-security", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mpls srv6-security", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mpls netflow-rx", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mpls netflow-tx", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mpls redirection", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mpls ldp4", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mpls ldp6", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mpls label4peer", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mpls label6peer", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mpls label4pop", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mpls label6pop", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mpls label4in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mpls label4out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mpls label6in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mpls label6out", null), new userFilter("interface .*", cmds.tabulator + "mpls label4sig discovery 5000 15000", null), new userFilter("interface .*", cmds.tabulator + "mpls label6sig discovery 5000 15000", null), new userFilter("interface .*", cmds.tabulator + "mpls label4sig session 60000 180000", null), new userFilter("interface .*", cmds.tabulator + "mpls label6sig session 60000 180000", null), new userFilter("interface .*", cmds.tabulator + "mpls label4sig target 10000 90000", null), new userFilter("interface .*", cmds.tabulator + "mpls label6sig target 10000 90000", null), new userFilter("interface .*", cmds.tabulator + "mpls label4sig tos -1", null), new userFilter("interface .*", cmds.tabulator + "mpls label6sig tos -1", null), new userFilter("interface .*", cmds.tabulator + "mpls label4sig ttl -1", null), new userFilter("interface .*", cmds.tabulator + "mpls label6sig ttl -1", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mpls rsvp4", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mpls rsvp6", null), // ip new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] address", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] enable", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] reassembly", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] fragmentation", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] pmtud-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] pmtud-out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] redirection", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] unreachables", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] unreach-source", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] propagate-ttl-always", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] propagate-ttl-allow", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] resend-packet", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] dapp-disable", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] flowspec-disable", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] verify-source", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] srh enable", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] nsh enable", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] dlep", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] gateway-connected", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] gateway-local", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] gateway-remote", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] gateway-process", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] gateway-distance 0 0 0 0", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] gateway-labeled", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] gateway-prefix", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] gateway-map", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] gateway-policy", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] access-group-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] access-group-out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] access-group-common-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] access-group-common-out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] bfd", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] autoroute", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] host-learn", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] host-remote", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] host-watch", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] host-rate", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] host-reach 360000", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] host-retry 180000", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] proxy-remote", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] proxy-local", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] proxy-filter", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] tcp-mss-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] tcp-mss-out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] hsrp address", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] netflow-rx", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] netflow-tx", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] hsrp group 0", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] hsrp password \\$v10\\$Y2lzY28=", null), new userFilter("interface .*", cmds.tabulator + "ipv4 hsrp mac-address 0000.0c9f.f000", null), new userFilter("interface .*", cmds.tabulator + "ipv6 hsrp mac-address 0005.73a0.0000", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] hsrp version 2", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] hsrp timer 3000 10000", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] hsrp priority 100", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] hsrp preempt", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] hsrp bfd", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] hsrp tracker", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] vrrp address", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] vrrp group 0", null), new userFilter("interface .*", cmds.tabulator + "ipv4 vrrp mac-address 0000.5e00.0100", null), new userFilter("interface .*", cmds.tabulator + "ipv6 vrrp mac-address 0000.5e00.0200", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] vrrp version 3", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] vrrp timer 1000 3000", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] vrrp priority 100", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] vrrp tracker", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] vrrp bfd", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] pool", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] inspect", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] ptp enable", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] ptp receive", null), new userFilter("interface .*", cmds.tabulator + "ipv4 dhcp-client broadcast", null), new userFilter("interface .*", cmds.tabulator + "ipv6 dhcp-client address", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv6 dhcp-client prefix", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] dhcp-client early", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] dhcp-client renew-min 60000", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] dhcp-client renew-max 43200000", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] dhcp-client enable", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv6 prefix-suppress", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv6 slaac-client enable", null), new userFilter("interface .*", cmds.tabulator + "ipv4 dhcp-client fill-ciaddr", null), new userFilter("interface .*", cmds.tabulator + "ipv6 slaac-client renew-min 60000", null), new userFilter("interface .*", cmds.tabulator + "ipv6 slaac-client renew-max 43200000", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv6 prefix-dns", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv6 prefix-domain", null), new userFilter("interface .*", cmds.tabulator + "ipv6 prefix-interval 120000", null), new userFilter("interface .*", cmds.tabulator + "ipv6 prefix-validity 604800000", null), // multicast new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] multicast broadcast", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] multicast unicast", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] multicast source-override-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] multicast source-override-out", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] multicast ttl-threshold 0", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] pim enable", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] pim bfd", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] pim join-source", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] pim allow-rx", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] pim allow-tx", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] pim bier-tunnel 0", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] pim packet-timer 20", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] pim priority 1", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] pim hello-time 30000", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] multicast mldp-enable", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] multicast host-enable", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] multicast host-proxy", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] multicast host-query 60000", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "dhcp[46]server enable", null), // babel new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router babel[46] .* bfd", null), new userFilter("interface .*", cmds.tabulator + "router babel[46] .* split-horizon", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router babel[46] .* default-originate", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router babel[46] .* suppress-prefix", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router babel[46] .* unsuppress-prefix", null), new userFilter("interface .*", cmds.tabulator + "router babel[46] .* verify-source", null), new userFilter("interface .*", cmds.tabulator + "router babel[46] .* distance 130", null), new userFilter("interface .*", cmds.tabulator + "router babel[46] .* metric-in 100", null), new userFilter("interface .*", cmds.tabulator + "router babel[46] .* metric-out 0", null), new userFilter("interface .*", cmds.tabulator + "router babel[46] .* packet-timer 20", null), new userFilter("interface .*", cmds.tabulator + "router babel[46] .* update-timer 20000", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router babel[46] .* prefix-list-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router babel[46] .* prefix-list-out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router babel[46] .* route-map-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router babel[46] .* route-map-out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router babel[46] .* route-policy-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router babel[46] .* route-policy-out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router babel[46] .* other-enable", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router babel[46] .* other-default-originate", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router babel[46] .* other-suppress-prefix", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router babel[46] .* other-unsuppress-prefix", null), new userFilter("interface .*", cmds.tabulator + "router babel[46] .* other-distance 130", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router babel[46] .* other-prefix-list-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router babel[46] .* other-prefix-list-out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router babel[46] .* other-route-map-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router babel[46] .* other-route-map-out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router babel[46] .* other-route-policy-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router babel[46] .* other-route-policy-out", null), // olsr new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router olsr[46] .* bfd", null), new userFilter("interface .*", cmds.tabulator + "router olsr[46] .* split-horizon", null), new userFilter("interface .*", cmds.tabulator + "router olsr[46] .* lq-mode", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router olsr[46] .* default-originate", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router olsr[46] .* suppress-prefix", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router olsr[46] .* unsuppress-prefix", null), new userFilter("interface .*", cmds.tabulator + "router olsr[46] .* verify-source", null), new userFilter("interface .*", cmds.tabulator + "router olsr[46] .* distance 140", null), new userFilter("interface .*", cmds.tabulator + "router olsr[46] .* willingness 7", null), new userFilter("interface .*", cmds.tabulator + "router olsr[46] .* metric-in 1", null), new userFilter("interface .*", cmds.tabulator + "router olsr[46] .* metric-out 0", null), new userFilter("interface .*", cmds.tabulator + "router olsr[46] .* packet-timer 20", null), new userFilter("interface .*", cmds.tabulator + "router olsr[46] .* hello-timer 5000", null), new userFilter("interface .*", cmds.tabulator + "router olsr[46] .* hello-hold 15000", null), new userFilter("interface .*", cmds.tabulator + "router olsr[46] .* advertise-timer 30000", null), new userFilter("interface .*", cmds.tabulator + "router olsr[46] .* advertise-hold 90000", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router olsr[46] .* prefix-list-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router olsr[46] .* prefix-list-out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router olsr[46] .* route-map-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router olsr[46] .* route-map-out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router olsr[46] .* route-policy-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router olsr[46] .* route-policy-out", null), // rip new userFilter("interface .*", cmds.tabulator + "router rip[46] .* allow-rx", null), new userFilter("interface .*", cmds.tabulator + "router rip[46] .* allow-tx", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router rip[46] .* bfd", null), new userFilter("interface .*", cmds.tabulator + "router rip[46] .* verify-source", null), new userFilter("interface .*", cmds.tabulator + "router rip[46] .* poison-reverse", null), new userFilter("interface .*", cmds.tabulator + "router rip[46] .* split-horizon", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router rip[46] .* default-originate", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router rip[46] .* suppress-prefix", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router rip[46] .* unsuppress-prefix", null), new userFilter("interface .*", cmds.tabulator + "router rip[46] .* distance 120", null), new userFilter("interface .*", cmds.tabulator + "router rip[46] .* metric-in 0", null), new userFilter("interface .*", cmds.tabulator + "router rip[46] .* metric-out 1", null), new userFilter("interface .*", cmds.tabulator + "router rip[46] .* packet-timer 20", null), new userFilter("interface .*", cmds.tabulator + "router rip[46] .* update-timer 30000", null), new userFilter("interface .*", cmds.tabulator + "router rip[46] .* hold-time 180000", null), new userFilter("interface .*", cmds.tabulator + "router rip[46] .* flush-time 240000", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router rip[46] .* password", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router rip[46] .* prefix-list-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router rip[46] .* prefix-list-out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router rip[46] .* route-map-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router rip[46] .* route-map-out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router rip[46] .* route-policy-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router rip[46] .* route-policy-out", null), // ospf new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router ospf[46] .* passive", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* network point2point", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router ospf[46] .* bfd", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router ospf[46] .* suppress-prefix", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router ospf[46] .* unsuppress-prefix", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* verify-source", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* ttl-security -1", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router ospf[46] .* password", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* authen-type clear", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* authen-id 0", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* instance 0", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* cost 10", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* priority 0", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* hello-time 10000", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* dead-time 40000", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* retransmit-time 3000", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router ospf[46] .* traffeng suppress", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* traffeng metric 10", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* traffeng bandwidth 100000000", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* traffeng affinity 0", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* traffeng srlg 0", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router ospf[46] .* segrout index", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router ospf[46] .* segrout node", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router ospf[46] .* segrout pop", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router ospf[46] .* bier index", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router ospf[46] .* bier subdomain", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router ospf[46] .* dynamic-metric mode", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router ospf[46] .* ldp-sync", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* dynamic-metric time 60000", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* dynamic-metric size 5", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* dynamic-metric minimum 1", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* dynamic-metric maximum 65530", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* dynamic-metric divisor 1", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* dynamic-metric multiply 1", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* dynamic-metric ignore 0", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* dynamic-metric skip-min 0", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* dynamic-metric skip-max 0", null), new userFilter("interface .*", cmds.tabulator + "router ospf[46] .* dynamic-metric algo minimum", null), // rift new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router rift[46] .* passive", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router rift[46] .* bfd", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router rift[46] .* suppress-prefix", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router rift[46] .* unsuppress-prefix", null), new userFilter("interface .*", cmds.tabulator + "router rift[46] .* verify-source", null), new userFilter("interface .*", cmds.tabulator + "router rift[46] .* metric 10", null), new userFilter("interface .*", cmds.tabulator + "router rift[46] .* hello-time 1000", null), new userFilter("interface .*", cmds.tabulator + "router rift[46] .* dead-time 3000", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router rift[46] .* dynamic-metric mode", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router rift[46] .* ldp-sync", null), new userFilter("interface .*", cmds.tabulator + "router rift[46] .* dynamic-metric time 60000", null), new userFilter("interface .*", cmds.tabulator + "router rift[46] .* dynamic-metric size 5", null), new userFilter("interface .*", cmds.tabulator + "router rift[46] .* dynamic-metric minimum 1", null), new userFilter("interface .*", cmds.tabulator + "router rift[46] .* dynamic-metric maximum 65530", null), new userFilter("interface .*", cmds.tabulator + "router rift[46] .* dynamic-metric divisor 1", null), new userFilter("interface .*", cmds.tabulator + "router rift[46] .* dynamic-metric multiply 1", null), new userFilter("interface .*", cmds.tabulator + "router rift[46] .* dynamic-metric ignore 0", null), new userFilter("interface .*", cmds.tabulator + "router rift[46] .* dynamic-metric skip-min 0", null), new userFilter("interface .*", cmds.tabulator + "router rift[46] .* dynamic-metric skip-max 0", null), new userFilter("interface .*", cmds.tabulator + "router rift[46] .* dynamic-metric algo minimum", null), // pvrp new userFilter("interface .*", cmds.tabulator + "router pvrp[46] .* split-horizon", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* passive", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* dump", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* accept-metric", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* ldp-sync", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* dynamic-metric mode", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* dynamic-metric forbid", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* bfd", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* default-originate", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* label-pop", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* segrout", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* bier", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* stub", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* unstub", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* suppress-prefix", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* unsuppress-prefix", null), new userFilter("interface .*", cmds.tabulator + "router pvrp[46] .* verify-source", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* password", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* disable-password", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* encryption", null), new userFilter("interface .*", cmds.tabulator + "router pvrp[46] .* distance 80", null), new userFilter("interface .*", cmds.tabulator + "router pvrp[46] .* metric-in 10", null), new userFilter("interface .*", cmds.tabulator + "router pvrp[46] .* metric-out 0", null), new userFilter("interface .*", cmds.tabulator + "router pvrp[46] .* hello-time 5000", null), new userFilter("interface .*", cmds.tabulator + "router pvrp[46] .* dead-time 15000", null), new userFilter("interface .*", cmds.tabulator + "router pvrp[46] .* pmtud 0 0 0", null), new userFilter("interface .*", cmds.tabulator + "router pvrp[46] .* sending-tos -1", null), new userFilter("interface .*", cmds.tabulator + "router pvrp[46] .* sending-ttl -1", null), new userFilter("interface .*", cmds.tabulator + "router pvrp[46] .* dynamic-metric time 60000", null), new userFilter("interface .*", cmds.tabulator + "router pvrp[46] .* dynamic-metric size 5", null), new userFilter("interface .*", cmds.tabulator + "router pvrp[46] .* dynamic-metric minimum 1", null), new userFilter("interface .*", cmds.tabulator + "router pvrp[46] .* dynamic-metric maximum 100000", null), new userFilter("interface .*", cmds.tabulator + "router pvrp[46] .* dynamic-metric divisor 1", null), new userFilter("interface .*", cmds.tabulator + "router pvrp[46] .* dynamic-metric multiply 1", null), new userFilter("interface .*", cmds.tabulator + "router pvrp[46] .* dynamic-metric ignore 0", null), new userFilter("interface .*", cmds.tabulator + "router pvrp[46] .* dynamic-metric skip-min 0", null), new userFilter("interface .*", cmds.tabulator + "router pvrp[46] .* dynamic-metric skip-max 0", null), new userFilter("interface .*", cmds.tabulator + "router pvrp[46] .* dynamic-metric algo minimum", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* label-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* label-out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* prefix-list-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* prefix-list-out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* route-map-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* route-map-out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* route-policy-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router pvrp[46] .* route-policy-out", null), // lsrp new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router lsrp[46] .* passive", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router lsrp[46] .* dump", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router lsrp[46] .* accept-metric", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router lsrp[46] .* ldp-sync", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router lsrp[46] .* dynamic-metric mode", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router lsrp[46] .* dynamic-metric forbid", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router lsrp[46] .* bfd", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router lsrp[46] .* segrout", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router lsrp[46] .* bier", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router lsrp[46] .* stub", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router lsrp[46] .* unstub", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router lsrp[46] .* suppress-prefix", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router lsrp[46] .* unsuppress-prefix", null), new userFilter("interface .*", cmds.tabulator + "router lsrp[46] .* verify-source", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router lsrp[46] .* password", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router lsrp[46] .* disable-password", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router lsrp[46] .* encryption", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router lsrp[46] .* database-filter", null), new userFilter("interface .*", cmds.tabulator + "router lsrp[46] .* split-horizon", null), new userFilter("interface .*", cmds.tabulator + "router lsrp[46] .* metric 10", null), new userFilter("interface .*", cmds.tabulator + "router lsrp[46] .* affinity 0", null), new userFilter("interface .*", cmds.tabulator + "router lsrp[46] .* srlg 0", null), new userFilter("interface .*", cmds.tabulator + "router lsrp[46] .* hello-time 5000", null), new userFilter("interface .*", cmds.tabulator + "router lsrp[46] .* dead-time 15000", null), new userFilter("interface .*", cmds.tabulator + "router lsrp[46] .* pmtud 0 0 0", null), new userFilter("interface .*", cmds.tabulator + "router lsrp[46] .* sending-tos -1", null), new userFilter("interface .*", cmds.tabulator + "router lsrp[46] .* sending-ttl -1", null), new userFilter("interface .*", cmds.tabulator + "router lsrp[46] .* dynamic-metric time 60000", null), new userFilter("interface .*", cmds.tabulator + "router lsrp[46] .* dynamic-metric size 5", null), new userFilter("interface .*", cmds.tabulator + "router lsrp[46] .* dynamic-metric minimum 1", null), new userFilter("interface .*", cmds.tabulator + "router lsrp[46] .* dynamic-metric maximum 100000", null), new userFilter("interface .*", cmds.tabulator + "router lsrp[46] .* dynamic-metric divisor 1", null), new userFilter("interface .*", cmds.tabulator + "router lsrp[46] .* dynamic-metric multiply 1", null), new userFilter("interface .*", cmds.tabulator + "router lsrp[46] .* dynamic-metric ignore 0", null), new userFilter("interface .*", cmds.tabulator + "router lsrp[46] .* dynamic-metric skip-min 0", null), new userFilter("interface .*", cmds.tabulator + "router lsrp[46] .* dynamic-metric skip-max 0", null), new userFilter("interface .*", cmds.tabulator + "router lsrp[46] .* dynamic-metric algo minimum", null), // eigrp new userFilter("interface .*", cmds.tabulator + "router eigrp[46] .* split-horizon", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router eigrp[46] .* passive", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router eigrp[46] .* bfd", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router eigrp[46] .* default-originate", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router eigrp[46] .* suppress-prefix", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router eigrp[46] .* unsuppress-prefix", null), new userFilter("interface .*", cmds.tabulator + "router eigrp[46] .* verify-source", null), new userFilter("interface .*", cmds.tabulator + "router eigrp[46] .* delay-in 10", null), new userFilter("interface .*", cmds.tabulator + "router eigrp[46] .* delay-out 0", null), new userFilter("interface .*", cmds.tabulator + "router eigrp[46] .* distance 90", null), new userFilter("interface .*", cmds.tabulator + "router eigrp[46] .* hello-time 5000", null), new userFilter("interface .*", cmds.tabulator + "router eigrp[46] .* dead-time 15000", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router eigrp[46] .* prefix-list-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router eigrp[46] .* prefix-list-out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router eigrp[46] .* route-map-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router eigrp[46] .* route-map-out", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router eigrp[46] .* route-policy-in", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router eigrp[46] .* route-policy-out", null), // isis new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router isis[46] .* passive", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router isis[46] .* other-enable", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router isis[46] .* raw-encapsulation", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* network point2point", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router isis[46] .* bfd", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* suppress-address", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router isis[46] .* suppress-prefix", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router isis[46] .* unsuppress-prefix", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* other-suppress-address", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router isis[46] .* other-suppress-prefix", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router isis[46] .* other-unsuppress-prefix", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* verify-source", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* csnp-time 0", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router isis[46] .* password", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* authen-type clear", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* authen-id 0", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* metric 10", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* priority 64", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* hello-time 10000", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* dead-time 30000", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* retransmit-time 3000", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router isis[46] .* traffeng suppress", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* traffeng metric 10", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* traffeng bandwidth 100000000", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* traffeng affinity 0", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* traffeng srlg 0", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router isis[46] .* segrout index", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router isis[46] .* segrout other-index", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router isis[46] .* segrout node", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router isis[46] .* segrout pop", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router isis[46] .* bier index", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router isis[46] .* bier other-index", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router isis[46] .* bier subdomain", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router isis[46] .* bier other-subdomain", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router isis[46] .* ldp-sync", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "router isis[46] .* dynamic-metric mode", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* dynamic-metric time 60000", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* dynamic-metric size 5", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* dynamic-metric minimum 1", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* dynamic-metric maximum 16777210", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* dynamic-metric divisor 1", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* dynamic-metric multiply 1", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* dynamic-metric ignore 0", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* dynamic-metric skip-min 0", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* dynamic-metric skip-max 0", null), new userFilter("interface .*", cmds.tabulator + "router isis[46] .* dynamic-metric algo minimum", null), // vlan new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "vlan subif-macs", null), // qinqx new userFilter("interface .*", cmds.tabulator + "qinqx ethertype fa52", null), // sep new userFilter("interface .*", cmds.tabulator + "sep mode peer", null), new userFilter("interface .*", cmds.tabulator + "sep keepalive 5000", null), // ppp new userFilter("interface .*", cmds.tabulator + "ppp multilink 0 none", null), new userFilter("interface .*", cmds.tabulator + "ppp fragment 0", null), new userFilter("interface .*", cmds.tabulator + "ppp frgap 0", null), new userFilter("interface .*", cmds.tabulator + "ppp keepalive 5000", null), new userFilter("interface .*", cmds.tabulator + "ppp retry 10", null), new userFilter("interface .*", cmds.tabulator + "ppp reqrst 5", null), new userFilter("interface .*", cmds.tabulator + "ppp naktry 16", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp username", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp password", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp refuseauth pap", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp refuseauth chap", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp refuseauth eap", null), new userFilter("interface .*", cmds.tabulator + "ppp accm 0", null), new userFilter("interface .*", cmds.tabulator + "ppp mru 0", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp ip4cp close", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp ip4cp open", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp ip4cp optional", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp ip4cp peer", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp ip4cp local", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp ip4cp dns1", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp ip4cp dns2", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp ip4cp reqaddr", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp ip6cp close", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp ip6cp open", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp ip6cp optional", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp ip6cp local", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp ip6cp peer", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp ip6cp keep", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp bcp close", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp bcp open", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp bcp optional", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp mplscp close", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp mplscp open", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp mplscp optional", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp osicp close", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp osicp open", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp osicp optional", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp ipxcp close", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp ipxcp open", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp ipxcp optional", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp ecp close", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp ecp open", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp ecp optional", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp nshcp close", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp nshcp open", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp nshcp optional", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp polkacp close", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp polkacp open", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp polkacp optional", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp sgtcp close", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp sgtcp open", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp sgtcp optional", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp authentication", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ppp accounting", null), // hdlc new userFilter("interface .*", cmds.tabulator + "hdlc keepalive 5000", null), // isdn new userFilter("interface .*", cmds.tabulator + "isdn keepalive 5000", null), // labp new userFilter("interface .*", cmds.tabulator + "lapb keepalive 5000", null), new userFilter("interface .*", cmds.tabulator + "lapb modulus 8", null), // framerelay new userFilter("interface .*", cmds.tabulator + "framerelay keepalive 5000", null), new userFilter("interface .*", cmds.tabulator + "framerelay lmi ansi", null), new userFilter("interface .*", cmds.tabulator + "framerelay fragment 0", null), new userFilter("interface .*", cmds.tabulator + "framerelay frgap 0", null), // tunnel new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "tunnel sequence-datagrams", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "tunnel checksum", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "tunnel shutdown", null), new userFilter("interface .*", cmds.tabulator + "tunnel key 0", null), new userFilter("interface .*", cmds.tabulator + "tunnel flow -1", null), new userFilter("interface .*", cmds.tabulator + "tunnel mark -1", null), new userFilter("interface .*", cmds.tabulator + "tunnel tos -1", null), new userFilter("interface .*", cmds.tabulator + "tunnel dontfrag -1", null), new userFilter("interface .*", cmds.tabulator + "tunnel ttl 255", null), new userFilter("interface .*", cmds.tabulator + "tunnel priority 7 7", null), new userFilter("interface .*", cmds.tabulator + "tunnel affinity 0 0 0", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "tunnel association", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "tunnel protection", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "tunnel domain-name", null) }; /** * template text */ public final static userFilter[] notemplF = { new userFilter("interface .*", cmds.tabulator + "description.*", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description.*", null), new userFilter("interface .*", cmds.tabulator + "vrf forwarding.*", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "vrf forwarding.*", null), new userFilter("interface .*", cmds.tabulator + "ipv[46] address.*", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipv[46] address.*", null), new userFilter("interface .*", cmds.tabulator + "ipx network.*", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ipx network.*", null), new userFilter("interface .*", cmds.tabulator + "autostate.*", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "autostate.*", null), new userFilter("interface .*", cmds.tabulator + "shutdown.*", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "shutdown.*", null) }; /** * clone text */ public final static userFilter[] nocloneF = { new userFilter("interface .*", cmds.tabulator + "autostate.*", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "autostate.*", null), new userFilter("interface .*", cmds.tabulator + "shutdown.*", null), new userFilter("interface .*", cmds.tabulator + cmds.negated + cmds.tabulator + "shutdown.*", null) }; /** * convert interface name to type * * @param s name of interface * @return type */ public static tabRouteIface.ifaceType string2type(String s) { if (s == null) { return null; } if (s.length() < 3) { return null; } s = s.substring(0, 3); tabRouteIface.ifaceType typ = null; if (s.equals("eth")) { typ = tabRouteIface.ifaceType.ether; } if (s.equals("ser")) { typ = tabRouteIface.ifaceType.serial; } if (s.equals("atm")) { typ = tabRouteIface.ifaceType.atm; } if (s.equals("arc")) { typ = tabRouteIface.ifaceType.arcnet; } if (s.equals("inf")) { typ = tabRouteIface.ifaceType.infiniband; } return typ; } /** * get protocol security state * * @return false if disabled, true if enabled */ public synchronized boolean getSRv6sec() { if (fwdIf4 != null) { if (fwdIf4.protocolSecurity) { return true; } } if (fwdIf6 != null) { if (fwdIf6.protocolSecurity) { return true; } } return false; } /** * set protocol security state * * @param b true to enable false to disable */ public synchronized void setSRv6sec(boolean b) { if (fwdIf4 != null) { fwdIf4.protocolSecurity = b; } if (fwdIf6 != null) { fwdIf6.protocolSecurity = b; } } /** * flap this interface * * @param tim length of flap */ public synchronized void flapNow(int tim) { if (ethtyp.forcedDN != 0) { return; } ethtyp.forcedDN |= 2; ethtyp.propagateState(); propagateEthtypState(); bits.sleep(tim); ethtyp.forcedDN &= ~2; ethtyp.propagateState(); propagateEthtypState(); } /** * clone this interface * * @param lower lower layer * @return cloned interface */ public synchronized cfgIfc cloneStart(ifcDn lower) { addrIPv4 peer4 = null; addrIPv6 peer6 = null; if (ip4polC != null) { peer4 = ip4polC.pool.addrAlloc(); if (peer4 == null) { logger.info("got no address from pool " + ip4polC.name); return null; } } if (ip6polC != null) { peer6 = ip6polC.pool.addrAlloc(); if (peer6 == null) { logger.info("got no address from pool " + ip6polC.name); return null; } } List l = getShRun(0); l = userFilter.filterText(l, nocloneF); cfgIfc res; for (;;) { res = cfgAll.ifcFind("access" + bits.randomD(), 2); if (res == null) { continue; } break; } res.cloned = this; res.lower = lower; for (int i = 1; i < l.size() - 2; i++) { res.doCfgStr(new cmds("clone", l.get(i).trim())); } if (peer4 != null) { res.ip4polA = peer4; if (res.raw != null) { res.addr4changed(res.addr4, res.mask4, peer4); } if (res.ipOnly != null) { res.addr4changed(res.addr4, res.mask4, peer4); } if (res.ppp != null) { res.ppp.remAddrCfg = peer4.copyBytes(); res.ppp.ctrlIp4.remAddrCur = peer4.copyBytes(); } if (res.sep != null) { res.sep.loc4addr = addr4.copyBytes(); res.sep.msk4addr = mask4.copyBytes(); res.sep.rem4addr = peer4.copyBytes(); } } if (peer6 != null) { res.ip6polA = peer6; if (res.raw != null) { res.addr6changed(res.addr6, res.mask6, peer6); } if (res.ipOnly != null) { res.addr6changed(res.addr6, res.mask6, peer6); } if (res.sep != null) { res.sep.loc6addr = addr6.copyBytes(); res.sep.msk6addr = mask6.copyBytes(); res.sep.rem6addr = peer6.copyBytes(); } } return res; } /** * stop this cloned interface */ public synchronized void cloneStop() { if (cloned == null) { return; } ethtyp.forcedDN |= 4; ethtyp.propagateState(); ethtyp.logStateChg = false; if (ip4polA != null) { ip4polC.pool.addrRelease(ip4polA); ip4polA = null; } if (ip6polA != null) { ip6polC.pool.addrRelease(ip6polA); ip6polA = null; } cfgAll.ifcDel(name, false); initEncap(" x "); ethtyp.closeUp(); } /** * state changed * * @param s new state */ public void stateChanged(state.states s) { if (slaac != null) { slaac.clearState(); } if (dhcp4c != null) { dhcp4c.clearState(); } if (dhcp6c != null) { dhcp6c.clearState(); } } /** * get forwarder interface * * @param adr address to test * @return forwarder interface */ public ipFwdIface getFwdIfc(addrIP adr) { if (adr.isIPv4()) { return fwdIf4; } else { return fwdIf6; } } /** * get local address * * @param adr address to test * @return local address */ public addrIP getLocAddr(addrIP adr) { addrIP res = new addrIP(); if (adr.isIPv4()) { if (addr4 == null) { return null; } res.fromIPv4addr(addr4); } else { if (addr6 == null) { return null; } res.fromIPv6addr(addr6); } return res; } public int compareTo(cfgIfc o) { if (cmpOrd1 < o.cmpOrd1) { return -1; } if (cmpOrd1 > o.cmpOrd1) { return +1; } if (cmpOrd2 < o.cmpOrd2) { return -1; } if (cmpOrd2 > o.cmpOrd2) { return +1; } if (cmpOrd3 < o.cmpOrd3) { return -1; } if (cmpOrd3 > o.cmpOrd3) { return +1; } if (cmpOrd4 < o.cmpOrd4) { return -1; } if (cmpOrd4 > o.cmpOrd4) { return +1; } if (cmpOrd5 < o.cmpOrd5) { return -1; } if (cmpOrd5 > o.cmpOrd5) { return +1; } return 0; } /** * convert tunnel type to displayable string * * @param badEmpty decode bad entry * @return string showing type */ public String tunnelMode(boolean badEmpty) { if (tunMode == null) { if (badEmpty) { return ""; } else { return "unknown tunnel"; } } switch (tunMode) { case gre: return "gre"; case mgre: return "mgre"; case udpgre: return "udpgre"; case amt: return "amt"; case icmp: return "icmp"; case pim: return "pim"; case lisp: return "lisp"; case minenc: return "minenc"; case pipe: return "pipe"; case nos: return "nos"; case ipcomp: return "ipcomp"; case ipenc: return "ipenc"; case tmux: return "tmux"; case hip: return "hip"; case ipip: return "ipip"; case Sto4: return "6to4"; case aplusp: return "aplusp"; case srv6: return "srv6"; case ipsec: return "ipsec"; case pckOudp: return "pckoudp"; case pckOip: return "pckoip"; case l2tp3: return "l2tp3"; case gtp: return "gtp"; case pweOmpls: return "pweompls"; case polka: return "polka"; case mpolka: return "mpolka"; case expBun: return "expbun"; case srMpls: return "srmpls"; case srExt: return "srext"; case pceSr: return "pcesr"; case pceTe: return "pcete"; case teP2p: return "p2pte"; case teP2mp: return "p2mpte"; case bier: return "bier"; case ldpP2p: return "p2pldp"; case ldpTe: return "teldp"; case ldpP2mp: return "p2mpldp"; case ldpMp2mp: return "mp2mpldp"; case vxlan: return "vxlan"; case geneve: return "geneve"; case llcudp: return "llcudp"; case tzsp: return "tzsp"; case capwap: return "capwap"; case lwapp: return "lwapp"; case erspan: return "erspan"; case dlsw: return "dlsw"; case etherip: return "etherip"; case sreth: return "sreth"; case uti: return "uti"; case nvgre: return "nvgre"; case mplsip: return "mplsip"; case mplsudp: return "mplsudp"; case swipe: return "swipe"; case openvpn: return "openvpn"; case wireguard: return "wireguard"; case satp: return "satp"; case inlsp: return "inlsp"; case skip: return "skip"; default: return null; } } /** * string to tunnel mode * * @param s string * @return tunnel mode */ public static tunnelType string2tunnelMode(String s) { if (s.equals("gre")) { return tunnelType.gre; } if (s.equals("mgre")) { return tunnelType.mgre; } if (s.equals("udpgre")) { return tunnelType.udpgre; } if (s.equals("amt")) { return tunnelType.amt; } if (s.equals("icmp")) { return tunnelType.icmp; } if (s.equals("pim")) { return tunnelType.pim; } if (s.equals("lisp")) { return tunnelType.lisp; } if (s.equals("minenc")) { return tunnelType.minenc; } if (s.equals("pipe")) { return tunnelType.pipe; } if (s.equals("nos")) { return tunnelType.nos; } if (s.equals("ipcomp")) { return tunnelType.ipcomp; } if (s.equals("ipenc")) { return tunnelType.ipenc; } if (s.equals("tmux")) { return tunnelType.tmux; } if (s.equals("hip")) { return tunnelType.hip; } if (s.equals("ipip")) { return tunnelType.ipip; } if (s.equals("6to4")) { return tunnelType.Sto4; } if (s.equals("aplusp")) { return tunnelType.aplusp; } if (s.equals("srv6")) { return tunnelType.srv6; } if (s.equals("ipsec")) { return tunnelType.ipsec; } if (s.equals("pckoudp")) { return tunnelType.pckOudp; } if (s.equals("pckoip")) { return tunnelType.pckOip; } if (s.equals("l2tp3")) { return tunnelType.l2tp3; } if (s.equals("gtp")) { return tunnelType.gtp; } if (s.equals("pweompls")) { return tunnelType.pweOmpls; } if (s.equals("polka")) { return tunnelType.polka; } if (s.equals("mpolka")) { return tunnelType.mpolka; } if (s.equals("expbun")) { return tunnelType.expBun; } if (s.equals("srmpls")) { return tunnelType.srMpls; } if (s.equals("srext")) { return tunnelType.srExt; } if (s.equals("pcesr")) { return tunnelType.pceSr; } if (s.equals("pcete")) { return tunnelType.pceTe; } if (s.equals("p2pte")) { return tunnelType.teP2p; } if (s.equals("p2mpte")) { return tunnelType.teP2mp; } if (s.equals("bier")) { return tunnelType.bier; } if (s.equals("p2pldp")) { return tunnelType.ldpP2p; } if (s.equals("teldp")) { return tunnelType.ldpTe; } if (s.equals("p2mpldp")) { return tunnelType.ldpP2mp; } if (s.equals("mp2mpldp")) { return tunnelType.ldpMp2mp; } if (s.equals("vxlan")) { return tunnelType.vxlan; } if (s.equals("geneve")) { return tunnelType.geneve; } if (s.equals("llcudp")) { return tunnelType.llcudp; } if (s.equals("tzsp")) { return tunnelType.tzsp; } if (s.equals("capwap")) { return tunnelType.capwap; } if (s.equals("lwapp")) { return tunnelType.lwapp; } if (s.equals("erspan")) { return tunnelType.erspan; } if (s.equals("dlsw")) { return tunnelType.dlsw; } if (s.equals("etherip")) { return tunnelType.etherip; } if (s.equals("sreth")) { return tunnelType.sreth; } if (s.equals("uti")) { return tunnelType.uti; } if (s.equals("nvgre")) { return tunnelType.nvgre; } if (s.equals("mplsip")) { return tunnelType.mplsip; } if (s.equals("mplsudp")) { return tunnelType.mplsudp; } if (s.equals("swipe")) { return tunnelType.swipe; } if (s.equals("openvpn")) { return tunnelType.openvpn; } if (s.equals("wireguard")) { return tunnelType.wireguard; } if (s.equals("satp")) { return tunnelType.satp; } if (s.equals("inlsp")) { return tunnelType.inlsp; } if (s.equals("skip")) { return tunnelType.skip; } return null; } /** * convert type to displayable string * * @return string showing type */ public String type2string() { switch (type) { case ether: return "ethernet"; case serial: return "serial"; case atm: return "atm"; case arcnet: return "arcnet"; case infiniband: return "infiniband"; case bridge: return "bridged"; case bundle: return "bundle"; case hairpin: return "hairpin"; case tunnel: return tunnelMode(false); case loopback: return "loopback"; case nul: return "null"; case template: return "template"; case dialer: return "dialer"; case sdn: return "sdn"; case pweth: return "pwether"; case virtppp: return "virtualppp"; } return "unknown"; } /** * normalize one interface name * * @param s string to normalize * @return null if failed, normalized array if successful * name,(slot/),num,("."+subif),("."+subif) */ public static String[] dissectName(String s) { s = s.toLowerCase(); int p = s.length(); for (int i = 0; i < p; i++) { int o = s.charAt(i); if (o < 0x30) { continue; } if (o > 0x39) { continue; } p = i; break; } if (p >= s.length()) { return null; } String[] res = new String[5]; res[0] = cfgInit.ifaceNames.repairLine(s.substring(0, p)).trim(); s = s.substring(p, s.length()); if (res[0].length() < 1) { return null; } p = s.indexOf("/"); if (p < 0) { res[1] = ""; } else { String q = s.substring(0, p); int i = bits.str2num(q); if (i < 0) { return null; } if (!q.equals("" + i)) { return null; } s = s.substring(p + 1, s.length()); res[1] = i + "/"; } p = s.indexOf("."); if (p < 0) { p = bits.str2num(s); if (p < 0) { return null; } if (!s.equals("" + p)) { return null; } res[2] = "" + p; res[3] = ""; res[4] = ""; return res; } String a = s.substring(0, p); s = s.substring(p + 1, s.length()); p = bits.str2num(a); if (p < 0) { return null; } if (!a.equals("" + p)) { return null; } res[2] = "" + p; p = s.indexOf("."); if (p < 0) { p = bits.str2num(s); if (p < 1) { return null; } if (!s.equals("" + p)) { return null; } res[3] = "." + p; res[4] = ""; return res; } a = s.substring(0, p); s = s.substring(p + 1, s.length()); int i = bits.str2num(a); if (i < 1) { return null; } if (!a.equals("" + i)) { return null; } p = bits.str2num(s); if (p < 1) { return null; } if (!s.equals("" + p)) { return null; } res[3] = "." + i; res[4] = "." + p; return res; } public String toString() { return "ifc " + name; } /** * create new interface * * @param pnm dissected name of interface */ public cfgIfc(String[] pnm) { name = pnm[0] + pnm[1] + pnm[2] + pnm[3] + pnm[4]; int i = 5; if (name.startsWith("template")) { i = 1; } if (name.startsWith("loopback")) { i = 2; } if (name.startsWith("tunnel")) { i = 8; } if (name.startsWith("access")) { i = 9; } cmpOrd1 = (i << 24) | (name.charAt(0) << 8) | name.charAt(1); if (pnm[1].length() < 1) { cmpOrd2 = -1; } else { cmpOrd2 = bits.str2num(pnm[1].substring(0, pnm[1].length() - 1)); } cmpOrd3 = bits.str2num(pnm[2]); if (pnm[3].length() < 1) { cmpOrd4 = -1; } else { cmpOrd4 = bits.str2num(pnm[3].substring(1, pnm[3].length())); } if (pnm[4].length() < 1) { cmpOrd5 = -1; } else { cmpOrd5 = bits.str2num(pnm[4].substring(1, pnm[4].length())); } ethtyp = new ifcEthTyp(name, this); lower = new ifcNull(); lower.setUpper(ethtyp); ethtyp.setState(state.states.down); } /** * notified when new address negotiated * * @param adr address * @param msk netmask * @param gw gateway */ public void addr4changed(addrIPv4 adr, addrIPv4 msk, addrIPv4 gw) { if (addr4 == null) { return; } if (adr == null) { fwdIf4.gateAddr = null; return; } addr4 = adr.copyBytes(); mask4 = msk.copyBytes(); if (gw != null) { if (gw.isEmpty()) { gw = null; } } if (gw != null) { if (gw.isBroadcast()) { gw = null; } } if (gw == null) { fwdIf4.gateAddr = null; } else { fwdIf4.gateAddr = new addrIP(); fwdIf4.gateAddr.fromIPv4addr(gw); } ipIf4.setIPv4addr(adr, mask4.toNetmask()); vrfFor.fwd4.routerStaticChg(); } /** * notified when new address negotiated * * @param adr address * @param msk netmask * @param gw gateway */ public void addr6changed(addrIPv6 adr, addrIPv6 msk, addrIPv6 gw) { if (addr6 == null) { return; } if (adr == null) { fwdIf6.gateAddr = null; return; } addr6 = adr.copyBytes(); mask6 = msk.copyBytes(); if (adr.isLinkLocal()) { addrIP ad = new addrIP(); ad.fromIPv6addr(adr); ipIf6.setLinkLocalAddr(ad); } if (gw != null) { if (gw.isEmpty()) { gw = null; } } if (gw != null) { if (gw.isBroadcast()) { gw = null; } } if (gw == null) { fwdIf6.gateAddr = null; } else { fwdIf6.gateAddr = new addrIP(); fwdIf6.gateAddr.fromIPv6addr(gw); } ipIf6.setIPv6addr(adr, mask6.toNetmask()); vrfFor.fwd6.routerStaticChg(); } /** * test if interface need arp/nd * * @return false on no, true on yes */ public boolean ifaceNeedArp() { if (parent != null) { return parent.ifaceNeedArp(); } switch (type) { case serial: case atm: case arcnet: case infiniband: case tunnel: case dialer: case virtppp: case template: case loopback: case nul: return false; case bundle: return !bundleHed.bundleHed.notEther; case hairpin: return !hairpinHed.hairpinHed.notEther; default: return true; } } /** * test if interface need mac payload for bridging * * @return false on no, true on yes */ public boolean ifaceNeedMacs() { if (parent != null) { return parent.ifaceNeedMacs(); } switch (type) { case ether: case bridge: case pweth: case sdn: case template: case loopback: case nul: return false; case bundle: return bundleHed.bundleHed.notEther; case hairpin: return hairpinHed.hairpinHed.notEther; default: return true; } } /** * setup to routing process * * @param rtr router process to use */ public synchronized void setup2router(cfgRtr rtr) { if (vrfFor == null) { return; } if (rtr.vrf == null) { return; } if (!vrfFor.name.equals(rtr.vrf.name)) { return; } switch (rtr.type) { case babel4: if (rtrBabel4ifc != null) { break; } rtrBabel4ifc = rtr.babel.addInterface(fwdIf4, fwdIf6); if (rtrBabel4ifc == null) { break; } rtrBabel4hnd = rtr; break; case babel6: if (rtrBabel6ifc != null) { break; } rtrBabel6ifc = rtr.babel.addInterface(fwdIf6, fwdIf4); if (rtrBabel6ifc == null) { break; } rtrBabel6hnd = rtr; break; case olsr4: if (rtrOlsr4ifc != null) { break; } rtrOlsr4ifc = rtr.olsr.addInterface(fwdIf4); if (rtrOlsr4ifc == null) { break; } rtrOlsr4hnd = rtr; break; case olsr6: if (rtrOlsr6ifc != null) { break; } rtrOlsr6ifc = rtr.olsr.addInterface(fwdIf6); if (rtrOlsr6ifc == null) { break; } rtrOlsr6hnd = rtr; break; case rip4: if (rtrRip4ifc != null) { break; } rtrRip4ifc = rtr.rip4.addInterface(fwdIf4); if (rtrRip4ifc == null) { break; } rtrRip4hnd = rtr; break; case rip6: if (rtrRip6ifc != null) { break; } rtrRip6ifc = rtr.rip6.addInterface(fwdIf6); if (rtrRip6ifc == null) { break; } rtrRip6hnd = rtr; break; case ospf4: if (rtrOspf4ifc != null) { break; } rtrOspf4ifc = rtr.ospf4.addInterface(fwdIf4); if (rtrOspf4ifc == null) { break; } rtrOspf4hnd = rtr; break; case ospf6: if (rtrOspf6ifc != null) { break; } rtrOspf6ifc = rtr.ospf6.addInterface(fwdIf6); if (rtrOspf6ifc == null) { break; } rtrOspf6hnd = rtr; break; case isis4: if (rtrIsisIfc != null) { break; } rtrIsisIfc = rtr.isis.addInterface(fwdIf4, fwdIf6, ethtyp); if (rtrIsisIfc == null) { break; } rtrIsisHnd = rtr; break; case isis6: if (rtrIsisIfc != null) { break; } rtrIsisIfc = rtr.isis.addInterface(fwdIf6, fwdIf4, ethtyp); if (rtrIsisIfc == null) { break; } rtrIsisHnd = rtr; break; case rift4: if (rtrRift4ifc != null) { break; } rtrRift4ifc = rtr.rift.addInterface(fwdIf4); if (rtrRift4ifc == null) { break; } rtrRift4hnd = rtr; break; case rift6: if (rtrRift6ifc != null) { break; } rtrRift6ifc = rtr.rift.addInterface(fwdIf6); if (rtrRift6ifc == null) { break; } rtrRift6hnd = rtr; break; case pvrp4: if (rtrPvrp4ifc != null) { break; } rtrPvrp4ifc = rtr.pvrp.addInterface(fwdIf4); if (rtrPvrp4ifc == null) { break; } rtrPvrp4hnd = rtr; break; case pvrp6: if (rtrPvrp6ifc != null) { break; } rtrPvrp6ifc = rtr.pvrp.addInterface(fwdIf6); if (rtrPvrp6ifc == null) { break; } rtrPvrp6hnd = rtr; break; case lsrp4: if (rtrLsrp4ifc != null) { break; } rtrLsrp4ifc = rtr.lsrp.addInterface(fwdIf4); if (rtrLsrp4ifc == null) { break; } rtrLsrp4hnd = rtr; break; case lsrp6: if (rtrLsrp6ifc != null) { break; } rtrLsrp6ifc = rtr.lsrp.addInterface(fwdIf6); if (rtrLsrp6ifc == null) { break; } rtrLsrp6hnd = rtr; break; case eigrp4: if (rtrEigrp4ifc != null) { break; } rtrEigrp4ifc = rtr.eigrp.addInterface(fwdIf4); if (rtrEigrp4ifc == null) { break; } rtrEigrp4hnd = rtr; break; case eigrp6: if (rtrEigrp6ifc != null) { break; } rtrEigrp6ifc = rtr.eigrp.addInterface(fwdIf6); if (rtrEigrp6ifc == null) { break; } rtrEigrp6hnd = rtr; break; default: break; } } /** * clear from routing process * * @param ip4 ipv4 * @param ip6 ipv6 */ public void clear2routing(boolean ip4, boolean ip6) { if (ip4) { clear2router(rtrRip4hnd); } if (ip6) { clear2router(rtrRip6hnd); } if (ip4) { clear2router(rtrBabel4hnd); } if (ip6) { clear2router(rtrBabel6hnd); } if (ip4) { clear2router(rtrOlsr4hnd); } if (ip6) { clear2router(rtrOlsr6hnd); } if (ip4) { clear2router(rtrOspf4hnd); } if (ip6) { clear2router(rtrOspf6hnd); } if (ip4 || ip6) { clear2router(rtrIsisHnd); } if (ip4) { clear2router(rtrRift4hnd); } if (ip6) { clear2router(rtrRift6hnd); } if (ip4) { clear2router(rtrPvrp4hnd); } if (ip6) { clear2router(rtrPvrp6hnd); } if (ip4) { clear2router(rtrLsrp4hnd); } if (ip6) { clear2router(rtrLsrp6hnd); } if (ip4) { clear2router(rtrEigrp4hnd); } if (ip6) { clear2router(rtrEigrp6hnd); } } /** * clear from routing process * * @param rtr router process to use */ public synchronized void clear2router(cfgRtr rtr) { if (rtr == null) { return; } switch (rtr.type) { case babel4: if (rtrBabel4hnd == null) { return; } rtrBabel4hnd = null; rtrBabel4ifc = null; rtr.babel.closedInterface(fwdIf4); return; case babel6: if (rtrBabel6hnd == null) { return; } rtrBabel6hnd = null; rtrBabel6ifc = null; rtr.babel.closedInterface(fwdIf6); return; case olsr4: if (rtrOlsr4hnd == null) { return; } rtrOlsr4hnd = null; rtrOlsr4ifc = null; rtr.olsr.closedInterface(fwdIf4); return; case olsr6: if (rtrOlsr6hnd == null) { return; } rtrOlsr6hnd = null; rtrOlsr6ifc = null; rtr.olsr.closedInterface(fwdIf6); return; case rip4: if (rtrRip4hnd == null) { return; } rtrRip4hnd = null; rtrRip4ifc = null; rtr.rip4.closedInterface(fwdIf4); return; case rip6: if (rtrRip6hnd == null) { return; } rtrRip6hnd = null; rtrRip6ifc = null; rtr.rip6.closedInterface(fwdIf6); return; case ospf4: if (rtrOspf4hnd == null) { return; } rtrOspf4hnd = null; rtrOspf4ifc = null; rtr.ospf4.delInterface(fwdIf4); return; case ospf6: if (rtrOspf6hnd == null) { return; } rtrOspf6hnd = null; rtrOspf6ifc = null; rtr.ospf6.delInterface(fwdIf6); return; case isis4: if (rtrIsisHnd == null) { return; } rtrIsisHnd = null; rtrIsisIfc = null; rtr.isis.delInterface(fwdIf4, fwdIf6); return; case isis6: if (rtrIsisHnd == null) { return; } rtrIsisHnd = null; rtrIsisIfc = null; rtr.isis.delInterface(fwdIf6, fwdIf4); return; case rift4: if (rtrRift4hnd == null) { return; } rtrRift4hnd = null; rtrRift4ifc = null; rtr.rift.delInterface(fwdIf4); return; case rift6: if (rtrRift6hnd == null) { return; } rtrRift6hnd = null; rtrRift6ifc = null; rtr.rift.delInterface(fwdIf6); return; case pvrp4: if (rtrPvrp4hnd == null) { return; } rtrPvrp4hnd = null; rtrPvrp4ifc = null; rtr.pvrp.delInterface(fwdIf4); return; case pvrp6: if (rtrPvrp6hnd == null) { return; } rtrPvrp6hnd = null; rtrPvrp6ifc = null; rtr.pvrp.delInterface(fwdIf6); return; case lsrp4: if (rtrLsrp4hnd == null) { return; } rtrLsrp4hnd = null; rtrLsrp4ifc = null; rtr.lsrp.delInterface(fwdIf4); return; case lsrp6: if (rtrLsrp6hnd == null) { return; } rtrLsrp6hnd = null; rtrLsrp6ifc = null; rtr.lsrp.delInterface(fwdIf6); return; case eigrp4: if (rtrEigrp4hnd == null) { return; } rtrEigrp4hnd = null; rtrEigrp4ifc = null; rtr.eigrp.delInterface(fwdIf4); return; case eigrp6: if (rtrEigrp6hnd == null) { return; } rtrEigrp6hnd = null; rtrEigrp6ifc = null; rtr.eigrp.delInterface(fwdIf6); return; default: break; } } /** * setup this bridge interface */ public synchronized void initBridge() { lower = bridgeHed.bridgeHed; bridgeHed.bridgeHed.setFilter(false); bridgeHed.bridgeHed.setUpper(ethtyp); } /** * setup this bundle interface */ public synchronized void initBundle() { lower = bundleHed.bundleHed; bundleHed.bundleHed.setFilter(false); bundleHed.bundleHed.setUpper(ethtyp); } /** * setup this hairpin interface * * @param side side to initialize */ public synchronized void initHairpin(boolean side) { if (side) { lower = hairpinHed.hairpinHed.getSide1(); } else { lower = hairpinHed.hairpinHed.getSide2(); } lower.setFilter(false); lower.setUpper(ethtyp); } private synchronized boolean initEncap(String a) { int enc = 0; if (a.equals("hdlc")) { enc = 1; } if (a.equals("ppp")) { enc = 2; } if (a.equals("lapb")) { enc = 3; } if (a.equals("framerelay")) { enc = 4; } if (a.equals("atmdxi")) { enc = 5; } if (a.equals("frppp")) { enc = 6; } if (a.equals("raw")) { enc = 7; } if (a.equals("isdn")) { enc = 8; } if (a.equals("sep")) { enc = 9; } if (a.equals("iponly")) { enc = 10; } if (a.equals("frrfc")) { enc = 11; } if (ifaceNeedArp()) { enc = 0; } if (a.equals("dot1q")) { initVlan(new ifcDot1q()); return false; } if (a.equals("dot1ad")) { initVlan(new ifcDot1ad()); return false; } if (a.equals("dot1ah")) { initVlan(new ifcDot1ah()); return false; } if (a.equals("trill-mt")) { initVlan(new ifcTrillMt()); return false; } if (a.equals("trill-fgl")) { initVlan(new ifcTrillFgl()); return false; } if (a.equals("qinq1")) { initVlan(new ifcQinq1()); return false; } if (a.equals("qinq2")) { initVlan(new ifcQinq2()); return false; } if (a.equals("qinq3")) { initVlan(new ifcQinq3()); return false; } if (a.equals("qinqx")) { qinqx = new ifcQinqX(null); initVlan(qinqx); return false; } if (a.equals("isl")) { initVlan(new ifcIsl()); return false; } if (a.equals(" x ")) { enc = 1000; } if (enc <= 0) { return true; } if (hdlc != null) { hdlc.restartTimer(true); hdlc = null; } if (ppp != null) { ppp.restartTimer(true); ppp = null; } if (lapb != null) { lapb.restartTimer(true); lapb = null; } if (raw != null) { raw = null; } if (sep != null) { sep.restartTimer(true); sep = null; } if (isdn != null) { isdn.restartTimer(true); isdn = null; } if (frmrly != null) { frmrly.restartTimer(true); frmrly = null; } if (frmppp != null) { frmppp = null; } if (frmrfc != null) { frmrfc = null; } if (atmdxi != null) { atmdxi = null; } switch (enc) { case 1: hdlc = new ifcHdlc(); lower.setUpper(hdlc); hdlc.setUpper(ethtyp); break; case 2: ppp = new ifcPpp(); ppp.cfger = this; lower.setUpper(ppp); ppp.setUpper(ethtyp); break; case 3: lapb = new ifcLapb(); lower.setUpper(lapb); lapb.setUpper(ethtyp); break; case 4: frmrly = new ifcFrameRelay(); lower.setUpper(frmrly); frmrly.setUpper(ethtyp); break; case 5: atmdxi = new ifcAtmDxi(); lower.setUpper(atmdxi); atmdxi.setUpper(ethtyp); break; case 6: frmppp = new ifcFramePpp(); frmrly = new ifcFrameRelay(); lower.setUpper(frmrly); frmrly.setUpper(frmppp); ppp = new ifcPpp(); ppp.cfger = this; frmppp.setUpper(ppp); ppp.setUpper(ethtyp); break; case 7: raw = new ifcRaw(); lower.setUpper(raw); raw.setUpper(ethtyp); break; case 8: isdn = new ifcIsdn(); lower.setUpper(isdn); isdn.setUpper(ethtyp); break; case 9: sep = new ifcSep(); lower.setUpper(sep); sep.cfger = this; sep.setUpper(ethtyp); break; case 10: ipOnly = new ifcIpOnly(); lower.setUpper(ipOnly); ipOnly.setUpper(ethtyp); break; case 11: frmrfc = new ifcFrameRfc(); frmrly = new ifcFrameRelay(); lower.setUpper(frmrly); frmrly.setUpper(frmrfc); frmrfc.setUpper(ethtyp); break; default: ifcNull nul = new ifcNull(); nul.setUpper(ethtyp); break; } ethtyp.propagateState(); return true; } /** * setup this physical interface */ public synchronized void initPhysical() { switch (type) { case atm: lower = thread; atmsar = new ifcAtmSar(); thread.setUpper(atmsar); atmsar.setUpper(ethtyp); break; case arcnet: lower = thread; arcnet = new ifcArcnet(); thread.setUpper(arcnet); arcnet.setUpper(ethtyp); break; case infiniband: lower = thread; infiniband = new ifcInfiniband(); thread.setUpper(infiniband); infiniband.setUpper(ethtyp); break; case serial: lower = thread; initEncap("hdlc"); break; case dialer: case virtppp: lower = new ifcNull(); initEncap("ppp"); break; case tunnel: case bundle: case hairpin: case bridge: case template: case loopback: case nul: lower = new ifcNull(); break; case pweth: ethtyp.forcedMac = addrMac.getRandom(); ethtyp.forcedMTU = 1500; lower = new ifcNull(); break; case sdn: ethtyp.forcedMac = addrMac.getRandom(); ethtyp.forcedMTU = 1500; lower = new ifcNull(); break; case ether: lower = thread; thread.setFilter(false); thread.setUpper(ethtyp); break; } } /** * setup this subinterface * * @param prnt parent to use */ public synchronized void initSubiface(cfgIfc prnt) { parent = prnt; type = parent.type; parent.initVlan(); parent.vlanHed.addVlan(vlanNum, ethtyp); lower = parent.vlanHed.updateVlan(vlanNum, ethtyp); } private synchronized void initVlan() { if (vlanHed != null) { return; } vlanHed = new ifcDot1q(); vlanHed.reg2ethTyp(ethtyp); } private synchronized void initVlan(ifcVlan vlan) { if (vlanHed != null) { vlan.subMacs = vlanHed.subMacs; vlanHed.unreg2ethTyp(ethtyp); } vlanHed = vlan; vlanHed.reg2ethTyp(ethtyp); cfgAll.regSubifaces(this); } /** * setup this loopback */ public synchronized void initLoopback() { lower = new ifcNull(); ethtyp.setParent(new ifcNull()); } /** * setup this template */ public synchronized void initTemplate() { lower = new ifcNull(); ethtyp.setParent(new ifcNull()); } /** * setup this interface for bridging * * @param brdg bridging to set up */ public synchronized void setup2bridge(cfgBrdg brdg) { bridgeHed = brdg; if (bridgeIfc == null) { bridgeIfc = bridgeHed.bridgeHed.newIface(true, ifaceNeedMacs(), ifaceNeedMacs()); } ethtyp.addET(-1, "bridging", bridgeIfc); ethtyp.updateET(-1, bridgeIfc); } /** * clear bridging */ public synchronized void clear2bridge() { if (bridgeIfc == null) { return; } ethtyp.delET(-1); bridgeIfc.closeUp(); bridgeHed.bridgeHed.delIface(bridgeIfc.ifcNum); bridgeIfc = null; bridgeHed = null; } /** * setup this interface for bundling * * @param bndl bundling to set up */ public synchronized void setup2bundle(cfgBndl bndl) { bundleHed = bndl; if (bundleIfc == null) { bundleIfc = bundleHed.bundleHed.newIface(); } ethtyp.addET(-1, "bundling", bundleIfc); ethtyp.updateET(-1, bundleIfc); bundleHed.bundleHed.propagateState(); } /** * clear bundling */ public synchronized void clear2bundle() { if (bundleIfc == null) { return; } ethtyp.delET(-1); bundleIfc.closeUp(); bundleHed.bundleHed.delIface(bundleIfc.ifcNum); bundleIfc = null; bundleHed = null; } /** * clear evcs */ public synchronized void clear2evcs() { for (int i = 0; i < evcs.size(); i++) { cfgIfcEvc ntry = evcs.get(i); if (ntry == null) { continue; } ntry.stopWork(); } evcs.clear(); } /** * clear xconnect */ public synchronized void clear2xconnect() { if (xconn == null) { return; } ethtyp.delET(-1); xconn.stop2run(); xconn = null; } /** * clear iconnect */ public synchronized void clear2iconnect() { if (iconn == null) { return; } iconn.ethtyp.delET(-1); iconn.iconn = null; ethtyp.delET(-1); iconn = null; } /** * clear pseudowire */ public synchronized void clear2pseudowire() { if (pwhe == null) { return; } ifcUp upp = null; switch (type) { case virtppp: upp = getEncapProto(); break; case pweth: upp = ethtyp; break; default: return; } ifcNull nul = new ifcNull(); nul.setUpper(upp); pwhe.stop2run(); pwhe = null; lower = nul; } /** * clear vrf membership */ public synchronized void clear2vrf() { addr4 = null; mask4 = null; setup2vrf(true, false, false); addr6 = null; mask6 = null; setup2vrf(false, true, false); ipxAddr = null; setup2vrf(false, false, true); vrfFor = null; } /** * set interface to vrf * * @param ip4 set true to process this protocol * @param ip6 set true to process this protocol * @param ipx set true to process this protocol */ public synchronized void setup2vrf(boolean ip4, boolean ip6, boolean ipx) { boolean srv6sec = getSRv6sec(); if (ip4 && (ipIf4 != null)) { ipIf4.closeUp(); vrfFor.fwd4.ifaceDel(fwdIf4); fwdIf4 = null; ipIf4 = null; ethtyp.delET(ipIfc4.type); ethtyp.delET(ipIfc4arp.type); } if (ip6 && (ipIf6 != null)) { ipIf6.closeUp(); vrfFor.fwd6.ifaceDel(fwdIf6); fwdIf6 = null; ipIf6 = null; ethtyp.delET(ipIfc6.type); } if (ipx && (ipxIfc != null)) { ipxIfc.closeUp(); vrfFor.ipx.ifaceDel(ipxIfc); ipxIfc = null; ethtyp.delET(ipxIface.type); } if (vrfFor == null) { return; } if (ip4 && (addr4 != null)) { ipIf4 = new ipIfc4(ifaceNeedArp()); fwdIf4 = vrfFor.fwd4.ifaceAdd(ipIf4); fwdIf4.ifwTyp = type; ipIf4.setIPv4addr(addr4, mask4.toNetmask()); ethtyp.addET(ipIfc4.type, "ipv4", ipIf4); ethtyp.updateET(ipIfc4.type, ipIf4); ifcUp arp = ipIf4.getPeerHdr(); if (arp != null) { ethtyp.addET(ipIfc4arp.type, "arp", arp); ethtyp.updateET(ipIfc4arp.type, arp); } ethtyp.propagateState(); vrfFor.fwd4.routerStaticChg(); } if (ip6 && (addr6 != null)) { ipIf6 = new ipIfc6(ifaceNeedArp()); fwdIf6 = vrfFor.fwd6.ifaceAdd(ipIf6); fwdIf6.ifwTyp = type; ipIf6.setIPv6addr(addr6, mask6.toNetmask()); ethtyp.addET(ipIfc6.type, "ipv6", ipIf6); ethtyp.updateET(ipIfc6.type, ipIf6); if (addr6.isLinkLocal()) { addrIP ad = new addrIP(); ad.fromIPv6addr(addr6); ipIf6.setLinkLocalAddr(ad); } ethtyp.propagateState(); vrfFor.fwd6.routerStaticChg(); } if (ipx && (ipxAddr != null)) { ipxIfc = vrfFor.ipx.ifaceAdd(ethtyp); ipxIfc.ifwTyp = type; vrfFor.ipx.ifaceAddr(ipxIfc, ipxAddr); ethtyp.addET(ipxIface.type, "ipx", ipxIfc); ethtyp.updateET(ipxIface.type, ipxIfc); ipxAddr.putMac(ipxIfc.hwaddr); } if (fwdIf4 != null) { fwdIf4.otherHandler = fwdIf6; ipIf4.setOther(ipIf6); } if (fwdIf6 != null) { fwdIf6.otherHandler = fwdIf4; ipIf6.setOther(ipIf4); } setSRv6sec(srv6sec); update2mpls(); update2polka(); } /** * clear tunnel interface * * @param justWorker set true to just protocol handler */ public synchronized void clear2tunnel(boolean justWorker) { lower = new ifcNull(); lower.setUpper(ethtyp); ethtyp.setState(state.states.down); if (tunGRE != null) { tunGRE.closeDn(); tunGRE = null; } if (tunMgre != null) { tunMgre.closeDn(); tunMgre = null; } if (tunUdpGre != null) { tunUdpGre.workStop(); tunUdpGre = null; } if (tunAmt != null) { tunAmt.workStop(); tunAmt = null; } if (tunICMP != null) { tunICMP.closeDn(); tunICMP = null; } if (tunPIM != null) { tunPIM.closeDn(); tunPIM = null; } if (tunLisp != null) { tunLisp.workStop(); tunLisp = null; } if (tunMinenc != null) { tunMinenc.closeDn(); tunMinenc = null; } if (tunPipe != null) { tunPipe.closeDn(); tunPipe = null; } if (tunNos != null) { tunNos.closeDn(); tunNos = null; } if (tunIpcomp != null) { tunIpcomp.closeDn(); tunIpcomp = null; } if (tunIpenc != null) { tunIpenc.closeDn(); tunIpenc = null; } if (tunTmux != null) { tunTmux.closeDn(); tunTmux = null; } if (tunHip != null) { tunHip.closeDn(); tunHip = null; } if (tunMplsip != null) { tunMplsip.closeDn(); tunMplsip = null; } if (tunMplsudp != null) { tunMplsudp.workStop(); tunMplsudp = null; } if (tunSwipe != null) { tunSwipe.closeDn(); tunSwipe = null; } if (tunOpenvpn != null) { tunOpenvpn.workStop(); tunOpenvpn = null; } if (tunWireguard != null) { tunWireguard.workStop(); tunWireguard = null; } if (tunSatp != null) { tunSatp.workStop(); tunSatp = null; } if (tunInlsp != null) { tunInlsp.closeDn(); tunInlsp = null; } if (tunSkip != null) { tunSkip.closeDn(); tunSkip = null; } if (tunIPIP != null) { tunIPIP.closeDn(); tunIPIP = null; } if (tun6to4 != null) { tun6to4.closeDn(); tun6to4 = null; } if (tunAplusP != null) { tunAplusP.closeDn(); tunAplusP = null; } if (tunSrv6 != null) { tunSrv6.closeDn(); tunSrv6 = null; } if (tunIPsec1 != null) { tunIPsec1.workStop(); tunIPsec1 = null; } if (tunIPsec2 != null) { tunIPsec2.workStop(); tunIPsec2 = null; } if (tunPckOudp != null) { tunPckOudp.workStop(); tunPckOudp = null; } if (tunPckOip != null) { tunPckOip.closeDn(); tunPckOip = null; } if (tunL2tp3 != null) { tunL2tp3.workStop(); tunL2tp3 = null; } if (tunGtp != null) { tunGtp.workStop(); tunGtp = null; } if (tunPweOmpls != null) { tunPweOmpls.workStop(); tunPweOmpls = null; } if (tunPolka != null) { tunPolka.workStop(); tunPolka = null; } if (tunMpolka != null) { tunMpolka.workStop(); tunMpolka = null; } if (tunExpBun != null) { tunExpBun.workStop(); tunExpBun = null; } if (tunSrMpls != null) { tunSrMpls.workStop(); tunSrMpls = null; } if (tunSrExt != null) { tunSrExt.workStop(); tunSrExt = null; } if (tunTeP2p != null) { tunTeP2p.workStop(); tunTeP2p = null; } if (tunTeP2mp != null) { tunTeP2mp.workStop(); tunTeP2mp = null; } if (tunBier != null) { tunBier.workStop(); tunBier = null; } if (tunLdpP2p != null) { tunLdpP2p.workStop(); tunLdpP2p = null; } if (tunLdpTe != null) { tunLdpTe.workStop(); tunLdpTe = null; } if (tunLdpP2mp != null) { tunLdpP2mp.workStop(); tunLdpP2mp = null; } if (tunVxlan != null) { tunVxlan.workStop(); tunVxlan = null; } if (tunGeneve != null) { tunGeneve.workStop(); tunGeneve = null; } if (tunLlcudp != null) { tunLlcudp.workStop(); tunLlcudp = null; } if (tunTzsp != null) { tunTzsp.workStop(); tunTzsp = null; } if (tunCapwap != null) { tunCapwap.workStop(); tunCapwap = null; } if (tunLwapp != null) { tunLwapp.workStop(); tunLwapp = null; } if (tunErspan != null) { tunErspan.workStop(); tunErspan = null; } if (tunDlsw != null) { tunDlsw.workStop(); tunDlsw = null; } if (tunEtherip != null) { tunEtherip.workStop(); tunEtherip = null; } if (tunSreth != null) { tunSreth.workStop(); tunSreth = null; } if (tunUti != null) { tunUti.workStop(); tunUti = null; } if (tunNvgre != null) { tunNvgre.workStop(); tunNvgre = null; } if (justWorker) { return; } tunTOS = -1; tunDFN = -1; tunFLW = -1; tunMRK = -1; tunTTL = 255; tunKey = 0; tunKey2 = 0; tunSum = false; tunSeq = false; tunPriS = 7; tunPriH = 7; tunAffE = 0; tunAffI = 0; tunAffM = 0; tunAscId = 0; tunAscId2 = 0; tunAscAdr = null; tunVrf = null; tunTrg = null; tunSrc = null; tunPrt = null; } /** * setup interface for tunneling * * @return false on success, true on error */ public synchronized boolean setup2tunnel() { clear2tunnel(true); if (tunShut) { return true; } if (tunVrf == null) { return true; } if (tunTrg == null) { return true; } if (tunSrc == null) { return true; } ipFwd fwd; ipFwdIface ifc; prtUdp udp; if (tunTrg.isIPv4()) { fwd = tunVrf.fwd4; udp = tunVrf.udp4; ifc = tunSrc.fwdIf4; } else { fwd = tunVrf.fwd6; udp = tunVrf.udp6; ifc = tunSrc.fwdIf6; } if (ifc == null) { return true; } if (tunMode == null) { return true; } switch (tunMode) { case gre: tunGRE = new prtGre(fwd); tunGRE.tunnelKyT = tunKey; tunGRE.tunnelKyR = tunKey2; tunGRE.tunnelSum = tunSum; tunGRE.tunnelSeq = tunSeq; tunGRE.setEndpoints(ifc, tunTrg, true); tunGRE.setUpper(ethtyp); tunGRE.sendingDFN = tunDFN; tunGRE.sendingTOS = tunTOS; tunGRE.sendingFLW = tunFLW; tunGRE.sendingTTL = tunTTL; lower = tunGRE; break; case mgre: tunMgre = new prtMgre(); tunMgre.fwdCor = tunVrf.getFwd(tunTrg); tunMgre.fwdIfc = tunSrc.getFwdIfc(tunTrg); tunMgre.target = tunTrg.copyBytes(); tunMgre.setTargets(tunFQDN); tunFQDN = tunMgre.getTargets(); tunMgre.setUpper(ethtyp); tunMgre.sendingDFN = tunDFN; tunMgre.sendingTOS = tunTOS; tunMgre.sendingFLW = tunFLW; tunMgre.sendingTTL = tunTTL; lower = tunMgre; break; case udpgre: tunUdpGre = new clntUdpGre(); tunUdpGre.vrf = tunVrf; tunUdpGre.srcIfc = tunSrc; tunUdpGre.target = "" + tunTrg; tunUdpGre.sendingTOS = tunTOS; tunUdpGre.sendingDFN = tunDFN; tunUdpGre.sendingFLW = tunFLW; tunUdpGre.sendingTTL = tunTTL; tunUdpGre.tunnelKey = tunKey; tunUdpGre.tunnelSum = tunSum; tunUdpGre.tunnelSeq = tunSeq; tunUdpGre.setUpper(ethtyp); tunUdpGre.workStart(); lower = tunUdpGre; break; case amt: tunAmt = new clntAmt(); tunAmt.vrf = tunVrf; tunAmt.srcIfc = tunSrc; tunAmt.target = "" + tunTrg; tunAmt.prtR = tunKey; tunAmt.prtL = tunKey2; tunAmt.negotiate = tunSeq; tunAmt.sendingTOS = tunTOS; tunAmt.sendingDFN = tunDFN; tunAmt.sendingFLW = tunFLW; tunAmt.sendingTTL = tunTTL; tunAmt.setUpper(ethtyp); tunAmt.workStart(); lower = tunAmt; break; case icmp: tunICMP = new prtIcmptun(fwd); tunICMP.setEndpoints(ifc, tunTrg); tunICMP.setUpper(ethtyp); tunICMP.sendingTOS = tunTOS; tunICMP.sendingDFN = tunDFN; tunICMP.sendingFLW = tunFLW; tunICMP.sendingTTL = tunTTL; tunICMP.tunnelKey = tunKey; lower = tunICMP; break; case pim: tunPIM = new prtPim(fwd); tunPIM.setEndpoints(ifc, tunTrg); tunPIM.setUpper(ethtyp); tunPIM.sendingTOS = tunTOS; tunPIM.sendingDFN = tunDFN; tunPIM.sendingFLW = tunFLW; tunPIM.sendingTTL = tunTTL; lower = tunPIM; break; case lisp: tunLisp = new clntLisp(); tunLisp.udp = tunVrf.getUdp(tunTrg); tunLisp.fwdIfc = tunSrc.getFwdIfc(tunTrg); tunLisp.target = tunTrg.copyBytes(); tunLisp.prtR = tunKey; tunLisp.prtL = tunKey2; tunLisp.sendingTOS = tunTOS; tunLisp.sendingDFN = tunDFN; tunLisp.sendingFLW = tunFLW; tunLisp.sendingTTL = tunTTL; tunLisp.setUpper(ethtyp); tunLisp.workStart(); lower = tunLisp; break; case minenc: tunMinenc = new prtMinenc(fwd); tunMinenc.setEndpoints(ifc, tunTrg); tunMinenc.setUpper(ethtyp); tunMinenc.sendingTOS = tunTOS; tunMinenc.sendingDFN = tunDFN; tunMinenc.sendingFLW = tunFLW; tunMinenc.sendingTTL = tunTTL; lower = tunMinenc; break; case pipe: tunPipe = new prtPipe(fwd); tunPipe.setEndpoints(ifc, tunTrg); tunPipe.setUpper(ethtyp); tunPipe.sendingTOS = tunTOS; tunPipe.sendingDFN = tunDFN; tunPipe.sendingFLW = tunFLW; tunPipe.sendingTTL = tunTTL; tunPipe.vpnId = tunKey; lower = tunPipe; break; case nos: tunNos = new prtNos(fwd); tunNos.setEndpoints(ifc, tunTrg); tunNos.setUpper(ethtyp); tunNos.sendingTOS = tunTOS; tunNos.sendingDFN = tunDFN; tunNos.sendingFLW = tunFLW; tunNos.sendingTTL = tunTTL; lower = tunNos; break; case ipcomp: tunIpcomp = new prtIpcomp(fwd); tunIpcomp.setEndpoints(ifc, tunTrg); tunIpcomp.setUpper(ethtyp); tunIpcomp.sendingTOS = tunTOS; tunIpcomp.sendingDFN = tunDFN; tunIpcomp.sendingFLW = tunFLW; tunIpcomp.sendingTTL = tunTTL; lower = tunIpcomp; break; case ipenc: tunIpenc = new prtIpenc(fwd); tunIpenc.setEndpoints(ifc, tunTrg); tunIpenc.setUpper(ethtyp); tunIpenc.sendingTOS = tunTOS; tunIpenc.sendingDFN = tunDFN; tunIpenc.sendingFLW = tunFLW; tunIpenc.sendingTTL = tunTTL; tunIpenc.flowId = tunKey; lower = tunIpenc; break; case tmux: tunTmux = new prtTmux(fwd); tunTmux.setEndpoints(ifc, tunTrg); tunTmux.setUpper(ethtyp); tunTmux.sendingTOS = tunTOS; tunTmux.sendingDFN = tunDFN; tunTmux.sendingFLW = tunFLW; tunTmux.sendingTTL = tunTTL; lower = tunTmux; break; case hip: tunHip = new prtHip(fwd); tunHip.setEndpoints(ifc, tunTrg); tunHip.setUpper(ethtyp); tunHip.sendingTOS = tunTOS; tunHip.sendingDFN = tunDFN; tunHip.sendingFLW = tunFLW; tunHip.sendingTTL = tunTTL; lower = tunHip; break; case mplsip: tunMplsip = new prtMplsIp(fwd); tunMplsip.setEndpoints(ifc, tunTrg, true); tunMplsip.setUpper(ethtyp); tunMplsip.sendingTOS = tunTOS; tunMplsip.sendingDFN = tunDFN; tunMplsip.sendingFLW = tunFLW; tunMplsip.sendingTTL = tunTTL; lower = tunMplsip; break; case mplsudp: tunMplsudp = new clntMplsUdp(); tunMplsudp.udp = tunVrf.getUdp(tunTrg); tunMplsudp.fwdIfc = tunSrc.getFwdIfc(tunTrg); tunMplsudp.target = tunTrg.copyBytes(); tunMplsudp.prtR = tunKey; tunMplsudp.prtL = tunKey2; tunMplsudp.sendingTOS = tunTOS; tunMplsudp.sendingDFN = tunDFN; tunMplsudp.sendingFLW = tunFLW; tunMplsudp.sendingTTL = tunTTL; tunMplsudp.setUpper(ethtyp); tunMplsudp.workStart(); lower = tunMplsudp; break; case swipe: if (tunPrt == null) { return true; } tunSwipe = new prtSwipe(fwd); tunSwipe.preshared = tunPrt.preshared; tunSwipe.transform = tunPrt.trans; tunSwipe.setEndpoints(ifc, tunTrg); tunSwipe.setUpper(ethtyp); tunSwipe.sendingTOS = tunTOS; tunSwipe.sendingDFN = tunDFN; tunSwipe.sendingFLW = tunFLW; tunSwipe.sendingTTL = tunTTL; lower = tunSwipe; break; case openvpn: if (tunPrt == null) { return true; } tunOpenvpn = new clntOpenvpn(); tunOpenvpn.preshared = tunPrt.preshared; tunOpenvpn.transform = tunPrt.trans; tunOpenvpn.replayCheck = tunPrt.replay; tunOpenvpn.sendingTOS = tunTOS; tunOpenvpn.sendingDFN = tunDFN; tunOpenvpn.sendingFLW = tunFLW; tunOpenvpn.sendingTTL = tunTTL; tunOpenvpn.vrf = tunVrf; tunOpenvpn.srcIfc = tunSrc; tunOpenvpn.target = "" + tunTrg; tunOpenvpn.prtR = tunKey; tunOpenvpn.prtL = tunKey2; tunOpenvpn.workStart(); tunOpenvpn.setUpper(ethtyp); lower = tunOpenvpn; break; case wireguard: if (tunPrt == null) { return true; } tunWireguard = new clntWireguard(); tunWireguard.preshared = tunPrt.preshared; tunWireguard.replayCheck = tunPrt.replay; tunWireguard.sendingTOS = tunTOS; tunWireguard.sendingDFN = tunDFN; tunWireguard.sendingFLW = tunFLW; tunWireguard.sendingTTL = tunTTL; tunWireguard.vrf = tunVrf; tunWireguard.srcIfc = tunSrc; tunWireguard.target = "" + tunTrg; tunWireguard.prtR = tunKey; tunWireguard.prtL = tunKey2; tunWireguard.workStart(); tunWireguard.setUpper(ethtyp); lower = tunWireguard; break; case satp: if (tunPrt == null) { return true; } tunSatp = new clntSatp(); tunSatp.preshared = tunPrt.preshared; tunSatp.transform = tunPrt.trans; tunSatp.sendingTOS = tunTOS; tunSatp.sendingDFN = tunDFN; tunSatp.sendingFLW = tunFLW; tunSatp.sendingTTL = tunTTL; tunSatp.vrf = tunVrf; tunSatp.srcIfc = tunSrc; tunSatp.target = "" + tunTrg; tunSatp.prtR = tunKey; tunSatp.prtL = tunKey2; tunSatp.workStart(); tunSatp.setUpper(ethtyp); lower = tunSatp; break; case inlsp: if (tunPrt == null) { return true; } tunInlsp = new prtInlsp(fwd); tunInlsp.preshared = tunPrt.preshared; tunInlsp.transform = tunPrt.trans; tunInlsp.setEndpoints(ifc, tunTrg); tunInlsp.setUpper(ethtyp); tunInlsp.sendingTOS = tunTOS; tunInlsp.sendingDFN = tunDFN; tunInlsp.sendingFLW = tunFLW; tunInlsp.sendingTTL = tunTTL; tunInlsp.said = tunKey; lower = tunInlsp; break; case skip: if (tunPrt == null) { return true; } tunSkip = new prtSkip(fwd); tunSkip.preshared = tunPrt.preshared; tunSkip.transform = tunPrt.trans; tunSkip.setEndpoints(ifc, tunTrg); tunSkip.setUpper(ethtyp); tunSkip.sendingTOS = tunTOS; tunSkip.sendingDFN = tunDFN; tunSkip.sendingFLW = tunFLW; tunSkip.sendingTTL = tunTTL; lower = tunSkip; break; case ipip: tunIPIP = new prtIpIp(fwd); tunIPIP.setEndpoints(ifc, tunTrg); tunIPIP.setUpper(ethtyp); tunIPIP.setTxTOS(tunTOS); tunIPIP.setTxDFN(tunDFN); tunIPIP.setTxFLW(tunFLW); tunIPIP.setTxTTL(tunTTL); lower = tunIPIP; break; case Sto4: tun6to4 = new prt6to4(tunTrg, tunKey); tun6to4.setUpper(ethtyp); lower = tun6to4; break; case aplusp: if (tunFQDN == null) { return true; } tunAplusP = new prtAplusP(tunVrf, tunFQDN); tunAplusP.setUpper(ethtyp); lower = tunAplusP; break; case srv6: tunSrv6 = new prtSrv6(tunTrg, ethtyp, tunVrf.fwd4, tunVrf.fwd6, mplsPack); tunSrv6.setUpper(ethtyp); lower = tunSrv6; break; case ipsec: if (tunPrt == null) { return true; } if (tunPrt.ikeVer == 1) { tunIPsec1 = new secIsakmp(); tunIPsec1.role = tunPrt.role; tunIPsec1.preshared = tunPrt.preshared; tunIPsec1.sendingTTL = tunTTL; tunIPsec1.sendingTOS = tunTOS; tunIPsec1.sendingDFN = tunDFN; tunIPsec1.sendingFLW = tunFLW; tunIPsec1.transform = tunPrt.trans; tunIPsec1.ipv6 = tunPrt.ipv6; tunIPsec1.replayCheck = tunPrt.replay; tunIPsec1.workStart(fwd, udp, ifc, tunTrg); tunIPsec1.setUpper(ethtyp); lower = tunIPsec1; } else { tunIPsec2 = new secIke(); tunIPsec2.role = tunPrt.role; tunIPsec2.preshared = tunPrt.preshared; tunIPsec2.sendingTTL = tunTTL; tunIPsec2.sendingTOS = tunTOS; tunIPsec2.sendingDFN = tunDFN; tunIPsec2.sendingFLW = tunFLW; tunIPsec2.transform = tunPrt.trans; tunIPsec2.ipv6 = tunPrt.ipv6; tunIPsec2.replayCheck = tunPrt.replay; tunIPsec2.workStart(fwd, udp, ifc, tunTrg); tunIPsec2.setUpper(ethtyp); lower = tunIPsec2; } break; case pckOudp: if (tunKey < 1) { return true; } tunPckOudp = new clntPckOudp(); tunPckOudp.vrf = tunVrf; tunPckOudp.srcIfc = tunSrc; tunPckOudp.target = "" + tunTrg; tunPckOudp.prtR = tunKey; tunPckOudp.prtL = tunKey2; tunPckOudp.sendingTTL = tunTTL; tunPckOudp.sendingTOS = tunTOS; tunPckOudp.sendingDFN = tunDFN; tunPckOudp.sendingFLW = tunFLW; tunPckOudp.setUpper(ethtyp); tunPckOudp.workStart(); lower = tunPckOudp; break; case pckOip: if (tunKey < 1) { return true; } tunPckOip = new prtPckOip(fwd); tunPckOip.setEndpoints(ifc, tunTrg, tunKey); tunPckOip.setUpper(ethtyp); tunPckOip.sendingTOS = tunTOS; tunPckOip.sendingDFN = tunDFN; tunPckOip.sendingFLW = tunFLW; tunPckOip.sendingTTL = tunTTL; lower = tunPckOip; break; case gtp: tunGtp = new clntGtp(); tunGtp.target = "" + tunTrg; tunGtp.vrf = tunVrf; tunGtp.srcIfc = tunSrc; tunGtp.cfger = this; tunGtp.setUpper(ethtyp); tunGtp.workStart(); lower = tunGtp; break; case l2tp3: tunL2tp3 = new clntL2tp3(); tunL2tp3.pwType = packLdpPwe.pwtIp; tunL2tp3.vrf = tunVrf; tunL2tp3.srcIfc = tunSrc; tunL2tp3.target = "" + tunTrg; tunL2tp3.vcid = "" + tunKey; tunL2tp3.direction = tunTrg.compareTo(ifc.addr) < 0; tunL2tp3.sendingTOS = tunTOS; tunL2tp3.sendingDFN = tunDFN; tunL2tp3.sendingFLW = tunFLW; tunL2tp3.sendingTTL = tunTTL; tunL2tp3.setUpper(ethtyp); tunL2tp3.workStart(); lower = tunL2tp3; break; case polka: tunPolka = new clntPolka(); tunPolka.fwdCor = tunVrf.getFwd(tunTrg); tunPolka.fwdIfc = tunSrc.getFwdIfc(tunTrg); tunPolka.target = tunTrg.copyBytes(); tunPolka.setTargets(tunFQDN); tunFQDN = tunPolka.getTargets(); tunPolka.ttl = tunTTL; tunPolka.verify = tunSum; tunPolka.setUpper(ethtyp); tunPolka.workStart(); lower = tunPolka; break; case mpolka: tunMpolka = new clntMpolka(); tunMpolka.fwdCor = tunVrf.getFwd(tunTrg); tunMpolka.target = tunTrg.copyBytes(); tunMpolka.setTargets(tunFQDN); tunFQDN = tunMpolka.getTargets(); tunMpolka.ttl = tunTTL; tunMpolka.verify = tunSum; tunMpolka.setUpper(ethtyp); tunMpolka.workStart(); lower = tunMpolka; break; case pweOmpls: tunPweOmpls = new clntMplsPwe(); tunPweOmpls.pwType = packLdpPwe.pwtIp; tunPweOmpls.vrf = tunVrf; tunPweOmpls.srcIfc = tunSrc; tunPweOmpls.target = "" + tunTrg; tunPweOmpls.vcid = tunKey; tunPweOmpls.ctrlWrd = tunSeq; tunPweOmpls.descr = description.length() > 0 ? description : name; tunPweOmpls.setUpper(ethtyp); tunPweOmpls.workStart(); lower = tunPweOmpls; break; case expBun: if (tunFQDN == null) { return true; } tunExpBun = new clntMplsExp(); tunExpBun.setTargets(tunFQDN); tunFQDN = tunExpBun.getTargets(); tunExpBun.expr = tunTOS; tunExpBun.entr = tunFLW; tunExpBun.mark = tunMRK; tunExpBun.ttl = tunTTL; tunExpBun.setUpper(ethtyp); tunExpBun.workStart(); lower = tunExpBun; break; case srMpls: if (tunFQDN == null) { return true; } tunSrMpls = new clntMplsSr(); tunSrMpls.fwdCor = tunVrf.getFwd(tunTrg); tunSrMpls.fwdIfc = tunSrc.getFwdIfc(tunTrg); tunSrMpls.target = tunTrg.copyBytes(); tunSrMpls.setTargets(tunFQDN); tunFQDN = tunSrMpls.getTargets(); tunSrMpls.expr = tunTOS; tunSrMpls.entr = tunFLW; tunSrMpls.mark = tunMRK; tunSrMpls.ttl = tunTTL; tunSrMpls.prioS = tunPriS; tunSrMpls.prioH = tunPriH; tunSrMpls.bndwdt = ethtyp.getBandwidth(); tunSrMpls.setUpper(ethtyp); tunSrMpls.workStart(); lower = tunSrMpls; break; case srExt: if (tunFQDN == null) { return true; } tunSrExt = new clntSrExt(); tunSrExt.fwdCor = tunVrf.getFwd(tunTrg); tunSrExt.target = tunTrg.copyBytes(); tunSrExt.setTargets(tunFQDN); tunFQDN = tunSrExt.getTargets(); tunSrExt.tos = tunTOS; tunSrExt.dfn = tunDFN; tunSrExt.flw = tunFLW; tunSrExt.ttl = tunTTL; tunSrExt.setUpper(ethtyp); tunSrExt.workStart(); lower = tunSrExt; break; case pceSr: if (tunFQDN == null) { return true; } tunSrMpls = new clntMplsSr(); tunSrMpls.fwdCor = tunVrf.getFwd(tunTrg); tunSrMpls.fwdIfc = tunSrc.getFwdIfc(tunTrg); tunSrMpls.target = tunTrg.copyBytes(); tunSrMpls.setTargets("" + tunTrg); tunSrMpls.pcep = tunFQDN; tunSrMpls.expr = tunTOS; tunSrMpls.entr = tunFLW; tunSrMpls.mark = tunMRK; tunSrMpls.ttl = tunTTL; tunSrMpls.prioS = tunPriS; tunSrMpls.prioH = tunPriH; tunSrMpls.bndwdt = ethtyp.getBandwidth(); tunSrMpls.setUpper(ethtyp); tunSrMpls.workStart(); lower = tunSrMpls; break; case pceTe: if (tunFQDN == null) { return true; } tunTeP2p = new clntMplsTeP2p(); tunTeP2p.fwdCor = tunVrf.getFwd(tunTrg); tunTeP2p.fwdIfc = tunSrc.getFwdIfc(tunTrg); tunTeP2p.target = tunTrg.copyBytes(); tunTeP2p.descr = cfgAll.hostName + ":" + name; tunTeP2p.pcep = tunFQDN; tunTeP2p.expr = tunTOS; tunTeP2p.entr = tunFLW; tunTeP2p.mark = tunMRK; tunTeP2p.ttl = tunTTL; tunTeP2p.ascId = tunAscId; tunTeP2p.ascId2 = tunAscId2; tunTeP2p.ascAdr = tunAscAdr; tunTeP2p.prioS = tunPriS; tunTeP2p.prioH = tunPriH; tunTeP2p.affiE = tunAffE; tunTeP2p.affiI = tunAffI; tunTeP2p.affiM = tunAffM; tunTeP2p.bndwdt = ethtyp.getBandwidth(); tunTeP2p.recRou = tunSeq; tunTeP2p.setUpper(ethtyp); tunTeP2p.workStart(); lower = tunTeP2p; break; case teP2p: tunTeP2p = new clntMplsTeP2p(); tunTeP2p.fwdCor = tunVrf.getFwd(tunTrg); tunTeP2p.fwdIfc = tunSrc.getFwdIfc(tunTrg); tunTeP2p.target = tunTrg.copyBytes(); tunTeP2p.setMiddles(tunFQDN); tunTeP2p.descr = cfgAll.hostName + ":" + name; tunTeP2p.expr = tunTOS; tunTeP2p.entr = tunFLW; tunTeP2p.mark = tunMRK; tunTeP2p.ttl = tunTTL; tunTeP2p.ascId = tunAscId; tunTeP2p.ascId2 = tunAscId2; tunTeP2p.ascAdr = tunAscAdr; tunTeP2p.prioS = tunPriS; tunTeP2p.prioH = tunPriH; tunTeP2p.affiE = tunAffE; tunTeP2p.affiI = tunAffI; tunTeP2p.affiM = tunAffM; tunTeP2p.bndwdt = ethtyp.getBandwidth(); tunTeP2p.recRou = tunSeq; tunTeP2p.setUpper(ethtyp); tunTeP2p.workStart(); lower = tunTeP2p; break; case teP2mp: if (tunFQDN == null) { return true; } tunTeP2mp = new clntMplsTeP2mp(); tunTeP2mp.fwdCor = tunVrf.getFwd(tunTrg); tunTeP2mp.srcIfc = tunSrc; tunTeP2mp.trgId = tunTrg.copyBytes(); tunTeP2mp.setTargets(tunFQDN); tunFQDN = tunTeP2mp.getTargets(); tunTeP2mp.descr = cfgAll.hostName + ":" + name; tunTeP2mp.expr = tunTOS; tunTeP2mp.entr = tunFLW; tunTeP2mp.mark = tunMRK; tunTeP2mp.ttl = tunTTL; tunTeP2mp.prioS = tunPriS; tunTeP2mp.prioH = tunPriH; tunTeP2mp.affiE = tunAffE; tunTeP2mp.affiI = tunAffI; tunTeP2mp.affiM = tunAffM; tunTeP2mp.bndwdt = ethtyp.getBandwidth(); tunTeP2mp.recRou = tunSeq; tunTeP2mp.setUpper(ethtyp); tunTeP2mp.workStart(); lower = tunTeP2mp; break; case bier: if (tunFQDN == null) { return true; } tunBier = new clntMplsBier(); tunBier.fwdCor = tunVrf.getFwd(tunTrg); tunBier.srcId = tunKey; tunBier.setTargets(tunFQDN); tunFQDN = tunBier.getTargets(); tunBier.expr = tunTOS; tunBier.entr = tunFLW; tunBier.mark = tunMRK; tunBier.ttl = tunTTL; tunBier.setUpper(ethtyp); tunBier.workStart(); lower = tunBier; break; case ldpP2p: tunLdpP2p = new clntMplsLdpP2p(); tunLdpP2p.fwdCor = tunVrf.getFwd(tunTrg); tunLdpP2p.trgId = tunKey; tunLdpP2p.target = tunTrg.copyBytes(); tunLdpP2p.expr = tunTOS; tunLdpP2p.entr = tunFLW; tunLdpP2p.mark = tunMRK; tunLdpP2p.ttl = tunTTL; tunLdpP2p.setUpper(ethtyp); tunLdpP2p.workStart(); lower = tunLdpP2p; break; case ldpTe: tunLdpTe = new clntMplsLdpTe(); tunLdpTe.vrf = tunVrf; tunLdpTe.trgId = tunKey; tunLdpTe.target = tunTrg.copyBytes(); tunLdpTe.srcIfc = tunSrc; tunLdpTe.setTargets(tunFQDN); tunFQDN = tunLdpTe.getTargets(); tunLdpTe.expr = tunTOS; tunLdpTe.entr = tunFLW; tunLdpTe.mark = tunMRK; tunLdpTe.ttl = tunTTL; tunLdpTe.setUpper(ethtyp); tunLdpTe.workStart(); lower = tunLdpTe; break; case ldpP2mp: tunLdpP2mp = new clntMplsLdpP2mp(); tunLdpP2mp.vrf = tunVrf; tunLdpP2mp.mp2mp = false; tunLdpP2mp.trgId = tunKey; tunLdpP2mp.target = "" + tunTrg; tunLdpP2mp.expr = tunTOS; tunLdpP2mp.entr = tunFLW; tunLdpP2mp.mark = tunMRK; tunLdpP2mp.ttl = tunTTL; tunLdpP2mp.setUpper(ethtyp); tunLdpP2mp.workStart(); lower = tunLdpP2mp; break; case ldpMp2mp: tunLdpP2mp = new clntMplsLdpP2mp(); tunLdpP2mp.vrf = tunVrf; tunLdpP2mp.mp2mp = true; tunLdpP2mp.trgId = tunKey; tunLdpP2mp.target = "" + tunTrg; tunLdpP2mp.expr = tunTOS; tunLdpP2mp.entr = tunFLW; tunLdpP2mp.mark = tunMRK; tunLdpP2mp.ttl = tunTTL; tunLdpP2mp.setUpper(ethtyp); tunLdpP2mp.workStart(); lower = tunLdpP2mp; break; case vxlan: if (tunKey < 1) { return true; } tunVxlan = new clntVxlan(); tunVxlan.target = "" + tunTrg; tunVxlan.vrf = tunVrf; tunVxlan.srcIfc = tunSrc; tunVxlan.inst = tunKey; tunVxlan.prot = tunPriS; tunVxlan.sendingTOS = tunTOS; tunVxlan.sendingDFN = tunDFN; tunVxlan.sendingFLW = tunFLW; tunVxlan.sendingTTL = tunTTL; tunVxlan.wildcard = tunSeq; tunVxlan.setUpper(ethtyp); tunVxlan.workStart(); lower = tunVxlan; break; case geneve: if (tunKey < 1) { return true; } tunGeneve = new clntGeneve(); tunGeneve.target = "" + tunTrg; tunGeneve.vrf = tunVrf; tunGeneve.srcIfc = tunSrc; tunGeneve.vni = tunKey; tunGeneve.sendingTOS = tunTOS; tunGeneve.sendingDFN = tunDFN; tunGeneve.sendingFLW = tunFLW; tunGeneve.sendingTTL = tunTTL; tunGeneve.setUpper(ethtyp); tunGeneve.workStart(); lower = tunGeneve; break; case llcudp: tunLlcudp = new clntLlcudp(); tunLlcudp.target = "" + tunTrg; tunLlcudp.vrf = tunVrf; tunLlcudp.srcIfc = tunSrc; tunLlcudp.sendingTOS = tunTOS; tunLlcudp.sendingDFN = tunDFN; tunLlcudp.sendingFLW = tunFLW; tunLlcudp.sendingTTL = tunTTL; tunLlcudp.setUpper(ethtyp); tunLlcudp.workStart(); lower = tunLlcudp; break; case tzsp: tunTzsp = new clntTzsp(); tunTzsp.target = "" + tunTrg; tunTzsp.vrf = tunVrf; tunTzsp.srcIfc = tunSrc; tunTzsp.sendingTOS = tunTOS; tunTzsp.sendingDFN = tunDFN; tunTzsp.sendingFLW = tunFLW; tunTzsp.sendingTTL = tunTTL; tunTzsp.setUpper(ethtyp); tunTzsp.workStart(); lower = tunTzsp; break; case capwap: tunCapwap = new clntCapwap(); tunCapwap.target = "" + tunTrg; tunCapwap.vrf = tunVrf; tunCapwap.srcIfc = tunSrc; tunCapwap.sendingTOS = tunTOS; tunCapwap.sendingDFN = tunDFN; tunCapwap.sendingFLW = tunFLW; tunCapwap.sendingTTL = tunTTL; tunCapwap.setUpper(ethtyp); tunCapwap.workStart(); lower = tunCapwap; break; case lwapp: tunLwapp = new clntLwapp(); tunLwapp.target = "" + tunTrg; tunLwapp.vrf = tunVrf; tunLwapp.srcIfc = tunSrc; tunLwapp.sendingTOS = tunTOS; tunLwapp.sendingDFN = tunDFN; tunLwapp.sendingFLW = tunFLW; tunLwapp.sendingTTL = tunTTL; tunLwapp.setUpper(ethtyp); tunLwapp.workStart(); lower = tunLwapp; break; case erspan: if (tunKey < 1) { return true; } tunErspan = new clntErspan(); tunErspan.target = "" + tunTrg; tunErspan.vrf = tunVrf; tunErspan.srcIfc = tunSrc; tunErspan.spnid = tunKey; tunErspan.vlnid = tunKey; tunErspan.sendingTOS = tunTOS; tunErspan.sendingDFN = tunDFN; tunErspan.sendingFLW = tunFLW; tunErspan.sendingTTL = tunTTL; tunErspan.setUpper(ethtyp); tunErspan.workStart(); lower = tunErspan; break; case dlsw: tunDlsw = new clntDlsw(); tunDlsw.target = "" + tunTrg; tunDlsw.vrf = tunVrf; tunDlsw.srcIfc = tunSrc; tunDlsw.sendingTOS = tunTOS; tunDlsw.sendingDFN = tunDFN; tunDlsw.sendingFLW = tunFLW; tunDlsw.sendingTTL = tunTTL; tunDlsw.setUpper(ethtyp); tunDlsw.workStart(); lower = tunDlsw; break; case etherip: tunEtherip = new clntEtherIp(); tunEtherip.target = "" + tunTrg; tunEtherip.vrf = tunVrf; tunEtherip.srcIfc = tunSrc; tunEtherip.sendingTOS = tunTOS; tunEtherip.sendingDFN = tunDFN; tunEtherip.sendingFLW = tunFLW; tunEtherip.sendingTTL = tunTTL; tunEtherip.setUpper(ethtyp); tunEtherip.workStart(); lower = tunEtherip; break; case sreth: tunSreth = new clntSrEth(); tunSreth.target = "" + tunTrg; tunSreth.vrf = tunVrf; tunSreth.srcIfc = tunSrc; tunSreth.sendingTOS = tunTOS; tunSreth.sendingDFN = tunDFN; tunSreth.sendingFLW = tunFLW; tunSreth.sendingTTL = tunTTL; tunSreth.setUpper(ethtyp); tunSreth.workStart(); lower = tunSreth; break; case uti: tunUti = new clntUti(); tunUti.target = "" + tunTrg; tunUti.vrf = tunVrf; tunUti.srcIfc = tunSrc; tunUti.tunKey = tunKey; tunUti.sendingTOS = tunTOS; tunUti.sendingDFN = tunDFN; tunUti.sendingFLW = tunFLW; tunUti.sendingTTL = tunTTL; tunUti.setUpper(ethtyp); tunUti.workStart(); lower = tunUti; break; case nvgre: tunNvgre = new clntNvGre(); tunNvgre.target = "" + tunTrg; tunNvgre.vrf = tunVrf; tunNvgre.srcIfc = tunSrc; tunNvgre.vsid = tunKey; tunNvgre.sendingTOS = tunTOS; tunNvgre.sendingDFN = tunDFN; tunNvgre.sendingFLW = tunFLW; tunNvgre.sendingTTL = tunTTL; tunNvgre.setUpper(ethtyp); tunNvgre.workStart(); lower = tunNvgre; break; default: lower = new ifcNull(); return true; } ethtyp.setState(state.states.up); return false; } /** * setup template usage * * @param ifc source interface */ public synchronized void setup2template(cfgIfc ifc) { if (type == tabRouteIface.ifaceType.template) { return; } if (ifc.type != tabRouteIface.ifaceType.template) { return; } template = ifc; List l = ifc.getShRun(1); l = userFilter.filterText(l, notemplF); for (int i = 1; i < l.size() - 2; i++) { doCfgStr(new cmds("template", l.get(i).trim())); } } /** * setup for transparent proxy * * @param clnt client to use */ public synchronized void setup2transproxy(clntProxy clnt) { clear2transproxy(); transProxy = new ipProxy(clnt); ethtyp.addET(ipIfc4.type, "ipv4", transProxy); ethtyp.updateET(ipIfc4.type, transProxy); ethtyp.addET(ipIfc4arp.type, "arp", transProxy); ethtyp.updateET(ipIfc4arp.type, transProxy); ethtyp.addET(ipIfc6.type, "ipv6", transProxy); ethtyp.updateET(ipIfc6.type, transProxy); } /** * clear transparent proxy */ public synchronized void clear2transproxy() { if (transProxy == null) { return; } transProxy.closeUp(); transProxy = null; ethtyp.delET(ipIfc4.type); ethtyp.delET(ipIfc4arp.type); ethtyp.delET(ipIfc6.type); } /** * propagate ethertype state */ public void propagateEthtypState() { if ((bundleIfc != null) || (bridgeIfc != null)) { return; } if ((bundleHed == null) && (bridgeHed == null)) { return; } for (int i = 0; i < cfgAll.ifaces.size(); i++) { cfgIfc ntry = cfgAll.ifaces.get(i); if (ntry == null) { continue; } if ((ntry.bundleIfc == null) && (ntry.bridgeIfc == null)) { continue; } if ((ntry.bundleHed != bundleHed) || (ntry.bridgeHed != bridgeHed)) { continue; } ntry.ethtyp.forcedDN = ethtyp.forcedDN; ntry.ethtyp.forcedUP = ethtyp.forcedUP; ntry.ethtyp.forcedMTU = ethtyp.forcedMTU; ntry.ethtyp.propagateState(); } } /** * get encapsulator protocol handler * * @return handler */ public synchronized ifcUp getEncapProto() { if (hdlc != null) { return hdlc; } if (isdn != null) { return isdn; } if (ipOnly != null) { return ipOnly; } if (raw != null) { return raw; } if (sep != null) { return sep; } if (frmrly != null) { return frmrly; } if (ppp != null) { return ppp; } if (lapb != null) { return lapb; } if (atmdxi != null) { return atmdxi; } if (atmsar != null) { return atmsar; } if (arcnet != null) { return arcnet; } if (infiniband != null) { return infiniband; } return null; } /** * set lower layer * * @param l lower handler */ public void setLowerHandler(ifcDn l) { lower = l; ifcUp e = getEncapProto(); if (e == null) { return; } lower.setUpper(e); } /** * setup interface pppoe client * * @param dialer dialer interface to use * @return false on success, true on error */ public synchronized boolean setup2pppoeClnt(cfgIfc dialer) { if (pppoeC != null) { pppoeC.sendPADt(); pppoeC.clnIfc.lower = new ifcNull(); pppoeC.restartTimer(true); pppoeC = null; ethtyp.delET(packPppOE.typeCtr); ethtyp.delET(packPppOE.typeDat); } if (dialer == null) { return true; } if (dialer.type != tabRouteIface.ifaceType.dialer) { return true; } ifcUp enc = dialer.getEncapProto(); if (enc == null) { return true; } pppoeC = new ifcP2pOEclnt(); pppoeC.clnIfc = dialer; dialer.lower = pppoeC; pppoeC.setUpper(enc); ethtyp.addET(packPppOE.typeCtr, "pppoeCctrl", pppoeC); ethtyp.updateET(packPppOE.typeCtr, pppoeC); ethtyp.addET(packPppOE.typeDat, "pppoeCdata", pppoeC); ethtyp.updateET(packPppOE.typeDat, pppoeC); enc.setState(state.states.up); return false; } /** * setup interface pppoe server * * @param dialer dialer interface to use * @param cmd optional parameters * @return false on success, true on error */ public synchronized boolean setup2pppoeServ(cfgIfc dialer, cmds cmd) { if (pppoeS != null) { pppoeS.closeUp(); pppoeS = null; ethtyp.delET(packPppOE.typeCtr); ethtyp.delET(packPppOE.typeDat); } if (dialer == null) { return true; } if (dialer.type != tabRouteIface.ifaceType.dialer) { return true; } dialer.lower = new ifcNull(); pppoeS = new ifcP2pOEserv(); pppoeS.clnIfc = dialer; pppoeS.pktIfc = this; ethtyp.addET(packPppOE.typeCtr, "pppoeSctrl", pppoeS); ethtyp.updateET(packPppOE.typeCtr, pppoeS); ethtyp.addET(packPppOE.typeDat, "pppoeSdata", pppoeS); ethtyp.updateET(packPppOE.typeDat, pppoeS); for (;;) { String a = cmd.word(); if (a.length() < 1) { break; } if (a.equals("name")) { pppoeS.serviceNam = cmd.word(); continue; } if (a.equals("delay")) { pppoeS.serviceDly = bits.str2num(cmd.word()); continue; } if (a.equals("sessions")) { pppoeS.serviceMax = bits.str2num(cmd.word()); continue; } } return false; } /** * setup interface pppoe relay * * @param serial serial interface to use * @param cmd optional parameters * @return false on success, true on error */ public synchronized boolean setup2pppoeRely(cfgIfc serial, cmds cmd) { if (pppoeR != null) { if (pppoeR.ser != null) { pppoeR.clnIfc.ethtyp.delET(-1); } else { pppoeR.clnIfc.lower = new ifcNull(); } pppoeR.closeUp(); pppoeR = null; ethtyp.delET(packPppOE.typeCtr); ethtyp.delET(packPppOE.typeDat); } if (serial == null) { return true; } switch (serial.type) { case serial: case virtppp: pppoeR = new ifcP2pOErely(true); serial.ethtyp.addET(-1, "pppoeR", pppoeR.ser); serial.ethtyp.updateET(-1, pppoeR.ser); break; case dialer: ifcUp enc = serial.getEncapProto(); if (enc == null) { return true; } pppoeR = new ifcP2pOErely(false); pppoeR.diaI.setUpper(enc); enc.setState(state.states.up); serial.lower = pppoeR.diaI; break; default: return true; } pppoeR.clnIfc = serial; ethtyp.addET(packPppOE.typeCtr, "pppoeRctrl", pppoeR); ethtyp.updateET(packPppOE.typeCtr, pppoeR); ethtyp.addET(packPppOE.typeDat, "pppoeRdata", pppoeR); ethtyp.updateET(packPppOE.typeDat, pppoeR); for (;;) { String a = cmd.word(); if (a.length() < 1) { break; } if (a.equals("name")) { pppoeR.serviceNam = cmd.word(); continue; } if (a.equals("delay")) { pppoeR.serviceDly = bits.str2num(cmd.word()); continue; } } return false; } /** * setup interface eapol client * * @param user username to use * @param pass password to use * @return false on success, true on error */ public synchronized boolean setup2eapolClnt(String user, String pass) { if (eapolC != null) { eapolC.restartTimer(true); eapolC = null; ethtyp.delET(packEapOL.type); } if (user == null) { return true; } if (pass == null) { return true; } eapolC = new ifcEapOLclnt(); eapolC.username = user; eapolC.password = pass; ethtyp.addET(packEapOL.type, "eapolC", eapolC); ethtyp.updateET(packEapOL.type, eapolC); return false; } /** * setup interface eapol server * * @param auth authentication list * @return false on success, true on error */ public synchronized boolean setup2eapolServ(cfgAuther auth) { if (eapolS != null) { eapolS = null; } if (auth == null) { return true; } eapolS = new ifcEapOLserv(auth.getAuther()); ethtyp.addET(packEapOL.type, "eapolS", eapolS); ethtyp.updateET(packEapOL.type, eapolS); return false; } /** * update ip for mpls packet */ public synchronized void update2mpls() { if (ipIf4 != null) { ipIf4.setMpls(mplsPack); } if (ipIf6 != null) { ipIf6.setMpls(mplsPack); } } /** * setup interface mpls packet */ public synchronized void setup2mpls() { if (vrfFor == null) { return; } clear2mpls(); mplsPack = new ipMpls(vrfFor.fwd4, vrfFor.fwd6, ethtyp); mplsPack.register2eth(); update2mpls(); } /** * clear interface mpls packet */ public synchronized void clear2mpls() { ipMpls hnd = new ipMpls(null, null, ethtyp); hnd.unregister2eth(); mplsPack = null; update2mpls(); } /** * update ip for mpls packet */ public synchronized void update2polka() { if (ipIf4 != null) { ipIf4.setPolka(polkaPack); } if (ipIf6 != null) { ipIf6.setPolka(polkaPack); } if ((polkaPack != null) && (vrfFor != null)) { polkaPack.fwd4 = vrfFor.fwd4; polkaPack.fwd6 = vrfFor.fwd6; polkaPack.fwdM = mplsPack; } } /** * setup interface polka packet * * @param id local id * @param bas crc base * @param max crc max */ public synchronized void setup2polka(int id, int bas, int max) { if (vrfFor == null) { return; } clear2polka(); polkaPack = new ifcPolka(ethtyp, id, bas, max); ethtyp.addET(ifcPolka.type, "polka", polkaPack); ethtyp.updateET(ifcPolka.type, polkaPack); update2polka(); } /** * clear interface polka packet */ public synchronized void clear2polka() { polkaPack = null; ethtyp.delET(ifcPolka.type); update2polka(); } /** * setup interface nsh packet */ public synchronized void setup2nshFwd() { clear2nshFwd(); nshPack = new ifcNshFwd(); ethtyp.nshFwd = nshPack; ethtyp.addET(ifcNshFwd.type, "nsh", nshPack); ethtyp.updateET(ifcNshFwd.type, nshPack); } /** * clear interface nsh packet */ public synchronized void clear2nshFwd() { nshPack = null; ethtyp.nshFwd = null; ethtyp.delET(ifcNshFwd.type); } /** * setup interface nsh packet * * @param p service path * @param i service index */ public synchronized void setup2nshXcn(int p, int i) { nshXcon = new ifcNshXcn(); nshXcon.sp = p; nshXcon.si = i; ethtyp.addET(-1, "nshx", nshXcon); ethtyp.updateET(-1, nshXcon); nshXcon.setPromiscous(true); } /** * clear interface nsh packet */ public synchronized void clear2nshXcn() { if (nshXcon == null) { return; } ethtyp.delET(-1); nshXcon = null; } /** * setup interface ldp processing * * @param ver ip version * @param cmd parameters */ public synchronized void setup2ldp(int ver, cmds cmd) { clear2ldp(ver); cfgIfc ifc = cfgAll.ifcFind(cmd.word(), 0); if (ifc == null) { ifc = this; } if (ver == 4) { if (fwdIf4 == null) { return; } if (ifc.fwdIf4 == null) { return; } mplsLdp4 = new rtrLdpIface(vrfFor.fwd4, vrfFor.udp4, vrfFor.tcp4, fwdIf4, ifc.fwdIf4, ifc); mplsLdp4.register2udp(); } else { if (fwdIf6 == null) { return; } if (ifc.fwdIf6 == null) { return; } mplsLdp6 = new rtrLdpIface(vrfFor.fwd6, vrfFor.udp6, vrfFor.tcp6, fwdIf6, ifc.fwdIf6, ifc); mplsLdp6.register2udp(); } } /** * clear interface ldp processing * * @param ver ip version */ public synchronized void clear2ldp(int ver) { if (ver == 4) { if (mplsLdp4 == null) { return; } mplsLdp4.unregister2udp(); mplsLdp4 = null; } else { if (mplsLdp6 == null) { return; } mplsLdp6.unregister2udp(); mplsLdp6 = null; } } /** * get ldp interface * * @param adr address to check * @return ldp interface, null if unconfigured */ public rtrLdpIface getLdpIface(addrIP adr) { if (adr.isIPv4()) { return mplsLdp4; } else { return mplsLdp6; } } /** * setup targeted ldp session * * @param trg peer address */ public synchronized void setup2ldptrg(String trg) { clntMplsTrg clnt = new clntMplsTrg(); clnt.target = new addrIP(); if (clnt.target.fromString(trg)) { return; } clnt.vrf = vrfFor; clnt.srcIfc = this; clnt.ldpIfc = getLdpIface(clnt.target); if (mplsTarget.add(clnt) != null) { return; } clnt.workStart(); } /** * clear targeted ldp session * * @param trg peer address */ public synchronized void clear2ldptrg(String trg) { clntMplsTrg clnt = new clntMplsTrg(); clnt.target = new addrIP(); if (clnt.target.fromString(trg)) { return; } clnt = mplsTarget.del(clnt); if (clnt == null) { return; } clnt.workStop(); } /** * setup static peer usage * * @param ver ip version * @param per peer address, null to remove * @param hop nexthop address to fake */ public synchronized void setup2statPeer(int ver, String per, String hop) { ipFwdIface ifc; if (ver == 4) { ifc = fwdIf4; } else { ifc = fwdIf6; } if (ifc == null) { return; } if (per == null) { ifc.mplPeer = null; ifc.mplHop = null; return; } ifc.mplPeer = new addrIP(); ifc.mplPeer.fromString(per); ifc.mplHop = new addrIP(); ifc.mplHop.fromString(hop); } /** * setup static label binding * * @param net prefix * @param nxh address * @param lab label * @param add add or del */ public synchronized void setup2statLabel(String net, String nxh, int lab, boolean add) { addrPrefix pfx = addrPrefix.str2ip(net); if (pfx == null) { return; } addrIP hop = new addrIP(); if (hop.fromString(nxh)) { return; } ipFwdIface ifc = getFwdIfc(hop); if (ifc == null) { return; } if (add) { ifc.labelsPut(pfx, hop, lab); } else { ifc.labelsDel(pfx, hop); } } /** * setup ldp password * * @param trg peer address * @param pwd password * @param add add or del */ public synchronized void addeLdppwd(String trg, String pwd, boolean add) { addrIP adr = new addrIP(); if (adr.fromString(trg)) { return; } ipFwdIface ifc = getFwdIfc(adr); if (ifc == null) { return; } if (add) { ifc.ldpasPut(adr, pwd); } else { ifc.ldpasDel(adr); } } /** * setup interface rsvp processing * * @param ver ip version */ public synchronized void setup2rsvp(int ver) { clear2rsvp(ver); if (ver == 4) { if (fwdIf4 == null) { return; } mplsRsvp4 = new rtrRsvpIface(vrfFor.fwd4, fwdIf4); mplsRsvp4.register2ip(); } else { if (fwdIf6 == null) { return; } mplsRsvp6 = new rtrRsvpIface(vrfFor.fwd6, fwdIf6); mplsRsvp6.register2ip(); } } /** * clear interface rsvp processing * * @param ver ip version */ public synchronized void clear2rsvp(int ver) { if (ver == 4) { if (mplsRsvp4 == null) { return; } mplsRsvp4.unregister2ip(); mplsRsvp4 = null; } else { if (mplsRsvp6 == null) { return; } mplsRsvp6.unregister2ip(); mplsRsvp6 = null; } } /** * look up tunnel domain name */ public void tunnelDomainName() { if (type != tabRouteIface.ifaceType.tunnel) { return; } if (tunFQDN == null) { return; } if (tunTrg == null) { return; } addrIP adr = clntDns.justResolv(tunFQDN, 0); if (adr == null) { return; } if (adr.compareTo(tunTrg) == 0) { return; } tunTrg = adr; setup2tunnel(); } /** * set bandwidth based on traffic */ public void autoBandwidth() { if (autoBndWdt == 0) { return; } history hst; if (ethtyp.hwCntr == null) { hst = ethtyp.getHistory(); } else { hst = ethtyp.hwHstry; } long i = hst.getAutoBw(autoBndWdt); if (i < 1) { i = 1; } ethtyp.forcedBW = i * 8; if (bundleHed != null) { bundleHed.bundleHed.propagateState(); } } /** * update interface history */ public void updateHistory() { ethtyp.getHistory().update(ethtyp.getCounter(), true); } /** * follow tracker */ public void followTracker() { if (followTrack == null) { return; } cfgTrack trck = cfgAll.trackFind(followTrack, false); if (trck == null) { logger.warn("interface " + name + " cannot find the tracker"); return; } final int myVal = 8; int res = 0; if (!trck.worker.getStatus()) { res = myVal; } if ((ethtyp.forcedDN & myVal) == res) { return; } ethtyp.forcedDN = (ethtyp.forcedDN & (~myVal)) | res; ethtyp.propagateState(); propagateEthtypState(); } /** * get interface statistics * * @param mode mode to use: 1=counters, 2..10=history, 11=hwcounters, * 12..20=hwhistory, 21..26-swbwmon, 27..32-hwbwmon * @return string list */ public List getShIntTxt(int mode) { List l = new ArrayList(); switch (mode) { case 1: counter cntr = ethtyp.getCounter(); l.add(ethtyp.getShHeads()); l.add(cmds.tabulator + "description: " + description); l.add(cmds.tabulator + "state changed " + cntr.getShTrans()); l.add(cmds.tabulator + "last packet " + cntr.getShTraff()); String a = " hwaddr is " + ethtyp.getHwAddr() + " mtu is " + ethtyp.getMTUsize() + " bw is " + bits.bandwidth(ethtyp.getBandwidth()); if (vrfFor != null) { a += " vrf is " + vrfFor.name; } if (bridgeIfc != null) { a += " bridge is " + bridgeHed.number; } if (bundleIfc != null) { a += " bundle is " + bundleHed.name; } if (carrierDelay != 0) { a += " carrdel is " + carrierDelay; } l.add(cmds.tabulator + "type is " + type2string() + a); if (fwdIf4 != null) { l.add(cmds.tabulator + "ipv4 address is " + addr4 + "/" + mask4.toNetmask() + " ifcid=" + fwdIf4.ifwNum); } if (fwdIf6 != null) { l.add(cmds.tabulator + "ipv6 address is " + addr6 + "/" + mask6.toNetmask() + " ifcid=" + fwdIf6.ifwNum); } if (ipxIfc != null) { l.add(cmds.tabulator + "ipx address is " + ipxAddr + " ifcid=" + ipxIfc.ifwNum); } l.addAll(ethtyp.getCounter().getShFull(ethtyp.getMacsec(), ethtyp.getSgt())); break; case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: l.addAll(ethtyp.getHistory().show(mode - 1)); break; case 11: if (ethtyp.hwCntr == null) { return null; } l.addAll(ethtyp.hwCntr.getShFull(ethtyp.getMacsec(), ethtyp.getSgt())); break; case 12: case 13: case 14: case 15: case 16: case 17: case 18: case 19: case 20: if (ethtyp.hwHstry == null) { return null; } l.addAll(ethtyp.hwHstry.show(mode - 11)); break; case 21: case 22: case 23: case 24: case 25: case 26: l.add(name + " - " + description); l.addAll(ethtyp.getHistory().show(mode - 11)); break; case 27: case 28: case 29: case 30: case 31: case 32: l.add(name + " - " + description); if (ethtyp.hwHstry == null) { return l; } l.addAll(ethtyp.hwHstry.show(mode - 17)); break; } return l; } /** * get interface statistics * * @param l list to update * @param mode mode to use: 1=descr, 2=sumary, 3=vrf, 4=ip4, 5=ip6, 6=cdp, * 7=lldp, 8=udld, 9=trafic, 10=total, 11=psumary, 12=ptrafic, 13=ptotal, * 14=lacp, 15=hwsum, 16=hwpsum, 17=hwtrafic, 18=hwptrafic, 19=swsum, * 20=swpsum, 21=swtrafic, 22=swptrafic, 23=hwtot, 24=hwptot, 25=swtot, * 26=swptot, 27=stat, 28=last, 29=bprat, 30=hwswrat, 31=hwswprat, 32=lldp * 33=udld, 34=lacp, 35=cdp */ public void getShIntTab(userFormat l, int mode) { switch (mode) { case 1: l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + description); break; case 2: l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + ethtyp.getCounter().getShHwBsum(ethtyp.hwCntr)); break; case 3: l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + ethtyp.getBandwidth() + "|" + (vrfFor == null ? "n/a" : vrfFor.name)); break; case 4: if (addr4 == null) { break; } l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + addr4 + "|" + mask4); break; case 5: if (addr6 == null) { break; } l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + addr6 + "|" + mask6); break; case 6: if (cdp == null) { break; } l.add(cdp.getShNeigh(false)); break; case 7: if (lldp == null) { break; } l.add(lldp.getShNeigh(false)); break; case 8: if (udld == null) { break; } l.add(udld.getShNeigh(false)); break; case 9: l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + ethtyp.getHistory().getShHwSum(ethtyp.hwHstry)); break; case 10: l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + ethtyp.getTotalCntr().getShHwBsum(ethtyp.getHwTotalCntr())); break; case 11: l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + ethtyp.getCounter().getShHwPsum(ethtyp.hwCntr)); break; case 12: l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + ethtyp.getHistory().getShHwPSum(ethtyp.hwHstry)); break; case 13: l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + ethtyp.getTotalCntr().getShHwPsum(ethtyp.getHwTotalCntr())); break; case 14: if (lacp == null) { break; } l.add(lacp.getShNeigh(false)); break; case 15: if (ethtyp.hwCntr == null) { break; } l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + ethtyp.hwCntr.getShBsum()); break; case 16: if (ethtyp.hwCntr == null) { break; } l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + ethtyp.hwCntr.getShPsum()); break; case 17: if (ethtyp.hwHstry == null) { break; } l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + ethtyp.hwHstry.getShSum()); break; case 18: if (ethtyp.hwHstry == null) { break; } l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + ethtyp.hwHstry.getShPSum()); break; case 19: l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + ethtyp.getCounter().getShBsum()); break; case 20: l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + ethtyp.getCounter().getShPsum()); break; case 21: l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + ethtyp.getHistory().getShSum()); break; case 22: l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + ethtyp.getHistory().getShPSum()); break; case 23: l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + counter.getShBsum(ethtyp.getHwTotalCntr())); break; case 24: l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + counter.getShPsum(ethtyp.getHwTotalCntr())); break; case 25: l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + ethtyp.getTotalCntr().getShBsum()); break; case 26: l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + ethtyp.getTotalCntr().getShPsum()); break; case 27: counter cntr = ethtyp.getCounter(); l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + ethtyp.getMTUsize() + "|" + ethtyp.getPromisc() + "|" + ethtyp.getMacsec() + "|" + ethtyp.getSgt() + "|" + cntr.stateChg + "|" + bits.timePast(cntr.lastChgd) + "|" + bits.time2str(cfgAll.timeZoneName, cntr.lastChgd + cfgAll.timeServerOffset, 3)); break; case 28: cntr = ethtyp.getCounter(); l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + bits.timePast(cntr.lastRx) + "|" + bits.timePast(cntr.lastTx) + "|" + bits.timePast(cntr.lastDr)); break; case 29: if (ethtyp.hwCntr == null) { cntr = null; } else { cntr = ethtyp.hwCntr.bpRat(); } l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + ethtyp.getCounter().bpRat().getShHwBsum(cntr)); break; case 30: l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + counter.getShBsum(ethtyp.getCounter().othRat(ethtyp.hwCntr))); break; case 31: l.add(name + "|" + state.conv2string(ethtyp.getState()) + "|" + counter.getShPsum(ethtyp.getCounter().othRat(ethtyp.hwCntr))); break; case 32: l.add(name + "|" + (lldp != null)); break; case 33: l.add(name + "|" + (udld != null)); break; case 34: l.add(name + "|" + (lacp != null)); break; case 35: l.add(name + "|" + (cdp != null)); break; } } public String getPrompt() { if (parent != null) { return "subif"; } return "if"; } public List getShRun(int filter) { List l = new ArrayList(); if (hidden) { return l; } if ((cloned != null) && ((filter & 0x40000000) == 0)) { return l; } l.add("interface " + name); cmds.cfgLine(l, description.length() < 1, cmds.tabulator, "description", description); cmds.cfgLine(l, ethtyp.forcedMTU < 1, cmds.tabulator, "mtu", "" + ethtyp.forcedMTU); if (autoBndWdt == 0) { cmds.cfgLine(l, ethtyp.forcedBW < 1, cmds.tabulator, "bandwidth", "" + (ethtyp.forcedBW / 1000)); } else { String s = ""; switch (autoBndWdt & 0xf) { case 0x1: s += " rx"; break; case 0x2: s += " tx"; break; case 0x3: s += " both"; break; } switch (autoBndWdt & 0xf0) { case 0x10: s += " second"; break; case 0x20: s += " minute-average"; break; case 0x30: s += " minute-maximum"; break; case 0x40: s += " hour-average"; break; case 0x50: s += " hour-maximum"; break; } l.add(cmds.tabulator + "bandwidth auto" + s); } cmds.cfgLine(l, ethtyp.forcedMac == null, cmds.tabulator, "macaddr", "" + ethtyp.forcedMac); l.add(cmds.tabulator + "padup " + ethtyp.padupMin + " " + ethtyp.padupMod); String s; switch (ethtyp.monDir) { case 0x0: s = "none"; break; case 0x1: s = "rx"; break; case 0x2: s = "tx"; break; case 0x3: s = "both"; break; default: s = "unknown"; break; } l.add(cmds.tabulator + "monitor-direction " + s); l.add(cmds.tabulator + "monitor-truncate " + ethtyp.monTrnc); l.add(cmds.tabulator + "monitor-sample " + ethtyp.monSmpN); cmds.cfgLine(l, ethtyp.monFlt == null, cmds.tabulator, "monitor-filter", "" + ethtyp.monFlt); cmds.cfgLine(l, ethtyp.monSes == null, cmds.tabulator, "monitor-session", "" + ethtyp.monSes); cmds.cfgLine(l, ethtyp.monBufD == null, cmds.tabulator, "monitor-buffer", "" + ethtyp.getMonBufSize()); cmds.cfgLine(l, lldp == null, cmds.tabulator, "lldp enable", ""); cmds.cfgLine(l, cdp == null, cmds.tabulator, "cdp enable", ""); if (cdp != null) { cmds.cfgLine(l, cdp.odr4 == null, cmds.tabulator, "cdp odr4", "" + cdp.odr4); cmds.cfgLine(l, cdp.odr6 == null, cmds.tabulator, "cdp odr6", "" + cdp.odr6); } cmds.cfgLine(l, synce == null, cmds.tabulator, "synceth enable", ""); if (ptp == null) { l.add(cmds.tabulator + "no ptp enable"); } else { l.add(cmds.tabulator + "ptp enable"); cmds.cfgLine(l, !ptp.receive, cmds.tabulator, "ptp receive", ""); } if (carrierDelay != 0) { l.add(cmds.tabulator + "carrier-delay " + carrierDelay); } else { l.add(cmds.tabulator + "no carrier-delay"); } cmds.cfgLine(l, lacp == null, cmds.tabulator, "lacp", ifcLacp.getCfg(lacp)); cmds.cfgLine(l, udld == null, cmds.tabulator, "udld enable", ""); cmds.cfgLine(l, radioTap == null, cmds.tabulator, "radiotap enable", ""); if (radioTap != null) { l.add(cmds.tabulator + "radiotap timeout " + radioTap.timeOut); cmds.cfgLine(l, !radioTap.logging, cmds.tabulator, "radiotap logging", ""); } if (nhrp != null) { cmds.cfgLine(l, nhrp.ip4 == null, cmds.tabulator, "nhrp ipv4", "" + nhrp.ip4); cmds.cfgLine(l, nhrp.ip6 == null, cmds.tabulator, "nhrp ipv6", "" + nhrp.ip6); } s = null; if (vlanHed != null) { s = "" + vlanHed; int i = s.indexOf(" "); s = s.substring(0, i); } if (s != null) { l.add(cmds.tabulator + "encapsulation " + s); } switch (type) { case serial: case dialer: case virtppp: if (vlanNum != 0) { break; } s = "none"; if (hdlc != null) { s = "hdlc"; } if (isdn != null) { s = "isdn"; } if (ipOnly != null) { s = "iponly"; } if (ppp != null) { s = "ppp"; } if (lapb != null) { s = "lapb"; } if (raw != null) { s = "raw"; } if (sep != null) { s = "sep"; } if (frmrly != null) { s = "framerelay"; } if (frmppp != null) { s = "frppp"; } if (frmrfc != null) { s = "frrfc"; } if (atmdxi != null) { s = "atmdxi"; } l.add(cmds.tabulator + "encapsulation " + s); break; case tunnel: if (vlanNum != 0) { break; } cmds.cfgLine(l, !tunSeq, cmds.tabulator, "tunnel sequence-datagrams", ""); cmds.cfgLine(l, !tunSum, cmds.tabulator, "tunnel checksum", ""); cmds.cfgLine(l, !tunShut, cmds.tabulator, "tunnel shutdown", ""); s = ""; if (tunKey2 != 0) { s = " " + tunKey2; } l.add(cmds.tabulator + "tunnel key " + tunKey + s); l.add(cmds.tabulator + "tunnel tos " + tunTOS); l.add(cmds.tabulator + "tunnel dontfrag " + tunDFN); l.add(cmds.tabulator + "tunnel flow " + tunFLW); l.add(cmds.tabulator + "tunnel mark " + tunMRK); l.add(cmds.tabulator + "tunnel ttl " + tunTTL); l.add(cmds.tabulator + "tunnel priority " + tunPriS + " " + tunPriH); l.add(cmds.tabulator + "tunnel affinity " + tunAffE + " " + tunAffI + " " + tunAffM); if (tunAscAdr == null) { l.add(cmds.tabulator + "no tunnel association"); } else { s = ""; if (tunAscId2 != 0) { s = " " + tunAscId2; } l.add(cmds.tabulator + "tunnel association " + tunAscAdr + " " + tunAscId + s); } if (tunVrf == null) { l.add(cmds.tabulator + "no tunnel vrf"); } else { l.add(cmds.tabulator + "tunnel vrf " + tunVrf.name); } if (tunPrt == null) { l.add(cmds.tabulator + "no tunnel protection"); } else { l.add(cmds.tabulator + "tunnel protection " + tunPrt.name); } if (tunSrc == null) { l.add(cmds.tabulator + "no tunnel source"); } else { l.add(cmds.tabulator + "tunnel source " + tunSrc.name); } cmds.cfgLine(l, tunTrg == null, cmds.tabulator, "tunnel destination", "" + tunTrg); cmds.cfgLine(l, tunFQDN == null, cmds.tabulator, "tunnel domain-name", "" + tunFQDN); s = tunnelMode(true); cmds.cfgLine(l, s.length() < 1, cmds.tabulator, "tunnel mode", s); break; default: break; } if (hdlc != null) { hdlc.getConfig(l, cmds.tabulator + "hdlc "); } if (isdn != null) { isdn.getConfig(l, cmds.tabulator + "isdn "); } if (ppp != null) { ppp.getConfig(l, cmds.tabulator + "ppp ", filter); } if (sep != null) { sep.getConfig(l, cmds.tabulator + "sep "); } if (vlanHed != null) { vlanHed.vlnGetConfig(l, cmds.tabulator); } if (qinqx != null) { qinqx.getConfig(l, cmds.tabulator + "qinqx "); } if (atmdxi != null) { atmdxi.getConfig(l, cmds.tabulator + "atmdxi "); } if (atmsar != null) { atmsar.getConfig(l, cmds.tabulator + "atmsar "); } if (frmrly != null) { frmrly.getConfig(l, cmds.tabulator + "framerelay "); } if (lapb != null) { lapb.getConfig(l, cmds.tabulator + "lapb "); } cmds.cfgLine(l, random == null, cmds.tabulator, "random", "" + ifcRandom.getCfg(random)); cmds.cfgLine(l, !disableMacsec, cmds.tabulator, "disable-macsec", ""); cmds.cfgLine(l, !disableSgt, cmds.tabulator, "disable-sgt", ""); cmds.cfgLine(l, ethtyp.macSec == null, cmds.tabulator, "macsec", "" + ethtyp.macSec); cmds.cfgLine(l, ethtyp.lossDet == null, cmds.tabulator, "loss-detection", "" + ethtyp.lossDet); cmds.cfgLine(l, ethtyp.rateIn == null, cmds.tabulator, "rate-limit-in", "" + ethtyp.rateIn); cmds.cfgLine(l, ethtyp.rateOut == null, cmds.tabulator, "rate-limit-out", "" + ethtyp.rateOut); cmds.cfgLine(l, ethtyp.sgtHnd == null, cmds.tabulator, "sgt enable", ""); if (ethtyp.sgtHnd != null) { cmds.cfgLine(l, ethtyp.sgtHnd.optional < 0, cmds.tabulator, "sgt optional", "" + ethtyp.sgtHnd.optional); cmds.cfgLine(l, ethtyp.sgtHnd.allowIn == null, cmds.tabulator, "sgt allow-in", tabIndex.convertTable(ethtyp.sgtHnd.allowIn)); cmds.cfgLine(l, ethtyp.sgtHnd.allowOut == null, cmds.tabulator, "sgt allow-out", tabIndex.convertTable(ethtyp.sgtHnd.allowOut)); cmds.cfgLine(l, ethtyp.sgtHnd.forbidIn == null, cmds.tabulator, "sgt forbid-in", tabIndex.convertTable(ethtyp.sgtHnd.forbidIn)); cmds.cfgLine(l, ethtyp.sgtHnd.forbidOut == null, cmds.tabulator, "sgt forbid-out", tabIndex.convertTable(ethtyp.sgtHnd.forbidOut)); } cmds.cfgLine(l, ethtyp.sgtSet < 0, cmds.tabulator, "sgt assign", "" + ethtyp.sgtSet); s = "none"; if (ethtyp.mtuCheckRx) { s = "in"; } if (ethtyp.mtuCheckTx) { s = "out"; } if (ethtyp.mtuCheckRx && ethtyp.mtuCheckTx) { s = "both"; } l.add(cmds.tabulator + "enforce-mtu " + s); s = "none"; if (ethtyp.macCheckRx != null) { s = "in"; } if (ethtyp.macCheckTx != null) { s = "out"; } if ((ethtyp.macCheckRx != null) && (ethtyp.macCheckTx != null)) { s = "both"; } l.add(cmds.tabulator + "enforce-mac " + s); if (pppoeC == null) { l.add(cmds.tabulator + "no p2poe client"); } else { l.add(cmds.tabulator + "p2poe client " + pppoeC.clnIfc.name); } cmds.cfgLine(l, pppoeS == null, cmds.tabulator, "p2poe server", "" + pppoeS); cmds.cfgLine(l, pppoeR == null, cmds.tabulator, "p2poe relay", "" + pppoeR); if (eapolC == null) { l.add(cmds.tabulator + "no eapol client"); } else { l.add(cmds.tabulator + "eapol client " + eapolC.username + " " + eapolC.password); } if (eapolS == null) { l.add(cmds.tabulator + "no eapol server"); } else { l.add(cmds.tabulator + "eapol server " + eapolS.auther.autName); } if (bridgeIfc == null) { l.add(cmds.tabulator + "no bridge-group"); } else { l.add(cmds.tabulator + "bridge-group " + bridgeHed.number); cmds.cfgLine(l, !bridgeIfc.privatePort, cmds.tabulator, "bridge-filter private-port", ""); cmds.cfgLine(l, !bridgeIfc.publicPort, cmds.tabulator, "bridge-filter public-port", ""); cmds.cfgLine(l, !bridgeIfc.fltrStpIn, cmds.tabulator, "bridge-filter stp-in", ""); cmds.cfgLine(l, !bridgeIfc.fltrStpOut, cmds.tabulator, "bridge-filter stp-out", ""); cmds.cfgLine(l, !bridgeIfc.fltrStpRoot, cmds.tabulator, "bridge-filter stp-root", ""); cmds.cfgLine(l, bridgeIfc.filter4in == null, cmds.tabulator, "bridge-filter ipv4in", "" + bridgeIfc.filter4in); cmds.cfgLine(l, bridgeIfc.filter4out == null, cmds.tabulator, "bridge-filter ipv4out", "" + bridgeIfc.filter4out); cmds.cfgLine(l, bridgeIfc.filter6in == null, cmds.tabulator, "bridge-filter ipv6in", "" + bridgeIfc.filter6in); cmds.cfgLine(l, bridgeIfc.filter6out == null, cmds.tabulator, "bridge-filter ipv6out", "" + bridgeIfc.filter6out); cmds.cfgLine(l, bridgeIfc.macRewrite == null, cmds.tabulator, "bridge-macrewrite", "" + bridgeIfc.macRewrite); cmds.cfgLine(l, bridgeIfc.tcp4mssIn == 0, cmds.tabulator, "bridge-tcp-mss ipv4in", "" + bridgeIfc.tcp4mssIn); cmds.cfgLine(l, bridgeIfc.tcp4mssOut == 0, cmds.tabulator, "bridge-tcp-mss ipv4out", "" + bridgeIfc.tcp4mssOut); cmds.cfgLine(l, bridgeIfc.tcp6mssIn == 0, cmds.tabulator, "bridge-tcp-mss ipv6in", "" + bridgeIfc.tcp6mssIn); cmds.cfgLine(l, bridgeIfc.tcp6mssOut == 0, cmds.tabulator, "bridge-tcp-mss ipv6out", "" + bridgeIfc.tcp6mssOut); cmds.cfgLine(l, bridgeIfc.pmtud4valIn == 0, cmds.tabulator, "bridge-pmtud ipv4in", bridgeIfc.pmtud4valIn + " " + bridgeIfc.pmtud4adrIn); cmds.cfgLine(l, bridgeIfc.pmtud4valOut == 0, cmds.tabulator, "bridge-pmtud ipv4out", bridgeIfc.pmtud4valOut + " " + bridgeIfc.pmtud4adrOut); cmds.cfgLine(l, bridgeIfc.pmtud6valIn == 0, cmds.tabulator, "bridge-pmtud ipv6in", bridgeIfc.pmtud6valIn + " " + bridgeIfc.pmtud6adrIn); cmds.cfgLine(l, bridgeIfc.pmtud6valOut == 0, cmds.tabulator, "bridge-pmtud ipv6out", bridgeIfc.pmtud6valOut + " " + bridgeIfc.pmtud6adrOut); if (bridgeIfc.statAddr == null) { l.add(cmds.tabulator + "no bridge-staticaddr"); } else { s = ""; for (int i = 0; i < bridgeIfc.statAddr.size(); i++) { s += " " + bridgeIfc.statAddr.get(i); } l.add(cmds.tabulator + "bridge-staticaddr" + s); } if (bridgeIfc.portSec == null) { l.add(cmds.tabulator + "no bridge-portsecurity"); } else { s = ""; for (int i = 0; i < bridgeIfc.portSec.size(); i++) { s += " " + bridgeIfc.portSec.get(i); } l.add(cmds.tabulator + "bridge-portsecurity" + s); } } if (bundleIfc == null) { l.add(cmds.tabulator + "no bundle-group"); } else { l.add(cmds.tabulator + "bundle-group " + bundleHed.name); l.add(cmds.tabulator + "bundle-priority " + bundleIfc.priority); } if (ethtyp.qosIn == null) { l.add(cmds.tabulator + "no service-policy-in"); } else { l.add(cmds.tabulator + "service-policy-in " + ethtyp.qosIn.policyName); } if (ethtyp.qosOut == null) { l.add(cmds.tabulator + "no service-policy-out"); } else { l.add(cmds.tabulator + "service-policy-out " + ethtyp.qosOut.policyName); } if (transProxy == null) { l.add(cmds.tabulator + "no transproxy"); } else { l.add(cmds.tabulator + "transproxy " + transProxy.upper.name); } if (vrfFor == null) { l.add(cmds.tabulator + "no vrf forwarding"); } else { l.add(cmds.tabulator + "vrf forwarding " + vrfFor.name); String a = ""; if (hide4adr) { a += "dynamic"; } else { a += "" + addr4; } if (hide4msk) { a += " dynamic"; } else { a += " " + mask4; } cmds.cfgLine(l, addr4 == null, cmds.tabulator, "ipv4 address", a); if (fwdIf4 != null) { fwdIf4.getConfig(l, vrfFor.fwd4, "ipv4 ", filter); cmds.cfgLine(l, ipIf4.redirect == null, cmds.tabulator, "ipv4 redirection", "" + ipIf4.redirect); cmds.cfgLine(l, dhcp4c == null, cmds.tabulator, "ipv4 dhcp-client enable", ""); if (dhcp4c != null) { dhcp4c.getConfig(l, cmds.tabulator, "ipv4 dhcp-client "); } if (dhcp4r != null) { l.add(cmds.tabulator + "ipv4 dhcp-relay " + dhcp4r.srvName); } cmds.cfgLine(l, ip4polC == null, cmds.tabulator, "ipv4 pool", "" + ip4polC); } a = ""; if (hide6adr) { a += "dynamic"; } else { a += "" + addr6; } if (hide6msk) { a += " dynamic"; } else { a += " " + mask6; } cmds.cfgLine(l, addr6 == null, cmds.tabulator, "ipv6 address", a); if (fwdIf6 != null) { fwdIf6.getConfig(l, vrfFor.fwd6, "ipv6 ", filter); cmds.cfgLine(l, ipIf6.redirect == null, cmds.tabulator, "ipv6 redirection", "" + ipIf6.redirect); cmds.cfgLine(l, slaac == null, cmds.tabulator, "ipv6 slaac-client enable", ""); if (slaac != null) { slaac.getConfig(l, cmds.tabulator, "ipv6 slaac-client "); } cmds.cfgLine(l, dhcp6c == null, cmds.tabulator, "ipv6 dhcp-client enable", ""); if (dhcp6c != null) { dhcp6c.getConfig(l, cmds.tabulator, "ipv6 dhcp-client "); } if (dhcp6r != null) { l.add(cmds.tabulator + "ipv6 dhcp-relay " + dhcp6r.srvName); } cmds.cfgLine(l, ip6polC == null, cmds.tabulator, "ipv6 pool", "" + ip6polC); cmds.cfgLine(l, !ipIf6.rtrAdvSuppress, cmds.tabulator, "ipv6 prefix-suppress", ""); a = ""; if (ipIf6.rtrAdvDns2 != null) { a = " " + ipIf6.rtrAdvDns2; } cmds.cfgLine(l, ipIf6.rtrAdvDns1 == null, cmds.tabulator, "ipv6 prefix-dns", "" + ipIf6.rtrAdvDns1 + a); cmds.cfgLine(l, ipIf6.rtrAdvDom == null, cmds.tabulator, "ipv6 prefix-domain", "" + ipIf6.rtrAdvDom); l.add(cmds.tabulator + "ipv6 prefix-interval " + ipIf6.rtrAdvInterval); l.add(cmds.tabulator + "ipv6 prefix-validity " + ipIf6.rtrAdvValidity); } if (ipxAddr != null) { l.add(cmds.tabulator + "ipx network " + bits.toHexD(ipxAddr.getNet())); } else { l.add(cmds.tabulator + "no ipx network"); } } if (template == null) { l.add(cmds.tabulator + "no template"); } else { l.add(cmds.tabulator + "template " + template.name); } cmds.cfgLine(l, nshPack == null, cmds.tabulator, "nsh enable", ""); cmds.cfgLine(l, nshXcon == null, cmds.tabulator, "nsh xconnect", ifcNshXcn.getCfg(nshXcon)); String a = ""; if (polkaPack != null) { a = polkaPack.localId + " " + polkaPack.crcBase + " " + polkaPack.crcMax; } cmds.cfgLine(l, polkaPack == null, cmds.tabulator, "polka enable", a); cmds.cfgLine(l, mplsPack == null, cmds.tabulator, "mpls enable", ""); if (mplsPack != null) { switch (mplsPack.ethtyp) { case ipMpls.typeU: a = "unicast"; break; case ipMpls.typeM: a = "multicast"; break; case ipMpls.typeB: a = "bier"; break; default: a = "unknown=" + mplsPack.ethtyp; break; } l.add(cmds.tabulator + "mpls ethertype " + a); l.add(cmds.tabulator + "mpls flow " + mplsPack.flow); l.add(cmds.tabulator + "mpls mark " + mplsPack.mark); cmds.cfgLine(l, !mplsPack.security, cmds.tabulator, "mpls label-security", ""); cmds.cfgLine(l, !getSRv6sec(), cmds.tabulator, "mpls srv6-security", ""); cmds.cfgLine(l, !mplsPack.netflowRx, cmds.tabulator, "mpls netflow-rx", ""); cmds.cfgLine(l, !mplsPack.netflowTx, cmds.tabulator, "mpls netflow-tx", ""); cmds.cfgLine(l, mplsPack.redirect == null, cmds.tabulator, "mpls redirection", "" + mplsPack.redirect); cmds.cfgLine(l, mplsPack.cfilterIn == null, cmds.tabulator, "mpls access-group-common-in", "" + mplsPack.cfilterIn); cmds.cfgLine(l, mplsPack.cfilterOut == null, cmds.tabulator, "mpls access-group-common-out", "" + mplsPack.cfilterOut); cmds.cfgLine(l, mplsPack.filterIn == null, cmds.tabulator, "mpls access-group-in", "" + mplsPack.filterIn); cmds.cfgLine(l, mplsPack.filterOut == null, cmds.tabulator, "mpls access-group-out", "" + mplsPack.filterOut); cmds.cfgLine(l, mplsPack.inspect == null, cmds.tabulator, "mpls inspect", "" + mplsPack.inspect); } cmds.cfgLine(l, mplsLdp4 == null, cmds.tabulator, "mpls ldp4", rtrLdpIface.getLdpCfg(mplsLdp4, this)); cmds.cfgLine(l, mplsLdp6 == null, cmds.tabulator, "mpls ldp6", rtrLdpIface.getLdpCfg(mplsLdp6, this)); rtrLdpIface.getGenCfg(mplsLdp4, 4, l); rtrLdpIface.getGenCfg(mplsLdp6, 6, l); cmds.cfgLine(l, mplsRsvp4 == null, cmds.tabulator, "mpls rsvp4", ""); cmds.cfgLine(l, mplsRsvp6 == null, cmds.tabulator, "mpls rsvp6", ""); for (int i = 0; i < mplsTarget.size(); i++) { l.add(cmds.tabulator + "mpls ldptarget " + mplsTarget.get(i).target); } if (fwdIf4 != null) { fwdIf4.ldpasCfg(l, cmds.tabulator + "mpls ldppassword", filter); fwdIf4.labelsCfg(l, cmds.tabulator + "mpls static-label", " mpls use4peer"); } if (fwdIf6 != null) { fwdIf6.ldpasCfg(l, cmds.tabulator + "mpls ldppassword", filter); fwdIf6.labelsCfg(l, cmds.tabulator + "mpls static-label", " mpls use6peer"); } if (rtrBabel4hnd != null) { s = "router babel4 " + rtrBabel4hnd.number + " "; rtrBabel4ifc.routerGetConfig(l, s); } if (rtrBabel6hnd != null) { s = "router babel6 " + rtrBabel6hnd.number + " "; rtrBabel6ifc.routerGetConfig(l, s); } if (rtrOlsr4hnd != null) { s = "router olsr4 " + rtrOlsr4hnd.number + " "; rtrOlsr4ifc.routerGetConfig(l, s); } if (rtrOlsr6hnd != null) { s = "router olsr6 " + rtrOlsr6hnd.number + " "; rtrOlsr6ifc.routerGetConfig(l, s); } if (rtrRip4hnd != null) { s = "router rip4 " + rtrRip4hnd.number + " "; rtrRip4ifc.routerGetConfig(l, s, filter); } if (rtrRip6hnd != null) { s = "router rip6 " + rtrRip6hnd.number + " "; rtrRip6ifc.routerGetConfig(l, s); } if (rtrOspf4hnd != null) { s = "router ospf4 " + rtrOspf4hnd.number + " "; rtrOspf4ifc.routerGetConfig(l, s, filter); } if (rtrOspf6hnd != null) { s = "router ospf6 " + rtrOspf6hnd.number + " "; rtrOspf6ifc.routerGetConfig(l, s); } if (rtrIsisHnd != null) { s = "router isis" + rtrIsisHnd.isis.getProtoVer() + " " + rtrIsisHnd.number + " "; rtrIsisIfc.routerGetConfig(l, s, filter); } if (rtrRift4hnd != null) { s = "router rift4 " + rtrRift4hnd.number + " "; rtrRift4ifc.routerGetConfig(l, s, filter); } if (rtrRift6hnd != null) { s = "router rift6 " + rtrRift6hnd.number + " "; rtrRift6ifc.routerGetConfig(l, s, filter); } if (rtrPvrp4hnd != null) { s = "router pvrp4 " + rtrPvrp4hnd.number + " "; rtrPvrp4ifc.routerGetConfig(l, s, filter); } if (rtrPvrp6hnd != null) { s = "router pvrp6 " + rtrPvrp6hnd.number + " "; rtrPvrp6ifc.routerGetConfig(l, s, filter); } if (rtrLsrp4hnd != null) { s = "router lsrp4 " + rtrLsrp4hnd.number + " "; rtrLsrp4ifc.routerGetConfig(l, s, filter); } if (rtrLsrp6hnd != null) { s = "router lsrp6 " + rtrLsrp6hnd.number + " "; rtrLsrp6ifc.routerGetConfig(l, s, filter); } if (rtrEigrp4hnd != null) { s = "router eigrp4 " + rtrEigrp4hnd.number + " "; rtrEigrp4ifc.routerGetConfig(l, s); } if (rtrEigrp6hnd != null) { s = "router eigrp6 " + rtrEigrp6hnd.number + " "; rtrEigrp6ifc.routerGetConfig(l, s); } for (int i = 0; i < evcs.size(); i++) { cfgIfcEvc ntry = evcs.get(i); if (ntry == null) { continue; } l.add(cmds.tabulator + "service-instance " + ntry.getCfg()); } if (iconn != null) { l.add(cmds.tabulator + "connect " + iconn.name); } if (xconn != null) { l.add(cmds.tabulator + "xconnect " + xconn.getCfg()); } if (pwhe != null) { l.add(cmds.tabulator + "pseudowire " + pwhe.getCfg()); } dhcpServConf(l, dhcp4s, "dhcp4server", "server dhcp4 a", filter); dhcpServConf(l, dhcp6s, "dhcp6server", "server dhcp6 a", filter); cmds.cfgLine(l, followTrack == null, cmds.tabulator, "follow-tracker", "" + followTrack); cmds.cfgLine(l, ethtyp.forcedUP, cmds.tabulator, "autostate", ""); cmds.cfgLine(l, (ethtyp.forcedDN & 1) == 0, cmds.tabulator, "shutdown", ""); cmds.cfgLine(l, !ethtyp.logStateChg, cmds.tabulator, "log-link-change", ""); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } l = userFilter.filterText(l, defaultF); if (template == null) { return l; } List t = template.getShRun(filter); t = userFilter.filterText(t, notemplF); for (int i = 1; i < t.size() - 2; i++) { a = t.get(i); int o = l.indexOf(a); if (o < 0) { continue; } l.remove(o); } return l; } private void dhcpServConf(List l, servGeneric s, String b, String fn, int filter) { if (s == null) { l.add(cmds.tabulator + cmds.negated + cmds.tabulator + b + " enable"); return; } l.add(cmds.tabulator + b + " enable"); List r = new ArrayList(); s.srvShRun(cmds.tabulator, r, filter); userFilter[] fl = s.srvDefFlt(); for (int i = 0; i < r.size(); i++) { String a = r.get(i); userFilter fv = new userFilter(fn, a, null); fv = userFilter.findFilter(fv, fl); if (fv != null) { continue; } if (a.startsWith(cmds.tabulator + cmds.negated)) { a = cmds.negated + cmds.tabulator + b + a.substring(3, a.length()); } else { a = b + a; } l.add(cmds.tabulator + a); } } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2, -1}, "description", "description of this interface"); l.add(null, false, 2, new int[]{2, -1}, "[text]", "text describing this interface"); l.add(null, false, 1, new int[]{-1}, "log-link-change", "log link state changes"); l.add(null, false, 1, new int[]{2}, "carrier-delay", "log link state changes"); l.add(null, false, 2, new int[]{-1}, "", "time before bringing link up"); l.add(null, false, 1, new int[]{-1}, "shutdown", "administratively disable interface"); l.add(null, false, 1, new int[]{-1}, "autostate", "administratively enable interface"); l.add(null, false, 1, new int[]{2}, "mtu", "change interface maximum transmission unit"); l.add(null, false, 2, new int[]{-1}, "", "physical layer bytes allowed"); l.add(null, false, 1, new int[]{2}, "follow-tracker", "set administrative state based on a tracker"); l.add(null, false, 2, new int[]{-1}, "", "name of the tracker"); l.add(null, false, 1, new int[]{2}, "padup", "change interface padding"); l.add(null, false, 2, new int[]{3}, "", "minimum bytes"); l.add(null, false, 3, new int[]{-1}, "", "modulo bytes"); l.add(null, false, 1, new int[]{2}, "macaddr", "change interface mac address"); l.add(null, false, 2, new int[]{-1}, "", "physical layer address"); l.add(null, false, 1, new int[]{2}, "bandwidth", "change interface bandwidth"); l.add(null, false, 2, new int[]{-1}, "", "kilobits per second"); l.add(null, false, 2, new int[]{3}, "auto", "calculate automatically"); l.add(null, false, 3, new int[]{4}, "rx", "received amount"); l.add(null, false, 3, new int[]{4}, "tx", "transmitted amount"); l.add(null, false, 3, new int[]{4}, "both", "total amount"); l.add(null, false, 4, new int[]{-1}, "second", "last second"); l.add(null, false, 4, new int[]{-1}, "minute-average", "last minute average"); l.add(null, false, 4, new int[]{-1}, "minute-maximum", "last minute maximum"); l.add(null, false, 4, new int[]{-1}, "hour-average", "last hour average"); l.add(null, false, 4, new int[]{-1}, "hour-maximum", "last hour maximum"); l.add(null, false, 1, new int[]{2}, "template", "get configuration from template"); l.add(null, false, 2, new int[]{-1}, "", "name of source interface"); l.add(null, false, 1, new int[]{2}, "monitor-direction", "specify monitored direction"); l.add(null, false, 2, new int[]{-1}, "rx", "only received packets"); l.add(null, false, 2, new int[]{-1}, "tx", "only transmitted packets"); l.add(null, false, 2, new int[]{-1}, "both", "both directions"); l.add(null, false, 2, new int[]{-1}, "none", "pause packet mirroring"); l.add(null, false, 1, new int[]{2}, "monitor-truncate", "truncate monitored packets"); l.add(null, false, 2, new int[]{-1}, "", "maximum packet size"); l.add(null, false, 1, new int[]{2}, "monitor-sample", "specify sampled monitoring"); l.add(null, false, 2, new int[]{-1}, "", "one of every n packet"); l.add(null, false, 1, new int[]{2}, "monitor-filter", "specify filtered monitoring"); l.add(null, false, 2, new int[]{-1}, "", "name of access list"); l.add(null, false, 1, new int[]{2}, "monitor-session", "set monitor session"); l.add(null, false, 2, new int[]{-1}, "", "name of target interface"); l.add(null, false, 1, new int[]{2}, "monitor-buffer", "set monitor buffer"); l.add(null, false, 2, new int[]{-1}, "", "number of bytes"); l.add(null, false, 1, new int[]{2}, "encapsulation", "change encapsulation"); l.add(null, false, 2, new int[]{-1}, "hdlc", "set to hdlc encapsulation"); l.add(null, false, 2, new int[]{-1}, "isdn", "set to isdn encapsulation"); l.add(null, false, 2, new int[]{-1}, "iponly", "set to iponly encapsulation"); l.add(null, false, 2, new int[]{-1}, "ppp", "set to ppp encapsulation"); l.add(null, false, 2, new int[]{-1}, "lapb", "set to lapb encapsulation"); l.add(null, false, 2, new int[]{-1}, "framerelay", "set to frame relay encapsulation"); l.add(null, false, 2, new int[]{-1}, "frppp", "set to ppp over frame relay encapsulation"); l.add(null, false, 2, new int[]{-1}, "frrfc", "set to ip over frame relay encapsulation"); l.add(null, false, 2, new int[]{-1}, "atmdxi", "set to atm dxi encapsulation"); l.add(null, false, 2, new int[]{-1}, "raw", "set to raw encapsulation"); l.add(null, false, 2, new int[]{-1}, "sep", "set to sep encapsulation"); l.add(null, false, 2, new int[]{-1}, "isl", "set to isl encapsulation"); l.add(null, false, 2, new int[]{-1}, "dot1q", "set to 802.1q encapsulation"); l.add(null, false, 2, new int[]{-1}, "dot1ad", "set to 802.1ad encapsulation"); l.add(null, false, 2, new int[]{-1}, "dot1ah", "set to 802.1ah encapsulation"); l.add(null, false, 2, new int[]{-1}, "trill-mt", "set to trill multi-topology encapsulation"); l.add(null, false, 2, new int[]{-1}, "trill-fgl", "set to trill fine-grained label encapsulation"); l.add(null, false, 2, new int[]{-1}, "qinq1", "set to qinq1 encapsulation"); l.add(null, false, 2, new int[]{-1}, "qinq2", "set to qinq2 encapsulation"); l.add(null, false, 2, new int[]{-1}, "qinq3", "set to qinq3 encapsulation"); l.add(null, false, 2, new int[]{-1}, "qinqx", "set to qinqx encapsulation"); l.add(null, false, 1, new int[]{2}, "hdlc", "hdlc parameters on the interface"); ifcHdlc.getHelp(l); l.add(null, false, 1, new int[]{2}, "isdn", "isdn parameters on the interface"); ifcIsdn.getHelp(l); l.add(null, false, 1, new int[]{2}, "sep", "sep parameters on the interface"); ifcSep.getHelp(l); l.add(null, false, 1, new int[]{2}, "qinqx", "qinqx parameters on the interface"); ifcQinqX.getHelp(l); l.add(null, false, 1, new int[]{2}, "vlan", "vlan parameters on the interface"); ifcVlan.vlnGetHelp(l); l.add(null, false, 1, new int[]{2}, "p2poe", "pppoe parameters on the interface"); l.add(null, false, 2, new int[]{3}, "client", "start pppoe client"); l.add(null, false, 3, new int[]{-1}, "", "name of dialer interface"); l.add(null, false, 2, new int[]{3}, "server", "start pppoe server"); l.add(null, false, 3, new int[]{4, -1}, "", "name of dialer interface"); l.add(null, false, 4, new int[]{5}, "name", "set service name"); l.add(null, false, 5, new int[]{4, -1}, "", "text"); l.add(null, false, 4, new int[]{5}, "delay", "set pado delay"); l.add(null, false, 5, new int[]{4, -1}, "", "time"); l.add(null, false, 4, new int[]{5}, "sessions", "set session limit"); l.add(null, false, 5, new int[]{4, -1}, "", "number of clients"); l.add(null, false, 2, new int[]{3}, "relay", "start pppoe relay"); l.add(null, false, 3, new int[]{4, -1}, "", "name of dialer interface"); l.add(null, false, 4, new int[]{5}, "name", "set service name"); l.add(null, false, 5, new int[]{4, -1}, "", "text"); l.add(null, false, 4, new int[]{5}, "delay", "set pado delay"); l.add(null, false, 5, new int[]{4, -1}, "", "time"); l.add(null, false, 1, new int[]{2}, "eapol", "eapol parameters on the interface"); l.add(null, false, 2, new int[]{3}, "client", "start pppoe client"); l.add(null, false, 3, new int[]{4}, "", "username"); l.add(null, false, 4, new int[]{-1}, "", "password"); l.add(null, false, 2, new int[]{3}, "server", "start pppoe server"); l.add(null, false, 3, new int[]{-1}, "", "authentication list"); l.add(null, false, 1, new int[]{2}, "ppp", "ppp parameters on the interface"); ifcPpp.getHelp(l); l.add(null, false, 1, new int[]{2}, "atmdxi", "atm dxi parameters on the interface"); ifcAtmDxi.getHelp(l); l.add(null, false, 1, new int[]{2}, "atmsar", "atm sar parameters on the interface"); ifcAtmSar.getHelp(l); l.add(null, false, 1, new int[]{2}, "framerelay", "frame relay parameters on the interface"); ifcFrameRelay.getHelp(l); l.add(null, false, 1, new int[]{2}, "lapb", "lapb parameters on the interface"); ifcLapb.getHelp(l); l.add(null, false, 1, new int[]{2}, "bundle-group", "bundling interface parameters"); l.add(null, false, 2, new int[]{-1}, "", "number of bundle group"); l.add(null, false, 1, new int[]{2}, "bundle-priority", "bundling priority parameter"); l.add(null, false, 2, new int[]{-1}, "", "priroty of link"); l.add(null, false, 1, new int[]{2}, "bridge-group", "transparent bridging interface parameters"); l.add(null, false, 2, new int[]{-1}, "", "number of bridge group"); l.add(null, false, 1, new int[]{2}, "bridge-portsecurity", "transparent bridging interface parameters"); l.add(null, false, 2, new int[]{2, -1}, "", "address to allow"); l.add(null, false, 1, new int[]{2}, "bridge-staticaddr", "transparent bridging interface parameters"); l.add(null, false, 2, new int[]{2, -1}, "", "address to forward"); l.add(null, false, 1, new int[]{2}, "bridge-macrewrite", "transparent bridging interface parameters"); l.add(null, false, 2, new int[]{-1}, "", "address to use"); l.add(null, false, 1, new int[]{2}, "bridge-tcp-mss", "specify rewrite tcp mss"); l.add(null, false, 2, new int[]{3}, "ipv4in", "for ipv4 ingress"); l.add(null, false, 3, new int[]{-1}, "", "max mss to allow"); l.add(null, false, 2, new int[]{3}, "ipv4out", "for ipv4 egress"); l.add(null, false, 3, new int[]{-1}, "", "max mss to allow"); l.add(null, false, 2, new int[]{3}, "ipv6in", "for ipv6 ingress"); l.add(null, false, 3, new int[]{-1}, "", "max mss to allow"); l.add(null, false, 2, new int[]{3}, "ipv6out", "for ipv6 egress"); l.add(null, false, 3, new int[]{-1}, "", "max mss to allow"); l.add(null, false, 1, new int[]{2}, "bridge-pmtud", "specify pmtud responder"); l.add(null, false, 2, new int[]{3}, "ipv4in", "for ipv4 ingress"); l.add(null, false, 3, new int[]{4}, "", "max packet to allow"); l.add(null, false, 4, new int[]{-1}, "", "source ip"); l.add(null, false, 2, new int[]{3}, "ipv4out", "for ipv4 egress"); l.add(null, false, 3, new int[]{4}, "", "max packet to allow"); l.add(null, false, 4, new int[]{-1}, "", "source ip"); l.add(null, false, 2, new int[]{3}, "ipv6in", "for ipv6 ingress"); l.add(null, false, 3, new int[]{4}, "", "max packet to allow"); l.add(null, false, 4, new int[]{-1}, "", "source ip"); l.add(null, false, 2, new int[]{3}, "ipv6out", "for ipv6 egress"); l.add(null, false, 3, new int[]{4}, "", "max packet to allow"); l.add(null, false, 4, new int[]{-1}, "", "source ip"); l.add(null, false, 1, new int[]{2}, "bridge-filter", "transparent bridging filtering parameters"); l.add(null, false, 2, new int[]{-1}, "private-port", "isolate port"); l.add(null, false, 2, new int[]{-1}, "public-port", "unisolate port"); l.add(null, false, 2, new int[]{-1}, "stp-in", "bpdu ingress guard"); l.add(null, false, 2, new int[]{-1}, "stp-out", "bpdu egress filter"); l.add(null, false, 2, new int[]{-1}, "stp-root", "bpdu root guard"); l.add(null, false, 2, new int[]{3}, "ipv4in", "ipv4 ingress filter"); l.add(null, false, 3, new int[]{-1}, "", "name of access list"); l.add(null, false, 2, new int[]{3}, "ipv4out", "ipv4 egress filter"); l.add(null, false, 3, new int[]{-1}, "", "name of access list"); l.add(null, false, 2, new int[]{3}, "ipv6in", "ipv6 ingress filter"); l.add(null, false, 3, new int[]{-1}, "", "name of access list"); l.add(null, false, 2, new int[]{3}, "ipv6out", "ipv6 egress filter"); l.add(null, false, 3, new int[]{-1}, "", "name of access list"); l.add(null, false, 1, new int[]{2}, "vrf", "vrf parameters on the interface"); l.add(null, false, 2, new int[]{3}, "forwarding", "configure forwarding table"); l.add(null, false, 3, new int[]{-1}, "", "name of table"); l.add(null, false, 1, new int[]{2}, "transproxy", "transparent proxy on the interface"); l.add(null, false, 2, new int[]{-1}, "", "name of proxy profile"); l.add(null, false, 1, new int[]{2}, "ipx", "interface ipx config commands"); l.add(null, false, 2, new int[]{3}, "network", "configure network"); l.add(null, false, 3, new int[]{-1}, "", "network number"); l.add(null, false, 1, new int[]{2}, "ipv4", "interface internet protocol config commands"); ipFwdIface.getHelp(l); l.add(null, false, 2, new int[]{3}, "dhcp-client", "acquire address by dhcp"); l.add(null, false, 3, new int[]{-1}, "enable", "start address acquision"); l.add(null, false, 3, new int[]{-1}, "broadcast", "set broadcast flag"); l.add(null, false, 3, new int[]{-1}, "early", "pick up address early"); l.add(null, false, 3, new int[]{4}, "renew-min", "minimum renew time"); l.add(null, false, 4, new int[]{-1}, "", "time in ms"); l.add(null, false, 3, new int[]{4}, "renew-max", "maximum renew time"); l.add(null, false, 4, new int[]{-1}, "", "time in ms"); l.add(null, false, 3, new int[]{-1}, "fill-ciaddr", "fill in bootp ciaddr or dhcpserver address"); l.add(null, false, 2, new int[]{3}, "dhcp-relay", "configure dhcp relay"); l.add(cfgAll.dmnDhcp4.listServers(), false, 3, new int[]{-1}, "", "name of dhcp relay profile"); l.add(null, false, 2, new int[]{3}, "pool", "peer address pool"); l.add(null, false, 3, new int[]{-1}, "", "name of address pool"); l.add(null, false, 1, new int[]{2}, "ipv6", "interface internet protocol config commands"); ipFwdIface.getHelp(l); l.add(null, false, 2, new int[]{3}, "slaac-client", "stateless address autoconfiguration"); l.add(null, false, 3, new int[]{-1}, "enable", "start address acquision"); l.add(null, false, 3, new int[]{4}, "renew-min", "minimum renew time"); l.add(null, false, 4, new int[]{-1}, "", "time in ms"); l.add(null, false, 3, new int[]{4}, "renew-max", "maximum renew time"); l.add(null, false, 4, new int[]{-1}, "", "time in ms"); l.add(null, false, 2, new int[]{3}, "dhcp-client", "acquire address by dhcp"); l.add(null, false, 3, new int[]{-1}, "enable", "start address acquision"); l.add(null, false, 3, new int[]{-1}, "address", "request address (IA_NA)"); l.add(null, false, 3, new int[]{-1}, "prefix", "request prefix (IA_PD)"); l.add(null, false, 3, new int[]{-1}, "early", "pick up address early"); l.add(null, false, 3, new int[]{4}, "renew-min", "minimum renew time"); l.add(null, false, 4, new int[]{-1}, "", "time in ms"); l.add(null, false, 3, new int[]{4}, "renew-max", "maximum renew time"); l.add(null, false, 4, new int[]{-1}, "", "time in ms"); l.add(null, false, 2, new int[]{3}, "dhcp-relay", "configure dhcp relay"); l.add(cfgAll.dmnDhcp6.listServers(), false, 3, new int[]{-1}, "", "name of dhcp relay profile"); l.add(null, false, 2, new int[]{-1}, "prefix-suppress", "suppress router advertisements"); l.add(null, false, 2, new int[]{3}, "prefix-dns", "name server in router advertisements"); l.add(null, false, 3, new int[]{4, -1}, "", "name server address"); l.add(null, false, 4, new int[]{-1}, "", "name server address"); l.add(null, false, 2, new int[]{3}, "prefix-domain", "domain name in router advertisements"); l.add(null, false, 3, new int[]{-1}, "", "domain name"); l.add(null, false, 2, new int[]{3}, "prefix-interval", "time between router advertisements"); l.add(null, false, 3, new int[]{-1}, "", "time in milliseconds"); l.add(null, false, 2, new int[]{3}, "prefix-validity", "prefix validity in router advertisements"); l.add(null, false, 3, new int[]{-1}, "", "time in milliseconds"); l.add(null, false, 2, new int[]{3}, "pool", "peer address pool"); l.add(null, false, 3, new int[]{-1}, "", "name of address pool"); l.add(null, false, 1, new int[]{2}, "tunnel", "protocol-over-protocol tunneling"); l.add(null, false, 2, new int[]{3}, "vrf", "set encapsulated vrf membership"); l.add(null, false, 3, new int[]{-1}, "", "name of vrf where encapsulated packets"); l.add(null, false, 2, new int[]{3}, "mode", "set encapsulation method"); l.add(null, false, 3, new int[]{-1}, "gre", "generic route encapsulation protocol"); l.add(null, false, 3, new int[]{-1}, "mgre", "multicast generic route encapsulation"); l.add(null, false, 3, new int[]{-1}, "udpgre", "generic route encapsulation in udp"); l.add(null, false, 3, new int[]{-1}, "amt", "automatic multicast tunneling protocol"); l.add(null, false, 3, new int[]{-1}, "icmp", "internet control message protocol"); l.add(null, false, 3, new int[]{-1}, "pim", "protocol independent multicast"); l.add(null, false, 3, new int[]{-1}, "lisp", "locator id separation protocol"); l.add(null, false, 3, new int[]{-1}, "minenc", "minimal encapsulation protocol"); l.add(null, false, 3, new int[]{-1}, "pipe", "private ipip encapsulation"); l.add(null, false, 3, new int[]{-1}, "nos", "nos ipip encapsulation"); l.add(null, false, 3, new int[]{-1}, "ipcomp", "ip compression"); l.add(null, false, 3, new int[]{-1}, "ipenc", "ip encapsulation protocol"); l.add(null, false, 3, new int[]{-1}, "tmux", "transport multiplexing protocol"); l.add(null, false, 3, new int[]{-1}, "hip", "host identity protocol"); l.add(null, false, 3, new int[]{-1}, "6to4", "ipv6 to ipv4 protocol translator"); l.add(null, false, 3, new int[]{-1}, "aplusp", "address plus port protocol translator"); l.add(null, false, 3, new int[]{-1}, "srv6", "segment routing v6 protocol translator"); l.add(null, false, 3, new int[]{-1}, "ipip", "ip over ip encapsulation"); l.add(null, false, 3, new int[]{-1}, "ipsec", "ip security encapsulation"); l.add(null, false, 3, new int[]{-1}, "pckoudp", "packet over udp encapsulation"); l.add(null, false, 3, new int[]{-1}, "pckoip", "packet over raw ip protocol"); l.add(null, false, 3, new int[]{-1}, "gtp", "gtp encapsulation"); l.add(null, false, 3, new int[]{-1}, "l2tp3", "l2tp v3 encapsulation"); l.add(null, false, 3, new int[]{-1}, "vxlan", "vxlan encapsulation"); l.add(null, false, 3, new int[]{-1}, "geneve", "geneve encapsulation"); l.add(null, false, 3, new int[]{-1}, "llcudp", "llc over udp encapsulation"); l.add(null, false, 3, new int[]{-1}, "tzsp", "tazman sniffer protocol encapsulation"); l.add(null, false, 3, new int[]{-1}, "capwap", "capwap encapsulation"); l.add(null, false, 3, new int[]{-1}, "lwapp", "lwapp encapsulation"); l.add(null, false, 3, new int[]{-1}, "erspan", "erspan encapsulation"); l.add(null, false, 3, new int[]{-1}, "dlsw", "dlsw encapsulation"); l.add(null, false, 3, new int[]{-1}, "etherip", "etherip encapsulation"); l.add(null, false, 3, new int[]{-1}, "sreth", "segment routing ethernet encapsulation"); l.add(null, false, 3, new int[]{-1}, "uti", "universal transport interface"); l.add(null, false, 3, new int[]{-1}, "nvgre", "nvgre encapsulation"); l.add(null, false, 3, new int[]{-1}, "mplsip", "mplsip encapsulation"); l.add(null, false, 3, new int[]{-1}, "mplsudp", "mplsudp encapsulation"); l.add(null, false, 3, new int[]{-1}, "swipe", "swipe encapsulation"); l.add(null, false, 3, new int[]{-1}, "openvpn", "openvpn encapsulation"); l.add(null, false, 3, new int[]{-1}, "wireguard", "wireguard encapsulation"); l.add(null, false, 3, new int[]{-1}, "satp", "satp encapsulation"); l.add(null, false, 3, new int[]{-1}, "inlsp", "inlsp encapsulation"); l.add(null, false, 3, new int[]{-1}, "skip", "skip encapsulation"); l.add(null, false, 3, new int[]{-1}, "pweompls", "pseudowire over mpls encapsulation"); l.add(null, false, 3, new int[]{-1}, "expbun", "mpls exp bundle tunnel"); l.add(null, false, 3, new int[]{-1}, "srmpls", "segment routing te over mpls tunnel"); l.add(null, false, 3, new int[]{-1}, "polka", "polinomial key architecture tunnel"); l.add(null, false, 3, new int[]{-1}, "mpolka", "multipath polinomial key architecture tunnel"); l.add(null, false, 3, new int[]{-1}, "srext", "segment routing te over exthdr tunnel"); l.add(null, false, 3, new int[]{-1}, "pcesr", "mpls sr tunnel from pcep"); l.add(null, false, 3, new int[]{-1}, "pcete", "mpls te tunnel from pcep"); l.add(null, false, 3, new int[]{-1}, "p2pte", "point to point mpls te tunnel"); l.add(null, false, 3, new int[]{-1}, "p2mpte", "point to multipoint mpls te tunnel"); l.add(null, false, 3, new int[]{-1}, "bier", "mpls bier tunnel"); l.add(null, false, 3, new int[]{-1}, "p2pldp", "point to point mpls ldp tunnel"); l.add(null, false, 3, new int[]{-1}, "teldp", "mpls ldp te tunnel"); l.add(null, false, 3, new int[]{-1}, "p2mpldp", "point to multipoint mpls ldp tunnel"); l.add(null, false, 3, new int[]{-1}, "mp2mpldp", "multipoint to multipoint mpls ldp tunnel"); l.add(null, false, 2, new int[]{3}, "source", "source of encapsulated packets"); l.add(null, false, 3, new int[]{-1}, "", "name of interface where from send"); l.add(null, false, 2, new int[]{3}, "destination", "destination of encapsulated packets"); l.add(null, false, 3, new int[]{-1}, "", "ip address where to send"); l.add(null, false, 2, new int[]{3}, "domain-name", "destination of encapsulated packets"); l.add(null, false, 3, new int[]{3, -1}, "", "domain name where to send"); l.add(null, false, 2, new int[]{3}, "tos", "set type of service, -1 to map out"); l.add(null, false, 3, new int[]{-1}, "", "value of tos field"); l.add(null, false, 2, new int[]{3}, "dontfrag", "dont fragment bit, -1 to map out"); l.add(null, false, 3, new int[]{-1}, "", "value of tos field"); l.add(null, false, 2, new int[]{3}, "ttl", "set time to live, -1 to map out"); l.add(null, false, 3, new int[]{-1}, "", "value of ttl field"); l.add(null, false, 2, new int[]{3}, "priority", "set tunnel priority"); l.add(null, false, 3, new int[]{4}, "", "setup priority"); l.add(null, false, 4, new int[]{-1}, "", "hold priority"); l.add(null, false, 2, new int[]{3}, "affinity", "set tunnel affinity"); l.add(null, false, 3, new int[]{4}, "", "exclude any"); l.add(null, false, 4, new int[]{5}, "", "include any"); l.add(null, false, 5, new int[]{-1}, "", "include all"); l.add(null, false, 2, new int[]{3}, "association", "set tunnel association"); l.add(null, false, 3, new int[]{4}, "", "source address"); l.add(null, false, 4, new int[]{5, -1}, "", "unique id"); l.add(null, false, 5, new int[]{-1}, "", "global id"); l.add(null, false, 2, new int[]{3}, "flow", "set flow label, -1 to map out"); l.add(null, false, 3, new int[]{-1}, "", "value of flow label"); l.add(null, false, 2, new int[]{3}, "mark", "set alternate marking label, -1 to map out"); l.add(null, false, 3, new int[]{-1}, "", "value of flow label"); l.add(null, false, 2, new int[]{3}, "key", "set security key, 0 to disable"); l.add(null, false, 3, new int[]{4, -1}, "", "value of key field"); l.add(null, false, 4, new int[]{-1}, "", "value of local key field"); l.add(null, false, 2, new int[]{-1}, "checksum", "enable checksumming of packets"); l.add(null, false, 2, new int[]{-1}, "shutdown", "shutdown tunnel protocol"); l.add(null, false, 2, new int[]{-1}, "sequence-datagrams", "drop datagrams arriving out of order"); l.add(null, false, 2, new int[]{3}, "protection", "set ipsec profile to use"); l.add(null, false, 3, new int[]{-1}, "", "name of ipsec profile"); l.add(null, false, 1, new int[]{2}, "router", "interface routing protocol config commands"); l.add(null, false, 2, new int[]{3}, "babel4", "babel routing protocol for ipv4"); l.add(null, false, 3, new int[]{4}, "", "process id"); rtrBabelIface.routerGetHelp(l); l.add(null, false, 2, new int[]{3}, "babel6", "babel routing protocol for ipv6"); l.add(null, false, 3, new int[]{4}, "", "process id"); rtrBabelIface.routerGetHelp(l); l.add(null, false, 2, new int[]{3}, "olsr4", "optimized link state routing protocol for ipv4"); l.add(null, false, 3, new int[]{4}, "", "process id"); rtrOlsrIface.routerGetHelp(l); l.add(null, false, 2, new int[]{3}, "olsr6", "optimized link state routing protocol for ipv6"); l.add(null, false, 3, new int[]{4}, "", "process id"); rtrOlsrIface.routerGetHelp(l); l.add(null, false, 2, new int[]{3}, "rip4", "routing information protocol for ipv4"); l.add(null, false, 3, new int[]{4}, "", "process id"); rtrRip4iface.routerGetHelp(l); l.add(null, false, 2, new int[]{3}, "rip6", "routing information protocol for ipv6"); l.add(null, false, 3, new int[]{4}, "", "process id"); rtrRip6iface.routerGetHelp(l); l.add(null, false, 2, new int[]{3}, "ospf4", "open shortest path first for ipv4"); l.add(null, false, 3, new int[]{4}, "", "process id"); rtrOspf4iface.routerGetHelp(l); l.add(null, false, 2, new int[]{3}, "ospf6", "open shortest path first for ipv6"); l.add(null, false, 3, new int[]{4}, "", "process id"); rtrOspf6iface.routerGetHelp(l); l.add(null, false, 2, new int[]{3}, "isis4", "intermediate system intermediate system for ipv4"); l.add(null, false, 3, new int[]{4}, "", "process id"); rtrIsisIface.routerGetHelp(l); l.add(null, false, 2, new int[]{3}, "isis6", "intermediate system intermediate system for ipv6"); l.add(null, false, 3, new int[]{4}, "", "process id"); rtrIsisIface.routerGetHelp(l); l.add(null, false, 2, new int[]{3}, "rift4", "routing for fat trees for ipv4"); l.add(null, false, 3, new int[]{4}, "", "process id"); rtrRiftIface.routerGetHelp(l); l.add(null, false, 2, new int[]{3}, "rift6", "routing for fat trees for ipv6"); l.add(null, false, 3, new int[]{4}, "", "process id"); rtrRiftIface.routerGetHelp(l); l.add(null, false, 2, new int[]{3}, "pvrp4", "path vector routing protocol for ipv4"); l.add(null, false, 3, new int[]{4}, "", "process id"); rtrPvrpIface.routerGetHelp(l); l.add(null, false, 2, new int[]{3}, "pvrp6", "path vector routing protocol for ipv6"); l.add(null, false, 3, new int[]{4}, "", "process id"); rtrPvrpIface.routerGetHelp(l); l.add(null, false, 2, new int[]{3}, "lsrp4", "link state routing protocol for ipv4"); l.add(null, false, 3, new int[]{4}, "", "process id"); rtrLsrpIface.routerGetHelp(l); l.add(null, false, 2, new int[]{3}, "lsrp6", "link state routing protocol for ipv6"); l.add(null, false, 3, new int[]{4}, "", "process id"); rtrLsrpIface.routerGetHelp(l); l.add(null, false, 2, new int[]{3}, "eigrp4", "enhanced interior gateway routing protocol for ipv4"); l.add(null, false, 3, new int[]{4}, "", "process id"); rtrEigrpIface.routerGetHelp(l); l.add(null, false, 2, new int[]{3}, "eigrp6", "enhanced interior gateway routing protocol for ipv6"); l.add(null, false, 3, new int[]{4}, "", "process id"); rtrEigrpIface.routerGetHelp(l); l.add(null, false, 1, new int[]{2}, "nsh", "network service header config commands"); l.add(null, false, 2, new int[]{-1}, "enable", "enable/disable packet processing"); l.add(null, false, 2, new int[]{3}, "xconnect", "enable/disable packet forwarding"); l.add(null, false, 3, new int[]{4}, "", "service path"); l.add(null, false, 4, new int[]{-1}, "", "service index"); l.add(null, false, 1, new int[]{2}, "polka", "polynominal key architecture commands"); l.add(null, false, 2, new int[]{3}, "enable", "enable/disable packet processing"); l.add(null, false, 3, new int[]{4}, "", "local node id"); l.add(null, false, 4, new int[]{5}, "", "coefficient base"); l.add(null, false, 5, new int[]{-1}, "", "number of coefficients"); l.add(null, false, 1, new int[]{2}, "mpls", "multiprotocol label switching config commands"); l.add(null, false, 2, new int[]{-1}, "enable", "enable/disable packet processing"); l.add(null, true, 2, new int[]{3}, "ethertype", "specify ethertype to use"); l.add(null, false, 3, new int[]{-1}, "unicast", "use the boring one"); l.add(null, true, 3, new int[]{-1}, "multicast", "use the old one"); l.add(null, true, 3, new int[]{-1}, "bier", "use the new one"); l.add(null, false, 2, new int[]{3}, "flow", "set flow label, -1 to map out"); l.add(null, false, 3, new int[]{-1}, "", "value of flow label"); l.add(null, false, 2, new int[]{3}, "mark", "set alternate marking label, -1 to map out"); l.add(null, false, 3, new int[]{-1}, "", "value of flow label"); l.add(null, false, 2, new int[]{-1}, "label-security", "enable/disable security checks"); l.add(null, false, 2, new int[]{-1}, "srv6-security", "enable/disable ip security checks"); l.add(null, false, 2, new int[]{-1}, "netflow-rx", "netflow received packets"); l.add(null, false, 2, new int[]{-1}, "netflow-tx", "netflow transmitted packets"); l.add(null, false, 2, new int[]{3}, "access-group-in", "access list to apply to ingress packets"); l.add(null, false, 3, new int[]{-1}, "", "name of access list"); l.add(null, false, 2, new int[]{3}, "access-group-out", "access list to apply to egress packets"); l.add(null, false, 3, new int[]{-1}, "", "name of access list"); l.add(null, false, 2, new int[]{3}, "access-group-common-in", "common access list to apply to ingress packets"); l.add(null, false, 3, new int[]{-1}, "", "name of access list"); l.add(null, false, 2, new int[]{3}, "access-group-common-out", "common access list to apply to egress packets"); l.add(null, false, 3, new int[]{-1}, "", "name of access list"); l.add(null, false, 2, new int[]{3, -1}, "inspect", "enable/disable inspection"); l.add(null, false, 3, new int[]{4}, "timeout", "set timeout"); l.add(null, false, 4, new int[]{3, -1}, "", "timeout in ms"); l.add(null, false, 3, new int[]{4}, "sessions", "set session limit"); l.add(null, false, 4, new int[]{3, -1}, "", "number of sessions"); l.add(null, false, 3, new int[]{4}, "rate", "specify translation rate"); l.add(null, false, 4, new int[]{3, -1}, "", "name of policy map"); l.add(null, false, 3, new int[]{3, -1}, "mac", "log mac addresses"); l.add(null, false, 3, new int[]{3, -1}, "before", "log on session start"); l.add(null, false, 3, new int[]{3, -1}, "after", "log on session stop"); l.add(null, false, 3, new int[]{3, -1}, "dropped", "log dropped sessions"); l.add(null, false, 3, new int[]{3, -1}, "drop-rx", "drop sessions ingress"); l.add(null, false, 3, new int[]{3, -1}, "drop-tx", "drop sessions egress"); l.add(null, false, 3, new int[]{3, -1}, "drop-frg", "drop fragmented packets"); l.add(null, false, 3, new int[]{3, -1}, "allow-routing", "allow control multicast traffic"); l.add(null, false, 3, new int[]{3, -1}, "allow-sending", "allow self originated traffic"); l.add(null, false, 3, new int[]{3, -1}, "allow-linklocal", "allow link local traffic"); l.add(null, false, 3, new int[]{3, -1}, "allow-multicast", "allow multicast traffic"); l.add(null, false, 3, new int[]{3, -1}, "allow-broadcast", "allow broadcast traffic"); l.add(null, false, 3, new int[]{4}, "allow-list", "allow specific traffic"); l.add(null, false, 4, new int[]{3, -1}, "", "name of access list"); l.add(null, false, 3, new int[]{4}, "allow-url", "allow specific traffic"); l.add(null, false, 4, new int[]{3, -1}, "", "translation rule"); l.add(null, false, 3, new int[]{4}, "member", "member of inspection"); l.add(null, false, 4, new int[]{5}, "", "name of session group"); l.add(null, false, 5, new int[]{3, -1}, "", "local identifier in the group"); l.add(null, false, 2, new int[]{3}, "redirection", "send packets out on different interface"); l.add(null, false, 3, new int[]{-1}, "", "name of interface"); l.add(null, false, 2, new int[]{3, -1}, "ldp4", "enable/disable ldp ipv4 discovery"); l.add(null, false, 3, new int[]{-1}, "[name:ifc]", "name of interface"); l.add(null, false, 2, new int[]{3, -1}, "ldp6", "enable/disable ldp ipv6 discovery"); l.add(null, false, 3, new int[]{-1}, "[name:ifc]", "name of interface"); l.add(null, false, 2, new int[]{3}, "ldptarget", "set targeted ldp peer"); l.add(null, false, 3, new int[]{-1}, "", "address of peer"); l.add(null, false, 2, new int[]{3}, "label4sig", "signaling parameters"); l.add(null, false, 3, new int[]{4}, "discovery", "discovery timers"); l.add(null, false, 4, new int[]{5}, "", "hello in ms"); l.add(null, false, 5, new int[]{-1}, "", "hold in ms"); l.add(null, false, 3, new int[]{4}, "session", "session timers"); l.add(null, false, 4, new int[]{5}, "", "hello in ms"); l.add(null, false, 5, new int[]{-1}, "", "hold in ms"); l.add(null, false, 3, new int[]{4}, "target", "target timers"); l.add(null, false, 4, new int[]{5}, "", "hello in ms"); l.add(null, false, 5, new int[]{-1}, "", "hold in ms"); l.add(null, false, 3, new int[]{4}, "tos", "tos value"); l.add(null, false, 4, new int[]{-1}, "", "value"); l.add(null, false, 3, new int[]{4}, "ttl", "ttl value"); l.add(null, false, 4, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "label6sig", "signaling parameters"); l.add(null, false, 3, new int[]{4}, "discovery", "discovery timers"); l.add(null, false, 4, new int[]{5}, "", "hello in ms"); l.add(null, false, 5, new int[]{-1}, "", "hold in ms"); l.add(null, false, 3, new int[]{4}, "session", "session timers"); l.add(null, false, 4, new int[]{5}, "", "hello in ms"); l.add(null, false, 5, new int[]{-1}, "", "hold in ms"); l.add(null, false, 3, new int[]{4}, "target", "target timers"); l.add(null, false, 4, new int[]{5}, "", "hello in ms"); l.add(null, false, 5, new int[]{-1}, "", "hold in ms"); l.add(null, false, 3, new int[]{4}, "tos", "tos value"); l.add(null, false, 4, new int[]{-1}, "", "value"); l.add(null, false, 3, new int[]{4}, "ttl", "ttl value"); l.add(null, false, 4, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "label4peer", "set dynamic peer filter"); l.add(null, false, 3, new int[]{-1}, "", "name of access list"); l.add(null, false, 2, new int[]{3}, "label6peer", "set dynamis peer filter"); l.add(null, false, 3, new int[]{-1}, "", "name of access list"); l.add(null, false, 2, new int[]{-1}, "label4pop", "advertise php"); l.add(null, false, 2, new int[]{-1}, "label6pop", "advertise php"); l.add(null, false, 2, new int[]{3}, "label4in", "set label filter"); l.add(null, false, 3, new int[]{-1}, "", "name of prefix list"); l.add(null, false, 2, new int[]{3}, "label4out", "set label filter"); l.add(null, false, 3, new int[]{-1}, "", "name of prefix list"); l.add(null, false, 2, new int[]{3}, "label6in", "set label filter"); l.add(null, false, 3, new int[]{-1}, "", "name of prefix list"); l.add(null, false, 2, new int[]{3}, "label6out", "set label filter"); l.add(null, false, 3, new int[]{-1}, "", "name of prefix list"); l.add(null, false, 2, new int[]{3}, "use4peer", "label mapping from ldp"); l.add(null, false, 3, new int[]{4}, "", "ldp peer to use"); l.add(null, false, 4, new int[]{-1}, "", "nexthop to fake"); l.add(null, false, 2, new int[]{3}, "use6peer", "label mapping from ldp"); l.add(null, false, 3, new int[]{4}, "", "ldp peer to use"); l.add(null, false, 4, new int[]{-1}, "", "nexthop to fake"); l.add(null, false, 2, new int[]{3}, "static-label", "static label mapping"); l.add(null, false, 3, new int[]{4}, "", "prefix to bind"); l.add(null, false, 4, new int[]{5}, "", "nexthop to bind"); l.add(null, false, 5, new int[]{-1}, "", "label"); l.add(null, false, 2, new int[]{3}, "ldppassword", "set ldp password for peer"); l.add(null, false, 3, new int[]{4}, "", "address of peer"); l.add(null, false, 4, new int[]{-1}, "", "password"); l.add(null, false, 2, new int[]{-1}, "rsvp4", "enable/disable rsvp-te ipv4 signaling"); l.add(null, false, 2, new int[]{-1}, "rsvp6", "enable/disable rsvp-te ipv6 signaling"); l.add(null, false, 1, new int[]{2}, "lldp", "link layer discovery protocol commands"); l.add(null, false, 2, new int[]{-1}, "enable", "enable/disable processing"); l.add(null, false, 1, new int[]{2}, "cdp", "cisco discovery protocol commands"); l.add(null, false, 2, new int[]{-1}, "enable", "enable/disable processing"); l.add(null, false, 2, new int[]{3}, "odr4", "send on demand routing gateway"); l.add(null, false, 3, new int[]{-1}, "", "address to send"); l.add(null, false, 2, new int[]{3}, "odr6", "send on demand routing gateway"); l.add(null, false, 3, new int[]{-1}, "", "address to send"); l.add(null, false, 1, new int[]{2}, "lacp", "link aggregation control protocol commands"); l.add(null, false, 2, new int[]{3}, "", "system id"); l.add(null, false, 3, new int[]{4}, "", "system key"); l.add(null, false, 4, new int[]{-1}, "", "port number"); l.add(null, false, 1, new int[]{2}, "synceth", "synchronous ethernet commands"); l.add(null, false, 2, new int[]{-1}, "enable", "enable/disable processing"); l.add(null, false, 1, new int[]{2}, "ptp", "precision time protococol commands"); l.add(null, false, 2, new int[]{-1}, "enable", "enable/disable processing"); l.add(null, false, 2, new int[]{-1}, "receive", "allow clock adjustment"); l.add(null, false, 1, new int[]{2}, "udld", "unidirectional link detection commands"); l.add(null, false, 2, new int[]{-1}, "enable", "enable/disable processing"); l.add(null, false, 1, new int[]{2}, "radiotap", "radiotap commands"); l.add(null, false, 2, new int[]{-1}, "enable", "enable/disable processing"); l.add(null, false, 2, new int[]{-1}, "logging", "configure logging"); l.add(null, false, 2, new int[]{3}, "timeout", "configure timeout"); l.add(null, false, 3, new int[]{-1}, "", "time in millis"); l.add(null, false, 1, new int[]{2}, "nhrp", "next hop resolution protocol commands"); l.add(null, false, 2, new int[]{3}, "ipv4", "enable for ipv4"); l.add(null, false, 3, new int[]{-1}, "", "target to register"); l.add(null, false, 2, new int[]{3}, "ipv6", "enable for ipv6"); l.add(null, false, 3, new int[]{-1}, "", "target to register"); l.add(null, false, 1, new int[]{2}, "random", "random packet injector"); l.add(null, false, 2, new int[]{3}, "", "ethertype to use"); l.add(null, false, 3, new int[]{4}, "", "minimum packet size"); l.add(null, false, 4, new int[]{5}, "", "maximum packet size"); l.add(null, false, 5, new int[]{6}, "", "minimum interval"); l.add(null, false, 6, new int[]{-1}, "", "maximum interval"); l.add(null, false, 1, new int[]{2}, "enforce-mac", "enfore mac on packets"); l.add(null, false, 2, new int[]{-1}, "in", "only in ingress"); l.add(null, false, 2, new int[]{-1}, "out", "only in egress"); l.add(null, false, 2, new int[]{-1}, "both", "check in both directions"); l.add(null, false, 2, new int[]{-1}, "none", "not check at all"); l.add(null, false, 1, new int[]{2}, "enforce-mtu", "enfore mtu on packets"); l.add(null, false, 2, new int[]{-1}, "in", "only in ingress"); l.add(null, false, 2, new int[]{-1}, "out", "only in egress"); l.add(null, false, 2, new int[]{-1}, "both", "check in both directions"); l.add(null, false, 2, new int[]{-1}, "none", "not check at all"); l.add(null, false, 1, new int[]{2}, "sgt", "security group tag commands"); l.add(null, false, 2, new int[]{-1}, "enable", "enable tagging"); l.add(null, false, 2, new int[]{3}, "assign", "assign tag"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "optional", "allow untagged packets"); l.add(null, false, 3, new int[]{-1}, "", "tag to assign"); l.add(null, false, 2, new int[]{3}, "allow-in", "allow only specific tags"); l.add(null, false, 3, new int[]{3, -1}, "", "value"); l.add(null, false, 2, new int[]{3}, "allow-out", "allow only specific tags"); l.add(null, false, 3, new int[]{3, -1}, "", "value"); l.add(null, false, 2, new int[]{3}, "forbid-in", "forbid some specific tags"); l.add(null, false, 3, new int[]{3, -1}, "", "value"); l.add(null, false, 2, new int[]{3}, "forbid-out", "forbid some specific tags"); l.add(null, false, 3, new int[]{3, -1}, "", "value"); l.add(null, false, 1, new int[]{2}, "rate-limit-in", "ingress rate limit commands"); l.add(null, false, 2, new int[]{3}, "", "bytes per interval"); l.add(null, false, 3, new int[]{-1}, "", "ms per intervals"); l.add(null, false, 1, new int[]{2}, "rate-limit-out", "egress rate limit commands"); l.add(null, false, 2, new int[]{3}, "", "bytes per interval"); l.add(null, false, 3, new int[]{-1}, "", "ms per intervals"); l.add(null, false, 1, new int[]{2, -1}, "loss-detection", "loss detection commands"); l.add(null, false, 2, new int[]{3}, "", "packet loss to block"); l.add(null, false, 3, new int[]{-1}, "", "time to block"); l.add(null, false, 1, new int[]{-1}, "disable-macsec", "disable macsec"); l.add(null, false, 1, new int[]{-1}, "disable-sgt", "disable sgt"); l.add(null, false, 1, new int[]{2}, "macsec", "mac security protocol commands"); l.add(null, false, 2, new int[]{3, -1}, "", "name of ipsec profile"); l.add(null, false, 3, new int[]{-1}, "", "ethertype to use"); l.add(null, false, 1, new int[]{2}, "connect", "cross connect interface"); l.add(null, false, 2, new int[]{-1}, "", "name of interface"); l.add(null, false, 1, new int[]{2}, "xconnect", "cross connect interface"); cfgXconnSide.getHelp(l, 2); l.add(null, false, 1, new int[]{2}, "pseudowire", "pseudowire of interface"); cfgXconnSide.getHelp(l, 2); l.add(null, false, 1, new int[]{2}, "service-instance", "configure ethernet services"); l.add(null, false, 2, new int[]{3}, "", "vlan id"); l.add(null, false, 3, new int[]{-1}, "shutdown", "drop frames unconditionally"); l.add(null, false, 3, new int[]{4}, "bridge-group", "transparent bridging interface parameters"); l.add(null, false, 4, new int[]{-1}, "", "number of bridge group"); l.add(null, false, 3, new int[]{4}, "xconnect", "cross connect vlan"); cfgXconnSide.getHelp(l, 4); l.add(null, false, 1, new int[]{2}, "dhcp4server", "serve ipv4 dhcp requests"); l.add(null, false, 2, new int[]{-1}, "enable", "enable processing"); l.add(null, false, 2, new int[]{3}, "pool", "address pool to use"); l.add(null, false, 3, new int[]{4}, "", "first address to delegate"); l.add(null, false, 4, new int[]{-1}, "", "last address to delegate"); l.add(null, false, 2, new int[]{3}, "gateway", "gateway address to delegate"); l.add(null, false, 3, new int[]{-1}, "", "address of gateway"); l.add(null, false, 2, new int[]{3}, "dns-server", "address(es) of name server(s) to delegate"); l.add(null, false, 3, new int[]{4, -1}, "", "dns#1 server address"); l.add(null, false, 3, new int[]{-1}, "", "dns#2 server address"); l.add(null, false, 2, new int[]{3}, "domain-name", "domain name to delegate"); l.add(null, false, 3, new int[]{-1}, "", "domain name"); l.add(null, false, 2, new int[]{3}, "netmask", "network to delegate"); l.add(null, false, 3, new int[]{-1}, "", "netmask to delegate"); l.add(null, false, 2, new int[]{3}, "static", "address pool to use"); l.add(null, false, 3, new int[]{4}, "", "mac address of client"); l.add(null, false, 4, new int[]{-1}, "", "ip address of client"); l.add(null, false, 2, new int[]{3}, "forbidden", "address pool to use"); l.add(null, false, 3, new int[]{-1}, "", "mac address of client"); l.add(null, false, 2, new int[]{3}, "option", "specify custom option"); l.add(null, false, 3, new int[]{4, -1}, "", "type of option"); l.add(null, false, 4, new int[]{4, -1}, "", "data byte"); l.add(null, false, 1, new int[]{2}, "dhcp6server", "serve ipc6 dhcp requests"); l.add(null, false, 2, new int[]{-1}, "enable", "enable processing"); l.add(null, false, 2, new int[]{3}, "pool", "address pool to use"); l.add(null, false, 3, new int[]{4}, "", "first address to delegate"); l.add(null, false, 4, new int[]{-1}, "", "last address to delegate"); l.add(null, false, 2, new int[]{3}, "gateway", "gateway address to delegate"); l.add(null, false, 3, new int[]{-1}, "", "address of gateway"); l.add(null, false, 2, new int[]{3}, "dns-server", "address(es) of name server(s) to delegate"); l.add(null, false, 3, new int[]{4, -1}, "", "dns#1 server address"); l.add(null, false, 3, new int[]{-1}, "", "dns#2 server address"); l.add(null, false, 2, new int[]{3}, "domain-name", "domain name to delegate"); l.add(null, false, 3, new int[]{-1}, "", "domain name"); l.add(null, false, 2, new int[]{3}, "netmask", "network to delegate"); l.add(null, false, 3, new int[]{-1}, "", "netmask to delegate"); l.add(null, false, 2, new int[]{3}, "static", "address pool to use"); l.add(null, false, 3, new int[]{4}, "", "mac address of client"); l.add(null, false, 4, new int[]{-1}, "", "ip address of client"); l.add(null, false, 2, new int[]{3}, "forbidden", "address pool to use"); l.add(null, false, 3, new int[]{-1}, "", "mac address of client"); l.add(null, false, 2, new int[]{3}, "option", "specify custom option"); l.add(null, false, 3, new int[]{4, -1}, "", "type of option"); l.add(null, false, 4, new int[]{4, -1}, "", "data byte"); l.add(null, false, 1, new int[]{2}, "service-policy-in", "policy map to apply to ingress packets"); l.add(null, false, 2, new int[]{-1}, "", "name of policy map"); l.add(null, false, 1, new int[]{2}, "service-policy-out", "policy map to apply to egress packets"); l.add(null, false, 2, new int[]{-1}, "", "name of policy map"); } public synchronized void doCfgStr(cmds cmd) { if (type == tabRouteIface.ifaceType.template) { cfgAll.templateConfig(this, cmd); } String a = cmd.word(); if (a.equals("description")) { description = cmd.getRemaining(); return; } if (a.equals("log-link-change")) { ethtyp.logStateChg = true; return; } if (a.equals("macaddr")) { addrMac mac = new addrMac(); if (mac.fromString(cmd.word())) { return; } ethtyp.forcedMac = mac; return; } if (a.equals("shutdown")) { ethtyp.forcedDN |= 1; ethtyp.propagateState(); propagateEthtypState(); return; } if (a.equals("autostate")) { ethtyp.forcedUP = false; ethtyp.propagateState(); propagateEthtypState(); return; } if (a.equals("template")) { cfgIfc ifc = cfgAll.ifcFind(cmd.word(), 0); if (ifc == null) { cmd.error("no such interface"); return; } setup2template(ifc); return; } if (a.equals("transproxy")) { cfgProxy prx = cfgAll.proxyFind(cmd.word(), false); if (prx == null) { cmd.error("no such proxy profile"); return; } setup2transproxy(prx.proxy); return; } if (a.equals("monitor-buffer")) { int i = bits.str2num(cmd.word()); if (i < 1) { return; } ethtyp.monBufP = 0; ethtyp.monBufD = new byte[i]; return; } if (a.equals("monitor-filter")) { cfgAceslst acl = cfgAll.aclsFind(cmd.word(), false); if (acl == null) { cmd.error("no such list"); return; } ethtyp.ip4cor = new ipCor4(); ethtyp.ip6cor = new ipCor6(); ethtyp.monFlt = acl.aceslst; return; } if (a.equals("monitor-direction")) { a = cmd.word(); ethtyp.monDir = 0; if (a.equals("rx")) { ethtyp.monDir = 1; } if (a.equals("tx")) { ethtyp.monDir = 2; } if (a.equals("both")) { ethtyp.monDir = 3; } return; } if (a.equals("monitor-truncate")) { ethtyp.monTrnc = bits.str2num(cmd.word()); return; } if (a.equals("monitor-sample")) { ethtyp.monSmpN = bits.str2num(cmd.word()); return; } if (a.equals("monitor-session")) { cfgIfc ifc = cfgAll.ifcFind(cmd.word(), 0); if (ifc == null) { cmd.error("no such interface"); return; } ethtyp.monHdr = ifc.ifaceNeedMacs(); ethtyp.monSes = ifc.ethtyp; return; } if (a.equals("follow-tracker")) { followTrack = cmd.word(); return; } if (a.equals("padup")) { ethtyp.padupMin = bits.str2num(cmd.word()); ethtyp.padupMod = bits.str2num(cmd.word()); return; } if (a.equals("mtu")) { ethtyp.forcedMTU = bits.str2num(cmd.word()); propagateEthtypState(); return; } if (a.equals("bandwidth")) { autoBndWdt = 0; a = cmd.word(); if (!a.equals("auto")) { ethtyp.forcedBW = bits.str2long(a) * 1000; if (bundleHed != null) { bundleHed.bundleHed.propagateState(); } return; } a = cmd.word(); if (a.equals("rx")) { autoBndWdt |= 0x1; } if (a.equals("tx")) { autoBndWdt |= 0x2; } if (a.equals("both")) { autoBndWdt |= 0x3; } a = cmd.word(); if (a.equals("second")) { autoBndWdt |= 0x10; } if (a.equals("minute-average")) { autoBndWdt |= 0x20; } if (a.equals("minute-maximum")) { autoBndWdt |= 0x30; } if (a.equals("hour-average")) { autoBndWdt |= 0x40; } if (a.equals("hour-maximum")) { autoBndWdt |= 0x50; } return; } if (a.equals("encapsulation")) { initEncap(cmd.word()); return; } if (a.equals("carrier-delay")) { carrierDelay = bits.str2num(cmd.word()); return; } if (a.equals("p2poe")) { a = cmd.word(); if (a.equals("client")) { if (setup2pppoeClnt(cfgAll.ifcFind(cmd.word(), 0))) { cmd.error("failed to setup encapsulation"); return; } return; } if (a.equals("server")) { if (setup2pppoeServ(cfgAll.ifcFind(cmd.word(), 0), cmd)) { cmd.error("failed to setup encapsulation"); return; } return; } if (a.equals("relay")) { if (setup2pppoeRely(cfgAll.ifcFind(cmd.word(), 0), cmd)) { cmd.error("failed to setup encapsulation"); return; } return; } cmd.badCmd(); return; } if (a.equals("eapol")) { a = cmd.word(); if (a.equals("client")) { a = cmd.word(); if (setup2eapolClnt(a, cmd.word())) { cmd.error("failed to setup encapsulation"); return; } return; } if (a.equals("server")) { if (setup2eapolServ(cfgAll.autherFind(cmd.word(), null))) { cmd.error("failed to setup encapsulation"); return; } return; } cmd.badCmd(); return; } if (a.equals("hdlc")) { if (hdlc == null) { cmd.error("encapsulation not in effect"); return; } hdlc.doConfig(cmd); return; } if (a.equals("isdn")) { if (isdn == null) { cmd.error("encapsulation not in effect"); return; } isdn.doConfig(cmd); return; } if (a.equals("sep")) { if (sep == null) { cmd.error("encapsulation not in effect"); return; } sep.doConfig(cmd); return; } if (a.equals("qinqx")) { if (qinqx == null) { cmd.error("encapsulation not in effect"); return; } qinqx = new ifcQinqX(qinqx); qinqx.doConfig(cmd); initVlan(qinqx); return; } if (a.equals("vlan")) { if (vlanHed == null) { initVlan(); } vlanHed.vlnDoConfig(cmd); return; } if (a.equals("lapb")) { if (lapb == null) { cmd.error("encapsulation not in effect"); return; } lapb.doConfig(cmd); return; } if (a.equals("framerelay")) { if (frmrly == null) { cmd.error("encapsulation not in effect"); return; } frmrly.doConfig(cmd); return; } if (a.equals("atmdxi")) { if (atmdxi == null) { cmd.error("encapsulation not in effect"); return; } atmdxi.doConfig(cmd); return; } if (a.equals("atmsar")) { if (atmsar == null) { cmd.error("encapsulation not in effect"); return; } atmsar.doConfig(cmd); return; } if (a.equals("ppp")) { if (ppp == null) { cmd.error("encapsulation not in effect"); return; } ppp.doConfig(cmd); ppp.clearState(); return; } if (a.equals("bridge-group")) { cfgBrdg brdg = cfgAll.brdgFind(cmd.word(), false); if (brdg == null) { cmd.error("invalid bridge number"); return; } setup2bridge(brdg); return; } if (a.equals("bridge-staticaddr")) { if (bridgeIfc == null) { cmd.error("not bridged"); return; } bridgeIfc.statAddr = new tabGen(); for (;;) { a = cmd.word(); if (a.length() < 1) { break; } addrMac adr = new addrMac(); adr.fromString(a); bridgeIfc.statAddr.add(adr); } bridgeHed.bridgeHed.delMacs(bridgeIfc); bridgeHed.bridgeHed.addMacs(bridgeIfc, bridgeIfc.statAddr); return; } if (a.equals("bridge-portsecurity")) { if (bridgeIfc == null) { cmd.error("not bridged"); return; } bridgeIfc.portSec = new tabGen(); for (;;) { a = cmd.word(); if (a.length() < 1) { break; } addrMac adr = new addrMac(); adr.fromString(a); bridgeIfc.portSec.add(adr); } return; } if (a.equals("bridge-macrewrite")) { a = cmd.word(); if (bridgeIfc == null) { cmd.error("not bridged"); return; } bridgeIfc.macRewrite = new addrMac(); bridgeIfc.macRewrite.fromString(a); return; } if (a.equals("bridge-pmtud")) { a = cmd.word(); if (bridgeIfc == null) { cmd.error("not bridged"); return; } if (a.equals("ipv4in")) { bridgeIfc.ipCore4 = new ipCor4(); bridgeIfc.ipIcmp4 = new ipIcmp4(); bridgeIfc.pmtud4valIn = bits.str2num(cmd.word()); bridgeIfc.pmtud4adrIn = new addrIP(); bridgeIfc.pmtud4adrIn.fromString(cmd.word()); return; } if (a.equals("ipv4out")) { bridgeIfc.ipCore4 = new ipCor4(); bridgeIfc.ipIcmp4 = new ipIcmp4(); bridgeIfc.pmtud4valOut = bits.str2num(cmd.word()); bridgeIfc.pmtud4adrOut = new addrIP(); bridgeIfc.pmtud4adrOut.fromString(cmd.word()); return; } if (a.equals("ipv6in")) { bridgeIfc.ipCore6 = new ipCor6(); bridgeIfc.ipIcmp6 = new ipIcmp6(); bridgeIfc.pmtud6valIn = bits.str2num(cmd.word()); bridgeIfc.pmtud6adrIn = new addrIP(); bridgeIfc.pmtud6adrIn.fromString(cmd.word()); return; } if (a.equals("ipv6out")) { bridgeIfc.ipCore6 = new ipCor6(); bridgeIfc.ipIcmp6 = new ipIcmp6(); bridgeIfc.pmtud6valOut = bits.str2num(cmd.word()); bridgeIfc.pmtud6adrOut = new addrIP(); bridgeIfc.pmtud6adrOut.fromString(cmd.word()); return; } return; } if (a.equals("bridge-tcp-mss")) { a = cmd.word(); if (bridgeIfc == null) { cmd.error("not bridged"); return; } if (a.equals("ipv4in")) { bridgeIfc.ipCore4 = new ipCor4(); bridgeIfc.tcp4mssIn = bits.str2num(cmd.word()); return; } if (a.equals("ipv4out")) { bridgeIfc.ipCore4 = new ipCor4(); bridgeIfc.tcp4mssOut = bits.str2num(cmd.word()); return; } if (a.equals("ipv6in")) { bridgeIfc.ipCore6 = new ipCor6(); bridgeIfc.tcp6mssIn = bits.str2num(cmd.word()); return; } if (a.equals("ipv6out")) { bridgeIfc.ipCore6 = new ipCor6(); bridgeIfc.tcp6mssOut = bits.str2num(cmd.word()); return; } return; } if (a.equals("bridge-filter")) { a = cmd.word(); if (bridgeIfc == null) { cmd.error("not bridged"); return; } if (a.equals("private-port")) { bridgeIfc.privatePort = true; return; } if (a.equals("public-port")) { bridgeIfc.publicPort = true; return; } if (a.equals("stp-in")) { bridgeIfc.fltrStpIn = true; return; } if (a.equals("stp-out")) { bridgeIfc.fltrStpOut = true; return; } if (a.equals("stp-root")) { bridgeIfc.fltrStpRoot = true; return; } cfgAceslst ntry = cfgAll.aclsFind(cmd.word(), false); if (ntry == null) { cmd.error("no such access list"); return; } if (a.equals("ipv4in")) { ntry.aceslst.myCor = new ipCor4(); ntry.aceslst.myIcmp = new ipIcmp4(); bridgeIfc.filter4in = ntry.aceslst; return; } if (a.equals("ipv4out")) { ntry.aceslst.myCor = new ipCor4(); ntry.aceslst.myIcmp = new ipIcmp4(); bridgeIfc.filter4out = ntry.aceslst; return; } if (a.equals("ipv6in")) { ntry.aceslst.myCor = new ipCor6(); ntry.aceslst.myIcmp = new ipIcmp6(); bridgeIfc.filter6in = ntry.aceslst; return; } if (a.equals("ipv6out")) { ntry.aceslst.myCor = new ipCor6(); ntry.aceslst.myIcmp = new ipIcmp6(); bridgeIfc.filter6out = ntry.aceslst; return; } return; } if (a.equals("bundle-group")) { cfgBndl bndl = cfgAll.bndlFind(cmd.word(), false); if (bndl == null) { cmd.error("invalid bundle number"); return; } setup2bundle(bndl); return; } if (a.equals("bundle-priority")) { if (bundleIfc == null) { cmd.error("not enabled"); return; } bundleIfc.priority = bits.str2num(cmd.word()); return; } if (a.equals("random")) { if (random != null) { random.stopWork(); } random = new ifcRandom(); random.ethtyp = bits.fromHex(cmd.word()); random.sizMin = bits.str2num(cmd.word()); random.sizMax = bits.str2num(cmd.word()); random.intMin = bits.str2num(cmd.word()); random.intMax = bits.str2num(cmd.word()); ethtyp.addET(random.ethtyp, "random", random); ethtyp.updateET(random.ethtyp, random); random.startWork(); return; } if (a.equals("enforce-mac")) { a = cmd.word(); addrMac hwa = null; try { hwa = (addrMac) ethtyp.getHwAddr().copyBytes(); } catch (Exception e) { } ethtyp.macCheckRx = null; ethtyp.macCheckTx = null; if (a.equals("in")) { ethtyp.macCheckRx = hwa; return; } if (a.equals("out")) { ethtyp.macCheckTx = hwa; return; } if (a.equals("both")) { ethtyp.macCheckRx = hwa; ethtyp.macCheckTx = hwa; return; } return; } if (a.equals("enforce-mtu")) { a = cmd.word(); ethtyp.mtuCheckRx = false; ethtyp.mtuCheckTx = false; if (a.equals("in")) { ethtyp.mtuCheckRx = true; return; } if (a.equals("out")) { ethtyp.mtuCheckTx = true; return; } if (a.equals("both")) { ethtyp.mtuCheckRx = true; ethtyp.mtuCheckTx = true; return; } return; } if (a.equals("sgt")) { a = cmd.word(); if (a.equals("enable")) { if (disableSgt) { ethtyp.sgtHnd = null; return; } ethtyp.sgtHnd = new ifcSgt(ethtyp); return; } if (a.equals("assign")) { ethtyp.sgtSet = bits.str2num(cmd.word()); return; } if (ethtyp.sgtHnd == null) { cmd.error("not enabled"); return; } if (a.equals("optional")) { ethtyp.sgtHnd.optional = bits.str2num(cmd.word()); return; } if (a.equals("allow-in")) { ethtyp.sgtHnd.allowIn = tabIndex.convertTable(cmd); return; } if (a.equals("allow-out")) { ethtyp.sgtHnd.allowOut = tabIndex.convertTable(cmd); return; } if (a.equals("forbid-in")) { ethtyp.sgtHnd.forbidIn = tabIndex.convertTable(cmd); return; } if (a.equals("forbid-out")) { ethtyp.sgtHnd.forbidOut = tabIndex.convertTable(cmd); return; } cmd.badCmd(); return; } if (a.equals("rate-limit-in")) { int res = bits.str2num(cmd.word()); ethtyp.rateIn = new tabRateLimit(res, bits.str2num(cmd.word())); return; } if (a.equals("rate-limit-out")) { int res = bits.str2num(cmd.word()); ethtyp.rateOut = new tabRateLimit(res, bits.str2num(cmd.word())); return; } if (a.equals("loss-detection")) { ifcLossDet sec = new ifcLossDet(); sec.doInit(ethtyp); sec.packets = bits.str2num(cmd.word()); sec.blocking = bits.str2num(cmd.word()); ethtyp.lossDet = sec; ethtyp.timerUpdate(); return; } if (a.equals("disable-sgt")) { disableSgt = true; ethtyp.sgtHnd = null; return; } if (a.equals("disable-macsec")) { disableMacsec = true; ethtyp.macSec = null; ethtyp.timerUpdate(); return; } if (a.equals("macsec")) { cfgIpsec prf = cfgAll.ipsecFind(cmd.word(), false); if (prf == null) { cmd.error("no such profile"); return; } if (disableMacsec) { ethtyp.macSec = null; ethtyp.timerUpdate(); return; } ifcMacSec sec = new ifcMacSec(); sec.doInit(prf, ethtyp, bits.fromHex(cmd.word())); sec.needLayer2 = ifaceNeedArp(); ethtyp.macSec = sec; ethtyp.timerUpdate(); return; } if (a.equals("service-policy-in")) { cfgPlymp plcy = cfgAll.plmpFind(cmd.word(), false); if (plcy == null) { cmd.error("no such policy map"); return; } tabQos wrkr = tabQos.convertPolicy(plcy.plcmap); if (wrkr == null) { cmd.error("error applying policy map"); return; } ethtyp.qosIn = wrkr; ethtyp.timerUpdate(); return; } if (a.equals("service-policy-out")) { cfgPlymp plcy = cfgAll.plmpFind(cmd.word(), false); if (plcy == null) { cmd.error("no such policy map"); return; } tabQos wrkr = tabQos.convertPolicy(plcy.plcmap); if (wrkr == null) { cmd.error("error applying policy map"); return; } ethtyp.qosOut = wrkr; ethtyp.timerUpdate(); return; } if (a.equals("dhcp4server")) { a = cmd.word(); if (a.equals("enable")) { if (ipIf4 == null) { cmd.error("protocol not enabled"); return; } dhcp4s = new servDhcp4(); dhcp4s.srvInitialize(); dhcp4s.srvVrf = vrfFor; dhcp4s.srvIface = this; dhcp4s.srvInit(); return; } if (dhcp4s == null) { cmd.error("server not enabled"); return; } cmd = new cmds("srv", a + " " + cmd.getRemaining()); dhcp4s.srvCfgStr(cmd); return; } if (a.equals("dhcp6server")) { a = cmd.word(); if (a.equals("enable")) { if (ipIf6 == null) { cmd.error("protocol not enabled"); return; } dhcp6s = new servDhcp6(); dhcp6s.srvInitialize(); dhcp6s.srvVrf = vrfFor; dhcp6s.srvIface = this; dhcp6s.srvInit(); return; } if (dhcp6s == null) { cmd.error("server not enabled"); return; } cmd = new cmds("srv", a + " " + cmd.getRemaining()); dhcp6s.srvCfgStr(cmd); return; } if (a.equals("vrf")) { a = cmd.word(); if (a.equals("forwarding")) { a = cmd.word(); cfgVrf v = cfgAll.vrfFind(a, false); if (v == null) { cmd.error("no such vrf exists"); return; } if (vrfFor == v) { return; } clear2routing(true, true); clear2vrf(); vrfFor = v; setup2vrf(true, true, true); return; } cmd.badCmd(); return; } if (a.equals("lldp")) { a = cmd.word(); if (a.equals("enable")) { if (lldp != null) { lldp.restartTimer(true); } lldp = new ifcLldp(this); ethtyp.addET(ifcLldp.ethtyp, "lldp", lldp); ethtyp.updateET(ifcLldp.ethtyp, lldp); return; } cmd.badCmd(); return; } if (a.equals("nhrp")) { a = cmd.word(); if (nhrp == null) { nhrp = new ifcNhrp(this); ethtyp.addET(ifcNhrp.ethtyp, "nhrp", nhrp); ethtyp.updateET(ifcNhrp.ethtyp, nhrp); } if (a.equals("ipv4")) { nhrp.ip4 = new addrIPv4(); nhrp.ip4.fromString(cmd.word()); return; } if (a.equals("ipv6")) { nhrp.ip6 = new addrIPv6(); nhrp.ip6.fromString(cmd.word()); return; } cmd.badCmd(); return; } if (a.equals("cdp")) { a = cmd.word(); if (a.equals("enable")) { if (cdp != null) { cdp.restartTimer(true); } cdp = new ifcCdp(this); ethtyp.addSNAP(ifcCdp.orgid, "cdp", cdp); ethtyp.updateSNAP(ifcCdp.orgid, cdp); return; } if (a.equals("odr4")) { if (cdp == null) { return; } cdp.odr4 = new addrIPv4(); cdp.odr4.fromString(cmd.word()); return; } if (a.equals("odr6")) { if (cdp == null) { return; } cdp.odr6 = new addrIPv6(); cdp.odr6.fromString(cmd.word()); return; } cmd.badCmd(); return; } if (a.equals("synceth")) { a = cmd.word(); if (a.equals("enable")) { synce = new ifcSyncE(); ethtyp.addET(ifcSyncE.ethtyp, "synceth", synce); ethtyp.updateET(ifcSyncE.ethtyp, synce); return; } cmd.badCmd(); return; } if (a.equals("ptp")) { a = cmd.word(); if (a.equals("enable")) { ptp = new ifcPtp(); ethtyp.addET(packPtp.ethtyp, "ptp", ptp); ethtyp.updateET(packPtp.ethtyp, ptp); return; } if (ptp == null) { return; } if (a.equals("receive")) { ptp.receive = true; return; } cmd.badCmd(); return; } if (a.equals("lacp")) { lacp = new ifcLacp(this); lacp.sysMac.fromString(cmd.word()); lacp.sysKey = bits.str2num(cmd.word()); lacp.portNum = bits.str2num(cmd.word()); ethtyp.addET(ifcLacp.ethtyp, "lacp", lacp); ethtyp.updateET(ifcLacp.ethtyp, lacp); return; } if (a.equals("udld")) { a = cmd.word(); if (a.equals("enable")) { if (udld != null) { udld.restartTimer(true); } udld = new ifcUdld(this); ethtyp.addSNAP(ifcUdld.orgid, "udld", udld); ethtyp.updateSNAP(ifcUdld.orgid, udld); return; } cmd.badCmd(); return; } if (a.equals("radiotap")) { a = cmd.word(); if (a.equals("enable")) { if (radioTap != null) { radioTap.restartTimer(true); } radioTap = new ifcRadioTap(); ethtyp.addET(-1, "radiotap", radioTap); ethtyp.updateET(-1, radioTap); return; } if (radioTap == null) { cmd.error("protocol not enabled"); return; } if (a.equals("logging")) { radioTap.logging = true; return; } if (a.equals("timeout")) { radioTap.timeOut = bits.str2num(cmd.word()); return; } cmd.badCmd(); return; } if (a.equals("service-instance")) { initVlan(); int i = bits.str2num(cmd.word()); if (i < 1) { cmd.error("invalid evc id"); return; } cfgIfcEvc ntry = new cfgIfcEvc(i, this); cfgIfcEvc old = evcs.find(ntry); if (old != null) { old.stopWork(); } ntry.doCfg(cmd); ntry.startWork(); evcs.put(ntry); return; } if (a.equals("connect")) { clear2iconnect(); cfgIfc rem = cfgAll.ifcFind(cmd.word(), 0); if (rem == null) { cmd.error("no such interface"); return; } iconn = rem; rem.iconn = this; ifcConnect con = new ifcConnect(); ifcUp side = con.getSide1(); ethtyp.addET(-1, "connect", side); ethtyp.updateET(-1, side); side = con.getSide2(); rem.ethtyp.addET(-1, "connect", side); rem.ethtyp.updateET(-1, side); con.setPromiscous(true); return; } if (a.equals("xconnect")) { clear2xconnect(); ifcEther eth = new ifcEther(ifaceNeedMacs()); ifcConnect con = new ifcConnect(); xconn = new cfgXconnSide(); xconn.name = description.length() > 0 ? description : name; xconn.upper = con.getSide1(); ifcUp upp = con.getSide2(); switch (type) { case serial: case dialer: case virtppp: xconn.pwtype = packLdpPwe.pwtPpp; break; case tunnel: xconn.pwtype = packLdpPwe.pwtIp; break; case atm: xconn.pwtype = packLdpPwe.pwtAtmAal5; break; default: xconn.pwtype = packLdpPwe.pwtEthPort; xconn.upper = eth.getSideEth(); upp = eth.getSideTyp(); break; } xconn.pwmtu = ethtyp.getMTUsize(); xconn.doCfg(cmd); if (!xconn.ready2run()) { xconn = null; return; } xconn.start2run(); ethtyp.addET(-1, "xconn", upp); ethtyp.updateET(-1, upp); eth.setPromiscous(true); con.setPromiscous(true); return; } if (a.equals("pseudowire")) { clear2pseudowire(); ifcUp upp = null; int pwt = 0; switch (type) { case virtppp: upp = getEncapProto(); pwt = packLdpPwe.pwtPpp; upp.setState(state.states.up); break; case pweth: upp = new ifcEther(false, ethtyp); pwt = packLdpPwe.pwtEthPort; break; default: return; } pwhe = new cfgXconnSide(); pwhe.upper = upp; pwhe.name = description.length() > 0 ? description : name; pwhe.pwtype = pwt; pwhe.pwmtu = ethtyp.getMTUsize(); pwhe.doCfg(cmd); if (!pwhe.ready2run()) { pwhe = null; return; } pwhe.start2run(); lower = pwhe.lower; return; } if (a.equals("ipx")) { doCfgIpx(cmd); return; } if (a.equals("ipv4")) { doCfgIp4(cmd); return; } if (a.equals("ipv6")) { doCfgIp6(cmd); return; } if (a.equals("router")) { doCfgRouter(cmd); return; } if (a.equals("tunnel")) { doCfgTunnel(cmd); return; } if (a.equals("polka")) { doCfgPolka(cmd); return; } if (a.equals("mpls")) { doCfgMpls(cmd); return; } if (a.equals("nsh")) { doCfgNsh(cmd); return; } if (!a.equals(cmds.negated)) { cmd.badCmd(); return; } a = cmd.word(); if (a.equals("description")) { description = ""; return; } if (a.equals("log-link-change")) { ethtyp.logStateChg = false; return; } if (a.equals("macaddr")) { ethtyp.forcedMac = null; return; } if (a.equals("shutdown")) { ethtyp.forcedDN &= ~1; ethtyp.propagateState(); propagateEthtypState(); return; } if (a.equals("autostate")) { ethtyp.forcedUP = true; ethtyp.propagateState(); propagateEthtypState(); return; } if (a.equals("template")) { template = null; return; } if (a.equals("transproxy")) { clear2transproxy(); return; } if (a.equals("monitor-filter")) { ethtyp.monFlt = null; ethtyp.ip4cor = null; ethtyp.ip6cor = null; return; } if (a.equals("monitor-buffer")) { ethtyp.monBufD = null; return; } if (a.equals("monitor-direction")) { ethtyp.monDir = 3; return; } if (a.equals("monitor-truncate")) { ethtyp.monTrnc = 0; return; } if (a.equals("monitor-sample")) { ethtyp.monSmpN = 0; return; } if (a.equals("monitor-session")) { ethtyp.monSes = null; ethtyp.monHdr = false; return; } if (a.equals("follow-tracker")) { followTrack = null; return; } if (a.equals("padup")) { ethtyp.padupMin = 0; ethtyp.padupMod = 0; return; } if (a.equals("mtu")) { ethtyp.forcedMTU = 0; propagateEthtypState(); return; } if (a.equals("bandwidth")) { autoBndWdt = 0; ethtyp.forcedBW = 0; if (bundleHed != null) { bundleHed.bundleHed.propagateState(); } return; } if (a.equals("eapol")) { a = cmd.word(); if (a.equals("client")) { setup2eapolClnt(null, null); return; } if (a.equals("server")) { setup2eapolServ(null); return; } cmd.badCmd(); return; } if (a.equals("carrier-delay")) { carrierDelay = 0; return; } if (a.equals("p2poe")) { a = cmd.word(); if (a.equals("client")) { setup2pppoeClnt(null); return; } if (a.equals("server")) { setup2pppoeServ(null, null); return; } if (a.equals("relay")) { setup2pppoeRely(null, null); return; } cmd.badCmd(); } if (a.equals("vlan")) { if (vlanHed == null) { initVlan(); } vlanHed.vlnUnConfig(cmd); return; } if (a.equals("ppp")) { if (ppp == null) { cmd.error("encapsulation not in effect"); return; } ppp.unConfig(cmd); ppp.clearState(); return; } if (a.equals("bridge-group")) { clear2bridge(); return; } if (a.equals("bridge-staticaddr")) { if (bridgeIfc == null) { cmd.error("not bridged"); return; } bridgeIfc.statAddr = null; bridgeHed.bridgeHed.delMacs(bridgeIfc); return; } if (a.equals("bridge-portsecurity")) { if (bridgeIfc == null) { cmd.error("not bridged"); return; } bridgeIfc.portSec = null; return; } if (a.equals("bridge-macrewrite")) { a = cmd.word(); if (bridgeIfc == null) { cmd.error("not bridged"); return; } bridgeIfc.macRewrite = null; return; } if (a.equals("bridge-pmtud")) { a = cmd.word(); if (bridgeIfc == null) { cmd.error("not bridged"); return; } if (a.equals("ipv4in")) { bridgeIfc.pmtud4valIn = 0; bridgeIfc.pmtud4adrIn = null; return; } if (a.equals("ipv4out")) { bridgeIfc.pmtud4valOut = 0; bridgeIfc.pmtud4adrOut = null; return; } if (a.equals("ipv6in")) { bridgeIfc.pmtud6valIn = 0; bridgeIfc.pmtud6adrIn = null; return; } if (a.equals("ipv6out")) { bridgeIfc.pmtud6valOut = 0; bridgeIfc.pmtud6adrOut = null; return; } return; } if (a.equals("bridge-tcp-mss")) { a = cmd.word(); if (bridgeIfc == null) { cmd.error("not bridged"); return; } if (a.equals("ipv4in")) { bridgeIfc.tcp4mssIn = 0; return; } if (a.equals("ipv4out")) { bridgeIfc.tcp4mssOut = 0; return; } if (a.equals("ipv6in")) { bridgeIfc.tcp6mssIn = 0; return; } if (a.equals("ipv6out")) { bridgeIfc.tcp6mssOut = 0; return; } return; } if (a.equals("bridge-filter")) { a = cmd.word(); if (bridgeIfc == null) { return; } if (a.equals("private-port")) { bridgeIfc.privatePort = false; return; } if (a.equals("public-port")) { bridgeIfc.publicPort = false; return; } if (a.equals("stp-in")) { bridgeIfc.fltrStpIn = false; return; } if (a.equals("stp-out")) { bridgeIfc.fltrStpOut = false; return; } if (a.equals("stp-root")) { bridgeIfc.fltrStpRoot = false; return; } if (a.equals("ipv4in")) { bridgeIfc.filter4in = null; return; } if (a.equals("ipv4out")) { bridgeIfc.filter4out = null; return; } if (a.equals("ipv6in")) { bridgeIfc.filter6in = null; return; } if (a.equals("ipv6out")) { bridgeIfc.filter6out = null; return; } return; } if (a.equals("bundle-group")) { clear2bundle(); return; } if (a.equals("random")) { if (random == null) { return; } ethtyp.delET(random.ethtyp); random.stopWork(); random = null; return; } if (a.equals("enforce-mac")) { ethtyp.macCheckRx = null; ethtyp.macCheckTx = null; return; } if (a.equals("enforce-mtu")) { ethtyp.mtuCheckRx = false; ethtyp.mtuCheckTx = false; return; } if (a.equals("sgt")) { a = cmd.word(); if (a.equals("enable")) { ethtyp.sgtHnd = null; return; } if (a.equals("assign")) { ethtyp.sgtSet = -1; return; } if (ethtyp.sgtHnd == null) { cmd.error("not enabled"); return; } if (a.equals("optional")) { ethtyp.sgtHnd.optional = -1; return; } if (a.equals("allow-in")) { ethtyp.sgtHnd.allowIn = null; return; } if (a.equals("allow-out")) { ethtyp.sgtHnd.allowOut = null; return; } if (a.equals("forbid-in")) { ethtyp.sgtHnd.forbidIn = null; return; } if (a.equals("forbid-out")) { ethtyp.sgtHnd.forbidOut = null; return; } cmd.badCmd(); return; } if (a.equals("rate-limit-in")) { ethtyp.rateIn = null; return; } if (a.equals("rate-limit-out")) { ethtyp.rateOut = null; return; } if (a.equals("loss-detection")) { ethtyp.lossDet = null; ethtyp.timerUpdate(); return; } if (a.equals("disable-sgt")) { disableSgt = false; return; } if (a.equals("disable-macsec")) { disableMacsec = false; return; } if (a.equals("macsec")) { ethtyp.macSec = null; ethtyp.timerUpdate(); return; } if (a.equals("service-policy-in")) { ethtyp.qosIn = null; ethtyp.timerUpdate(); return; } if (a.equals("service-policy-out")) { ethtyp.qosOut = null; ethtyp.timerUpdate(); return; } if (a.equals("dhcp4server")) { a = cmd.word(); if (a.equals("enable")) { if (dhcp4s == null) { cmd.error("protocol not enabled"); return; } dhcp4s.srvDeinit(); dhcp4s = null; return; } if (dhcp4s == null) { cmd.error("server not enabled"); return; } cmd = new cmds("srv", cmds.negated + cmds.tabulator + a + " " + cmd.getRemaining()); dhcp4s.srvCfgStr(cmd); return; } if (a.equals("dhcp6server")) { a = cmd.word(); if (a.equals("enable")) { if (dhcp6s == null) { cmd.error("protocol not enabled"); return; } dhcp6s.srvDeinit(); dhcp6s = null; return; } if (dhcp6s == null) { cmd.error("server not enabled"); return; } cmd = new cmds("srv", cmds.negated + cmds.tabulator + a + " " + cmd.getRemaining()); dhcp6s.srvCfgStr(cmd); return; } if (a.equals("vrf")) { a = cmd.word(); if (a.equals("forwarding")) { clear2routing(true, true); clear2vrf(); return; } cmd.badCmd(); return; } if (a.equals("lldp")) { a = cmd.word(); if (a.equals("enable")) { if (lldp == null) { return; } lldp.restartTimer(true); lldp = null; ethtyp.delET(ifcLldp.ethtyp); return; } cmd.badCmd(); return; } if (a.equals("nhrp")) { a = cmd.word(); if (nhrp == null) { return; } if (a.equals("ipv4")) { nhrp.ip4 = null; } if (a.equals("ipv6")) { nhrp.ip6 = null; } if ((nhrp.ip4 != null) || (nhrp.ip6 != null)) { return; } nhrp.restartTimer(true); nhrp = null; ethtyp.delET(ifcNhrp.ethtyp); return; } if (a.equals("cdp")) { a = cmd.word(); if (a.equals("enable")) { if (cdp == null) { return; } cdp.restartTimer(true); cdp = null; ethtyp.delSNAP(ifcCdp.orgid); return; } if (a.equals("odr4")) { if (cdp == null) { return; } cdp.odr4 = null; return; } if (a.equals("odr6")) { if (cdp == null) { return; } cdp.odr6 = null; return; } cmd.badCmd(); return; } if (a.equals("synceth")) { a = cmd.word(); if (a.equals("enable")) { if (synce == null) { return; } synce.stopWork(); synce = null; ethtyp.delET(ifcSyncE.ethtyp); return; } cmd.badCmd(); return; } if (a.equals("ptp")) { a = cmd.word(); if (a.equals("enable")) { if (ptp == null) { return; } ptp.stopWork(); ptp = null; ethtyp.delET(packPtp.ethtyp); return; } if (ptp == null) { return; } if (a.equals("receive")) { ptp.receive = false; return; } cmd.badCmd(); return; } if (a.equals("lacp")) { if (lacp == null) { return; } lacp.stopWork(); lacp = null; ethtyp.delET(ifcLacp.ethtyp); return; } if (a.equals("udld")) { a = cmd.word(); if (a.equals("enable")) { if (udld == null) { return; } udld.restartTimer(true); udld = null; ethtyp.delSNAP(ifcUdld.orgid); return; } cmd.badCmd(); return; } if (a.equals("radiotap")) { a = cmd.word(); if (a.equals("enable")) { if (radioTap == null) { return; } radioTap.restartTimer(true); radioTap = null; ethtyp.delET(-1); return; } if (radioTap == null) { cmd.error("protocol not enabled"); return; } if (a.equals("logging")) { radioTap.logging = false; return; } cmd.badCmd(); return; } if (a.equals("service-instance")) { initVlan(); cfgIfcEvc ntry = evcs.find(new cfgIfcEvc(bits.str2num(cmd.word()), this)); if (ntry == null) { cmd.error("no such evc"); return; } evcs.del(ntry); ntry.stopWork(); return; } if (a.equals("connect")) { clear2iconnect(); return; } if (a.equals("xconnect")) { clear2xconnect(); return; } if (a.equals("pseudowire")) { clear2pseudowire(); return; } if (a.equals("ipx")) { doCfgNoIpx(cmd); return; } if (a.equals("ipv4")) { doCfgNoIp4(cmd); return; } if (a.equals("ipv6")) { doCfgNoIp6(cmd); return; } if (a.equals("router")) { doCfgNoRouter(cmd); return; } if (a.equals("tunnel")) { doCfgNoTunnel(cmd); return; } if (a.equals("polka")) { doCfgNoPolka(cmd); return; } if (a.equals("mpls")) { doCfgNoMpls(cmd); return; } if (a.equals("nsh")) { doCfgNoNsh(cmd); return; } cmd.badCmd(); } private void doCfgIpx(cmds cmd) { if (vrfFor == null) { cmd.error("no vrf membership selected"); return; } String a = cmd.word(); if (a.equals("network")) { addrIpx adr = new addrIpx(); if (adr.fromString(cmd.word() + "." + addrMac.getRandom())) { cmd.error("bad network format"); return; } ipxAddr = adr; setup2vrf(false, false, true); return; } cmd.badCmd(); } private void doCfgNoIpx(cmds cmd) { String a = cmd.word(); if (a.equals("network")) { ipxAddr = null; setup2vrf(false, false, true); return; } cmd.badCmd(); } private void doCfgIp4(cmds cmd) { if (vrfFor == null) { cmd.error("no vrf membership selected"); return; } String a = cmd.word(); if (a.equals("address")) { addrIPv4 adr = new addrIPv4(); addrIPv4 msk = new addrIPv4(); a = cmd.word(); hide4adr = a.equals("dynamic"); if (hide4adr) { a = "" + addrIPv4.getEmpty(); } if (adr.fromString(a)) { cmd.error("invalid address"); return; } a = cmd.word(); hide4msk = a.equals("dynamic"); if (hide4msk) { a = "/" + new addrIPv4().maxBits(); } if (a.startsWith("/")) { int i = bits.str2num(a.substring(1, a.length())); if ((i < 0) || (i > new addrIPv4().maxBits())) { cmd.error("invalid netmask"); return; } addrPrefix prf = new addrPrefix(adr, i); msk = prf.mask; } else { if (msk.fromString(a)) { cmd.error("invalid netmask"); return; } } addr4 = adr; mask4 = msk; clear2routing(true, false); setup2vrf(true, false, false); return; } if (addr4 == null) { cmd.error("protocol not enabled"); return; } if (a.equals("enable")) { addr4changed(addrIPv4.genLinkLocal(), mask4, null); } if (a.equals("redirection")) { cfgIfc ntry = cfgAll.ifcFind(cmd.word(), 0); if (ntry == null) { cmd.error("no such interface"); return; } ipIf4.redirect = ntry.ipIf4; return; } if (a.equals("dhcp-client")) { a = cmd.word(); if (a.equals("enable")) { if (dhcp4c != null) { return; } dhcp4c = new clntDhcp4(vrfFor.udp4, fwdIf4, ethtyp, this); return; } if (dhcp4c == null) { cmd.error("protocol not enabled"); return; } if (!dhcp4c.doConfig(a, cmd)) { return; } cmd.badCmd(); return; } if (a.equals("dhcp-relay")) { dhcp4r = cfgAll.srvrFind(new servDhcp4(), cfgAll.dmnDhcp4, cmd.word()); if (dhcp4r == null) { cmd.error("no such server"); return; } dhcp4r.addRelayInterface(this); return; } if (a.equals("pool")) { ip4polC = cfgAll.poolFind(cfgAll.ip4pool, cmd.word(), false); return; } if (!fwdIf4.doConfig(a, cmd, vrfFor.core4, vrfFor.fwd4, vrfFor.udp4, vrfFor.tcp4)) { return; } cmd.badCmd(); } private void doCfgNoIp4(cmds cmd) { if (vrfFor == null) { cmd.error("no vrf membership selected"); return; } String a = cmd.word(); if (a.equals("address")) { addr4 = null; mask4 = null; hide4adr = false; hide4msk = false; clear2routing(true, false); setup2vrf(true, false, false); return; } if (addr4 == null) { cmd.error("protocol not enabled"); return; } if (a.equals("redirection")) { ipIf4.redirect = null; return; } if (a.equals("dhcp-relay")) { if (dhcp4r != null) { dhcp4r.removeRelayInterface(this); } dhcp4r = null; return; } if (a.equals("dhcp-client")) { a = cmd.word(); if (a.equals("enable")) { if (dhcp4c == null) { return; } dhcp4c.closeClient(); dhcp4c = null; return; } if (dhcp4c == null) { cmd.error("protocol not enabled"); return; } if (!dhcp4c.unConfig(a)) { return; } cmd.badCmd(); return; } if (a.equals("pool")) { ip4polC = null; return; } if (!fwdIf4.unConfig(a, cmd, vrfFor.fwd4)) { return; } cmd.badCmd(); } private void doCfgIp6(cmds cmd) { if (vrfFor == null) { cmd.error("no vrf membership selected"); return; } String a = cmd.word(); if (a.equals("address")) { addrIPv6 adr = new addrIPv6(); addrIPv6 msk = new addrIPv6(); a = cmd.word(); hide6adr = a.equals("dynamic"); if (hide6adr) { a = "" + addrIPv6.getEmpty(); } if (adr.fromString(a)) { cmd.error("invalid address"); return; } a = cmd.word(); hide6msk = a.equals("dynamic"); if (hide6msk) { a = "/" + new addrIPv6().maxBits(); } if (a.startsWith("/")) { int i = bits.str2num(a.substring(1, a.length())); if ((i < 0) || (i > new addrIPv6().maxBits())) { cmd.error("invalid netmask"); return; } addrPrefix prf = new addrPrefix(adr, i); msk = prf.mask; } else { if (msk.fromString(a)) { cmd.error("invalid netmask"); return; } } addr6 = adr; mask6 = msk; clear2routing(false, true); setup2vrf(false, true, false); return; } if (addr6 == null) { cmd.error("protocol not enabled"); return; } if (a.equals("redirection")) { cfgIfc ntry = cfgAll.ifcFind(cmd.word(), 0); if (ntry == null) { cmd.error("no such interface"); return; } ipIf6.redirect = ntry.ipIf6; return; } if (a.equals("dhcp-client")) { a = cmd.word(); if (a.equals("enable")) { if (dhcp6c != null) { return; } dhcp6c = new clntDhcp6(vrfFor.udp6, fwdIf6, ipIf6, ethtyp, this); return; } if (dhcp6c == null) { cmd.error("protocol not enabled"); return; } if (!dhcp6c.doConfig(a, cmd)) { return; } cmd.badCmd(); return; } if (a.equals("pool")) { ip6polC = cfgAll.poolFind(cfgAll.ip6pool, cmd.word(), false); return; } if (a.equals("dhcp-relay")) { dhcp6r = cfgAll.srvrFind(new servDhcp6(), cfgAll.dmnDhcp6, cmd.word()); if (dhcp6r == null) { cmd.error("no such server"); return; } dhcp6r.addRelayInterface(this); return; } if (a.equals("slaac-client")) { a = cmd.word(); if (a.equals("enable")) { slaac = new clntSlaac(vrfFor.fwd6, fwdIf6, ipIf6, ethtyp, this); return; } if (slaac == null) { cmd.error("not enabled"); return; } slaac.doConfig(a, cmd); return; } if (a.equals("prefix-suppress")) { ipIf6.rtrAdvSuppress = true; return; } if (a.equals("prefix-interval")) { ipIf6.rtrAdvInterval = bits.str2num(cmd.word()); ipIf6.resetTimer(true); return; } if (a.equals("prefix-validity")) { ipIf6.rtrAdvValidity = bits.str2num(cmd.word()); ipIf6.resetTimer(true); return; } if (a.equals("prefix-dns")) { addrIP adr = new addrIP(); if (adr.fromString(cmd.word())) { return; } ipIf6.rtrAdvDns1 = adr; adr = new addrIP(); if (adr.fromString(cmd.word())) { return; } ipIf6.rtrAdvDns2 = adr; return; } if (a.equals("prefix-domain")) { ipIf6.rtrAdvDom = cmd.word(); return; } if (!fwdIf6.doConfig(a, cmd, vrfFor.core6, vrfFor.fwd6, vrfFor.udp6, vrfFor.tcp6)) { return; } cmd.badCmd(); } private void doCfgNoIp6(cmds cmd) { if (vrfFor == null) { cmd.error("no vrf membership selected"); return; } String a = cmd.word(); if (a.equals("address")) { addr6 = null; mask6 = null; hide6adr = false; hide6msk = false; clear2routing(false, true); setup2vrf(false, true, false); return; } if (addr6 == null) { cmd.error("protocol not enabled"); return; } if (a.equals("redirection")) { ipIf6.redirect = null; return; } if (a.equals("dhcp-client")) { a = cmd.word(); if (a.equals("enable")) { if (dhcp6c == null) { return; } dhcp6c.closeClient(); dhcp6c = null; return; } if (dhcp6c == null) { cmd.error("protocol not enabled"); return; } if (!dhcp6c.unConfig(a)) { return; } cmd.badCmd(); return; } if (a.equals("pool")) { ip6polC = null; return; } if (a.equals("slaac-client")) { a = cmd.word(); if (slaac == null) { cmd.error("not enabled"); return; } if (a.equals("enable")) { slaac.closeClient(); slaac = null; return; } return; } if (a.equals("prefix-suppress")) { ipIf6.rtrAdvSuppress = false; return; } if (a.equals("prefix-dns")) { ipIf6.rtrAdvDns1 = null; ipIf6.rtrAdvDns2 = null; return; } if (a.equals("prefix-domain")) { ipIf6.rtrAdvDom = null; return; } if (a.equals("dhcp-relay")) { if (dhcp6r != null) { dhcp6r.removeRelayInterface(this); } dhcp6r = null; return; } if (!fwdIf6.unConfig(a, cmd, vrfFor.fwd6)) { return; } cmd.badCmd(); } private void doCfgTunnel(cmds cmd) { if (type != tabRouteIface.ifaceType.tunnel) { cmd.error("not a tunnel interface"); return; } String a = cmd.word(); if (a.equals("ttl")) { tunTTL = bits.str2num(cmd.word()); setup2tunnel(); return; } if (a.equals("tos")) { tunTOS = bits.str2num(cmd.word()); setup2tunnel(); return; } if (a.equals("dontfrag")) { tunDFN = bits.str2num(cmd.word()); setup2tunnel(); return; } if (a.equals("flow")) { tunFLW = bits.str2num(cmd.word()); setup2tunnel(); return; } if (a.equals("mark")) { tunMRK = bits.str2num(cmd.word()); setup2tunnel(); return; } if (a.equals("sequence-datagrams")) { tunSeq = true; setup2tunnel(); return; } if (a.equals("association")) { tunAscAdr = new addrIP(); tunAscAdr.fromString(cmd.word()); tunAscId = bits.str2num(cmd.word()); tunAscId2 = bits.str2num(cmd.word()); setup2tunnel(); return; } if (a.equals("priority")) { tunPriS = bits.str2num(cmd.word()); tunPriH = bits.str2num(cmd.word()); setup2tunnel(); return; } if (a.equals("affinity")) { tunAffE = bits.str2num(cmd.word()); tunAffI = bits.str2num(cmd.word()); tunAffM = bits.str2num(cmd.word()); setup2tunnel(); return; } if (a.equals("checksum")) { tunSum = true; setup2tunnel(); return; } if (a.equals("key")) { tunKey = bits.str2num(cmd.word()); tunKey2 = bits.str2num(cmd.word()); setup2tunnel(); return; } if (a.equals("vrf")) { cfgVrf v = cfgAll.vrfFind(cmd.word(), false); if (v == null) { cmd.error("invalid vrf"); return; } tunVrf = v; setup2tunnel(); return; } if (a.equals("shutdown")) { tunShut = true; setup2tunnel(); return; } if (a.equals("source")) { cfgIfc i = cfgAll.ifcFind(cmd.word(), 0); if (i == null) { cmd.error("no such interface"); return; } tunSrc = i; setup2tunnel(); return; } if (a.equals("destination")) { addrIP adr = new addrIP(); if (adr.fromString(cmd.word())) { cmd.error("invalid address"); return; } tunTrg = adr; setup2tunnel(); return; } if (a.equals("domain-name")) { tunFQDN = cmd.getRemaining(); return; } if (a.equals("mode")) { tunnelType i = string2tunnelMode(cmd.word()); if (i == null) { cmd.error("invalid mode"); return; } tunMode = i; setup2tunnel(); return; } if (a.equals("protection")) { cfgIpsec ips = cfgAll.ipsecFind(cmd.word(), false); if (ips == null) { cmd.error("no such profile"); return; } tunPrt = ips; setup2tunnel(); return; } cmd.badCmd(); } private void doCfgNoTunnel(cmds cmd) { if (type != tabRouteIface.ifaceType.tunnel) { cmd.error("not a tunnel interface"); return; } String a = cmd.word(); if (a.equals("ttl")) { tunTTL = 255; setup2tunnel(); return; } if (a.equals("tos")) { tunTOS = -1; setup2tunnel(); return; } if (a.equals("dontfrag")) { tunDFN = -1; setup2tunnel(); return; } if (a.equals("flow")) { tunFLW = -1; setup2tunnel(); return; } if (a.equals("mark")) { tunMRK = -1; setup2tunnel(); return; } if (a.equals("sequence-datagrams")) { tunSeq = false; setup2tunnel(); return; } if (a.equals("association")) { tunAscAdr = null; tunAscId = 0; tunAscId2 = 0; setup2tunnel(); return; } if (a.equals("priority")) { tunPriS = 7; tunPriH = 7; setup2tunnel(); return; } if (a.equals("affinity")) { tunAffE = 0; tunAffI = 0; tunAffM = 0; setup2tunnel(); return; } if (a.equals("checksum")) { tunSum = false; setup2tunnel(); return; } if (a.equals("key")) { tunKey = 0; tunKey2 = 0; setup2tunnel(); return; } if (a.equals("vrf")) { tunVrf = null; setup2tunnel(); return; } if (a.equals("shutdown")) { tunShut = false; setup2tunnel(); return; } if (a.equals("source")) { tunSrc = null; setup2tunnel(); return; } if (a.equals("destination")) { tunTrg = null; setup2tunnel(); return; } if (a.equals("domain-name")) { tunFQDN = null; return; } if (a.equals("mode")) { tunMode = null; setup2tunnel(); return; } if (a.equals("protection")) { setup2tunnel(); tunPrt = null; return; } cmd.badCmd(); } private void doCfgRouter(cmds cmd) { tabRouteAttr.routeType o = cfgRtr.name2num(cmd.word()); int i = bits.str2num(cmd.word()); cfgRtr rtr = cfgAll.rtrFind(o, i, false); if (rtr == null) { cmd.error("no such router process"); return; } String a = cmd.word(); if (o == tabRouteAttr.routeType.babel4) { if (a.equals("enable")) { clear2router(rtrBabel4hnd); setup2router(rtr); return; } if (rtrBabel4hnd == null) { cmd.error("process not enabled on interface"); return; } rtrBabel4ifc.routerDoConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.babel6) { if (a.equals("enable")) { clear2router(rtrBabel6hnd); setup2router(rtr); return; } if (rtrBabel6hnd == null) { cmd.error("process not enabled on interface"); return; } rtrBabel6ifc.routerDoConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.olsr4) { if (a.equals("enable")) { clear2router(rtrOlsr4hnd); setup2router(rtr); return; } if (rtrOlsr4hnd == null) { cmd.error("process not enabled on interface"); return; } rtrOlsr4ifc.routerDoConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.olsr6) { if (a.equals("enable")) { clear2router(rtrOlsr6hnd); setup2router(rtr); return; } if (rtrOlsr6hnd == null) { cmd.error("process not enabled on interface"); return; } rtrOlsr6ifc.routerDoConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.rip4) { if (a.equals("enable")) { clear2router(rtrRip4hnd); setup2router(rtr); return; } if (rtrRip4hnd == null) { cmd.error("process not enabled on interface"); return; } rtrRip4ifc.routerDoConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.rip6) { if (a.equals("enable")) { clear2router(rtrRip6hnd); setup2router(rtr); return; } if (rtrRip6hnd == null) { cmd.error("process not enabled on interface"); return; } rtrRip6ifc.routerDoConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.ospf4) { if (a.equals("enable")) { clear2router(rtrOspf4hnd); setup2router(rtr); return; } if (rtrOspf4hnd == null) { cmd.error("process not enabled on interface"); return; } rtrOspf4ifc.routerDoConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.ospf6) { if (a.equals("enable")) { clear2router(rtrOspf6hnd); setup2router(rtr); return; } if (rtrOspf6hnd == null) { cmd.error("process not enabled on interface"); return; } rtrOspf6ifc.routerDoConfig(a, cmd); return; } if ((o == tabRouteAttr.routeType.isis4) || (o == tabRouteAttr.routeType.isis6)) { if (a.equals("enable")) { clear2router(rtrIsisHnd); setup2router(rtr); return; } if (rtrIsisHnd == null) { cmd.error("process not enabled on interface"); return; } rtrIsisIfc.routerDoConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.rift4) { if (a.equals("enable")) { clear2router(rtrRift4hnd); setup2router(rtr); return; } if (rtrRift4hnd == null) { cmd.error("process not enabled on interface"); return; } rtrRift4ifc.routerDoConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.rift6) { if (a.equals("enable")) { clear2router(rtrRift6hnd); setup2router(rtr); return; } if (rtrRift6hnd == null) { cmd.error("process not enabled on interface"); return; } rtrRift6ifc.routerDoConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.pvrp4) { if (a.equals("enable")) { clear2router(rtrPvrp4hnd); setup2router(rtr); return; } if (rtrPvrp4hnd == null) { cmd.error("process not enabled on interface"); return; } rtrPvrp4ifc.routerDoConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.pvrp6) { if (a.equals("enable")) { clear2router(rtrPvrp6hnd); setup2router(rtr); return; } if (rtrPvrp6hnd == null) { cmd.error("process not enabled on interface"); return; } rtrPvrp6ifc.routerDoConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.lsrp4) { if (a.equals("enable")) { clear2router(rtrLsrp4hnd); setup2router(rtr); return; } if (rtrLsrp4hnd == null) { cmd.error("process not enabled on interface"); return; } rtrLsrp4ifc.routerDoConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.lsrp6) { if (a.equals("enable")) { clear2router(rtrLsrp6hnd); setup2router(rtr); return; } if (rtrLsrp6hnd == null) { cmd.error("process not enabled on interface"); return; } rtrLsrp6ifc.routerDoConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.eigrp4) { if (a.equals("enable")) { clear2router(rtrEigrp4hnd); setup2router(rtr); return; } if (rtrEigrp4hnd == null) { cmd.error("process not enabled on interface"); return; } rtrEigrp4ifc.routerDoConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.eigrp6) { if (a.equals("enable")) { clear2router(rtrEigrp6hnd); setup2router(rtr); return; } if (rtrEigrp6hnd == null) { cmd.error("process not enabled on interface"); return; } rtrEigrp6ifc.routerDoConfig(a, cmd); return; } cmd.badCmd(); } private void doCfgNoRouter(cmds cmd) { tabRouteAttr.routeType o = cfgRtr.name2num(cmd.word()); int i = bits.str2num(cmd.word()); cfgRtr rtr = cfgAll.rtrFind(o, i, false); if (rtr == null) { cmd.error("no such router process"); return; } String a = cmd.word(); if (o == tabRouteAttr.routeType.babel4) { if (rtrBabel4hnd == null) { cmd.error("process not enabled on interface"); return; } if (a.equals("enable")) { clear2router(rtr); return; } rtrBabel4ifc.routerUnConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.babel6) { if (rtrBabel6hnd == null) { cmd.error("process not enabled on interface"); return; } if (a.equals("enable")) { clear2router(rtr); return; } rtrBabel6ifc.routerUnConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.olsr4) { if (rtrOlsr4hnd == null) { cmd.error("process not enabled on interface"); return; } if (a.equals("enable")) { clear2router(rtr); return; } rtrOlsr4ifc.routerUnConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.olsr6) { if (rtrOlsr6hnd == null) { cmd.error("process not enabled on interface"); return; } if (a.equals("enable")) { clear2router(rtr); return; } rtrOlsr6ifc.routerUnConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.rip4) { if (rtrRip4hnd == null) { cmd.error("process not enabled on interface"); return; } if (a.equals("enable")) { clear2router(rtr); return; } rtrRip4ifc.routerUnConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.rip6) { if (rtrRip6hnd == null) { cmd.error("process not enabled on interface"); return; } if (a.equals("enable")) { clear2router(rtr); return; } rtrRip6ifc.routerUnConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.ospf4) { if (rtrOspf4hnd == null) { cmd.error("process not enabled on interface"); return; } if (a.equals("enable")) { clear2router(rtr); return; } rtrOspf4ifc.routerUnConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.ospf6) { if (rtrOspf6hnd == null) { cmd.error("process not enabled on interface"); return; } if (a.equals("enable")) { clear2router(rtr); return; } rtrOspf6ifc.routerUnConfig(a, cmd); return; } if ((o == tabRouteAttr.routeType.isis4) || (o == tabRouteAttr.routeType.isis6)) { if (rtrIsisHnd == null) { cmd.error("process not enabled on interface"); return; } if (a.equals("enable")) { clear2router(rtr); return; } rtrIsisIfc.routerUnConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.rift4) { if (rtrRift4hnd == null) { cmd.error("process not enabled on interface"); return; } if (a.equals("enable")) { clear2router(rtr); return; } rtrRift4ifc.routerUnConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.rift6) { if (rtrRift6hnd == null) { cmd.error("process not enabled on interface"); return; } if (a.equals("enable")) { clear2router(rtr); return; } rtrRift6ifc.routerUnConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.pvrp4) { if (rtrPvrp4hnd == null) { cmd.error("process not enabled on interface"); return; } if (a.equals("enable")) { clear2router(rtr); return; } rtrPvrp4ifc.routerUnConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.pvrp6) { if (rtrPvrp6hnd == null) { cmd.error("process not enabled on interface"); return; } if (a.equals("enable")) { clear2router(rtr); return; } rtrPvrp6ifc.routerUnConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.lsrp4) { if (rtrLsrp4hnd == null) { cmd.error("process not enabled on interface"); return; } if (a.equals("enable")) { clear2router(rtr); return; } rtrLsrp4ifc.routerUnConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.lsrp6) { if (rtrLsrp6hnd == null) { cmd.error("process not enabled on interface"); return; } if (a.equals("enable")) { clear2router(rtr); return; } rtrLsrp6ifc.routerUnConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.eigrp4) { if (rtrEigrp4hnd == null) { cmd.error("process not enabled on interface"); return; } if (a.equals("enable")) { clear2router(rtr); return; } rtrEigrp4ifc.routerUnConfig(a, cmd); return; } if (o == tabRouteAttr.routeType.eigrp6) { if (rtrEigrp6hnd == null) { cmd.error("process not enabled on interface"); return; } if (a.equals("enable")) { clear2router(rtr); return; } rtrEigrp6ifc.routerUnConfig(a, cmd); return; } cmd.badCmd(); } private void doCfgMpls(cmds cmd) { String s = cmd.word(); if (s.equals("enable")) { setup2mpls(); return; } if (s.equals("flow")) { if (mplsPack == null) { return; } mplsPack.flow = bits.str2num(cmd.word()); return; } if (s.equals("mark")) { if (mplsPack == null) { return; } mplsPack.mark = bits.str2num(cmd.word()); return; } if (s.equals("access-group-in")) { if (mplsPack == null) { return; } cfgAceslst ntry = cfgAll.aclsFind(cmd.word(), false); if (ntry == null) { cmd.error("no such access list"); return; } mplsPack.filterIn = ntry.aceslst; return; } if (s.equals("access-group-out")) { if (mplsPack == null) { return; } cfgAceslst ntry = cfgAll.aclsFind(cmd.word(), false); if (ntry == null) { cmd.error("no such access list"); return; } mplsPack.filterOut = ntry.aceslst; return; } if (s.equals("access-group-common-in")) { if (mplsPack == null) { return; } cfgAceslst ntry = cfgAll.aclsFind(cmd.word(), false); if (ntry == null) { cmd.error("no such access list"); return; } mplsPack.cfilterIn = ntry.aceslst; return; } if (s.equals("access-group-common-out")) { if (mplsPack == null) { return; } cfgAceslst ntry = cfgAll.aclsFind(cmd.word(), false); if (ntry == null) { cmd.error("no such access list"); return; } mplsPack.cfilterOut = ntry.aceslst; return; } if (s.equals("inspect")) { if (mplsPack == null) { return; } if (mplsPack.inspect != null) { mplsPack.inspect.stopTimer(); } mplsPack.inspect = new tabSession(true, 180000); mplsPack.inspect.fromString(cmd); mplsPack.inspect.startTimer(); return; } if (s.equals("ethertype")) { if (mplsPack == null) { return; } s = cmd.word(); mplsPack.ethtyp = ipMpls.typeU; if (s.equals("multicast")) { mplsPack.ethtyp = ipMpls.typeM; return; } if (s.equals("bier")) { mplsPack.ethtyp = ipMpls.typeB; return; } return; } if (s.equals("label-security")) { if (mplsPack == null) { return; } mplsPack.security = true; return; } if (s.equals("srv6-security")) { setSRv6sec(true); return; } if (s.equals("netflow-rx")) { if (mplsPack == null) { return; } mplsPack.netflowRx = true; return; } if (s.equals("netflow-tx")) { if (mplsPack == null) { return; } mplsPack.netflowTx = true; return; } if (s.equals("redirection")) { if (mplsPack == null) { return; } cfgIfc ntry = cfgAll.ifcFind(cmd.word(), 0); if (ntry == null) { cmd.error("no such interface"); return; } mplsPack.redirect = ntry.mplsPack; return; } if (s.equals("ldp4")) { setup2ldp(4, cmd); return; } if (s.equals("ldp6")) { setup2ldp(6, cmd); return; } if (s.startsWith("label4")) { rtrLdpIface.doConfig(mplsLdp4, s, cmd); return; } if (s.startsWith("label6")) { rtrLdpIface.doConfig(mplsLdp6, s, cmd); return; } if (s.equals("ldptarget")) { setup2ldptrg(cmd.word()); return; } if (s.equals("static-label")) { s = cmd.word(); String a = cmd.word(); setup2statLabel(s, a, bits.str2num(cmd.word()), true); return; } if (s.equals("use4peer")) { s = cmd.word(); setup2statPeer(4, s, cmd.word()); return; } if (s.equals("use6peer")) { s = cmd.word(); setup2statPeer(6, s, cmd.word()); return; } if (s.equals("ldppassword")) { s = cmd.word(); addeLdppwd(s, cmd.word(), true); return; } if (s.equals("rsvp4")) { setup2rsvp(4); return; } if (s.equals("rsvp6")) { setup2rsvp(6); return; } cmd.badCmd(); } private void doCfgNoMpls(cmds cmd) { String s = cmd.word(); if (s.equals("enable")) { clear2mpls(); return; } if (s.equals("flow")) { if (mplsPack == null) { return; } mplsPack.flow = 0; return; } if (s.equals("mark")) { if (mplsPack == null) { return; } mplsPack.mark = 0; return; } if (s.equals("access-group-in")) { if (mplsPack == null) { return; } mplsPack.filterIn = null; return; } if (s.equals("access-group-out")) { if (mplsPack == null) { return; } mplsPack.filterOut = null; return; } if (s.equals("access-group-common-in")) { if (mplsPack == null) { return; } mplsPack.cfilterIn = null; return; } if (s.equals("access-group-common-out")) { if (mplsPack == null) { return; } mplsPack.cfilterOut = null; return; } if (s.equals("inspect")) { if (mplsPack == null) { return; } if (mplsPack.inspect != null) { mplsPack.inspect.stopTimer(); } mplsPack.inspect = null; return; } if (s.equals("netflow-rx")) { if (mplsPack == null) { return; } mplsPack.netflowRx = false; return; } if (s.equals("netflow-tx")) { if (mplsPack == null) { return; } mplsPack.netflowTx = false; return; } if (s.equals("ethertype")) { if (mplsPack == null) { return; } mplsPack.ethtyp = ipMpls.typeU; return; } if (s.equals("label-security")) { if (mplsPack == null) { return; } mplsPack.security = false; return; } if (s.equals("srv6-security")) { setSRv6sec(false); return; } if (s.equals("redirection")) { if (mplsPack == null) { return; } mplsPack.redirect = null; return; } if (s.equals("ldp4")) { clear2ldp(4); return; } if (s.equals("ldp6")) { clear2ldp(6); return; } if (s.startsWith("label4")) { rtrLdpIface.unConfig(mplsLdp4, s, cmd); return; } if (s.startsWith("label6")) { rtrLdpIface.unConfig(mplsLdp6, s, cmd); return; } if (s.equals("ldptarget")) { clear2ldptrg(cmd.word()); return; } if (s.equals("static-label")) { s = cmd.word(); setup2statLabel(s, cmd.word(), 0, false); return; } if (s.equals("use4peer")) { setup2statPeer(4, null, null); return; } if (s.equals("use6peer")) { setup2statPeer(6, null, null); return; } if (s.equals("ldppassword")) { addeLdppwd(cmd.word(), "", false); return; } if (s.equals("rsvp4")) { clear2rsvp(4); return; } if (s.equals("rsvp6")) { clear2rsvp(6); return; } cmd.badCmd(); } private void doCfgNsh(cmds cmd) { String s = cmd.word(); if (s.equals("enable")) { setup2nshFwd(); return; } if (s.equals("xconnect")) { int p = bits.str2num(cmd.word()); int i = bits.str2num(cmd.word()); setup2nshXcn(p, i); return; } cmd.badCmd(); } private void doCfgNoNsh(cmds cmd) { String s = cmd.word(); if (s.equals("enable")) { clear2nshFwd(); return; } if (s.equals("xconnect")) { clear2nshXcn(); return; } cmd.badCmd(); } private void doCfgPolka(cmds cmd) { String s = cmd.word(); if (s.equals("enable")) { int i = bits.str2num(cmd.word()); int o = bits.str2num(cmd.word()); setup2polka(i, o, bits.str2num(cmd.word())); return; } cmd.badCmd(); } private void doCfgNoPolka(cmds cmd) { String s = cmd.word(); if (s.equals("enable")) { clear2polka(); return; } cmd.badCmd(); } } freeRtr-25.11.9/src/org/freertr/cfg/cfgIfcEvc.java000066400000000000000000000066171510423065500215650ustar00rootroot00000000000000package org.freertr.cfg; import org.freertr.ifc.ifcBridgeIfc; import org.freertr.ifc.ifcEther; import org.freertr.ifc.ifcUp; import org.freertr.pack.packLdpPwe; import org.freertr.util.cmds; /** * one ethernet virtual circuit configuration * * @author matecsaba */ public class cfgIfcEvc implements Comparable { /** * number of this evc */ public final int num; /** * parent interface */ public final cfgIfc parent; private cfgXconnSide xconn; private ifcEther ether; private cfgBrdg bridgeHed; private ifcBridgeIfc bridgeIfc; /** * create one instance * * @param n evc id * @param p parent */ public cfgIfcEvc(int n, cfgIfc p) { num = n; parent = p; } public String toString() { return parent.name + ".evc" + num; } public int compareTo(cfgIfcEvc o) { if (num < o.num) { return -1; } if (num > o.num) { return +1; } return 0; } /** * get config * * @return config */ public String getCfg() { String s = "shutdown"; if (bridgeHed != null) { s = "bridge-group " + bridgeHed.number; } if (xconn != null) { s = "xconnect " + xconn.getCfg(); } return num + " " + s; } /** * parse config * * @param cmd commands */ public void doCfg(cmds cmd) { String a = cmd.word(); if (a.equals("shutdown")) { return; } if (a.equals("bridge-group")) { cfgBrdg brdg = cfgAll.brdgFind(cmd.word(), false); if (brdg == null) { cmd.error("invalid bridge number"); return; } bridgeHed = brdg; return; } if (a.equals("xconnect")) { xconn = new cfgXconnSide(); xconn.name = (parent.description.length() > 0 ? parent.description : parent.name) + ".evc" + num; xconn.pwtype = packLdpPwe.pwtEthPort; xconn.pwmtu = parent.ethtyp.getMTUsize(); xconn.doCfg(cmd); if (!xconn.ready2run()) { xconn = null; } return; } cmd.badCmd(); } /** * start working */ public synchronized void startWork() { ifcUp res = null; if (bridgeHed != null) { bridgeIfc = bridgeHed.bridgeHed.newIface(true, parent.ifaceNeedMacs(), parent.ifaceNeedMacs()); res = bridgeIfc; } if (xconn != null) { ether = new ifcEther(parent.ifaceNeedMacs()); xconn.upper = ether.getSideEth(); xconn.start2run(); res = ether.getSideTyp(); } if (res == null) { return; } parent.vlanHed.addVlan(num, res); parent.vlanHed.updateVlan(num, res); if (xconn != null) { ether.setPromiscous(true); } } /** * stop working */ public synchronized void stopWork() { parent.vlanHed.delVlan(num); if (bridgeHed != null) { bridgeHed.bridgeHed.delIface(bridgeIfc.ifcNum); bridgeHed = null; bridgeIfc = null; } if (xconn != null) { xconn.stop2run(); xconn = null; ether = null; } } } freeRtr-25.11.9/src/org/freertr/cfg/cfgInit.java000066400000000000000000001576111510423065500213320ustar00rootroot00000000000000package org.freertr.cfg; import java.io.BufferedReader; import java.io.File; import java.io.InputStream; import java.io.InputStreamReader; import java.lang.Thread.UncaughtExceptionHandler; import java.net.URI; import java.util.ArrayList; import java.util.List; import org.freertr.auth.authLocal; import org.freertr.clnt.clntDns; import org.freertr.ifc.ifcThread; import org.freertr.ifc.ifcUdpInt; import org.freertr.ip.ipFwdTab; import org.freertr.line.lineTcpLine; import org.freertr.pipe.pipeConnect; import org.freertr.pipe.pipeConsole; import org.freertr.pipe.pipeImage; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeReader; import org.freertr.pipe.pipeSetting; import org.freertr.pipe.pipeSide; import org.freertr.pipe.pipeWindow; import org.freertr.prt.prtLocTcp; import org.freertr.prt.prtRedun; import org.freertr.prt.prtWatch; import org.freertr.serv.servOpenflow; import org.freertr.serv.servP4lang; import org.freertr.enc.encUrl; import org.freertr.ip.ipRtr; import org.freertr.pipe.pipeShell; import org.freertr.serv.servStack; import org.freertr.tab.tabGen; import org.freertr.tab.tabRouteAttr; import org.freertr.tab.tabRouteIface; import org.freertr.user.userConfig; import org.freertr.user.userExec; import org.freertr.user.userFilter; import org.freertr.user.userFlash; import org.freertr.pipe.pipeFonts; import org.freertr.user.userHelp; import org.freertr.user.userHwdet; import org.freertr.user.userNetconf; import org.freertr.user.userRead; import org.freertr.pipe.pipeScreen; import org.freertr.user.userUpgrade; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.util.history; import org.freertr.util.logBuf; import org.freertr.util.logger; import org.freertr.util.version; /** * hardware configuration * * @author matecsaba */ public class cfgInit implements Runnable { /** * create instance */ private cfgInit() { } /** * sw config end */ public final static String swCfgEnd = "sw.txt"; /** * hw config end */ public final static String hwCfgEnd = "hw.txt"; /** * 9.1.1 */ public final static String versionNumber = version.year + "." + version.month + "." + version.day; /** * ros v9.1.1-rel */ public final static String versionName = version.name + " v" + versionNumber + version.state; /** * ros v9.1.1-rel, done by me. */ public final static String versionFull = versionName + ", done by " + version.author + "."; /** * ros/9.1.1-rel */ public final static String versionAgent = version.name + "/" + versionNumber + version.state; /** * redundancy priority */ public static int redunPrio; /** * set until boot completes */ public static boolean booting = true; /** * time when started */ public static long started = -1; /** * read-write path name */ public static String rwPath; /** * hw config file in use */ public static String cfgFileHw; /** * sw config file in use */ public static String cfgFileSw; /** * state save file in use */ public static String stateFile; /** * hardware serial number */ public static String hwIdNum; /** * hardware serial number */ public static String hwSnNum; /** * hostname of parent */ public static String prntNam; /** * jvm parameters */ public static String jvmParam = ""; /** * timer history */ public static history timerHistory; /** * memory history */ public static history memoryHistory; /** * list of physical interfaces */ public final static tabGen ifaceLst = new tabGen(); /** * list of started vdcs */ public final static tabGen vdcLst = new tabGen(); /** * list of started vnets */ public final static tabGen vnetLst = new tabGen(); /** * no stall check */ public static boolean noStallCheck = false; /** * vdc port range */ public static int vdcPortBeg = 10240; /** * vdc port range */ public static int vdcPortEnd = 32768; /** * interface names */ public static userHelp ifaceNames = new userHelp(); private static List stateLast = new ArrayList(); private final static tabGen types = new tabGen(); private static long jvmStarted = -1; private static boolean jvmSetup = false; private final static String[] needInit = { "interface .*", "aaa .*", "vrf definition .*", "access-list .*", "prefix-list .*", "policy-map .*", "route-map .*", "route-policy .*", "proxy-profile .*", "vdc definition .*", "server dhcp4 .*", "server dhcp6 .*",}; private final static String[] needFull = { "vnet .*",}; private final static userFilter[] needIface = { new userFilter("interface .*", cmds.tabulator + "vrf forwarding .*", null), new userFilter("interface .*", cmds.tabulator + "ipv4 address .*", null), new userFilter("interface .*", cmds.tabulator + "ipv6 address .*", null) }; private final static String[] jvmMagic = { "java.net.preferIPv4Stack=true", "java.net.preferIPv6Addresses=false" }; private final static int bootLogo = 0x1fd; /** * find in secret list * * @param a string to find * @return found, null if nothing */ public static List secretsFind(String a) { for (int i = 0; i < version.secrets.length; i++) { if (!a.equals(version.secrets[i][0])) { continue; } ArrayList l = new ArrayList(); bits.array2list(l, version.secrets[i]); l.remove(0); return l; } return null; } /** * get java executable * * @return path of jvms */ public static String getJvmExec() { return getSysProp("java.home") + "/bin/java"; } /** * get archive date * * @return date of jar */ public static long getFileDate() { return new File(getFileName()).lastModified(); } /** * get archive name * * @return pathname jar filename */ public static String getFileName() { return getSysProp("java.class.path"); } /** * get archive path name * * @return filename without extension */ public static String myPathName() { String s = getFileName(); int i = s.lastIndexOf("."); int o = s.lastIndexOf("/"); if (o < 0) { o = 0; } if (i < o) { return "rtr"; } return s.substring(0, i); } /** * get read-write path name * * @return path */ public static String getRWpath() { String a = rwPath; if (a == null) { a = cfgFileSw; } if (a == null) { a = cfgFileHw; } if (a == null) { a = "./"; } int i = a.lastIndexOf("/"); if (i < 0) { a = "./"; } else { a = a.substring(0, i + 1); } return a; } /** * get state file name * * @return filename without path */ public static String myStateFile() { if (stateFile != null) { return stateFile; } return getRWpath() + "state.txt"; } /** * get reload file name * * @return filename without path */ public static String myReloadFile() { return getRWpath() + "reload.log"; } /** * get errors file name * * @return filename without path */ public static String myErrorFile() { return getRWpath() + "errors.log"; } /** * get memory info * * @return memory */ public static String getMemoryInfo() { Runtime rt = Runtime.getRuntime(); return bits.toUser(rt.totalMemory()) + "/" + bits.toUser(rt.maxMemory()); } /** * get kernel name * * @return name of kernel */ public static String getKernelName() { return getSysProp("os.name").trim() + " v" + getSysProp("os.version").trim(); } /** * get vm name * * @return name of vm */ public static String getVMname() { return getJavaVer("java.vm").trim(); } /** * get cpu name * * @return name of cpu */ public static String getCPUname() { return (Runtime.getRuntime().availableProcessors() + "*" + getSysProp("os.arch")).trim(); } /** * get hardware forwarder * * @return offload info */ public static String getHWfwd1liner() { servStack stk = cfgAll.dmnStack.get(0); if (stk != null) { return prtRedun.getShGenOneLiner() + stk.getShGenOneLiner(); } servP4lang p4l = cfgAll.dmnP4lang.get(0); if (p4l != null) { return prtRedun.getShGenOneLiner() + p4l.getShGenOneLiner(); } servOpenflow ovs = cfgAll.dmnOpenflow.get(0); if (ovs != null) { return prtRedun.getShGenOneLiner() + ovs.getShGenOneLiner(); } return prtRedun.getShGenOneLiner() + "swonly"; } /** * get show platform text * * @return list */ public static List getShPlat() { List sa = new ArrayList(); sa.add(versionFull); sa.add(""); Runtime rt = Runtime.getRuntime(); sa.add("name: " + cfgAll.hostName + ", prnt: " + prntNam + ", hwid: " + hwIdNum + " hwsn: " + hwSnNum); sa.add("hwfw: " + getHWfwd1liner()); sa.add("uptime: since " + bits.time2str(cfgAll.timeZoneName, started + cfgAll.timeServerOffset, 3) + ", for " + bits.timePast(started)); sa.add("pid: " + pipeShell.myProcessNum() + ", reload: " + bits.lst2str(bits.txt2buf(myReloadFile()), " ")); sa.add("hwc: " + cfgFileHw + ", swc: " + cfgFileSw); sa.add("class: v" + getSysProp("java.class.version") + " @ " + getFileName() + ", rwp: " + getRWpath()); sa.add("cpu: " + getCPUname() + ", mem: free=" + bits.toUser(rt.freeMemory()) + ", used=" + bits.toUser(rt.totalMemory()) + ", max=" + bits.toUser(rt.maxMemory())); long l = pipeShell.getKernelUptime(); sa.add("host: " + getKernelName() + ", since " + bits.time2str(cfgAll.timeZoneName, l + cfgAll.timeServerOffset, 3) + ", for " + bits.timePast(l)); sa.add("java: " + getJavaVer("java") + " @ " + getSysProp("java.home")); sa.add("jspec: " + getJavaVer("java.specification")); sa.add("vm: " + getVMname()); sa.add("vmspec: " + getJavaVer("java.vm.specification")); return sa; } /** * get show logo text * * @param head needed extra lines * @return list */ public static List getShLogo(int head) { List sa = new ArrayList(); if ((head & 1) != 0) { sa.add(""); } if ((head & 2) != 0) { sa.add(versionFull); } if ((head & 4) != 0) { sa.add(""); } if ((head & 8) != 0) { bits.array2list(sa, version.logo); } if ((head & 16) != 0) { sa.add(""); } if ((head & 32) != 0) { sa.add(versionFull); } if ((head & 64) != 0) { sa.add(""); } if ((head & 128) != 0) { bits.array2list(sa, version.license); } if ((head & 256) != 0) { sa.add(""); } if ((head & 512) != 0) { sa.add(versionNumber); } if ((head & 1024) != 0) { sa.add(bits.time2str(cfgAll.timeZoneName, getFileDate(), 3)); } if ((head & 2048) != 0) { sa.add(bits.time2str(cfgAll.timeZoneName, getFileDate(), 4)); } if ((head & 4096) != 0) { sa.add(versionAgent); } if ((head & 8192) != 0) { sa.add(version.homeUrl); } if ((head & 16384) != 0) { bits.array2list(sa, version.quotes); } return sa; } /** * get mime type of an extesion * * @param s extension possibly starting with dot. * @return mime type */ public final static String findMimeType(String s) { if (s.startsWith("//")) { return s.substring(2, s.length()); } s = s.trim().toLowerCase(); int i = s.lastIndexOf("."); if (i >= 0) { s = s.substring(i + 1, s.length()); } cfgInitMime ntry = new cfgInitMime(s); ntry = types.find(ntry); if (ntry != null) { return ntry.mime; } ntry = new cfgInitMime("*"); ntry = types.find(ntry); if (ntry != null) { return ntry.mime; } return "*/*"; } /** * name of backup configuration * * @return null if disabled, file name */ public final static String getBackupCfgName() { if (cfgAll.configBackup == null) { return null; } String a = cfgAll.configBackup; if (a.length() > 0) { return a; } a = cfgFileSw; int i = a.lastIndexOf("."); if (i > 0) { a = a.substring(0, i); } a = a + userUpgrade.bakExt; return a; } /** * get http url * * @param url url * @return text read */ public final static List httpGet(String url) { if (url == null) { url = ""; } if (encUrl.parseOne(url).proto.length() < 1) { return bits.txt2buf(url); } setupJVM(); try { List res = new ArrayList(); InputStream strm = new URI(url).toURL().openStream(); BufferedReader rd = new BufferedReader(new InputStreamReader(strm)); for (;;) { String a = rd.readLine(); if (a == null) { break; } res.add(a); } rd.close(); strm.close(); return res; } catch (Exception e) { return null; } } private static String getJavaVer(String s) { String vnd = getSysProp(s + ".vendor"); String nam = getSysProp(s + ".name"); String ver = getSysProp(s + ".version"); if (nam != null) { nam = " (" + nam + ")"; } else { nam = ""; } return vnd + nam + " v" + ver; } private static String getSysProp(String s) { try { return System.getProperty(s); } catch (Exception e) { return "?"; } } private final static void setupJVM() { if (jvmSetup) { return; } jvmSetup = true; try { Thread.setDefaultUncaughtExceptionHandler(new cfgInitHandler()); } catch (Exception e) { logger.error("error catching jvm"); } for (int o = 0; o < jvmMagic.length; o++) { String s = jvmMagic[o]; int i = s.indexOf("="); String c = s.substring(i + 1, s.length()); s = s.substring(0, i); try { System.setProperty(s, c); } catch (Exception e) { logger.error("error setting jvm:" + s + "=" + c); } } types.add(new cfgInitMime("html", "text/html")); types.add(new cfgInitMime("htm", "text/html")); types.add(new cfgInitMime("css", "text/css")); types.add(new cfgInitMime("rtf", "text/richtext")); types.add(new cfgInitMime("text", "text/plain")); types.add(new cfgInitMime("txt", "text/plain")); types.add(new cfgInitMime("csv", "text/csv")); types.add(new cfgInitMime("md", "text/markdown")); types.add(new cfgInitMime("*", "text/plain")); types.add(new cfgInitMime("webp", "image/webp")); types.add(new cfgInitMime("gif", "image/gif")); types.add(new cfgInitMime("jpeg", "image/jpeg")); types.add(new cfgInitMime("jpg", "image/jpeg")); types.add(new cfgInitMime("tiff", "image/tiff")); types.add(new cfgInitMime("tif", "image/tiff")); types.add(new cfgInitMime("bmp", "image/bmp")); types.add(new cfgInitMime("png", "image/png")); types.add(new cfgInitMime("svg", "image/svg+xml")); types.add(new cfgInitMime("ico", "image/x-icon")); types.add(new cfgInitMime("pbm", "image/x-portable-bitmap")); types.add(new cfgInitMime("pgm", "image/x-portable-graymap")); types.add(new cfgInitMime("pnm", "image/x-portable-anymap")); types.add(new cfgInitMime("ppm", "image/x-portable-pixmap")); types.add(new cfgInitMime("xbm", "image/x-xbitmap")); types.add(new cfgInitMime("xpm", "image/x-xpixmap")); types.add(new cfgInitMime("webm", "video/webm")); types.add(new cfgInitMime("mjpeg", "video/x-motion-jpeg")); types.add(new cfgInitMime("avi", "video/msvideo")); types.add(new cfgInitMime("mov", "video/quicktime")); types.add(new cfgInitMime("qt", "video/quicktime")); types.add(new cfgInitMime("mpeg", "video/mpeg")); types.add(new cfgInitMime("mpg", "video/mpeg")); types.add(new cfgInitMime("mp4", "video/mp4")); types.add(new cfgInitMime("mkv", "video/x-matroska")); types.add(new cfgInitMime("3gp", "video/3gpp")); types.add(new cfgInitMime("3g2", "video/3gpp2")); types.add(new cfgInitMime("ogv", "video/ogg")); types.add(new cfgInitMime("weba", "audio/weba")); types.add(new cfgInitMime("aif", "audio/x-aiff")); types.add(new cfgInitMime("aiff", "audio/x-aiff")); types.add(new cfgInitMime("wav", "audio/wav")); types.add(new cfgInitMime("midi", "audio/midi")); types.add(new cfgInitMime("mid", "audio/midi")); types.add(new cfgInitMime("rmi", "audio/midi")); types.add(new cfgInitMime("ram", "audio/x-pn-realaudio")); types.add(new cfgInitMime("rpm", "audio/x-pn-realaudio-plugin")); types.add(new cfgInitMime("ra", "audio/x-realaudio")); types.add(new cfgInitMime("rm", "audio/x-pn-realaudio")); types.add(new cfgInitMime("mp3", "audio/mpeg")); types.add(new cfgInitMime("oga", "audio/ogg")); types.add(new cfgInitMime("flac", "audio/flac")); types.add(new cfgInitMime("aac", "audio/aac")); types.add(new cfgInitMime("bin", "application/octet-stream")); types.add(new cfgInitMime("jar", "application/java-archive")); types.add(new cfgInitMime("doc", "application/msword")); types.add(new cfgInitMime("docx", "application/msword")); types.add(new cfgInitMime("dvi", "application/x-dvi")); types.add(new cfgInitMime("eps", "application/postscript")); types.add(new cfgInitMime("ps", "application/postscript")); types.add(new cfgInitMime("gz", "application/x-gzip")); types.add(new cfgInitMime("bz2", "application/x-bzip2")); types.add(new cfgInitMime("js", "application/javascript")); types.add(new cfgInitMime("latex", "application/x-latex")); types.add(new cfgInitMime("lzh", "application/x-lzh")); types.add(new cfgInitMime("pdf", "application/pdf")); types.add(new cfgInitMime("epub", "application/epub+zip")); types.add(new cfgInitMime("swf", "application/x-shockwave-flash")); types.add(new cfgInitMime("tar", "application/tar")); types.add(new cfgInitMime("tcl", "application/x-tcl")); types.add(new cfgInitMime("tex", "application/x-tex")); types.add(new cfgInitMime("tgz", "application/x-gzip")); types.add(new cfgInitMime("zip", "application/zip")); types.add(new cfgInitMime("xml", "application/xml")); types.add(new cfgInitMime("ogg", "application/ogg")); types.add(new cfgInitMime("wml", "text/vnd.wap.wml")); types.add(new cfgInitMime("wbmp", "image/vnd.wap.wbmp")); ifaceNames.add(null, false, 1, new int[]{-1}, "loopback", "ifc"); ifaceNames.add(null, false, 1, new int[]{-1}, "null", "ifc"); ifaceNames.add(null, false, 1, new int[]{-1}, "template", "ifc"); ifaceNames.add(null, false, 1, new int[]{-1}, "dialer", "ifc"); ifaceNames.add(null, false, 1, new int[]{-1}, "sdn", "ifc"); ifaceNames.add(null, false, 1, new int[]{-1}, "pwether", "ifc"); ifaceNames.add(null, false, 1, new int[]{-1}, "virtualppp", "ifc"); ifaceNames.add(null, false, 1, new int[]{-1}, "access", "ifc"); ifaceNames.add(null, false, 1, new int[]{-1}, "bvi", "ifc"); ifaceNames.add(null, false, 1, new int[]{-1}, "bundle", "ifc"); ifaceNames.add(null, false, 1, new int[]{-1}, "tunnel", "ifc"); ifaceNames.add(null, false, 1, new int[]{-1}, "hairpin", "ifc"); ifaceNames.add(null, false, 1, new int[]{-1}, "atm", "ifc"); ifaceNames.add(null, false, 1, new int[]{-1}, "arcnet", "ifc"); ifaceNames.add(null, false, 1, new int[]{-1}, "infiniband", "ifc"); ifaceNames.add(null, false, 1, new int[]{-1}, "ethernet", "ifc"); ifaceNames.add(null, false, 1, new int[]{-1}, "serial", "ifc"); ifaceNames.add(null, false, 1, new int[]{-1}, "cellular", "ifc"); ifaceNames.add(null, false, 1, new int[]{-1}, "wireless", "ifc"); } private static String doTrimmer(String s) { byte[] b = s.getBytes(); for (int i = 0; i < s.length(); i++) { int o = b[i] & 0xff; if ((o <= 31) || (o >= 127)) { o = 95; } b[i] = (byte) o; } return new String(b).trim(); } /** * execute hw commands * * @param read commands * @param defs defaults * @param inhs inheritables * @param cfgs configs */ public final static void executeHWcommands(List read, List defs, List inhs, List cfgs) { if (read == null) { return; } List hdefs = new ArrayList(); List mibs = new ArrayList(); for (int cnt = 0; cnt < read.size(); cnt++) { String s = doTrimmer(read.get(cnt)); if (s.length() < 1) { continue; } if (s.startsWith(cmds.comment)) { continue; } if (debugger.cfgInitHw) { logger.debug("cmd " + s); } cmds cmd = new cmds("hw", s); s = cmd.word().toLowerCase(); if (s.equals("limited")) { cfgAll.invdc = true; continue; } if (s.equals("save")) { stateFile = cmd.getRemaining(); continue; } if (s.equals("hwid")) { hwIdNum = cmd.getRemaining(); continue; } if (s.equals("hwsn")) { hwSnNum = cmd.getRemaining(); continue; } if (s.equals("prnt")) { prntNam = cmd.getRemaining(); continue; } if (s.equals("jvm")) { jvmParam = cmd.getRemaining(); continue; } if (s.equals("debug")) { debugger.setByName(cmd, true); continue; } if (s.equals("url")) { cfgAll.upgradeServer = cmd.getRemaining(); continue; } if (s.equals("key")) { cfgAll.upgradePubKey = cmd.getRemaining(); continue; } if (s.equals("enc")) { cfgAll.passEnh = authLocal.passwdDecode(cmd.word()); continue; } if (s.equals("hidevrf")) { cfgVrf vrf = cfgAll.vrfFind(cmd.word(), true); if (vrf == null) { continue; } vrf.hidden = true; continue; } if (s.equals("hideifc")) { cfgIfc ifc = cfgAll.ifcFind(cmd.word(), 0); if (ifc == null) { continue; } ifc.hidden = true; continue; } if (s.equals("tcp2vrf")) { int loc = bits.str2num(cmd.word()); cfgVrf vrf = cfgAll.vrfFind(cmd.word(), true); int rem = bits.str2num(cmd.word()); String bind = cmd.word(); String fake = cmd.word(); prtLocTcp.startServer(loc, vrf, rem, bind, fake); continue; } if (s.equals("prio")) { redunPrio = bits.str2num(cmd.word()); continue; } if (s.equals("def")) { s = cmd.getRemaining(); defs.add(s); hdefs.add(new userFilter("", s, null)); continue; } if (s.equals("cfg")) { s = cmd.getRemaining(); cfgs.add(s); continue; } if (s.equals("dcfg")) { s = cmd.getRemaining(); cfgs.add(s); defs.add(s); hdefs.add(new userFilter("", s, null)); continue; } if (s.equals("port")) { vdcPortBeg = bits.str2num(cmd.word()); vdcPortEnd = bits.str2num(cmd.word()); continue; } if (s.equals("nostall")) { noStallCheck = true; continue; } if (s.equals("rwpath")) { rwPath = cmd.getRemaining(); if (!rwPath.endsWith("/")) { rwPath += "/"; } continue; } if (s.equals("prcpar")) { cfgPrcss prc = new cfgPrcss(cmd.word()); prc = cfgAll.prcs.find(prc); if (prc == null) { continue; } for (;;) { s = cmd.word(); if (s.length() < 1) { break; } boolean neg = s.startsWith(cmds.negated); if (neg) { s = s.substring(2, s.length()); } if (s.equals("hid")) { prc.hidden = !neg; continue; } if (s.equals("act")) { prc.logAct = !neg; continue; } if (s.equals("con")) { prc.logCon = !neg; continue; } if (s.equals("col")) { if (neg) { prc.logCol = null; continue; } prc.logCol = new logBuf(bits.str2num(cmd.word())); continue; } } continue; } if (s.equals("proc")) { cfgPrcss prc = new cfgPrcss(cmd.word()); prc.hidden = true; prc.logAct = true; prc.execName = cmd.getRemaining(); cfgPrcss old = cfgAll.prcs.put(prc); prc.startNow(); if (old == null) { continue; } old.stopNow(); continue; } if (s.equals("vnet")) { cfgVnet prc = new cfgVnet(cmd.word()); prc.hidden = true; prc.side1.logAct = true; prc.side2.logAct = true; prc.side1.ifcTyp = userHwdet.string2type(cmd.word()); prc.side2.ifcTyp = prc.side1.ifcTyp; s = cmd.word().trim(); if (s.length() > 0) { String pnm[] = cfgIfc.dissectName(s); if (pnm == null) { continue; } prc.side1.locNam = pnm[0] + pnm[1] + pnm[2]; } s = cmd.word().trim(); if (s.length() > 0) { prc.side2.conNam = s; } cfgAll.vnets.put(prc); continue; } if (s.equals("int")) { String old = cmd.getRemaining(); String nam = cmd.word(); String pnm[] = cfgIfc.dissectName(nam); if (pnm == null) { continue; } if (pnm[3].length() > 0) { continue; } s = cmd.word().toLowerCase(); int stat = 0; if (s.equals("stat")) { stat = 1; } if (s.equals("red")) { stat = 2; } if (s.equals("dog")) { stat = 3; } if (stat != 0) { s = cmd.word().toLowerCase(); } tabRouteIface.ifaceType typ = cfgIfc.string2type(s); if (typ == null) { continue; } String mac = cmd.word(); String loop = cmd.word(); int loc = bits.str2num(cmd.word()); String peer = cmd.word(); int rem = bits.str2num(cmd.word()); s = cmd.word(); int thrd = bits.str2num(s); ifcUdpInt hdr = new ifcUdpInt(loop, loc, peer, rem, mac, typ != tabRouteIface.ifaceType.ether, stat == 1); switch (stat) { case 2: hdr.booter = true; prtRedun.ifcAdd(nam, hdr, s); break; case 3: hdr.booter = true; prtWatch.ifcAdd(nam, hdr, mac); break; default: cfgIfc ifc = cfgAll.ifcAdd(nam, typ, hdr, thrd); if (ifc == null) { continue; } cfgVdcIfc ntry = new cfgVdcIfc(ifc.name, old); ntry.portL = loc; ntry.portR = rem; ntry.peer = peer; ifaceLst.add(ntry); ifc.initPhysical(); if (debugger.cfgInitHw) { logger.debug("iface " + hdr); } break; } continue; } if (s.equals("line")) { String nam = cmd.word(); boolean nomon = nam.equals("nomon"); if (nomon) { nam = cmd.word(); } String loop = cmd.word(); int loc = bits.str2num(cmd.word()); String peer = cmd.word(); int rem = bits.str2num(cmd.word()); lineTcpLine hdr = new lineTcpLine(loop, loc, peer, rem); cfgLin lin = cfgAll.linAdd(nam, hdr); if (debugger.cfgInitHw) { logger.debug("line " + hdr); } if (nomon) { continue; } List logo = getShLogo(bootLogo); for (int i = 0; i < logo.size(); i++) { lin.sendLine(logo.get(i)); } lin.runner.setMon(true); continue; } if (s.equals("netconf")) { s = cmd.getRemaining(); List txt = httpGet(s); if (txt == null) { continue; } inhs.add(cmd.getOriginal()); int bg = -1; int md = 0; for (int p = 0; p < txt.size(); p++) { String a = txt.get(p); if (a.startsWith("sensor ")) { bg = p; md = 1; continue; } if (a.startsWith("config ")) { bg = p; md = 2; continue; } if (!a.equals(".")) { continue; } cmd = new cmds("", txt.get(bg)); cmd.word(); switch (md) { case 1: cfgSensor tl = new cfgSensor(cmd.getRemaining()); tl.hidden = true; for (int i = bg + 1; i < p; i++) { cmd = new cmds("", txt.get(i)); tl.doCfgStr(cmd); } cfgAll.sensors.put(tl); if (debugger.cfgInitHw) { logger.debug("netconf sensor " + tl.name); } break; case 2: a = cmd.word(); userNetconf.makeYang(txt, bg + 1, p); if (debugger.cfgInitHw) { logger.debug("netconf config " + a); } break; default: break; } md = 0; continue; } continue; } if (s.equals("snmp")) { s = cmd.getRemaining(); List txt = httpGet(s); if (txt == null) { continue; } inhs.add(cmd.getOriginal()); int bg = -1; for (int p = 0; p < txt.size(); p++) { String a = txt.get(p); if (a.startsWith("oid ")) { bg = p; } if (!a.equals(".")) { continue; } cmd = new cmds("", txt.get(bg)); cmd.word(); a = cmd.word(); userFilter sn = new userFilter(a, cmd.getRemaining(), new ArrayList()); sn.listing.addAll(txt.subList(bg + 1, p)); mibs.add(sn); if (debugger.cfgInitHw) { logger.debug("snmp " + sn); } } continue; } logger.info((cnt + 1) + ":" + cmd.getOriginal()); } cfgAll.custDefs = add2filter(cfgAll.custDefs, hdefs); cfgAll.snmpMibs = add2filter(cfgAll.snmpMibs, hdefs); } private static userFilter[] add2filter(userFilter[] trg, List src) { if (src.size() < 1) { return trg; } for (int i = 0; i < trg.length; i++) { src.add(trg[i]); } userFilter[] res = new userFilter[src.size()]; for (int i = 0; i < res.length; i++) { res[i] = src.get(i); } return res; } /** * execute sw commands * * @param cs commands * @param quiet do not log errors * @return number of errors */ public final static int executeSWcommands(List cs, boolean quiet) { if (cs == null) { return 0; } if (debugger.cfgInitSw) { logger.debug("applying sw config"); } int err = 0; pipeLine pl = new pipeLine(65536, false); pipeSide psS = pl.getSide(); pipeSide psC = pl.getSide(); userRead rd = new userRead(psC, null); psC.settingsPut(pipeSetting.height, 0); userConfig uc = new userConfig(psC, rd); psS.lineRx = pipeSide.modTyp.modeCRorLF; psC.lineTx = pipeSide.modTyp.modeCRLF; psS.setTime(100000); for (int o = 0; o < cs.size(); o++) { String a = cs.get(o); int i = a.indexOf(cmds.comment); if (i >= 0) { a = a.substring(0, i); } a = doTrimmer(a); if (a.length() < 1) { continue; } if (debugger.cfgInitSw) { logger.debug("cmd " + a); } String beg = "line " + (o + 1) + ": \"" + a + "\" : "; userHelp hl = uc.getHelping(false, true, true); rd.setContext(hl, ""); String b = hl.repairLine(a); if (b.length() < 1) { err++; if (quiet) { continue; } logger.info(beg + "no such command"); continue; } try { uc.executeCommand(b); } catch (Exception e) { err++; logger.info(beg + logger.dumpException(e, " at line " + err)); } i = psS.ready2rx(); if (i < 1) { continue; } err++; byte[] buf = new byte[i]; i = psS.nonBlockGet(buf, 0, buf.length); b = new String(buf, 0, i); b = b.replaceAll("\r", " "); b = b.replaceAll("\n", " "); if (quiet) { continue; } logger.info(beg + b); } return err; } private final static void doInit(List hw, List sw, pipeSide cons) { if (jvmStarted > 0) { logger.info("overlapping boot eliminated"); return; } jvmStarted = bits.getTime(); started = bits.getTime(); logger.info("booting"); setupJVM(); if (hw == null) { logger.info("no hw config found"); hw = new ArrayList(); } if (sw == null) { logger.info("no sw config found"); sw = new ArrayList(); } List sdefs = new ArrayList(); for (int i = 0; i < cfgAll.defaultF.length; i++) { userFilter ntry = cfgAll.defaultF[i]; if (ntry.section.length() > 0) { continue; } sdefs.add(ntry.command); } List inis = new ArrayList(); List secs = userFilter.text2section(sw); for (int i = 0; i < needInit.length; i++) { inis.addAll(userFilter.getSecList(secs, needInit[i], cmds.tabulator + cmds.finish)); } for (int i = 0; i < needFull.length; i++) { inis.addAll(userFilter.section2text(userFilter.getSection(secs, needFull[i], true, false, false), true)); } List ints = userFilter.section2text(userFilter.filter2text(secs, needIface), true); List hcfgs = new ArrayList(); List hdefs = new ArrayList(); List inhs = new ArrayList(); logger.info("initializing hardware"); try { executeHWcommands(hw, hdefs, inhs, hcfgs); } catch (Exception e) { logger.exception(e); } logger.info("applying defaults"); try { executeSWcommands(sdefs, false); } catch (Exception e) { logger.traceback(e); } try { executeSWcommands(hdefs, false); } catch (Exception e) { logger.traceback(e); } try { executeSWcommands(inis, true); } catch (Exception e) { logger.traceback(e); } try { executeSWcommands(ints, true); } catch (Exception e) { logger.traceback(e); } for (int i = 0; i < cfgAll.vnets.size(); i++) { cfgVnet ntry = cfgAll.vnets.get(i).copyBytes(); ntry.startNow(vdcPortBeg + (i * 4)); vnetLst.add(ntry); } vdcPortBeg += (vnetLst.size() * 4); logger.info("applying configuration"); int res = 0; try { res = executeSWcommands(sw, false); } catch (Exception e) { logger.traceback(e); } if (res > 0) { logger.error(res + " errors found"); } try { executeSWcommands(hcfgs, true); } catch (Exception e) { logger.traceback(e); } int p = cfgAll.vdcs.size(); if (p > 0) { p = (vdcPortEnd - vdcPortBeg) / p; } else { p = 1024; } for (int i = 0; i < cfgAll.vdcs.size(); i++) { cfgVdc ntry = cfgAll.vdcs.get(i).copyBytes(); vdcLst.add(ntry); int o = (i * p) + vdcPortBeg; ntry.startNow(hdefs, inhs, o, o + p); } cfgAll.con0.line.execTimeOut = 0; try { prtRedun.doInit(cons); } catch (Exception e) { logger.exception(e); } stateLoad(); started = bits.getTime(); booting = false; new Thread(new cfgInit()).start(); logger.info("boot completed"); } private final static void stateLoad() { List txt = bits.txt2buf(myStateFile()); if (txt == null) { return; } userFlash.delete(myStateFile()); int o = 0; for (int i = 0; i < txt.size(); i++) { cmds cmd = new cmds("rst", txt.get(i)); tabRouteAttr.routeType t = cfgRtr.name2num(cmd.word()); if (t == null) { continue; } cfgRtr c = cfgAll.rtrFind(t, bits.str2num(cmd.word()), false); if (c == null) { continue; } ipRtr r = c.getRouter(); if (r == null) { continue; } boolean b = true; try { b = r.routerStateSet(cmd); } catch (Exception e) { logger.traceback(e); } if (b) { continue; } o++; } logger.info("restored " + o + " of " + txt.size()); } /** * generate state data * * @return list of states */ public final static List stateData() { List res = new ArrayList(); for (int i = 0; i < cfgAll.routers.size(); i++) { cfgRtr c = cfgAll.routers.get(i); if (c == null) { continue; } ipRtr e = c.getRouter(); if (e == null) { continue; } e.routerStateGet(res); } return res; } /** * save state */ public final static void stateSave() { List res = stateData(); boolean e = res.size() == stateLast.size(); if (e) { for (int i = 0; i < res.size(); i++) { e = res.get(i).equals(stateLast.get(i)); if (!e) { break; } } } if (e) { return; } stateLast = res; bits.buf2txt(true, res, myStateFile()); prtRedun.doState(); } /** * stop router * * @param clean clean exit * @param code exit code, negative just updates reload file, 22 already used * @param reason reason string */ public final static void stopRouter(boolean clean, int code, String reason) { boolean fake = code < 0; if (fake) { code = -code; } try { bits.buf2txt(true, bits.str2lst("code#" + code + "=" + reason), myReloadFile()); } catch (Exception e) { } if (fake) { return; } try { debugger.setAll(false); } catch (Exception e) { } if (clean && cfgAll.graceReload) { for (int i = 0; i < cfgAll.vrfs.size(); i++) { try { cfgAll.vrfs.get(i).closeAllConns(true); } catch (Exception e) { } } prtRedun.doShut(); prtWatch.doShut(); bits.sleep(100); } for (int i = 0; i < vnetLst.size(); i++) { try { vnetLst.get(i).stopNow(); } catch (Exception e) { } } for (int i = 0; i < vdcLst.size(); i++) { try { vdcLst.get(i).stopNow(); } catch (Exception e) { } } for (int i = 0; i < cfgAll.prcs.size(); i++) { try { cfgAll.prcs.get(i).stopNow(); } catch (Exception e) { } } logger.error("shutdown code=" + code + " reason=" + reason); logger.fileName(null); System.exit(code); } /** * start applet * * @param url config url * @return image */ public final static pipeImage doApplet(String url) { pipeLine pl = new pipeLine(65536, false); pipeImage img = new pipeImage(pl.getSide(), 80, 25, pipeFonts.font8x16(), pipeFonts.colorData); pipeSide ps = pl.getSide(); ps.lineTx = pipeSide.modTyp.modeCRLF; ps.lineRx = pipeSide.modTyp.modeCRorLF; ps.setTime(0); logger.pipeStart(ps); List logo = getShLogo(bootLogo); for (int i = 0; i < logo.size(); i++) { ps.linePut(logo.get(i)); } doInit(null, httpGet(url), null); cfgAll.con0.line.createHandler(ps, "applet", 2); img.scr.doRound(true); img.doImage(); return img; } /** * do main task * * @param args parameters */ public final static void doMain(String[] args) { String s = ""; if (args.length > 0) { s = args[0]; } if (s.startsWith("router")) { boolean det = false; boolean con = false; boolean win = false; String hwN = args[1]; String swN = null; for (int i = 6; i < s.length(); i++) { String a = "" + s.charAt(i); if (a.equals("s")) { hwN = args[1]; swN = args[2]; continue; } if (a.equals("a")) { hwN = null; swN = args[1]; continue; } if (a.equals("c")) { con = true; continue; } if (a.equals("w")) { win = true; continue; } if (a.equals("d")) { det = true; continue; } } pipeSide pipCon = null; pipeSide pipWin = null; if (con) { pipCon = pipeConsole.create(); logger.pipeStart(pipCon); } if (win) { pipWin = pipeWindow.createOne(80, 25, pipeFonts.font8x16(), pipeFonts.colorData); logger.pipeStart(pipWin); } if (swN == null) { swN = hwN + swCfgEnd; hwN += hwCfgEnd; } List logo = getShLogo(bootLogo); for (int i = 0; i < logo.size(); i++) { if (pipCon != null) { pipCon.linePut(logo.get(i)); } if (pipWin != null) { pipWin.linePut(logo.get(i)); } } cfgFileHw = hwN; cfgFileSw = swN; List hwT = httpGet(cfgFileHw); List swT = httpGet(cfgFileSw); doInit(hwT, swT, pipCon); if (pipCon != null) { if (det) { pipeScreen.updtSiz(pipCon); } cfgAll.con0.line.createHandler(pipCon, "console", 2); } if (pipWin != null) { cfgAll.con0.line.createHandler(pipWin, "window", 2); } return; } setupJVM(); if (s.startsWith("cfgexec")) { boolean det = false; for (int i = 7; i < s.length(); i++) { String a = "" + s.charAt(i); if (a.equals("d")) { det = true; continue; } } cfgFileSw = args[1]; s = ""; for (int i = 2; i < args.length; i++) { s += " " + args[i]; } pipeSide pip = pipeConsole.create(); logger.pipeStart(pip); List logo = getShLogo(bootLogo); for (int i = 0; i < logo.size(); i++) { pip.linePut(logo.get(i)); } List swT = httpGet(cfgFileSw); doInit(null, swT, pip); logger.pipeStart(pip); userRead rdr = new userRead(pip, null); pip.settingsPut(pipeSetting.height, 0); if (det) { pipeScreen.updtSiz(pip); } userExec exe = new userExec(pip, rdr); exe.privileged = true; s = exe.repairCommand(s); try { exe.executeCommand(s); } catch (Exception e) { logger.exception(e); } stopRouter(true, 1, "finished"); return; } if (s.equals("show")) { s = ""; for (int i = 0; i < args.length; i++) { s += " " + args[i]; } pipeLine pl = new pipeLine(1024 * 1024, false); pipeSide pip = pl.getSide(); pip.lineTx = pipeSide.modTyp.modeCRLF; pip.lineRx = pipeSide.modTyp.modeCRorLF; userRead rdr = new userRead(pip, null); pip.settingsPut(pipeSetting.height, 0); userExec exe = new userExec(pip, rdr); exe.privileged = true; s = exe.repairCommand(s); try { exe.executeCommand(s); } catch (Exception e) { logger.exception(e); } pip = pl.getSide(); pl.setClose(); pipeReader rd = new pipeReader(); rd.setLineMode(pipeSide.modTyp.modeCRtryLF); pipeConnect.connect(pip, rd.getPipe(), true); rd.waitFor(); List res = rd.getResult(); for (int i = 0; i < res.size(); i++) { putln(res.get(i)); } return; } boolean b = s.startsWith("exec"); if (b || s.startsWith("test")) { boolean det = false; for (int i = 4; i < s.length(); i++) { String a = "" + s.charAt(i); if (a.equals("d")) { det = true; continue; } } s = ""; int i = b ? 1 : 0; for (; i < args.length; i++) { s += " " + args[i]; } pipeSide pip = pipeConsole.create(); logger.pipeStart(pip); userRead rdr = new userRead(pip, null); pip.settingsPut(pipeSetting.height, 0); if (det) { pipeScreen.updtSiz(pip); } userExec exe = new userExec(pip, rdr); exe.privileged = true; s = exe.repairCommand(s); try { exe.executeCommand(s); } catch (Exception e) { logger.exception(e); } stopRouter(true, 18, "finished"); return; } putln("java -jar " + getFileName() + " "); putln("parameters:"); userHelp hlp = new userHelp(); hlp.add(null, false, 1, new int[]{2}, "router", "start router background"); hlp.add(null, false, 2, new int[]{-1}, "", "config url"); hlp.add(null, false, 1, new int[]{2}, "routerc", "start router with console"); hlp.add(null, false, 2, new int[]{-1}, "", "config url"); hlp.add(null, false, 1, new int[]{2}, "routerw", "start router with window"); hlp.add(null, false, 2, new int[]{-1}, "", "config url"); hlp.add(null, false, 1, new int[]{2}, "routercw", "start router with console and window"); hlp.add(null, false, 2, new int[]{-1}, "", "config url"); hlp.add(null, false, 1, new int[]{2}, "routers", "start router from separate configs"); hlp.add(null, false, 2, new int[]{3}, "", "config url"); hlp.add(null, false, 3, new int[]{-1}, "", "config url"); hlp.add(null, false, 1, new int[]{2}, "routera", "start router with sw config only"); hlp.add(null, false, 2, new int[]{-1}, "", "config url"); hlp.add(null, false, 1, new int[]{2}, "test", "execute test command"); hlp.add(null, false, 2, new int[]{-1}, "", "command to execute"); hlp.add(null, false, 1, new int[]{2}, "show", "execute show command"); hlp.add(null, false, 2, new int[]{-1}, "", "command to execute"); hlp.add(null, false, 1, new int[]{2}, "exec", "execute exec command"); hlp.add(null, false, 2, new int[]{-1}, "", "command to execute"); hlp.add(null, false, 1, new int[]{2}, "cfgexec", "execute exec command"); hlp.add(null, false, 2, new int[]{3}, "", "config url"); hlp.add(null, false, 3, new int[]{3, -1}, "", "command to execute"); List res = hlp.getUsage(); for (int i = 0; i < res.size(); i++) { putln(res.get(i)); } } private final static void putln(String s) { System.out.println(s); } public void run() { int rnd = 0; counter cntr = new counter(); cntr.byteRx = bits.getTime() / 8; timerHistory = new history(cntr); Runtime rt = Runtime.getRuntime(); cntr.byteRx = rt.freeMemory() / 8; memoryHistory = new history(cntr); for (;;) { try { rnd += 1; bits.sleep(1000); if (debugger.prtWatchEvnt) { logger.debug("health check"); } ifcThread.checkIfaces(); ipFwdTab.checkVrfs(); cntr.byteRx = bits.getTime() / 8; timerHistory.update(cntr, true); cntr.byteRx = rt.freeMemory() / 8; memoryHistory.update(cntr, false); if ((rnd % 60) != 0) { continue; } ipFwdTab.alertVrfs(); clntDns.purgeLocalCache(false); stateSave(); } catch (Exception e) { logger.exception(e); } } } } class cfgInitMime implements Comparable { protected final String ext; protected final String mime; public cfgInitMime(String e) { ext = e; mime = "*"; } public cfgInitMime(String e, String m) { ext = e; mime = m; } public int compareTo(cfgInitMime o) { return ext.toLowerCase().compareTo(o.ext.toLowerCase()); } } class cfgInitHandler implements UncaughtExceptionHandler { public void uncaughtException(Thread t, Throwable e) { logger.exception(e); } } freeRtr-25.11.9/src/org/freertr/cfg/cfgIpsec.java000066400000000000000000000165751510423065500214750ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.auth.authLocal; import org.freertr.sec.secTransform; import org.freertr.tab.tabGen; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; /** * ipsec profile configuration * * @author matecsaba */ public class cfgIpsec implements Comparable, cfgGeneric { /** * role mode */ public enum roleMode { /** * initiator role */ initiator, /** * responder role */ responder, /** * static role */ staticKeys } /** * name of profile */ public String name; /** * description */ public String description; /** * transform to use */ public final secTransform trans; /** * preshared key */ public String preshared; /** * role in session */ public roleMode role = roleMode.staticKeys; /** * isakmp version */ public int ikeVer = 1; /** * replay window size */ public int replay = 1024; /** * work for ipv6 */ public boolean ipv6 = false; /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("crypto ipsec .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("crypto ipsec .*", cmds.tabulator + cmds.negated + cmds.tabulator + "group", null), new userFilter("crypto ipsec .*", cmds.tabulator + cmds.negated + cmds.tabulator + "cipher", null), new userFilter("crypto ipsec .*", cmds.tabulator + cmds.negated + cmds.tabulator + "hash", null), new userFilter("crypto ipsec .*", cmds.tabulator + cmds.negated + cmds.tabulator + "prf", null), new userFilter("crypto ipsec .*", cmds.tabulator + cmds.negated + cmds.tabulator + "seconds", null), new userFilter("crypto ipsec .*", cmds.tabulator + cmds.negated + cmds.tabulator + "random", null), new userFilter("crypto ipsec .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bytes", null), new userFilter("crypto ipsec .*", cmds.tabulator + cmds.negated + cmds.tabulator + "key", null), new userFilter("crypto ipsec .*", cmds.tabulator + "role static", null), new userFilter("crypto ipsec .*", cmds.tabulator + "protected ipv4", null), new userFilter("crypto ipsec .*", cmds.tabulator + "isakmp 1", null), new userFilter("crypto ipsec .*", cmds.tabulator + "replay 1024", null) }; public int compareTo(cfgIpsec o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String toString() { return "ipsec " + name; } /** * create new profile * * @param nam name of interface */ public cfgIpsec(String nam) { name = nam.trim(); trans = new secTransform(); } public List getShRun(int filter) { List l = new ArrayList(); l.add("crypto ipsec " + name); cmds.cfgLine(l, description == null, cmds.tabulator, "description", description); trans.getShRun(cmds.tabulator, l); cmds.cfgLine(l, preshared == null, cmds.tabulator, "key", authLocal.passwdEncode(preshared, (filter & 2) != 0)); String s = "unknown"; switch (role) { case initiator: s = "initiator"; break; case responder: s = "responder"; break; case staticKeys: s = "static"; break; } l.add(cmds.tabulator + "role " + s); if (ipv6) { s = "ipv6"; } else { s = "ipv4"; } l.add(cmds.tabulator + "protected " + s); l.add(cmds.tabulator + "isakmp " + ikeVer); l.add(cmds.tabulator + "replay " + replay); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void getHelp(userHelp l) { trans.getHelp(l); l.add(null, false, 1, new int[]{3, -1}, "description", "specify description"); l.add(null, false, 3, new int[]{3, -1}, "", "text"); l.add(null, false, 1, new int[]{2}, "rename", "rename this ipsec"); l.add(null, false, 2, new int[]{-1}, "", "set new name"); l.add(null, false, 1, new int[]{2}, "key", "set preshared key"); l.add(null, false, 2, new int[]{-1}, "", "key"); l.add(null, false, 1, new int[]{2}, "protected", "set protected protocol"); l.add(null, false, 2, new int[]{-1}, "ipv4", "ipv4"); l.add(null, false, 2, new int[]{-1}, "ipv6", "ipv6"); l.add(null, false, 1, new int[]{2}, "role", "set role in session"); l.add(null, false, 2, new int[]{-1}, "initiator", "initiate the session"); l.add(null, false, 2, new int[]{-1}, "responder", "respond to the initiator"); l.add(null, false, 2, new int[]{-1}, "static", "static tunnel"); l.add(null, false, 1, new int[]{2}, "isakmp", "set isakmp version to use"); l.add(null, false, 2, new int[]{-1}, "", "version"); l.add(null, false, 1, new int[]{2}, "replay", "set replay window size"); l.add(null, false, 2, new int[]{-1}, "", "size in packets"); } public void doCfgStr(cmds cmd) { if (!trans.doCfgStr(cmd.copyBytes(true))) { return; } String s = cmd.word(); if (s.equals("description")) { description = cmd.getRemaining(); return; } if (s.equals("rename")) { s = cmd.word(); cfgIpsec v = cfgAll.ipsecFind(s, false); if (v != null) { cmd.error("already exists"); return; } name = s; return; } if (s.equals("key")) { preshared = authLocal.passwdDecode(cmd.word()); trans.authAlg = 1; return; } if (s.equals("role")) { s = cmd.word(); if (s.equals("initiator")) { role = roleMode.initiator; } if (s.equals("responder")) { role = roleMode.responder; } if (s.equals("static")) { role = roleMode.staticKeys; } return; } if (s.equals("protected")) { ipv6 = cmd.word().equals("ipv6"); return; } if (s.equals("isakmp")) { ikeVer = ((bits.str2num(cmd.word()) - 1) & 1) + 1; return; } if (s.equals("replay")) { replay = bits.str2num(cmd.word()); return; } if (!s.equals(cmds.negated)) { cmd.badCmd(); return; } s = cmd.word(); if (s.equals("description")) { description = null; return; } if (s.equals("key")) { preshared = null; trans.authAlg = 0; return; } if (s.equals("role")) { role = roleMode.staticKeys; return; } cmd.badCmd(); } public String getPrompt() { return "ipsec"; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgKey.java000066400000000000000000000032611510423065500211460ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.auth.authLocal; import org.freertr.cry.cryKeyGeneric; import org.freertr.tab.tabGen; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.cmds; /** * cryptographic key configuration * * @param type of key * @author matecsaba */ public class cfgKey implements Comparable>, cfgGeneric { /** * create instance * * @param s name */ public cfgKey(String s) { name = s; } /** * name of key */ public String name; /** * name of file */ public String filNam; /** * the key */ public T key; public String toString() { return name; } /** * defaults text */ public final static userFilter[] defaultF = {}; public int compareTo(cfgKey o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public void getHelp(userHelp l) { } public String getPrompt() { return "key"; } public void doCfgStr(cmds cmd) { } public List getShRun(int filter) { List l = new ArrayList(); if (filNam == null) { l.add("crypto " + key.algName() + "key " + name + " import " + authLocal.passwdEncode(key.pemWriteStr(false), (filter & 2) != 0)); } else { l.add("crypto " + key.algName() + "key " + name + " external " + filNam); } l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } } freeRtr-25.11.9/src/org/freertr/cfg/cfgLin.java000066400000000000000000000150511510423065500211400ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.line.lineRunner; import org.freertr.line.lineThread; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.user.userLine; import org.freertr.user.userRead; import org.freertr.util.cmds; /** * one line configuration * * @author matecsaba */ public class cfgLin implements Comparable, cfgGeneric { /** * name of this line */ public String name = ""; /** * byte thread */ public lineThread thread; /** * runner thread */ public lineRunner runner; /** * line handler */ public userLine line = new userLine(); /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("line .*", cmds.tabulator + cmds.negated + cmds.tabulator + "script init", null), new userFilter("line .*", cmds.tabulator + cmds.negated + cmds.tabulator + "script activate", null), new userFilter("line .*", cmds.tabulator + cmds.negated + cmds.tabulator + "script hangup", null), new userFilter("line .*", cmds.tabulator + cmds.negated + cmds.tabulator + "dedicated", null), new userFilter("line .*", cmds.tabulator + cmds.negated + cmds.tabulator + "disabled", null), new userFilter("line .*", cmds.tabulator + "log-monitor", null) }; public int compareTo(cfgLin o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String toString() { return "lin " + name; } /** * start this line */ public void setup2run() { runner = new lineRunner(thread, line, name); } /** * send one line * * @param s string to send */ public void sendLine(String s) { runner.sendLine(s); } /** * create new interface * * @param nam name of interface */ public cfgLin(String nam) { name = nam.trim(); } public List getShRun(int filter) { List l = new ArrayList(); l.add("line " + name); line.getShRun(cmds.tabulator, l, filter); if (runner.scrptInit == null) { l.add(cmds.tabulator + "no script init"); } else { l.add(cmds.tabulator + "script init " + runner.scrptInit.scrName); } if (runner.scrptActv == null) { l.add(cmds.tabulator + "no script activate"); } else { l.add(cmds.tabulator + "script activate " + runner.scrptActv.scrName); } if (runner.scrptHangup == null) { l.add(cmds.tabulator + "no script hangup"); } else { l.add(cmds.tabulator + "script hangup " + runner.scrptHangup.scrName); } cmds.cfgLine(l, !runner.getDedi(), cmds.tabulator, "dedicated", ""); cmds.cfgLine(l, !runner.getDisa(), cmds.tabulator, "disabled", ""); cmds.cfgLine(l, !runner.getMon(), cmds.tabulator, "log-monitor", ""); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void getHelp(userHelp l) { line.getHelp(l); l.add(null, false, 1, new int[]{-1}, "log-monitor", "set as monitoring line"); l.add(null, false, 1, new int[]{-1}, "dedicated", "set as dedicated line"); l.add(null, false, 1, new int[]{-1}, "disabled", "set as disabled line"); l.add(null, false, 1, new int[]{2}, "script", "set scripts to use"); l.add(null, false, 2, new int[]{3}, "init", "script to run on before activation"); l.add(null, false, 3, new int[]{-1}, "", "name of script"); l.add(null, false, 2, new int[]{3}, "activate", "script to run on after activation"); l.add(null, false, 3, new int[]{-1}, "", "name of script"); l.add(null, false, 2, new int[]{3}, "hangup", "script to run on after session"); l.add(null, false, 3, new int[]{-1}, "", "name of script"); } public synchronized void doCfgStr(cmds cmd) { String s = cmd.word(); if (s.equals("dedicated")) { runner.setDedi(true); return; } if (s.equals("disabled")) { runner.setDisa(true); return; } if (s.equals("log-monitor")) { runner.setMon(true); return; } if (s.equals("script")) { s = cmd.word(); if (s.equals("init")) { cfgChat scrpt = cfgAll.chatFind(cmd.word(), false); if (scrpt == null) { cmd.error("no such chat script"); return; } runner.scrptInit = scrpt.script; return; } if (s.equals("activate")) { cfgChat scrpt = cfgAll.chatFind(cmd.word(), false); if (scrpt == null) { cmd.error("no such chat script"); return; } runner.scrptActv = scrpt.script; return; } if (s.equals("hangup")) { cfgChat scrpt = cfgAll.chatFind(cmd.word(), false); if (scrpt == null) { cmd.error("no such chat script"); return; } runner.scrptHangup = scrpt.script; return; } } if (s.equals(cmds.negated)) { s = cmd.word(); if (s.equals("dedicated")) { runner.setDedi(false); return; } if (s.equals("disabled")) { runner.setDisa(false); return; } if (s.equals("log-monitor")) { runner.setMon(false); return; } if (s.equals("script")) { s = cmd.word(); if (s.equals("init")) { runner.scrptInit = null; return; } if (s.equals("activate")) { runner.scrptActv = null; return; } if (s.equals("hangup")) { runner.scrptHangup = null; return; } } } if (line.doCfgStr(cmd.copyBytes(true))) { cmd.badCmd(); return; } } public String getPrompt() { return "line"; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgMenuK.java000066400000000000000000000144741510423065500214450ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.pipe.pipeSide; import org.freertr.tab.tabGen; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.cmds; /** * one key based menu configuration * * @author matecsaba */ public class cfgMenuK implements Comparable, cfgGeneric { /** * defaults text */ public final static userFilter[] defaultL = { new userFilter("menu key .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("menu key .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ignore-case", null) }; /** * name of menu */ public String name; /** * description */ public String description; /** * ignore case */ public boolean ignoreCase; /** * letters of menu */ public tabGen letter = new tabGen(); /** * create new instance * * @param s name of menu */ public cfgMenuK(String s) { name = s; } public int compareTo(cfgMenuK o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{3, -1}, "description", "specify description"); l.add(null, false, 3, new int[]{3, -1}, "", "text"); l.add(null, false, 1, new int[]{2}, "rename", "rename this menu"); l.add(null, false, 2, new int[]{-1}, "", "set new name"); l.add(null, false, 1, new int[]{-1}, "ignore-case", "ignore case on matching"); l.add(null, false, 1, new int[]{2}, "letter", "set letter to configure"); l.add(null, false, 2, new int[]{3, -1}, "", "menu item"); l.add(null, false, 3, new int[]{4}, "command", "command to do"); l.add(null, false, 4, new int[]{4, -1}, "", "command"); l.add(null, false, 3, new int[]{4}, "text", "text to display"); l.add(null, false, 4, new int[]{4, -1}, "", "text"); } public List getShRun(int filter) { List l = new ArrayList(); l.add("menu key " + name); cmds.cfgLine(l, description == null, cmds.tabulator, "description", description); cmds.cfgLine(l, !ignoreCase, cmds.tabulator, "ignore-case", ""); for (int i = 0; i < letter.size(); i++) { cfgMenuKentry ntry = letter.get(i); l.add(cmds.tabulator + "letter " + ntry.name + " command " + ntry.command); l.add(cmds.tabulator + "letter " + ntry.name + " text " + ntry.text); } l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultL); } public void doCfgStr(cmds cmd) { String a = cmd.word(); boolean negated = a.equals(cmds.negated); if (negated) { a = cmd.word(); } if (a.equals("ignore-case")) { ignoreCase = !negated; return; } if (a.equals("description")) { if (negated) { description = null; } else { description = cmd.getRemaining(); } return; } if (a.equals("rename")) { a = cmd.word(); cfgMenuK v = cfgAll.menuKfind(a, false); if (v != null) { cmd.error("already exists"); return; } name = a; return; } if (!a.equals("letter")) { cmd.badCmd(); return; } a = cmd.word(); cfgMenuKentry ntry = letter.find(new cfgMenuKentry(a)); if (ntry == null) { ntry = new cfgMenuKentry(a); letter.put(ntry); } a = cmd.word(); if (a.equals("command")) { ntry.command = cmd.getRemaining(); if (negated) { letter.del(ntry); } return; } if (a.equals("text")) { ntry.text = cmd.getRemaining(); if (negated) { ntry.text = ""; } return; } cmd.badCmd(); } public String getPrompt() { return "menuk"; } /** * put menu * * @param p pipe to use */ public void putMenu(pipeSide p) { p.linePut("menu " + name + ":"); for (int i = 0; i < letter.size(); i++) { p.linePut(letter.get(i) + ""); } } /** * do menu * * @param pipe pipe to use * @return key pressed, null if nothing */ public String doMenu(pipeSide pipe) { putMenu(pipe); String k = getKeys(); String a = pipe.strChr("choose:", k); String s = findKey(a); if (s.length() < 1) { return null; } return s; } /** * get keys * * @return keys */ public String getKeys() { String s = ""; for (int i = 0; i < letter.size(); i++) { cfgMenuKentry ntry = letter.get(i); String a = ntry.name; if (ignoreCase) { s += a.toLowerCase() + a.toUpperCase(); } else { s += a; } } return s; } /** * find one key * * @param s key to find * @return menu entry, null if not found */ public String findKey(String s) { if (ignoreCase) { s = s.toLowerCase(); } for (int i = 0; i < letter.size(); i++) { cfgMenuKentry ntry = letter.get(i); String a = ntry.name; if (ignoreCase) { a = a.toLowerCase(); } if (a.compareTo(s) == 0) { return ntry.command; } } return null; } } class cfgMenuKentry implements Comparable { public String name; public String command; public String text; public cfgMenuKentry(String s) { name = s; command = ""; text = ""; } public String toString() { return name + " - " + text; } public int compareTo(cfgMenuKentry o) { return name.compareTo(o.name); } } freeRtr-25.11.9/src/org/freertr/cfg/cfgMenuT.java000066400000000000000000000362531510423065500214550ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.pipe.pipeSetting; import org.freertr.pipe.pipeSide; import org.freertr.tab.tabGen; import org.freertr.user.userExec; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.user.userRead; import org.freertr.pipe.pipeScreen; import org.freertr.util.cmds; import org.freertr.util.logger; /** * one tui based menu configuration * * @author matecsaba */ public class cfgMenuT implements Comparable, cfgGeneric { /** * defaults text */ public final static userFilter[] defaultL = { new userFilter("menu tui .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null) }; /** * name of menu */ public String name; /** * description */ public String description; /** * groups of menu */ public List group = new ArrayList(); /** * create new instance * * @param s name of menu */ public cfgMenuT(String s) { name = s; } public int compareTo(cfgMenuT o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{3, -1}, "description", "specify description"); l.add(null, false, 3, new int[]{3, -1}, "", "text"); l.add(null, false, 1, new int[]{2}, "rename", "rename this menu"); l.add(null, false, 2, new int[]{-1}, "", "set new name"); l.add(null, false, 1, new int[]{2}, "entry", "add an entry"); l.add(null, false, 2, new int[]{3}, "", "group name"); l.add(null, false, 3, new int[]{4}, "", "entry name"); l.add(null, false, 4, new int[]{4, -1}, "", "command to execute"); } public List getShRun(int filter) { List l = new ArrayList(); l.add("menu tui " + name); cmds.cfgLine(l, description == null, cmds.tabulator, "description", description); for (int o = 0; o < group.size(); o++) { cfgMenuTgroup grp = group.get(o); for (int i = 0; i < grp.entry.size(); i++) { cfgMenuTentry ent = grp.entry.get(i); l.add(cmds.tabulator + "entry " + grp.name + " " + ent.name + " " + ent.exec); } } l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultL); } public void doCfgStr(cmds cmd) { String a = cmd.word(); boolean negated = a.equals(cmds.negated); if (negated) { a = cmd.word(); } if (a.equals("description")) { if (negated) { description = null; } else { description = cmd.getRemaining(); } return; } if (a.equals("rename")) { a = cmd.word(); cfgMenuT v = cfgAll.menuTfind(a, false); if (v != null) { cmd.error("already exists"); return; } name = a; return; } if (!a.equals("entry")) { cmd.badCmd(); return; } cfgMenuTgroup grp = new cfgMenuTgroup(cmd.word()); a = cmd.word(); cfgMenuTentry ent = new cfgMenuTentry(a, cmd.getRemaining()); if (!negated) { int i = findGrp(grp.name); if (i >= 0) { grp = group.get(i); } else { group.add(grp); } grp.entry.add(ent); return; } int o = findGrp(grp.name); if (o < 0) { return; } grp = group.get(o); int i = grp.findEnt(ent.name); if (i < 0) { return; } grp.entry.remove(i); if (grp.entry.size() > 0) { return; } group.remove(o); } public String getPrompt() { return "menut"; } private int findGrp(String n) { for (int i = 0; i < group.size(); i++) { if (n.equals(group.get(i).name)) { return i; } } return -1; } /** * do menu * * @param pipe pipe to use * @param rdr reader * @param prv privileged */ public void doMenu(pipeSide pipe, userRead rdr, boolean prv) { cfgMenuTdoer d = new cfgMenuTdoer(this, new pipeScreen(pipe), rdr, prv); d.doWork(); } } class cfgMenuTgroup { public final String name; public final List entry = new ArrayList(); public cfgMenuTgroup(String n) { name = n; } public int findEnt(String n) { for (int i = 0; i < entry.size(); i++) { if (n.equals(entry.get(i).name)) { return i; } } return -1; } } class cfgMenuTentry { public final String name; public final String exec; public String group; public boolean mark; public cfgMenuTentry(String n, String e) { name = n; exec = e; } } class cfgMenuTdoer { private final cfgMenuT lower; private final pipeScreen console; private final userRead reader; private final boolean privileged; private int beg; private int cur; private String flt; private List buf; private int max; public cfgMenuTdoer(cfgMenuT prn, pipeScreen pip, userRead rdr, boolean prv) { lower = prn; console = pip; reader = rdr; privileged = prv; } public void doWork() { console.putCls(); doReset(); doFilter(); for (;;) { doRange(); doDraw(false); if (doKey()) { break; } } doClear(); } private boolean doKey() { int i = pipeScreen.getKey(console.pipe); switch (i) { case -1: // end return true; case 0x0020: // space doKeySp(); return false; case 0x0261: // ctrl+a doKeyUp(); return false; case 0x027a: // ctrl+z doKeyDn(); return false; case 0x0268: // ctrl+h doKeyBs(); return false; case 0x0270: // ctrl+p doKeyPgUp(); return false; case 0x026e: // ctrl+n doKeyPgDn(); return false; case 0x0272: // ctrl+r doDraw(true); return false; case 0x026c: // ctrl+l doDraw(true); return false; case 0x0273: // ctrl+s doKeyF1(); return false; case 0x0271: // ctrl+q return true; case 0x0278: // ctrl+x return true; case 0x0263: // ctrl+c return true; case 0x0276: // ctrl+v doKeyF3(); return false; case 0x0277: // ctrl+w doKeyClr(); return false; case 0x8003: // backspace doKeyBs(); return false; case 0x8004: // enter doKeyEnter(); return false; case 0x8008: // home doKeyHom(); return false; case 0x8009: // end doKeyEnd(); return false; case 0x800a: // pgup doKeyPgUp(); return false; case 0x800b: // pgdn doKeyPgDn(); return false; case 0x800c: // up doKeyUp(); return false; case 0x800d: // down doKeyDn(); return false; case 0x8014: // f1 doKeyF1(); return false; case 0x8016: // f3 doKeyF3(); return false; case 0x801d: // f10 return true; default: doKeyChr(i); return false; } } private void doKeyEnter() { if (cur >= buf.size()) { return; } doClear(); int o = 0; for (int i = 0; i < buf.size(); i++) { cfgMenuTentry ent = buf.get(i); if (!ent.mark) { continue; } ent.mark = false; doExecOne(ent); o++; } if (o < 1) { doExecOne(buf.get(cur)); } doClear(); doDraw(true); } private void doExecOne(cfgMenuTentry ent) { pipeScreen.sendAnsCol(console.pipe, pipeScreen.colBrGreen); console.pipe.linePut(ent.group + " - " + ent.name); pipeScreen.sendAnsCol(console.pipe, pipeScreen.colWhite); userExec exe = new userExec(console.pipe, reader); exe.privileged = privileged; String s = exe.repairCommand(ent.exec); if (console.pipe.settingsGet(pipeSetting.logging, false)) { logger.info("command menu:" + s + " from " + console.pipe.settingsGet(pipeSetting.origin, "?")); } exe.executeCommand(s); } private void doKeyF1() { List l = new ArrayList(); l.add("f1 - help"); l.add("f3 - view command"); l.add("f10 - exit"); l.add("type - search"); l.add("space - select"); l.add("ctrl+s - help"); l.add("ctrl+v - view command"); l.add("ctrl+a - move up"); l.add("ctrl+z - move down"); l.add("ctrl+w - erase filter"); l.add("ctrl+p - move page up"); l.add("ctrl+n - move page down"); l.add("ctrl+r - redraw screen"); l.add("ctrl+l - redraw screen"); l.add("ctrl+q - exit"); l.add("ctrl+x - exit"); l.add("ctrl+c - exit"); console.helpWin(pipeScreen.colBlue, pipeScreen.colWhite, pipeScreen.colBrWhite, -1, -1, -1, -1, l); } private void doKeyF3() { if (!privileged) { return; } if (cur > buf.size()) { return; } cfgMenuTentry ent = buf.get(cur); console.askUser("command to execute", pipeScreen.colBlue, pipeScreen.colWhite, pipeScreen.colBrYellow, pipeScreen.colBrWhite, -1, -1, -1, ent.exec); } private void doKeyUp() { cur--; } private void doKeyDn() { cur++; } private void doKeyHom() { cur = 0; } private void doKeyEnd() { cur = buf.size(); } private void doKeyPgDn() { cur += console.sizY / 4; } private void doKeyPgUp() { cur -= console.sizY / 4; } private void doKeySp() { if (cur >= buf.size()) { return; } cfgMenuTentry ent = buf.get(cur); ent.mark = !ent.mark; cur++; } private void doKeyBs() { int i = flt.length(); if (i < 1) { return; } flt = flt.substring(0, i - 1); doFilter(); } private void doKeyClr() { flt = ""; doFilter(); } private void doKeyChr(int k) { if (k < 0x20) { return; } if (k > 0x7f) { return; } flt += (char) k; doFilter(); } private void doReset() { beg = 0; cur = 0; flt = ""; } private void doClear() { console.putCls(); console.putCur(0, 0); console.refresh(); } private void doFilter() { buf = new ArrayList(); max = 0; for (int o = 0; o < lower.group.size(); o++) { cfgMenuTgroup grp = lower.group.get(o); int i = grp.name.length(); if (max < i) { max = i; } boolean all = flt.length() < 1; if (!all) { all = grp.name.indexOf(flt) >= 0; } for (i = 0; i < grp.entry.size(); i++) { cfgMenuTentry ent = grp.entry.get(i); boolean ned = all; if (!ned) { ned = ent.name.indexOf(flt) >= 0; } if (!ned) { continue; } ent = new cfgMenuTentry(ent.name, ent.exec); ent.group = grp.name; buf.add(ent); } } } private void doRange() { int bs = buf.size(); if (cur >= bs) { cur = bs - 1; } if (cur < 0) { cur = 0; } int i = cur - console.sizY + 3; if (beg < i) { beg = i; } i = bs - console.sizY + 2; if (beg > i) { beg = i; } if (beg > cur) { beg = cur; } if (beg < 0) { beg = 0; } if (beg > bs) { beg = bs; } } private void doDraw(boolean clr) { if (clr) { console.putCls(); console.refresh(); for (int i = 0; i < console.sizY; i++) { putFill(i, pipeScreen.colWhite, pipeScreen.colBlack, 32); } console.refresh(); } putHeader(); putFooter(); for (int i = 0; i < console.sizY - 2; i++) { putLine(i); } console.putCur(8 + flt.length(), console.sizY - 1); console.refresh(); } private void putHeader() { putFill(0, pipeScreen.colGreen, pipeScreen.colWhite, 32); console.putStr(0, 0, pipeScreen.colGreen, pipeScreen.colBrYellow, false, cfgInit.versionName); } private void putFooter() { putFill(console.sizY - 1, pipeScreen.colBlue, pipeScreen.colWhite, 32); console.putStr(0, console.sizY - 1, pipeScreen.colBlue, pipeScreen.colBrWhite, false, (cur + 1) + "/" + buf.size()); console.putStr(8, console.sizY - 1, pipeScreen.colBlue, pipeScreen.colBrWhite, false, flt); console.putStr(console.sizX - 8, console.sizY - 1, pipeScreen.colBlue, pipeScreen.colWhite, false, "f1=help"); } private void putLine(int ln) { int lin = ln + beg; int bg; int fg; if (lin == cur) { bg = pipeScreen.colMagenta; fg = pipeScreen.colBrYellow; } else { bg = pipeScreen.colBlack; fg = pipeScreen.colWhite; } putFill(ln + 1, bg, fg, 32); if (lin < 0) { return; } if (lin >= buf.size()) { return; } cfgMenuTentry ent = buf.get(lin); console.putStr(0, ln + 1, bg, fg, false, ent.group); console.putStr(max + 3, ln + 1, bg, fg, false, ent.name); if (!ent.mark) { return; } console.putStr(max + 1, ln + 1, bg, fg, false, "*"); } private void putFill(int ln, int bg, int fg, int ch) { for (int i = 0; i < console.sizX; i++) { console.putInt(i, ln, bg, fg, false, ch); } } } freeRtr-25.11.9/src/org/freertr/cfg/cfgMtrack.java000066400000000000000000000240621510423065500216410ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.clnt.clntMtrack; import org.freertr.pack.packMtrack; import org.freertr.tab.tabGen; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; /** * mtracker configuration * * @author matecsaba */ public class cfgMtrack implements Comparable, cfgGeneric { /** * create instance * * @param s name */ public cfgMtrack(String s) { name = s; worker.name = s; } /** * name of tracker */ public String name; /** * description */ public String description; /** * worker */ public final clntMtrack worker = new clntMtrack(); /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("mtracker .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("mtracker .*", cmds.tabulator + cmds.negated + cmds.tabulator + "vrf", null), new userFilter("mtracker .*", cmds.tabulator + cmds.negated + cmds.tabulator + "source", null), new userFilter("mtracker .*", cmds.tabulator + cmds.negated + cmds.tabulator + "group", null), new userFilter("mtracker .*", cmds.tabulator + cmds.negated + cmds.tabulator + "logging", null), new userFilter("mtracker .*", cmds.tabulator + "interval 30000", null), new userFilter("mtracker .*", cmds.tabulator + "timeout 10", null), new userFilter("mtracker .*", cmds.tabulator + "packet 10", null), new userFilter("mtracker .*", cmds.tabulator + "port " + packMtrack.port, null), new userFilter("mtracker .*", cmds.tabulator + "tos 0", null), new userFilter("mtracker .*", cmds.tabulator + "ttl 255", null), new userFilter("mtracker .*", cmds.tabulator + "flow 0", null) }; public int compareTo(cfgMtrack o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{3, -1}, "description", "specify description"); l.add(null, false, 3, new int[]{3, -1}, "", "text"); l.add(null, false, 1, new int[]{2}, "rename", "rename this mtracker"); l.add(null, false, 2, new int[]{-1}, "", "set new name"); l.add(null, false, 1, new int[]{2}, "group", "specify group address"); l.add(null, false, 2, new int[]{2, -1}, "", "address of group"); l.add(null, false, 1, new int[]{2}, "target", "specify target address"); l.add(null, false, 2, new int[]{2, -1}, "", "address of target"); l.add(null, false, 1, new int[]{2}, "vrf", "specify vrf of test"); l.add(null, false, 2, new int[]{-1}, "", "vrf to use"); l.add(null, false, 1, new int[]{2}, "source", "specify source of test"); l.add(null, false, 2, new int[]{-1}, "", "interface to use"); l.add(null, false, 1, new int[]{2}, "interval", "specify time between runs"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds between runs"); l.add(null, false, 1, new int[]{2}, "timeout", "timeout of peer"); l.add(null, false, 2, new int[]{-1}, "", "value"); l.add(null, false, 1, new int[]{2}, "tos", "specify tos"); l.add(null, false, 2, new int[]{-1}, "", "value"); l.add(null, false, 1, new int[]{2}, "ttl", "specify ttl"); l.add(null, false, 2, new int[]{-1}, "", "value"); l.add(null, false, 1, new int[]{2}, "flow", "specify flow"); l.add(null, false, 2, new int[]{-1}, "", "value"); l.add(null, false, 1, new int[]{2}, "packet", "inter packet gap"); l.add(null, false, 2, new int[]{-1}, "", "time in ms"); l.add(null, false, 1, new int[]{2}, "port", "specify port"); l.add(null, false, 2, new int[]{-1}, "", "value"); l.add(null, false, 1, new int[]{-1}, "logging", "log events"); l.add(null, false, 1, new int[]{-1}, "stop", "stop working"); l.add(null, false, 1, new int[]{-1}, "start", "start working"); } public List getShRun(int filter) { List l = new ArrayList(); l.add("mtracker " + name); cmds.cfgLine(l, description == null, cmds.tabulator, "description", description); cmds.cfgLine(l, !worker.logging, cmds.tabulator, "logging", ""); cmds.cfgLine(l, worker.cfgGrp == null, cmds.tabulator, "group", "" + worker.cfgGrp); for (int i = 0; i < worker.cfgTrg.size(); i++) { l.add(cmds.tabulator + "target " + worker.cfgTrg.get(i)); } if (worker.vrf != null) { l.add(cmds.tabulator + "vrf " + worker.vrf.name); } else { l.add(cmds.tabulator + "no vrf"); } if (worker.srcIfc != null) { l.add(cmds.tabulator + "source " + worker.srcIfc.name); } else { l.add(cmds.tabulator + "no source"); } if (worker.cfgGrp != null) { l.add(cmds.tabulator + "interval " + worker.interval); l.add(cmds.tabulator + "timeout " + worker.timeout); } l.add(cmds.tabulator + "port " + worker.port); l.add(cmds.tabulator + "tos " + worker.typOsrv); l.add(cmds.tabulator + "ttl " + worker.tim2liv); l.add(cmds.tabulator + "flow " + worker.flwLab); l.add(cmds.tabulator + "packet " + worker.packTim); if (worker.getWorking()) { l.add(cmds.tabulator + "start"); } else { l.add(cmds.tabulator + "stop"); } l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } private boolean doConfStr(cmds cmd) { String a = cmd.word(); if (a.equals("description")) { description = cmd.getRemaining(); return false; } if (a.equals("rename")) { a = cmd.word(); cfgMtrack v = cfgAll.mtrackFind(a, false); if (v != null) { cmd.error("already exists"); return true; } name = a; return false; } if (a.equals("logging")) { worker.logging = true; return false; } if (a.equals("group")) { addrIP adr = new addrIP(); if (adr.fromString(cmd.word())) { cmd.error("bad address"); return false; } worker.cfgGrp = adr; return false; } if (a.equals("target")) { addrIP adr = new addrIP(); if (adr.fromString(cmd.word())) { cmd.error("bad address"); return false; } worker.cfgTrg.add(adr); return false; } if (a.equals("vrf")) { worker.vrf = cfgAll.vrfFind(cmd.word(), false); if (worker.vrf == null) { cmd.error("no such vrf"); return false; } return false; } if (a.equals("source")) { worker.srcIfc = cfgAll.ifcFind(cmd.word(), 0); if (worker.srcIfc == null) { cmd.error("no such interface"); return false; } return false; } if (a.equals("interval")) { worker.interval = bits.str2num(cmd.word()); return false; } if (a.equals("timeout")) { worker.timeout = bits.str2num(cmd.word()); return false; } if (a.equals("tos")) { worker.typOsrv = bits.str2num(cmd.word()); return false; } if (a.equals("ttl")) { worker.tim2liv = bits.str2num(cmd.word()); return false; } if (a.equals("flow")) { worker.flwLab = bits.str2num(cmd.word()); return false; } if (a.equals("packet")) { worker.packTim = bits.str2num(cmd.word()); return false; } if (a.equals("port")) { worker.port = bits.str2num(cmd.word()); return false; } if (a.equals("stop")) { worker.stopNow(); return true; } if (a.equals("start")) { worker.startNow(); return true; } if (!a.equals(cmds.negated)) { cmd.badCmd(); return false; } a = cmd.word(); if (a.equals("description")) { description = null; return false; } if (a.equals("logging")) { worker.logging = false; return false; } if (a.equals("vrf")) { worker.vrf = null; return false; } if (a.equals("group")) { worker.cfgGrp = null; return false; } if (a.equals("target")) { addrIP adr = new addrIP(); if (adr.fromString(cmd.word())) { cmd.error("bad address"); return false; } worker.cfgTrg.del(adr); return false; } if (a.equals("source")) { worker.srcIfc = null; return false; } if (a.equals("port")) { worker.port = packMtrack.port; return false; } if (a.equals("stop")) { worker.startNow(); return true; } if (a.equals("start")) { worker.stopNow(); return true; } cmd.badCmd(); return false; } public void doCfgStr(cmds cmd) { boolean old = worker.getWorking(); if (old) { worker.stopNow(); } if (doConfStr(cmd)) { return; } if (old) { worker.startNow(); } } public String getPrompt() { return "mtrck"; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgObjnet.java000066400000000000000000000103561510423065500216420ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.tab.tabGen; import org.freertr.tab.tabListing; import org.freertr.tab.tabObjnetN; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; /** * network object group configuration * * @author matecsaba */ public class cfgObjnet implements Comparable, cfgGeneric { /** * name of access list */ public String name; /** * description of access list */ public String description; /** * list of statements */ public tabListing, addrIP> objgrp; /** * create object group * * @param s name */ public cfgObjnet(String s) { objgrp = new tabListing, addrIP>(); name = s; objgrp.listName = s; } /** * defaults text */ public final static userFilter[] defaultF = {}; public int compareTo(cfgObjnet o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2}, "sequence", "sequence number of an entry"); l.add(null, false, 2, new int[]{1}, "", "sequence number"); l.add(null, false, 1, new int[]{3, -1}, "description", "specify description"); l.add(null, false, 3, new int[]{3, -1}, "", "text"); l.add(null, false, 1, new int[]{2}, "rename", "rename this object group"); l.add(null, false, 2, new int[]{-1}, "", "set new name"); l.add(null, false, 1, new int[]{3}, "", "address of network"); l.add(null, false, 3, new int[]{-1}, "", "mask of network"); l.add(null, false, 1, new int[]{2, -1}, "reindex", "reindex access list"); l.add(null, false, 2, new int[]{3, -1}, "[num]", "initial number to start with"); l.add(null, false, 3, new int[]{-1}, "[num]", "increment number"); } public List getShRun(int filter) { List l = new ArrayList(); l.add("object-group network " + name); if (description != null) { l.add(cmds.tabulator + "description " + description); } l.addAll(objgrp.dump(cmds.tabulator, filter)); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void doCfgStr(cmds cmd) { String a = cmd.word(); if (a.equals(cmds.negated)) { a = cmd.word(); if (a.equals("description")) { description = null; return; } if (a.equals("sequence")) { tabObjnetN ntry = new tabObjnetN(new addrIP()); ntry.sequence = bits.str2num(cmd.word()); if (objgrp.del(ntry)) { cmd.error("invalid sequence"); return; } return; } cmd.badCmd(); return; } if (a.equals("description")) { description = cmd.getRemaining(); return; } if (a.equals("rename")) { a = cmd.word(); cfgObjnet v = cfgAll.objnetFind(a, false); if (v != null) { cmd.error("already exists"); return; } name = a; objgrp.listName = a; return; } if (a.equals("reindex")) { int i = bits.str2num(cmd.word()); objgrp.reindex(i, bits.str2num(cmd.word())); return; } int seq = objgrp.nextseq(); if (a.equals("sequence")) { seq = bits.str2num(cmd.word()); a = cmd.word(); } tabObjnetN ntry = new tabObjnetN(new addrIP()); if (tabObjnetN.fromString(ntry, a + " " + cmd.getRemaining())) { cmd.error("invalid network"); return; } ntry.sequence = seq; objgrp.add(ntry); } public String getPrompt() { return "objgrp"; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgObjprt.java000066400000000000000000000102011510423065500216460ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.tab.tabGen; import org.freertr.tab.tabListing; import org.freertr.tab.tabObjprtN; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; /** * port object group configuration * * @author matecsaba */ public class cfgObjprt implements Comparable, cfgGeneric { /** * name of access list */ public String name; /** * description of access list */ public String description; /** * list of statements */ public tabListing, addrIP> objgrp; /** * create object group * * @param s name */ public cfgObjprt(String s) { objgrp = new tabListing, addrIP>(); name = s; objgrp.listName = s; } /** * defaults text */ public final static userFilter[] defaultF = {}; public int compareTo(cfgObjprt o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2}, "sequence", "sequence number of an entry"); l.add(null, false, 2, new int[]{1}, "", "sequence number"); l.add(null, false, 1, new int[]{3, -1}, "description", "specify description"); l.add(null, false, 3, new int[]{3, -1}, "", "text"); l.add(null, false, 1, new int[]{2}, "rename", "rename this object group"); l.add(null, false, 2, new int[]{-1}, "", "set new name"); l.add(null, false, 1, new int[]{-1}, "", "port"); l.add(null, false, 1, new int[]{2, -1}, "reindex", "reindex access list"); l.add(null, false, 2, new int[]{3, -1}, "[num]", "initial number to start with"); l.add(null, false, 3, new int[]{-1}, "[num]", "increment number"); } public List getShRun(int filter) { List l = new ArrayList(); l.add("object-group port " + name); if (description != null) { l.add(cmds.tabulator + "description " + description); } l.addAll(objgrp.dump(cmds.tabulator, filter)); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void doCfgStr(cmds cmd) { String a = cmd.word(); if (a.equals(cmds.negated)) { a = cmd.word(); if (a.equals("description")) { description = null; return; } if (a.equals("sequence")) { tabObjprtN ntry = new tabObjprtN(new addrIP()); ntry.sequence = bits.str2num(cmd.word()); if (objgrp.del(ntry)) { cmd.error("invalid sequence"); return; } return; } cmd.badCmd(); return; } if (a.equals("description")) { description = cmd.getRemaining(); return; } if (a.equals("rename")) { a = cmd.word(); cfgObjprt v = cfgAll.objprtFind(a, false); if (v != null) { cmd.error("already exists"); return; } name = a; objgrp.listName = a; return; } if (a.equals("reindex")) { int i = bits.str2num(cmd.word()); objgrp.reindex(i, bits.str2num(cmd.word())); return; } int seq = objgrp.nextseq(); if (a.equals("sequence")) { seq = bits.str2num(cmd.word()); a = cmd.word(); } tabObjprtN ntry = new tabObjprtN(new addrIP()); if (ntry.fromString(a + " " + cmd.getRemaining())) { cmd.error("invalid port"); return; } ntry.sequence = seq; objgrp.add(ntry); } public String getPrompt() { return "objgrp"; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgPlymp.java000066400000000000000000000637371510423065500215350ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.tab.tabGen; import org.freertr.tab.tabListing; import org.freertr.tab.tabListingEntry; import org.freertr.tab.tabPlcmapN; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; /** * policy map configuration * * @author matecsaba */ public class cfgPlymp implements Comparable, cfgGeneric { /** * name of policymap */ public String name; /** * current sequence number */ public int seq; /** * list of policy */ public tabListing plcmap; /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("policy-map .*", cmds.tabulator + "sequence .* description ", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* no match access-group", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* no match frag", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* match flag all", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* match length all", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* match ttl all", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* match ethtyp all", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* match sgt all", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* match cos all", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* match exp all", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* match tos all", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* match dscp all", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* match precedence all", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* match qosgroup all", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* match flow all", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* no set vrf", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* set sgt leave", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* set cos leave", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* set exp leave", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* set tos leave", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* set ttl leave", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* set dscp leave", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* set precedence leave", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* set qosgroup leave", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* set flow leave", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* access-rate 0", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* exceed-rate 0", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* time-interval 0", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* queue-limit 0", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* no random-detect", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* mark-ecn 0", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* no service-policy", null), new userFilter("policy-map .*", cmds.tabulator + "sequence .* no log", null) }; /** * create new policy map * * @param s name */ public cfgPlymp(String s) { plcmap = new tabListing(); seq = plcmap.nextseq(); name = s; plcmap.listName = s; } /** * get current entry * * @return current entry */ public synchronized tabPlcmapN getCurr() { tabPlcmapN ntry = new tabPlcmapN(); ntry.sequence = seq; ntry = plcmap.find(ntry); if (ntry != null) { return ntry; } ntry = new tabPlcmapN(); ntry.sequence = seq; ntry.action = tabListingEntry.actionType.actPermit; plcmap.add(ntry); return ntry; } public int compareTo(cfgPlymp o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String getPrompt() { return "plcmp"; } public String toString() { return name; } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2}, "sequence", "sequence number of an entry"); l.add(null, false, 2, new int[]{1, -1}, "", "sequence number"); l.add(null, false, 1, new int[]{2, -1}, "reindex", "reindex route map"); l.add(null, false, 2, new int[]{3, -1}, "[num]", "initial number to start with"); l.add(null, false, 3, new int[]{-1}, "[num]", "increment number"); l.add(null, false, 1, new int[]{2}, "action", "set action to do"); l.add(null, false, 2, new int[]{-1}, "drop", "drop every packet"); l.add(null, false, 2, new int[]{-1}, "transit", "forward every packet"); l.add(null, false, 2, new int[]{-1}, "police", "police to rate"); l.add(null, false, 2, new int[]{-1}, "pps", "police to packet rate"); l.add(null, false, 2, new int[]{-1}, "shape", "shape to rate"); l.add(null, false, 2, new int[]{-1}, "bandwidth", "bandwidth to rate"); l.add(null, false, 2, new int[]{-1}, "priority", "priority to rate"); l.add(null, false, 1, new int[]{2, -1}, "description", "description of this policy map"); l.add(null, false, 2, new int[]{2, -1}, "[text]", "text describing this policy map"); l.add(null, false, 1, new int[]{2}, "rename", "rename this policy map"); l.add(null, false, 2, new int[]{-1}, "", "set new name"); l.add(null, false, 1, new int[]{2}, "match", "match values from packet"); l.add(null, false, 2, new int[]{3}, "length", "match length value"); l.add(null, false, 3, new int[]{-1}, "", "value to match"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "ttl", "match ttl value"); l.add(null, false, 3, new int[]{-1}, "", "value to match"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "ethtyp", "match ethertype value"); l.add(null, false, 3, new int[]{-1}, "", "value to match"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "access-group", "match by access list"); l.add(null, false, 3, new int[]{-1}, "", "name of access list"); l.add(null, false, 2, new int[]{3}, "precedence", "match precedence value"); l.add(null, false, 3, new int[]{-1}, "", "value to match"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "dscp", "match dscp value"); l.add(null, false, 3, new int[]{-1}, "", "value to match"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "tos", "match tos value"); l.add(null, false, 3, new int[]{-1}, "", "value to match"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{-1}, "frag", "fragmented datagrams"); l.add(null, false, 2, new int[]{3}, "flag", "tcp flags"); l.add(null, false, 3, new int[]{-1}, "", "value to match"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "sgt", "match sgt value"); l.add(null, false, 3, new int[]{-1}, "", "value to match"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "cos", "match cos value"); l.add(null, false, 3, new int[]{-1}, "", "value to match"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "exp", "match exp value"); l.add(null, false, 3, new int[]{-1}, "", "value to match"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "qosgroup", "match qos value"); l.add(null, false, 3, new int[]{-1}, "", "value to match"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "flow", "match flow value"); l.add(null, false, 3, new int[]{-1}, "", "value to match"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 1, new int[]{2}, "set", "set values in packet"); l.add(null, false, 2, new int[]{3}, "precedence", "set precedence value"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "dscp", "set dscp value"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "tos", "set tos value"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "ttl", "set ttl value"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "sgt", "set sgt value"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "cos", "set cos value"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "exp", "set exp value"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "qosgroup", "set qosgroup value"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "flow", "set flow value"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "vrf", "set vrf table"); l.add(null, false, 3, new int[]{-1}, "", "name of vrf"); l.add(null, false, 1, new int[]{2}, "access-rate", "set access rate of traffic"); l.add(null, false, 2, new int[]{-1}, "", "bits per second"); l.add(null, false, 1, new int[]{2}, "exceed-rate", "set exceed rate of traffic"); l.add(null, false, 2, new int[]{-1}, "", "bits per second"); l.add(null, false, 1, new int[]{2}, "service-policy", "apply policy map to this traffic"); l.add(null, false, 2, new int[]{-1}, "", "name of policy map"); l.add(null, false, 1, new int[]{2}, "queue-limit", "specify queue limit"); l.add(null, false, 2, new int[]{-1}, "", "number of packets"); l.add(null, false, 1, new int[]{2}, "time-interval", "specify time interval"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds"); l.add(null, false, 1, new int[]{-1}, "random-detect", "set random drop on queue full"); l.add(null, false, 1, new int[]{2}, "mark-ecn", "mark packets with ecn"); l.add(null, false, 2, new int[]{-1}, "", "divistor"); l.add(null, false, 1, new int[]{-1}, "log", "set logging on match"); } public List getShRun(int filter) { List l = new ArrayList(); l.add("policy-map " + name); l.addAll(plcmap.dump(cmds.tabulator, filter)); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public synchronized void doCfgStr(cmds cmd) { String a = cmd.word(); if (a.equals("sequence")) { seq = bits.str2num(cmd.word()); a = cmd.word(); if (a.length() < 1) { return; } } if (a.equals("action")) { tabListingEntry.actionType i = tabPlcmapN.string2type(cmd.word()); if (i == null) { cmd.error("invalid action"); return; } tabPlcmapN ntry = getCurr(); ntry.action = i; return; } if (a.equals("description")) { tabPlcmapN ntry = getCurr(); ntry.description = cmd.getRemaining(); return; } if (a.equals("rename")) { a = cmd.word(); cfgPlymp v = cfgAll.plmpFind(a, false); if (v != null) { cmd.error("already exists"); return; } name = a; plcmap.listName = a; return; } if (a.equals("access-rate")) { tabPlcmapN ntry = getCurr(); ntry.accessRate = bits.str2long(cmd.word()) / 8; return; } if (a.equals("exceed-rate")) { tabPlcmapN ntry = getCurr(); ntry.exceedRate = bits.str2long(cmd.word()) / 8; return; } if (a.equals("queue-limit")) { tabPlcmapN ntry = getCurr(); ntry.queues = bits.str2num(cmd.word()); return; } if (a.equals("time-interval")) { tabPlcmapN ntry = getCurr(); ntry.interval = bits.str2num(cmd.word()); return; } if (a.equals("service-policy")) { cfgPlymp plc = cfgAll.plmpFind(cmd.word(), false); if (plc == null) { cmd.error("no such policy"); return; } tabPlcmapN ntry = getCurr(); ntry.child = plc.plcmap; return; } if (a.equals("random-detect")) { tabPlcmapN ntry = getCurr(); ntry.randomDetect = true; return; } if (a.equals("mark-ecn")) { tabPlcmapN ntry = getCurr(); ntry.markEcn = bits.str2num(cmd.word()); return; } if (a.equals("log")) { tabPlcmapN ntry = getCurr(); ntry.logMatch = true; return; } if (a.equals("match")) { a = cmd.word(); tabPlcmapN ntry = getCurr(); if (a.equals("length")) { if (ntry.lengthMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("ttl")) { if (ntry.ttlMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("ethtyp")) { if (ntry.ethtypMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("access-group")) { cfgAceslst acl = cfgAll.aclsFind(cmd.word(), false); if (acl == null) { cmd.error("no such access list"); return; } ntry.aclMatch = acl.aceslst; return; } if (a.equals("precedence")) { if (ntry.precedenceMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("dscp")) { if (ntry.dscpMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("tos")) { if (ntry.tosMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("flag")) { if (ntry.flagMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("frag")) { ntry.fragMatch = true; return; } if (a.equals("sgt")) { if (ntry.sgtMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("cos")) { if (ntry.cosMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("exp")) { if (ntry.expMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("qosgroup")) { if (ntry.qosMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("flow")) { if (ntry.flowMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } cmd.badCmd(); return; } if (a.equals("set")) { a = cmd.word(); tabPlcmapN ntry = getCurr(); if (a.equals("vrf")) { cfgVrf vrf = cfgAll.vrfFind(cmd.word(), false); if (vrf == null) { cmd.error("no such vrf"); return; } ntry.vrfSet4 = vrf.fwd4; ntry.vrfSet6 = vrf.fwd6; return; } if (a.equals("precedence")) { if (ntry.precedenceSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("dscp")) { if (ntry.dscpSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("tos")) { if (ntry.tosSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("ttl")) { if (ntry.ttlSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("sgt")) { if (ntry.sgtSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("cos")) { if (ntry.cosSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("exp")) { if (ntry.expSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("qosgroup")) { if (ntry.qosSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("flow")) { if (ntry.flowSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } cmd.badCmd(); return; } if (a.equals("reindex")) { int i = bits.str2num(cmd.word()); plcmap.reindex(i, bits.str2num(cmd.word())); return; } if (!a.equals(cmds.negated)) { cmd.badCmd(); return; } a = cmd.word(); if (a.equals("description")) { tabPlcmapN ntry = getCurr(); ntry.description = ""; return; } if (a.equals("access-rate")) { tabPlcmapN ntry = getCurr(); ntry.accessRate = 0; return; } if (a.equals("exceed-rate")) { tabPlcmapN ntry = getCurr(); ntry.exceedRate = 0; return; } if (a.equals("queue-limit")) { tabPlcmapN ntry = getCurr(); ntry.queues = 0; return; } if (a.equals("time-interval")) { tabPlcmapN ntry = getCurr(); ntry.interval = 0; return; } if (a.equals("service-policy")) { tabPlcmapN ntry = getCurr(); ntry.child = null; return; } if (a.equals("random-detect")) { tabPlcmapN ntry = getCurr(); ntry.randomDetect = false; return; } if (a.equals("mark-ecn")) { tabPlcmapN ntry = getCurr(); ntry.markEcn = 0; return; } if (a.equals("log")) { tabPlcmapN ntry = getCurr(); ntry.logMatch = false; return; } if (a.equals("match")) { a = cmd.word(); tabPlcmapN ntry = getCurr(); if (a.equals("length")) { ntry.lengthMatch.set2always(); return; } if (a.equals("ttl")) { ntry.ttlMatch.set2always(); return; } if (a.equals("ethtyp")) { ntry.ethtypMatch.set2always(); return; } if (a.equals("access-group")) { ntry.aclMatch = null; return; } if (a.equals("precedence")) { ntry.precedenceMatch.set2always(); return; } if (a.equals("dscp")) { ntry.dscpMatch.set2always(); return; } if (a.equals("tos")) { ntry.tosMatch.set2always(); return; } if (a.equals("flag")) { ntry.flagMatch.set2always(); return; } if (a.equals("frag")) { ntry.fragMatch = false; return; } if (a.equals("sgt")) { ntry.sgtMatch.set2always(); return; } if (a.equals("cos")) { ntry.cosMatch.set2always(); return; } if (a.equals("exp")) { ntry.expMatch.set2always(); return; } if (a.equals("qosgroup")) { ntry.qosMatch.set2always(); return; } if (a.equals("flow")) { ntry.flowMatch.set2always(); return; } cmd.badCmd(); return; } if (a.equals("set")) { a = cmd.word(); tabPlcmapN ntry = getCurr(); if (a.equals("vrf")) { ntry.vrfSet4 = null; ntry.vrfSet6 = null; return; } if (a.equals("precedence")) { ntry.precedenceSet.set2unchange(); return; } if (a.equals("dscp")) { ntry.dscpSet.set2unchange(); return; } if (a.equals("tos")) { ntry.tosSet.set2unchange(); return; } if (a.equals("ttl")) { ntry.ttlSet.set2unchange(); return; } if (a.equals("sgt")) { ntry.sgtSet.set2unchange(); return; } if (a.equals("cos")) { ntry.cosSet.set2unchange(); return; } if (a.equals("exp")) { ntry.expSet.set2unchange(); return; } if (a.equals("qosgroup")) { ntry.qosSet.set2unchange(); return; } if (a.equals("flow")) { ntry.flowSet.set2unchange(); return; } cmd.badCmd(); return; } if (a.equals("sequence")) { tabPlcmapN ntry = new tabPlcmapN(); ntry.sequence = bits.str2num(cmd.word()); if (plcmap.del(ntry)) { cmd.error("invalid sequence"); return; } return; } cmd.badCmd(); } } freeRtr-25.11.9/src/org/freertr/cfg/cfgPool.java000066400000000000000000000034771510423065500213400ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrPool; import org.freertr.addr.addrType; import org.freertr.user.userHelp; import org.freertr.util.cmds; /** * address pool configuration * * @param address type of pool * @author matecsaba */ public class cfgPool implements Comparable>, cfgGeneric { /** * create instance * * @param s name */ public cfgPool(String s) { name = s; } /** * name of pool */ public String name; /** * address pool */ public addrPool pool; /** * beginning address */ public T begin; /** * increments */ public T increment; /** * number of addresses */ public int number; /** * ip version */ public int version; public int compareTo(cfgPool o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String toString() { return name; } public void getHelp(userHelp l) { } public String getPrompt() { return "pool"; } public List getShRun(int filter) { List lst = new ArrayList(); lst.add("ipv" + version + " pool " + name + " " + begin + " " + increment + " " + number); lst.add(cmds.comment); return lst; } public void doCfgStr(cmds cmd) { } /** * setup address pool * * @param ver version * @param beg beginning address * @param inc increment * @param num number of addresses */ public void setup(int ver, T beg, T inc, int num) { version = ver; begin = beg; increment = inc; number = num; pool = new addrPool(beg, inc, num); } } freeRtr-25.11.9/src/org/freertr/cfg/cfgPrcss.java000066400000000000000000000400701510423065500215070ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.pipe.pipeConnect; import org.freertr.pipe.pipeDiscard; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeShell; import org.freertr.pipe.pipeSide; import org.freertr.tab.tabGen; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.logBuf; import org.freertr.util.logger; /** * one process configuration * * @author matecsaba */ public class cfgPrcss implements Comparable, Runnable, cfgGeneric { /** * name of this process */ public String name; /** * description of this process */ public String description = ""; /** * hidden process */ protected boolean hidden = false; /** * respawn on termination */ public boolean respawn = true; /** * kill children on termination */ public boolean children = true; /** * action logging */ public boolean logAct = false; /** * console logging */ public boolean logCon = false; /** * console collector */ public logBuf logCol; /** * execute this binary */ public String execName = null; /** * final long parameter */ public String execFinal = null; /** * user to use */ public String userValue = null; /** * cpu pinning */ public String cpuPinning = null; /** * time range when allowed */ public cfgTime time; /** * time between runs */ protected int interval = 1000; /** * initial delay */ protected int initial = 1000; /** * random time between runs */ public int randInt; /** * random initial delay */ public int randIni; /** * console pipeline */ public pipeSide con; /** * last exit code */ public int restartE; /** * restart count */ public int restartC; /** * restart time */ public long restartT; private pipeShell proc; private pipeSide pipe; private boolean need2run; /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("process definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("process definition .*", cmds.tabulator + "respawn", null), new userFilter("process definition .*", cmds.tabulator + "children", null), new userFilter("process definition .*", cmds.tabulator + "pinning null", null), new userFilter("process definition .*", cmds.tabulator + "user null", null), new userFilter("process definition .*", cmds.tabulator + "exec null", null), new userFilter("process definition .*", cmds.tabulator + "final null", null), new userFilter("process definition .*", cmds.tabulator + "time 1000", null), new userFilter("process definition .*", cmds.tabulator + "delay 1000", null), new userFilter("process definition .*", cmds.tabulator + "random-time 0", null), new userFilter("process definition .*", cmds.tabulator + "random-delay 0", null), new userFilter("process definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "log-actions", null), new userFilter("process definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "log-console", null), new userFilter("process definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "log-collect", null), new userFilter("process definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "range", null) }; public int compareTo(cfgPrcss o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String toString() { return "process " + name; } /** * create new process * * @param nam name of process */ public cfgPrcss(String nam) { name = nam.trim(); } /** * restart this process */ public void restartNow() { try { proc.kill(); } catch (Exception e) { } try { pipe.setClose(); } catch (Exception e) { } } /** * destroy this process */ public void stopNow() { need2run = false; restartNow(); } /** * start this process */ public void startNow() { if (need2run) { return; } need2run = true; new Thread(this).start(); } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2, -1}, "description", "description of this process"); l.add(null, false, 2, new int[]{2, -1}, "[text]", "text describing this process"); l.add(null, false, 1, new int[]{-1}, "respawn", "restart on termination"); l.add(null, false, 1, new int[]{-1}, "children", "kill children on termination"); l.add(null, false, 1, new int[]{2}, "rename", "rename this process"); l.add(null, false, 2, new int[]{-1}, "", "set new name of process"); l.add(null, false, 1, new int[]{2}, "exec", "set external binary to use"); l.add(null, false, 2, new int[]{2, -1}, "", "name of image"); l.add(null, false, 1, new int[]{2}, "program", "set external binary to use"); l.add(null, false, 2, new int[]{-1}, "", "name of image"); l.add(null, false, 1, new int[]{2}, "parameter", "set parameters to use on the binary"); l.add(null, false, 2, new int[]{2, -1}, "", "name of image"); l.add(null, false, 1, new int[]{2}, "final", "set final long parameter"); l.add(null, false, 2, new int[]{2, -1}, "", "parameter"); l.add(null, false, 1, new int[]{2}, "user", "set user to use"); l.add(null, false, 2, new int[]{-1}, "", "user value"); l.add(null, false, 1, new int[]{2}, "pinning", "set pinning mask"); l.add(null, false, 2, new int[]{-1}, "", "cpu mask in hex"); l.add(null, false, 1, new int[]{2}, "time", "specify time between runs"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds between runs"); l.add(null, false, 1, new int[]{2}, "delay", "specify initial delay"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds before start"); l.add(null, false, 1, new int[]{2}, "random-time", "specify random time between runs"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds between runs"); l.add(null, false, 1, new int[]{2}, "random-delay", "specify random initial delay"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds before start"); l.add(null, false, 1, new int[]{2}, "range", "specify time range"); l.add(null, false, 2, new int[]{-1}, "", "name of time map"); l.add(null, false, 1, new int[]{-1}, "log-actions", "log actions"); l.add(null, false, 1, new int[]{-1}, "log-console", "log console activity"); l.add(null, false, 1, new int[]{2}, "log-collect", "collect console activity"); l.add(null, false, 2, new int[]{-1}, "", "lines to store"); l.add(null, false, 1, new int[]{-1}, "stop", "stop working"); l.add(null, false, 1, new int[]{-1}, "start", "start working"); l.add(null, false, 1, new int[]{-1}, "runnow", "run one round now"); } public List getShRun(int filter) { List l = new ArrayList(); if (hidden) { return l; } l.add("process definition " + name); cmds.cfgLine(l, description.length() < 1, cmds.tabulator, "description", description); cmds.cfgLine(l, !respawn, cmds.tabulator, "respawn", ""); cmds.cfgLine(l, !children, cmds.tabulator, "children", ""); l.add(cmds.tabulator + "exec " + execName); l.add(cmds.tabulator + "final " + execFinal); l.add(cmds.tabulator + "user " + userValue); l.add(cmds.tabulator + "pinning " + cpuPinning); l.add(cmds.tabulator + "delay " + initial); l.add(cmds.tabulator + "time " + interval); l.add(cmds.tabulator + "random-time " + randInt); l.add(cmds.tabulator + "random-delay " + randIni); cmds.cfgLine(l, time == null, cmds.tabulator, "range", "" + time); cmds.cfgLine(l, !logAct, cmds.tabulator, "log-actions", ""); cmds.cfgLine(l, !logCon, cmds.tabulator, "log-console", ""); cmds.cfgLine(l, logCol == null, cmds.tabulator, "log-collect", "" + logBuf.getSize(logCol)); if (need2run) { l.add(cmds.tabulator + "start"); } else { l.add(cmds.tabulator + "stop"); } l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void doCfgStr(cmds cmd) { String a = cmd.word(); if (a.equals("rename")) { a = cmd.word(); cfgPrcss v = cfgAll.prcFind(a, false); if (v != null) { cmd.error("process already exists"); return; } name = a; return; } if (a.equals("respawn")) { respawn = true; return; } if (a.equals("children")) { children = true; return; } if (a.equals("description")) { description = cmd.getRemaining(); return; } if (a.equals("parameter")) { if (execName == null) { cmd.error("no exec specified"); return; } a = cmd.getRemaining(); cmd = new cmds("old", execName); execName = (cmd.word() + " " + a).trim(); return; } if (a.equals("program")) { if (execName == null) { cmd.error("no exec specified"); return; } a = cmd.word(); cmd = new cmds("old", execName); cmd.word(); execName = (a + " " + cmd.getRemaining()).trim(); return; } if (a.equals("exec")) { execName = cmd.getRemaining(); return; } if (a.equals("final")) { execFinal = cmd.getRemaining(); return; } if (a.equals("user")) { userValue = cmd.word(); return; } if (a.equals("pinning")) { cpuPinning = cmd.word(); return; } if (a.equals("range")) { time = cfgAll.timeFind(cmd.word(), false); return; } if (a.equals("random-time")) { randInt = bits.str2num(cmd.word()); return; } if (a.equals("random-delay")) { randIni = bits.str2num(cmd.word()); return; } if (a.equals("delay")) { initial = bits.str2num(cmd.word()); return; } if (a.equals("time")) { interval = bits.str2num(cmd.word()); return; } if (a.equals("log-actions")) { logAct = true; return; } if (a.equals("log-collect")) { logCol = new logBuf(bits.str2num(cmd.word())); return; } if (a.equals("log-console")) { logCon = true; return; } if (a.equals("stop")) { stopNow(); return; } if (a.equals("start")) { startNow(); return; } if (a.equals("runnow")) { doRound(); return; } if (!a.equals(cmds.negated)) { cmd.badCmd(); return; } a = cmd.word(); if (a.equals("start")) { stopNow(); return; } if (a.equals("log-actions")) { logAct = false; return; } if (a.equals("log-collect")) { logCol = null; return; } if (a.equals("log-console")) { logCon = false; return; } if (a.equals("range")) { time = null; return; } if (a.equals("random-time")) { randInt = 0; return; } if (a.equals("random-delay")) { randIni = 0; return; } if (a.equals("respawn")) { respawn = false; return; } if (a.equals("children")) { children = false; return; } if (a.equals("description")) { description = ""; return; } if (a.equals("exec")) { execName = null; return; } if (a.equals("final")) { execFinal = null; return; } if (a.equals("user")) { userValue = null; return; } if (a.equals("pinning")) { cpuPinning = null; return; } if (a.equals("stop")) { startNow(); return; } if (a.equals("start")) { stopNow(); return; } cmd.badCmd(); } public String getPrompt() { return "prc"; } public void run() { for (;;) { if (!cfgInit.booting) { break; } bits.sleep(1000); } int del = initial; if (randIni > 0) { del += bits.random(1, randIni); } if (del > 0) { bits.sleep(del); } try { doRound(); } catch (Exception e) { logger.traceback(e); } for (;;) { bits.sleep(interval); if (!need2run) { break; } if (!respawn) { continue; } try { doRound(); } catch (Exception e) { logger.traceback(e); } } if (logAct) { logger.info("stopped process " + name); } } private synchronized void doRound() { if (time != null) { if (time.matches(bits.getTime() + cfgAll.timeServerOffset)) { return; } } if (execName == null) { return; } if (logAct) { logger.info("restarting process " + name); } if (randInt > 0) { bits.sleep(bits.random(1, randInt)); } restartT = bits.getTime(); restartC++; pipeLine pl = new pipeLine(65536, false); pipe = pl.getSide(); pipe.lineTx = pipeSide.modTyp.modeCRLF; pipe.lineRx = pipeSide.modTyp.modeCRorLF; String cmd = execName; if (cpuPinning != null) { cmd = "taskset " + cpuPinning + " " + cmd; } if (userValue != null) { cmd = "sudo -u " + userValue + " " + cmd; } proc = pipeShell.exec(pl.getSide(), cmd, execFinal, true, true, false, children); if (proc == null) { return; } for (;;) { if (!proc.isRunning()) { break; } if (con == null) { pipeDiscard.logLines("process " + name + " said ", pipe, logCon, logCol); bits.sleep(1000); continue; } boolean b = pipeConnect.redirect(pipe, con); b |= pipeConnect.redirect(con, pipe); if (b) { con.setClose(); con = null; } bits.sleep(100); } restartE = proc.resultNum(); } /** * get info * * @return info */ public String getShow() { return name + "|" + restartC + "|" + restartE + "|" + pipeShell.info(proc) + "|" + bits.timePast(restartT) + "|" + bits.time2str(cfgAll.timeZoneName, restartT + cfgAll.timeServerOffset, 3); } } freeRtr-25.11.9/src/org/freertr/cfg/cfgPrfxlst.java000066400000000000000000000130001510423065500220500ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.tab.tabGen; import org.freertr.tab.tabListing; import org.freertr.tab.tabListingEntry; import org.freertr.tab.tabPrfxlstN; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; /** * prefix list configuration * * @author matecsaba */ public class cfgPrfxlst implements Comparable, cfgGeneric { /** * name of prefixlist */ public String name; /** * description of access list */ public String description; /** * list of prefixes */ public tabListing prflst; /** * create new prefix list * * @param s name */ public cfgPrfxlst(String s) { prflst = new tabListing(); name = s; prflst.listName = s; } /** * defaults text */ public final static userFilter[] defaultF = {}; public List getShRun(int filter) { List l = new ArrayList(); l.add("prefix-list " + name); if (description != null) { l.add(cmds.tabulator + "description " + description); } l.addAll(prflst.dump(cmds.tabulator, filter)); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2}, "sequence", "sequence number of an entry"); l.add(null, false, 2, new int[]{1}, "", "sequence number"); l.add(null, false, 1, new int[]{3, -1}, "description", "specify description"); l.add(null, false, 3, new int[]{3, -1}, "", "text"); l.add(null, false, 1, new int[]{2}, "rename", "rename this prefix list"); l.add(null, false, 2, new int[]{-1}, "", "set new name"); l.add(null, false, 1, new int[]{3}, "evaluate", "evaluate another list"); l.add(null, false, 3, new int[]{4}, "permit", "specify list to allow"); l.add(null, false, 3, new int[]{4}, "deny", "specify list to forbid"); l.add(null, false, 4, new int[]{-1}, "", "name of list"); l.add(null, false, 1, new int[]{3}, "permit", "specify networks to allow"); l.add(null, false, 1, new int[]{3}, "deny", "specify networks to forbid"); l.add(null, false, 3, new int[]{4, -1}, "", "network in perfix/mask format"); l.add(null, false, 4, new int[]{5}, "ge", "minimum prefix length to be matched"); l.add(null, false, 5, new int[]{4, -1}, "", "minimum prefix length"); l.add(null, false, 4, new int[]{5}, "le", "maximum prefix length to be matched"); l.add(null, false, 5, new int[]{4, -1}, "", "maximum prefix length"); l.add(null, false, 4, new int[]{4, -1}, "log", "set logging on match"); l.add(null, false, 1, new int[]{2, -1}, "reindex", "reindex prefix list"); l.add(null, false, 2, new int[]{3, -1}, "[num]", "initial number to start with"); l.add(null, false, 3, new int[]{-1}, "[num]", "increment number"); } public synchronized void doCfgStr(cmds cmd) { String a = cmd.word(); if (a.equals(cmds.negated)) { a = cmd.word(); if (a.equals("description")) { description = null; return; } if (a.equals("sequence")) { tabPrfxlstN ntry = new tabPrfxlstN(); ntry.sequence = bits.str2num(cmd.word()); if (prflst.del(ntry)) { cmd.error("invalid sequence"); return; } return; } cmd.badCmd(); return; } if (a.equals("description")) { description = cmd.getRemaining(); return; } if (a.equals("rename")) { a = cmd.word(); cfgPrfxlst v = cfgAll.prfxFind(a, false); if (v != null) { cmd.error("already exists"); return; } name = a; prflst.listName = a; return; } if (a.equals("reindex")) { int i = bits.str2num(cmd.word()); prflst.reindex(i, bits.str2num(cmd.word())); return; } int seq = prflst.nextseq(); if (a.equals("sequence")) { seq = bits.str2num(cmd.word()); a = cmd.word(); } tabPrfxlstN ntry = new tabPrfxlstN(); ntry.sequence = seq; if (a.equals("evaluate")) { ntry.action = tabListingEntry.string2action(cmd.word()); cfgPrfxlst res = cfgAll.prfxFind(cmd.word(), false); if (res == null) { cmd.error("no such list"); return; } ntry.evaluate = res.prflst; prflst.add(ntry); return; } ntry.action = tabListingEntry.string2action(a); if (ntry.fromString(cmd.getRemaining())) { cmd.error("invalid network"); return; } prflst.add(ntry); } public int compareTo(cfgPrfxlst o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String getPrompt() { return "prfx"; } public String toString() { return name; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgProxy.java000066400000000000000000000275301510423065500215440ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.auth.authLocal; import org.freertr.clnt.clntProxy; import org.freertr.enc.encBase64; import org.freertr.serv.servGeneric; import org.freertr.tab.tabGen; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; /** * proxy profile configuration * * @author matecsaba */ public class cfgProxy implements Comparable, cfgGeneric { /** * name of connection map */ public String name; /** * description of access list */ public String description; /** * proxy configuration */ public final clntProxy proxy; /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("proxy-profile .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("proxy-profile .*", cmds.tabulator + "protocol local", null), new userFilter("proxy-profile .*", cmds.tabulator + cmds.negated + cmds.tabulator + "security", null), new userFilter("proxy-profile .*", cmds.tabulator + cmds.negated + cmds.tabulator + "pubkey", null), new userFilter("proxy-profile .*", cmds.tabulator + cmds.negated + cmds.tabulator + "username", null), new userFilter("proxy-profile .*", cmds.tabulator + cmds.negated + cmds.tabulator + "password", null), new userFilter("proxy-profile .*", cmds.tabulator + cmds.negated + cmds.tabulator + "recursive", null), new userFilter("proxy-profile .*", cmds.tabulator + cmds.negated + cmds.tabulator + "vrf", null), new userFilter("proxy-profile .*", cmds.tabulator + cmds.negated + cmds.tabulator + "tos", null), new userFilter("proxy-profile .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ttl", null), new userFilter("proxy-profile .*", cmds.tabulator + cmds.negated + cmds.tabulator + "source", null), new userFilter("proxy-profile .*", cmds.tabulator + cmds.negated + cmds.tabulator + "target", null), new userFilter("proxy-profile .*", cmds.tabulator + cmds.negated + cmds.tabulator + "port", null), new userFilter("proxy-profile .*", cmds.tabulator + "prefer none", null) }; public int compareTo(cfgProxy o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String toString() { return "proxy " + name; } /** * create new profile * * @param nam name of interface */ public cfgProxy(String nam) { name = nam; proxy = new clntProxy(nam); } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{3, -1}, "description", "specify description"); l.add(null, false, 3, new int[]{3, -1}, "", "text"); l.add(null, false, 1, new int[]{2}, "rename", "rename this proxy"); l.add(null, false, 2, new int[]{-1}, "", "set new name"); l.add(null, false, 1, new int[]{2}, "protocol", "specify protocol to use"); l.add(null, false, 2, new int[]{-1}, "local", "select local vrf"); l.add(null, false, 2, new int[]{-1}, "socks4", "select socks v4"); l.add(null, false, 2, new int[]{-1}, "socks5", "select socks v5"); l.add(null, false, 2, new int[]{-1}, "websock", "select websocket"); l.add(null, false, 2, new int[]{-1}, "http", "select http connect"); l.add(null, false, 2, new int[]{-1}, "hostos", "select host os stack"); l.add(null, false, 1, new int[]{2}, "security", "select security protocol"); servGeneric.getSecProts(l, 2, new int[]{-1}); l.add(null, false, 1, new int[]{2}, "pubkey", "public key to expect"); l.add(null, false, 2, new int[]{2, -1}, "", "public key"); l.add(null, false, 1, new int[]{2}, "username", "username to send"); l.add(null, false, 2, new int[]{-1}, "", "username"); l.add(null, false, 1, new int[]{2}, "password", "password to send"); l.add(null, false, 2, new int[]{-1}, "", "password"); l.add(null, false, 1, new int[]{2}, "recursive", "name of profile to use"); l.add(null, false, 2, new int[]{-1}, "", "profile name"); l.add(null, false, 1, new int[]{2}, "vrf", "name of vrf to find target in"); l.add(null, false, 2, new int[]{-1}, "", "vrf name"); l.add(null, false, 1, new int[]{2}, "source", "name of source interface"); l.add(null, false, 2, new int[]{-1}, "", "interface name"); l.add(null, false, 1, new int[]{2}, "target", "specify address of proxy"); l.add(null, false, 2, new int[]{-1}, "", "name or address"); l.add(null, false, 1, new int[]{2}, "port", "specify port of proxy"); l.add(null, false, 2, new int[]{-1}, "", "port number"); l.add(null, false, 1, new int[]{2}, "tos", "specify tos value"); l.add(null, false, 2, new int[]{-1}, "", "value"); l.add(null, false, 1, new int[]{2}, "ttl", "specify ttl value"); l.add(null, false, 2, new int[]{-1}, "", "value"); l.add(null, false, 1, new int[]{2}, "prefer", "prefer ip protocol"); l.add(null, false, 2, new int[]{-1}, "none", "default"); l.add(null, false, 2, new int[]{-1}, "ipv4", "ipv4"); l.add(null, false, 2, new int[]{-1}, "ipv6", "ipv6"); } public String getPrompt() { return "proxy"; } public List getShRun(int filter) { List l = new ArrayList(); l.add("proxy-profile " + name); cmds.cfgLine(l, description == null, cmds.tabulator, "description", "" + description); l.add(cmds.tabulator + "protocol " + clntProxy.type2string(proxy.prxProto)); if (proxy.pubkey == null) { l.add(cmds.tabulator + "no pubkey"); } else { l.add(cmds.tabulator + "pubkey " + encBase64.encodeBytes(proxy.pubkey)); } cmds.cfgLine(l, proxy.secProto == 0, cmds.tabulator, "security", servGeneric.proto2string(proxy.secProto)); cmds.cfgLine(l, proxy.username == null, cmds.tabulator, "username", proxy.username); cmds.cfgLine(l, proxy.password == null, cmds.tabulator, "password", authLocal.passwdEncode(proxy.password, (filter & 2) != 0)); if (proxy.lowProxy == null) { l.add(cmds.tabulator + "no recursive"); } else { l.add(cmds.tabulator + "recursive " + proxy.lowProxy.name); } if (proxy.vrf == null) { l.add(cmds.tabulator + "no vrf"); } else { l.add(cmds.tabulator + "vrf " + proxy.vrf.name); } if (proxy.srcIfc == null) { l.add(cmds.tabulator + "no source"); } else { l.add(cmds.tabulator + "source " + proxy.srcIfc.name); } cmds.cfgLine(l, proxy.target == null, cmds.tabulator, "target", proxy.target); cmds.cfgLine(l, proxy.port == 0, cmds.tabulator, "port", "" + proxy.port); cmds.cfgLine(l, proxy.typOsrv < 0, cmds.tabulator, "tos", "" + proxy.typOsrv); cmds.cfgLine(l, proxy.tim2liv < 0, cmds.tabulator, "ttl", "" + proxy.tim2liv); String a; if (proxy.prefer == 0) { a = "none"; } else { a = "ipv" + proxy.prefer; } l.add(cmds.tabulator + "prefer " + a); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void doCfgStr(cmds cmd) { String s = cmd.word(); if (s.equals("description")) { description = cmd.getRemaining(); return; } if (s.equals("rename")) { s = cmd.word(); cfgPrfxlst v = cfgAll.prfxFind(s, false); if (v != null) { cmd.error("already exists"); return; } name = s; proxy.name = s; return; } if (s.equals("protocol")) { proxy.prxProto = clntProxy.string2type(cmd.word()); return; } if (s.equals("security")) { proxy.secProto = servGeneric.string2proto(cmd.word()); return; } if (s.equals("pubkey")) { proxy.pubkey = encBase64.decodeBytes(cmd.getRemaining()); return; } if (s.equals("username")) { proxy.username = cmd.getRemaining(); return; } if (s.equals("password")) { proxy.password = authLocal.passwdDecode(cmd.getRemaining()); return; } if (s.equals("vrf")) { cfgVrf vrf = cfgAll.vrfFind(cmd.word(), false); if (vrf == null) { cmd.error("no such vrf"); return; } proxy.vrf = vrf; return; } if (s.equals("source")) { cfgIfc ifc = cfgAll.ifcFind(cmd.word(), 0); if (ifc == null) { cmd.error("no such interface"); return; } proxy.srcIfc = ifc; return; } if (s.equals("target")) { proxy.target = cmd.getRemaining(); return; } if (s.equals("port")) { proxy.port = bits.str2num(cmd.getRemaining()); return; } if (s.equals("tos")) { proxy.typOsrv = bits.str2num(cmd.getRemaining()); return; } if (s.equals("ttl")) { proxy.tim2liv = bits.str2num(cmd.getRemaining()); return; } if (s.equals("recursive")) { cfgProxy prx = cfgAll.proxyFind(cmd.word(), false); if (prx == null) { cmd.error("no such profile"); return; } proxy.lowProxy = prx.proxy; return; } if (s.equals("prefer")) { s = cmd.word(); if (s.equals("ipv4")) { proxy.prefer = 4; } if (s.equals("ipv6")) { proxy.prefer = 6; } if (s.equals("none")) { proxy.prefer = 0; } return; } if (!s.equals(cmds.negated)) { cmd.badCmd(); return; } s = cmd.word(); if (s.equals("description")) { description = null; return; } if (s.equals("protocol")) { proxy.prxProto = clntProxy.proxyType.local; return; } if (s.equals("security")) { proxy.secProto = 0; return; } if (s.equals("pubkey")) { proxy.pubkey = null; return; } if (s.equals("username")) { proxy.username = null; return; } if (s.equals("password")) { proxy.password = null; return; } if (s.equals("vrf")) { proxy.vrf = null; return; } if (s.equals("source")) { proxy.srcIfc = null; return; } if (s.equals("target")) { proxy.target = null; return; } if (s.equals("tos")) { proxy.typOsrv = -1; return; } if (s.equals("ttl")) { proxy.tim2liv = -1; return; } if (s.equals("port")) { proxy.port = 0; return; } if (s.equals("recursive")) { proxy.lowProxy = null; return; } cmd.badCmd(); } /** * get vrf * * @return vrf */ public cfgVrf getVrf() { return proxy.vrf; } /** * get interface * * @return interface */ public cfgIfc getIfc() { return proxy.srcIfc; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgRoump.java000066400000000000000000000766201510423065500215310ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.tab.tabGen; import org.freertr.tab.tabListing; import org.freertr.tab.tabListingEntry; import org.freertr.tab.tabRtrmapN; import org.freertr.user.userEditor; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.pipe.pipeScreen; import org.freertr.util.bits; import org.freertr.util.cmds; /** * route map configuration * * @author matecsaba */ public class cfgRoump implements Comparable, cfgGeneric { /** * name of routemap */ public String name; /** * current sequence number */ public int seq; /** * list of routemaps */ public tabListing roumap; /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("route-map .*", cmds.tabulator + "sequence .* description ", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* tcldel", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no match access-list", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no match prefix-list", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no match route-map", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no match route-policy", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no match rd", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no match network", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no match aspath", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no match peerstd", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no match peerlrg", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no match stdcomm", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no match extcomm", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no match lrgcomm", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no match privateas", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no match entropy", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no match tracker", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no match interface", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no match nexthop", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no match recursive", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no match protocol", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* match peerasn all", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* match distance all", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* match locpref all", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* match aigp all", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* match validroa all", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* match validaspa all", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* match aggregator all", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* match customer all", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* match pathlen all", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* match unknowns all", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* match asend all", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* match asbeg all", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* match asmid all", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* match bandwidth all", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* match origin all", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* match metric all", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* match tag all", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* match label-local all", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* match label-remote all", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* match segrout all", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* match bier all", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* match afi all", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* match safi all", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no match srv6", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no match nostdcomm", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no match noextcomm", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no match nolrgcomm", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no clear stdcomm", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no clear extcomm", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no clear lrgcomm", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no clear originator", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no clear clustlist", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no clear privateas", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no clear entropy", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no clear peeras", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no clear exactas", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no clear firstas", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no set rd", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no set route-map", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no set route-policy", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no set aspath", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no set asconfed", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no set stdcomm", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no set extcomm", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no set lrgcomm", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no set nexthop", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no set vrf", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* set distance leave", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* set locpref leave", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* set aigp leave", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* set validroa leave", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* set validaspa leave", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* set aggregator leave null", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* set connector null", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* set aslimit leave leave", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* set customer leave", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* set bandwidth leave", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* set origin leave", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* set metric leave", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* set tag leave", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* set label-local leave", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* set label-remote leave", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* set segrout leave", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* set bier leave leave", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no set srv6", null), new userFilter("route-map .*", cmds.tabulator + "sequence .* no log", null) }; /** * create new route map * * @param s name */ public cfgRoump(String s) { roumap = new tabListing(); seq = roumap.nextseq(); name = s; roumap.listName = s; } /** * get current entry * * @return current entry */ public synchronized tabRtrmapN getCurr() { tabRtrmapN ntry = new tabRtrmapN(); ntry.sequence = seq; ntry = roumap.find(ntry); if (ntry != null) { return ntry; } ntry = new tabRtrmapN(); ntry.sequence = seq; ntry.action = tabListingEntry.actionType.actPermit; roumap.add(ntry); return ntry; } public List getShRun(int filter) { List l = new ArrayList(); l.add("route-map " + name); l.addAll(roumap.dump(cmds.tabulator, filter)); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2}, "sequence", "sequence number of an entry"); l.add(null, false, 2, new int[]{1, -1}, "", "sequence number"); l.add(null, false, 1, new int[]{2, -1}, "reindex", "reindex route map"); l.add(null, false, 2, new int[]{3, -1}, "[num]", "initial number to start with"); l.add(null, false, 3, new int[]{-1}, "[num]", "increment number"); l.add(null, false, 1, new int[]{2}, "action", "set action to do"); l.add(null, false, 2, new int[]{-1}, "deny", "specify to forbid"); l.add(null, false, 2, new int[]{-1}, "permit", "specify to allow"); l.add(null, false, 1, new int[]{2, -1}, "description", "description of this route map"); l.add(null, false, 2, new int[]{2, -1}, "[text]", "text describing this route map"); l.add(null, false, 1, new int[]{2}, "rename", "rename this route map"); l.add(null, false, 2, new int[]{-1}, "", "set new name"); l.add(null, false, 1, new int[]{2}, "tcladd", "add tcl line"); l.add(null, false, 2, new int[]{2, -1}, "", "script"); l.add(null, false, 1, new int[]{-1}, "tcldel", "delete tcl script"); l.add(null, false, 1, new int[]{-1}, "tcledit", "edit tcl script"); l.add(null, false, 1, new int[]{-1}, "log", "set logging on match"); l.add(null, false, 1, new int[]{2}, "match", "match values from source routing protocol"); l.add(null, false, 2, new int[]{3}, "aspath", "match as path"); l.add(null, false, 3, new int[]{3, -1}, "", "regexp against as path"); l.add(null, false, 2, new int[]{3}, "peerstd", "match standard community based on peer asn"); l.add(null, false, 3, new int[]{-1}, "", "community"); l.add(null, false, 2, new int[]{3}, "peerlrg", "match large community based on peer asn"); l.add(null, false, 3, new int[]{-1}, "", "community"); l.add(null, false, 2, new int[]{3}, "stdcomm", "match standard community"); l.add(null, false, 3, new int[]{3, -1}, "", "community"); l.add(null, false, 2, new int[]{3}, "extcomm", "match extended community"); l.add(null, false, 3, new int[]{3, -1}, "", "community"); l.add(null, false, 2, new int[]{3}, "lrgcomm", "match large community"); l.add(null, false, 3, new int[]{3, -1}, "", "community"); l.add(null, false, 2, new int[]{3}, "interface", "match interface"); l.add(null, false, 3, new int[]{-1}, "", "interface"); l.add(null, false, 2, new int[]{3}, "nexthop", "match next hop"); l.add(null, false, 3, new int[]{-1}, "", "address"); l.add(null, false, 2, new int[]{3}, "recursive", "match old next hop"); l.add(null, false, 3, new int[]{-1}, "", "address"); l.add(null, false, 2, new int[]{3}, "protocol", "match source protocol"); cfgRtr.getRouterList(l, 3, new int[]{-1}, ""); cfgRtr.getRouterList(l, 1, ""); l.add(null, false, 4, new int[]{-1}, "", "process id"); l.add(null, false, 2, new int[]{3}, "peerasn", "match peer asn"); l.add(null, false, 3, new int[]{-1}, "", "asn"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "distance", "match administrative distance"); l.add(null, false, 3, new int[]{-1}, "", "administrative distance"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "locpref", "match local preference"); l.add(null, false, 3, new int[]{-1}, "", "local preference"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "aigp", "match accumulated igp"); l.add(null, false, 3, new int[]{-1}, "", "aigp"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "validroa", "match roa validity status"); l.add(null, false, 3, new int[]{-1}, "", "validity"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "validaspa", "match aspa validity status"); l.add(null, false, 3, new int[]{-1}, "", "validity"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "aggregator", "match aggregator"); l.add(null, false, 3, new int[]{-1}, "", "asn"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "customer", "match customer"); l.add(null, false, 3, new int[]{-1}, "", "asn"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "pathlen", "match as path length"); l.add(null, false, 3, new int[]{-1}, "", "length"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "unknowns", "match number of unknown attributes"); l.add(null, false, 3, new int[]{-1}, "", "length"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "asend", "match as path ending"); l.add(null, false, 3, new int[]{-1}, "", "length"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "asbeg", "match as path beginning"); l.add(null, false, 3, new int[]{-1}, "", "length"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "asmid", "match as path middle"); l.add(null, false, 3, new int[]{-1}, "", "length"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "bandwidth", "match bandwidth"); l.add(null, false, 3, new int[]{-1}, "", "bandwidth"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "origin", "match origin type"); l.add(null, false, 3, new int[]{-1}, "", "origin"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "metric", "match metric"); l.add(null, false, 3, new int[]{-1}, "", "metric"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "tag", "match tag"); l.add(null, false, 3, new int[]{-1}, "", "tag"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "label-local", "match local label"); l.add(null, false, 3, new int[]{-1}, "", "label"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "label-remote", "match remote label"); l.add(null, false, 3, new int[]{-1}, "", "label"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "segrout", "match sr index"); l.add(null, false, 3, new int[]{-1}, "", "index"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "bier", "match bier index"); l.add(null, false, 3, new int[]{-1}, "", "index"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "srv6", "match srv6 prefix"); l.add(null, false, 3, new int[]{-1}, "", "address"); l.add(null, false, 2, new int[]{3}, "afi", "match afi"); l.add(null, false, 3, new int[]{-1}, "", "afi"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "safi", "match safi"); l.add(null, false, 3, new int[]{-1}, "", "safi"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "rd", "match route distinguisher"); l.add(null, false, 3, new int[]{-1}, "", "rd"); l.add(null, false, 2, new int[]{3}, "network", "match network"); l.add(null, false, 3, new int[]{4, -1}, "", "network in perfix/mask format"); l.add(null, false, 4, new int[]{5}, "ge", "minimum prefix length to be matched"); l.add(null, false, 5, new int[]{4, -1}, "", "minimum prefix length"); l.add(null, false, 4, new int[]{5}, "le", "maximum prefix length to be matched"); l.add(null, false, 5, new int[]{4, -1}, "", "maximum prefix length"); l.add(null, false, 2, new int[]{-1}, "nostdcomm", "match empty standard community"); l.add(null, false, 2, new int[]{-1}, "noextcomm", "match empty extended community"); l.add(null, false, 2, new int[]{-1}, "nolrgcomm", "match empty large community"); l.add(null, false, 2, new int[]{-1}, "privateas", "match private asn"); l.add(null, false, 2, new int[]{-1}, "entropy", "match entropy label"); l.add(null, false, 2, new int[]{3}, "tracker", "match tracker state"); l.add(null, false, 3, new int[]{-1}, "", "name of tracker"); l.add(null, false, 2, new int[]{3}, "access-list", "match access list"); l.add(null, false, 3, new int[]{-1}, "", "name of access list"); l.add(null, false, 2, new int[]{3}, "prefix-list", "match prefix list"); l.add(null, false, 3, new int[]{-1}, "", "name of prefix list"); l.add(null, false, 2, new int[]{3}, "route-map", "match route map"); l.add(null, false, 3, new int[]{-1}, "", "name of route map"); l.add(null, false, 2, new int[]{3}, "route-policy", "match route policy"); l.add(null, false, 3, new int[]{-1}, "", "name of route policy"); l.add(null, false, 1, new int[]{2}, "clear", "clear values in destination routing protocol"); l.add(null, false, 2, new int[]{3}, "stdcomm", "clear standard community"); l.add(null, false, 3, new int[]{3, -1}, "", "regexp to match"); l.add(null, false, 2, new int[]{3}, "extcomm", "clear extended community"); l.add(null, false, 3, new int[]{3, -1}, "", "regexp to match"); l.add(null, false, 2, new int[]{3}, "lrgcomm", "clear large community"); l.add(null, false, 3, new int[]{3, -1}, "", "regexp to match"); l.add(null, false, 2, new int[]{-1}, "privateas", "clear private asn"); l.add(null, false, 2, new int[]{-1}, "entropy", "clear entropy label"); l.add(null, true, 2, new int[]{3}, "originator", "clear originator"); l.add(null, false, 3, new int[]{3, -1}, "", "regexp to match"); l.add(null, true, 2, new int[]{3}, "clustlist", "clear cluster list"); l.add(null, false, 3, new int[]{3, -1}, "", "regexp to match"); l.add(null, true, 2, new int[]{-1}, "peeras", "clear peer asn"); l.add(null, true, 2, new int[]{3}, "exactas", "clear exact asn"); l.add(null, true, 3, new int[]{-1}, "", "as number to remove"); l.add(null, true, 2, new int[]{-1}, "firstas", "clear first asn"); l.add(null, false, 1, new int[]{2}, "set", "set values in destination routing protocol"); l.add(null, false, 2, new int[]{3}, "rd", "set route distinguisher"); l.add(null, false, 3, new int[]{-1}, "", "rd"); l.add(null, false, 2, new int[]{3}, "aspath", "prepend as path"); l.add(null, false, 3, new int[]{3, -1}, "", "as to prepend"); l.add(null, false, 2, new int[]{3}, "asconfed", "prepend as path"); l.add(null, false, 3, new int[]{3, -1}, "", "as to prepend"); l.add(null, false, 2, new int[]{3}, "stdcomm", "add standard community"); l.add(null, false, 3, new int[]{3, -1}, "", "community"); l.add(null, false, 2, new int[]{3}, "extcomm", "add extended community"); l.add(null, false, 3, new int[]{3, -1}, "", "community"); l.add(null, false, 2, new int[]{3}, "lrgcomm", "add large community"); l.add(null, false, 3, new int[]{3, -1}, "", "community"); l.add(null, false, 2, new int[]{3}, "nexthop", "set next hop"); l.add(null, false, 3, new int[]{-1}, "", "address"); l.add(null, false, 2, new int[]{3}, "vrf", "set vrf"); l.add(null, false, 3, new int[]{4}, "", "name of vrf"); l.add(null, false, 4, new int[]{-1}, "ipv4", "select ipv4"); l.add(null, false, 4, new int[]{-1}, "ipv6", "select ipv6"); l.add(null, false, 2, new int[]{3}, "distance", "set administrative distance"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "locpref", "set local preference"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "aigp", "set accumulated igp"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "validroa", "set roa validity status"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "validaspa", "set aspa validity status"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "aggregator", "set aggregator"); l.add(null, false, 3, new int[]{4}, "leave", "leave value unchanged"); l.add(null, false, 4, new int[]{-1}, "", "address"); l.add(null, false, 3, new int[]{4}, "", "asn"); l.add(null, false, 4, new int[]{-1}, "", "address"); l.add(null, false, 2, new int[]{3}, "connector", "set connector"); l.add(null, false, 3, new int[]{-1}, "", "address"); l.add(null, false, 2, new int[]{3}, "aslimit", "set as path limit"); l.add(null, false, 3, new int[]{4}, "leave", "leave value unchanged"); l.add(null, false, 4, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 4, new int[]{-1}, "", "asn"); l.add(null, false, 3, new int[]{4}, "", "limit"); l.add(null, false, 4, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 4, new int[]{-1}, "", "asn"); l.add(null, false, 2, new int[]{3}, "customer", "set customer"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "asn"); l.add(null, false, 2, new int[]{3}, "bandwidth", "set bandwidth"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "origin", "set origin"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "metric", "set metric"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "tag", "set tag"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "label-local", "set local label"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "label-remote", "set remote label"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "segrout", "set sr index"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "bier", "set bier index"); l.add(null, false, 3, new int[]{4}, "leave", "leave index unchanged"); l.add(null, false, 4, new int[]{-1}, "leave", "leave subdomain unchanged"); l.add(null, false, 4, new int[]{-1}, "", "subdomain"); l.add(null, false, 3, new int[]{4}, "", "index"); l.add(null, false, 4, new int[]{-1}, "leave", "leave subdomain unchanged"); l.add(null, false, 4, new int[]{-1}, "", "subdomain"); l.add(null, false, 2, new int[]{3}, "srv6", "set srv6 prefix"); l.add(null, false, 3, new int[]{-1}, "", "address"); l.add(null, false, 2, new int[]{3}, "route-map", "set route map"); l.add(null, false, 3, new int[]{-1}, "", "name of route map"); l.add(null, false, 2, new int[]{3}, "route-policy", "set route policy"); l.add(null, false, 3, new int[]{-1}, "", "name of route policy"); } public synchronized void doCfgStr(cmds cmd) { String a = cmd.word(); if (a.equals("sequence")) { seq = bits.str2num(cmd.word()); a = cmd.word(); if (a.length() < 1) { return; } } if (a.equals("action")) { tabRtrmapN ntry = getCurr(); ntry.action = tabListingEntry.string2action(cmd.word()); return; } if (a.equals("description")) { tabRtrmapN ntry = getCurr(); ntry.description = cmd.getRemaining(); return; } if (a.equals("rename")) { a = cmd.word(); cfgRoump v = cfgAll.rtmpFind(a, false); if (v != null) { cmd.error("already exists"); return; } name = a; roumap.listName = a; return; } if (a.equals("tcldel")) { tabRtrmapN ntry = getCurr(); ntry.script = null; return; } if (a.equals("tcladd")) { tabRtrmapN ntry = getCurr(); if (ntry.script == null) { ntry.script = new ArrayList(); } ntry.script.add(cmd.getRemaining()); return; } if (a.equals("tcledit")) { tabRtrmapN ntry = getCurr(); List txt = new ArrayList(); if (ntry.script != null) { txt.addAll(ntry.script); } userEditor e = new userEditor(new pipeScreen(cmd.pipe), txt, "route-map", false); if (e.doEdit()) { return; } ntry.script = txt; return; } if (a.equals("log")) { tabRtrmapN ntry = getCurr(); ntry.logMatch = true; return; } if (a.equals("match")) { a = cmd.word(); tabRtrmapN ntry = getCurr(); if (ntry.cfgDoMatch(a, cmd)) { cmd.badCmd(); return; } return; } if (a.equals("clear")) { a = cmd.word(); tabRtrmapN ntry = getCurr(); if (ntry.cfgDoClear(a, cmd)) { cmd.badCmd(); return; } return; } if (a.equals("set")) { a = cmd.word(); tabRtrmapN ntry = getCurr(); if (ntry.cfgDoSet(a, cmd)) { cmd.badCmd(); return; } return; } if (a.equals("reindex")) { int i = bits.str2num(cmd.word()); roumap.reindex(i, bits.str2num(cmd.word())); return; } if (!a.equals(cmds.negated)) { cmd.badCmd(); return; } a = cmd.word(); if (a.equals("description")) { tabRtrmapN ntry = getCurr(); ntry.description = ""; return; } if (a.equals("log")) { tabRtrmapN ntry = getCurr(); ntry.logMatch = false; return; } if (a.equals("match")) { a = cmd.word(); tabRtrmapN ntry = getCurr(); ntry.cfgNoMatch(a, cmd); return; } if (a.equals("clear")) { a = cmd.word(); tabRtrmapN ntry = getCurr(); ntry.cfgNoClear(a, cmd); return; } if (a.equals("set")) { a = cmd.word(); tabRtrmapN ntry = getCurr(); ntry.cfgNoSet(a, cmd); return; } if (a.equals("sequence")) { tabRtrmapN ntry = new tabRtrmapN(); ntry.sequence = bits.str2num(cmd.word()); if (roumap.del(ntry)) { cmd.error("invalid sequence"); return; } return; } cmd.badCmd(); } public int compareTo(cfgRoump o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String getPrompt() { return "roump"; } public String toString() { return name; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgRouplc.java000066400000000000000000001327621510423065500216730ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.tab.tabGen; import org.freertr.tab.tabListing; import org.freertr.tab.tabListingEntry; import org.freertr.tab.tabPrfxlstN; import org.freertr.tab.tabRouteUtil; import org.freertr.tab.tabRtrplc; import org.freertr.tab.tabRtrplcN; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; /** * route policy configuration * * @author matecsaba */ public class cfgRouplc implements Comparable, cfgGeneric { /** * name of routepolicy */ public String name; /** * current sequence number */ public int seq; /** * list of routepolicies */ public tabListing rouplc; /** * defaults text */ public final static userFilter[] defaultF = {}; /** * create new route policy * * @param s name */ public cfgRouplc(String s) { rouplc = new tabListing(); seq = rouplc.nextseq(); name = s; rouplc.listName = s; } /** * get current entry * * @return current entry */ public synchronized tabRtrplcN getCurr() { tabRtrplcN ntry = new tabRtrplcN(); ntry.sequence = seq; ntry = rouplc.find(ntry); if (ntry != null) { seq = rouplc.nextseq(); return ntry; } ntry = new tabRtrplcN(); ntry.sequence = seq; ntry.action = tabListingEntry.actionType.actPermit; rouplc.add(ntry); seq = rouplc.nextseq(); return ntry; } /** * indent table */ public synchronized void indent() { tabRtrplc.indent(rouplc); } public List getShRun(int filter) { List l = new ArrayList(); l.add("route-policy " + name); l.addAll(rouplc.dump(cmds.tabulator, filter)); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2}, "sequence", "sequence number of an entry"); l.add(null, false, 2, new int[]{1, -1}, "", "sequence number"); l.add(null, false, 1, new int[]{2, -1}, "reindex", "reindex route map"); l.add(null, false, 2, new int[]{3, -1}, "[num]", "initial number to start with"); l.add(null, false, 3, new int[]{-1}, "[num]", "increment number"); l.add(null, false, 1, new int[]{-1}, "next", "no operation"); l.add(null, false, 1, new int[]{2, -1}, "description", "description of this route policy"); l.add(null, false, 2, new int[]{2, -1}, "[text]", "text describing this route policy"); l.add(null, false, 1, new int[]{2}, "rename", "rename this route policy"); l.add(null, false, 2, new int[]{-1}, "", "set new name"); l.add(null, false, 1, new int[]{2}, "if", "match values from source routing protocol"); l.add(null, false, 1, new int[]{2}, "elsif", "match values from source routing protocol"); l.add(null, false, 2, new int[]{-1}, "always", "match always"); l.add(null, false, 2, new int[]{-1}, "never", "match never"); l.add(null, false, 2, new int[]{3}, "interface", "match interface"); l.add(null, false, 3, new int[]{-1}, "", "interface"); l.add(null, false, 2, new int[]{3}, "nexthop", "match next hop"); l.add(null, false, 3, new int[]{-1}, "", "address"); l.add(null, false, 2, new int[]{3}, "recursive", "match old next hop"); l.add(null, false, 3, new int[]{-1}, "", "address"); l.add(null, false, 2, new int[]{3}, "protocol", "match source protocol"); cfgRtr.getRouterList(l, 3, new int[]{-1}, ""); cfgRtr.getRouterList(l, 1, ""); l.add(null, false, 4, new int[]{-1}, "", "process id"); l.add(null, false, 2, new int[]{3}, "aspath", "match as path"); l.add(null, false, 3, new int[]{3, -1}, "", "regexp against as path"); l.add(null, false, 2, new int[]{3}, "peerstd", "match standard community based on peer asn"); l.add(null, false, 3, new int[]{-1}, "", "community"); l.add(null, false, 2, new int[]{3}, "peerlrg", "match large community based on peer asn"); l.add(null, false, 3, new int[]{-1}, "", "community"); l.add(null, false, 2, new int[]{3}, "stdcomm", "match standard community"); l.add(null, false, 3, new int[]{3, -1}, "", "community"); l.add(null, false, 2, new int[]{3}, "extcomm", "match extended community"); l.add(null, false, 3, new int[]{3, -1}, "", "community"); l.add(null, false, 2, new int[]{3}, "lrgcomm", "match large community"); l.add(null, false, 3, new int[]{3, -1}, "", "community"); l.add(null, false, 2, new int[]{3}, "distance", "match administrative distance"); l.add(null, false, 3, new int[]{-1}, "", "administrative distance"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "peerasn", "match peer asn"); l.add(null, false, 3, new int[]{-1}, "", "asn"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "locpref", "match local preference"); l.add(null, false, 3, new int[]{-1}, "", "local preference"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "aigp", "match accumulated igp"); l.add(null, false, 3, new int[]{-1}, "", "aigp"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "validroa", "match roa validity status"); l.add(null, false, 3, new int[]{-1}, "", "validity"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "validaspa", "match aspa validity status"); l.add(null, false, 3, new int[]{-1}, "", "validity"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "aggregator", "match aggregator"); l.add(null, false, 3, new int[]{-1}, "", "asn"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "customer", "match customer"); l.add(null, false, 3, new int[]{-1}, "", "asn"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "pathlen", "match as path length"); l.add(null, false, 3, new int[]{-1}, "", "length"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "unknowns", "match number of unknown attributes"); l.add(null, false, 3, new int[]{-1}, "", "length"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "asend", "match as path ending"); l.add(null, false, 3, new int[]{-1}, "", "length"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "asbeg", "match as path beginning"); l.add(null, false, 3, new int[]{-1}, "", "length"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "asmid", "match as path middle"); l.add(null, false, 3, new int[]{-1}, "", "length"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "bandwidth", "match bandwidth"); l.add(null, false, 3, new int[]{-1}, "", "bandwidth"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "origin", "match origin type"); l.add(null, false, 3, new int[]{-1}, "", "origin"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "metric", "match metric"); l.add(null, false, 3, new int[]{-1}, "", "metric"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "tag", "match tag"); l.add(null, false, 3, new int[]{-1}, "", "tag"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "label-local", "match local label"); l.add(null, false, 3, new int[]{-1}, "", "label"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "label-remote", "match remote label"); l.add(null, false, 3, new int[]{-1}, "", "label"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "segrout", "match sr index"); l.add(null, false, 3, new int[]{-1}, "", "index"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "bier", "match bier index"); l.add(null, false, 3, new int[]{-1}, "", "index"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "srv6", "match srv6 prefix"); l.add(null, false, 3, new int[]{-1}, "", "address"); l.add(null, false, 2, new int[]{3}, "afi", "match afi"); l.add(null, false, 3, new int[]{-1}, "", "afi"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "safi", "match safi"); l.add(null, false, 3, new int[]{-1}, "", "safi"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "rd", "match route distinguisher"); l.add(null, false, 3, new int[]{-1}, "", "rd"); l.add(null, false, 2, new int[]{3}, "network", "match network"); l.add(null, false, 3, new int[]{4, -1}, "", "network in perfix/mask format"); l.add(null, false, 4, new int[]{5}, "ge", "minimum prefix length to be matched"); l.add(null, false, 5, new int[]{4, -1}, "", "minimum prefix length"); l.add(null, false, 4, new int[]{5}, "le", "maximum prefix length to be matched"); l.add(null, false, 5, new int[]{4, -1}, "", "maximum prefix length"); l.add(null, false, 2, new int[]{-1}, "nostdcomm", "match empty standard community"); l.add(null, false, 2, new int[]{-1}, "noextcomm", "match empty extended community"); l.add(null, false, 2, new int[]{-1}, "nolrgcomm", "match empty large community"); l.add(null, false, 2, new int[]{-1}, "privateas", "match private asn"); l.add(null, false, 2, new int[]{-1}, "entropy", "match entropy label"); l.add(null, false, 2, new int[]{3}, "tracker", "match tracker state"); l.add(null, false, 3, new int[]{-1}, "", "name of tracker"); l.add(null, false, 2, new int[]{3}, "access-list", "match access list"); l.add(null, false, 3, new int[]{-1}, "", "name of access list"); l.add(null, false, 2, new int[]{3}, "prefix-list", "match prefix list"); l.add(null, false, 3, new int[]{-1}, "", "name of prefix list"); l.add(null, false, 2, new int[]{3}, "route-map", "match route map"); l.add(null, false, 3, new int[]{-1}, "", "name of route map"); l.add(null, false, 2, new int[]{3}, "route-policy", "match route policy"); l.add(null, false, 3, new int[]{-1}, "", "name of route policy"); l.add(null, false, 1, new int[]{-1}, "enif", "end if statement"); l.add(null, false, 1, new int[]{-1}, "else", "begin else statement"); l.add(null, false, 1, new int[]{-1}, "pass", "permit the prefix"); l.add(null, false, 1, new int[]{-1}, "drop", "deny the prefix"); l.add(null, false, 1, new int[]{-1}, "log", "set logging on match"); l.add(null, false, 1, new int[]{2}, "tcl", "add tcl line"); l.add(null, false, 2, new int[]{2, -1}, "[text]", "script"); l.add(null, false, 1, new int[]{2}, "clear", "clear values in destination routing protocol"); l.add(null, false, 2, new int[]{3}, "stdcomm", "clear standard community"); l.add(null, false, 3, new int[]{3, -1}, "", "regexp to match"); l.add(null, false, 2, new int[]{3}, "extcomm", "clear extended community"); l.add(null, false, 3, new int[]{3, -1}, "", "regexp to match"); l.add(null, false, 2, new int[]{3}, "lrgcomm", "clear large community"); l.add(null, false, 3, new int[]{3, -1}, "", "regexp to match"); l.add(null, false, 2, new int[]{-1}, "privateas", "clear private asn"); l.add(null, false, 2, new int[]{-1}, "entropy", "clear entropy label"); l.add(null, true, 2, new int[]{3}, "originator", "clear originator"); l.add(null, false, 3, new int[]{3, -1}, "", "regexp to match"); l.add(null, true, 2, new int[]{3}, "clustlist", "clear cluster list"); l.add(null, false, 3, new int[]{3, -1}, "", "regexp to match"); l.add(null, true, 2, new int[]{-1}, "peeras", "clear peer asn"); l.add(null, true, 2, new int[]{3}, "exactas", "clear exact asn"); l.add(null, true, 3, new int[]{-1}, "", "as number to remove"); l.add(null, true, 2, new int[]{-1}, "firstas", "clear first asn"); l.add(null, false, 1, new int[]{2}, "set", "set values in destination routing protocol"); l.add(null, false, 2, new int[]{3}, "rd", "set route distinguisher"); l.add(null, false, 3, new int[]{-1}, "", "rd"); l.add(null, false, 2, new int[]{3}, "aspath", "prepend as path"); l.add(null, false, 3, new int[]{3, -1}, "", "as to prepend"); l.add(null, false, 2, new int[]{3}, "asconfed", "prepend as path"); l.add(null, false, 3, new int[]{3, -1}, "", "as to prepend"); l.add(null, false, 2, new int[]{3}, "stdcomm", "add standard community"); l.add(null, false, 3, new int[]{3, -1}, "", "community"); l.add(null, false, 2, new int[]{3}, "extcomm", "add extended community"); l.add(null, false, 3, new int[]{3, -1}, "", "community"); l.add(null, false, 2, new int[]{3}, "lrgcomm", "add large community"); l.add(null, false, 3, new int[]{3, -1}, "", "community"); l.add(null, false, 2, new int[]{3}, "vrf", "set vrf"); l.add(null, false, 3, new int[]{4}, "", "name of vrf"); l.add(null, false, 4, new int[]{-1}, "ipv4", "select ipv4"); l.add(null, false, 4, new int[]{-1}, "ipv6", "select ipv6"); l.add(null, false, 2, new int[]{3}, "nexthop", "set next hop"); l.add(null, false, 3, new int[]{-1}, "", "address"); l.add(null, false, 2, new int[]{3}, "distance", "set administrative distance"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "locpref", "set local preference"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "aigp", "set accumulated igp"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "validroa", "set roa validity status"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "validaspa", "set aspa validity status"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "aggregator", "set aggregator"); l.add(null, false, 3, new int[]{4}, "leave", "leave value unchanged"); l.add(null, false, 4, new int[]{-1}, "", "address"); l.add(null, false, 3, new int[]{4}, "", "asn"); l.add(null, false, 4, new int[]{-1}, "", "address"); l.add(null, false, 2, new int[]{3}, "connector", "set connector"); l.add(null, false, 3, new int[]{-1}, "", "address"); l.add(null, false, 2, new int[]{3}, "aslimit", "set as path limit"); l.add(null, false, 3, new int[]{4}, "leave", "leave value unchanged"); l.add(null, false, 4, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 4, new int[]{-1}, "", "asn"); l.add(null, false, 3, new int[]{4}, "", "limit"); l.add(null, false, 4, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 4, new int[]{-1}, "", "asn"); l.add(null, false, 2, new int[]{3}, "customer", "set customer"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "asn"); l.add(null, false, 2, new int[]{3}, "bandwidth", "set bandwidth"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "origin", "set origin"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "metric", "set metric"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "tag", "set tag"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "label-local", "set local label"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "label-remote", "set remote label"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "segrout", "set sr index"); l.add(null, false, 3, new int[]{-1}, "leave", "leave value unchanged"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 2, new int[]{3}, "bier", "set bier index"); l.add(null, false, 3, new int[]{4}, "leave", "leave index unchanged"); l.add(null, false, 4, new int[]{-1}, "leave", "leave subdomain unchanged"); l.add(null, false, 4, new int[]{-1}, "", "subdomain"); l.add(null, false, 3, new int[]{4}, "", "index"); l.add(null, false, 4, new int[]{-1}, "leave", "leave subdomain unchanged"); l.add(null, false, 4, new int[]{-1}, "", "subdomain"); l.add(null, false, 2, new int[]{3}, "srv6", "set srv6 prefix"); l.add(null, false, 3, new int[]{-1}, "", "address"); l.add(null, false, 2, new int[]{3}, "route-map", "set route map"); l.add(null, false, 3, new int[]{-1}, "", "name of route map"); l.add(null, false, 2, new int[]{3}, "route-policy", "set route policy"); l.add(null, false, 3, new int[]{-1}, "", "name of route policy"); } private void doIfStr(cmds cmd, tabRtrplcN ntry) { String a = cmd.word(); if (a.equals("never")) { ntry.ifMode = tabRtrplcN.ifType.never; return; } if (a.equals("always")) { ntry.ifMode = tabRtrplcN.ifType.always; return; } if (a.equals("aspath")) { ntry.ifMode = tabRtrplcN.ifType.aspath; ntry.strVal = cmd.getRemaining(); return; } if (a.equals("peerstd")) { ntry.ifMode = tabRtrplcN.ifType.peerstd; ntry.intLst = tabRouteUtil.string2stdComms(cmd.getRemaining()); return; } if (a.equals("peerlrg")) { ntry.ifMode = tabRtrplcN.ifType.peerlrg; ntry.lrgLst = tabRouteUtil.string2lrgComms(cmd.getRemaining()); return; } if (a.equals("stdcomm")) { ntry.ifMode = tabRtrplcN.ifType.stdcomm; ntry.intLst = tabRouteUtil.string2stdComms(cmd.getRemaining()); return; } if (a.equals("extcomm")) { ntry.ifMode = tabRtrplcN.ifType.extcomm; ntry.lngLst = tabRouteUtil.string2extComms(cmd.getRemaining()); return; } if (a.equals("lrgcomm")) { ntry.ifMode = tabRtrplcN.ifType.lrgcomm; ntry.lrgLst = tabRouteUtil.string2lrgComms(cmd.getRemaining()); return; } if (a.equals("rd")) { ntry.ifMode = tabRtrplcN.ifType.roudst; ntry.longVal = tabRouteUtil.string2rd(cmd.word()); return; } if (a.equals("network")) { ntry.ifMode = tabRtrplcN.ifType.network; ntry.networkMatch = new tabPrfxlstN(); ntry.networkMatch.action = tabListingEntry.actionType.actPermit; if (ntry.networkMatch.fromString(cmd.getRemaining())) { ntry.networkMatch = null; cmd.error("invalid prefix"); return; } return; } if (a.equals("nostdcomm")) { ntry.ifMode = tabRtrplcN.ifType.nostdcomm; return; } if (a.equals("noextcomm")) { ntry.ifMode = tabRtrplcN.ifType.noextcomm; return; } if (a.equals("nolrgcomm")) { ntry.ifMode = tabRtrplcN.ifType.nolrgcomm; return; } if (a.equals("privateas")) { ntry.ifMode = tabRtrplcN.ifType.privas; return; } if (a.equals("entropy")) { ntry.ifMode = tabRtrplcN.ifType.entropy; return; } if (a.equals("tracker")) { ntry.ifMode = tabRtrplcN.ifType.track; ntry.strVal = cmd.word(); return; } if (a.equals("access-list")) { ntry.ifMode = tabRtrplcN.ifType.aceslst; cfgAceslst acl = cfgAll.aclsFind(cmd.word(), false); if (acl == null) { cmd.error("no such access list"); return; } ntry.aceslst = acl.aceslst; return; } if (a.equals("prefix-list")) { ntry.ifMode = tabRtrplcN.ifType.prfxlst; cfgPrfxlst prfxlst = cfgAll.prfxFind(cmd.word(), false); if (prfxlst == null) { cmd.error("no such prefix list"); return; } ntry.prfxlst = prfxlst.prflst; return; } if (a.equals("route-map")) { ntry.ifMode = tabRtrplcN.ifType.roumap; cfgRoump roumap = cfgAll.rtmpFind(cmd.word(), false); if (roumap == null) { cmd.error("no such route map"); return; } ntry.roumap = roumap.roumap; return; } if (a.equals("route-policy")) { ntry.ifMode = tabRtrplcN.ifType.rouplc; cfgRouplc roumap = cfgAll.rtplFind(cmd.word(), false); if (roumap == null) { cmd.error("no such route policy"); return; } ntry.rouplc = roumap.rouplc; return; } if (a.equals("peerasn")) { ntry.ifMode = tabRtrplcN.ifType.peerasn; if (ntry.intMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("distance")) { ntry.ifMode = tabRtrplcN.ifType.distance; if (ntry.intMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("metric")) { ntry.ifMode = tabRtrplcN.ifType.metric; if (ntry.intMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("origin")) { ntry.ifMode = tabRtrplcN.ifType.origin; if (ntry.intMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("locpref")) { ntry.ifMode = tabRtrplcN.ifType.locpref; if (ntry.intMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("aigp")) { ntry.ifMode = tabRtrplcN.ifType.accigp; if (ntry.intMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("validroa")) { ntry.ifMode = tabRtrplcN.ifType.validroa; if (ntry.intMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("validaspa")) { ntry.ifMode = tabRtrplcN.ifType.validaspa; if (ntry.intMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("aggregator")) { ntry.ifMode = tabRtrplcN.ifType.aggregator; if (ntry.intMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("customer")) { ntry.ifMode = tabRtrplcN.ifType.customer; if (ntry.intMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("pathlen")) { ntry.ifMode = tabRtrplcN.ifType.pathlen; if (ntry.intMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("unknowns")) { ntry.ifMode = tabRtrplcN.ifType.unknown; if (ntry.intMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("asend")) { ntry.ifMode = tabRtrplcN.ifType.asend; if (ntry.intMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("asbeg")) { ntry.ifMode = tabRtrplcN.ifType.asbeg; if (ntry.intMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("asmid")) { ntry.ifMode = tabRtrplcN.ifType.asmid; if (ntry.intMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("bandwidth")) { ntry.ifMode = tabRtrplcN.ifType.bandwidth; if (ntry.intMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("tag")) { ntry.ifMode = tabRtrplcN.ifType.tag; if (ntry.intMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("label-local")) { ntry.ifMode = tabRtrplcN.ifType.labloc; if (ntry.intMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("label-remote")) { ntry.ifMode = tabRtrplcN.ifType.labrem; if (ntry.intMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("segrout")) { ntry.ifMode = tabRtrplcN.ifType.segrou; if (ntry.intMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("bier")) { ntry.ifMode = tabRtrplcN.ifType.bier; if (ntry.intMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("srv6")) { ntry.ifMode = tabRtrplcN.ifType.srv6; ntry.addrSet = new addrIP(); if (ntry.addrSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("afi")) { ntry.ifMode = tabRtrplcN.ifType.afi; if (ntry.intMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("safi")) { ntry.ifMode = tabRtrplcN.ifType.safi; if (ntry.intMatch.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("interface")) { ntry.ifMode = tabRtrplcN.ifType.iface; ntry.ifaceMatch = cfgAll.ifcFind(cmd.getRemaining(), 0); if (ntry.ifaceMatch == null) { cmd.error("invalid action"); return; } return; } if (a.equals("nexthop")) { ntry.ifMode = tabRtrplcN.ifType.nexthop; ntry.addrSet = new addrIP(); if (ntry.addrSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("recursive")) { ntry.ifMode = tabRtrplcN.ifType.recursive; ntry.addrSet = new addrIP(); if (ntry.addrSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("protocol")) { ntry.ifMode = tabRtrplcN.ifType.protocol; ntry.protoMatch = cfgRtr.name2num(cmd.word()); if (ntry.protoMatch == null) { cmd.error("invalid protocol"); return; } ntry.intVal = bits.str2num(cmd.word()); if (!cfgRtr.num2proc(ntry.protoMatch)) { ntry.intVal = -1; } return; } } public synchronized void doCfgStr(cmds cmd) { String a = cmd.word(); if (a.equals("sequence")) { seq = bits.str2num(cmd.word()); a = cmd.word(); if (a.length() < 1) { return; } } if (a.equals("next")) { tabRtrplcN ntry = getCurr(); ntry.doMode = tabRtrplcN.doType.next; indent(); return; } if (a.equals("description")) { tabRtrplcN ntry = getCurr(); ntry.doMode = tabRtrplcN.doType.description; indent(); ntry.description = cmd.getRemaining(); return; } if (a.equals("rename")) { a = cmd.word(); cfgRouplc v = cfgAll.rtplFind(a, false); if (v != null) { cmd.error("already exists"); return; } name = a; rouplc.listName = a; return; } if (a.equals("if")) { tabRtrplcN ntry = getCurr(); ntry.doMode = tabRtrplcN.doType.iff; indent(); doIfStr(cmd, ntry); return; } if (a.equals("elsif")) { tabRtrplcN ntry = getCurr(); ntry.doMode = tabRtrplcN.doType.elsif; indent(); doIfStr(cmd, ntry); return; } if (a.equals("else")) { tabRtrplcN ntry = getCurr(); ntry.doMode = tabRtrplcN.doType.els; indent(); doIfStr(cmd, ntry); return; } if (a.equals("enif")) { tabRtrplcN ntry = getCurr(); ntry.doMode = tabRtrplcN.doType.enif; indent(); doIfStr(cmd, ntry); return; } if (a.equals("pass")) { tabRtrplcN ntry = getCurr(); ntry.doMode = tabRtrplcN.doType.pass; indent(); doIfStr(cmd, ntry); return; } if (a.equals("drop")) { tabRtrplcN ntry = getCurr(); ntry.doMode = tabRtrplcN.doType.drop; indent(); doIfStr(cmd, ntry); return; } if (a.equals("log")) { tabRtrplcN ntry = getCurr(); ntry.doMode = tabRtrplcN.doType.log; indent(); doIfStr(cmd, ntry); return; } if (a.equals("tcl")) { tabRtrplcN ntry = getCurr(); ntry.doMode = tabRtrplcN.doType.tcl; ntry.strVal = cmd.getRemaining(); indent(); doIfStr(cmd, ntry); return; } if (a.equals("clear")) { a = cmd.word(); tabRtrplcN ntry = getCurr(); indent(); if (a.equals("stdcomm")) { ntry.doMode = tabRtrplcN.doType.clrStdcomm; ntry.strVal = cmd.getRemaining(); return; } if (a.equals("extcomm")) { ntry.doMode = tabRtrplcN.doType.clrExtcomm; ntry.strVal = cmd.getRemaining(); return; } if (a.equals("lrgcomm")) { ntry.doMode = tabRtrplcN.doType.clrLrgcomm; ntry.strVal = cmd.getRemaining(); return; } if (a.equals("originator")) { ntry.doMode = tabRtrplcN.doType.clrOrgntr; ntry.strVal = cmd.getRemaining(); return; } if (a.equals("clustlist")) { ntry.doMode = tabRtrplcN.doType.clrClstlst; ntry.strVal = cmd.getRemaining(); return; } if (a.equals("privateas")) { ntry.doMode = tabRtrplcN.doType.clrPrivas; return; } if (a.equals("entropy")) { ntry.doMode = tabRtrplcN.doType.clrEntropy; return; } if (a.equals("peeras")) { ntry.doMode = tabRtrplcN.doType.clrPeeras; return; } if (a.equals("exactas")) { ntry.doMode = tabRtrplcN.doType.clrExactas; ntry.intVal = bits.str2num(cmd.word()); return; } if (a.equals("firstas")) { ntry.doMode = tabRtrplcN.doType.clrFirstas; return; } cmd.badCmd(); return; } if (a.equals("set")) { a = cmd.word(); tabRtrplcN ntry = getCurr(); indent(); if (a.equals("rd")) { ntry.doMode = tabRtrplcN.doType.setRoudst; ntry.longVal = tabRouteUtil.string2rd(cmd.word()); return; } if (a.equals("stdcomm")) { ntry.doMode = tabRtrplcN.doType.setStdcomm; ntry.intLst = tabRouteUtil.string2stdComms(cmd.getRemaining()); return; } if (a.equals("extcomm")) { ntry.doMode = tabRtrplcN.doType.setExtcomm; ntry.lngLst = tabRouteUtil.string2extComms(cmd.getRemaining()); return; } if (a.equals("lrgcomm")) { ntry.doMode = tabRtrplcN.doType.setLrgcomm; ntry.lrgLst = tabRouteUtil.string2lrgComms(cmd.getRemaining()); return; } if (a.equals("vrf")) { ntry.doMode = tabRtrplcN.doType.setVrf; cfgVrf vrf = cfgAll.vrfFind(cmd.word(), false); if (vrf == null) { cmd.error("no such vrf"); return; } a = cmd.word(); if (a.equals("ipv4")) { ntry.vrfSetF = vrf.fwd4; ntry.vrfSetT = true; } else { ntry.vrfSetF = vrf.fwd6; ntry.vrfSetT = false; } return; } if (a.equals("nexthop")) { ntry.doMode = tabRtrplcN.doType.setNexthop; ntry.addrSet = new addrIP(); ntry.addrSet.fromString(cmd.getRemaining()); return; } if (a.equals("aspath")) { ntry.doMode = tabRtrplcN.doType.setAspath; ntry.intLst = tabRouteUtil.string2intList(cmd.getRemaining()); return; } if (a.equals("asconfed")) { ntry.doMode = tabRtrplcN.doType.setAsconf; ntry.intLst = tabRouteUtil.string2intList(cmd.getRemaining()); return; } if (a.equals("distance")) { ntry.doMode = tabRtrplcN.doType.setDistance; if (ntry.intSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("metric")) { ntry.doMode = tabRtrplcN.doType.setMetric; if (ntry.intSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("origin")) { ntry.doMode = tabRtrplcN.doType.setOrigin; if (ntry.intSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("locpref")) { ntry.doMode = tabRtrplcN.doType.setLocPref; if (ntry.intSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("aigp")) { ntry.doMode = tabRtrplcN.doType.setAccIgp; if (ntry.intSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("validroa")) { ntry.doMode = tabRtrplcN.doType.setValidRoa; if (ntry.intSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("validaspa")) { ntry.doMode = tabRtrplcN.doType.setValidAspa; if (ntry.intSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("aggregator")) { ntry.doMode = tabRtrplcN.doType.setAggregator; a = cmd.word(); if (ntry.intSet.fromString(a)) { cmd.error("invalid action"); return; } ntry.addrSet = new addrIP(); a = cmd.word(); if (ntry.addrSet.fromString(a)) { cmd.error("bad address"); return; } return; } if (a.equals("connector")) { ntry.doMode = tabRtrplcN.doType.setConnect; ntry.addrSet = new addrIP(); a = cmd.word(); if (ntry.addrSet.fromString(a)) { cmd.error("bad address"); return; } return; } if (a.equals("aslimit")) { ntry.doMode = tabRtrplcN.doType.setAsLimit; if (ntry.intSet.fromString(cmd.word())) { cmd.error("invalid action"); return; } if (ntry.int2set.fromString(cmd.word())) { cmd.error("invalid action"); return; } return; } if (a.equals("customer")) { ntry.doMode = tabRtrplcN.doType.setCustomer; if (ntry.intSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("bandwidth")) { ntry.doMode = tabRtrplcN.doType.setBandwidth; if (ntry.intSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("tag")) { ntry.doMode = tabRtrplcN.doType.setTag; if (ntry.intSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("label-local")) { ntry.doMode = tabRtrplcN.doType.setLabloc; if (ntry.intSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("label-remote")) { ntry.doMode = tabRtrplcN.doType.setLabrem; if (ntry.intSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("segrout")) { ntry.doMode = tabRtrplcN.doType.setSegrou; if (ntry.intSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("bier")) { ntry.doMode = tabRtrplcN.doType.setBier; if (ntry.intSet.fromString(cmd.word())) { cmd.error("invalid action"); return; } if (ntry.int2set.fromString(cmd.word())) { cmd.error("invalid action"); return; } return; } if (a.equals("srv6")) { ntry.doMode = tabRtrplcN.doType.setSrv6; ntry.addrSet = new addrIP(); if (ntry.addrSet.fromString(cmd.getRemaining())) { cmd.error("invalid action"); return; } return; } if (a.equals("route-map")) { ntry.doMode = tabRtrplcN.doType.setRoumap; cfgRoump roumap = cfgAll.rtmpFind(cmd.word(), false); if (roumap == null) { cmd.error("no such route map"); return; } ntry.roumap = roumap.roumap; return; } if (a.equals("route-policy")) { ntry.doMode = tabRtrplcN.doType.setRouplc; cfgRouplc roumap = cfgAll.rtplFind(cmd.word(), false); if (roumap == null) { cmd.error("no such route policy"); return; } ntry.rouplc = roumap.rouplc; return; } cmd.badCmd(); return; } if (a.equals("reindex")) { int i = bits.str2num(cmd.word()); rouplc.reindex(i, bits.str2num(cmd.word())); indent(); return; } if (!a.equals(cmds.negated)) { cmd.badCmd(); return; } a = cmd.word(); if (a.equals("sequence")) { tabRtrplcN ntry = new tabRtrplcN(); ntry.sequence = bits.str2num(cmd.word()); if (rouplc.del(ntry)) { cmd.error("invalid sequence"); return; } indent(); return; } cmd.badCmd(); } public int compareTo(cfgRouplc o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String getPrompt() { return "rouplc"; } public String toString() { return name; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgRtr.java000066400000000000000000003107311510423065500211700ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.addr.addrPrefix; import org.freertr.clnt.clntDns; import org.freertr.ip.ipFwd; import org.freertr.ip.ipRtr; import org.freertr.ip.ipRtrAdv; import org.freertr.ip.ipRtrAgr; import org.freertr.ip.ipRtrInt; import org.freertr.ip.ipRtrRed; import org.freertr.pack.packDnsRec; import org.freertr.rtr.rtrAggreg; import org.freertr.rtr.rtrBabel; import org.freertr.rtr.rtrBgp; import org.freertr.rtr.rtrBlackhole; import org.freertr.rtr.rtrDeaggr; import org.freertr.rtr.rtrDownload; import org.freertr.rtr.rtrEigrp; import org.freertr.rtr.rtrFlowspec; import org.freertr.rtr.rtrGhosthunt; import org.freertr.rtr.rtrIsis; import org.freertr.rtr.rtrLogger; import org.freertr.rtr.rtrLsrp; import org.freertr.rtr.rtrMobile; import org.freertr.rtr.rtrMsdp; import org.freertr.rtr.rtrOlsr; import org.freertr.rtr.rtrOspf4; import org.freertr.rtr.rtrOspf6; import org.freertr.rtr.rtrPvrp; import org.freertr.rtr.rtrRift; import org.freertr.rtr.rtrRip4; import org.freertr.rtr.rtrRip6; import org.freertr.rtr.rtrRpki; import org.freertr.rtr.rtrUni2flow; import org.freertr.rtr.rtrUni2multi; import org.freertr.tab.tabGen; import org.freertr.tab.tabIntUpdater; import org.freertr.tab.tabRouteAttr; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; /** * router configuration * * @author matecsaba */ public class cfgRtr implements Comparable, cfgGeneric { /** * description of this dialpeer */ public String description = null; /** * type of routing process */ public final tabRouteAttr.routeType type; /** * number of routing process */ public final int number; /** * vrf of this router */ public cfgVrf vrf; /** * embed vrf name to router knob */ public boolean embedVrf; /** * forwarder of this router */ public ipFwd fwd; /** * rip handler */ public rtrRip4 rip4; /** * rip handler */ public rtrRip6 rip6; /** * babel handler */ public rtrBabel babel; /** * blackhole handler */ public rtrBlackhole blackhole; /** * olsr handler */ public rtrOlsr olsr; /** * ospf handler */ public rtrOspf4 ospf4; /** * ospf handler */ public rtrOspf6 ospf6; /** * isis handler */ public rtrIsis isis; /** * rift handler */ public rtrRift rift; /** * pvrp handler */ public rtrPvrp pvrp; /** * lsrp handler */ public rtrLsrp lsrp; /** * eigrp handler */ public rtrEigrp eigrp; /** * bgp handler */ public rtrBgp bgp; /** * msdp handler */ public rtrMsdp msdp; /** * rpki handler */ public rtrRpki rpki; /** * flowspec handler */ public rtrFlowspec flwspc; /** * ghost hunter */ public rtrGhosthunt ghosthunt; /** * unicast to multicast handler */ public rtrUni2multi uni2multi; /** * unicast to flowspec handler */ public rtrUni2flow uni2flow; /** * logger handler */ public rtrLogger logger; /** * downloader handler */ public rtrDownload download; /** * deaggregate handler */ public rtrDeaggr deaggr; /** * aggregate handler */ public rtrAggreg aggreg; /** * mobile handler */ public rtrMobile mobile; /** * state of this process */ public boolean running; /** * defaults text */ public final static userFilter[] defaultF = { // router * new userFilter("router .*", cmds.tabulator + cmds.negated + cmds.tabulator + "automesh", null), new userFilter("router .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), // router rift new userFilter("router rift[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "suppress-prefix", null), new userFilter("router rift[46] .*", cmds.tabulator + "level 24", null), new userFilter("router rift[46] .*", cmds.tabulator + "distance 100", null), new userFilter("router rift[46] .*", cmds.tabulator + "lifetime 604800000", null), new userFilter("router rift[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "default-originate", null), new userFilter("router rift[46] .*", cmds.tabulator + "spf-log 0", null), new userFilter("router rift[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "spf-topolog", null), new userFilter("router rift[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "spf-bidir", null), new userFilter("router rift[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "spf-hops", null), new userFilter("router rift[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "spf-ecmp", null), new userFilter("router rift[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "prefix-list", null), new userFilter("router rift[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "route-map", null), new userFilter("router rift[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "route-policy", null), // router pvrp new userFilter("router pvrp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "suppress-prefix", null), new userFilter("router pvrp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "labels", null), new userFilter("router pvrp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "stub", null), new userFilter("router pvrp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "segrout", null), new userFilter("router pvrp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bier", null), // router lsrp new userFilter("router lsrp[46] .*", cmds.tabulator + "spf-log 0", null), new userFilter("router lsrp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "spf-topolog", null), new userFilter("router lsrp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "spf-bidir", null), new userFilter("router lsrp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "spf-hops", null), new userFilter("router lsrp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "spf-ecmp", null), new userFilter("router lsrp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "database-password", null), new userFilter("router lsrp[46] .*", cmds.tabulator + "distance 70", null), new userFilter("router lsrp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "default-originate", null), new userFilter("router lsrp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "stub", null), new userFilter("router lsrp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ha-mode", null), new userFilter("router lsrp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "suppress-prefix", null), new userFilter("router lsrp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "prefix-list", null), new userFilter("router lsrp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "route-map", null), new userFilter("router lsrp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "route-policy", null), new userFilter("router lsrp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "segrout", null), new userFilter("router lsrp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bier", null), new userFilter("router lsrp[46] .*", cmds.tabulator + "refresh 2400000", null), new userFilter("router lsrp[46] .*", cmds.tabulator + "lifetime 3600000", null), // router eigrp new userFilter("router eigrp[46] .*", cmds.tabulator + "kvals 1 0 1 0 0", null), new userFilter("router eigrp[46] .*", cmds.tabulator + "stub", null), new userFilter("router eigrp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "suppress-prefix", null), // router babel new userFilter("router babel[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "suppress-prefix", null), new userFilter("router babel[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-other enable", null), new userFilter("router babel[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-other suppress-prefix", null), // router olsr new userFilter("router olsr[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "suppress-prefix", null), // router rip new userFilter("router rip[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "suppress-prefix", null), // router ospf new userFilter("router ospf[46] .*", cmds.tabulator + "distance 110 110 110", null), new userFilter("router ospf[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "segrout", null), new userFilter("router ospf[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bier", null), new userFilter("router ospf[46] .*", cmds.tabulator + "area .* spf-log 0", null), new userFilter("router ospf[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "area .* spf-topolog", null), new userFilter("router ospf[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "area .* spf-bidir", null), new userFilter("router ospf[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "area .* spf-hops", null), new userFilter("router ospf[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "area .* spf-ecmp", null), new userFilter("router ospf[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "area .* max-metric", null), new userFilter("router ospf[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "area .* ha-mode", null), new userFilter("router ospf[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "area .* stub", null), new userFilter("router ospf[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "area .* nssa", null), new userFilter("router ospf[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "area .* traffeng", null), new userFilter("router ospf[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "area .* segrout", null), new userFilter("router ospf[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "area .* srv6", null), new userFilter("router ospf[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "area .* bier", null), new userFilter("router ospf[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "area .* suppress-prefix", null), new userFilter("router ospf[46] .*", cmds.tabulator + "area .* hostname", null), new userFilter("router ospf[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "area .* default-originate", null), new userFilter("router ospf[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "area .* prefix-list-from", null), new userFilter("router ospf[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "area .* prefix-list-into", null), new userFilter("router ospf[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "area .* route-map-from", null), new userFilter("router ospf[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "area .* route-map-into", null), new userFilter("router ospf[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "area .* route-policy-from", null), new userFilter("router ospf[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "area .* route-policy-into", null), // router isis new userFilter("router isis[46] .*", cmds.tabulator + "max-area-addrs 3", null), new userFilter("router isis[46] .*", cmds.tabulator + "distance 115 115", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-other enable", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-other multi-topology", null), new userFilter("router isis[46] .*", cmds.tabulator + "afi-other distance 115 115", null), new userFilter("router isis[46] .*", cmds.tabulator + "afi-other metric-wide", null), new userFilter("router isis[46] .*", cmds.tabulator + "metric-wide", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "multi-topology", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "segrout", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bier", null), new userFilter("router isis[46] .*", cmds.tabulator + "level[12] spf-log 0", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] spf-topolog", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] spf-bidir", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] spf-hops", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] spf-ecmp", null), new userFilter("router isis[46] .*", cmds.tabulator + "level2 clear-attached", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level2 allow-attached", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level1 clear-attached", null), new userFilter("router isis[46] .*", cmds.tabulator + "level1 allow-attached", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] set-overload", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] set-attached", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] ha-mode", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] traffeng", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] segrout", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] srv6", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] bier", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] suppress-prefix", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] other-suppress-prefix", null), new userFilter("router isis[46] .*", cmds.tabulator + "level[12] hostname", null), new userFilter("router isis[46] .*", cmds.tabulator + "level[12] inter-level", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] default-originate", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] other-default-originate", null), new userFilter("router isis[46] .*", cmds.tabulator + "level[12] lsp-mtu 1024", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] lsp-password", null), new userFilter("router isis[46] .*", cmds.tabulator + "level[12] authen-type clear", null), new userFilter("router isis[46] .*", cmds.tabulator + "level[12] authen-id 0", null), new userFilter("router isis[46] .*", cmds.tabulator + "level[12] lsp-refresh 400000", null), new userFilter("router isis[46] .*", cmds.tabulator + "level[12] lsp-lifetime 1200000", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] prefix-list-from", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] prefix-list-into", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] route-map-from", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] route-map-into", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] route-policy-from", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] route-policy-into", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] other-prefix-list-from", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] other-prefix-list-into", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] other-route-map-from", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] other-route-map-into", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] other-route-policy-from", null), new userFilter("router isis[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "level[12] other-route-policy-into", null), // router bgp new userFilter("router bgp[46] .*", cmds.tabulator + "distance 20 200 200", null), new userFilter("router bgp[46] .*", cmds.tabulator + "scantime 1000", null), new userFilter("router bgp[46] .*", cmds.tabulator + "scandelay 1000", null), new userFilter("router bgp[46] .*", cmds.tabulator + "nexthop recursion 1", null), new userFilter("router bgp[46] .*", cmds.tabulator + "incremental 1000", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "conquer", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "rpki", null), new userFilter("router bgp[46] .*", cmds.tabulator + "safe-ebgp", null), new userFilter("router bgp[46] .*", cmds.tabulator + "client-reflect", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "flapstat", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "flowspec-advert", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "flowspec-install", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "segrout", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bier", null), new userFilter("router bgp[46] .*", cmds.tabulator + "graceful-restart 60000", null), new userFilter("router bgp[46] .*", cmds.tabulator + "longlived-graceful 0", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "default-originate", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "nexthop route-map", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "nexthop route-policy", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "nexthop prefix-list", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* template", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* description", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* dmz-link-bw -1", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* spf-metric 10", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* randomize-startup 2 15", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* timer 60000 180000", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* connection-mode both", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* buffer-size 65536", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* preference 100", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* ttl-security -1", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* tos-value -1", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* leak-role disabled", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* rpki-in transparent", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* rpki-out transparent", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* rpki-vpn-in transparent", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* rpki-vpn-out transparent", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* additional-path-rx none", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* additional-path-tx none", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* authen-type md5", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* spf-stub", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* ungroup-remoteas", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* password", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* shutdown", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* update-source", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* compression", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* dynamic-capability", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* bfd-trigger", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* backup-peer", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* proxy-profile", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* ha-mode", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* fall-over", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* hostname", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* software", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* unidirection", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* extended-open", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* extended-update", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* graceful-restart none", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* longlived-graceful none", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* multiple-labels none", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* extended-nexthop-current none", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* extended-nexthop-other none", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* capability-negotiation", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* track-next-hop", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* advertisement-interval-rx 0", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* advertisement-interval-tx 0", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* lookup-database", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* lookup-reverse", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* aigp", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* entropy", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* traffeng", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* pmsitun", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* connector", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* pe-distinguisher", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* aspath-limit", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* nsh-chain", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* domain-path", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* bfd-discriminator", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* tunenc", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* linkstate", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* attribset", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* segrout", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* bier", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* egress-engineering", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* monitor", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* dump", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* default-originate", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* other-default-originate", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* internal-vpn-client", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* allow-as-in", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* allow-as-out", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* wide-aspath", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* route-refresh-original", null), new userFilter("router bgp[46] .*", cmds.tabulator + "(template|neighbor) .* route-refresh-enhanced", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* route-target-filter-in", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* route-target-filter-out", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* enforce-first-as", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* route-server-client", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* soft-reconfiguration", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* remove-private-as-out", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* remove-private-as-in", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* override-peer-as-out", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* override-peer-as-in", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* route-reflector-client", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* confederation-peer", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* next-hop-unchanged", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* next-hop-capability", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* next-hop-multilabel", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* next-hop-linklocal", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* next-hop-self", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* next-hop-peer", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* send-community", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* label-pop", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* maximum-clones", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* maximum-prefix-in", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* maximum-prefix-out", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* attribute-filter", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* unknowns-in", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* unknowns-out", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* unknowns-log", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* unknowns-collect", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* log-end-changes", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* log-nexthop-changes", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* log-length-changes", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* dampening", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* prefix-list-in", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* prefix-list-out", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* route-map-in", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* route-map-out", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* route-policy-in", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* route-policy-out", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* other-prefix-list-in", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* other-prefix-list-out", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* other-route-map-in", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* other-route-map-out", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* other-route-policy-in", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* other-route-policy-out", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* other-address", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* vpn-route-map-in", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* vpn-route-map-out", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* vpn-route-policy-in", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* vpn-route-policy-out", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* ovpn-route-map-in", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* ovpn-route-map-out", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* ovpn-route-policy-in", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* ovpn-route-policy-out", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* evpn-route-map-in", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* evpn-route-map-out", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* evpn-route-policy-in", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "(template|neighbor) .* evpn-route-policy-out", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-other enable", null), new userFilter("router bgp[46] .*", cmds.tabulator + "afi-other vpn-mode", null), new userFilter("router bgp[46] .*", cmds.tabulator + "afi-other distance -1", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-other default-originate", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-spf enable", null), new userFilter("router bgp[46] .*", cmds.tabulator + "afi-spf hostname", null), new userFilter("router bgp[46] .*", cmds.tabulator + "afi-spf spf-log 0", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-spf spf-topolog", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-spf spf-bidir", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-spf spf-hops", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-spf spf-ecmp", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-spf default-originate", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-spf stub", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-spf prefix-list", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-spf route-map", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-spf route-policy", null), new userFilter("router bgp[46] .*", cmds.tabulator + "afi-spf distance 60", null), new userFilter("router bgp[46] .*", cmds.tabulator + "afi-vrf .* distance -1", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-vrf .* default-originate", null), new userFilter("router bgp[46] .*", cmds.tabulator + "afi-vrf .* import l3vpn", null), new userFilter("router bgp[46] .*", cmds.tabulator + "afi-vrf .* export l3vpn", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-vrf .* flowspec-advert", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-vrf .* flowspec-install", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-vrf .* mvpn", null), new userFilter("router bgp[46] .*", cmds.tabulator + "afi-ovrf .* distance -1", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-ovrf .* default-originate", null), new userFilter("router bgp[46] .*", cmds.tabulator + "afi-ovrf .* import l3vpn", null), new userFilter("router bgp[46] .*", cmds.tabulator + "afi-ovrf .* export l3vpn", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-ovrf .* flowspec-advert", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-ovrf .* flowspec-install", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-ovrf .* mvpn", null), new userFilter("router bgp[46] .*", cmds.tabulator + "afi-clr .* distance -1", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-clr .* default-originate", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-clr .* flowspec-advert", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-clr .* flowspec-install", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-clr .* mvpn", null), new userFilter("router bgp[46] .*", cmds.tabulator + "afi-oclr .* distance -1", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-oclr .* default-originate", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-oclr .* flowspec-advert", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-oclr .* flowspec-install", null), new userFilter("router bgp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "afi-oclr .* mvpn", null), new userFilter("router bgp[46] .*", cmds.tabulator + "afi-vpls .* ve-id 0 0", null), // router msdp new userFilter("router msdp[46] .*", cmds.tabulator + "neighbor .* timer 30000 75000 60000 120000", null), new userFilter("router msdp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "neighbor .* description", null), new userFilter("router msdp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "neighbor .* shutdown", null), new userFilter("router msdp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "neighbor .* update-source", null), new userFilter("router msdp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "neighbor .* password", null), new userFilter("router msdp[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "neighbor .* bfd", null), // router rpki new userFilter("router rpki[46] .*", cmds.tabulator + "scantime 1000", null), new userFilter("router rpki[46] .*", cmds.tabulator + "neighbor .* timers 30000 120000", null), new userFilter("router rpki[46] .*", cmds.tabulator + "neighbor .* preference 100", null), new userFilter("router rpki[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "neighbor .* description", null), new userFilter("router rpki[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "neighbor .* shutdown", null), new userFilter("router rpki[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "neighbor .* update-source", null), // router flowspec new userFilter("router flowspec[46] .*", cmds.tabulator + "distance 254", null), // router ghosthunt new userFilter("router ghosthunt[46] .*", cmds.tabulator + "distance 10", null), new userFilter("router ghosthunt[46] .*", cmds.tabulator + "afi unicast", null), new userFilter("router ghosthunt[46] .*", cmds.tabulator + "grace 0 0", null), new userFilter("router ghosthunt[46] .*", cmds.tabulator + "mode observer", null), new userFilter("router ghosthunt[46] .*", cmds.tabulator + "lookup vrf", null), new userFilter("router ghosthunt[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "send-map", null), new userFilter("router ghosthunt[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "send-policy", null), new userFilter("router ghosthunt[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "recv-map", null), new userFilter("router ghosthunt[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "recv-policy", null), new userFilter("router ghosthunt[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "ignore", null), new userFilter("router ghosthunt[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "logging", null), // router uni2multi new userFilter("router uni2multi[46] .*", cmds.tabulator + "distance 254", null), // router deaggr new userFilter("router deaggr[46] .*", cmds.tabulator + "afi unicast", null), new userFilter("router deaggr[46] .*", cmds.tabulator + "distance 254 254", null), new userFilter("router deaggr[46] .*", cmds.tabulator + "nexthop :: ::", null), // router aggreg new userFilter("router aggreg[46] .*", cmds.tabulator + "afi unicast", null), new userFilter("router aggreg[46] .*", cmds.tabulator + "distance 254", null), new userFilter("router aggreg[46] .*", cmds.tabulator + "nexthop ::", null), new userFilter("router aggreg[46] .*", cmds.tabulator + "netmask 0", null), // router uni2flow new userFilter("router uni2flow[46] .*", cmds.tabulator + "distance 254", null), new userFilter("router uni2flow[46] .*", cmds.tabulator + "direction target", null), new userFilter("router uni2flow[46] .*", cmds.tabulator + "as 0", null), new userFilter("router uni2flow[46] .*", cmds.tabulator + "rate 0", null), // router download new userFilter("router download[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "hidden", null), new userFilter("router download[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "log", null), new userFilter("router download[46] .*", cmds.tabulator + "url ", null), new userFilter("router download[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "range", null), new userFilter("router download[46] .*", cmds.tabulator + "respawn", null), new userFilter("router download[46] .*", cmds.tabulator + "random-time 0", null), new userFilter("router download[46] .*", cmds.tabulator + "random-delay 0", null), new userFilter("router download[46] .*", cmds.tabulator + "delay 0", null), new userFilter("router download[46] .*", cmds.tabulator + "time 0", null), // router blackhole new userFilter("router blackhole[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "negate", null), new userFilter("router blackhole[46] .*", cmds.tabulator + "penalty 60000", null), new userFilter("router blackhole[46] .*", cmds.tabulator + "distance 254", null), new userFilter("router blackhole[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "whitelist", null), // router mobile new userFilter("router mobile[46] .*", cmds.tabulator + "distance 254", null), // router logger new userFilter("router logger[46] .*", cmds.tabulator + "afi unicast", null), new userFilter("router logger[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "flapstat", null), new userFilter("router logger[46] .*", cmds.tabulator + cmds.negated + cmds.tabulator + "logging", null) }; /** * convert name to number * * @param a name to convert * @return value, negative on error */ public static tabRouteAttr.routeType name2num(String a) { if (a.equals("rip4")) { return tabRouteAttr.routeType.rip4; } if (a.equals("rip6")) { return tabRouteAttr.routeType.rip6; } if (a.equals("babel4")) { return tabRouteAttr.routeType.babel4; } if (a.equals("babel6")) { return tabRouteAttr.routeType.babel6; } if (a.equals("blackhole4")) { return tabRouteAttr.routeType.blackhole4; } if (a.equals("blackhole6")) { return tabRouteAttr.routeType.blackhole6; } if (a.equals("olsr4")) { return tabRouteAttr.routeType.olsr4; } if (a.equals("olsr6")) { return tabRouteAttr.routeType.olsr6; } if (a.equals("ospf4")) { return tabRouteAttr.routeType.ospf4; } if (a.equals("ospf6")) { return tabRouteAttr.routeType.ospf6; } if (a.equals("isis4")) { return tabRouteAttr.routeType.isis4; } if (a.equals("isis6")) { return tabRouteAttr.routeType.isis6; } if (a.equals("rift4")) { return tabRouteAttr.routeType.rift4; } if (a.equals("rift6")) { return tabRouteAttr.routeType.rift6; } if (a.equals("pvrp4")) { return tabRouteAttr.routeType.pvrp4; } if (a.equals("pvrp6")) { return tabRouteAttr.routeType.pvrp6; } if (a.equals("lsrp4")) { return tabRouteAttr.routeType.lsrp4; } if (a.equals("lsrp6")) { return tabRouteAttr.routeType.lsrp6; } if (a.equals("eigrp4")) { return tabRouteAttr.routeType.eigrp4; } if (a.equals("eigrp6")) { return tabRouteAttr.routeType.eigrp6; } if (a.equals("bgp4")) { return tabRouteAttr.routeType.bgp4; } if (a.equals("bgp6")) { return tabRouteAttr.routeType.bgp6; } if (a.equals("static")) { return tabRouteAttr.routeType.staticRoute; } if (a.equals("defgw")) { return tabRouteAttr.routeType.defpref; } if (a.equals("local")) { return tabRouteAttr.routeType.local; } if (a.equals("remote")) { return tabRouteAttr.routeType.remote; } if (a.equals("connected")) { return tabRouteAttr.routeType.conn; } if (a.equals("msdp4")) { return tabRouteAttr.routeType.msdp4; } if (a.equals("msdp6")) { return tabRouteAttr.routeType.msdp6; } if (a.equals("rpki4")) { return tabRouteAttr.routeType.rpki4; } if (a.equals("rpki6")) { return tabRouteAttr.routeType.rpki6; } if (a.equals("flowspec4")) { return tabRouteAttr.routeType.flwspc4; } if (a.equals("flowspec6")) { return tabRouteAttr.routeType.flwspc6; } if (a.equals("ghosthunt4")) { return tabRouteAttr.routeType.ghosthunt4; } if (a.equals("ghosthunt6")) { return tabRouteAttr.routeType.ghosthunt6; } if (a.equals("uni2multi4")) { return tabRouteAttr.routeType.uni2multi4; } if (a.equals("uni2multi6")) { return tabRouteAttr.routeType.uni2multi6; } if (a.equals("uni2flow4")) { return tabRouteAttr.routeType.uni2flow4; } if (a.equals("uni2flow6")) { return tabRouteAttr.routeType.uni2flow6; } if (a.equals("logger4")) { return tabRouteAttr.routeType.logger4; } if (a.equals("logger6")) { return tabRouteAttr.routeType.logger6; } if (a.equals("download4")) { return tabRouteAttr.routeType.download4; } if (a.equals("download6")) { return tabRouteAttr.routeType.download6; } if (a.equals("deaggr4")) { return tabRouteAttr.routeType.deaggr4; } if (a.equals("deaggr6")) { return tabRouteAttr.routeType.deaggr6; } if (a.equals("aggreg4")) { return tabRouteAttr.routeType.aggreg4; } if (a.equals("aggreg6")) { return tabRouteAttr.routeType.aggreg6; } if (a.equals("mobile4")) { return tabRouteAttr.routeType.mobile4; } if (a.equals("mobile6")) { return tabRouteAttr.routeType.mobile6; } return null; } /** * convert number to name * * @param i number to convert * @return name of protocol */ public static String num2name(tabRouteAttr.routeType i) { switch (i) { case rip4: return "rip4"; case rip6: return "rip6"; case babel4: return "babel4"; case babel6: return "babel6"; case blackhole4: return "blackhole4"; case blackhole6: return "blackhole6"; case olsr4: return "olsr4"; case olsr6: return "olsr6"; case ospf4: return "ospf4"; case ospf6: return "ospf6"; case isis4: return "isis4"; case isis6: return "isis6"; case rift4: return "rift4"; case rift6: return "rift6"; case pvrp4: return "pvrp4"; case pvrp6: return "pvrp6"; case lsrp4: return "lsrp4"; case lsrp6: return "lsrp6"; case eigrp4: return "eigrp4"; case eigrp6: return "eigrp6"; case bgp4: return "bgp4"; case bgp6: return "bgp6"; case msdp4: return "msdp4"; case msdp6: return "msdp6"; case rpki4: return "rpki4"; case rpki6: return "rpki6"; case flwspc4: return "flowspec4"; case flwspc6: return "flowspec6"; case ghosthunt4: return "ghosthunt4"; case ghosthunt6: return "ghosthunt6"; case uni2multi4: return "uni2multi4"; case uni2multi6: return "uni2multi6"; case uni2flow4: return "uni2flow4"; case uni2flow6: return "uni2flow6"; case logger4: return "logger4"; case logger6: return "logger6"; case download4: return "download4"; case download6: return "download6"; case deaggr4: return "deaggr4"; case deaggr6: return "deaggr6"; case aggreg4: return "aggreg4"; case aggreg6: return "aggreg6"; case mobile4: return "mobile4"; case mobile6: return "mobile6"; case staticRoute: return "static"; case defpref: return "defgw"; case local: return "local"; case remote: return "remote"; case conn: return "connected"; default: return ""; } } /** * convert number to name * * @param i number to convert * @return name of protocol */ public static int num2dns(tabRouteAttr.routeType i) { switch (i) { case rip4: case babel4: case blackhole4: case olsr4: case ospf4: case isis4: case rift4: case pvrp4: case lsrp4: case eigrp4: case bgp4: case msdp4: case rpki4: case flwspc4: case ghosthunt4: case uni2multi4: case uni2flow4: case logger4: case download4: case deaggr4: case aggreg4: case mobile4: return 4; case rip6: case babel6: case blackhole6: case olsr6: case ospf6: case isis6: case rift6: case pvrp6: case lsrp6: case eigrp6: case bgp6: case msdp6: case rpki6: case flwspc6: case ghosthunt6: case uni2multi6: case uni2flow6: case logger6: case download6: case deaggr6: case aggreg6: case mobile6: return 6; default: return -1; } } /** * convert string to afi local address if its a name * * @param t type of router * @param s string * @param d default to return * @return address, default if error happened */ public static addrIP string2addr(tabRouteAttr.routeType t, String s, addrIP d) { addrIP a = new addrIP(); if (!a.fromString(s)) { return a; } if (!cfgAll.domainLookup) { return d; } int n = num2dns(t); if (n < 0) { return d; } int r; if (n == 4) { r = packDnsRec.typeA; } else { r = packDnsRec.typeAAAA; } clntDns clnt = new clntDns(); clnt.doResolvList(cfgAll.nameServerAddr, s, false, r); a = clnt.getAddr(n); if (a == null) { return d; } if ((n == 4) && (a.isIPv4())) { return a; } return a; } /** * convert address to string * * @param t type of router * @param a address to convert * @param d default to return * @return reverse name, default on error */ public static String addr2string(tabRouteAttr.routeType t, addrIP a, String d) { if (!cfgAll.domainLookup) { return d; } int n = num2dns(t); if (n < 0) { return d; } clntDns clnt = new clntDns(); clnt.doResolvList(cfgAll.nameServerAddr, packDnsRec.generateReverse(a), false, packDnsRec.typePTR); String s = clnt.getPTR(); if (s != null) { return s; } return d; } /** * test if need process number * * @param i router type * @return true if needed, false if not */ public static boolean num2proc(tabRouteAttr.routeType i) { switch (i) { case staticRoute: case conn: case defpref: case local: case remote: return false; default: return true; } } /** * get redistribution config * * @param lst list to update * @param beg beginning * @param rtr router to use */ public static void getShRedist(List lst, String beg, ipRtr rtr) { for (int i = 0; i < rtr.routerRedisting.size(); i++) { ipRtrRed ntry = rtr.routerRedisting.get(i); if (ntry == null) { continue; } lst.add(beg + "redistribute " + redist2str(ntry)); } for (int i = 0; i < rtr.routerAdverting.size(); i++) { ipRtrAdv ntry = rtr.routerAdverting.get(i); if (ntry == null) { continue; } lst.add(beg + "advertise " + advert2str(ntry)); } for (int i = 0; i < rtr.routerReadvrtng.size(); i++) { ipRtrAdv ntry = rtr.routerReadvrtng.get(i); if (ntry == null) { continue; } lst.add(beg + "readvertise " + advert2str(ntry)); } for (int i = 0; i < rtr.routerAdvInter.size(); i++) { ipRtrInt ntry = rtr.routerAdvInter.get(i); if (ntry == null) { continue; } lst.add(beg + "justadvert " + advint2str(ntry)); } for (int i = 0; i < rtr.routerAggregating.size(); i++) { ipRtrAgr ntry = rtr.routerAggregating.get(i); if (ntry == null) { continue; } lst.add(beg + "aggregate " + aggreg2str(ntry)); } if (rtr.routerAutoSummary) { String a = ""; if (rtr.routerAutoSumPfx != null) { a += " prefix-list " + rtr.routerAutoSumPfx; } lst.add(beg + "autosummary" + a); } if (rtr.routerEcmp) { lst.add(beg + "ecmp"); } } /** * do redistribution config * * @param rtr router to update * @param fwd forwarder to update * @param neg negated * @param a command word * @param cmd command to parse * @return false on success, true on error */ public static boolean doCfgRedist(ipRtr rtr, ipFwd fwd, boolean neg, String a, cmds cmd) { if (a.equals("ecmp")) { rtr.routerEcmp = !neg; fwd.routerConfigChg(); return false; } if (a.equals("redistribute")) { ipRtrRed ntry = str2redist(cmd); if (ntry == null) { return true; } if (neg) { rtr.routerRedisting.del(ntry); } else { rtr.routerRedisting.put(ntry); } fwd.routerConfigChg(); return false; } if (a.equals("justadvert")) { ipRtrInt ntry = str2advint(cmd); if (ntry == null) { return true; } try { if (neg) { rtr.routerAdvInter.del(ntry); } else { rtr.routerAdvInter.put(ntry); } } catch (Exception e) { cmd.error("no such iface"); } fwd.routerConfigChg(); return false; } if (a.equals("advertise")) { ipRtrAdv ntry = str2advert(cmd); if (ntry == null) { return true; } if (neg) { rtr.routerAdverting.del(ntry); } else { rtr.routerAdverting.put(ntry); } fwd.routerConfigChg(); return false; } if (a.equals("readvertise")) { ipRtrAdv ntry = str2advert(cmd); if (ntry == null) { return true; } if (neg) { rtr.routerReadvrtng.del(ntry); } else { rtr.routerReadvrtng.put(ntry); } fwd.routerConfigChg(); return false; } if (a.equals("aggregate")) { ipRtrAgr ntry = str2aggreg(cmd); if (ntry == null) { return true; } if (neg) { rtr.routerAggregating.del(ntry); } else { rtr.routerAggregating.put(ntry); } fwd.routerConfigChg(); return false; } if (a.equals("autosummary")) { rtr.routerAutoSummary = !neg; rtr.routerAutoSumPfx = null; if (neg) { fwd.routerConfigChg(); return false; } for (;;) { a = cmd.word(); if (a.length() < 1) { break; } if (a.equals("prefix-list")) { cfgPrfxlst pfx = cfgAll.prfxFind(cmd.word(), false); if (pfx == null) { continue; } rtr.routerAutoSumPfx = pfx.prflst; continue; } } fwd.routerConfigChg(); return false; } return true; } /** * convert redistribution to string * * @param red redistribution * @return string */ public static String redist2str(ipRtrRed red) { String a = num2name(red.typ); if (num2proc(red.typ)) { a += " " + red.num; } if (red.limit > 0) { a += " limit " + red.limit; } if (red.metric != null) { a += " metric " + red.metric; } if (red.tag != null) { a += " tag " + red.tag; } if (red.prflst != null) { a += " prefix-list " + red.prflst.listName; } if (red.roumap != null) { a += " route-map " + red.roumap.listName; } if (red.rouplc != null) { a += " route-policy " + red.rouplc.listName; } if (red.ecmp) { a += " ecmp"; } return a; } /** * convert advertisement to string * * @param adv advertisement * @return string */ public static String advert2str(ipRtrAdv adv) { String a = "" + addrPrefix.ip2str(adv.prefix); if (adv.metric != null) { a += " metric " + adv.metric; } if (adv.tag != null) { a += " tag " + adv.tag; } if (adv.roumap != null) { a += " route-map " + adv.roumap.listName; } if (adv.rouplc != null) { a += " route-policy " + adv.rouplc.listName; } if (adv.ecmp) { a += " ecmp"; } return a; } /** * convert aggregating to string * * @param agr aggregating * @return string */ public static String aggreg2str(ipRtrAgr agr) { String a = "" + addrPrefix.ip2str(agr.prefix); if (agr.metric != null) { a += " metric " + agr.metric; } if (agr.tag != null) { a += " tag " + agr.tag; } if (agr.prflst != null) { a += " prefix-list " + agr.prflst.listName; } if (agr.roumap != null) { a += " route-map " + agr.roumap.listName; } if (agr.rouplc != null) { a += " route-policy " + agr.rouplc.listName; } if (agr.aspath) { a += " as-set"; } if (agr.summary) { a += " summary-only"; } return a; } /** * convert interface to string * * @param ifc interface * @return string */ public static String advint2str(ipRtrInt ifc) { String a = "" + ifc.iface.name; if (ifc.metric != null) { a += " metric " + ifc.metric; } if (ifc.tag != null) { a += " tag " + ifc.tag; } if (ifc.roumap != null) { a += " route-map " + ifc.roumap.listName; } if (ifc.rouplc != null) { a += " route-policy " + ifc.rouplc.listName; } return a; } /** * parse up redistribution * * @param cmd command to read * @return redistribution */ public static ipRtrRed str2redist(cmds cmd) { tabRouteAttr.routeType i = name2num(cmd.word()); if (i == null) { return null; } int o = -1; if (num2proc(i)) { o = bits.str2num(cmd.word()); } ipRtrRed red = new ipRtrRed(i, o); for (;;) { String s = cmd.word(); if (s.length() < 1) { break; } if (s.equals("ecmp")) { red.ecmp = true; continue; } if (s.equals("limit")) { red.limit = bits.str2num(cmd.word()); continue; } if (s.equals("metric")) { red.metric = new tabIntUpdater(); s = cmd.word(); if (red.metric.fromString(s + " " + cmd.word())) { return null; } continue; } if (s.equals("tag")) { red.tag = new tabIntUpdater(); s = cmd.word(); if (red.tag.fromString(s + " " + cmd.word())) { return null; } continue; } if (s.equals("prefix-list")) { cfgPrfxlst ntry = cfgAll.prfxFind(cmd.word(), false); if (ntry == null) { return null; } red.prflst = ntry.prflst; continue; } if (s.equals("route-map")) { cfgRoump ntry = cfgAll.rtmpFind(cmd.word(), false); if (ntry == null) { return null; } red.roumap = ntry.roumap; continue; } if (s.equals("route-policy")) { cfgRouplc ntry = cfgAll.rtplFind(cmd.word(), false); if (ntry == null) { return null; } red.rouplc = ntry.rouplc; continue; } return null; } return red; } /** * parse up advertisement * * @param cmd command to read * @return advertisement */ public static ipRtrAdv str2advert(cmds cmd) { addrPrefix prf = addrPrefix.str2ip(cmd.word()); if (prf == null) { return null; } ipRtrAdv adv = new ipRtrAdv(prf); for (;;) { String s = cmd.word(); if (s.length() < 1) { break; } if (s.equals("metric")) { adv.metric = new tabIntUpdater(); s = cmd.word(); if (adv.metric.fromString(s + " " + cmd.word())) { return null; } continue; } if (s.equals("tag")) { adv.tag = new tabIntUpdater(); s = cmd.word(); if (adv.tag.fromString(s + " " + cmd.word())) { return null; } continue; } if (s.equals("ecmp")) { adv.ecmp = true; continue; } if (s.equals("route-map")) { cfgRoump ntry = cfgAll.rtmpFind(cmd.word(), false); if (ntry == null) { return null; } adv.roumap = ntry.roumap; continue; } if (s.equals("route-policy")) { cfgRouplc ntry = cfgAll.rtplFind(cmd.word(), false); if (ntry == null) { return null; } adv.rouplc = ntry.rouplc; continue; } return null; } return adv; } /** * parse up aggregation * * @param cmd command to read * @return aggregation */ public static ipRtrAgr str2aggreg(cmds cmd) { addrPrefix prf = addrPrefix.str2ip(cmd.word()); if (prf == null) { return null; } ipRtrAgr agr = new ipRtrAgr(prf); for (;;) { String s = cmd.word(); if (s.length() < 1) { break; } if (s.equals("metric")) { agr.metric = new tabIntUpdater(); s = cmd.word(); if (agr.metric.fromString(s + " " + cmd.word())) { return null; } continue; } if (s.equals("tag")) { agr.tag = new tabIntUpdater(); s = cmd.word(); if (agr.tag.fromString(s + " " + cmd.word())) { return null; } continue; } if (s.equals("prefix-list")) { cfgPrfxlst ntry = cfgAll.prfxFind(cmd.word(), false); if (ntry == null) { return null; } agr.prflst = ntry.prflst; continue; } if (s.equals("route-map")) { cfgRoump ntry = cfgAll.rtmpFind(cmd.word(), false); if (ntry == null) { return null; } agr.roumap = ntry.roumap; continue; } if (s.equals("route-policy")) { cfgRouplc ntry = cfgAll.rtplFind(cmd.word(), false); if (ntry == null) { return null; } agr.rouplc = ntry.rouplc; continue; } if (s.equals("as-set")) { agr.aspath = true; continue; } if (s.equals("summary-only")) { agr.summary = true; continue; } return null; } return agr; } /** * parse up interface * * @param cmd command to read * @return advertisement */ public static ipRtrInt str2advint(cmds cmd) { cfgIfc iface = cfgAll.ifcFind(cmd.word(), 0); if (iface == null) { return null; } ipRtrInt adv = new ipRtrInt(iface); for (;;) { String s = cmd.word(); if (s.length() < 1) { break; } if (s.equals("metric")) { adv.metric = new tabIntUpdater(); s = cmd.word(); if (adv.metric.fromString(s + " " + cmd.word())) { return null; } continue; } if (s.equals("tag")) { adv.tag = new tabIntUpdater(); s = cmd.word(); if (adv.tag.fromString(s + " " + cmd.word())) { return null; } continue; } if (s.equals("route-map")) { cfgRoump ntry = cfgAll.rtmpFind(cmd.word(), false); if (ntry == null) { return null; } adv.roumap = ntry.roumap; continue; } if (s.equals("route-policy")) { cfgRouplc ntry = cfgAll.rtplFind(cmd.word(), false); if (ntry == null) { return null; } adv.rouplc = ntry.rouplc; continue; } return null; } return adv; } public int compareTo(cfgRtr o) { int i = type.compareTo(o.type); if (i != 0) { return i; } if (number < o.number) { return -1; } if (number > o.number) { return +1; } return 0; } public String toString() { return "rtr " + number; } /** * create new bridge instance * * @param typ type of routing process * @param num number of bridge */ public cfgRtr(tabRouteAttr.routeType typ, int num) { type = typ; number = num; } /** * destroy this router */ public synchronized void closeUp() { running = false; if (rip4 != null) { rip4.routerCloseNow(); rip4 = null; } if (rip6 != null) { rip6.routerCloseNow(); rip6 = null; } if (babel != null) { babel.routerCloseNow(); babel = null; } if (blackhole != null) { blackhole.routerCloseNow(); blackhole = null; } if (olsr != null) { olsr.routerCloseNow(); olsr = null; } if (ospf4 != null) { ospf4.routerCloseNow(); ospf4 = null; } if (ospf6 != null) { ospf6.routerCloseNow(); ospf6 = null; } if (isis != null) { isis.routerCloseNow(); isis = null; } if (rift != null) { rift.routerCloseNow(); rift = null; } if (pvrp != null) { pvrp.routerCloseNow(); pvrp = null; } if (lsrp != null) { lsrp.routerCloseNow(); lsrp = null; } if (eigrp != null) { eigrp.routerCloseNow(); eigrp = null; } if (bgp != null) { bgp.routerCloseNow(); bgp = null; } if (msdp != null) { msdp.routerCloseNow(); msdp = null; } if (rpki != null) { rpki.routerCloseNow(); rpki = null; } if (flwspc != null) { flwspc.routerCloseNow(); flwspc = null; } if (ghosthunt != null) { ghosthunt.routerCloseNow(); ghosthunt = null; } if (uni2multi != null) { uni2multi.routerCloseNow(); uni2multi = null; } if (uni2flow != null) { uni2flow.routerCloseNow(); uni2flow = null; } if (logger != null) { logger.routerCloseNow(); logger = null; } if (download != null) { download.routerCloseNow(); download = null; } if (deaggr != null) { deaggr.routerCloseNow(); deaggr = null; } if (aggreg != null) { aggreg.routerCloseNow(); aggreg = null; } if (mobile != null) { mobile.routerCloseNow(); mobile = null; } } /** * get routing process * * @return routing process */ public synchronized ipRtr getRouter() { switch (type) { case rip4: return rip4; case rip6: return rip6; case babel4: case babel6: return babel; case blackhole4: case blackhole6: return blackhole; case olsr4: case olsr6: return olsr; case ospf4: return ospf4; case ospf6: return ospf6; case isis4: case isis6: return isis; case rift4: case rift6: return rift; case pvrp4: case pvrp6: return pvrp; case lsrp4: case lsrp6: return lsrp; case eigrp4: case eigrp6: return eigrp; case bgp4: case bgp6: return bgp; case msdp4: case msdp6: return msdp; case rpki4: case rpki6: return rpki; case flwspc4: case flwspc6: return flwspc; case ghosthunt4: case ghosthunt6: return ghosthunt; case uni2multi4: case uni2multi6: return uni2multi; case uni2flow4: case uni2flow6: return uni2flow; case logger4: case logger6: return logger; case download4: case download6: return download; case deaggr4: case deaggr6: return deaggr; case aggreg4: case aggreg6: return aggreg; case mobile4: case mobile6: return mobile; default: return null; } } /** * setup this router * * @return true on error, false if successful */ public synchronized boolean setup2run() { if (vrf == null) { return true; } fwd = null; running = true; switch (type) { case rip4: fwd = vrf.fwd4; rip4 = new rtrRip4(vrf.fwd4, vrf.udp4, number); break; case rip6: fwd = vrf.fwd6; rip6 = new rtrRip6(vrf.fwd6, vrf.udp6, number); break; case babel4: fwd = vrf.fwd4; babel = new rtrBabel(vrf.fwd4, vrf.fwd6, vrf.udp4, number); break; case babel6: fwd = vrf.fwd6; babel = new rtrBabel(vrf.fwd6, vrf.fwd4, vrf.udp6, number); break; case blackhole4: fwd = vrf.fwd4; blackhole = new rtrBlackhole(vrf.fwd4, number); break; case blackhole6: fwd = vrf.fwd6; blackhole = new rtrBlackhole(vrf.fwd6, number); break; case olsr4: fwd = vrf.fwd4; olsr = new rtrOlsr(vrf.fwd4, vrf.udp4, number); break; case olsr6: fwd = vrf.fwd6; olsr = new rtrOlsr(vrf.fwd6, vrf.udp6, number); break; case ospf4: fwd = vrf.fwd4; ospf4 = new rtrOspf4(vrf.fwd4, vrf.udp4, number); break; case ospf6: fwd = vrf.fwd6; ospf6 = new rtrOspf6(vrf.fwd6, vrf.udp6, number); break; case isis4: fwd = vrf.fwd4; isis = new rtrIsis(vrf.fwd4, vrf.fwd6, vrf.udp4, number); break; case isis6: fwd = vrf.fwd6; isis = new rtrIsis(vrf.fwd6, vrf.fwd4, vrf.udp6, number); break; case rift4: fwd = vrf.fwd4; rift = new rtrRift(vrf.fwd4, vrf.udp4, number); break; case rift6: fwd = vrf.fwd6; rift = new rtrRift(vrf.fwd6, vrf.udp6, number); break; case pvrp4: fwd = vrf.fwd4; pvrp = new rtrPvrp(vrf.fwd4, vrf.udp4, vrf.tcp4, number); break; case pvrp6: fwd = vrf.fwd6; pvrp = new rtrPvrp(vrf.fwd6, vrf.udp6, vrf.tcp6, number); break; case lsrp4: fwd = vrf.fwd4; lsrp = new rtrLsrp(vrf.fwd4, vrf.udp4, vrf.tcp4, number); break; case lsrp6: fwd = vrf.fwd6; lsrp = new rtrLsrp(vrf.fwd6, vrf.udp6, vrf.tcp6, number); break; case eigrp4: fwd = vrf.fwd4; eigrp = new rtrEigrp(vrf.fwd4, number); break; case eigrp6: fwd = vrf.fwd6; eigrp = new rtrEigrp(vrf.fwd6, number); break; case bgp4: fwd = vrf.fwd4; bgp = new rtrBgp(vrf.fwd4, vrf, vrf.tcp4, number); break; case bgp6: fwd = vrf.fwd6; bgp = new rtrBgp(vrf.fwd6, vrf, vrf.tcp6, number); break; case rpki4: fwd = vrf.fwd4; rpki = new rtrRpki(vrf.fwd4, vrf.tcp4, number); break; case rpki6: fwd = vrf.fwd6; rpki = new rtrRpki(vrf.fwd6, vrf.tcp6, number); break; case msdp4: fwd = vrf.fwd4; msdp = new rtrMsdp(vrf.fwd4, vrf.tcp4, number); break; case msdp6: fwd = vrf.fwd6; msdp = new rtrMsdp(vrf.fwd6, vrf.tcp6, number); break; case flwspc4: fwd = vrf.fwd4; flwspc = new rtrFlowspec(vrf.fwd4, number); break; case flwspc6: fwd = vrf.fwd6; flwspc = new rtrFlowspec(vrf.fwd6, number); break; case ghosthunt4: fwd = vrf.fwd4; ghosthunt = new rtrGhosthunt(vrf.fwd4, number); break; case ghosthunt6: fwd = vrf.fwd6; ghosthunt = new rtrGhosthunt(vrf.fwd6, number); break; case uni2multi4: fwd = vrf.fwd4; uni2multi = new rtrUni2multi(vrf.fwd4, number); break; case uni2multi6: fwd = vrf.fwd6; uni2multi = new rtrUni2multi(vrf.fwd6, number); break; case uni2flow4: fwd = vrf.fwd4; uni2flow = new rtrUni2flow(vrf.fwd4, number); break; case uni2flow6: fwd = vrf.fwd6; uni2flow = new rtrUni2flow(vrf.fwd6, number); break; case logger4: fwd = vrf.fwd4; logger = new rtrLogger(vrf.fwd4, number); break; case logger6: fwd = vrf.fwd6; logger = new rtrLogger(vrf.fwd6, number); break; case download4: fwd = vrf.fwd4; download = new rtrDownload(vrf.fwd4, number); break; case download6: fwd = vrf.fwd6; download = new rtrDownload(vrf.fwd6, number); break; case deaggr4: fwd = vrf.fwd4; deaggr = new rtrDeaggr(vrf.fwd4, number); break; case deaggr6: fwd = vrf.fwd6; deaggr = new rtrDeaggr(vrf.fwd6, number); break; case aggreg4: fwd = vrf.fwd4; aggreg = new rtrAggreg(vrf.fwd4, number); break; case aggreg6: fwd = vrf.fwd6; aggreg = new rtrAggreg(vrf.fwd6, number); break; case mobile4: fwd = vrf.fwd4; mobile = new rtrMobile(vrf.fwd4, number); break; case mobile6: fwd = vrf.fwd6; mobile = new rtrMobile(vrf.fwd6, number); break; default: return true; } return false; } private synchronized List getShRun(int mode, int filter) { boolean need2nd; switch (type) { case bgp4: case bgp6: case msdp4: case msdp6: case rpki4: case rpki6: need2nd = true; break; default: need2nd = false; break; } List l = new ArrayList(); switch (mode) { case 1: break; case 2: if (need2nd) { return l; } break; case 3: if (!need2nd) { return l; } break; default: return l; } String a = ""; if (embedVrf) { if (vrf != null) { a = " vrf " + vrf.name; } } l.add("router " + num2name(type) + " " + number + a); cmds.cfgLine(l, description == null, cmds.tabulator, "description", description); if (!embedVrf) { if (vrf == null) { l.add(cmds.tabulator + "no vrf"); } else { l.add(cmds.tabulator + "vrf " + vrf.name); } } ipRtr rtr = getRouter(); if (rtr != null) { rtr.routerGetConfig(l, cmds.tabulator, filter); getShRedist(l, cmds.tabulator, rtr); if (rtr.routerAutoMesh == null) { l.add(cmds.tabulator + "no automesh"); } else { l.add(cmds.tabulator + "automesh " + rtr.routerAutoMesh.listName); } } l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public List getShRun(int filter) { return getShRun(1, filter); } /** * get configuration * * @param filter filter defaults * @return configuration */ public List getShRun1(int filter) { return getShRun(2, filter); } /** * get configuration * * @param filter filter defaults * @return configuration */ public List getShRun2(int filter) { return getShRun(3, filter); } /** * get help string * * @param l list to update * @param p number start * @param e ending */ public static void getRouterList(userHelp l, int p, String e) { l.add(null, false, p + 2, new int[]{p + 3}, "bgp4", "border gateway protocol" + e); l.add(null, false, p + 2, new int[]{p + 3}, "bgp6", "border gateway protocol" + e); l.add(null, false, p + 2, new int[]{p + 3}, "ospf4", "open shortest path first" + e); l.add(null, false, p + 2, new int[]{p + 3}, "ospf6", "open shortest path first" + e); l.add(null, false, p + 2, new int[]{p + 3}, "isis4", "intermediate system intermediate system" + e); l.add(null, false, p + 2, new int[]{p + 3}, "isis6", "intermediate system intermediate system" + e); l.add(null, false, p + 2, new int[]{p + 3}, "rift4", "routing in fat trees" + e); l.add(null, false, p + 2, new int[]{p + 3}, "rift6", "routing in fat trees" + e); l.add(null, false, p + 2, new int[]{p + 3}, "pvrp4", "path vector routing protocol" + e); l.add(null, false, p + 2, new int[]{p + 3}, "pvrp6", "path vector routing protocol" + e); l.add(null, false, p + 2, new int[]{p + 3}, "lsrp4", "link state routing protocol" + e); l.add(null, false, p + 2, new int[]{p + 3}, "lsrp6", "link state routing protocol" + e); l.add(null, false, p + 2, new int[]{p + 3}, "eigrp4", "enhanced interior gateway routing protocol" + e); l.add(null, false, p + 2, new int[]{p + 3}, "eigrp6", "enhanced interior gateway routing protocol" + e); l.add(null, false, p + 2, new int[]{p + 3}, "rip4", "routing information protocol" + e); l.add(null, false, p + 2, new int[]{p + 3}, "rip6", "routing information protocol" + e); l.add(null, false, p + 2, new int[]{p + 3}, "babel4", "babel routing protocol" + e); l.add(null, false, p + 2, new int[]{p + 3}, "babel6", "babel routing protocol" + e); l.add(null, false, p + 2, new int[]{p + 3}, "blackhole4", "blackhole collector" + e); l.add(null, false, p + 2, new int[]{p + 3}, "blackhole6", "blackhole collector" + e); l.add(null, false, p + 2, new int[]{p + 3}, "olsr4", "optimized link state routing protocol" + e); l.add(null, false, p + 2, new int[]{p + 3}, "olsr6", "optimized link state routing protocol" + e); l.add(null, false, p + 2, new int[]{p + 3}, "msdp4", "multicast source discovery protocol" + e); l.add(null, false, p + 2, new int[]{p + 3}, "msdp6", "multicast source discovery protocol" + e); l.add(null, false, p + 2, new int[]{p + 3}, "rpki4", "resource public key infra protocol" + e); l.add(null, false, p + 2, new int[]{p + 3}, "rpki6", "resource public key infra protocol" + e); l.add(null, false, p + 2, new int[]{p + 3}, "flowspec4", "flowspec to flowspec rewriter" + e); l.add(null, false, p + 2, new int[]{p + 3}, "flowspec6", "flowspec to flowspec rewriter" + e); l.add(null, false, p + 2, new int[]{p + 3}, "ghosthunt4", "ghost/zombie route hunter" + e); l.add(null, false, p + 2, new int[]{p + 3}, "ghosthunt6", "ghost/zombie route hunter" + e); l.add(null, false, p + 2, new int[]{p + 3}, "uni2multi4", "unicast to multicast converter" + e); l.add(null, false, p + 2, new int[]{p + 3}, "uni2multi6", "unicast to multicast converter" + e); l.add(null, false, p + 2, new int[]{p + 3}, "uni2flow4", "unicast to flowspec converter" + e); l.add(null, false, p + 2, new int[]{p + 3}, "uni2flow6", "unicast to flowspec converter" + e); l.add(null, false, p + 2, new int[]{p + 3}, "logger4", "route logger" + e); l.add(null, false, p + 2, new int[]{p + 3}, "logger6", "route logger" + e); l.add(null, false, p + 2, new int[]{p + 3}, "download4", "route download" + e); l.add(null, false, p + 2, new int[]{p + 3}, "download6", "route download" + e); l.add(null, false, p + 2, new int[]{p + 3}, "deaggr4", "deaggregate creator" + e); l.add(null, false, p + 2, new int[]{p + 3}, "deaggr6", "deaggregate creator" + e); l.add(null, false, p + 2, new int[]{p + 3}, "aggreg4", "auto aggregate creator" + e); l.add(null, false, p + 2, new int[]{p + 3}, "aggreg6", "auto aggregate creator" + e); l.add(null, false, p + 2, new int[]{p + 3}, "mobile4", "mobile route creator" + e); l.add(null, false, p + 2, new int[]{p + 3}, "mobile6", "mobile route creator" + e); } /** * get help string * * @param l list to update * @param p number start * @param n next numbers * @param e ending */ public static void getRouterList(userHelp l, int p, int[] n, String e) { l.add(null, false, p, n, "connected", "connected routes" + e); l.add(null, false, p, n, "static", "static routes" + e); l.add(null, false, p, n, "defgw", "routes through default gateway" + e); l.add(null, false, p, n, "local", "local interface addresses" + e); l.add(null, false, p, n, "remote", "remote interface addresses" + e); } /** * get help string * * @param l list to update * @param p number start */ public static void getRedistHelp(userHelp l, int p) { l.add(null, false, p + 1, new int[]{-1}, "ecmp", "enable ecmp export to rib"); l.add(null, false, p + 1, new int[]{p + 2}, "redistribute", "redistribute prefixes from other protocols"); getRouterList(l, p + 2, new int[]{p + 4, -1}, ""); getRouterList(l, p, " routes"); l.add(null, false, p + 3, new int[]{p + 4, -1}, "", "process id"); l.add(null, false, p + 4, new int[]{p + 4, -1}, "ecmp", "process ecmp alternatives also"); l.add(null, false, p + 4, new int[]{p + 5}, "route-map", "process prefixes on importing"); l.add(null, false, p + 5, new int[]{p + 4, -1}, "", "name of route map"); l.add(null, false, p + 4, new int[]{p + 5}, "route-policy", "process prefixes on importing"); l.add(null, false, p + 5, new int[]{p + 4, -1}, "", "name of route policy"); l.add(null, false, p + 4, new int[]{p + 5}, "prefix-list", "filter prefixes on importing"); l.add(null, false, p + 5, new int[]{p + 4, -1}, "", "name of prefix list"); l.add(null, false, p + 4, new int[]{p + 5}, "metric", "set metric"); l.add(null, false, p + 5, new int[]{p + 4, -1}, "", "value"); l.add(null, false, p + 4, new int[]{p + 5}, "limit", "limit number of routes to import"); l.add(null, false, p + 5, new int[]{p + 4, -1}, "", "value"); l.add(null, false, p + 4, new int[]{p + 5}, "tag", "set tag"); l.add(null, false, p + 5, new int[]{p + 4, -1}, "", "value"); l.add(null, false, p + 1, new int[]{p + 2}, "advertise", "advertise one prefix of mine"); l.add(null, false, p + 1, new int[]{p + 2}, "readvertise", "readvertise one prefix from anywhere"); l.add(null, false, p + 2, new int[]{p + 3, -1}, "", "prefix"); l.add(null, false, p + 3, new int[]{p + 3, -1}, "ecmp", "process ecmp alternatives also"); l.add(null, false, p + 3, new int[]{p + 4}, "route-map", "set properties of advertisement"); l.add(null, false, p + 4, new int[]{p + 3, -1}, "", "name of route map"); l.add(null, false, p + 3, new int[]{p + 4}, "route-policy", "set properties of advertisement"); l.add(null, false, p + 4, new int[]{p + 3, -1}, "", "name of route policy"); l.add(null, false, p + 3, new int[]{p + 4}, "metric", "set metric"); l.add(null, false, p + 4, new int[]{p + 3, -1}, "", "value"); l.add(null, false, p + 3, new int[]{p + 4}, "tag", "set tag"); l.add(null, false, p + 4, new int[]{p + 3, -1}, "", "value"); l.add(null, false, p + 1, new int[]{p + 2}, "justadvert", "advertise interface"); l.add(null, false, p + 2, new int[]{p + 3, -1}, "", "name of interface"); l.add(null, false, p + 3, new int[]{p + 4}, "route-map", "set properties of advertisement"); l.add(null, false, p + 4, new int[]{p + 3, -1}, "", "name of route map"); l.add(null, false, p + 3, new int[]{p + 4}, "route-policy", "set properties of advertisement"); l.add(null, false, p + 4, new int[]{p + 3, -1}, "", "name of route policy"); l.add(null, false, p + 3, new int[]{p + 4}, "metric", "set metric"); l.add(null, false, p + 4, new int[]{p + 3, -1}, "", "value"); l.add(null, false, p + 3, new int[]{p + 4}, "tag", "set tag"); l.add(null, false, p + 4, new int[]{p + 3, -1}, "", "value"); l.add(null, false, p + 1, new int[]{p + 2}, "aggregate", "aggregate more prefixes"); l.add(null, false, p + 2, new int[]{p + 3, -1}, "", "prefix"); l.add(null, false, p + 3, new int[]{p + 4}, "route-map", "set properties of advertisement"); l.add(null, false, p + 4, new int[]{p + 3, -1}, "", "name of route map"); l.add(null, false, p + 3, new int[]{p + 4}, "route-policy", "set properties of advertisement"); l.add(null, false, p + 4, new int[]{p + 3, -1}, "", "name of route policy"); l.add(null, false, p + 3, new int[]{p + 4}, "prefix-list", "filter prefixes for aggregation"); l.add(null, false, p + 4, new int[]{p + 3, -1}, "", "name of prefix list"); l.add(null, false, p + 3, new int[]{p + 4}, "metric", "set metric"); l.add(null, false, p + 4, new int[]{p + 3, -1}, "", "value"); l.add(null, false, p + 3, new int[]{p + 4}, "tag", "set tag"); l.add(null, false, p + 4, new int[]{p + 3, -1}, "", "value"); l.add(null, false, p + 3, new int[]{p + 3, -1}, "as-set", "generate as path information"); l.add(null, false, p + 3, new int[]{p + 3, -1}, "summary-only", "filter more specific prefixes"); l.add(null, false, p + 1, new int[]{p + 2, -1}, "autosummary", "eliminate consecutive or subnetted prefixes"); l.add(null, false, p + 2, new int[]{p + 3}, "prefix-list", "filter prefixes for aggregation"); l.add(null, false, p + 3, new int[]{p + 2, -1}, "", "name of prefix list"); } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2}, "description", "specify description"); l.add(null, false, 2, new int[]{2, -1}, "", "description"); l.add(null, false, 1, new int[]{2}, "vrf", "specify vrf to use"); l.add(null, false, 2, new int[]{-1}, "", "name of table"); l.add(null, false, 1, new int[]{2}, "automesh", "specify auto mesh te tunnels"); l.add(null, false, 2, new int[]{-1}, "", "name of prefix list"); l.add(null, false, 1, new int[]{-1}, cmds.upgradeCli, "embed vrf name to router knob"); getRedistHelp(l, 0); ipRtr rtr = getRouter(); if (rtr != null) { rtr.routerGetHelp(l); } } public synchronized void doCfgStr(cmds cmd) { ipRtr rtr = getRouter(); if (rtr != null) { if (!rtr.routerConfigure(cmd.copyBytes(false))) { return; } } String a = cmd.word(); boolean neg = a.equals(cmds.negated); if (neg) { a = cmd.word(); } if (a.equals(cmds.upgradeCli)) { embedVrf = !neg; return; } if (a.equals("description")) { description = cmd.getRemaining(); if (neg) { description = null; } return; } if (a.equals("vrf")) { if (neg) { closeUp(); vrf = null; return; } a = cmd.word(); cfgVrf v = cfgAll.vrfFind(a, false); if (v == null) { cmd.error("no such vrf"); return; } if (vrf == v) { return; } if (vrf != null) { cmd.error("already initialized"); return; } vrf = v; setup2run(); return; } if (rtr == null) { cmd.error("not initialized"); return; } if (a.equals("automesh")) { if (neg) { rtr.routerAutoMesh = null; return; } cfgPrfxlst prf = cfgAll.prfxFind(cmd.word(), false); if (prf == null) { cmd.error("no such prefixlist"); return; } rtr.routerAutoMesh = prf.prflst; return; } if (doCfgRedist(rtr, fwd, neg, a, cmd)) { cmd.badCmd(); } } public String getPrompt() { return "rtr"; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgSched.java000066400000000000000000000333001510423065500214410ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.auth.authLocal; import org.freertr.pipe.pipeConnect; import org.freertr.pipe.pipeDiscard; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeSetting; import org.freertr.pipe.pipeSide; import org.freertr.tab.tabGen; import org.freertr.user.userExec; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.user.userRead; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.logBuf; import org.freertr.util.logger; import org.freertr.util.notifier; /** * scheduler configuration * * @author matecsaba */ public class cfgSched implements Comparable, cfgGeneric { /** * create instance * * @param s name */ public cfgSched(String s) { name = s; } /** * name of scheduler */ public String name; /** * description of this scheduler */ public String description = ""; /** * respawn on termination */ public boolean respawn = true; /** * time between runs */ public int interval; /** * initial delay */ public int initial; /** * random time between runs */ public int randInt; /** * random initial delay */ public int randIni; /** * exec command */ public String command = cmds.finish; /** * hide commands */ public boolean hidden = false; /** * action logging */ public boolean logAct = false; /** * console logging */ public boolean logCon = false; /** * console collector */ public logBuf logCol; /** * time range when allowed */ public cfgTime time; /** * console pipeline */ public pipeSide con; /** * restart count */ public int restartC; /** * restart time */ public long restartT; private pipeSide loc; /** * status, false=stopped, true=running */ protected boolean working = false; /** * notifier in use */ protected final notifier notif = new notifier(); /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("scheduler .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("scheduler .*", cmds.tabulator + "respawn", null), new userFilter("scheduler .*", cmds.tabulator + "time 0", null), new userFilter("scheduler .*", cmds.tabulator + "delay 0", null), new userFilter("scheduler .*", cmds.tabulator + "random-time 0", null), new userFilter("scheduler .*", cmds.tabulator + "random-delay 0", null), new userFilter("scheduler .*", cmds.tabulator + "command exit", null), new userFilter("scheduler .*", cmds.tabulator + cmds.negated + cmds.tabulator + "hidden", null), new userFilter("scheduler .*", cmds.tabulator + cmds.negated + cmds.tabulator + "log-actions", null), new userFilter("scheduler .*", cmds.tabulator + cmds.negated + cmds.tabulator + "log-console", null), new userFilter("scheduler .*", cmds.tabulator + cmds.negated + cmds.tabulator + "log-collect", null), new userFilter("scheduler .*", cmds.tabulator + cmds.negated + cmds.tabulator + "range", null) }; public int compareTo(cfgSched o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String toString() { return "scheduler " + name; } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2, -1}, "description", "description of this scheduler"); l.add(null, false, 2, new int[]{2, -1}, "[text]", "text describing this scheduler"); l.add(null, false, 1, new int[]{2}, "rename", "rename this scheduler"); l.add(null, false, 2, new int[]{-1}, "", "set new name"); l.add(null, false, 1, new int[]{-1}, "respawn", "restart on termination"); l.add(null, false, 1, new int[]{2}, "command", "specify command to run"); l.add(null, false, 2, new int[]{2, -1}, "", "exec command to run"); l.add(null, false, 1, new int[]{2}, "time", "specify time between runs"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds between runs"); l.add(null, false, 1, new int[]{2}, "delay", "specify initial delay"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds before start"); l.add(null, false, 1, new int[]{2}, "random-time", "specify random time between runs"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds between runs"); l.add(null, false, 1, new int[]{2}, "random-delay", "specify random initial delay"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds before start"); l.add(null, false, 1, new int[]{2}, "range", "specify time range"); l.add(null, false, 2, new int[]{-1}, "", "name of time map"); l.add(null, false, 1, new int[]{-1}, "log-actions", "log actions"); l.add(null, false, 1, new int[]{-1}, "log-console", "log console activity"); l.add(null, false, 1, new int[]{2}, "log-collect", "collect console activity"); l.add(null, false, 2, new int[]{-1}, "", "lines to store"); l.add(null, false, 1, new int[]{-1}, "stop", "stop working"); l.add(null, false, 1, new int[]{-1}, "start", "start working"); l.add(null, false, 1, new int[]{-1}, "runnow", "run one round now"); l.add(null, false, 1, new int[]{-1}, "hidden", "hide command"); } public List getShRun(int filter) { List l = new ArrayList(); l.add("scheduler " + name); cmds.cfgLine(l, description.length() < 1, cmds.tabulator, "description", description); cmds.cfgLine(l, !hidden, cmds.tabulator, "hidden", ""); cmds.cfgLine(l, !respawn, cmds.tabulator, "respawn", ""); l.add(cmds.tabulator + "time " + interval); l.add(cmds.tabulator + "delay " + initial); l.add(cmds.tabulator + "random-time " + randInt); l.add(cmds.tabulator + "random-delay " + randIni); if (hidden) { l.add(cmds.tabulator + "command " + authLocal.passwdEncode(command, (filter & 2) != 0)); } else { l.add(cmds.tabulator + "command " + command); } cmds.cfgLine(l, time == null, cmds.tabulator, "range", "" + time); cmds.cfgLine(l, !logAct, cmds.tabulator, "log-actions", ""); cmds.cfgLine(l, !logCon, cmds.tabulator, "log-console", ""); cmds.cfgLine(l, logCol == null, cmds.tabulator, "log-collect", "" + logBuf.getSize(logCol)); if (working) { l.add(cmds.tabulator + "start"); } else { l.add(cmds.tabulator + "stop"); } l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void doCfgStr(cmds cmd) { String a = cmd.word(); if (a.equals("description")) { description = cmd.getRemaining(); return; } if (a.equals("rename")) { a = cmd.word(); cfgSched v = cfgAll.schedFind(a, false); if (v != null) { cmd.error("already exists"); return; } name = a; return; } if (a.equals("respawn")) { respawn = true; return; } if (a.equals("hidden")) { hidden = true; return; } if (a.equals("time")) { interval = bits.str2num(cmd.word()); return; } if (a.equals("delay")) { initial = bits.str2num(cmd.word()); return; } if (a.equals("random-time")) { randInt = bits.str2num(cmd.word()); return; } if (a.equals("random-delay")) { randIni = bits.str2num(cmd.word()); return; } if (a.equals("command")) { command = authLocal.passwdDecode(cmd.getRemaining()); return; } if (a.equals("log-actions")) { logAct = true; return; } if (a.equals("log-collect")) { logCol = new logBuf(bits.str2num(cmd.word())); return; } if (a.equals("log-console")) { logCon = true; return; } if (a.equals("stop")) { stopNow(); return; } if (a.equals("start")) { startNow(); return; } if (a.equals("range")) { time = cfgAll.timeFind(cmd.word(), false); return; } if (a.equals("runnow")) { doRound(); return; } if (!a.equals(cmds.negated)) { cmd.badCmd(); return; } a = cmd.word(); if (a.equals("description")) { description = ""; return; } if (a.equals("time")) { interval = 0; return; } if (a.equals("delay")) { initial = 0; return; } if (a.equals("random-time")) { randInt = 0; return; } if (a.equals("random-delay")) { randIni = 0; return; } if (a.equals("respawn")) { respawn = false; return; } if (a.equals("hidden")) { hidden = false; return; } if (a.equals("log-actions")) { logAct = false; return; } if (a.equals("log-collect")) { logCol = null; return; } if (a.equals("log-console")) { logCon = false; return; } if (a.equals("range")) { time = null; return; } if (a.equals("stop")) { startNow(); return; } if (a.equals("start")) { stopNow(); return; } cmd.badCmd(); } public String getPrompt() { return "sched"; } /** * stop running */ public void stopNow() { working = false; notif.wakeup(); } /** * start running */ public void startNow() { if (working) { return; } if (interval < 1) { return; } working = true; new Thread(new cfgSchedWork(this)).start(); } /** * do one timer round */ public synchronized void doRound() { if (cfgInit.booting) { return; } if (time != null) { if (time.matches(bits.getTime() + cfgAll.timeServerOffset)) { return; } } if (logAct) { logger.info("starting " + name); } restartC++; restartT = bits.getTime(); pipeLine pipe = new pipeLine(32768, false); loc = pipe.getSide(); new Thread(new cfgSchedRead(this)).start(); pipeSide pip = pipe.getSide(); userRead rdr = new userRead(pip, null); pip.settingsPut(pipeSetting.height, 0); userExec exe = new userExec(pip, rdr); exe.privileged = true; pip.setTime(120000); pip.lineTx = pipeSide.modTyp.modeCRLF; pip.lineRx = pipeSide.modTyp.modeCRorLF; String s = exe.repairCommand(command); exe.executeCommand(s); pipe.setClose(); if (logAct) { logger.info("stopped " + name); } } /** * do read rounds */ protected void doReader() { pipeSide pipe = loc; for (;;) { if (pipe.isClosed() != 0) { break; } if (con == null) { pipeDiscard.logLines("scheduler " + name + " said ", pipe, logCon, logCol); bits.sleep(1000); continue; } boolean b = pipeConnect.redirect(pipe, con); b |= pipeConnect.redirect(con, pipe); if (b) { con.setClose(); con = null; } bits.sleep(100); } } /** * get info * * @return info */ public String getShow() { return name + "|" + restartC + "|" + bits.timePast(restartT) + "|" + bits.time2str(cfgAll.timeZoneName, restartT + cfgAll.timeServerOffset, 3); } } class cfgSchedRead implements Runnable { private cfgSched lower; public cfgSchedRead(cfgSched parent) { lower = parent; } public void run() { try { lower.doReader(); } catch (Exception e) { logger.traceback(e); } } } class cfgSchedWork implements Runnable { private cfgSched lower; public cfgSchedWork(cfgSched parent) { lower = parent; } public void run() { int del = lower.initial; if (lower.randIni > 0) { del += bits.random(1, lower.randIni); } if (del > 0) { lower.notif.sleep(del); } if (!lower.respawn) { lower.doRound(); return; } for (;;) { if (!lower.working) { break; } try { lower.doRound(); } catch (Exception e) { logger.traceback(e); } del = lower.interval; if (lower.randInt > 0) { del += bits.random(1, lower.randInt); } lower.notif.sleep(del); } } } freeRtr-25.11.9/src/org/freertr/cfg/cfgScrpt.java000066400000000000000000000346401510423065500215160ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.auth.authLocal; import org.freertr.pipe.pipeConnect; import org.freertr.pipe.pipeDiscard; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeSide; import org.freertr.tab.tabGen; import org.freertr.tab.tabListing; import org.freertr.tab.tabScrptN; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.user.userScript; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.logBuf; import org.freertr.util.logger; import org.freertr.util.notifier; /** * one script configuration * * @author matecsaba */ public class cfgScrpt implements Comparable, cfgGeneric { /** * create instance * * @param s name */ public cfgScrpt(String s) { name = s; } /** * name of this script */ public String name; /** * text of this script */ public tabListing script = new tabListing(); /** * description of this script */ public String description = ""; /** * respawn on termination */ public boolean respawn = true; /** * time between runs */ public int interval; /** * initial delay */ public int initial; /** * random time between runs */ public int randInt; /** * random initial delay */ public int randIni; /** * hide commands */ public boolean hidden = false; /** * action logging */ public boolean logAct = false; /** * console logging */ public boolean logCon = false; /** * console collector */ public logBuf logCol; /** * time range when allowed */ public cfgTime time; /** * console pipeline */ public pipeSide con; /** * restart count */ public int restartC; /** * restart time */ public long restartT; private pipeSide loc; /** * status, false=stopped, true=running */ protected boolean working = false; /** * notifier in use */ protected final notifier notif = new notifier(); /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("script .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("script .*", cmds.tabulator + "respawn", null), new userFilter("script .*", cmds.tabulator + "time 0", null), new userFilter("script .*", cmds.tabulator + "delay 0", null), new userFilter("script .*", cmds.tabulator + "random-time 0", null), new userFilter("script .*", cmds.tabulator + "random-delay 0", null), new userFilter("script .*", cmds.tabulator + cmds.negated + cmds.tabulator + "hidden", null), new userFilter("script .*", cmds.tabulator + cmds.negated + cmds.tabulator + "log-actions", null), new userFilter("script .*", cmds.tabulator + cmds.negated + cmds.tabulator + "log-console", null), new userFilter("script .*", cmds.tabulator + cmds.negated + cmds.tabulator + "log-collect", null), new userFilter("script .*", cmds.tabulator + cmds.negated + cmds.tabulator + "range", null) }; public int compareTo(cfgScrpt o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String toString() { return "script " + name; } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2, -1}, "description", "description of this script"); l.add(null, false, 2, new int[]{2, -1}, "[text]", "text describing this script"); l.add(null, false, 1, new int[]{2}, "rename", "rename this script"); l.add(null, false, 2, new int[]{-1}, "", "set new name"); l.add(null, false, 1, new int[]{-1}, "respawn", "restart on termination"); l.add(null, false, 1, new int[]{2}, "time", "specify time between runs"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds between runs"); l.add(null, false, 1, new int[]{2}, "delay", "specify initial delay"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds before start"); l.add(null, false, 1, new int[]{2}, "random-time", "specify random time between runs"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds between runs"); l.add(null, false, 1, new int[]{2}, "random-delay", "specify random initial delay"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds before start"); l.add(null, false, 1, new int[]{2}, "range", "specify time range"); l.add(null, false, 2, new int[]{-1}, "", "name of time map"); l.add(null, false, 1, new int[]{-1}, "log-actions", "log actions"); l.add(null, false, 1, new int[]{-1}, "log-console", "log console activity"); l.add(null, false, 1, new int[]{2}, "log-collect", "collect console activity"); l.add(null, false, 2, new int[]{-1}, "", "lines to store"); l.add(null, false, 1, new int[]{2}, "sequence", "sequence number of an entry"); l.add(null, false, 2, new int[]{3, -1}, "", "sequence number"); l.add(null, false, 3, new int[]{3, -1}, "", "tcl commands"); l.add(null, false, 1, new int[]{2, -1}, "reindex", "reindex route map"); l.add(null, false, 2, new int[]{3, -1}, "[num]", "initial number to start with"); l.add(null, false, 3, new int[]{-1}, "[num]", "increment number"); l.add(null, false, 1, new int[]{-1}, "stop", "stop working"); l.add(null, false, 1, new int[]{-1}, "start", "start working"); l.add(null, false, 1, new int[]{-1}, "hidden", "hide command"); l.add(null, false, 1, new int[]{-1}, "runnow", "run one round now"); } public List getShRun(int filter) { List l = new ArrayList(); l.add("script " + name); cmds.cfgLine(l, description.length() < 1, cmds.tabulator, "description", description); cmds.cfgLine(l, !hidden, cmds.tabulator, "hidden", ""); cmds.cfgLine(l, !respawn, cmds.tabulator, "respawn", ""); l.add(cmds.tabulator + "time " + interval); l.add(cmds.tabulator + "delay " + initial); l.add(cmds.tabulator + "random-time " + randInt); l.add(cmds.tabulator + "random-delay " + randIni); cmds.cfgLine(l, time == null, cmds.tabulator, "range", "" + time); cmds.cfgLine(l, !logAct, cmds.tabulator, "log-actions", ""); cmds.cfgLine(l, !logCon, cmds.tabulator, "log-console", ""); cmds.cfgLine(l, logCol == null, cmds.tabulator, "log-collect", "" + logBuf.getSize(logCol)); if (hidden) { l.addAll(script.dump(cmds.tabulator, 0x10000 | filter)); } else { l.addAll(script.dump(cmds.tabulator, filter)); } if (working) { l.add(cmds.tabulator + "start"); } else { l.add(cmds.tabulator + "stop"); } l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void doCfgStr(cmds cmd) { String a = cmd.word(); if (a.equals("description")) { description = cmd.getRemaining(); return; } if (a.equals("rename")) { a = cmd.word(); cfgScrpt v = cfgAll.scrptFind(a, false); if (v != null) { cmd.error("already exists"); return; } name = a; return; } if (a.equals("hidden")) { hidden = true; return; } if (a.equals("random-time")) { randInt = bits.str2num(cmd.word()); return; } if (a.equals("random-delay")) { randIni = bits.str2num(cmd.word()); return; } if (a.equals("time")) { interval = bits.str2num(cmd.word()); return; } if (a.equals("delay")) { initial = bits.str2num(cmd.word()); return; } if (a.equals("respawn")) { respawn = true; return; } if (a.equals("log-actions")) { logAct = true; return; } if (a.equals("log-collect")) { logCol = new logBuf(bits.str2num(cmd.word())); return; } if (a.equals("log-console")) { logCon = true; return; } if (a.equals("stop")) { stopNow(); return; } if (a.equals("start")) { startNow(); return; } if (a.equals("range")) { time = cfgAll.timeFind(cmd.word(), false); return; } if (a.equals("runnow")) { doRound(null); return; } if (a.equals("sequence")) { tabScrptN ntry = new tabScrptN(); ntry.sequence = bits.str2num(cmd.word()); ntry.lin = authLocal.passwdDecode(cmd.getRemaining()); script.del(ntry); script.add(ntry); return; } if (a.equals("reindex")) { int i = bits.str2num(cmd.word()); script.reindex(i, bits.str2num(cmd.word())); return; } if (!a.equals(cmds.negated)) { cmd.badCmd(); return; } a = cmd.word(); if (a.equals("description")) { description = ""; return; } if (a.equals("hidden")) { hidden = false; return; } if (a.equals("random-time")) { randInt = 0; return; } if (a.equals("random-delay")) { randIni = 0; return; } if (a.equals("respawn")) { respawn = false; return; } if (a.equals("log-actions")) { logAct = false; return; } if (a.equals("log-collect")) { logCol = null; return; } if (a.equals("log-console")) { logCon = false; return; } if (a.equals("range")) { time = null; return; } if (a.equals("sequence")) { tabScrptN ntry = new tabScrptN(); ntry.sequence = bits.str2num(cmd.word()); script.del(ntry); return; } cmd.badCmd(); } public String getPrompt() { return "scrpt"; } /** * get script text * * @return the script */ public List getText() { List l = new ArrayList(); for (int i = 0; i < script.size(); i++) { l.add(script.get(i).lin); } return l; } /** * stop running */ public void stopNow() { working = false; notif.wakeup(); } /** * start running */ public void startNow() { if (working) { return; } if (interval < 1) { return; } working = true; new Thread(new cfgScrptWork(this)).start(); } /** * do one timer round * * @param beg extra commands */ public synchronized void doRound(List beg) { if (cfgInit.booting) { return; } if (time != null) { if (time.matches(bits.getTime() + cfgAll.timeServerOffset)) { return; } } if (logAct) { logger.info("starting " + name); } restartC++; restartT = bits.getTime(); pipeLine pl = new pipeLine(32768, false); loc = pl.getSide(); new Thread(new cfgScrptRead(this)).start(); pipeSide pip = pl.getSide(); pip.setTime(120000); pip.lineTx = pipeSide.modTyp.modeCRLF; pip.lineRx = pipeSide.modTyp.modeCRorLF; userScript s = new userScript(pip, ""); s.allowExec = true; s.allowConfig = true; if (beg != null) { s.addLines(beg); } s.addLines(getText()); s.cmdAll(); pl.setClose(); if (logAct) { logger.info("stopped " + name); } } /** * do read rounds */ protected void doReader() { pipeSide pipe = loc; for (;;) { if (pipe.isClosed() != 0) { break; } if (con == null) { pipeDiscard.logLines("script " + name + " said ", pipe, logCon, logCol); bits.sleep(1000); continue; } boolean b = pipeConnect.redirect(pipe, con); b |= pipeConnect.redirect(con, pipe); if (b) { con.setClose(); con = null; } bits.sleep(100); } } /** * get info * * @return info */ public String getShow() { return name + "|" + restartC + "|" + bits.timePast(restartT) + "|" + bits.time2str(cfgAll.timeZoneName, restartT + cfgAll.timeServerOffset, 3); } } class cfgScrptRead implements Runnable { private cfgScrpt lower; public cfgScrptRead(cfgScrpt parent) { lower = parent; } public void run() { try { lower.doReader(); } catch (Exception e) { logger.traceback(e); } } } class cfgScrptWork implements Runnable { private cfgScrpt lower; public cfgScrptWork(cfgScrpt parent) { lower = parent; } public void run() { int del = lower.initial; if (lower.randIni > 0) { del += bits.random(1, lower.randIni); } if (del > 0) { lower.notif.sleep(del); } if (!lower.respawn) { lower.doRound(null); return; } for (;;) { if (!lower.working) { break; } try { lower.doRound(null); } catch (Exception e) { logger.traceback(e); } del = lower.interval; if (lower.randInt > 0) { del += bits.random(1, lower.randInt); } lower.notif.sleep(del); } } } freeRtr-25.11.9/src/org/freertr/cfg/cfgSensor.java000066400000000000000000001340721510423065500216740ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import java.util.zip.Deflater; import org.freertr.enc.enc7bit; import org.freertr.pack.packHolder; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeSetting; import org.freertr.pipe.pipeSide; import org.freertr.serv.servStreamingMdt; import org.freertr.tab.tabGen; import org.freertr.user.userExec; import org.freertr.user.userFilter; import org.freertr.user.userFormat; import org.freertr.user.userHelp; import org.freertr.user.userRead; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.counter; import org.freertr.enc.encXml; import org.freertr.enc.encXmlEntry; import org.freertr.util.history; import org.freertr.util.logFil; import org.freertr.util.logger; import org.freertr.enc.encPrtbuf; import org.freertr.enc.encPrtbufEntry; import org.freertr.pipe.pipeScreen; import org.freertr.util.version; /** * telemetry exporter * * @author matecsaba */ public class cfgSensor implements Runnable, Comparable, cfgGeneric { /** * name of sensor */ public String name; /** * description of this dialpeer */ public String description = null; /** * hidden sensor */ public boolean hidden; /** * command */ public String command; /** * prefix */ public String prefix; /** * prepend */ public String prepend; /** * path */ public String path; /** * skip */ public int skip; /** * key name */ public String keyN; /** * key path */ public String keyP; /** * name column */ public int namC; /** * name label */ public String namL; /** * static labels */ public String namS; /** * additional column */ public int acol = -1; /** * additional separator */ public String asep; /** * additional label */ public String alab; /** * columns */ public tabGen cols; /** * replacers */ public tabGen reps; /** * last reported */ public long last; /** * time elapsed */ public int time; /** * reports generated */ public int cnt; /** * collection interval */ public int locInt; /** * collection delay */ public int locDel; /** * collection memory */ public tabGen locMem; /** * collection file */ public logFil locFil; /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("sensor .*", cmds.tabulator + cmds.negated + cmds.tabulator + "command", null), new userFilter("sensor .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("sensor .*", cmds.tabulator + "name 0", null), new userFilter("sensor .*", cmds.tabulator + cmds.negated + cmds.tabulator + "labels", null), new userFilter("sensor .*", cmds.tabulator + "addname -1 null", null), new userFilter("sensor .*", cmds.tabulator + "skip 1", null), new userFilter("sensor .*", cmds.tabulator + cmds.negated + cmds.tabulator + "excluded", null), new userFilter("sensor .*", cmds.tabulator + "column .* style gauge", null), new userFilter("sensor .*", cmds.tabulator + "column .* type uint64", null), new userFilter("sensor .*", cmds.tabulator + "column .* split null null null", null), new userFilter("sensor .*", cmds.tabulator + "column .* help null", null), new userFilter("sensor .*", cmds.tabulator + cmds.negated + cmds.tabulator + "local interval", null), new userFilter("sensor .*", cmds.tabulator + cmds.negated + cmds.tabulator + "local delay", null), new userFilter("sensor .*", cmds.tabulator + cmds.negated + cmds.tabulator + "local memory", null), new userFilter("sensor .*", cmds.tabulator + cmds.negated + cmds.tabulator + "local file", null), new userFilter("sensor .*", cmds.tabulator + cmds.negated + cmds.tabulator + "local backup", null), new userFilter("sensor .*", cmds.tabulator + "local max-byte 0", null), new userFilter("sensor .*", cmds.tabulator + "local max-pack 0", null), new userFilter("sensor .*", cmds.tabulator + "local max-time 0", null) }; /** * create new sensor * * @param n name */ public cfgSensor(String n) { cols = new tabGen(); reps = new tabGen(); skip = 1; name = n; path = n + "/" + n; keyN = n; keyP = n + "/" + n; prefix = n; prepend = n; } public String toString() { return name; } public int compareTo(cfgSensor o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String getPrompt() { return "sensor"; } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2}, "rename", "rename this sensor"); l.add(null, false, 2, new int[]{-1}, "", "set new name"); l.add(null, false, 1, new int[]{2}, "description", "specify description"); l.add(null, false, 2, new int[]{2, -1}, "", "description"); l.add(null, false, 1, new int[]{2}, "command", "specify command to execute"); l.add(null, false, 2, new int[]{2, -1}, "", "command"); l.add(null, false, 1, new int[]{2}, "prepend", "specify prepend"); l.add(null, false, 2, new int[]{-1}, "", "name"); l.add(null, false, 1, new int[]{2}, "prefix", "specify prefix"); l.add(null, false, 2, new int[]{-1}, "", "name"); l.add(null, false, 1, new int[]{2}, "path", "specify prefix"); l.add(null, false, 2, new int[]{-1}, "", "name"); l.add(null, false, 1, new int[]{2}, "labels", "static labels"); l.add(null, false, 2, new int[]{-1}, "", "name"); l.add(null, false, 1, new int[]{2}, "key", "key column number"); l.add(null, false, 2, new int[]{3}, "", "name"); l.add(null, false, 3, new int[]{-1}, "", "path"); l.add(null, false, 1, new int[]{2}, "name", "name column number"); l.add(null, false, 2, new int[]{3, -1}, "", "column number"); l.add(null, false, 3, new int[]{-1}, "", "label"); l.add(null, false, 1, new int[]{2}, "addname", "add name column number"); l.add(null, false, 2, new int[]{3}, "", "column number"); l.add(null, false, 3, new int[]{4, -1}, "", "separator, * means empty"); l.add(null, false, 4, new int[]{-1}, "", "label"); l.add(null, false, 1, new int[]{2}, "skip", "rows to skip"); l.add(null, false, 2, new int[]{-1}, "", "lines to skip"); l.add(null, false, 1, new int[]{2}, "replace", "define replaces in name"); l.add(null, false, 2, new int[]{3}, "", "string to replace"); l.add(null, false, 3, new int[]{-1}, "", "replacement string"); l.add(null, false, 1, new int[]{2}, "column", "define column to export"); l.add(null, false, 2, new int[]{3}, "", "number"); l.add(null, false, 3, new int[]{4, -1}, "name", "set name"); l.add(null, false, 4, new int[]{5, -1}, "", "name, * means empty"); l.add(null, false, 5, new int[]{-1}, "", "label"); l.add(null, false, 3, new int[]{4}, "type", "set type"); l.add(null, false, 4, new int[]{-1}, "bytes", "bytes"); l.add(null, false, 4, new int[]{-1}, "string", "string"); l.add(null, false, 4, new int[]{-1}, "bool", "boolean"); l.add(null, false, 4, new int[]{-1}, "uint32", "unsigned 32bit integer"); l.add(null, false, 4, new int[]{-1}, "uint64", "unsigned 64bit integer"); l.add(null, false, 4, new int[]{-1}, "sint32", "signed 32bit integer"); l.add(null, false, 4, new int[]{-1}, "sint64", "signed 64bit integer"); l.add(null, false, 4, new int[]{-1}, "float", "32bit floating point number"); l.add(null, false, 4, new int[]{-1}, "double", "64bit floating point number"); l.add(null, false, 3, new int[]{4}, "style", "set style"); l.add(null, false, 4, new int[]{-1}, "gauge", "gauge"); l.add(null, false, 4, new int[]{-1}, "counter", "counter"); l.add(null, false, 3, new int[]{4}, "help", "set help"); l.add(null, false, 4, new int[]{4, -1}, "", "help"); l.add(null, false, 3, new int[]{4}, "replace", "define replaces in value"); l.add(null, false, 4, new int[]{5}, "", "string to replace"); l.add(null, false, 5, new int[]{-1}, "", "replacement string"); l.add(null, false, 3, new int[]{4}, "split", "define split of value"); l.add(null, false, 4, new int[]{5}, "", "delimiter"); l.add(null, false, 5, new int[]{6}, "", "first label"); l.add(null, false, 6, new int[]{-1}, "", "second label"); l.add(null, false, 1, new int[]{2}, "local", "local collection options"); l.add(null, false, 2, new int[]{3}, "interval", "collection interval"); l.add(null, false, 3, new int[]{-1}, "", "time in ms"); l.add(null, false, 2, new int[]{3}, "delay", "collection delay"); l.add(null, false, 3, new int[]{-1}, "", "time in ms"); l.add(null, false, 2, new int[]{-1}, "memory", "collect to memory"); l.add(null, false, 2, new int[]{3}, "file", "collect to file"); l.add(null, false, 3, new int[]{-1}, "", "file name"); l.add(null, false, 2, new int[]{3}, "max-pack", "maximum packets"); l.add(null, false, 3, new int[]{-1}, "", "packets between backups"); l.add(null, false, 2, new int[]{3}, "max-byte", "maximum bytes"); l.add(null, false, 3, new int[]{-1}, "", "bytes"); l.add(null, false, 2, new int[]{3}, "max-time", "maximum time"); l.add(null, false, 3, new int[]{-1}, "", "time in ms"); l.add(null, false, 2, new int[]{3}, "backup", "backup to file"); l.add(null, false, 3, new int[]{-1}, "", "file name"); } public List getShRun(int filter) { List l = new ArrayList(); if (hidden) { return l; } l.add("sensor " + name); cmds.cfgLine(l, description == null, cmds.tabulator, "description", description); l.add(cmds.tabulator + "path " + path); l.add(cmds.tabulator + "prefix " + prefix); l.add(cmds.tabulator + "prepend " + prepend); cmds.cfgLine(l, command == null, cmds.tabulator, "command", "" + command); String a = ""; if (namL != null) { a = " " + namL; } l.add(cmds.tabulator + "name " + namC + a); l.add(cmds.tabulator + "key " + keyN + " " + keyP); if (namS != null) { l.add(cmds.tabulator + "labels " + namS); } else { l.add(cmds.tabulator + "no labels"); } a = ""; if (alab != null) { a = " " + alab; } l.add(cmds.tabulator + "addname " + acol + " " + asep + a); l.add(cmds.tabulator + "skip " + skip); for (int i = 0; i < reps.size(); i++) { cfgSensorRep rep = reps.get(i); l.add(cmds.tabulator + "replace " + rep.src + " " + rep.trg); } for (int o = 0; o < cols.size(); o++) { cfgSensorCol col = cols.get(o); String cn = cmds.tabulator + "column " + col.num; a = ""; if (col.lab != null) { a = " " + col.lab; } l.add(cn + " name " + col.nam + a); l.add(cn + " style " + col.sty); l.add(cn + " type " + servStreamingMdt.type2string(col.typ)); l.add(cn + " help " + col.hlp); l.add(cn + " split " + col.splS + " " + col.splL + " " + col.splR); for (int i = 0; i < col.reps.size(); i++) { cfgSensorRep rep = col.reps.get(i); l.add(cn + " replace " + rep.src + " " + rep.trg); } } cmds.cfgLine(l, locInt < 1, cmds.tabulator, "local interval", "" + locInt); cmds.cfgLine(l, locDel < 1, cmds.tabulator, "local delay", "" + locDel); cmds.cfgLine(l, locMem == null, cmds.tabulator, "local memory", ""); if (locFil == null) { l.add(cmds.tabulator + "no local file"); } else { l.add(cmds.tabulator + "local file " + locFil.name()); cmds.cfgLine(l, locFil.rotateN() == null, cmds.tabulator, "local backup", locFil.rotateN()); l.add(cmds.tabulator + "local max-time " + locFil.rotateT()); l.add(cmds.tabulator + "local max-pack " + locFil.rotateL()); l.add(cmds.tabulator + "local max-byte " + locFil.rotateS()); } l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void doCfgStr(cmds cmd) { String s = cmd.word(); boolean negated = s.equals(cmds.negated); if (negated) { s = cmd.word(); } if (s.equals("rename")) { s = cmd.word(); cfgSensor v = cfgAll.sensorFind(s, false); if (v != null) { cmd.error("already exists"); return; } name = s; return; } if (s.equals("description")) { description = cmd.getRemaining(); if (negated) { description = null; } return; } if (s.equals("local")) { s = cmd.word(); if (s.equals("interval")) { if (negated) { locInt = 0; return; } locInt = bits.str2num(cmd.word()); new Thread(this).start(); return; } if (s.equals("delay")) { if (negated) { locDel = 0; return; } locDel = bits.str2num(cmd.word()); new Thread(this).start(); return; } if (s.equals("memory")) { if (negated) { locMem = null; return; } locMem = new tabGen(); return; } if (s.equals("file")) { try { locFil.close(); } catch (Exception e) { } if (negated) { locFil = null; return; } locFil = new logFil(cmd.getRemaining()); locFil.open(false); return; } if (locFil == null) { cmd.error("not enabled"); return; } if (s.equals("backup")) { if (negated) { locFil.rotate(null, 0, 0, 0); return; } locFil.rotate(cmd.getRemaining(), locFil.rotateS(), locFil.rotateT(), locFil.rotateL()); return; } if (s.equals("max-pack")) { if (negated) { locFil.rotate(locFil.rotateN(), locFil.rotateS(), locFil.rotateT(), 0); return; } locFil.rotate(locFil.rotateN(), locFil.rotateS(), locFil.rotateT(), bits.str2num(cmd.word())); return; } if (s.equals("max-byte")) { if (negated) { locFil.rotate(locFil.rotateN(), 0, locFil.rotateT(), locFil.rotateL()); return; } locFil.rotate(locFil.rotateN(), bits.str2num(cmd.word()), locFil.rotateT(), locFil.rotateL()); return; } if (s.equals("max-time")) { if (negated) { locFil.rotate(locFil.rotateN(), locFil.rotateS(), 0, locFil.rotateL()); return; } locFil.rotate(locFil.rotateN(), locFil.rotateS(), bits.str2num(cmd.word()), locFil.rotateL()); return; } cmd.badCmd(); return; } if (s.equals("command")) { command = cmd.getRemaining(); if (negated) { command = null; } return; } if (s.equals("path")) { path = cmd.getRemaining(); return; } if (s.equals("prefix")) { prefix = cmd.getRemaining(); return; } if (s.equals("prepend")) { prepend = cmd.word(); return; } if (s.equals("key")) { keyN = cmd.word(); keyP = cmd.word(); return; } if (s.equals("name")) { namC = bits.str2num(cmd.word()); if (cmd.size() < 1) { namL = null; } else { namL = cmd.word(); } return; } if (s.equals("labels")) { if (negated) { namS = null; } else { namS = cmd.word(); } return; } if (s.equals("addname")) { if (negated) { acol = -1; asep = null; alab = null; return; } acol = bits.str2num(cmd.word()); asep = cmd.word(); if (cmd.size() < 1) { alab = null; } else { alab = cmd.word(); } return; } if (s.equals("skip")) { skip = bits.str2num(cmd.word()); return; } if (s.equals("replace")) { cfgSensorRep rep = new cfgSensorRep(cmd.word()); rep.trg = cmd.word(); if (negated) { reps.del(rep); } else { reps.add(rep); } return; } if (!s.equals("column")) { cmd.badCmd(); return; } cfgSensorCol col = new cfgSensorCol(bits.str2num(cmd.word())); cfgSensorCol oldc = cols.add(col); if (oldc != null) { col = oldc; } s = cmd.word(); if (s.equals("name")) { if (negated) { cols.del(col); return; } col.nam = cmd.word(); if (cmd.size() < 1) { col.lab = null; } else { col.lab = cmd.word(); } return; } if (s.equals("help")) { if (negated) { col.hlp = null; } else { col.hlp = cmd.getRemaining(); } return; } if (s.equals("type")) { col.typ = servStreamingMdt.string2type(cmd.word()); return; } if (s.equals("style")) { col.sty = cmd.word(); return; } if (s.equals("split")) { if (negated) { col.splS = null; col.splL = null; col.splR = null; } else { col.splS = cmd.word(); col.splL = cmd.word(); col.splR = cmd.word(); } return; } if (s.equals("replace")) { cfgSensorRep rep = new cfgSensorRep(cmd.word()); rep.trg = cmd.word(); if (negated) { col.reps.del(rep); } else { col.reps.add(rep); } return; } } /** * get result * * @return result */ public List getResult() { if (command == null) { return new ArrayList(); } pipeLine pl = new pipeLine(1024 * 1024, false); pipeSide pip = pl.getSide(); pip.lineTx = pipeSide.modTyp.modeCRLF; pip.lineRx = pipeSide.modTyp.modeCRorLF; userRead rdr = new userRead(pip, null); pip.settingsPut(pipeSetting.tabMod, userFormat.tableMode.raw); pip.settingsPut(pipeSetting.height, 0); userExec exe = new userExec(pip, rdr); exe.privileged = true; pip.setTime(120000); String a = exe.repairCommand(command); exe.executeCommand(a); pip = pl.getSide(); pl.setClose(); pip.lineTx = pipeSide.modTyp.modeCRLF; pip.lineRx = pipeSide.modTyp.modeCRtryLF; List lst = new ArrayList(); for (;;) { if (pip.ready2rx() < 1) { break; } a = pip.lineGet(1); if (a.length() < 1) { continue; } lst.add(a); } return lst; } private void doMetricKvGpb(packHolder pck2, packHolder pck3, int typ, String nam, String val) { encPrtbuf pb2 = new encPrtbuf(); pb2.putField(servStreamingMdt.fnName, encPrtbufEntry.tpBuf, nam.getBytes()); switch (typ) { case servStreamingMdt.fnByte: pb2.putField(typ, encPrtbufEntry.tpBuf, val.getBytes()); break; case servStreamingMdt.fnString: pb2.putField(typ, encPrtbufEntry.tpBuf, val.getBytes()); break; case servStreamingMdt.fnBool: pb2.putField(typ, encPrtbufEntry.tpInt, bits.str2num(val)); break; case servStreamingMdt.fnUint32: case servStreamingMdt.fnUint64: pb2.putField(typ, encPrtbufEntry.tpInt, bits.str2long(val)); break; case servStreamingMdt.fnSint32: case servStreamingMdt.fnSint64: pb2.putField(typ, encPrtbufEntry.tpInt, encPrtbuf.toZigzag(bits.str2long(val))); break; case servStreamingMdt.fnDouble: double d; try { d = Double.parseDouble(val); } catch (Exception e) { return; } pb2.putField(typ, encPrtbufEntry.tpInt, Double.doubleToLongBits(d)); break; case servStreamingMdt.fnFloat: float f; try { f = Float.parseFloat(val); } catch (Exception e) { return; } pb2.putField(typ, encPrtbufEntry.tpInt, Float.floatToIntBits(f)); break; default: return; } pck3.clear(); pb2.toPacket(pck3); pb2.clear(); pb2.putField(servStreamingMdt.fnFields, encPrtbufEntry.tpBuf, pck3.getCopy()); pb2.toPacket(pck2); pb2.clear(); } private void doMetricNetConf(encXml res, String nam, String val) { res.data.add(new encXmlEntry(null, nam, "", val)); } private List doSplitLine(String a) { cmds cm = new cmds("tele", a); List cl = new ArrayList(); for (;;) { a = cm.word(";"); if (a.length() < 1) { break; } cl.add(a); } return cl; } private void doMetricProm(List lst, String nb, String labs, String val) { if (labs.length() > 0) { labs = "{" + labs.substring(1, labs.length()) + "}"; } lst.add(nb + labs + " " + val); } private static String doReplaces(String a, tabGen reps) { for (int i = 0; i < reps.size(); i++) { cfgSensorRep rep = reps.get(i); a = a.replaceAll(rep.src, rep.trg); } return a; } private packHolder doLineKvGpb(String a) { List cl = doSplitLine(a); int cls = cl.size(); if (namC >= cls) { return null; } encPrtbuf pb = new encPrtbuf(); a = cl.get(namC); if ((acol >= 0) && (acol < cls)) { if (!asep.equals("*")) { a += asep; } a += cl.get(acol); } a = doReplaces(a, reps); packHolder pck1 = new packHolder(true, true); packHolder pck2 = new packHolder(true, true); packHolder pck3 = new packHolder(true, true); pb.putField(servStreamingMdt.fnName, encPrtbufEntry.tpBuf, keyN.getBytes()); pb.putField(servStreamingMdt.fnString, encPrtbufEntry.tpBuf, a.getBytes()); pb.toPacket(pck1); pb.clear(); pb.putField(servStreamingMdt.fnName, encPrtbufEntry.tpBuf, servStreamingMdt.nmDat.getBytes()); pb.toPacket(pck2); pb.clear(); for (int o = 0; o < cols.size(); o++) { cfgSensorCol cc = cols.get(o); if (cl.size() <= cc.num) { continue; } a = doReplaces(cl.get(cc.num), cc.reps); if (cc.splS == null) { doMetricKvGpb(pck2, pck3, cc.typ, cc.nam, a); continue; } int i = a.indexOf(cc.splS); if (i < 0) { doMetricKvGpb(pck2, pck3, cc.typ, cc.nam, a); continue; } doMetricKvGpb(pck2, pck3, cc.typ, cc.nam + cc.splL, a.substring(0, i)); doMetricKvGpb(pck2, pck3, cc.typ, cc.nam + cc.splR, a.substring(i + cc.splS.length(), a.length())); } encPrtbuf pb2 = new encPrtbuf(); pb2.putField(servStreamingMdt.fnName, encPrtbufEntry.tpBuf, servStreamingMdt.nmKey.getBytes()); pb2.putField(servStreamingMdt.fnFields, encPrtbufEntry.tpBuf, pck1.getCopy()); pck3.clear(); pb2.toPacket(pck3); pb2.clear(); pb.putField(servStreamingMdt.fnFields, encPrtbufEntry.tpBuf, pck3.getCopy()); pb.putField(servStreamingMdt.fnFields, encPrtbufEntry.tpBuf, pck2.getCopy()); pck3.clear(); pb.toPacket(pck3); return pck3; } private String doLineCsv(String a) { List cl = doSplitLine(a); int cls = cl.size(); if (namC >= cls) { return null; } a = cl.get(namC); if ((acol >= 0) && (acol < cls)) { a += ";" + cl.get(acol); } String beg = prepend + doReplaces(a, reps); for (int o = 0; o < cols.size(); o++) { cfgSensorCol cc = cols.get(o); if (cl.size() <= cc.num) { continue; } a = doReplaces(cl.get(cc.num), cc.reps); if (cc.splS == null) { beg += ";" + a; continue; } int i = a.indexOf(cc.splS); if (i < 0) { beg += ";" + a; continue; } beg += ";" + a.substring(0, i); beg += ";" + a.substring(i + cc.splS.length(), a.length()); } return beg; } private void doLineMem(String beg, int col, long mul, String val) { cfgSensorMem ntry = new cfgSensorMem(beg, col); cfgSensorMem old = locMem.add(ntry); if (old != null) { ntry = old; } else { ntry.hist = new history(); } counter cntr = new counter(); cntr.packRx = bits.str2long(val) * mul; cntr.packTx = cntr.packRx; ntry.hist.update(cntr, false); } private void doLineMem(String a) { List cl = doSplitLine(a); int cls = cl.size(); if (namC >= cls) { return; } a = cl.get(namC); if ((acol >= 0) && (acol < cls)) { if (!asep.equals("*")) { a += asep; } a += cl.get(acol); } String beg = doReplaces(a, reps); long mul = locInt / 1000; if (mul < 1) { mul = 1; } for (int o = 0; o < cols.size(); o++) { cfgSensorCol cc = cols.get(o); if (cl.size() <= cc.num) { continue; } a = doReplaces(cl.get(cc.num), cc.reps); if (cc.splS == null) { doLineMem(beg, cc.num, mul, a); continue; } int i = a.indexOf(cc.splS); if (i < 0) { doLineMem(beg, cc.num, mul, a); continue; } doLineMem(beg, cc.num, mul, a.substring(0, i)); doLineMem(beg, cc.num, mul, a.substring(i + cc.splS.length(), a.length())); } } private void doLineNetConf(encXml res, String beg, String a) { List cl = doSplitLine(a); int cls = cl.size(); if (namC >= cls) { return; } a = cl.get(namC); if ((acol >= 0) && (acol < cls)) { if (!asep.equals("*")) { a += asep; } a += cl.get(acol); } a = doReplaces(a, reps); res.data.add(new encXmlEntry(null, beg + keyP + "/" + keyN, "", a)); for (int o = 0; o < cols.size(); o++) { cfgSensorCol cc = cols.get(o); if (cl.size() <= cc.num) { continue; } a = doReplaces(cl.get(cc.num), cc.reps); if (cc.splS == null) { doMetricNetConf(res, beg + path + "/" + cc.nam, a); continue; } int i = a.indexOf(cc.splS); if (i < 0) { doMetricNetConf(res, beg + path + "/" + cc.nam, a); continue; } doMetricNetConf(res, beg + path + "/" + cc.nam + cc.splL, a.substring(0, i)); doMetricNetConf(res, beg + path + "/" + cc.nam + cc.splR, a.substring(i + cc.splS.length(), a.length())); } int i = keyP.lastIndexOf("/"); if (i < 0) { i = keyP.length(); } res.data.add(new encXmlEntry(null, beg + keyP.substring(0, i), "", "")); } private void doLineProm(List lst, List smt, String a) { List cl = doSplitLine(a); int cls = cl.size(); if (namC >= cls) { return; } String na = prepend; String nc = cl.get(namC); String nd = ""; if ((acol >= 0) && (acol < cls)) { a = asep; if (asep.equals("*")) { a = ""; } nd = a + cl.get(acol); } na = doReplaces(na, reps); nc = doReplaces(nc, reps); nd = doReplaces(nd, reps); if (namL == null) { na += nc; na += nd; } for (int o = 0; o < cols.size(); o++) { cfgSensorCol cc = cols.get(o); if (cl.size() <= cc.num) { continue; } String nb = na; if (!cc.nam.equals("*")) { nb += cc.nam; } String labs = ""; if (namS != null) { labs += "," + namS; } if (namL != null) { labs += "," + namL + "\"" + nc + "\""; } if (alab != null) { labs += "," + alab + "\"" + nd + "\""; } if (cc.lab != null) { labs += "," + cc.lab; } if (smt.indexOf(nb) < 0) { String h; if (cc.hlp == null) { h = " column " + cc.num + " of " + command; } else { h = " " + cc.hlp; } lst.add("# HELP " + nb + h); lst.add("# TYPE " + nb + " " + cc.sty); smt.add(nb); } a = doReplaces(cl.get(cc.num), cc.reps); if (cc.splS == null) { doMetricProm(lst, nb, labs, a); continue; } int i = a.indexOf(cc.splS); if (i < 0) { doMetricProm(lst, nb, labs, a); continue; } doMetricProm(lst, nb, labs + "," + cc.splL, a.substring(0, i)); doMetricProm(lst, nb, labs + "," + cc.splR, a.substring(i + cc.splS.length(), a.length())); } } /** * generate report * * @return report, null on error */ public packHolder getReportKvGpb() { last = bits.getTime(); cnt++; List res = getResult(); for (int i = 0; i < skip; i++) { if (res.size() < 1) { break; } res.remove(0); } packHolder pck = new packHolder(true, true); encPrtbuf pb = new encPrtbuf(); pb.putField(servStreamingMdt.rpStart, encPrtbufEntry.tpInt, last); pb.putField(servStreamingMdt.rpTime, encPrtbufEntry.tpInt, last); pb.putField(servStreamingMdt.rpNodeStr, encPrtbufEntry.tpBuf, cfgAll.hostName.getBytes()); pb.putField(servStreamingMdt.rpSubsStr, encPrtbufEntry.tpBuf, name.getBytes()); pb.putField(servStreamingMdt.rpEnc, encPrtbufEntry.tpBuf, (prefix + ":" + path).getBytes()); pb.toPacket(pck); pb.clear(); for (int i = 0; i < res.size(); i++) { packHolder ln = doLineKvGpb(res.get(i)); if (ln == null) { continue; } pb.putField(servStreamingMdt.rpKvgpb, encPrtbufEntry.tpBuf, ln.getCopy()); pb.toPacket(pck); pb.clear(); } long tim = bits.getTime(); pb.putField(servStreamingMdt.rpStop, encPrtbufEntry.tpInt, tim); pb.toPacket(pck); time = (int) (tim - last); return pck; } /** * generate report * * @param rep report * @param beg beginning */ public void getReportNetConf(encXml rep, String beg) { last = bits.getTime(); cnt++; List res = getResult(); for (int i = 0; i < skip; i++) { if (res.size() < 1) { break; } res.remove(0); } for (int i = 0; i < res.size(); i++) { doLineNetConf(rep, beg, res.get(i)); } time = (int) (bits.getTime() - last); } /** * generate report * * @return report */ public List getReportProm() { last = bits.getTime(); cnt++; List lst = new ArrayList(); List res = getResult(); for (int i = 0; i < skip; i++) { if (res.size() < 1) { break; } res.remove(0); } List smt = new ArrayList(); for (int p = 0; p < res.size(); p++) { doLineProm(lst, smt, res.get(p)); } time = (int) (bits.getTime() - last); return lst; } /** * generate report * * @return report */ public List getReportCsv() { last = bits.getTime(); cnt++; List lst = new ArrayList(); List res = getResult(); for (int i = 0; i < skip; i++) { if (res.size() < 1) { break; } res.remove(0); } for (int p = 0; p < res.size(); p++) { String a = doLineCsv(res.get(p)); if (a == null) { continue; } lst.add(last + ";" + a); } time = (int) (bits.getTime() - last); return lst; } /** * get yang * * @return result */ public List getYang() { List res = new ArrayList(); res.add("module " + prefix + " {"); res.add(" namespace \"" + version.homeUrl + "yang/" + prefix + "\";"); res.add(" prefix \"" + prefix + "\";"); cmds cp = new cmds("ya", path); cmds ck = new cmds("ya", keyP); String id = " "; boolean key = false; for (;;) { if (cp.size() < 1) { break; } if (key) { res.add(id + "key \"" + keyN + "\";"); res.add(id + "leaf " + keyN + " {"); res.add(id + " type string;"); res.add(id + "}"); key = false; } String a = cp.word("/"); String s = ck.word("/"); String m = "container "; if ((s.length() > 0) && (ck.size() < 1)) { m = "list "; key = true; } res.add(id + m + a + " {"); id += " "; } for (int i = 0; i < cols.size(); i++) { cfgSensorCol col = cols.get(i); if (col.splS == null) { res.add(id + "leaf " + col.nam + " {"); res.add(id + " type " + servStreamingMdt.type2string(col.typ) + ";"); if (col.hlp != null) { res.add(id + " description \"" + col.hlp + "\";"); } res.add(id + "}"); continue; } res.add(id + "leaf " + col.nam + col.splL + " {"); res.add(id + " type " + servStreamingMdt.type2string(col.typ) + ";"); if (col.hlp != null) { res.add(id + " description \"" + col.hlp + "\";"); } res.add(id + "}"); res.add(id + "leaf " + col.nam + col.splR + " {"); res.add(id + " type " + servStreamingMdt.type2string(col.typ) + ";"); if (col.hlp != null) { res.add(id + " description \"" + col.hlp + "\";"); } res.add(id + "}"); } for (; id.length() > 0;) { id = id.substring(0, id.length() - 2); res.add(id + "}"); } return res; } private byte[] compressReply(List lst) { byte[] buf = bits.lst2str(lst, "\r").getBytes(); Deflater cmp = new Deflater(); cmp.setInput(buf); cmp.finish(); int i = cmp.deflate(buf); byte[] res = new byte[i]; bits.byteCopy(buf, 0, res, 0, res.length); return res; } /** * get show * * @return result */ public userFormat getShowDetail() { userFormat res = new userFormat("|", "category|value"); res.add("name|" + name); res.add("command|" + command); res.add("path|" + path); res.add("prefix|" + prefix); res.add("reply|" + time + " ms"); res.add("asked|" + cnt + " times"); res.add("last|" + bits.time2str(cfgAll.timeZoneName, last + cfgAll.timeServerOffset, 3)); res.add("ago|" + bits.timePast(last)); return res; } /** * get show * * @return result */ public List getShowNetconf() { encXml xml = new encXml(); getReportNetConf(xml, "/"); return xml.show(); } /** * get show * * @return result */ public List getShowXml() { encXml xml = new encXml(); getReportNetConf(xml, "/"); return xml.toXMLlst(); } /** * get show * * @return result */ public List getShowKvgpb() { byte[] buf = getReportKvGpb().getCopy(); List res = new ArrayList(); enc7bit.buf2hex(res, buf, 0, ""); return res; } /** * get show * * @return result */ public List getShowMemory() { List lst = new ArrayList(); if (locMem == null) { return lst; } for (int i = 0; i < locMem.size(); i++) { locMem.get(i).dump(lst); } return lst; } /** * get show * * @param col column * @param scr screen */ public void getShowGraph(int col, pipeScreen scr) { if (locFil == null) { return; } getShowGraph(locFil.name(), col, scr); } /** * get show * * @param col column * @param scr screen */ public void getShowOldGraph(int col, pipeScreen scr) { if (locFil == null) { return; } getShowGraph(locFil.rotateN(), col, scr); } private void getShowGraph(String a, int col, pipeScreen scr) { if (a == null) { return; } List res = bits.txt2buf(a); if (res == null) { return; } if (res.size() < scr.sizX) { return; } int sizX = scr.sizX - 6; int sizY = scr.sizY - 3; cmds cmd = new cmds("ts", res.get(0)); long beg = bits.str2long(cmd.word(";")); cmd = new cmds("ts", res.get(res.size() - 1)); long end = bits.str2long(cmd.word(";")); end -= beg; end /= sizX; long[] avg = new long[sizX]; long[] min = new long[sizX]; long[] max = new long[sizX]; int pos = 0; for (int i = 0; i < avg.length; i++) { long sum = 0; long vMin = Long.MAX_VALUE; long vMax = Long.MIN_VALUE; int ok = 0; for (;;) { cmd = new cmds("ts", res.get(pos)); long cur = bits.str2long(cmd.word(";")); cur -= beg; cur /= end; if (cur > i) { break; } pos++; for (int o = 0; o < col; o++) { cmd.word(";"); } cur = bits.str2long(cmd.word(";")); if (cur < vMin) { vMin = cur; } if (cur > vMax) { vMax = cur; } sum += cur; ok++; } if (ok < 1) { return; } avg[i] = sum / ok; min[i] = vMin; max[i] = vMax; } long cMin = min[0]; long cMax = max[0]; for (int i = 1; i < avg.length; i++) { if (min[i] < cMin) { cMin = min[i]; } if (max[i] > cMax) { cMax = max[i]; } } cMax -= cMin; cMax /= sizY; if (cMax < 1) { cMax = 1; } for (int i = 1; i < avg.length; i++) { getShowGraph(scr, sizY, i, min[i], cMin, cMax, "-"); getShowGraph(scr, sizY, i, max[i], cMin, cMax, "+"); getShowGraph(scr, sizY, i, avg[i], cMin, cMax, "*"); } for (int i = 0; i < sizY; i++) { scr.putStr(sizX, i, pipeScreen.colBlack, pipeScreen.colWhite, false, "|" + bits.toUser(cMin + (cMax * (sizY - i)))); } scr.putStr(0, sizY, pipeScreen.colBlack, pipeScreen.colWhite, false, bits.padEnd("", sizX, "-") + "/"); a = ""; for (int i = 0; i <= sizX; i += 15) { scr.putStr(i, sizY + 1, pipeScreen.colBlack, pipeScreen.colWhite, false, bits.time2str(cfgAll.timeZoneName, beg + (i * end), 1)); } } private void getShowGraph(pipeScreen scr, int max, int i, long v, long cMin, long cMax, String ch) { v -= cMin; v /= cMax; int ln = max - (int) v; if (ln < 0) { ln = 0; } if (ln >= max) { ln = max - 1; } scr.putStr(i, ln, pipeScreen.colBlack, pipeScreen.colWhite, false, ch); } /** * get show * * @return result */ public List getShowHistory() { if (locFil == null) { return null; } return bits.txt2buf(locFil.name()); } /** * stop collection */ public void stopWork() { locInt = -1; } private void doLocalCollect() { if (locMem != null) { last = bits.getTime(); cnt++; List res = getResult(); for (int i = 0; i < skip; i++) { if (res.size() < 1) { break; } res.remove(0); } for (int p = 0; p < res.size(); p++) { doLineMem(res.get(p)); } time = (int) (bits.getTime() - last); } if (locFil == null) { return; } List res = getReportCsv(); for (int i = 0; i < res.size(); i++) { locFil.add(res.get(i)); } } public void run() { if (locDel > 0) { bits.sleep(locDel); } for (;;) { if (locInt < 1) { break; } bits.sleep(locInt); try { doLocalCollect(); } catch (Exception e) { logger.traceback(e); } } } } class cfgSensorRep implements Comparable { public final String src; public String trg; public cfgSensorRep(String n) { src = n; } public int compareTo(cfgSensorRep o) { return src.compareTo(o.src); } } class cfgSensorCol implements Comparable { public final int num; public String nam; public String hlp; public String lab; public String splS; public String splL; public String splR; public int typ = servStreamingMdt.fnUint64; public String sty = "gauge"; public tabGen reps = new tabGen(); public cfgSensorCol(int n) { num = n; } public int compareTo(cfgSensorCol o) { if (num < o.num) { return -1; } if (num > o.num) { return +1; } return 0; } } class cfgSensorMem implements Comparable { public final String key; public final int col; public history hist; public cfgSensorMem(String k, int c) { key = k; col = c; } public int compareTo(cfgSensorMem o) { if (col < o.col) { return -1; } if (col > o.col) { return +1; } return key.compareTo(o.key); } public void dump(List lst) { lst.add(key + " column " + col + ":"); lst.addAll(hist.show(6)); } } freeRtr-25.11.9/src/org/freertr/cfg/cfgSessn.java000066400000000000000000000145711510423065500215170ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.tab.tabGen; import org.freertr.tab.tabSession; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.cmds; /** * stateful session configuration * * @author matecsaba */ public class cfgSessn implements Comparable, cfgGeneric { /** * name of session */ public String name; /** * description of this dialpeer */ public String description = null; /** * sessions */ public tabSession connects = new tabSession(true, 180000); /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("session .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("session .*", cmds.tabulator + cmds.negated + cmds.tabulator + "timeout", null), new userFilter("session .*", cmds.tabulator + cmds.negated + cmds.tabulator + "sessions", null), new userFilter("session .*", cmds.tabulator + cmds.negated + cmds.tabulator + "rate", null), new userFilter("session .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mac", null), new userFilter("session .*", cmds.tabulator + cmds.negated + cmds.tabulator + "before", null), new userFilter("session .*", cmds.tabulator + cmds.negated + cmds.tabulator + "after", null), new userFilter("session .*", cmds.tabulator + cmds.negated + cmds.tabulator + "dropped", null), new userFilter("session .*", cmds.tabulator + cmds.negated + cmds.tabulator + "allow-routing", null), new userFilter("session .*", cmds.tabulator + cmds.negated + cmds.tabulator + "allow-sending", null), new userFilter("session .*", cmds.tabulator + cmds.negated + cmds.tabulator + "allow-linklocal", null), new userFilter("session .*", cmds.tabulator + cmds.negated + cmds.tabulator + "allow-multicast", null), new userFilter("session .*", cmds.tabulator + cmds.negated + cmds.tabulator + "allow-broadcast", null), new userFilter("session .*", cmds.tabulator + cmds.negated + cmds.tabulator + "allow-list", null), new userFilter("session .*", cmds.tabulator + cmds.negated + cmds.tabulator + "allow-url", null), new userFilter("session .*", cmds.tabulator + cmds.negated + cmds.tabulator + "drop-rx", null), new userFilter("session .*", cmds.tabulator + cmds.negated + cmds.tabulator + "drop-tx", null), new userFilter("session .*", cmds.tabulator + cmds.negated + cmds.tabulator + "drop-frg", null), new userFilter("session .*", cmds.tabulator + cmds.negated + cmds.tabulator + "member", null) }; public int compareTo(cfgSessn o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } /** * create new certificate * * @param nam name of interface */ public cfgSessn(String nam) { name = nam.trim(); connects.name = name; } public String toString() { return name; } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2}, "rename", "rename this session"); l.add(null, false, 2, new int[]{-1}, "", "set new name"); l.add(null, false, 1, new int[]{2}, "description", "specify description"); l.add(null, false, 2, new int[]{2, -1}, "", "description"); l.add(null, false, 1, new int[]{2}, "timeout", "set timeout"); l.add(null, false, 2, new int[]{-1}, "", "timeout in ms"); l.add(null, false, 1, new int[]{2}, "sessions", "set session limit"); l.add(null, false, 2, new int[]{-1}, "", "number of sessions"); l.add(null, false, 1, new int[]{2}, "rate", "specify translation rate"); l.add(null, false, 2, new int[]{-1}, "", "name of policy map"); l.add(null, false, 1, new int[]{-1}, "mac", "with mac addresses"); l.add(null, false, 1, new int[]{-1}, "before", "log on session start"); l.add(null, false, 1, new int[]{-1}, "after", "log on session stop"); l.add(null, false, 1, new int[]{-1}, "dropped", "log on session drop"); l.add(null, false, 1, new int[]{-1}, "drop-rx", "drop sessions ingress"); l.add(null, false, 1, new int[]{-1}, "drop-tx", "drop sessions egress"); l.add(null, false, 1, new int[]{-1}, "drop-frg", "drop fragmented packets"); l.add(null, false, 1, new int[]{-1}, "allow-routing", "allow control multicast traffic"); l.add(null, false, 1, new int[]{-1}, "allow-sending", "allow self originated traffic"); l.add(null, false, 1, new int[]{-1}, "allow-linklocal", "allow link local traffic"); l.add(null, false, 1, new int[]{-1}, "allow-multicast", "allow multicast traffic"); l.add(null, false, 1, new int[]{-1}, "allow-broadcast", "allow broadcast traffic"); l.add(null, false, 1, new int[]{2}, "allow-list", "allow specific traffic"); l.add(null, false, 2, new int[]{-1}, "", "name of access list"); l.add(null, false, 1, new int[]{2}, "allow-url", "allow specific traffic"); l.add(null, false, 2, new int[]{-1}, "", "translation rule"); } public String getPrompt() { return "session"; } public void doCfgStr(cmds cmd) { String a = cmd.word(); boolean neg = a.equals(cmds.negated); if (neg) { a = cmd.word(); } if (a.equals("rename")) { a = cmd.word(); cfgSessn v = cfgAll.sessnFind(a, false); if (v != null) { cmd.error("already exists"); return; } name = a; connects.name = a; return; } if (a.equals("description")) { description = cmd.getRemaining(); if (neg) { description = null; } return; } connects.fromString(cmd.copyBytes(true)); } public List getShRun(int filter) { List l = new ArrayList(); l.add("session " + name); cmds.cfgLine(l, description == null, cmds.tabulator, "description", description); connects.getConfig(l, cmds.tabulator); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } } freeRtr-25.11.9/src/org/freertr/cfg/cfgTime.java000066400000000000000000000360701510423065500213200ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.Calendar; import java.util.List; import org.freertr.tab.tabGen; import org.freertr.tab.tabIntMatcher; import org.freertr.tab.tabListingEntry; import org.freertr.tab.tabTime; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; /** * route map configuration * * @author matecsaba */ public class cfgTime implements Comparable, cfgGeneric { /** * name of routemap */ public String name; /** * description of access list */ public String description; /** * time zone of access list */ public String timeZone; /** * random offset of access list */ public int randomMin; /** * random offset of access list */ public int randomMax; /** * random offset of access list */ public int randomCur; /** * current sequence number */ public int seq; /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("time-map .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("time-map .*", cmds.tabulator + cmds.negated + cmds.tabulator + "time-zone", null), new userFilter("time-map .*", cmds.tabulator + "random 0 0", null), new userFilter("time-map .*", cmds.tabulator + "sequence .* match year all", null), new userFilter("time-map .*", cmds.tabulator + "sequence .* match month all", null), new userFilter("time-map .*", cmds.tabulator + "sequence .* match day all", null), new userFilter("time-map .*", cmds.tabulator + "sequence .* match dow all", null), new userFilter("time-map .*", cmds.tabulator + "sequence .* match wom all", null), new userFilter("time-map .*", cmds.tabulator + "sequence .* match woy all", null), new userFilter("time-map .*", cmds.tabulator + "sequence .* match dom all", null), new userFilter("time-map .*", cmds.tabulator + "sequence .* match doy all", null), new userFilter("time-map .*", cmds.tabulator + "sequence .* match hour all", null), new userFilter("time-map .*", cmds.tabulator + "sequence .* match minute all", null), new userFilter("time-map .*", cmds.tabulator + "sequence .* match second all", null), new userFilter("time-map .*", cmds.tabulator + "sequence .* match milli all", null), new userFilter("time-map .*", cmds.tabulator + "sequence .* match periodic 0 0 0", null) }; /** * time list */ public tabGen timemap; /** * create new route map * * @param s name */ public cfgTime(String s) { timemap = new tabGen(); seq = nextseq(); name = s; } /** * get next sequence * * @return seq number */ public int nextseq() { if (timemap.size() < 1) { return 10; } return timemap.get(timemap.size() - 1).seq + 10; } /** * get current entry * * @return current entry */ public synchronized tabTime getCurr() { tabTime ntry = new tabTime(); ntry.seq = seq; ntry = timemap.find(ntry); if (ntry != null) { return ntry; } ntry = new tabTime(); ntry.seq = seq; ntry.act = tabListingEntry.actionType.actPermit; timemap.add(ntry); return ntry; } public List getShRun(int filter) { List l = new ArrayList(); l.add("time-map " + name); cmds.cfgLine(l, description == null, cmds.tabulator, "description", "" + description); cmds.cfgLine(l, timeZone == null, cmds.tabulator, "time-zone", "" + timeZone); l.add(cmds.tabulator + "random " + randomMin + " " + randomMax); for (int i = 0; i < timemap.size(); i++) { l.addAll(timemap.get(i).dump(cmds.tabulator)); } l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2}, "sequence", "sequence number of an entry"); l.add(null, false, 2, new int[]{1, -1}, "", "sequence number"); l.add(null, false, 1, new int[]{3, -1}, "description", "specify description"); l.add(null, false, 3, new int[]{3, -1}, "", "text"); l.add(null, false, 1, new int[]{2}, "rename", "rename this time map"); l.add(null, false, 2, new int[]{-1}, "", "set new name"); l.add(null, false, 1, new int[]{2, -1}, "reindex", "reindex route map"); l.add(null, false, 2, new int[]{3, -1}, "[num]", "initial number to start with"); l.add(null, false, 3, new int[]{-1}, "[num]", "increment number"); l.add(null, false, 1, new int[]{2}, "action", "set action to do"); l.add(null, false, 2, new int[]{-1}, "deny", "specify to forbid"); l.add(null, false, 2, new int[]{-1}, "permit", "specify to allow"); l.add(null, false, 1, new int[]{3}, "time-zone", "specify time zone"); l.add(null, false, 3, new int[]{-1}, "", "text"); l.add(null, false, 1, new int[]{3}, "random", "specify random offset in ms"); l.add(null, false, 3, new int[]{4}, "", "minimum"); l.add(null, false, 4, new int[]{-1}, "", "maximum"); l.add(null, false, 1, new int[]{2}, "match", "match values"); l.add(null, false, 2, new int[]{3}, "year", "match year"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "month", "match month"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "day", "match day"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "dow", "match day of week"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "wom", "match week of month"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "woy", "match week of year"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "dom", "match day of month"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "doy", "match day of year"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "hour", "match hour"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "minute", "match minute"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "second", "match second"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "milli", "match millisecond"); l.add(null, false, 3, new int[]{-1}, "", "value"); l.add(null, false, 3, new int[]{-1}, "all", "any value"); l.add(null, false, 2, new int[]{3}, "periodic", "match periodically in ms"); l.add(null, false, 3, new int[]{4}, "", "length"); l.add(null, false, 4, new int[]{5}, "", "begin"); l.add(null, false, 5, new int[]{-1}, "", "end"); } public synchronized void doCfgStr(cmds cmd) { String a = cmd.word(); if (a.equals("description")) { description = cmd.getRemaining(); return; } if (a.equals("time-zone")) { timeZone = cmd.word(); return; } if (a.equals("random")) { randomMin = bits.str2num(cmd.word()); randomMax = bits.str2num(cmd.word()); randomCur = bits.random(randomMin, randomMax); return; } if (a.equals("rename")) { a = cmd.word(); cfgTime v = cfgAll.timeFind(a, false); if (v != null) { cmd.error("already exists"); return; } name = a; return; } if (a.equals("sequence")) { seq = bits.str2num(cmd.word()); a = cmd.word(); if (a.length() < 1) { return; } } if (a.equals("action")) { tabTime ntry = getCurr(); ntry.act = tabListingEntry.string2action(cmd.word()); return; } if (a.equals("match")) { a = cmd.word(); tabTime ntry = getCurr(); if (a.equals("year")) { ntry.year.fromString(cmd.getRemaining()); return; } if (a.equals("month")) { ntry.month.fromString(cmd.getRemaining()); return; } if (a.equals("day")) { ntry.day.fromString(cmd.getRemaining()); return; } if (a.equals("dow")) { ntry.dow.fromString(cmd.getRemaining()); return; } if (a.equals("wom")) { ntry.wom.fromString(cmd.getRemaining()); return; } if (a.equals("woy")) { ntry.woy.fromString(cmd.getRemaining()); return; } if (a.equals("dom")) { ntry.dom.fromString(cmd.getRemaining()); return; } if (a.equals("doy")) { ntry.doy.fromString(cmd.getRemaining()); return; } if (a.equals("hour")) { ntry.hour.fromString(cmd.getRemaining()); return; } if (a.equals("minute")) { ntry.min.fromString(cmd.getRemaining()); return; } if (a.equals("second")) { ntry.sec.fromString(cmd.getRemaining()); return; } if (a.equals("milli")) { ntry.mil.fromString(cmd.getRemaining()); return; } if (a.equals("periodic")) { ntry.perL = bits.str2num(cmd.word()); ntry.perB = bits.str2num(cmd.word()); ntry.perE = bits.str2num(cmd.word()); return; } cmd.badCmd(); return; } if (a.equals("reindex")) { int o = bits.str2num(cmd.word()); int p = bits.str2num(cmd.word()); if (o < 1) { o = 10; } if (p < 1) { p = 10; } for (int i = 0; i < timemap.size(); i++) { tabTime t = timemap.get(i); t.seq = (p * i) + o; } return; } if (!a.equals(cmds.negated)) { cmd.badCmd(); return; } a = cmd.word(); if (a.equals("description")) { description = null; return; } if (a.equals("time-zone")) { timeZone = null; return; } if (a.equals("random")) { randomMin = 0; randomMax = 0; randomCur = 0; return; } if (a.equals("match")) { a = cmd.word(); tabTime ntry = getCurr(); if (a.equals("year")) { ntry.year = new tabIntMatcher(); return; } if (a.equals("month")) { ntry.month = new tabIntMatcher(); return; } if (a.equals("day")) { ntry.day = new tabIntMatcher(); return; } if (a.equals("dow")) { ntry.dow = new tabIntMatcher(); return; } if (a.equals("wom")) { ntry.wom = new tabIntMatcher(); return; } if (a.equals("woy")) { ntry.woy = new tabIntMatcher(); return; } if (a.equals("dom")) { ntry.dom = new tabIntMatcher(); return; } if (a.equals("doy")) { ntry.doy = new tabIntMatcher(); return; } if (a.equals("hour")) { ntry.hour = new tabIntMatcher(); return; } if (a.equals("minute")) { ntry.min = new tabIntMatcher(); return; } if (a.equals("second")) { ntry.sec = new tabIntMatcher(); return; } if (a.equals("milli")) { ntry.mil = new tabIntMatcher(); return; } if (a.equals("periodic")) { ntry.perL = 0; ntry.perB = 0; ntry.perE = 0; return; } cmd.badCmd(); return; } if (a.equals("sequence")) { tabTime ntry = new tabTime(); ntry.seq = bits.str2num(cmd.word()); if (timemap.del(ntry) == null) { cmd.error("invalid sequence"); return; } return; } cmd.badCmd(); } public int compareTo(cfgTime o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String getPrompt() { return "time"; } public String toString() { return name; } /** * check if time matches * * @param tim time to check * @return false if matches, true if not */ public boolean matches(long tim) { Calendar cal; tim += randomCur; if (timeZone != null) { cal = tabTime.time2calendar(timeZone, tim); } else { cal = tabTime.time2calendar(cfgAll.timeZoneName, tim); } for (int i = 0; i < timemap.size(); i++) { tabTime ntry = timemap.get(i); if (!ntry.matches(cal, tim)) { continue; } return ntry.act != tabListingEntry.actionType.actPermit; } return true; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgTlmtry.java000066400000000000000000000202051510423065500217060ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.clnt.clntTelemetry; import org.freertr.serv.servStreamingMdt; import org.freertr.tab.tabGen; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; /** * telemetry destination * * @author matecsaba */ public class cfgTlmtry implements Comparable, cfgGeneric { /** * name of telemetry export */ public String name; /** * description */ public String description; /** * worker */ public clntTelemetry worker; /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("telemetry .*", cmds.tabulator + "port " + servStreamingMdt.port, null), new userFilter("telemetry .*", cmds.tabulator + "interval 5000", null), new userFilter("telemetry .*", cmds.tabulator + "delay 0", null), new userFilter("telemetry .*", cmds.tabulator + "random-interval 0", null), new userFilter("telemetry .*", cmds.tabulator + "random-delay 0", null), new userFilter("telemetry .*", cmds.tabulator + cmds.negated + cmds.tabulator + "range", null), new userFilter("telemetry .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null) }; /** * create new telemetry export * * @param s name */ public cfgTlmtry(String s) { worker = new clntTelemetry(); name = s; } public int compareTo(cfgTlmtry o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String getPrompt() { return "tlmtdst"; } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2, -1}, "description", "specify description"); l.add(null, false, 2, new int[]{2, -1}, "", "text"); l.add(null, false, 1, new int[]{2}, "rename", "rename this exporter"); l.add(null, false, 2, new int[]{-1}, "", "set new name"); l.add(null, false, 1, new int[]{2}, "target", "specify target address"); l.add(null, false, 2, new int[]{2, -1}, "", "name"); l.add(null, false, 1, new int[]{2}, "port", "specify target port"); l.add(null, false, 2, new int[]{-1}, "", "lines to skip"); l.add(null, false, 1, new int[]{2}, "sensor", "specify sensor to export"); l.add(null, false, 2, new int[]{-1}, "", "name of sensor"); l.add(null, false, 1, new int[]{2}, "interval", "specify time between runs"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds between runs"); l.add(null, false, 1, new int[]{2}, "delay", "specify initial delay"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds before start"); l.add(null, false, 1, new int[]{2}, "random-interval", "specify random time between runs"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds between runs"); l.add(null, false, 1, new int[]{2}, "random-delay", "specify random initial delay"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds before start"); l.add(null, false, 1, new int[]{2}, "range", "specify time range"); l.add(null, false, 2, new int[]{-1}, "", "name of time map"); l.add(null, false, 1, new int[]{2}, "proxy", "specify proxy profile to use"); l.add(null, false, 2, new int[]{-1}, "", "name of profile"); l.add(null, false, 1, new int[]{-1}, "start", "start exporting"); l.add(null, false, 1, new int[]{-1}, "stop", "stop exporting"); } public List getShRun(int filter) { List l = new ArrayList(); l.add("telemetry " + name); cmds.cfgLine(l, description == null, cmds.tabulator, "description", description); cmds.cfgLine(l, worker.target == null, cmds.tabulator, "target", worker.target); l.add(cmds.tabulator + "port " + worker.port); l.add(cmds.tabulator + "interval " + worker.interval); l.add(cmds.tabulator + "delay " + worker.initial); l.add(cmds.tabulator + "random-interval " + worker.randInt); l.add(cmds.tabulator + "random-delay " + worker.randIni); cmds.cfgLine(l, worker.time == null, cmds.tabulator, "range", "" + worker.time); cmds.cfgLine(l, worker.proxy == null, cmds.tabulator, "proxy", "" + worker.proxy); for (int i = 0; i < worker.sensors.size(); i++) { cfgSensor ntry = worker.sensors.get(i); l.add(cmds.tabulator + "sensor " + ntry.name); } if (worker.need2run) { l.add(cmds.tabulator + "start"); } else { l.add(cmds.tabulator + "stop"); } l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void doCfgStr(cmds cmd) { String s = cmd.word(); boolean negated = s.equals(cmds.negated); if (negated) { s = cmd.word(); } if (s.equals("description")) { description = cmd.getRemaining(); if (negated) { description = null; } return; } if (s.equals("rename")) { s = cmd.word(); cfgTlmtry v = cfgAll.tlmdsFind(s, false); if (v != null) { cmd.error("already exists"); return; } name = s; return; } if (s.equals("target")) { if (negated) { worker.target = null; return; } worker.target = cmd.getRemaining(); return; } if (s.equals("port")) { worker.port = bits.str2num(cmd.word()); return; } if (s.equals("delay")) { if (negated) { worker.initial = 0; } else { worker.initial = bits.str2num(cmd.word()); } return; } if (s.equals("interval")) { if (negated) { worker.interval = 5000; } else { worker.interval = bits.str2num(cmd.word()); } return; } if (s.equals("random-interval")) { if (negated) { worker.randInt = 0; } else { worker.randInt = bits.str2num(cmd.word()); } return; } if (s.equals("random-delay")) { if (negated) { worker.randIni = 0; } else { worker.randIni = bits.str2num(cmd.word()); } return; } if (s.equals("range")) { if (negated) { worker.time = null; } else { worker.time = cfgAll.timeFind(cmd.word(), false); } return; } if (s.equals("sensor")) { cfgSensor ntry = cfgAll.sensorFind(cmd.word(), false); if (ntry == null) { cmd.error("no such sensor"); return; } if (negated) { worker.sensors.del(ntry); return; } worker.sensors.put(ntry); return; } if (s.equals("proxy")) { if (negated) { worker.proxy = null; return; } cfgProxy prx = cfgAll.proxyFind(cmd.word(), false); if (prx == null) { cmd.error("no such proxy"); return; } worker.proxy = prx.proxy; return; } if (s.equals("start")) { if (negated) { worker.stopWork(); } else { worker.startWork(); } return; } if (s.equals("stop")) { if (negated) { worker.startWork(); } else { worker.stopWork(); } return; } cmd.badCmd(); } } freeRtr-25.11.9/src/org/freertr/cfg/cfgTrack.java000066400000000000000000000420661510423065500214700ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.auth.authLocal; import org.freertr.clnt.clntTrack; import org.freertr.enc.encBase64; import org.freertr.serv.servGeneric; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; /** * tracker configuration * * @author matecsaba */ public class cfgTrack implements Comparable, cfgGeneric { /** * create instance * * @param s name */ public cfgTrack(String s) { name = s; worker.name = s; } /** * name of tracker */ public String name; /** * description */ public String description; /** * worker */ public final clntTrack worker = new clntTrack(); /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("tracker .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("tracker .*", cmds.tabulator + "force normal", null), new userFilter("tracker .*", cmds.tabulator + cmds.negated + cmds.tabulator + "script", null), new userFilter("tracker .*", cmds.tabulator + cmds.negated + cmds.tabulator + "hidden", null), new userFilter("tracker .*", cmds.tabulator + cmds.negated + cmds.tabulator + "target", null), new userFilter("tracker .*", cmds.tabulator + cmds.negated + cmds.tabulator + "wake-vrf", null), new userFilter("tracker .*", cmds.tabulator + cmds.negated + cmds.tabulator + "exec-up", null), new userFilter("tracker .*", cmds.tabulator + cmds.negated + cmds.tabulator + "exec-down", null), new userFilter("tracker .*", cmds.tabulator + cmds.negated + cmds.tabulator + "chat-script", null), new userFilter("tracker .*", cmds.tabulator + cmds.negated + cmds.tabulator + "pubkey", null), new userFilter("tracker .*", cmds.tabulator + cmds.negated + cmds.tabulator + "security", null), new userFilter("tracker .*", cmds.tabulator + cmds.negated + cmds.tabulator + "vrf", null), new userFilter("tracker .*", cmds.tabulator + cmds.negated + cmds.tabulator + "source", null), new userFilter("tracker .*", cmds.tabulator + cmds.negated + cmds.tabulator + "log", null), new userFilter("tracker .*", cmds.tabulator + "random-interval 0", null), new userFilter("tracker .*", cmds.tabulator + "random-initial 0", null), new userFilter("tracker .*", cmds.tabulator + "interval 0", null), new userFilter("tracker .*", cmds.tabulator + "timeout 0", null), new userFilter("tracker .*", cmds.tabulator + "sgt 0", null), new userFilter("tracker .*", cmds.tabulator + "tos 0", null), new userFilter("tracker .*", cmds.tabulator + "flow 0", null), new userFilter("tracker .*", cmds.tabulator + "ttl 255", null), new userFilter("tracker .*", cmds.tabulator + "size 80", null), new userFilter("tracker .*", cmds.tabulator + "delay-start 0", null), new userFilter("tracker .*", cmds.tabulator + "delay-up 0", null), new userFilter("tracker .*", cmds.tabulator + "delay-down 0", null), new userFilter("tracker .*", cmds.tabulator + cmds.negated + cmds.tabulator + "range", null) }; public int compareTo(cfgTrack o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } /** * get prompt * * @return prompt */ public String getPrompt() { return "trck"; } public String toString() { return name; } /** * get help text * * @param l help text */ public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{3, -1}, "description", "specify description"); l.add(null, false, 3, new int[]{3, -1}, "", "text"); l.add(null, false, 1, new int[]{2}, "rename", "rename this tracker"); l.add(null, false, 2, new int[]{-1}, "", "set new name"); l.add(null, false, 1, new int[]{2}, "mode", "specify mode of runs"); l.add(null, false, 2, new int[]{-1}, "icmp", "icmp echo request"); l.add(null, false, 2, new int[]{-1}, "mpls", "mpls echo request"); l.add(null, false, 2, new int[]{-1}, "bier", "bier echo request"); l.add(null, false, 2, new int[]{-1}, "bck-icmp", "backward addressed icmp echo request"); l.add(null, false, 2, new int[]{-1}, "bck-mpls", "backward addressed mpls echo request"); l.add(null, false, 2, new int[]{-1}, "bck-bier", "backward addressed bier echo request"); l.add(null, false, 2, new int[]{-1}, "nrpe", "nrpe remote check"); l.add(null, false, 2, new int[]{-1}, "other", "other tracker"); l.add(null, false, 2, new int[]{-1}, "check", "local check"); l.add(null, false, 2, new int[]{-1}, "tcp", "tcp connection"); l.add(null, false, 2, new int[]{-1}, "udp", "udp connection"); l.add(null, false, 2, new int[]{-1}, "twamp", "twamp connection"); l.add(null, false, 2, new int[]{-1}, "bfd", "bidirectional forwarding detection"); l.add(null, false, 2, new int[]{-1}, "interface", "interface state"); l.add(null, false, 2, new int[]{-1}, "route", "any route table entry for address"); l.add(null, false, 2, new int[]{-1}, "prefix", "exact route table entry for prefix"); l.add(null, false, 2, new int[]{-1}, "script", "tcl script"); l.add(null, false, 1, new int[]{2, -1}, "script", "modify result with script"); l.add(null, false, 2, new int[]{2, -1}, "", "script"); l.add(null, false, 1, new int[]{2}, "force", "specify result of runs"); l.add(null, false, 2, new int[]{-1}, "up", "always up"); l.add(null, false, 2, new int[]{-1}, "down", "always down"); l.add(null, false, 2, new int[]{-1}, "negate", "negate result"); l.add(null, false, 2, new int[]{-1}, "normal", "leave result"); l.add(null, false, 1, new int[]{2}, "target", "specify address of test"); l.add(null, false, 2, new int[]{2, -1}, "", "address of target"); l.add(null, false, 1, new int[]{2}, "vrf", "specify vrf of test"); l.add(null, false, 2, new int[]{-1}, "", "vrf to use"); l.add(null, false, 1, new int[]{2}, "pubkey", "specify public key"); l.add(null, false, 2, new int[]{2, -1}, "", "public key"); l.add(null, false, 1, new int[]{2}, "security", "select security protocol"); servGeneric.getSecProts(l, 2, new int[]{-1}); l.add(null, false, 1, new int[]{2}, "chat-script", "specify script to use"); l.add(null, false, 2, new int[]{-1}, "", "chatter to use"); l.add(null, false, 1, new int[]{2}, "source", "specify source of test"); l.add(null, false, 2, new int[]{-1}, "", "interface to use"); l.add(null, false, 1, new int[]{2}, "random-interval", "specify random time between runs"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds between runs"); l.add(null, false, 1, new int[]{2}, "random-initial", "specify random time before run"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds between runs"); l.add(null, false, 1, new int[]{2}, "range", "specify time range"); l.add(null, false, 2, new int[]{-1}, "", "name of time map"); l.add(null, false, 1, new int[]{2}, "interval", "specify time between runs"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds between runs"); l.add(null, false, 1, new int[]{2}, "timeout", "specify timeout value"); l.add(null, false, 2, new int[]{-1}, "", "timeout in milliseconds"); l.add(null, false, 1, new int[]{2}, "sgt", "specify sgt"); l.add(null, false, 2, new int[]{-1}, "", "value"); l.add(null, false, 1, new int[]{2}, "tos", "specify tos"); l.add(null, false, 2, new int[]{-1}, "", "value"); l.add(null, false, 1, new int[]{2}, "ttl", "specify ttl"); l.add(null, false, 2, new int[]{-1}, "", "value"); l.add(null, false, 1, new int[]{2}, "size", "size of payload"); l.add(null, false, 2, new int[]{-1}, "", "value"); l.add(null, false, 1, new int[]{2}, "delay-start", "time before start"); l.add(null, false, 2, new int[]{-1}, "", "ms"); l.add(null, false, 1, new int[]{2}, "delay-up", "number of successes before up"); l.add(null, false, 2, new int[]{-1}, "", "value"); l.add(null, false, 1, new int[]{2}, "delay-down", "number of failures before down"); l.add(null, false, 2, new int[]{-1}, "", "value"); l.add(null, false, 1, new int[]{2}, "wake-vrf", "wake vrf on state change"); l.add(null, false, 2, new int[]{-1}, "", "name of vrf"); l.add(null, false, 1, new int[]{2}, "exec-up", "exec command to execute on up"); l.add(null, false, 2, new int[]{2, -1}, "", "value"); l.add(null, false, 1, new int[]{2}, "exec-down", "exec command to execute on down"); l.add(null, false, 2, new int[]{2, -1}, "", "value"); l.add(null, false, 1, new int[]{-1}, "stop", "stop working"); l.add(null, false, 1, new int[]{-1}, "start", "start working"); l.add(null, false, 1, new int[]{-1}, "runnow", "run one round now"); l.add(null, false, 1, new int[]{-1}, "hidden", "hide exec commands"); l.add(null, false, 1, new int[]{-1}, "log", "log actions"); } /** * get config * * @param filter filter * @return config */ public List getShRun(int filter) { List l = new ArrayList(); l.add("tracker " + name); cmds.cfgLine(l, description == null, cmds.tabulator, "description", description); worker.getConfig(l, filter); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } /** * do config string * * @param cmd config */ public void doCfgStr(cmds cmd) { String a = cmd.word(); if (a.equals("description")) { description = cmd.getRemaining(); return; } if (a.equals("rename")) { a = cmd.word(); cfgTrack v = cfgAll.trackFind(a, false); if (v != null) { cmd.error("already exists"); return; } name = a; worker.name = a; return; } if (a.equals("script")) { worker.script = cmd.getRemaining(); return; } if (a.equals("hidden")) { worker.hidden = true; return; } if (a.equals("log")) { worker.logging = true; return; } if (a.equals("mode")) { worker.mode = clntTrack.string2mode(cmd.word()); return; } if (a.equals("force")) { worker.force = clntTrack.string2force(cmd.word()); return; } if (a.equals("target")) { worker.target = cmd.getRemaining(); return; } if (a.equals("exec-up")) { worker.execUp = authLocal.passwdDecode(cmd.getRemaining()); return; } if (a.equals("exec-down")) { worker.execDn = authLocal.passwdDecode(cmd.getRemaining()); return; } if (a.equals("pubkey")) { worker.pubkey = encBase64.decodeBytes(cmd.getRemaining()); return; } if (a.equals("security")) { worker.secProto = servGeneric.string2proto(cmd.word()); return; } if (a.equals("chat-script")) { cfgChat cht = cfgAll.chatFind(cmd.word(), false); if (cht == null) { cmd.error("no such script"); return; } worker.chats = cht.script; return; } if (a.equals("vrf")) { worker.vrf = cfgAll.vrfFind(cmd.word(), false); if (worker.vrf == null) { cmd.error("no such vrf"); return; } return; } if (a.equals("wake-vrf")) { worker.wakeVrf = cfgAll.vrfFind(cmd.word(), false); if (worker.wakeVrf == null) { cmd.error("no such vrf"); return; } return; } if (a.equals("source")) { worker.srcIfc = cfgAll.ifcFind(cmd.word(), 0); if (worker.srcIfc == null) { cmd.error("no such interface"); return; } return; } if (a.equals("random-interval")) { worker.randInt = bits.str2num(cmd.word()); return; } if (a.equals("random-initial")) { worker.randIni = bits.str2num(cmd.word()); return; } if (a.equals("interval")) { worker.interval = bits.str2num(cmd.word()); return; } if (a.equals("timeout")) { worker.timeout = bits.str2num(cmd.word()); return; } if (a.equals("range")) { worker.time = cfgAll.timeFind(cmd.word(), false); return; } if (a.equals("sgt")) { worker.secGrp = bits.str2num(cmd.word()); return; } if (a.equals("tos")) { worker.typOsrv = bits.str2num(cmd.word()); return; } if (a.equals("flow")) { worker.flowLab = bits.str2num(cmd.word()); return; } if (a.equals("ttl")) { worker.tim2liv = bits.str2num(cmd.word()); return; } if (a.equals("size")) { worker.size = bits.str2num(cmd.word()); return; } if (a.equals("delay-start")) { worker.delaySt = bits.str2num(cmd.word()); return; } if (a.equals("delay-up")) { worker.delayUp = bits.str2num(cmd.word()); return; } if (a.equals("delay-down")) { worker.delayDn = bits.str2num(cmd.word()); return; } if (a.equals("stop")) { worker.stopNow(); return; } if (a.equals("start")) { worker.startNow(); return; } if (a.equals("runnow")) { worker.doRound(); return; } if (!a.equals(cmds.negated)) { cmd.badCmd(); return; } a = cmd.word(); if (a.equals("description")) { description = null; return; } if (a.equals("script")) { worker.script = null; return; } if (a.equals("hidden")) { worker.hidden = false; return; } if (a.equals("log")) { worker.logging = false; return; } if (a.equals("start")) { worker.stopNow(); return; } if (a.equals("stop")) { worker.startNow(); return; } if (a.equals("mode")) { worker.mode = null; return; } if (a.equals("target")) { worker.target = null; return; } if (a.equals("exec-up")) { worker.execUp = null; return; } if (a.equals("exec-down")) { worker.execDn = null; return; } if (a.equals("pubkey")) { worker.pubkey = null; return; } if (a.equals("security")) { worker.secProto = 0; return; } if (a.equals("chat-script")) { worker.chats = null; return; } if (a.equals("vrf")) { worker.vrf = null; return; } if (a.equals("wake-vrf")) { worker.wakeVrf = null; return; } if (a.equals("source")) { worker.srcIfc = null; return; } if (a.equals("random-interval")) { worker.randInt = 0; return; } if (a.equals("random-initial")) { worker.randIni = 0; return; } if (a.equals("interval")) { worker.interval = 0; return; } if (a.equals("timeout")) { worker.timeout = 0; return; } if (a.equals("range")) { worker.time = null; return; } if (a.equals("delay-start")) { worker.delaySt = 0; return; } if (a.equals("delay-up")) { worker.delayUp = 0; return; } if (a.equals("delay-down")) { worker.delayDn = 0; return; } if (a.equals("force")) { worker.force = clntTrack.forMode.norm; return; } cmd.badCmd(); } } freeRtr-25.11.9/src/org/freertr/cfg/cfgTrnsltn.java000066400000000000000000000266701510423065500220730ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.freertr.tab.tabGen; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.logger; /** * one translation rule configuration * * @author matecsaba */ public class cfgTrnsltn implements Comparable, cfgGeneric { /** * name of this translation */ public final String name; /** * description */ public String description; /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("translation-rule .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("translation-rule .*", cmds.tabulator + cmds.negated + cmds.tabulator + "track", null), new userFilter("translation-rule .*", cmds.tabulator + cmds.negated + cmds.tabulator + "time", null), new userFilter("translation-rule .*", cmds.tabulator + cmds.negated + cmds.tabulator + "log", null), new userFilter("translation-rule .*", cmds.tabulator + cmds.negated + cmds.tabulator + "last", null) }; /** * log translation */ public boolean log; /** * last translation */ public boolean last; /** * remove pattern */ public List remove = new ArrayList(); /** * replace pattern */ public List replace = new ArrayList(); /** * match tracker */ public String track; /** * match time */ public cfgTime time; /** * match pattern */ public List match = new ArrayList(); /** * forbid pattern */ public List forbid = new ArrayList(); /** * action pattern */ public List action = new ArrayList(); public int compareTo(cfgTrnsltn o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String toString() { return name; } /** * create new translation rule * * @param nam name of rule */ public cfgTrnsltn(String nam) { name = "" + bits.str2num(nam); } public List getShRun(int filter) { List l = new ArrayList(); l.add("translation-rule " + name); cmds.cfgLine(l, description == null, cmds.tabulator, "description", description); for (int i = 0; i < remove.size(); i++) { l.add(cmds.tabulator + "remove " + remove.get(i)); } for (int i = 0; i < replace.size(); i++) { l.add(cmds.tabulator + "replace " + replace.get(i)); } cmds.cfgLine(l, track == null, cmds.tabulator, "track", "" + track); cmds.cfgLine(l, time == null, cmds.tabulator, "time", "" + time); for (int i = 0; i < forbid.size(); i++) { l.add(cmds.tabulator + "forbid " + forbid.get(i)); } for (int i = 0; i < match.size(); i++) { l.add(cmds.tabulator + "match " + match.get(i)); } for (int i = 0; i < action.size(); i++) { String a = action.get(i); String b = a.substring(0, 1); a = a.substring(1, a.length()); String s = "unknown"; if (b.equals("1")) { s = "text"; } if (b.equals("2")) { s = "variable"; } if (b.equals("3")) { s = "character"; } l.add(cmds.tabulator + s + " " + a); } cmds.cfgLine(l, !last, cmds.tabulator, "last", ""); cmds.cfgLine(l, !log, cmds.tabulator, "log", ""); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{3, -1}, "description", "specify description"); l.add(null, false, 3, new int[]{3, -1}, "", "text"); l.add(null, false, 1, new int[]{2}, "remove", "remove string"); l.add(null, false, 2, new int[]{2, -1}, "", "regular expression"); l.add(null, false, 1, new int[]{2}, "track", "consider tracker"); l.add(null, false, 2, new int[]{-1}, "", "name of tracker"); l.add(null, false, 1, new int[]{2}, "time", "consider time"); l.add(null, false, 2, new int[]{-1}, "", "name of time map"); l.add(null, false, 1, new int[]{2}, "match", "match string"); l.add(null, false, 2, new int[]{2, -1}, "", "regular expression"); l.add(null, false, 1, new int[]{2}, "forbid", "forbid string"); l.add(null, false, 2, new int[]{2, -1}, "", "regular expression"); l.add(null, false, 1, new int[]{2}, "replace", "replace string"); l.add(null, false, 2, new int[]{3}, "", "regular expression"); l.add(null, false, 3, new int[]{-1}, "", "new string"); l.add(null, false, 1, new int[]{2}, "text", "place text"); l.add(null, false, 2, new int[]{2, -1}, "", "text"); l.add(null, false, 1, new int[]{2}, "variable", "place variable from match"); l.add(null, false, 2, new int[]{2, -1}, "", "variable name"); l.add(null, false, 1, new int[]{2}, "character", "place character"); l.add(null, false, 2, new int[]{2, -1}, "", "variable name"); l.add(null, false, 1, new int[]{-1}, "log", "log translations"); l.add(null, false, 1, new int[]{-1}, "last", "stop after translation"); } public void doCfgStr(cmds cmd) { String a = cmd.word(); boolean negated = a.equals(cmds.negated); if (negated) { a = cmd.word(); } if (a.equals("description")) { if (negated) { description = null; } else { description = cmd.getRemaining(); } return; } if (a.equals("log")) { log = !negated; return; } if (a.equals("last")) { last = !negated; return; } if (a.equals("track")) { if (negated) { track = null; return; } track = cmd.word(); return; } if (a.equals("time")) { if (negated) { time = null; return; } time = cfgAll.timeFind(cmd.word(), false); if (time == null) { cmd.error("no such time"); } return; } if (a.equals("forbid")) { a = cmd.getRemaining(); if (negated) { forbid.remove(a); } else { forbid.add(a); } return; } if (a.equals("match")) { a = cmd.getRemaining(); if (negated) { match.remove(a); } else { match.add(a); } return; } if (a.equals("remove")) { a = cmd.getRemaining(); if (negated) { remove.remove(a); } else { remove.add(a); } return; } if (a.equals("replace")) { a = cmd.getRemaining(); if (negated) { replace.remove(a); } else { replace.add(a); } return; } if (a.equals("text")) { a = "1" + cmd.getRemaining(); if (negated) { action.remove(a); } else { action.add(a); } return; } if (a.equals("variable")) { a = "2" + cmd.getRemaining(); if (negated) { action.remove(a); } else { action.add(a); } return; } if (a.equals("character")) { a = "3" + cmd.getRemaining(); if (negated) { action.remove(a); } else { action.add(a); } return; } cmd.badCmd(); } public String getPrompt() { return "trns"; } /** * do translation * * @param orig what to translate * @return translated text, null if not matched */ public String doTranslate(String orig) { String src = orig; if (time != null) { if (time.matches(bits.getTime() + cfgAll.timeServerOffset)) { return null; } } if (track != null) { cfgTrack res = cfgAll.trackFind(track, false); if (res == null) { return null; } if (!res.worker.getStatus()) { return null; } } for (int i = 0; i < remove.size(); i++) { src = src.replaceAll(remove.get(i), ""); } for (int i = 0; i < replace.size(); i++) { String a = replace.get(i); int o = a.indexOf(" "); if (o < 0) { continue; } src = src.replaceAll(a.substring(0, o), a.substring(o + 1, a.length())); } for (int i = 0; i < forbid.size(); i++) { if (src.matches(forbid.get(i))) { return null; } } Pattern pat = null; Matcher mat = null; boolean ok = false; for (int i = 0; i < match.size(); i++) { try { pat = Pattern.compile(match.get(i)); mat = pat.matcher(src); if (!mat.find()) { continue; } } catch (Exception e) { continue; } ok = true; break; } if (!ok) { return null; } String res = ""; for (int i = 0; i < action.size(); i++) { String a = action.get(i); String c = a.substring(0, 1); a = a.substring(1, a.length()); if (c.equals("1")) { res += a; continue; } if (c.equals("3")) { byte[] buf = new byte[1]; buf[0] = (byte) (bits.str2num(a) & 0xff); res += new String(buf); continue; } if (!c.equals("2")) { continue; } try { c = mat.group(a); } catch (Exception e) { continue; } res += c; } if (log) { logger.info("translated " + orig + " to " + res); } return res; } /** * do translation * * @param lst list to use * @param str what to translate * @return translated string */ public static String doTranslate(List lst, String str) { String cur = str; for (int i = 0; i < lst.size(); i++) { cfgTrnsltn ntry = lst.get(i); String res = ntry.doTranslate(cur); if (res == null) { continue; } cur = res; if (ntry.last) { break; } } return cur; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgVdc.java000066400000000000000000001274131510423065500211400ustar00rootroot00000000000000package org.freertr.cfg; import java.io.File; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.addr.addrMac; import org.freertr.auth.authLocal; import org.freertr.ifc.ifcUdpInt; import org.freertr.pipe.pipeConnect; import org.freertr.pipe.pipeDiscard; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeShell; import org.freertr.pipe.pipeSide; import org.freertr.tab.tabGen; import org.freertr.tab.tabRouteIface; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.user.userUpgrade; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.debugger; import org.freertr.util.logBuf; import org.freertr.util.logger; /** * one vdc configuration * * @author matecsaba */ public class cfgVdc implements Comparable, Runnable, cfgGeneric { /** * name of this vdc */ public String name; /** * description of this vdc */ public String description = ""; /** * respawn on termination */ public boolean respawn = true; /** * priviledged vdc */ public boolean priviledged = false; /** * kill children on termination */ public boolean children = true; /** * redundancy priority */ protected int redunPrio = defPrio; /** * action logging */ public boolean logAct = false; /** * console logging */ public boolean logCon = false; /** * console collector */ public logBuf logCol; /** * config to use */ public String configFile = null; /** * image to use */ public String image1name = null; /** * image to use */ public String image2name = null; /** * image to use */ public String image3name = null; /** * image to use */ public String image4name = null; /** * bios to use */ public String biosName = null; /** * uefi to use */ public String uefiName = null; /** * boot to use */ public String bootName = null; /** * vga to vnc */ public String vga2vnc = null; /** * cdrom to use */ public String cdromName = null; /** * uuid to use */ public String uuidValue = null; /** * user to use */ public String userValue = null; /** * cpu pinning */ public String cpuPinning = null; /** * cpu type */ public String cpuType = null; /** * memory to give */ public int imageMem = 512; /** * cpus to give */ public int imageCpu = 1; /** * mac address base */ public addrMac macBase = null; /** * nic type */ public String nicType = "e1000"; /** * time between runs */ protected int interval = 1000; /** * initial delay */ protected int initial = 1000; /** * password key */ protected String password; /** * random time between runs */ public int randInt; /** * random initial delay */ public int randIni; /** * time range when allowed */ public cfgTime time; /** * list of interfaces */ public final tabGen ifaces = new tabGen(); /** * list of local connects */ public final tabGen locals = new tabGen(); /** * list of connections */ public final tabGen conns = new tabGen(); /** * list of pci */ public final tabGen pcis = new tabGen(); /** * list of usb */ public final tabGen usbs = new tabGen(); /** * list of tcp */ public final tabGen tcps = new tabGen(); /** * console pipeline */ public pipeSide con; /** * last exit code */ public int restartE; /** * restart count */ public int restartC; /** * restart time */ public long restartT; private pipeShell proc; private pipeSide pipe; private String cfgBase; private boolean need2run; private final static int stopPrio = -9; private final static int defPrio = 0; /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("vdc definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("vdc definition .*", cmds.tabulator + "respawn", null), new userFilter("vdc definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "priviledged", null), new userFilter("vdc definition .*", cmds.tabulator + "children", null), new userFilter("vdc definition .*", cmds.tabulator + "priority " + defPrio, null), new userFilter("vdc definition .*", cmds.tabulator + "config null", null), new userFilter("vdc definition .*", cmds.tabulator + "image null", null), new userFilter("vdc definition .*", cmds.tabulator + "disk2 null", null), new userFilter("vdc definition .*", cmds.tabulator + "disk3 null", null), new userFilter("vdc definition .*", cmds.tabulator + "disk4 null", null), new userFilter("vdc definition .*", cmds.tabulator + "cdrom null", null), new userFilter("vdc definition .*", cmds.tabulator + "bios null", null), new userFilter("vdc definition .*", cmds.tabulator + "uefi null", null), new userFilter("vdc definition .*", cmds.tabulator + "vga2vnc null", null), new userFilter("vdc definition .*", cmds.tabulator + "boot null", null), new userFilter("vdc definition .*", cmds.tabulator + "pinning null", null), new userFilter("vdc definition .*", cmds.tabulator + "uuid null", null), new userFilter("vdc definition .*", cmds.tabulator + "user null", null), new userFilter("vdc definition .*", cmds.tabulator + "mac null", null), new userFilter("vdc definition .*", cmds.tabulator + "cpu null", null), new userFilter("vdc definition .*", cmds.tabulator + "memory 512", null), new userFilter("vdc definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "password", null), new userFilter("vdc definition .*", cmds.tabulator + "cores 1", null), new userFilter("vdc definition .*", cmds.tabulator + "nic e1000", null), new userFilter("vdc definition .*", cmds.tabulator + "time 1000", null), new userFilter("vdc definition .*", cmds.tabulator + "delay 1000", null), new userFilter("vdc definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "log-actions", null), new userFilter("vdc definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "log-console", null), new userFilter("vdc definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "log-collect", null), new userFilter("vdc definition .*", cmds.tabulator + "random-time 0", null), new userFilter("vdc definition .*", cmds.tabulator + "random-delay 0", null), new userFilter("vdc definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "range", null) }; public int compareTo(cfgVdc o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String toString() { return "vdc " + name; } /** * create new vdc * * @param nam name of vdc */ public cfgVdc(String nam) { name = nam.trim(); } /** * copy bytes * * @return copy */ public cfgVdc copyBytes() { cfgVdc n = new cfgVdc(name); n.description = description; n.password = password; n.respawn = respawn; n.priviledged = priviledged; n.children = children; n.redunPrio = redunPrio; n.uuidValue = uuidValue; n.userValue = userValue; n.cpuPinning = cpuPinning; n.cpuType = cpuType; n.initial = initial; n.interval = interval; n.randIni = randIni; n.randInt = randInt; n.logAct = logAct; n.logCon = logCon; n.logCol = logCol; n.time = time; n.configFile = configFile; n.image1name = image1name; n.image2name = image2name; n.image3name = image3name; n.image4name = image4name; n.imageMem = imageMem; n.imageCpu = imageCpu; n.nicType = nicType; n.biosName = biosName; n.uefiName = uefiName; n.bootName = bootName; n.vga2vnc = vga2vnc; n.cdromName = cdromName; if (macBase != null) { n.macBase = macBase.copyBytes(); } for (int i = 0; i < ifaces.size(); i++) { n.ifaces.add(ifaces.get(i)); } for (int i = 0; i < conns.size(); i++) { n.conns.add(conns.get(i)); } for (int i = 0; i < locals.size(); i++) { n.locals.add(locals.get(i)); } for (int i = 0; i < pcis.size(); i++) { n.pcis.add(pcis.get(i)); } for (int i = 0; i < usbs.size(); i++) { n.usbs.add(usbs.get(i)); } for (int i = 0; i < tcps.size(); i++) { n.tcps.add(tcps.get(i)); } return n; } /** * delete connection * * @param ifc connecting interface */ protected void delConn(String ifc) { cfgVdcConn ntry = conns.del(new cfgVdcConn(ifc, this)); if (ntry == null) { return; } ntry.peer.conns.del(ntry); } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2, -1}, "description", "description of this vdc"); l.add(null, false, 2, new int[]{2, -1}, "[text]", "text describing this vdc"); l.add(null, false, 1, new int[]{-1}, "respawn", "restart on termination"); l.add(null, false, 1, new int[]{-1}, "priviledged", "allow excessive commands"); l.add(null, false, 1, new int[]{-1}, "children", "kill children on termination"); l.add(null, false, 1, new int[]{2}, "priority", "specify redundancy priority"); l.add(null, false, 2, new int[]{-1}, "", "priority, " + stopPrio + " to stop the vdc, " + defPrio + " is the default"); l.add(null, false, 1, new int[]{2}, "rename", "rename this vdc"); l.add(null, false, 2, new int[]{-1}, "", "set new name of vdc"); l.add(null, false, 1, new int[]{2}, "interface", "add interface to this vdc"); l.add(null, false, 2, new int[]{-1}, "", "name of interface"); l.add(null, false, 1, new int[]{2}, "connect", "add connection to other vdc"); l.add(null, false, 2, new int[]{3}, "", "name of interface"); l.add(null, false, 3, new int[]{-1}, "", "name of peer vdc"); l.add(null, false, 1, new int[]{2}, "local", "add connection to this vdc"); l.add(null, false, 2, new int[]{3, -1}, "", "name of interface"); l.add(null, false, 3, new int[]{-1}, "redundancy", "flagged for redundancy"); l.add(null, false, 1, new int[]{2}, "config", "set config file to use"); l.add(null, false, 2, new int[]{2, -1}, "", "name of image"); l.add(null, false, 1, new int[]{2}, "bios", "set bios image to use"); l.add(null, false, 2, new int[]{2, -1}, "", "name of image"); l.add(null, false, 1, new int[]{2}, "uefi", "set uefi image to use"); l.add(null, false, 2, new int[]{2, -1}, "", "name of image"); l.add(null, false, 1, new int[]{2}, "boot", "set boot arguments to use"); l.add(null, false, 2, new int[]{2, -1}, "", "parameters"); l.add(null, false, 1, new int[]{2}, "image", "set external image to use"); l.add(null, false, 2, new int[]{2, -1}, "", "name of image"); l.add(null, false, 1, new int[]{2}, "disk2", "set external image to use"); l.add(null, false, 2, new int[]{2, -1}, "", "name of image"); l.add(null, false, 1, new int[]{2}, "disk3", "set external image to use"); l.add(null, false, 2, new int[]{2, -1}, "", "name of image"); l.add(null, false, 1, new int[]{2}, "disk4", "set external image to use"); l.add(null, false, 2, new int[]{2, -1}, "", "name of image"); l.add(null, false, 1, new int[]{2}, "cdrom", "set cdrom image to use"); l.add(null, false, 2, new int[]{2, -1}, "", "name of image"); l.add(null, false, 1, new int[]{2}, "uuid", "set uuid to use"); l.add(null, false, 2, new int[]{-1}, "", "uuid value"); l.add(null, false, 1, new int[]{2}, "user", "set user to use"); l.add(null, false, 2, new int[]{-1}, "", "user value"); l.add(null, false, 1, new int[]{2}, "pinning", "set pinning mask"); l.add(null, false, 2, new int[]{-1}, "", "cpu mask in hex"); l.add(null, false, 1, new int[]{2}, "cpu", "set cpu type"); l.add(null, false, 2, new int[]{-1}, "", "type parameters"); l.add(null, false, 1, new int[]{2}, "memory", "memory of vdc"); l.add(null, false, 2, new int[]{-1}, "", "megabytes"); l.add(null, false, 1, new int[]{2}, "password", "set password encryption key"); l.add(null, false, 2, new int[]{-1}, "", "encryption key"); l.add(null, false, 1, new int[]{2}, "cores", "cpu of vdc"); l.add(null, false, 2, new int[]{-1}, "", "cores"); l.add(null, false, 1, new int[]{2}, "mac", "mac address base"); l.add(null, false, 2, new int[]{-1}, "", "address"); l.add(null, false, 1, new int[]{2}, "nic", "type of nic"); l.add(null, false, 2, new int[]{-1}, "", "vendor"); l.add(null, false, 1, new int[]{2}, "pci", "pass through pci device"); l.add(null, false, 2, new int[]{3}, "", "bus"); l.add(null, false, 3, new int[]{4}, "", "device"); l.add(null, false, 4, new int[]{-1}, "", "function"); l.add(null, false, 1, new int[]{2}, "usb", "pass through usb device"); l.add(null, false, 2, new int[]{3}, "", "bus"); l.add(null, false, 3, new int[]{4, -1}, "", "port"); l.add(null, false, 4, new int[]{-1}, "", "hubport"); l.add(null, false, 1, new int[]{2}, "vga2vnc", "enable vnc access"); l.add(null, false, 2, new int[]{-1}, "", "vnc address"); l.add(null, false, 1, new int[]{2}, "tcp2vrf", "pass host port in"); l.add(null, false, 2, new int[]{3}, "", "host port"); l.add(null, false, 3, new int[]{4}, "", "vdc vrf"); l.add(null, false, 4, new int[]{5, -1}, "", "vdc port"); l.add(null, false, 5, new int[]{-1}, "", "host ip to bind to"); l.add(null, false, 1, new int[]{2}, "time", "specify time between runs"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds between runs"); l.add(null, false, 1, new int[]{2}, "delay", "specify initial delay"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds before start"); l.add(null, false, 1, new int[]{2}, "random-time", "specify random time between runs"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds between runs"); l.add(null, false, 1, new int[]{2}, "random-delay", "specify random initial delay"); l.add(null, false, 2, new int[]{-1}, "", "milliseconds before start"); l.add(null, false, 1, new int[]{2}, "range", "specify time range"); l.add(null, false, 2, new int[]{-1}, "", "name of time map"); l.add(null, false, 1, new int[]{-1}, "log-actions", "log actions"); l.add(null, false, 1, new int[]{-1}, "log-console", "log console activity"); l.add(null, false, 1, new int[]{2}, "log-collect", "collect console activity"); l.add(null, false, 2, new int[]{-1}, "", "lines to store"); } public List getShRun(int filter) { List l = new ArrayList(); l.add("vdc definition " + name); cmds.cfgLine(l, description.length() < 1, cmds.tabulator, "description", description); cmds.cfgLine(l, !respawn, cmds.tabulator, "respawn", ""); cmds.cfgLine(l, !priviledged, cmds.tabulator, "priviledged", ""); cmds.cfgLine(l, !children, cmds.tabulator, "children", ""); l.add(cmds.tabulator + "priority " + redunPrio); for (int i = 0; i < ifaces.size(); i++) { l.add(cmds.tabulator + "interface " + ifaces.get(i)); } for (int i = 0; i < locals.size(); i++) { l.add(cmds.tabulator + "local " + locals.get(i)); } for (int i = 0; i < conns.size(); i++) { l.add(cmds.tabulator + "connect " + conns.get(i)); } l.add(cmds.tabulator + "uuid " + uuidValue); l.add(cmds.tabulator + "user " + userValue); l.add(cmds.tabulator + "pinning " + cpuPinning); l.add(cmds.tabulator + "cpu " + cpuType); l.add(cmds.tabulator + "vga2vnc " + vga2vnc); l.add(cmds.tabulator + "bios " + biosName); l.add(cmds.tabulator + "uefi " + uefiName); l.add(cmds.tabulator + "boot " + bootName); l.add(cmds.tabulator + "config " + configFile); l.add(cmds.tabulator + "image " + image1name); l.add(cmds.tabulator + "disk2 " + image2name); l.add(cmds.tabulator + "disk3 " + image3name); l.add(cmds.tabulator + "disk4 " + image4name); l.add(cmds.tabulator + "cdrom " + cdromName); l.add(cmds.tabulator + "memory " + imageMem); cmds.cfgLine(l, password == null, cmds.tabulator, "password", authLocal.passwdEncode(password, (filter & 2) != 0)); l.add(cmds.tabulator + "cores " + imageCpu); l.add(cmds.tabulator + "nic " + nicType); l.add(cmds.tabulator + "mac " + macBase); for (int i = 0; i < pcis.size(); i++) { l.add(cmds.tabulator + "pci " + pcis.get(i)); } for (int i = 0; i < usbs.size(); i++) { l.add(cmds.tabulator + "usb " + usbs.get(i)); } for (int i = 0; i < tcps.size(); i++) { l.add(cmds.tabulator + "tcp2vrf " + tcps.get(i)); } cmds.cfgLine(l, !logAct, cmds.tabulator, "log-actions", ""); cmds.cfgLine(l, !logCon, cmds.tabulator, "log-console", ""); cmds.cfgLine(l, logCol == null, cmds.tabulator, "log-collect", "" + logBuf.getSize(logCol)); l.add(cmds.tabulator + "delay " + initial); l.add(cmds.tabulator + "time " + interval); l.add(cmds.tabulator + "random-time " + randInt); l.add(cmds.tabulator + "random-delay " + randIni); cmds.cfgLine(l, time == null, cmds.tabulator, "range", "" + time); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void doCfgStr(cmds cmd) { String a = cmd.word(); if (a.equals("rename")) { a = cmd.word(); cfgVdc v = cfgAll.vdcFind(a, false); if (v != null) { cmd.error("vdc already exists"); return; } name = a; return; } if (a.equals("respawn")) { respawn = true; return; } if (a.equals("priviledged")) { priviledged = true; return; } if (a.equals("children")) { children = true; return; } if (a.equals("priority")) { redunPrio = bits.str2num(cmd.word()); return; } if (a.equals("description")) { description = cmd.getRemaining(); return; } if (a.equals("bios")) { biosName = cmd.getRemaining(); return; } if (a.equals("uefi")) { uefiName = cmd.getRemaining(); return; } if (a.equals("boot")) { bootName = cmd.getRemaining(); return; } if (a.equals("config")) { configFile = cmd.getRemaining(); return; } if (a.equals("image")) { image1name = cmd.getRemaining(); return; } if (a.equals("disk2")) { image2name = cmd.getRemaining(); return; } if (a.equals("disk3")) { image3name = cmd.getRemaining(); return; } if (a.equals("disk4")) { image4name = cmd.getRemaining(); return; } if (a.equals("uuid")) { uuidValue = cmd.word(); return; } if (a.equals("user")) { userValue = cmd.word(); return; } if (a.equals("pinning")) { cpuPinning = cmd.word(); return; } if (a.equals("cpu")) { cpuType = cmd.word(); return; } if (a.equals("cdrom")) { cdromName = cmd.getRemaining(); return; } if (a.equals("memory")) { imageMem = bits.str2num(cmd.word()); return; } if (a.equals("password")) { password = authLocal.passwdDecode(cmd.getRemaining()); return; } if (a.equals("cores")) { imageCpu = bits.str2num(cmd.word()); return; } if (a.equals("nic")) { nicType = cmd.word(); return; } if (a.equals("mac")) { macBase = new addrMac(); macBase.fromString(cmd.word()); return; } if (a.equals("interface")) { String pnm[] = cfgIfc.dissectName(cmd.word()); if (pnm == null) { cmd.error("invalid interface name"); return; } cfgVdcIfc res = new cfgVdcIfc(pnm[0] + pnm[1] + pnm[2], ""); res = cfgInit.ifaceLst.find(res); if (res == null) { cmd.error("no such interface"); return; } cfgAll.vdcNoIfc(res); ifaces.add(res); return; } if (a.equals("local")) { String pnm[] = cfgIfc.dissectName(cmd.word()); if (pnm == null) { cmd.error("invalid interface name"); return; } a = pnm[0] + pnm[1] + pnm[2]; tabRouteIface.ifaceType typ = cfgIfc.string2type(a); if (typ == null) { cmd.error("bad name"); return; } if (cfgInit.ifaceLst.find(new cfgVdcIfc(a, "")) != null) { cmd.error("physical interface exists"); return; } if (conns.find(new cfgVdcConn(a, this)) != null) { cmd.error("connection exists"); return; } cfgVdcIfc ntry = new cfgVdcIfc(a, ""); ntry.redundancy = cmd.word().equals("redundancy"); locals.add(ntry); if (!cfgInit.booting) { return; } if (cfgAll.ifcFind(a, 0) != null) { return; } ntry.portL = cfgInit.vdcPortBeg; ntry.portR = cfgInit.vdcPortBeg + 1; ifcUdpInt hdr = new ifcUdpInt("127.0.0.1", cfgInit.vdcPortBeg, "127.0.0.1", cfgInit.vdcPortBeg + 1, "-", typ != tabRouteIface.ifaceType.ether, false); cfgIfc ifc = cfgAll.ifcAdd(a, typ, hdr, 1); if (ifc == null) { return; } ifc.initPhysical(); if (debugger.cfgInitHw) { logger.debug("iface " + hdr); } cfgInit.vdcPortBeg += 2; return; } if (a.equals("connect")) { String pnm[] = cfgIfc.dissectName(cmd.word()); if (pnm == null) { cmd.error("invalid interface name"); return; } a = pnm[0] + pnm[1] + pnm[2]; if (cfgIfc.string2type(a) == null) { cmd.error("bad name"); return; } if (cfgInit.ifaceLst.find(new cfgVdcIfc(a, "")) != null) { cmd.error("physical interface exists"); return; } if (locals.find(new cfgVdcIfc(a, "")) != null) { cmd.error("local exists"); return; } cfgVdc peer = cfgAll.vdcFind(cmd.word(), false); if (peer == null) { cmd.error("no such vdc"); return; } if (peer.locals.find(new cfgVdcIfc(a, "")) != null) { cmd.error("peer local exists"); return; } delConn(a); peer.delConn(a); cfgVdcConn c1 = new cfgVdcConn(a, peer); cfgVdcConn c2 = new cfgVdcConn(a, this); c1.conn = c2; c2.conn = c1; conns.add(c1); peer.conns.add(c2); return; } if (a.equals("pci")) { cfgVdcPci dev = new cfgVdcPci(); dev.fromString(cmd); pcis.add(dev); return; } if (a.equals("usb")) { cfgVdcUsb dev = new cfgVdcUsb(); dev.fromString(cmd); usbs.add(dev); return; } if (a.equals("vga2vnc")) { vga2vnc = cmd.word(); return; } if (a.equals("tcp2vrf")) { cfgVdcTcp dev = new cfgVdcTcp(); dev.fromString(cmd); tcps.add(dev); return; } if (a.equals("log-actions")) { logAct = true; return; } if (a.equals("log-collect")) { logCol = new logBuf(bits.str2num(cmd.word())); return; } if (a.equals("log-console")) { logCon = true; return; } if (a.equals("delay")) { initial = bits.str2num(cmd.word()); return; } if (a.equals("time")) { interval = bits.str2num(cmd.word()); return; } if (a.equals("random-time")) { randInt = bits.str2num(cmd.word()); return; } if (a.equals("random-delay")) { randIni = bits.str2num(cmd.word()); return; } if (a.equals("range")) { time = cfgAll.timeFind(cmd.word(), false); return; } if (!a.equals(cmds.negated)) { cmd.badCmd(); return; } a = cmd.word(); if (a.equals("respawn")) { respawn = false; return; } if (a.equals("priviledged")) { priviledged = false; return; } if (a.equals("children")) { children = false; return; } if (a.equals("priority")) { redunPrio = defPrio; return; } if (a.equals("description")) { description = ""; return; } if (a.equals("bios")) { biosName = null; return; } if (a.equals("uefi")) { uefiName = null; return; } if (a.equals("boot")) { bootName = null; return; } if (a.equals("config")) { configFile = null; return; } if (a.equals("image")) { image1name = null; return; } if (a.equals("disk2")) { image2name = null; return; } if (a.equals("disk3")) { image3name = null; return; } if (a.equals("disk4")) { image4name = null; return; } if (a.equals("uuid")) { uuidValue = null; return; } if (a.equals("user")) { userValue = null; return; } if (a.equals("pinning")) { cpuPinning = null; return; } if (a.equals("cpu")) { cpuType = null; return; } if (a.equals("cdrom")) { cdromName = null; return; } if (a.equals("memory")) { imageMem = 512; return; } if (a.equals("password")) { password = null; return; } if (a.equals("cores")) { imageCpu = 1; return; } if (a.equals("nic")) { nicType = "e1000"; return; } if (a.equals("mac")) { macBase = null; return; } if (a.equals("interface")) { String pnm[] = cfgIfc.dissectName(cmd.word()); if (pnm == null) { cmd.error("invalid interface name"); return; } ifaces.del(new cfgVdcIfc(pnm[0] + pnm[1] + pnm[2], "")); return; } if (a.equals("local")) { String pnm[] = cfgIfc.dissectName(cmd.word()); if (pnm == null) { cmd.error("invalid interface name"); return; } locals.del(new cfgVdcIfc(pnm[0] + pnm[1] + pnm[2], "")); return; } if (a.equals("connect")) { String pnm[] = cfgIfc.dissectName(cmd.word()); if (pnm == null) { cmd.error("invalid interface name"); return; } delConn(pnm[0] + pnm[1] + pnm[2]); return; } if (a.equals("pci")) { cfgVdcPci dev = new cfgVdcPci(); dev.fromString(cmd); pcis.del(dev); return; } if (a.equals("usb")) { cfgVdcUsb dev = new cfgVdcUsb(); dev.fromString(cmd); usbs.del(dev); return; } if (a.equals("vga2vnc")) { vga2vnc = null; return; } if (a.equals("tcp2vrf")) { cfgVdcTcp dev = new cfgVdcTcp(); dev.fromString(cmd); tcps.del(dev); return; } if (a.equals("log-actions")) { logAct = false; return; } if (a.equals("log-collect")) { logCol = null; return; } if (a.equals("log-console")) { logCon = false; return; } if (a.equals("random-time")) { randInt = 0; return; } if (a.equals("random-delay")) { randIni = 0; return; } if (a.equals("range")) { time = null; return; } cmd.badCmd(); } public String getPrompt() { return "vdc"; } public void run() { for (;;) { if (!cfgInit.booting) { break; } bits.sleep(1000); } int del = initial; if (randIni > 0) { del += bits.random(1, randIni); } if (del > 0) { bits.sleep(del); } for (;;) { bits.sleep(interval); if (!need2run) { break; } if (!respawn) { continue; } try { doRound(); } catch (Exception e) { logger.traceback(e); } } redunPrio = stopPrio; if (logAct) { logger.info("stopped vdc " + name); } } private String getCommand() { addrMac mac; if (macBase == null) { mac = addrMac.getRandom(); } else { mac = macBase.copyBytes(); } addrMac one = new addrMac(); one.fromString("0000:0000:0001"); String cmd; if (image1name == null) { String a = cfgBase + cfgInit.hwCfgEnd; String s = cfgBase + cfgInit.swCfgEnd; if (configFile != null) { s = configFile; } cmd = cfgInit.getJvmExec() + " " + cfgInit.jvmParam + " -Xmx" + imageMem + "m -jar " + cfgInit.getFileName() + " routercs " + a + " " + s; } else { cmd = "qemu-system-x86_64 -monitor none -serial stdio -nographic -no-reboot -enable-kvm -drive file=" + image1name + ",format=raw,cache=unsafe -m " + imageMem; if (vga2vnc != null) { cmd += " -vnc " + vga2vnc; } if (biosName != null) { cmd += " -bios " + biosName; } if (uefiName != null) { cmd += " -drive if=pflash,format=raw,readonly,file=" + uefiName; } if (bootName != null) { cmd += " -boot " + bootName; } if (cdromName != null) { cmd += " -cdrom " + cdromName; } if (image2name != null) { cmd += " -hdb " + image2name; } if (image3name != null) { cmd += " -hdc " + image3name; } if (image4name != null) { cmd += " -hdd " + image4name; } if (uuidValue != null) { cmd += " -uuid " + uuidValue; } if (imageCpu > 1) { cmd += " -smp cores=" + imageCpu + ",threads=1,sockets=1"; } if (cpuType != null) { cmd += " -cpu " + cpuType; } int vl = 1; for (int i = 0; i < ifaces.size(); i++) { cfgVdcIfc ntry = ifaces.get(i); cmd += " -netdev socket,id=n" + vl + ",udp=" + ntry.peer + ":" + ntry.portR + ",localaddr=:" + ntry.portL + " -device " + nicType + ",netdev=n" + vl + ",mac=" + mac.toEmuStr(); vl++; mac.setAdd(mac, one); } for (int i = 0; i < locals.size(); i++) { cfgVdcIfc ntry = locals.get(i); cmd += " -netdev socket,id=n" + vl + ",udp=127.0.0.1:" + ntry.portR + ",localaddr=:" + ntry.portL + " -device " + nicType + ",netdev=n" + vl + ",mac=" + mac.toEmuStr(); vl++; mac.setAdd(mac, one); } for (int i = 0; i < conns.size(); i++) { cfgVdcConn ntry = conns.get(i); cmd += " -netdev socket,id=n" + vl + ",udp=127.0.0.1:" + ntry.port + ",localaddr=:" + ntry.conn.port + " -device " + nicType + ",netdev=n" + vl + ",mac=" + mac.toEmuStr(); vl++; mac.setAdd(mac, one); } for (int i = 0; i < pcis.size(); i++) { cfgVdcPci dev = pcis.get(i); cmd += dev.toQemuStr(); } if (usbs.size() > 0) { cmd += " -usb"; } for (int i = 0; i < usbs.size(); i++) { cfgVdcUsb dev = usbs.get(i); cmd += dev.toQemuStr(); } } if (cpuPinning != null) { cmd = "taskset " + cpuPinning + " " + cmd; } if (userValue != null) { cmd = "sudo -u " + userValue + " " + cmd; } return cmd; } private synchronized void doRound() { if (time != null) { if (time.matches(bits.getTime() + cfgAll.timeServerOffset)) { return; } } if (logAct) { logger.info("restarting vdc " + name); } if (randInt > 0) { bits.sleep(bits.random(1, randInt)); } restartT = bits.getTime(); restartC++; pipeLine pl = new pipeLine(65536, false); pipe = pl.getSide(); pipe.lineTx = pipeSide.modTyp.modeCRLF; pipe.lineRx = pipeSide.modTyp.modeCRorLF; String cmd = getCommand(); bits.buf2txt(true, bits.str2lst(cmd), cfgBase + "cmd" + userUpgrade.tmpExt); proc = pipeShell.exec(pl.getSide(), cmd, null, true, true, false, children); if (proc == null) { return; } for (;;) { if (!proc.isRunning()) { break; } if (con == null) { pipeDiscard.logLines("vdc " + name + " said ", pipe, logCon, logCol); bits.sleep(1000); continue; } boolean b = pipeConnect.redirect(pipe, con); b |= pipeConnect.redirect(con, pipe); if (b) { con.setClose(); con = null; } bits.sleep(100); } restartE = proc.resultNum(); } /** * destroy this vdc */ public void stopNow() { need2run = false; redunPrio = stopPrio; restartNow(); } /** * restart this vdc */ public void restartNow() { try { proc.kill(); } catch (Exception e) { } try { pipe.setClose(); } catch (Exception e) { } } /** * set respawn status * * @param res status */ public void setRespawn(boolean res) { respawn = res; } private void addParam(List l, String typ, String val) { if (val == null) { return; } l.add(typ + " " + val); } /** * start this vdc now * * @param defs defaults * @param inhs inheritables * @param beg vdc begin port * @param end vdc end port */ public void startNow(List defs, List inhs, int beg, int end) { need2run = true; cfgBase = cfgInit.getRWpath() + "vdc-" + name + "-"; List l = new ArrayList(); l.add("save " + cfgBase + "sav.txt"); l.add("hwid " + cfgInit.hwIdNum); if (uuidValue == null) { l.add("hwsn " + cfgInit.hwSnNum); } else { l.add("hwsn " + uuidValue); } l.add("prnt " + cfgAll.hostName); l.add("rwpath " + cfgInit.getRWpath()); if (!priviledged) { l.add("limited"); } l.add("port " + beg + " " + end); l.add("prio " + redunPrio); addParam(l, "enc", password); addParam(l, "jvm", cfgInit.jvmParam); addParam(l, "url", cfgAll.upgradeServer); addParam(l, "key", cfgAll.upgradePubKey); for (int i = 0; i < defs.size(); i++) { l.add("def " + defs.get(i)); } for (int i = 0; i < inhs.size(); i++) { l.add(inhs.get(i)); } for (int i = 0; i < tcps.size(); i++) { l.add("tcp2vrf " + tcps.get(i)); } for (int i = 0; i < ifaces.size(); i++) { cfgVdcIfc ntry = ifaces.get(i); l.add("int " + ntry.line); cfgIfc ifc = cfgAll.ifcFind(ntry.name, 0); if (ifc == null) { continue; } cfgAll.ifcDel(ntry.name, false); try { ifc.thread.closeDn(); } catch (Exception e) { } } addrMac mac; if (macBase == null) { mac = addrMac.getRandom(); } else { mac = macBase.copyBytes(); } addrMac one = new addrMac(); one.fromString("0000:0000:0001"); for (int i = 0; i < locals.size(); i++) { cfgVdcIfc ntry = locals.get(i); String a = ""; String b = ""; if (ntry.redundancy) { cfgIfc curr = cfgAll.ifcFind(ntry.name, 0); if (curr == null) { b = " no_description"; } else { b = " " + curr.description.replaceAll(" ", "_"); } a = " red"; } l.add("int " + ntry.name + a + " " + ntry.name.substring(0, 3) + " " + mac + " 127.0.0.1 " + ntry.portR + " 127.0.0.1 " + ntry.portL + b); mac.setAdd(mac, one); } for (int i = 0; i < conns.size(); i++) { cfgVdcConn ntry = conns.get(i); if (ntry.port < 1) { ntry.port = cfgInit.vdcPortBeg; ntry.conn.port = cfgInit.vdcPortBeg + 1; cfgInit.vdcPortBeg += 2; } l.add("int " + ntry.name + " " + ntry.name.substring(0, 3) + " " + mac + " 127.0.0.1 " + ntry.port + " 127.0.0.1 " + ntry.conn.port); mac.setAdd(mac, one); } bits.buf2txt(true, l, cfgBase + cfgInit.hwCfgEnd); String a = cfgBase + cfgInit.swCfgEnd; if (configFile != null) { a = configFile; } if (!new File(a).exists()) { l = new ArrayList(); l.add("hostname " + cfgAll.hostName + "-" + name); bits.buf2txt(true, l, a); } new Thread(this).start(); } /** * get info * * @return info */ public String getShow() { return name + "|" + restartC + "|" + restartE + "|" + pipeShell.info(proc) + "|" + bits.timePast(restartT) + "|" + bits.time2str(cfgAll.timeZoneName, restartT + cfgAll.timeServerOffset, 3); } } class cfgVdcTcp implements Comparable { public int portH; public String vrf; public int portV; public addrIP adr; public int compareTo(cfgVdcTcp o) { if (portH < o.portH) { return -1; } if (portH > o.portH) { return +1; } return 0; } public String toString() { String a = portH + " " + vrf + " " + portV; if (adr == null) { return a; } return a + " " + adr; } public void fromString(cmds cmd) { portH = bits.str2num(cmd.word()); vrf = cmd.word(); portV = bits.str2num(cmd.word()); if (cmd.size() < 1) { return; } adr = new addrIP(); if (adr.fromString(cmd.word())) { adr = null; } } } class cfgVdcPci implements Comparable { public int bus; public int dev; public int fnc; public int compareTo(cfgVdcPci o) { if (bus < o.bus) { return -1; } if (bus > o.bus) { return +1; } if (dev < o.dev) { return -1; } if (dev > o.dev) { return +1; } if (fnc < o.fnc) { return -1; } if (fnc > o.fnc) { return +1; } return 0; } public String toString() { return bus + " " + dev + " " + fnc; } public void fromString(cmds cmd) { bus = bits.str2num(cmd.word()); dev = bits.str2num(cmd.word()); fnc = bits.str2num(cmd.word()); } public String toQemuStr() { return " -device vfio-pci,host=" + bits.toHexB(bus) + ":" + bits.toHexB(dev) + "." + fnc; } } class cfgVdcUsb implements Comparable { public int bus; public int prt; public int sub; public int compareTo(cfgVdcUsb o) { if (bus < o.bus) { return -1; } if (bus > o.bus) { return +1; } if (prt < o.prt) { return -1; } if (prt > o.prt) { return +1; } if (sub < o.sub) { return -1; } if (sub > o.sub) { return +1; } return 0; } public String toString() { String a = bus + " " + prt; if (sub < 1) { return a; } return a + " " + sub; } public void fromString(cmds cmd) { bus = bits.str2num(cmd.word()); prt = bits.str2num(cmd.word()); if (cmd.size() < 1) { return; } sub = bits.str2num(cmd.word()); } public String toQemuStr() { String a = " -device usb-host,hostbus=" + bus + ",hostport=" + prt; if (sub < 1) { return a; } return a + "." + sub; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgVdcConn.java000066400000000000000000000014031510423065500217440ustar00rootroot00000000000000package org.freertr.cfg; /** * vdc connection * * @author matecsaba */ public class cfgVdcConn implements Comparable { /** * name of interface */ public final String name; /** * peer vdc */ public cfgVdc peer; /** * peer vdc connection */ public cfgVdcConn conn; /** * port number */ public int port; /** * create new connection * * @param nam name of interface * @param per peer vdc */ public cfgVdcConn(String nam, cfgVdc per) { name = nam; peer = per; } public String toString() { return name + " " + peer.name; } public int compareTo(cfgVdcConn o) { return name.compareTo(o.name); } } freeRtr-25.11.9/src/org/freertr/cfg/cfgVdcIfc.java000066400000000000000000000017631510423065500215610ustar00rootroot00000000000000package org.freertr.cfg; /** * vdc resource interface * * @author matecsaba */ public class cfgVdcIfc implements Comparable { /** * name of interface */ public final String name; /** * config line of interface */ public String line; /** * local port number */ public int portL; /** * remote port number */ public int portR; /** * remote address */ public String peer; /** * redundancy interface */ public boolean redundancy = false; /** * create new interface * * @param nam name of it * @param lin line to store */ public cfgVdcIfc(String nam, String lin) { name = nam; line = lin; } public String toString() { String a = ""; if (redundancy) { a = " redundancy"; } return name + a; } public int compareTo(cfgVdcIfc o) { return name.compareTo(o.name); } } freeRtr-25.11.9/src/org/freertr/cfg/cfgVnet.java000066400000000000000000000404421510423065500213340ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.ifc.ifcUdpInt; import org.freertr.pipe.pipeConnect; import org.freertr.pipe.pipeDiscard; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeShell; import org.freertr.pipe.pipeSide; import org.freertr.tab.tabRouteIface; import org.freertr.user.userFilter; import org.freertr.user.userFlash; import org.freertr.user.userHelp; import org.freertr.user.userHwdet; import org.freertr.user.userUpgrade; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.logBuf; import org.freertr.util.logger; /** * virtual ethernet * * @author matecsaba */ public class cfgVnet implements Comparable, cfgGeneric { /** * number of this bridge */ public final int number; /** * hidden process */ protected boolean hidden = false; /** * description of this bridge */ public String description; /** * port number to use */ protected int port; /** * side one */ public final cfgVnetSide side1 = new cfgVnetSide(this, 1); /** * side two */ public final cfgVnetSide side2 = new cfgVnetSide(this, 2); /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("vnet .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("vnet .*", cmds.tabulator + cmds.negated + cmds.tabulator + "side1 type", null), new userFilter("vnet .*", cmds.tabulator + cmds.negated + cmds.tabulator + "side1 local", null), new userFilter("vnet .*", cmds.tabulator + cmds.negated + cmds.tabulator + "side1 connect", null), new userFilter("vnet .*", cmds.tabulator + cmds.negated + cmds.tabulator + "side1 log-actions", null), new userFilter("vnet .*", cmds.tabulator + cmds.negated + cmds.tabulator + "side1 log-console", null), new userFilter("vnet .*", cmds.tabulator + cmds.negated + cmds.tabulator + "side1 log-collect", null), new userFilter("vnet .*", cmds.tabulator + "side1 time 1000", null), new userFilter("vnet .*", cmds.tabulator + "side1 delay 1000", null), new userFilter("vnet .*", cmds.tabulator + "side1 random-time 0", null), new userFilter("vnet .*", cmds.tabulator + "side1 random-delay 0", null), new userFilter("vnet .*", cmds.tabulator + cmds.negated + cmds.tabulator + "side2 type", null), new userFilter("vnet .*", cmds.tabulator + cmds.negated + cmds.tabulator + "side2 local", null), new userFilter("vnet .*", cmds.tabulator + cmds.negated + cmds.tabulator + "side2 connect", null), new userFilter("vnet .*", cmds.tabulator + cmds.negated + cmds.tabulator + "side2 log-actions", null), new userFilter("vnet .*", cmds.tabulator + cmds.negated + cmds.tabulator + "side2 log-console", null), new userFilter("vnet .*", cmds.tabulator + cmds.negated + cmds.tabulator + "side2 log-collect", null), new userFilter("vnet .*", cmds.tabulator + "side2 time 1000", null), new userFilter("vnet .*", cmds.tabulator + "side2 delay 1000", null), new userFilter("vnet .*", cmds.tabulator + "side2 random-time 0", null), new userFilter("vnet .*", cmds.tabulator + "side2 random-delay 0", null) }; public int compareTo(cfgVnet o) { if (number < o.number) { return -1; } if (number > o.number) { return +1; } return 0; } /** * copy bytes * * @return copy */ public cfgVnet copyBytes() { cfgVnet n = new cfgVnet("" + number); n.description = description; side1.copyBytes(n.side1); side2.copyBytes(n.side2); return n; } public String toString() { return "vnet " + number; } /** * create new bridge instance * * @param nam name of bridge */ public cfgVnet(String nam) { number = bits.str2num(nam); } private void getHelpSide(userHelp l) { l.add(null, false, 2, new int[]{3}, "type", "type of process"); l.add(null, false, 3, new int[]{-1}, "socat", "use socat"); l.add(null, false, 3, new int[]{-1}, "pcap", "use pcapint"); l.add(null, false, 3, new int[]{-1}, "raw", "use rawint"); l.add(null, false, 3, new int[]{-1}, "map", "use mapint"); l.add(null, false, 3, new int[]{-1}, "xsk", "use xskint"); l.add(null, false, 3, new int[]{-1}, "cmp", "use cmpint"); l.add(null, false, 3, new int[]{-1}, "urng", "use urngint"); l.add(null, false, 2, new int[]{3}, "local", "name of local interface"); l.add(null, false, 3, new int[]{-1}, "", "name"); l.add(null, false, 2, new int[]{3}, "connect", "name of connected interface"); l.add(null, false, 3, new int[]{-1}, "", "name"); l.add(null, false, 2, new int[]{-1}, "log-actions", "log actions"); l.add(null, false, 2, new int[]{-1}, "log-console", "log console activity"); l.add(null, false, 2, new int[]{3}, "log-collect", "collect console activity"); l.add(null, false, 3, new int[]{-1}, "", "lines to store"); l.add(null, false, 2, new int[]{3}, "time", "specify time between runs"); l.add(null, false, 3, new int[]{-1}, "", "milliseconds between runs"); l.add(null, false, 2, new int[]{3}, "delay", "specify initial delay"); l.add(null, false, 3, new int[]{-1}, "", "milliseconds before start"); l.add(null, false, 2, new int[]{3}, "random-time", "specify random time between runs"); l.add(null, false, 3, new int[]{-1}, "", "milliseconds between runs"); l.add(null, false, 2, new int[]{3}, "random-delay", "specify random initial delay"); l.add(null, false, 3, new int[]{-1}, "", "milliseconds before start"); } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2, -1}, "description", "description of this bridge"); l.add(null, false, 2, new int[]{2, -1}, "[text]", "text describing this bridge"); l.add(null, false, 1, new int[]{2}, "side1", "configure first side"); getHelpSide(l); l.add(null, false, 1, new int[]{2}, "side2", "configure second side"); getHelpSide(l); } public List getShRun(int filter) { List l = new ArrayList(); if (hidden) { return l; } l.add("vnet " + number); cmds.cfgLine(l, description == null, cmds.tabulator, "description", description); side1.getShRun(l, cmds.tabulator); side2.getShRun(l, cmds.tabulator); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void doCfgStr(cmds cmd) { String a = cmd.word(); if (a.equals("description")) { description = cmd.getRemaining(); return; } if (a.equals("side1")) { side1.doCfgStr(cmd); return; } if (a.equals("side2")) { side2.doCfgStr(cmd); return; } if (!a.equals(cmds.negated)) { cmd.badCmd(); return; } a = cmd.word(); if (a.equals("description")) { description = null; return; } if (a.equals("side1")) { side1.doUnCfg(cmd); return; } if (a.equals("side2")) { side2.doUnCfg(cmd); return; } cmd.badCmd(); } public String getPrompt() { return "vnet"; } /** * stop work */ public void stopNow() { side1.stopNow(); side2.stopNow(); } /** * start work * * @param prt port to use */ public void startNow(int prt) { if (side1.need2run || side2.need2run) { return; } port = prt; List lst = bits.str2lst(userHwdet.scrBeg); userHwdet.setupVeth(lst, "./", userHwdet.ifcTyp.raw, side1.getOSname(), side2.getOSname()); userHwdet.setupIface(lst, "./", userHwdet.ifcTyp.raw, side1.getOSname(), 8192, null); userHwdet.setupIface(lst, "./", userHwdet.ifcTyp.raw, side2.getOSname(), 8192, null); String a = cfgInit.getRWpath() + "vnet" + bits.randomD() + userUpgrade.tmpExt; if (bits.buf2txt(true, lst, a)) { return; } userFlash.setFilePerm(a, true, false, true, true, false, true); pipeShell.exec(a, null, true, true, true); userFlash.delete(a); side1.startNow(prt + 0, prt + 1); side2.startNow(prt + 2, prt + 3); } } class cfgVnetSide implements Runnable { public final cfgVnet parent; public final int sideId; public userHwdet.ifcTyp ifcTyp; public tabRouteIface.ifaceType locTyp; public String locNam; public String conNam; public int prtLoc; public int prtRem; public boolean need2run; protected int interval = 1000; protected int initial = 1000; public int randInt; public int randIni; public boolean logAct = false; public boolean logCon = false; public logBuf logCol; public pipeSide cons; private pipeShell proc; private pipeSide pipe; public int restartE; public int restartC; public long restartT; public cfgVnetSide(cfgVnet p, int i) { parent = p; sideId = i; } public void copyBytes(cfgVnetSide n) { n.ifcTyp = ifcTyp; n.locTyp = locTyp; n.locNam = locNam; n.initial = initial; n.interval = interval; n.randIni = randIni; n.randInt = randInt; n.logAct = logAct; n.logCon = logCon; n.logCol = logCol; n.prtLoc = prtLoc; n.prtRem = prtRem; } public void getShRun(List lst, String beg1) { String beg2 = "side" + sideId; cmds.cfgLine(lst, ifcTyp == null, beg1, beg2 + " type", "" + ifcTyp); cmds.cfgLine(lst, locNam == null, beg1, beg2 + " local", locNam); cmds.cfgLine(lst, conNam == null, beg1, beg2 + " connect", conNam); cmds.cfgLine(lst, !logAct, beg1, beg2 + " log-actions", ""); cmds.cfgLine(lst, !logCon, beg1, beg2 + " log-console", ""); cmds.cfgLine(lst, logCol == null, beg1, beg2 + " log-collect", "" + logBuf.getSize(logCol)); lst.add(beg1 + beg2 + " delay " + initial); lst.add(beg1 + beg2 + " time " + interval); lst.add(beg1 + beg2 + " random-time " + randInt); lst.add(beg1 + beg2 + " random-delay " + randIni); } public void doCfgStr(cmds cmd) { String a = cmd.word(); if (a.equals("delay")) { initial = bits.str2num(cmd.word()); return; } if (a.equals("time")) { interval = bits.str2num(cmd.word()); return; } if (a.equals("random-time")) { randInt = bits.str2num(cmd.word()); return; } if (a.equals("random-delay")) { randIni = bits.str2num(cmd.word()); return; } if (a.equals("log-actions")) { logAct = true; return; } if (a.equals("log-collect")) { logCol = new logBuf(bits.str2num(cmd.word())); return; } if (a.equals("log-console")) { logCon = true; return; } if (a.equals("local")) { String pnm[] = cfgIfc.dissectName(cmd.word()); if (pnm == null) { cmd.error("invalid interface name"); return; } a = pnm[0] + pnm[1] + pnm[2]; locTyp = cfgIfc.string2type(a); if (locTyp == null) { cmd.error("bad name"); return; } if (cfgInit.ifaceLst.find(new cfgVdcIfc(a, "")) != null) { cmd.error("physical interface exists"); return; } locNam = a; return; } if (a.equals("connect")) { conNam = cmd.word(); return; } if (a.equals("type")) { a = cmd.word(); ifcTyp = userHwdet.string2type(a); return; } cmd.badCmd(); } public void doUnCfg(cmds cmd) { String a = cmd.word(); if (a.equals("random-time")) { randInt = 0; return; } if (a.equals("random-delay")) { randIni = 0; return; } if (a.equals("log-actions")) { logAct = false; return; } if (a.equals("log-collect")) { logCol = null; return; } if (a.equals("log-console")) { logCon = false; return; } if (a.equals("local")) { locNam = null; locTyp = null; return; } if (a.equals("connect")) { conNam = null; return; } if (a.equals("type")) { ifcTyp = null; return; } cmd.badCmd(); } public void startNow(int pl, int pr) { prtLoc = pl; prtRem = pr; if (!cfgInit.booting) { return; } if (locNam != null) { ifcUdpInt hdr = new ifcUdpInt("127.0.0.1", pl, "127.0.0.1", pr, "-", locTyp != tabRouteIface.ifaceType.ether, false); cfgIfc ifc = cfgAll.ifcAdd(locNam, locTyp, hdr, 1); if (ifc == null) { return; } ifc.initPhysical(); } if (ifcTyp == null) { return; } need2run = true; new Thread(this).start(); } public void stopNow() { need2run = false; restartNow(); } public void restartNow() { try { proc.kill(); } catch (Exception e) { } try { pipe.setClose(); } catch (Exception e) { } } public void run() { for (;;) { if (!cfgInit.booting) { break; } bits.sleep(1000); } int del = initial; if (randIni > 0) { del += bits.random(1, randIni); } if (del > 0) { bits.sleep(del); } for (;;) { bits.sleep(interval); if (!need2run) { break; } try { doRound(); } catch (Exception e) { logger.traceback(e); } } } public String getOSname() { return "exthairpin" + parent.number + (sideId == 1 ? "a" : "b"); } private synchronized boolean doRound() { String a = null; if (locNam != null) { a = userHwdet.interface2command("./", ifcTyp, getOSname(), prtLoc, prtRem); } if (conNam != null) { a = userHwdet.connection2command("./", ifcTyp, conNam, getOSname()); } if (a == null) { return true; } if (logAct) { logger.info("restarting process vnet " + parent.number + " " + sideId); } if (randInt > 0) { bits.sleep(bits.random(1, randInt)); } restartT = bits.getTime(); restartC++; pipeLine pl = new pipeLine(65536, false); pipe = pl.getSide(); pipe.lineTx = pipeSide.modTyp.modeCRLF; pipe.lineRx = pipeSide.modTyp.modeCRorLF; proc = pipeShell.exec(pl.getSide(), a, null, true, true, false, true); if (proc == null) { return false; } for (;;) { if (!proc.isRunning()) { break; } if (cons == null) { pipeDiscard.logLines("vnet " + parent.number + " " + sideId + " said ", pipe, logCon, logCol); bits.sleep(1000); continue; } boolean b = pipeConnect.redirect(pipe, cons); b |= pipeConnect.redirect(cons, pipe); if (b) { cons.setClose(); cons = null; } bits.sleep(100); } restartE = proc.resultNum(); return false; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgVpdn.java000066400000000000000000001705621510423065500213360ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.auth.authLocal; import org.freertr.clnt.clntAnyconn; import org.freertr.clnt.clntAx25; import org.freertr.clnt.clntBstun; import org.freertr.clnt.clntCapwap; import org.freertr.clnt.clntDlsw; import org.freertr.clnt.clntErspan; import org.freertr.clnt.clntEtherIp; import org.freertr.clnt.clntForti; import org.freertr.clnt.clntGeneve; import org.freertr.clnt.clntGrePpp; import org.freertr.clnt.clntGreTap; import org.freertr.clnt.clntGtp; import org.freertr.clnt.clntL2f; import org.freertr.clnt.clntL2tp2; import org.freertr.clnt.clntL2tp3; import org.freertr.clnt.clntLlcudp; import org.freertr.clnt.clntLwapp; import org.freertr.clnt.clntMplsPwe; import org.freertr.clnt.clntNvGre; import org.freertr.clnt.clntPckOdtls; import org.freertr.clnt.clntPckOtcp; import org.freertr.clnt.clntPckOtxt; import org.freertr.clnt.clntPckOudp; import org.freertr.clnt.clntPptp; import org.freertr.clnt.clntProxy; import org.freertr.clnt.clntPulse; import org.freertr.clnt.clntSdwan; import org.freertr.clnt.clntSrEth; import org.freertr.clnt.clntSstp; import org.freertr.clnt.clntStun; import org.freertr.clnt.clntTdmOudp; import org.freertr.clnt.clntTelnet; import org.freertr.clnt.clntTzsp; import org.freertr.clnt.clntUti; import org.freertr.clnt.clntVxlan; import org.freertr.enc.encBase64; import org.freertr.ifc.ifcBridgeIfc; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.pack.packLdpPwe; import org.freertr.serv.servGeneric; import org.freertr.tab.tabGen; import org.freertr.tab.tabRouteIface; import org.freertr.user.userFilter; import org.freertr.user.userFormat; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.state; /** * one virtual private dialup network configuration * * @author matecsaba */ public class cfgVpdn implements Comparable, cfgGeneric { /** * create instance * * @param s name */ public cfgVpdn(String s) { name = s; } /** * name of this vpdn */ public String name = ""; /** * description of this vpdn */ public String description = null; /** * upper level interface */ public cfgIfc ifaceDialer = null; /** * upper level interface */ public cfgBrdg ifaceBridge = null; /** * proxy profile */ public clntProxy proxy; /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * called telephone number */ public String called; /** * calling telephone number */ public String calling; /** * other parameters */ public String params; /** * ipsec protection */ public cfgIpsec protect; /** * public key */ public byte[] pubkey; /** * username */ public String username; /** * password */ public String password; /** * direction, true=outgoing, false=incoming */ public boolean direction = true; /** * chat script */ public cfgChat script = null; /** * vc id */ public int vcid = 0; /** * pw encapsulation */ public int pwtype = 0; /** * pw mtu */ public int pwmtu = 0; /** * control word */ public boolean ctrlWrd = false; /** * physical interface */ public boolean physInt = false; /** * lower layer handler */ public ifcDn lower = new ifcNull(); /** * target protocol */ public protocolType proto = null; /** * protocol type */ public enum protocolType { /** * l2f */ prL2f, /** * l2tp v2 */ prL2tp2, /** * l2tp v3 */ prL2tp3, /** * stun */ prStun, /** * tdmoudp */ prTdm, /** * rlogin */ prRlogin, /** * telnet */ prTelnet, /** * tls */ prTls, /** * ssh */ prSsh, /** * tcp */ prTcp, /** * bstun */ prBstun, /** * gtp */ prGtp, /** * pptp */ prPptp, /** * pckoudp */ prPou, /** * pckodtls */ prPod, /** * pckotcp */ prPot, /** * pckotxt */ prPox, /** * pppogre */ prPog, /** * tapogre */ prTog, /** * ax25 */ prAx25, /** * pweompls */ prPwom, /** * erspan */ prErspan, /** * dlsw */ prDlsw, /** * etherip */ prEtherip, /** * sreth */ prSreth, /** * uti */ prUti, /** * nvgre */ prNvgre, /** * sstp */ prSstp, /** * sdwan */ prSdwan, /** * anyconnect */ prAnycon, /** * forti */ prForti, /** * pulse */ prPulse, /** * vxlan */ prVxlan, /** * geneve */ prGeneve, /** * llcudp */ prLlcudp, /** * tzsp */ prTzsp, /** * capwap */ prCapwap, /** * lwapp */ prLwapp } private clntL2f l2f; private clntL2tp2 l2tp2; private clntL2tp3 l2tp3; private clntSstp sstp; private clntSdwan sdwan; private clntAnyconn anycon; private clntForti forti; private clntPulse pulse; private clntStun stun; private clntBstun bstun; private clntTdmOudp tdm; private clntTelnet telnet; private clntGtp gtp; private clntPptp pptp; private clntPckOudp pou; private clntPckOdtls pod; private clntPckOtcp pot; private clntPckOtxt pox; private clntGrePpp pog; private clntGreTap tog; private clntAx25 ax25; private clntVxlan vxl; private clntGeneve gnv; private clntLlcudp lcu; private clntTzsp tzs; private clntCapwap cpw; private clntLwapp lwp; private clntMplsPwe pwom; private clntErspan erspan; private clntDlsw dlsw; private clntEtherIp etherip; private clntSrEth sreth; private clntUti uti; private clntNvGre nvgre; private ifcBridgeIfc brdgIfc; private boolean running; private int stopTime = -1; /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("vpdn .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("vpdn .*", cmds.tabulator + cmds.negated + cmds.tabulator + "interface", null), new userFilter("vpdn .*", cmds.tabulator + cmds.negated + cmds.tabulator + "bridge-group", null), new userFilter("vpdn .*", cmds.tabulator + cmds.negated + cmds.tabulator + "proxy", null), new userFilter("vpdn .*", cmds.tabulator + cmds.negated + cmds.tabulator + "script", null), new userFilter("vpdn .*", cmds.tabulator + cmds.negated + cmds.tabulator + "target", null), new userFilter("vpdn .*", cmds.tabulator + cmds.negated + cmds.tabulator + "called", null), new userFilter("vpdn .*", cmds.tabulator + cmds.negated + cmds.tabulator + "calling", null), new userFilter("vpdn .*", cmds.tabulator + cmds.negated + cmds.tabulator + "params", null), new userFilter("vpdn .*", cmds.tabulator + cmds.negated + cmds.tabulator + "crypto", null), new userFilter("vpdn .*", cmds.tabulator + cmds.negated + cmds.tabulator + "pubkey", null), new userFilter("vpdn .*", cmds.tabulator + cmds.negated + cmds.tabulator + "username", null), new userFilter("vpdn .*", cmds.tabulator + cmds.negated + cmds.tabulator + "password", null), new userFilter("vpdn .*", cmds.tabulator + cmds.negated + cmds.tabulator + "mtu", null), new userFilter("vpdn .*", cmds.tabulator + cmds.negated + cmds.tabulator + "vcid", null), new userFilter("vpdn .*", cmds.tabulator + "direction outgoing", null), new userFilter("vpdn .*", cmds.tabulator + cmds.negated + cmds.tabulator + "control-word", null), new userFilter("vpdn .*", cmds.tabulator + cmds.negated + cmds.tabulator + "physical-interface", null), new userFilter("vpdn .*", cmds.tabulator + cmds.negated + cmds.tabulator + "pwtype", null), new userFilter("vpdn .*", cmds.tabulator + "prefer none", null), new userFilter("vpdn .*", cmds.tabulator + cmds.negated + cmds.tabulator + "protocol", null) }; /** * convert type to string * * @param i type * @return string */ public static String type2str(protocolType i) { if (i == null) { return null; } switch (i) { case prL2f: return "l2f"; case prL2tp2: return "l2tp2"; case prL2tp3: return "l2tp3"; case prSstp: return "sstp"; case prSdwan: return "sdwan"; case prAnycon: return "anyconn"; case prForti: return "forti"; case prPulse: return "pulse"; case prStun: return "stun"; case prTdm: return "tdmoudp"; case prRlogin: return "rlogin"; case prTelnet: return "telnet"; case prTls: return "tls"; case prSsh: return "ssh"; case prTcp: return "tcp"; case prBstun: return "bstun"; case prGtp: return "gtp"; case prPptp: return "pptp"; case prPou: return "pckoudp"; case prPod: return "pckodtls"; case prPot: return "pckotcp"; case prPox: return "pckotxt"; case prPog: return "greppp"; case prTog: return "gretap"; case prAx25: return "ax25"; case prPwom: return "pweompls"; case prErspan: return "erspan"; case prDlsw: return "dlsw"; case prEtherip: return "etherip"; case prSreth: return "sreth"; case prUti: return "uti"; case prNvgre: return "nvgre"; case prVxlan: return "vxlan"; case prGeneve: return "geneve"; case prLlcudp: return "llcudp"; case prTzsp: return "tzsp"; case prCapwap: return "capwap"; case prLwapp: return "lwapp"; default: return null; } } /** * convert string to type * * @param s string * @return type */ public static protocolType str2type(String s) { if (s.equals("l2f")) { return protocolType.prL2f; } if (s.equals("l2tp2")) { return protocolType.prL2tp2; } if (s.equals("l2tp3")) { return protocolType.prL2tp3; } if (s.equals("sstp")) { return protocolType.prSstp; } if (s.equals("sdwan")) { return protocolType.prSdwan; } if (s.equals("anyconn")) { return protocolType.prAnycon; } if (s.equals("forti")) { return protocolType.prForti; } if (s.equals("pulse")) { return protocolType.prPulse; } if (s.equals("stun")) { return protocolType.prStun; } if (s.equals("bstun")) { return protocolType.prBstun; } if (s.equals("tdmoudp")) { return protocolType.prTdm; } if (s.equals("rlogin")) { return protocolType.prRlogin; } if (s.equals("telnet")) { return protocolType.prTelnet; } if (s.equals("tls")) { return protocolType.prTls; } if (s.equals("ssh")) { return protocolType.prSsh; } if (s.equals("tcp")) { return protocolType.prTcp; } if (s.equals("gtp")) { return protocolType.prGtp; } if (s.equals("pptp")) { return protocolType.prPptp; } if (s.equals("pckoudp")) { return protocolType.prPou; } if (s.equals("pckodtls")) { return protocolType.prPod; } if (s.equals("pckotcp")) { return protocolType.prPot; } if (s.equals("pckotxt")) { return protocolType.prPox; } if (s.equals("greppp")) { return protocolType.prPog; } if (s.equals("gretap")) { return protocolType.prTog; } if (s.equals("ax25")) { return protocolType.prAx25; } if (s.equals("pweompls")) { return protocolType.prPwom; } if (s.equals("erspan")) { return protocolType.prErspan; } if (s.equals("dlsw")) { return protocolType.prDlsw; } if (s.equals("etherip")) { return protocolType.prEtherip; } if (s.equals("sreth")) { return protocolType.prSreth; } if (s.equals("uti")) { return protocolType.prUti; } if (s.equals("nvgre")) { return protocolType.prNvgre; } if (s.equals("vxlan")) { return protocolType.prVxlan; } if (s.equals("geneve")) { return protocolType.prGeneve; } if (s.equals("llcudp")) { return protocolType.prLlcudp; } if (s.equals("tzsp")) { return protocolType.prTzsp; } if (s.equals("capwap")) { return protocolType.prCapwap; } if (s.equals("lwapp")) { return protocolType.prLwapp; } return null; } public int compareTo(cfgVpdn o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String toString() { return "vpdn " + name; } public List getShRun(int filter) { List l = new ArrayList(); l.add("vpdn " + name); cmds.cfgLine(l, description == null, cmds.tabulator, "description", description); if (ifaceDialer == null) { l.add(cmds.tabulator + "no interface"); } else { l.add(cmds.tabulator + "interface " + ifaceDialer.name); } if (ifaceBridge == null) { l.add(cmds.tabulator + "no bridge-group"); } else { l.add(cmds.tabulator + "bridge-group " + ifaceBridge.number); } if (proxy == null) { l.add(cmds.tabulator + "no proxy"); } else { l.add(cmds.tabulator + "proxy " + proxy.name); } if (script == null) { l.add(cmds.tabulator + "no script"); } else { l.add(cmds.tabulator + "script " + script.name); } if (pubkey == null) { l.add(cmds.tabulator + "no pubkey"); } else { l.add(cmds.tabulator + "pubkey " + encBase64.encodeBytes(pubkey)); } cmds.cfgLine(l, target == null, cmds.tabulator, "target", target); cmds.cfgLine(l, username == null, cmds.tabulator, "username", username); cmds.cfgLine(l, password == null, cmds.tabulator, "password", authLocal.passwdEncode(password, (filter & 2) != 0)); cmds.cfgLine(l, called == null, cmds.tabulator, "called", called); cmds.cfgLine(l, calling == null, cmds.tabulator, "calling", calling); cmds.cfgLine(l, params == null, cmds.tabulator, "params", params); if (protect == null) { l.add(cmds.tabulator + "no crypto"); } else { l.add(cmds.tabulator + "crypto " + protect.name); } cmds.cfgLine(l, pwmtu == 0, cmds.tabulator, "mtu", "" + pwmtu); cmds.cfgLine(l, vcid == 0, cmds.tabulator, "vcid", "" + vcid); String s; if (direction) { s = "outgoing"; } else { s = "incoming"; } l.add(cmds.tabulator + "direction " + s); if (prefer == 0) { s = "none"; } else { s = "ipv" + prefer; } l.add(cmds.tabulator + "prefer " + s); cmds.cfgLine(l, !ctrlWrd, cmds.tabulator, "control-word", ""); cmds.cfgLine(l, !physInt, cmds.tabulator, "physical-interface", ""); cmds.cfgLine(l, pwtype < 1, cmds.tabulator, "pwtype", packLdpPwe.type2string(pwtype)); cmds.cfgLine(l, proto == null, cmds.tabulator, "protocol", type2str(proto)); if (running) { l.add(cmds.tabulator + "start"); } else { l.add(cmds.tabulator + "stop " + stopTime); } l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2}, "protocol", "specify protocol to use"); l.add(null, false, 2, new int[]{-1}, "l2f", "select l2f"); l.add(null, false, 2, new int[]{-1}, "l2tp2", "select l2tp v2"); l.add(null, false, 2, new int[]{-1}, "l2tp3", "select l2tp v3"); l.add(null, false, 2, new int[]{-1}, "sstp", "select sstp"); l.add(null, false, 2, new int[]{-1}, "sdwan", "select sdwan"); l.add(null, false, 2, new int[]{-1}, "anyconn", "select anyconnect"); l.add(null, false, 2, new int[]{-1}, "forti", "select fortinet"); l.add(null, false, 2, new int[]{-1}, "pulse", "select pulsevpn"); l.add(null, false, 2, new int[]{-1}, "stun", "select stun"); l.add(null, false, 2, new int[]{-1}, "bstun", "select bstun"); l.add(null, false, 2, new int[]{-1}, "tdmoudp", "select tdm over udp"); l.add(null, false, 2, new int[]{-1}, "rlogin", "select rlogin"); l.add(null, false, 2, new int[]{-1}, "telnet", "select telnet"); l.add(null, false, 2, new int[]{-1}, "tls", "select tls"); l.add(null, false, 2, new int[]{-1}, "ssh", "select ssh"); l.add(null, false, 2, new int[]{-1}, "tcp", "select tcp"); l.add(null, false, 2, new int[]{-1}, "gtp", "select gtp"); l.add(null, false, 2, new int[]{-1}, "greppp", "select ppp over gre"); l.add(null, false, 2, new int[]{-1}, "gretap", "select tap over gre"); l.add(null, false, 2, new int[]{-1}, "ax25", "select ax25"); l.add(null, false, 2, new int[]{-1}, "pptp", "select pptp"); l.add(null, false, 2, new int[]{-1}, "pckoudp", "select packet over udp"); l.add(null, false, 2, new int[]{-1}, "pckodtls", "select packet over dtls"); l.add(null, false, 2, new int[]{-1}, "pckotcp", "select packet over tcp"); l.add(null, false, 2, new int[]{-1}, "pckotxt", "select packet over txt"); l.add(null, false, 2, new int[]{-1}, "pweompls", "select pwe over mpls"); l.add(null, false, 2, new int[]{-1}, "erspan", "select erspan"); l.add(null, false, 2, new int[]{-1}, "dlsw", "select dlsw"); l.add(null, false, 2, new int[]{-1}, "etherip", "select etherip"); l.add(null, false, 2, new int[]{-1}, "sreth", "select sreth"); l.add(null, false, 2, new int[]{-1}, "uti", "select uti"); l.add(null, false, 2, new int[]{-1}, "nvgre", "select nvgre"); l.add(null, false, 2, new int[]{-1}, "vxlan", "select vxlan"); l.add(null, false, 2, new int[]{-1}, "geneve", "select geneve"); l.add(null, false, 2, new int[]{-1}, "llcudp", "select llcudp"); l.add(null, false, 2, new int[]{-1}, "tzsp", "select tzsp"); l.add(null, false, 2, new int[]{-1}, "capwap", "select capwap"); l.add(null, false, 2, new int[]{-1}, "lwapp", "select lwapp"); l.add(null, false, 1, new int[]{2}, "prefer", "prefer ip protocol"); l.add(null, false, 2, new int[]{-1}, "none", "default"); l.add(null, false, 2, new int[]{-1}, "ipv4", "ipv4"); l.add(null, false, 2, new int[]{-1}, "ipv6", "ipv6"); l.add(null, false, 1, new int[]{2}, "direction", "specify direction of connection"); l.add(null, false, 2, new int[]{-1}, "incoming", "act as incoming call"); l.add(null, false, 2, new int[]{-1}, "outgoing", "act as outgoing call"); l.add(null, false, 1, new int[]{2}, "proxy", "proxy profile to use"); l.add(null, false, 2, new int[]{-1}, "", "proxy name"); l.add(null, false, 1, new int[]{2}, "script", "name of chat script to use"); l.add(null, false, 2, new int[]{-1}, "", "script name"); l.add(null, false, 1, new int[]{2}, "target", "specify target of tunnel"); l.add(null, false, 2, new int[]{-1}, "", "name or address of target"); l.add(null, false, 1, new int[]{2}, "description", "specify description"); l.add(null, false, 2, new int[]{2, -1}, "", "description"); l.add(null, false, 1, new int[]{2}, "rename", "rename this vpdn"); l.add(null, false, 2, new int[]{-1}, "", "set new name"); l.add(null, false, 1, new int[]{2}, "interface", "name of interface to serve"); l.add(null, false, 2, new int[]{-1}, "", "interface name"); l.add(null, false, 1, new int[]{2}, "bridge-group", "name of bridge group to serve"); l.add(null, false, 2, new int[]{-1}, "", "bridge group number"); l.add(null, false, 1, new int[]{2}, "called", "specify called number"); l.add(null, false, 2, new int[]{-1}, "", "called number"); l.add(null, false, 1, new int[]{2}, "calling", "specify calling number"); l.add(null, false, 2, new int[]{-1}, "", "calling number"); l.add(null, false, 1, new int[]{2}, "crypto", "specify protection"); l.add(null, false, 2, new int[]{-1}, "", "name of ipsec profile"); l.add(null, false, 1, new int[]{2}, "params", "specify other parameters"); l.add(null, false, 2, new int[]{2, -1}, "", "calling number"); l.add(null, false, 1, new int[]{2}, "pubkey", "specify public key"); l.add(null, false, 2, new int[]{2, -1}, "", "public key"); l.add(null, false, 1, new int[]{2}, "username", "specify username"); l.add(null, false, 2, new int[]{-1}, "", "username"); l.add(null, false, 1, new int[]{2}, "password", "specify password"); l.add(null, false, 2, new int[]{-1}, "", "password"); l.add(null, false, 1, new int[]{2}, "vcid", "specify vc id"); l.add(null, false, 2, new int[]{-1}, "", "vc id"); l.add(null, false, 1, new int[]{-1}, "control-word", "enable/disable control word"); l.add(null, false, 1, new int[]{-1}, "physical-interface", "adding as physical to bridge"); l.add(null, false, 1, new int[]{-1}, "start", "start working"); l.add(null, false, 1, new int[]{2, -1}, "stop", "stop working"); l.add(null, false, 2, new int[]{-1}, "", "delay in ms"); l.add(null, false, 1, new int[]{2}, "mtu", "specify vc mtu"); l.add(null, false, 2, new int[]{-1}, "", "mtu"); l.add(null, false, 1, new int[]{2}, "pwtype", "type of pseudowire"); l.add(null, false, 2, new int[]{-1}, "ethernet", "ethernet mode"); l.add(null, false, 2, new int[]{-1}, "vlan", "vlan mode"); l.add(null, false, 2, new int[]{-1}, "hdlc", "hdlc mode"); l.add(null, false, 2, new int[]{-1}, "ppp", "ppp mode"); l.add(null, false, 2, new int[]{-1}, "ip", "ip mode"); l.add(null, false, 2, new int[]{-1}, "fr-dlci", "fr dlci mode"); l.add(null, false, 2, new int[]{-1}, "atm-aal5", "atm aal5 mode"); l.add(null, false, 2, new int[]{-1}, "atm-vcc", "atm vcc mode"); l.add(null, false, 2, new int[]{-1}, "atm-vpc", "atm vpc mode"); l.add(null, false, 2, new int[]{-1}, "atm-port", "atm port mode"); } /** * flap session * * @param tim time of flap */ public synchronized void doFlap(int tim) { stop2run(); bits.sleep(tim); setup2run(); } public synchronized void doCfgStr(cmds cmd) { String s = cmd.word(); if (s.equals("stop")) { stopTime = bits.str2num(cmd.word()); if (stopTime < 1) { stopTime = 111; } bits.sleep(stopTime); stop2run(); return; } if (s.equals("start")) { setup2run(); return; } if (s.equals("interface")) { stop2run(); ifaceDialer = cfgAll.ifcFind(cmd.word(), 0); if (ifaceDialer == null) { cmd.error("no such interface"); return; } if (ifaceDialer.type != tabRouteIface.ifaceType.dialer) { cmd.error("not a dialer"); ifaceDialer = null; return; } setup2run(); return; } if (s.equals("bridge-group")) { stop2run(); ifaceBridge = cfgAll.brdgFind(cmd.word(), false); if (ifaceBridge == null) { cmd.error("no such bridge group"); return; } setup2run(); return; } if (s.equals("description")) { description = cmd.getRemaining(); return; } if (s.equals("rename")) { s = cmd.word(); cfgVpdn v = cfgAll.vpdnFind(s, false); if (v != null) { cmd.error("already exists"); return; } name = s; return; } if (s.equals("proxy")) { cfgProxy prx = cfgAll.proxyFind(cmd.word(), false); if (prx == null) { cmd.error("no such proxy"); return; } proxy = prx.proxy; return; } if (s.equals("script")) { script = cfgAll.chatFind(cmd.word(), false); if (script == null) { cmd.error("no such script"); return; } return; } if (s.equals("prefer")) { s = cmd.word(); if (s.equals("ipv4")) { prefer = 4; } if (s.equals("ipv6")) { prefer = 6; } if (s.equals("none")) { prefer = 0; } return; } if (s.equals("target")) { stop2run(); target = cmd.word(); setup2run(); return; } if (s.equals("pwtype")) { pwtype = packLdpPwe.string2type(cmd.word()); return; } if (s.equals("protocol")) { stop2run(); s = cmd.word(); proto = str2type(s); setup2run(); return; } if (s.equals("direction")) { s = cmd.word(); if (s.equals("incoming")) { direction = false; } if (s.equals("outgoing")) { direction = true; } return; } if (s.equals("called")) { called = cmd.word(); return; } if (s.equals("calling")) { calling = cmd.word(); return; } if (s.equals("params")) { params = cmd.getRemaining(); return; } if (s.equals("crypto")) { cfgIpsec ips = cfgAll.ipsecFind(cmd.word(), false); if (ips == null) { cmd.error("no such profile"); return; } protect = ips; return; } if (s.equals("mtu")) { pwmtu = bits.str2num(cmd.word()); return; } if (s.equals("control-word")) { ctrlWrd = true; return; } if (s.equals("physical-interface")) { physInt = true; return; } if (s.equals("vcid")) { vcid = bits.str2num(cmd.word()); return; } if (s.equals("pubkey")) { pubkey = encBase64.decodeBytes(cmd.getRemaining()); return; } if (s.equals("username")) { username = cmd.word(); return; } if (s.equals("password")) { password = authLocal.passwdDecode(cmd.getRemaining()); return; } if (!s.equals(cmds.negated)) { cmd.badCmd(); return; } s = cmd.word(); if (s.equals("interface")) { stop2run(); ifaceDialer = null; return; } if (s.equals("bridge-group")) { stop2run(); ifaceBridge = null; return; } if (s.equals("description")) { description = null; return; } if (s.equals("proxy")) { stop2run(); proxy = null; return; } if (s.equals("script")) { stop2run(); script = null; return; } if (s.equals("target")) { stop2run(); target = null; return; } if (s.equals("pwtype")) { stop2run(); pwtype = 0; return; } if (s.equals("protocol")) { stop2run(); proto = null; return; } if (s.equals("called")) { called = null; return; } if (s.equals("calling")) { calling = null; return; } if (s.equals("params")) { params = null; return; } if (s.equals("crypto")) { protect = null; return; } if (s.equals("mtu")) { pwmtu = 0; return; } if (s.equals("control-word")) { ctrlWrd = false; return; } if (s.equals("physical-interface")) { physInt = false; return; } if (s.equals("vcid")) { vcid = 0; return; } if (s.equals("pubkey")) { pubkey = null; return; } if (s.equals("username")) { username = null; return; } if (s.equals("password")) { password = null; return; } cmd.badCmd(); } public String getPrompt() { return "vpdn"; } /** * stop process */ public synchronized void stop2run() { if (!running) { return; } if (ifaceDialer != null) { ifcUp enc = ifaceDialer.getEncapProto(); if (enc != null) { enc.setState(state.states.close); } ifaceDialer.setLowerHandler(new ifcNull()); } if (brdgIfc != null) { brdgIfc.closeUp(); brdgIfc = null; } if (l2f != null) { l2f.workStop(); l2f = null; } if (l2tp2 != null) { l2tp2.workStop(); l2tp2 = null; } if (l2tp3 != null) { l2tp3.workStop(); l2tp3 = null; } if (sstp != null) { sstp.workStop(); sstp = null; } if (sdwan != null) { sdwan.workStop(); sdwan = null; } if (anycon != null) { anycon.workStop(); anycon = null; } if (forti != null) { forti.workStop(); forti = null; } if (pulse != null) { pulse.workStop(); pulse = null; } if (stun != null) { stun.workStop(); stun = null; } if (bstun != null) { bstun.workStop(); bstun = null; } if (tdm != null) { tdm.workStop(); tdm = null; } if (telnet != null) { telnet.workStop(); telnet = null; } if (gtp != null) { gtp.workStop(); gtp = null; } if (pptp != null) { pptp.workStop(); pptp = null; } if (pou != null) { pou.workStop(); pou = null; } if (pod != null) { pod.workStop(); pod = null; } if (pot != null) { pot.workStop(); pot = null; } if (pox != null) { pox.workStop(); pox = null; } if (pog != null) { pog.workStop(); pog = null; } if (tog != null) { tog.workStop(); tog = null; } if (ax25 != null) { ax25.workStop(); ax25 = null; } if (pwom != null) { pwom.workStop(); pwom = null; } if (erspan != null) { erspan.workStop(); erspan = null; } if (dlsw != null) { dlsw.workStop(); dlsw = null; } if (etherip != null) { etherip.workStop(); etherip = null; } if (sreth != null) { sreth.workStop(); sreth = null; } if (uti != null) { uti.workStop(); uti = null; } if (nvgre != null) { nvgre.workStop(); nvgre = null; } if (vxl != null) { vxl.workStop(); vxl = null; } if (gnv != null) { gnv.workStop(); gnv = null; } if (cpw != null) { cpw.workStop(); cpw = null; } if (lwp != null) { lwp.workStop(); lwp = null; } lower = new ifcNull(); running = false; } /** * restart process */ public synchronized void setup2run() { if (running) { return; } if (target == null) { return; } if (proxy == null) { return; } if (proto == null) { return; } switch (proto) { case prL2f: if (ifaceDialer == null) { return; } if (proxy.vrf == null) { return; } l2f = new clntL2f(); l2f.target = target; l2f.prefer = prefer; l2f.vrf = proxy.vrf; l2f.srcIfc = proxy.srcIfc; l2f.hostname = username; l2f.password = password; l2f.setUpper(ifaceDialer.getEncapProto()); l2f.workStart(); lower = l2f; break; case prL2tp2: if (ifaceDialer == null) { return; } if (proxy.vrf == null) { return; } l2tp2 = new clntL2tp2(); l2tp2.target = target; l2tp2.prefer = prefer; l2tp2.vrf = proxy.vrf; l2tp2.srcIfc = proxy.srcIfc; l2tp2.direction = direction; l2tp2.called = called; l2tp2.calling = calling; l2tp2.hostname = username; l2tp2.password = password; l2tp2.setUpper(ifaceDialer.getEncapProto()); l2tp2.workStart(); lower = l2tp2; break; case prL2tp3: if ((ifaceDialer == null) && (ifaceBridge == null)) { return; } if (proxy.vrf == null) { return; } l2tp3 = new clntL2tp3(); l2tp3.pwType = pwtype; l2tp3.target = target; l2tp3.prefer = prefer; l2tp3.vrf = proxy.vrf; l2tp3.srcIfc = proxy.srcIfc; l2tp3.vcid = "" + vcid; l2tp3.direction = direction; l2tp3.hostname = username; l2tp3.password = password; if (ifaceDialer != null) { l2tp3.setUpper(ifaceDialer.getEncapProto()); } else { brdgIfc = ifaceBridge.bridgeHed.newIface(physInt, true, false); l2tp3.setUpper(brdgIfc); } l2tp3.workStart(); lower = l2tp3; break; case prSstp: if (ifaceDialer == null) { return; } sstp = new clntSstp(); sstp.target = target; sstp.proxy = proxy; sstp.unique = name; sstp.pubkey = pubkey; sstp.username = username; sstp.password = password; sstp.setUpper(ifaceDialer.getEncapProto()); sstp.workStart(); lower = sstp; break; case prSdwan: if (ifaceDialer == null) { return; } if (username == null) { return; } if (password == null) { return; } if (proxy.vrf == null) { return; } sdwan = new clntSdwan(); sdwan.ctrlAddr = target; sdwan.ctrlPort = vcid; sdwan.dataPort = bits.str2num("" + calling); sdwan.dataRand = sdwan.dataPort < 1; sdwan.passPerc = bits.str2num("" + called); sdwan.pubkey = pubkey; sdwan.prefer = prefer; sdwan.protos = params; sdwan.protect = protect; sdwan.srcVrf = proxy.vrf; sdwan.srcIfc = proxy.srcIfc; sdwan.username = username; sdwan.password = password; sdwan.clonIfc = ifaceDialer; sdwan.setUpper(ifaceDialer.getEncapProto()); sdwan.workStart(); lower = sdwan; break; case prAnycon: if (ifaceDialer == null) { return; } anycon = new clntAnyconn(); anycon.cfger = ifaceDialer; anycon.target = target; anycon.proxy = proxy; anycon.pubkey = pubkey; anycon.username = username; anycon.password = password; anycon.setUpper(ifaceDialer.getEncapProto()); anycon.workStart(); lower = anycon; break; case prForti: if (ifaceDialer == null) { return; } forti = new clntForti(); forti.cfger = ifaceDialer; forti.target = target; forti.proxy = proxy; forti.pubkey = pubkey; forti.username = username; forti.password = password; forti.setUpper(ifaceDialer.getEncapProto()); forti.workStart(); lower = forti; break; case prPulse: if (ifaceDialer == null) { return; } pulse = new clntPulse(); pulse.cfger = ifaceDialer; pulse.target = target; pulse.proxy = proxy; pulse.pubkey = pubkey; pulse.username = username; pulse.password = password; pulse.setUpper(ifaceDialer.getEncapProto()); pulse.workStart(); lower = pulse; break; case prStun: if (ifaceDialer == null) { return; } stun = new clntStun(); stun.target = target; stun.proxy = proxy; stun.group = vcid; stun.setUpper(ifaceDialer.getEncapProto()); stun.workStart(); lower = stun; break; case prBstun: if (ifaceDialer == null) { return; } if (script.script == null) { return; } bstun = new clntBstun(); bstun.target = target; bstun.proxy = proxy; bstun.group = vcid; bstun.script = script.script; bstun.setUpper(ifaceDialer.getEncapProto()); bstun.workStart(); lower = bstun; break; case prTdm: if (ifaceDialer == null) { return; } if (proxy.vrf == null) { return; } tdm = new clntTdmOudp(); tdm.target = target; tdm.chanMin = pwmtu / 1000; tdm.chanMax = pwmtu % 1000; tdm.prefer = prefer; tdm.vrf = proxy.vrf; tdm.srcIfc = proxy.srcIfc; tdm.prtR = vcid; if (ctrlWrd) { tdm.prtL = -1; } else { tdm.prtL = vcid; } tdm.setUpper(ifaceDialer.getEncapProto()); tdm.workStart(); lower = tdm; break; case prRlogin: if (ifaceDialer == null) { return; } if (script.script == null) { return; } telnet = new clntTelnet(); telnet.target = target; telnet.proxy = proxy; telnet.port = vcid; telnet.username = username; telnet.password = password; telnet.security = servGeneric.protoRlogin; telnet.script = script.script; telnet.setUpper(ifaceDialer.getEncapProto()); telnet.workStart(); lower = telnet; break; case prTelnet: if (ifaceDialer == null) { return; } if (script.script == null) { return; } telnet = new clntTelnet(); telnet.target = target; telnet.proxy = proxy; telnet.port = vcid; telnet.security = servGeneric.protoTelnet; telnet.script = script.script; telnet.setUpper(ifaceDialer.getEncapProto()); telnet.workStart(); lower = telnet; break; case prTls: if (ifaceDialer == null) { return; } if (script.script == null) { return; } telnet = new clntTelnet(); telnet.target = target; telnet.proxy = proxy; telnet.port = vcid; telnet.pubkey = pubkey; telnet.security = servGeneric.protoTls; telnet.script = script.script; telnet.setUpper(ifaceDialer.getEncapProto()); telnet.workStart(); lower = telnet; break; case prSsh: if (ifaceDialer == null) { return; } if (script.script == null) { return; } telnet = new clntTelnet(); telnet.target = target; telnet.proxy = proxy; telnet.port = vcid; telnet.pubkey = pubkey; telnet.username = username; telnet.password = password; telnet.security = servGeneric.protoSsh; telnet.script = script.script; telnet.setUpper(ifaceDialer.getEncapProto()); telnet.workStart(); lower = telnet; break; case prTcp: if (ifaceDialer == null) { return; } if (script.script == null) { return; } telnet = new clntTelnet(); telnet.target = target; telnet.proxy = proxy; telnet.port = vcid; telnet.script = script.script; telnet.setUpper(ifaceDialer.getEncapProto()); telnet.workStart(); lower = telnet; break; case prGtp: if (ifaceDialer == null) { return; } if (proxy.vrf == null) { return; } gtp = new clntGtp(); gtp.target = target; gtp.prefer = prefer; gtp.vrf = proxy.vrf; gtp.srcIfc = proxy.srcIfc; gtp.apn = called; gtp.isdn = calling; gtp.imsi = calling; gtp.imei = calling; gtp.cfger = ifaceDialer; gtp.setUpper(ifaceDialer.getEncapProto()); gtp.workStart(); lower = gtp; break; case prPptp: if (ifaceDialer == null) { return; } if (proxy.vrf == null) { return; } pptp = new clntPptp(); pptp.target = target; pptp.prefer = prefer; pptp.vrf = proxy.vrf; pptp.srcIfc = proxy.srcIfc; pptp.direction = direction; pptp.called = called; pptp.setUpper(ifaceDialer.getEncapProto()); pptp.workStart(); lower = pptp; break; case prPou: if ((ifaceDialer == null) && (ifaceBridge == null)) { return; } if (proxy.vrf == null) { return; } pou = new clntPckOudp(); pou.target = target; pou.prefer = prefer; pou.vrf = proxy.vrf; pou.srcIfc = proxy.srcIfc; pou.prtR = vcid; if (ctrlWrd) { pou.prtL = -1; } else { pou.prtL = vcid; } if (ifaceDialer != null) { pou.setUpper(ifaceDialer.getEncapProto()); } else { brdgIfc = ifaceBridge.bridgeHed.newIface(physInt, true, false); pou.setUpper(brdgIfc); } pou.workStart(); lower = pou; break; case prPod: if (ifaceDialer == null) { return; } pod = new clntPckOdtls(); pod.target = target; pod.proxy = proxy; pod.prtR = vcid; pod.setUpper(ifaceDialer.getEncapProto()); pod.workStart(); lower = pod; break; case prPot: if (ifaceDialer == null) { return; } pot = new clntPckOtcp(); pot.target = target; pot.proxy = proxy; pot.prtR = vcid; pot.setUpper(ifaceDialer.getEncapProto()); pot.workStart(); lower = pot; break; case prPox: if (ifaceDialer == null) { return; } pox = new clntPckOtxt(); pox.target = target; pox.proxy = proxy; pox.prtR = vcid; pox.setUpper(ifaceDialer.getEncapProto()); pox.workStart(); lower = pox; break; case prPog: if (ifaceDialer == null) { return; } if (proxy.vrf == null) { return; } pog = new clntGrePpp(); pog.target = target; pog.prefer = prefer; pog.vrf = proxy.vrf; pog.srcIfc = proxy.srcIfc; pog.vcid = vcid; pog.setUpper(ifaceDialer.getEncapProto()); pog.workStart(); lower = pog; break; case prTog: if (ifaceBridge == null) { return; } if (proxy.vrf == null) { return; } tog = new clntGreTap(); tog.target = target; tog.prefer = prefer; tog.vrf = proxy.vrf; tog.srcIfc = proxy.srcIfc; tog.vcid = vcid; brdgIfc = ifaceBridge.bridgeHed.newIface(physInt, true, false); tog.setUpper(brdgIfc); tog.workStart(); lower = tog; break; case prAx25: if (ifaceDialer == null) { return; } if (proxy.vrf == null) { return; } ax25 = new clntAx25(); ax25.target = target; ax25.prefer = prefer; ax25.vrf = proxy.vrf; ax25.srcIfc = proxy.srcIfc; ax25.setUpper(ifaceDialer.getEncapProto()); ax25.workStart(); lower = ax25; break; case prPwom: if ((ifaceDialer == null) && (ifaceBridge == null)) { return; } if (proxy.vrf == null) { return; } pwom = new clntMplsPwe(); pwom.pwType = pwtype; pwom.pwMtu = pwmtu; pwom.target = target; pwom.prefer = prefer; pwom.vrf = proxy.vrf; pwom.srcIfc = proxy.srcIfc; pwom.vcid = vcid; pwom.ctrlWrd = ctrlWrd; pwom.descr = name; if (ifaceDialer != null) { pwom.setUpper(ifaceDialer.getEncapProto()); } else { brdgIfc = ifaceBridge.bridgeHed.newIface(physInt, true, false); pwom.setUpper(brdgIfc); } pwom.workStart(); lower = pwom; break; case prErspan: if (ifaceBridge == null) { return; } if (proxy.vrf == null) { return; } erspan = new clntErspan(); erspan.target = target; erspan.prefer = prefer; erspan.vrf = proxy.vrf; erspan.srcIfc = proxy.srcIfc; erspan.spnid = vcid; erspan.vlnid = vcid; brdgIfc = ifaceBridge.bridgeHed.newIface(physInt, true, false); erspan.setUpper(brdgIfc); erspan.workStart(); lower = erspan; break; case prDlsw: if (ifaceBridge == null) { return; } if (proxy.vrf == null) { return; } dlsw = new clntDlsw(); dlsw.target = target; dlsw.prefer = prefer; dlsw.vrf = proxy.vrf; dlsw.srcIfc = proxy.srcIfc; brdgIfc = ifaceBridge.bridgeHed.newIface(physInt, true, false); dlsw.setUpper(brdgIfc); dlsw.workStart(); lower = dlsw; break; case prEtherip: if (ifaceBridge == null) { return; } if (proxy.vrf == null) { return; } etherip = new clntEtherIp(); etherip.target = target; etherip.prefer = prefer; etherip.vrf = proxy.vrf; etherip.srcIfc = proxy.srcIfc; brdgIfc = ifaceBridge.bridgeHed.newIface(physInt, true, false); etherip.setUpper(brdgIfc); etherip.workStart(); lower = etherip; break; case prSreth: if (ifaceBridge == null) { return; } if (proxy.vrf == null) { return; } sreth = new clntSrEth(); sreth.target = target; sreth.prefer = prefer; sreth.vrf = proxy.vrf; sreth.srcIfc = proxy.srcIfc; brdgIfc = ifaceBridge.bridgeHed.newIface(physInt, true, false); sreth.setUpper(brdgIfc); sreth.workStart(); lower = sreth; break; case prUti: if (ifaceBridge == null) { return; } if (proxy.vrf == null) { return; } uti = new clntUti(); uti.target = target; uti.prefer = prefer; uti.vrf = proxy.vrf; uti.srcIfc = proxy.srcIfc; uti.tunKey = vcid; brdgIfc = ifaceBridge.bridgeHed.newIface(physInt, true, false); uti.setUpper(brdgIfc); uti.workStart(); lower = uti; break; case prNvgre: if (ifaceBridge == null) { return; } if (proxy.vrf == null) { return; } nvgre = new clntNvGre(); nvgre.target = target; nvgre.prefer = prefer; nvgre.vrf = proxy.vrf; nvgre.srcIfc = proxy.srcIfc; nvgre.vsid = vcid; brdgIfc = ifaceBridge.bridgeHed.newIface(physInt, true, false); nvgre.setUpper(brdgIfc); nvgre.workStart(); lower = nvgre; break; case prVxlan: if (ifaceBridge == null) { return; } if (proxy.vrf == null) { return; } vxl = new clntVxlan(); vxl.target = target; vxl.prefer = prefer; vxl.vrf = proxy.vrf; vxl.srcIfc = proxy.srcIfc; vxl.inst = vcid; vxl.prot = pwtype; vxl.wildcard = ctrlWrd; brdgIfc = ifaceBridge.bridgeHed.newIface(physInt, true, false); vxl.setUpper(brdgIfc); vxl.workStart(); lower = vxl; break; case prGeneve: if (ifaceBridge == null) { return; } if (proxy.vrf == null) { return; } gnv = new clntGeneve(); gnv.target = target; gnv.prefer = prefer; gnv.vrf = proxy.vrf; gnv.srcIfc = proxy.srcIfc; gnv.vni = vcid; brdgIfc = ifaceBridge.bridgeHed.newIface(physInt, true, false); gnv.setUpper(brdgIfc); gnv.workStart(); lower = gnv; break; case prLlcudp: if (ifaceBridge == null) { return; } if (proxy.vrf == null) { return; } lcu = new clntLlcudp(); lcu.target = target; lcu.prefer = prefer; lcu.vrf = proxy.vrf; lcu.srcIfc = proxy.srcIfc; brdgIfc = ifaceBridge.bridgeHed.newIface(physInt, true, false); lcu.setUpper(brdgIfc); lcu.workStart(); lower = lcu; break; case prTzsp: if (ifaceBridge == null) { return; } if (proxy.vrf == null) { return; } tzs = new clntTzsp(); tzs.target = target; tzs.prefer = prefer; tzs.vrf = proxy.vrf; tzs.srcIfc = proxy.srcIfc; brdgIfc = ifaceBridge.bridgeHed.newIface(physInt, true, false); tzs.setUpper(brdgIfc); tzs.workStart(); lower = tzs; break; case prCapwap: if (ifaceBridge == null) { return; } if (proxy.vrf == null) { return; } cpw = new clntCapwap(); cpw.target = target; cpw.prefer = prefer; cpw.vrf = proxy.vrf; cpw.srcIfc = proxy.srcIfc; brdgIfc = ifaceBridge.bridgeHed.newIface(physInt, true, false); cpw.setUpper(brdgIfc); cpw.workStart(); lower = cpw; break; case prLwapp: if (ifaceBridge == null) { return; } if (proxy.vrf == null) { return; } lwp = new clntLwapp(); lwp.target = target; lwp.prefer = prefer; lwp.vrf = proxy.vrf; lwp.srcIfc = proxy.srcIfc; brdgIfc = ifaceBridge.bridgeHed.newIface(physInt, true, false); lwp.setUpper(brdgIfc); lwp.workStart(); lower = lwp; break; default: lower = new ifcNull(); break; } if (ifaceDialer != null) { ifaceDialer.setLowerHandler(lower); ifcUp enc = ifaceDialer.getEncapProto(); if (enc != null) { enc.setState(state.states.up); } } running = true; } /** * get show * * @return state */ public userFormat getShow() { if (anycon != null) { return anycon.getShow(); } if (forti != null) { return forti.getShow(); } if (gtp != null) { return gtp.getShow(); } if (l2f != null) { return l2f.getShow(); } if (l2tp2 != null) { return l2tp2.getShow(); } if (l2tp3 != null) { return l2tp3.getShow(); } if (pulse != null) { return pulse.getShow(); } if (sdwan != null) { return sdwan.getShow(); } return null; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgVrf.java000066400000000000000000002064671510423065500211700ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.ip.ipCor4; import org.freertr.ip.ipCor6; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipFwdMcast; import org.freertr.ip.ipFwdRoute; import org.freertr.ip.ipFwdTab; import org.freertr.ip.ipIcmp4; import org.freertr.ip.ipIcmp6; import org.freertr.ip.ipMhost4; import org.freertr.ip.ipMhost6; import org.freertr.ipx.ipxFwd; import org.freertr.prt.prtDccp; import org.freertr.prt.prtLudp; import org.freertr.prt.prtSctp; import org.freertr.prt.prtTcp; import org.freertr.prt.prtUdp; import org.freertr.tab.tabLabel; import org.freertr.tab.tabLabelEntry; import org.freertr.tab.tabNatCfgN; import org.freertr.tab.tabPbrN; import org.freertr.tab.tabQos; import org.freertr.tab.tabRateLimit; import org.freertr.tab.tabRouteUtil; import org.freertr.user.userFilter; import org.freertr.user.userFormat; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; /** * one vrf configuration * * @author matecsaba */ public class cfgVrf implements Comparable, cfgGeneric { /** * name of this vrf */ public String name; /** * description of this vrf */ public String description = ""; /** * hidden vrf */ protected boolean hidden = false; /** * ipx forwarder */ public ipxFwd ipx; /** * ipv4 forwarder */ public ipFwd fwd4; /** * ipv6 forwarder */ public ipFwd fwd6; /** * ipv4 core */ public ipCor4 core4; /** * ipv6 core */ public ipCor6 core6; /** * icmp v4 */ public ipIcmp4 icmp4; /** * icmp v6 */ public ipIcmp6 icmp6; /** * igmp v4 */ public ipMhost4 mhst4; /** * mld v6 */ public ipMhost6 mhst6; /** * udp for ipv4 */ public prtUdp udp4; /** * udp for ipv6 */ public prtUdp udp6; /** * ludp for ipv4 */ public prtLudp ludp4; /** * ludp for ipv6 */ public prtLudp ludp6; /** * dccp for ipv4 */ public prtDccp dccp4; /** * dccp for ipv6 */ public prtDccp dccp6; /** * sctp for ipv4 */ public prtSctp sctp4; /** * sctp for ipv6 */ public prtSctp sctp6; /** * tcp for ipv4 */ public prtTcp tcp4; /** * tcp for ipv6 */ public prtTcp tcp6; /** * ipv4 label value */ public int label4comm = 0; /** * ipv6 label value */ public int label6comm = 0; /** * ipv4 interface value */ public int iface4start = 0; /** * ipv6 interface value */ public int iface6start = 0; /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("vrf definition .*", cmds.tabulator + "rd 0:0", null), new userFilter("vrf definition .*", cmds.tabulator + "update4interval 0", null), new userFilter("vrf definition .*", cmds.tabulator + "update6interval 0", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "optimize4lookup", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "optimize6lookup", null), new userFilter("vrf definition .*", cmds.tabulator + "rt4import", null), new userFilter("vrf definition .*", cmds.tabulator + "rt4export", null), new userFilter("vrf definition .*", cmds.tabulator + "rt6import", null), new userFilter("vrf definition .*", cmds.tabulator + "rt6export", null), new userFilter("vrf definition .*", cmds.tabulator + "clr4import", null), new userFilter("vrf definition .*", cmds.tabulator + "clr4export", null), new userFilter("vrf definition .*", cmds.tabulator + "clr6import", null), new userFilter("vrf definition .*", cmds.tabulator + "clr6export", null), new userFilter("vrf definition .*", cmds.tabulator + "label4mode per-vrf", null), new userFilter("vrf definition .*", cmds.tabulator + "label6mode per-vrf", null), new userFilter("vrf definition .*", cmds.tabulator + "mdt4 none", null), new userFilter("vrf definition .*", cmds.tabulator + "mdt6 none", null), new userFilter("vrf definition .*", cmds.tabulator + "propagate4ttl", null), new userFilter("vrf definition .*", cmds.tabulator + "propagate6ttl", null), new userFilter("vrf definition .*", cmds.tabulator + "report4labels", null), new userFilter("vrf definition .*", cmds.tabulator + "report6labels", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "unreach4rate", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "unreach6rate", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "label4filter", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "label6filter", null), new userFilter("vrf definition .*", cmds.tabulator + "label4common 0", null), new userFilter("vrf definition .*", cmds.tabulator + "label6common 0", null), new userFilter("vrf definition .*", cmds.tabulator + "iface4start 0", null), new userFilter("vrf definition .*", cmds.tabulator + "iface6start 0", null), new userFilter("vrf definition .*", cmds.tabulator + "route4limit 0 0 0 0", null), new userFilter("vrf definition .*", cmds.tabulator + "route6limit 0 0 0 0", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "import4list", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "import6list", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "export4list", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "export6list", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "import4map", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "import6map", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "export4map", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "export6map", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "import4policy", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "import6policy", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "export4policy", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "export6policy", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "dapp4", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "dapp6", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "copp4in", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "copp4out", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "copp6in", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "copp6out", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "packet4filter", null), new userFilter("vrf definition .*", cmds.tabulator + cmds.negated + cmds.tabulator + "packet6filter", null), new userFilter("vrf definition .*", cmds.tabulator + "incremental4 1000", null), new userFilter("vrf definition .*", cmds.tabulator + "incremental6 1000", null), new userFilter("vrf definition .*", cmds.tabulator + "threshold4traffic 0", null), new userFilter("vrf definition .*", cmds.tabulator + "threshold6traffic 0", null), new userFilter("vrf definition .*", cmds.tabulator + "threshold4route 0", null), new userFilter("vrf definition .*", cmds.tabulator + "threshold6route 0", null), new userFilter("", "ipv[46] nat .* sequence .* timeout 300000", null), new userFilter("", "ipv[46] nat .* sequence .* sessions 0", null), new userFilter("", "ipv[46] flow .* parameters ", null) }; /** * get fwd instance * * @param adr address to test * @return fwd instance */ public ipFwd getFwd(addrIP adr) { if (adr.isIPv4()) { return fwd4; } else { return fwd6; } } /** * get tcp instance * * @param adr address to test * @return tcp instance */ public prtTcp getTcp(addrIP adr) { if (adr.isIPv4()) { return tcp4; } else { return tcp6; } } /** * get udp instance * * @param adr address to test * @return udp instance */ public prtUdp getUdp(addrIP adr) { if (adr.isIPv4()) { return udp4; } else { return udp6; } } /** * get ludp instance * * @param adr address to test * @return ludp instance */ public prtLudp getLudp(addrIP adr) { if (adr.isIPv4()) { return ludp4; } else { return ludp6; } } /** * get dccp instance * * @param adr address to test * @return dccp instance */ public prtDccp getDccp(addrIP adr) { if (adr.isIPv4()) { return dccp4; } else { return dccp6; } } /** * get dccp instance * * @param adr address to test * @return sctp instance */ public prtSctp getSctp(addrIP adr) { if (adr.isIPv4()) { return sctp4; } else { return sctp6; } } /** * get other interface * * @param fwd forwarder * @param ifc interface * @return other interface, null if not found */ public ipFwdIface getOtherIface(ipFwd fwd, ipFwdIface ifc) { ipFwd of = null; if (fwd == fwd4) { of = fwd6; } if (fwd == fwd6) { of = fwd4; } if (of == null) { return null; } ifc = fwd.ifaces.find(ifc); if (ifc == null) { return null; } ifc = ifc.otherHandler; if (ifc == null) { return null; } ifc = of.ifaces.find(ifc); if (ifc == null) { return null; } return ifc; } public int compareTo(cfgVrf o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String toString() { return "vrf " + name; } /** * create new vrf * * @param nam name of vrf */ public cfgVrf(String nam) { name = nam.trim(); } /** * allocate this vrf now */ public synchronized void allocThisVrf() { core4 = new ipCor4(); core6 = new ipCor6(); icmp4 = new ipIcmp4(); icmp6 = new ipIcmp6(); mhst4 = new ipMhost4(); mhst6 = new ipMhost6(); ipx = new ipxFwd(name); fwd4 = new ipFwd(core4, icmp4, mhst4, name, name + ":4"); fwd6 = new ipFwd(core6, icmp6, mhst6, name, name + ":6"); fwd4.other = fwd6; fwd6.other = fwd4; udp4 = new prtUdp(fwd4); udp6 = new prtUdp(fwd6); ludp4 = new prtLudp(fwd4); ludp6 = new prtLudp(fwd6); dccp4 = new prtDccp(fwd4); dccp6 = new prtDccp(fwd6); sctp4 = new prtSctp(fwd4); sctp6 = new prtSctp(fwd6); tcp4 = new prtTcp(fwd4); tcp6 = new prtTcp(fwd6); } /** * start this vrf now */ public synchronized void startThisVrf() { ipx.startThisVrf(); fwd4.startThisVrf(); fwd6.startThisVrf(); } /** * destroy this vrf */ public synchronized void stopThisVrf() { ipx.stopThisVrf(); fwd4.stopThisVrf(); fwd6.stopThisVrf(); } /** * close connections * * @param honor exempt restart candidates */ public synchronized void closeAllConns(boolean honor) { udp4.closeConns(honor); udp6.closeConns(honor); ludp4.closeConns(honor); ludp6.closeConns(honor); dccp4.closeConns(honor); dccp6.closeConns(honor); sctp4.closeConns(honor); sctp6.closeConns(honor); tcp4.closeConns(honor); tcp6.closeConns(honor); } private void addRoutes(List l, int p, ipFwd f) { for (int i = 0; i < f.staticU.size(); i++) { ipFwdRoute prf = f.staticU.get(i); l.add("ipv" + p + " route " + name + " " + prf); } } private void addMroutes(List l, int p, ipFwd f) { for (int i = 0; i < f.staticM.size(); i++) { ipFwdRoute prf = f.staticM.get(i); l.add("ipv" + p + " mroute " + name + " " + prf); } } private void addCfgNats(List l, int p, ipFwd f, int filter) { for (int i = 0; i < f.natCfg.size(); i++) { tabNatCfgN nat = f.natCfg.get(i); l.addAll(nat.usrString("ipv" + p + " nat " + name + " ", filter)); } } private void addCfgPbrs(List l, int p, ipFwd f, int filter) { for (int i = 0; i < f.pbrCfg.size(); i++) { tabPbrN pbr = f.pbrCfg.get(i); l.addAll(pbr.usrString("ipv" + p + " pbr " + name + " ", filter)); } } private void addCfgMcast(List l, int p, ipFwd f) { for (int o = 0; o < f.groups.size(); o++) { ipFwdMcast grp = f.groups.get(o); if (grp == null) { continue; } if (!grp.configG) { continue; } l.add("ipv" + p + " multicast " + name + " join-group " + grp.group + " " + grp.source); } } private void addCfgFlow(List l, int p, ipFwd f) { if (f.netflow == null) { return; } l.add("ipv" + p + " flow " + name + " " + f.netflow); l.add("ipv" + p + " flow " + name + " parameters " + f.netflow.session); } private static ipFwd.mdtMode string2mdtmod(String a) { if (a.equals("none")) { return ipFwd.mdtMode.none; } if (a.equals("mldp")) { return ipFwd.mdtMode.mldp; } if (a.equals("bier")) { return ipFwd.mdtMode.bier; } return ipFwd.mdtMode.none; } private static String mdtmod2string(ipFwd.mdtMode mm) { switch (mm) { case none: return "none"; case mldp: return "mldp"; case bier: return "bier"; default: return "unknown"; } } private static ipFwd.labelMode string2labmod(String a) { if (a.equals("per-prefix")) { return ipFwd.labelMode.all; } if (a.equals("all-igp")) { return ipFwd.labelMode.igp; } if (a.equals("host-route")) { return ipFwd.labelMode.host; } if (a.equals("connected")) { return ipFwd.labelMode.conn; } if (a.equals("per-vrf")) { return ipFwd.labelMode.common; } return ipFwd.labelMode.common; } private static String labmod2string(ipFwd.labelMode lm) { switch (lm) { case all: return "per-prefix"; case igp: return "all-igp"; case host: return "host-route"; case conn: return "connected"; case common: return "per-vrf"; default: return "unknown"; } } public List getShRun(int filter) { List l = new ArrayList(); if (hidden) { return l; } l.add("vrf definition " + name); cmds.cfgLine(l, description.length() < 1, cmds.tabulator, "description", description); l.add(cmds.tabulator + "rd " + tabRouteUtil.rd2string(fwd4.rd)); cmds.cfgLine(l, !fwd4.optimize, cmds.tabulator, "optimize4lookup", ""); cmds.cfgLine(l, !fwd6.optimize, cmds.tabulator, "optimize6lookup", ""); l.add(cmds.tabulator + "update4interval " + fwd4.updateInterval); l.add(cmds.tabulator + "update6interval " + fwd6.updateInterval); String s = ""; for (int i = 0; i < fwd4.rtImp.size(); i++) { s += " " + tabRouteUtil.rd2string(fwd4.rtImp.get(i)); } l.add(cmds.tabulator + "rt4import" + s); s = ""; for (int i = 0; i < fwd4.rtExp.size(); i++) { s += " " + tabRouteUtil.rd2string(fwd4.rtExp.get(i)); } l.add(cmds.tabulator + "rt4export" + s); s = ""; for (int i = 0; i < fwd6.rtImp.size(); i++) { s += " " + tabRouteUtil.rd2string(fwd6.rtImp.get(i)); } l.add(cmds.tabulator + "rt6import" + s); s = ""; for (int i = 0; i < fwd6.rtExp.size(); i++) { s += " " + tabRouteUtil.rd2string(fwd6.rtExp.get(i)); } l.add(cmds.tabulator + "rt6export" + s); s = ""; for (int i = 0; i < fwd4.clrImp.size(); i++) { s += " " + fwd4.clrImp.get(i); } l.add(cmds.tabulator + "clr4import" + s); s = ""; for (int i = 0; i < fwd4.clrExp.size(); i++) { s += " " + fwd4.clrExp.get(i); } l.add(cmds.tabulator + "clr4export" + s); s = ""; for (int i = 0; i < fwd6.clrImp.size(); i++) { s += " " + fwd6.clrImp.get(i); } l.add(cmds.tabulator + "clr6import" + s); s = ""; for (int i = 0; i < fwd6.clrExp.size(); i++) { s += " " + fwd6.clrExp.get(i); } l.add(cmds.tabulator + "clr6export" + s); l.add(cmds.tabulator + "iface4start " + iface4start); l.add(cmds.tabulator + "iface6start " + iface6start); l.add(cmds.tabulator + "label4mode " + labmod2string(fwd4.prefixMode)); l.add(cmds.tabulator + "label6mode " + labmod2string(fwd6.prefixMode)); l.add(cmds.tabulator + "mdt4 " + mdtmod2string(fwd4.mdtMod)); l.add(cmds.tabulator + "mdt6 " + mdtmod2string(fwd6.mdtMod)); l.add(cmds.tabulator + "label4common " + label4comm); l.add(cmds.tabulator + "label6common " + label6comm); l.add(cmds.tabulator + "route4limit " + fwd4.routeLimitU + " " + fwd4.routeLimitL + " " + fwd4.routeLimitM + " " + fwd4.routeLimitF); l.add(cmds.tabulator + "route6limit " + fwd6.routeLimitU + " " + fwd6.routeLimitL + " " + fwd6.routeLimitM + " " + fwd6.routeLimitF); cmds.cfgLine(l, !fwd4.mplsPropTtl, cmds.tabulator, "propagate4ttl", ""); cmds.cfgLine(l, !fwd6.mplsPropTtl, cmds.tabulator, "propagate6ttl", ""); cmds.cfgLine(l, !fwd4.mplsExtRep, cmds.tabulator, "report4labels", ""); cmds.cfgLine(l, !fwd6.mplsExtRep, cmds.tabulator, "report6labels", ""); cmds.cfgLine(l, fwd4.unreach == null, cmds.tabulator, "unreach4rate", "" + fwd4.unreach); cmds.cfgLine(l, fwd6.unreach == null, cmds.tabulator, "unreach6rate", "" + fwd6.unreach); cmds.cfgLine(l, fwd4.labelFilter == null, cmds.tabulator, "label4filter", "" + fwd4.labelFilter); cmds.cfgLine(l, fwd6.labelFilter == null, cmds.tabulator, "label6filter", "" + fwd6.labelFilter); cmds.cfgLine(l, fwd4.importList == null, cmds.tabulator, "import4list", "" + fwd4.importList); cmds.cfgLine(l, fwd6.importList == null, cmds.tabulator, "import6list", "" + fwd6.importList); cmds.cfgLine(l, fwd4.exportList == null, cmds.tabulator, "export4list", "" + fwd4.exportList); cmds.cfgLine(l, fwd6.exportList == null, cmds.tabulator, "export6list", "" + fwd6.exportList); cmds.cfgLine(l, fwd4.importMap == null, cmds.tabulator, "import4map", "" + fwd4.importMap); cmds.cfgLine(l, fwd6.importMap == null, cmds.tabulator, "import6map", "" + fwd6.importMap); cmds.cfgLine(l, fwd4.exportMap == null, cmds.tabulator, "export4map", "" + fwd4.exportMap); cmds.cfgLine(l, fwd6.exportMap == null, cmds.tabulator, "export6map", "" + fwd6.exportMap); cmds.cfgLine(l, fwd4.importPol == null, cmds.tabulator, "import4policy", "" + fwd4.importPol); cmds.cfgLine(l, fwd6.importPol == null, cmds.tabulator, "import6policy", "" + fwd6.importPol); cmds.cfgLine(l, fwd4.exportPol == null, cmds.tabulator, "export4policy", "" + fwd4.exportPol); cmds.cfgLine(l, fwd6.exportPol == null, cmds.tabulator, "export6policy", "" + fwd6.exportPol); cmds.cfgLine(l, fwd4.dapp == null, cmds.tabulator, "dapp4", "" + fwd4.dapp); cmds.cfgLine(l, fwd6.dapp == null, cmds.tabulator, "dapp6", "" + fwd6.dapp); cmds.cfgLine(l, fwd4.coppIn == null, cmds.tabulator, "copp4in", "" + fwd4.coppIn); cmds.cfgLine(l, fwd4.coppOut == null, cmds.tabulator, "copp4out", "" + fwd4.coppOut); cmds.cfgLine(l, fwd6.coppIn == null, cmds.tabulator, "copp6in", "" + fwd6.coppIn); cmds.cfgLine(l, fwd6.coppOut == null, cmds.tabulator, "copp6out", "" + fwd6.coppOut); cmds.cfgLine(l, fwd4.packetFilter == null, cmds.tabulator, "packet4filter", "" + fwd4.packetFilter); cmds.cfgLine(l, fwd6.packetFilter == null, cmds.tabulator, "packet6filter", "" + fwd6.packetFilter); l.add(cmds.tabulator + "incremental4 " + fwd4.incrLimit); l.add(cmds.tabulator + "incremental6 " + fwd6.incrLimit); l.add(cmds.tabulator + "threshold4traffic " + fwd4.thresholdT); l.add(cmds.tabulator + "threshold6traffic " + fwd6.thresholdT); l.add(cmds.tabulator + "threshold4route " + fwd4.thresholdR); l.add(cmds.tabulator + "threshold6route " + fwd6.thresholdR); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } /** * get post all config * * @param filter filter defaults * @return list of config lines */ public synchronized List getShRun2(int filter) { List l = new ArrayList(); if (hidden) { return l; } ipx.getShRun(l); l.add(cmds.comment); addRoutes(l, 4, fwd4); l.add(cmds.comment); addRoutes(l, 6, fwd6); l.add(cmds.comment); addMroutes(l, 4, fwd4); l.add(cmds.comment); addMroutes(l, 6, fwd6); l.add(cmds.comment); addCfgNats(l, 4, fwd4, filter); l.add(cmds.comment); addCfgNats(l, 6, fwd6, filter); l.add(cmds.comment); addCfgPbrs(l, 4, fwd4, filter); l.add(cmds.comment); addCfgPbrs(l, 6, fwd6, filter); l.add(cmds.comment); addCfgMcast(l, 4, fwd4); l.add(cmds.comment); addCfgMcast(l, 6, fwd6); l.add(cmds.comment); addCfgFlow(l, 4, fwd4); l.add(cmds.comment); addCfgFlow(l, 6, fwd6); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{2, -1}, "description", "description of this vrf"); l.add(null, false, 2, new int[]{2, -1}, "[text]", "text describing this vrf"); l.add(null, false, 1, new int[]{2}, "rename", "rename this vrf"); l.add(null, false, 2, new int[]{-1}, "", "set new name of vrf"); l.add(null, false, 1, new int[]{-1}, "optimize-lookup", "optimize rib for software lookup"); l.add(null, false, 1, new int[]{-1}, "optimize4lookup", "optimize rib for software lookup"); l.add(null, false, 1, new int[]{-1}, "optimize6lookup", "optimize rib for software lookup"); l.add(null, false, 1, new int[]{2}, "update-interval", "specify time between table calculation"); l.add(null, false, 2, new int[]{-1}, "", "time in ms"); l.add(null, false, 1, new int[]{2}, "update4interval", "specify time between table calculation"); l.add(null, false, 2, new int[]{-1}, "", "time in ms"); l.add(null, false, 1, new int[]{2}, "update6interval", "specify time between table calculation"); l.add(null, false, 2, new int[]{-1}, "", "time in ms"); l.add(null, false, 1, new int[]{2}, "rd", "specify route distinguisher"); l.add(null, false, 2, new int[]{-1}, "", "rd in ASnum:IDnum format"); l.add(null, false, 1, new int[]{2}, "rt-both", "specify route target"); l.add(null, false, 2, new int[]{2, -1}, "", "rt in ASnum:IDnum format"); l.add(null, false, 1, new int[]{2}, "rt-import", "specify route target import"); l.add(null, false, 2, new int[]{2, -1}, "", "rt in ASnum:IDnum format"); l.add(null, false, 1, new int[]{2}, "rt-export", "specify route target export"); l.add(null, false, 2, new int[]{2, -1}, "", "rt in ASnum:IDnum format"); l.add(null, false, 1, new int[]{2}, "rt4both", "specify route target"); l.add(null, false, 2, new int[]{2, -1}, "", "rt in ASnum:IDnum format"); l.add(null, false, 1, new int[]{2}, "rt4import", "specify route target import"); l.add(null, false, 2, new int[]{2, -1}, "", "rt in ASnum:IDnum format"); l.add(null, false, 1, new int[]{2}, "rt4export", "specify route target export"); l.add(null, false, 2, new int[]{2, -1}, "", "rt in ASnum:IDnum format"); l.add(null, false, 1, new int[]{2}, "rt6both", "specify route target"); l.add(null, false, 2, new int[]{2, -1}, "", "rt in ASnum:IDnum format"); l.add(null, false, 1, new int[]{2}, "rt6import", "specify route target import"); l.add(null, false, 2, new int[]{2, -1}, "", "rt in ASnum:IDnum format"); l.add(null, false, 1, new int[]{2}, "rt6export", "specify route target export"); l.add(null, false, 2, new int[]{2, -1}, "", "rt in ASnum:IDnum format"); l.add(null, false, 1, new int[]{2}, "clr-both", "specify color"); l.add(null, false, 2, new int[]{2, -1}, "", "number"); l.add(null, false, 1, new int[]{2}, "clr-import", "specify color import"); l.add(null, false, 2, new int[]{2, -1}, "", "number"); l.add(null, false, 1, new int[]{2}, "clr-export", "specify color export"); l.add(null, false, 2, new int[]{2, -1}, "", "number"); l.add(null, false, 1, new int[]{2}, "clr4both", "specify color"); l.add(null, false, 2, new int[]{2, -1}, "", "number"); l.add(null, false, 1, new int[]{2}, "clr4import", "specify color import"); l.add(null, false, 2, new int[]{2, -1}, "", "number"); l.add(null, false, 1, new int[]{2}, "clr4export", "specify color export"); l.add(null, false, 2, new int[]{2, -1}, "", "number"); l.add(null, false, 1, new int[]{2}, "clr6both", "specify color"); l.add(null, false, 2, new int[]{2, -1}, "", "number"); l.add(null, false, 1, new int[]{2}, "clr6import", "specify color import"); l.add(null, false, 2, new int[]{2, -1}, "", "number"); l.add(null, false, 1, new int[]{2}, "clr6export", "specify color export"); l.add(null, false, 2, new int[]{2, -1}, "", "number"); l.add(null, false, 1, new int[]{2}, "unreach-rate", "rate limit icmp generation"); l.add(null, false, 2, new int[]{3}, "", "packets allowed"); l.add(null, false, 3, new int[]{-1}, "", "millisecs between them"); l.add(null, false, 1, new int[]{2}, "unreach4rate", "rate limit icmp generation"); l.add(null, false, 2, new int[]{3}, "", "packets allowed"); l.add(null, false, 3, new int[]{-1}, "", "millisecs between them"); l.add(null, false, 1, new int[]{2}, "unreach6rate", "rate limit icmp generation"); l.add(null, false, 2, new int[]{3}, "", "packets allowed"); l.add(null, false, 3, new int[]{-1}, "", "millisecs between them"); l.add(null, false, 1, new int[]{2}, "route4limit", "maximum ipv4 routes allowed"); l.add(null, false, 2, new int[]{3}, "", "number of unicast routes"); l.add(null, false, 3, new int[]{4}, "", "number of labeled routes"); l.add(null, false, 4, new int[]{5}, "", "number of multicast routes"); l.add(null, false, 5, new int[]{-1}, "", "number of flowspec routes"); l.add(null, false, 1, new int[]{2}, "route6limit", "maximum ipv6 routes allowed"); l.add(null, false, 2, new int[]{3}, "", "number of unicast routes"); l.add(null, false, 3, new int[]{4}, "", "number of labeled routes"); l.add(null, false, 4, new int[]{5}, "", "number of multicast routes"); l.add(null, false, 5, new int[]{-1}, "", "number of flowspec routes"); l.add(null, false, 1, new int[]{2}, "label4filter", "specify ipv4 label filter"); l.add(null, false, 2, new int[]{-1}, "", "name of prefix list"); l.add(null, false, 1, new int[]{2}, "label6filter", "specify ipv6 label filter"); l.add(null, false, 2, new int[]{-1}, "", "name of prefix list"); l.add(null, false, 1, new int[]{2}, "label4common", "specify ipv4 common label"); l.add(null, false, 2, new int[]{-1}, "", "label value"); l.add(null, false, 1, new int[]{2}, "label6common", "specify ipv6 common label"); l.add(null, false, 2, new int[]{-1}, "", "label value"); l.add(null, false, 1, new int[]{2}, "iface4start", "specify ipv4 interface index"); l.add(null, false, 2, new int[]{-1}, "", "start index"); l.add(null, false, 1, new int[]{2}, "iface6start", "specify ipv6 interface index"); l.add(null, false, 2, new int[]{-1}, "", "start index"); l.add(null, false, 1, new int[]{2}, "import4list", "specify ipv4 import filter"); l.add(null, false, 2, new int[]{-1}, "", "name of prefix list"); l.add(null, false, 1, new int[]{2}, "import6list", "specify ipv6 import filter"); l.add(null, false, 2, new int[]{-1}, "", "name of prefix list"); l.add(null, false, 1, new int[]{2}, "export4list", "specify ipv4 export filter"); l.add(null, false, 2, new int[]{-1}, "", "name of prefix list"); l.add(null, false, 1, new int[]{2}, "export6list", "specify ipv6 export filter"); l.add(null, false, 2, new int[]{-1}, "", "name of prefix list"); l.add(null, false, 1, new int[]{2}, "import4map", "specify ipv4 import filter"); l.add(null, false, 2, new int[]{-1}, "", "name of route map"); l.add(null, false, 1, new int[]{2}, "import6map", "specify ipv6 import filter"); l.add(null, false, 2, new int[]{-1}, "", "name of route map"); l.add(null, false, 1, new int[]{2}, "export4map", "specify ipv4 export filter"); l.add(null, false, 2, new int[]{-1}, "", "name of route map"); l.add(null, false, 1, new int[]{2}, "export6map", "specify ipv6 export filter"); l.add(null, false, 2, new int[]{-1}, "", "name of route map"); l.add(null, false, 1, new int[]{2}, "import4policy", "specify ipv4 import filter"); l.add(null, false, 2, new int[]{-1}, "", "name of route policy"); l.add(null, false, 1, new int[]{2}, "import6policy", "specify ipv6 import filter"); l.add(null, false, 2, new int[]{-1}, "", "name of route policy"); l.add(null, false, 1, new int[]{2}, "export4policy", "specify ipv4 export filter"); l.add(null, false, 2, new int[]{-1}, "", "name of route policy"); l.add(null, false, 1, new int[]{2}, "export6policy", "specify ipv6 export filter"); l.add(null, false, 2, new int[]{-1}, "", "name of route policy"); l.add(null, false, 1, new int[]{2}, "dapp4", "specify ipv4 data plane policer"); l.add(null, false, 2, new int[]{-1}, "", "name of policy map"); l.add(null, false, 1, new int[]{2}, "dapp6", "specify ipv6 data plane policer"); l.add(null, false, 2, new int[]{-1}, "", "name of policy map"); l.add(null, false, 1, new int[]{2}, "copp4in", "specify ipv4 receive control plane policer"); l.add(null, false, 2, new int[]{-1}, "", "name of policy map"); l.add(null, false, 1, new int[]{2}, "copp4out", "specify ipv4 transmit control plane policer"); l.add(null, false, 2, new int[]{-1}, "", "name of policy map"); l.add(null, false, 1, new int[]{2}, "copp6in", "specify ipv6 receive control plane policer"); l.add(null, false, 2, new int[]{-1}, "", "name of policy map"); l.add(null, false, 1, new int[]{2}, "copp6out", "specify ipv6 transmit control plane policer"); l.add(null, false, 2, new int[]{-1}, "", "name of policy map"); l.add(null, false, 1, new int[]{2}, "packet4filter", "specify ipv4 packet filter"); l.add(null, false, 2, new int[]{-1}, "", "name of access list"); l.add(null, false, 1, new int[]{2}, "packet6filter", "specify ipv6 packet filter"); l.add(null, false, 2, new int[]{-1}, "", "name of access list"); l.add(null, false, 1, new int[]{-1}, "propagate-ttl", "specify to copy ip ttl to mpls ttl"); l.add(null, false, 1, new int[]{-1}, "propagate4ttl", "specify to copy ip ttl to mpls ttl"); l.add(null, false, 1, new int[]{-1}, "propagate6ttl", "specify to copy ip ttl to mpls ttl"); l.add(null, false, 1, new int[]{-1}, "report-labels", "append icmp extension with labels"); l.add(null, false, 1, new int[]{-1}, "report4labels", "append icmp extension with labels"); l.add(null, false, 1, new int[]{-1}, "report6labels", "append icmp extension with labels"); l.add(null, false, 1, new int[]{2}, "mdt4", "enable multicast distribution tree for ipv4"); l.add(null, false, 1, new int[]{2}, "mdt6", "enable multicast distribution tree for ipv6"); l.add(null, false, 2, new int[]{-1}, "none", "no vpn mode"); l.add(null, false, 2, new int[]{-1}, "mldp", "use mldp"); l.add(null, false, 2, new int[]{-1}, "bier", "use bier"); l.add(null, false, 1, new int[]{2}, "label-mode", "specify label allocation mode"); l.add(null, false, 1, new int[]{2}, "label4mode", "specify label allocation mode"); l.add(null, false, 1, new int[]{2}, "label6mode", "specify label allocation mode"); l.add(null, false, 2, new int[]{-1}, "per-prefix", "label for all prefixes"); l.add(null, false, 2, new int[]{-1}, "all-igp", "label for all igp prefixes"); l.add(null, false, 2, new int[]{-1}, "host-route", "label for host routes"); l.add(null, false, 2, new int[]{-1}, "connected", "label for connected routes"); l.add(null, false, 2, new int[]{-1}, "per-vrf", "common label for the vrf"); l.add(null, false, 1, new int[]{2}, "incremental4", "specify ipv4 incremental limit"); l.add(null, false, 2, new int[]{-1}, "", "routes"); l.add(null, false, 1, new int[]{2}, "incremental6", "specify ipv6 incremental limit"); l.add(null, false, 2, new int[]{-1}, "", "routes"); l.add(null, false, 1, new int[]{2}, "threshold-traffic", "specify alarm limit"); l.add(null, false, 1, new int[]{2}, "threshold4traffic", "specify ipv4 alarm limit"); l.add(null, false, 1, new int[]{2}, "threshold6traffic", "specify ipv6 alarm limit"); l.add(null, false, 2, new int[]{-1}, "", "percent"); l.add(null, false, 1, new int[]{2}, "threshold-route", "specify alarm limit"); l.add(null, false, 1, new int[]{2}, "threshold4route", "specify ipv4 alarm limit"); l.add(null, false, 1, new int[]{2}, "threshold6route", "specify ipv6 alarm limit"); l.add(null, false, 2, new int[]{-1}, "", "percent"); } private List string2rts(cmds cmd) { List res = new ArrayList(); for (;;) { String a = cmd.word(); if (a.length() < 1) { break; } res.add(tabRouteUtil.string2rd(a)); } return res; } private List string2clrs(cmds cmd) { List res = new ArrayList(); for (;;) { String a = cmd.word(); if (a.length() < 1) { break; } res.add(bits.str2num(a)); } return res; } public synchronized void doCfgStr(cmds cmd) { String a = cmd.word(); if (a.equals("description")) { description = cmd.getRemaining(); return; } if (a.equals("rename")) { a = cmd.word(); cfgVrf v = cfgAll.vrfFind(a, false); if (v != null) { cmd.error("vrf already exists"); return; } name = a; return; } if (a.equals("rd")) { long res = tabRouteUtil.string2rd(cmd.word()); fwd4.rd = res; fwd6.rd = res; return; } if (a.equals("rt-import")) { List res = string2rts(cmd); fwd4.rtImp = res; fwd6.rtImp = res; fwd4.routerStaticChg(); fwd6.routerStaticChg(); return; } if (a.equals("rt-export")) { List res = string2rts(cmd); fwd4.rtExp = res; fwd6.rtExp = res; fwd4.routerStaticChg(); fwd6.routerStaticChg(); return; } if (a.equals("rt-both")) { List res = string2rts(cmd); fwd4.rtImp = res; fwd6.rtImp = res; fwd4.rtExp = res; fwd6.rtExp = res; fwd4.routerStaticChg(); fwd6.routerStaticChg(); return; } if (a.equals("clr-import")) { List res = string2clrs(cmd); fwd4.clrImp = res; fwd6.clrImp = res; fwd4.routerStaticChg(); fwd6.routerStaticChg(); return; } if (a.equals("clr-export")) { List res = string2clrs(cmd); fwd4.clrExp = res; fwd6.clrExp = res; fwd4.routerStaticChg(); fwd6.routerStaticChg(); return; } if (a.equals("clr-both")) { List res = string2clrs(cmd); fwd4.clrImp = res; fwd6.clrImp = res; fwd4.clrExp = res; fwd6.clrExp = res; fwd4.routerStaticChg(); fwd6.routerStaticChg(); return; } if (a.equals("optimize-lookup")) { fwd4.optimize = true; fwd6.optimize = true; fwd4.routerStaticChg(); return; } if (a.equals("optimize4lookup")) { fwd4.optimize = true; fwd4.routerStaticChg(); return; } if (a.equals("optimize6lookup")) { fwd6.optimize = true; fwd6.routerStaticChg(); return; } if (a.equals("update-interval")) { int res = bits.str2num(cmd.word()); fwd4.updateInterval = res; fwd6.updateInterval = res; return; } if (a.equals("update4interval")) { fwd4.updateInterval = bits.str2num(cmd.word()); return; } if (a.equals("update6interval")) { fwd6.updateInterval = bits.str2num(cmd.word()); return; } if (a.equals("rt4import")) { fwd4.rtImp = string2rts(cmd); fwd4.routerStaticChg(); return; } if (a.equals("rt4export")) { fwd4.rtExp = string2rts(cmd); fwd4.routerStaticChg(); return; } if (a.equals("rt4both")) { List res = string2rts(cmd); fwd4.rtImp = res; fwd4.rtExp = res; fwd4.routerStaticChg(); return; } if (a.equals("rt6import")) { fwd6.rtImp = string2rts(cmd); fwd6.routerStaticChg(); return; } if (a.equals("rt6export")) { fwd6.rtExp = string2rts(cmd); fwd6.routerStaticChg(); return; } if (a.equals("rt6both")) { List res = string2rts(cmd); fwd6.rtImp = res; fwd6.rtExp = res; fwd6.routerStaticChg(); return; } if (a.equals("clr4import")) { fwd4.clrImp = string2clrs(cmd); fwd4.routerStaticChg(); return; } if (a.equals("clr4export")) { fwd4.clrExp = string2clrs(cmd); fwd4.routerStaticChg(); return; } if (a.equals("clr4both")) { List res = string2clrs(cmd); fwd4.clrImp = res; fwd4.clrExp = res; fwd4.routerStaticChg(); return; } if (a.equals("clr6import")) { fwd6.clrImp = string2clrs(cmd); fwd6.routerStaticChg(); return; } if (a.equals("clr6export")) { fwd6.clrExp = string2clrs(cmd); fwd6.routerStaticChg(); return; } if (a.equals("clr6both")) { List res = string2clrs(cmd); fwd6.clrImp = res; fwd6.clrExp = res; fwd6.routerStaticChg(); return; } if (a.equals("route4limit")) { fwd4.routeLimitU = bits.str2num(cmd.word()); fwd4.routeLimitL = bits.str2num(cmd.word()); fwd4.routeLimitM = bits.str2num(cmd.word()); fwd4.routeLimitF = bits.str2num(cmd.word()); fwd4.routerStaticChg(); return; } if (a.equals("route6limit")) { fwd6.routeLimitU = bits.str2num(cmd.word()); fwd6.routeLimitL = bits.str2num(cmd.word()); fwd6.routeLimitM = bits.str2num(cmd.word()); fwd6.routeLimitF = bits.str2num(cmd.word()); fwd6.routerStaticChg(); return; } if (a.equals("mdt4")) { fwd4.mdtMod = string2mdtmod(cmd.word()); fwd4.routerStaticChg(); return; } if (a.equals("mdt6")) { fwd6.mdtMod = string2mdtmod(cmd.word()); fwd6.routerStaticChg(); return; } if (a.equals("label-mode")) { a = cmd.word(); fwd4.prefixMode = string2labmod(a); fwd6.prefixMode = string2labmod(a); fwd4.routerStaticChg(); fwd6.routerStaticChg(); return; } if (a.equals("label4mode")) { a = cmd.word(); fwd4.prefixMode = string2labmod(a); fwd4.routerStaticChg(); return; } if (a.equals("label6mode")) { a = cmd.word(); fwd6.prefixMode = string2labmod(a); fwd6.routerStaticChg(); return; } if (a.equals("iface4start")) { iface4start = bits.str2num(cmd.word()); fwd4.nextIfaceNumber = iface4start; return; } if (a.equals("iface6start")) { iface6start = bits.str2num(cmd.word()); fwd6.nextIfaceNumber = iface6start; return; } if (a.equals("label4common")) { label4comm = bits.str2num(cmd.word()); tabLabelEntry[] ntry = tabLabel.allocate(tabLabelEntry.owner.vrfComm, label4comm, 1); if (ntry == null) { return; } tabLabelEntry old = fwd4.commonLabel; fwd4.commonLabel = ntry[0]; fwd4.routerStaticChg(); tabLabel.release(old, tabLabelEntry.owner.vrfComm); return; } if (a.equals("label6common")) { label6comm = bits.str2num(cmd.word()); tabLabelEntry[] ntry = tabLabel.allocate(tabLabelEntry.owner.vrfComm, label6comm, 1); if (ntry == null) { return; } tabLabelEntry old = fwd6.commonLabel; fwd6.commonLabel = ntry[0]; fwd6.routerStaticChg(); tabLabel.release(old, tabLabelEntry.owner.vrfComm); return; } if (a.equals("unreach-rate")) { int res1 = bits.str2num(cmd.word()); int res2 = bits.str2num(cmd.word()); fwd4.unreach = new tabRateLimit(res1, res2); fwd6.unreach = new tabRateLimit(res1, res2); return; } if (a.equals("unreach4rate")) { int res = bits.str2num(cmd.word()); fwd4.unreach = new tabRateLimit(res, bits.str2num(cmd.word())); return; } if (a.equals("unreach6rate")) { int res = bits.str2num(cmd.word()); fwd6.unreach = new tabRateLimit(res, bits.str2num(cmd.word())); return; } if (a.equals("report-labels")) { fwd4.mplsExtRep = true; fwd6.mplsExtRep = true; return; } if (a.equals("report4labels")) { fwd4.mplsExtRep = true; return; } if (a.equals("report6labels")) { fwd6.mplsExtRep = true; return; } if (a.equals("propagate-ttl")) { fwd4.mplsPropTtl = true; fwd6.mplsPropTtl = true; return; } if (a.equals("propagate4ttl")) { fwd4.mplsPropTtl = true; return; } if (a.equals("propagate6ttl")) { fwd6.mplsPropTtl = true; return; } if (a.equals("label4filter")) { cfgPrfxlst pfx = cfgAll.prfxFind(cmd.word(), false); if (pfx == null) { cmd.error("no such prefix list"); return; } fwd4.labelFilter = pfx.prflst; fwd4.routerStaticChg(); return; } if (a.equals("label6filter")) { cfgPrfxlst pfx = cfgAll.prfxFind(cmd.word(), false); if (pfx == null) { cmd.error("no such prefix list"); return; } fwd6.labelFilter = pfx.prflst; fwd6.routerStaticChg(); return; } if (a.equals("import4list")) { cfgPrfxlst pfx = cfgAll.prfxFind(cmd.word(), false); if (pfx == null) { cmd.error("no such prefix list"); return; } fwd4.importList = pfx.prflst; fwd4.routerStaticChg(); return; } if (a.equals("import6list")) { cfgPrfxlst pfx = cfgAll.prfxFind(cmd.word(), false); if (pfx == null) { cmd.error("no such prefix list"); return; } fwd6.importList = pfx.prflst; fwd6.routerStaticChg(); return; } if (a.equals("export4list")) { cfgPrfxlst pfx = cfgAll.prfxFind(cmd.word(), false); if (pfx == null) { cmd.error("no such prefix list"); return; } fwd4.exportList = pfx.prflst; fwd4.routerStaticChg(); return; } if (a.equals("export6list")) { cfgPrfxlst pfx = cfgAll.prfxFind(cmd.word(), false); if (pfx == null) { cmd.error("no such prefix list"); return; } fwd6.exportList = pfx.prflst; fwd6.routerStaticChg(); return; } if (a.equals("import4map")) { cfgRoump rm = cfgAll.rtmpFind(cmd.word(), false); if (rm == null) { cmd.error("no such route map"); return; } fwd4.importMap = rm.roumap; fwd4.routerStaticChg(); return; } if (a.equals("import6map")) { cfgRoump rm = cfgAll.rtmpFind(cmd.word(), false); if (rm == null) { cmd.error("no such route map"); return; } fwd6.importMap = rm.roumap; fwd6.routerStaticChg(); return; } if (a.equals("export4map")) { cfgRoump rm = cfgAll.rtmpFind(cmd.word(), false); if (rm == null) { cmd.error("no such route map"); return; } fwd4.exportMap = rm.roumap; fwd4.routerStaticChg(); return; } if (a.equals("export6map")) { cfgRoump rm = cfgAll.rtmpFind(cmd.word(), false); if (rm == null) { cmd.error("no such route map"); return; } fwd6.exportMap = rm.roumap; fwd6.routerStaticChg(); return; } if (a.equals("import4policy")) { cfgRouplc rpl = cfgAll.rtplFind(cmd.word(), false); if (rpl == null) { cmd.error("no such route policy"); return; } fwd4.importPol = rpl.rouplc; fwd4.routerStaticChg(); return; } if (a.equals("import6policy")) { cfgRouplc rpl = cfgAll.rtplFind(cmd.word(), false); if (rpl == null) { cmd.error("no such route policy"); return; } fwd6.importPol = rpl.rouplc; fwd6.routerStaticChg(); return; } if (a.equals("export4policy")) { cfgRouplc rpl = cfgAll.rtplFind(cmd.word(), false); if (rpl == null) { cmd.error("no such route policy"); return; } fwd4.exportPol = rpl.rouplc; fwd4.routerStaticChg(); return; } if (a.equals("export6policy")) { cfgRouplc rpl = cfgAll.rtplFind(cmd.word(), false); if (rpl == null) { cmd.error("no such route policy"); return; } fwd6.exportPol = rpl.rouplc; fwd6.routerStaticChg(); return; } if (a.equals("dapp4")) { cfgPlymp pm = cfgAll.plmpFind(cmd.word(), false); if (pm == null) { cmd.error("no such policy map"); return; } tabQos wrkr = tabQos.convertPolicy(pm.plcmap); if (wrkr == null) { cmd.error("error applying policy map"); return; } fwd4.dapp = wrkr; return; } if (a.equals("dapp6")) { cfgPlymp pm = cfgAll.plmpFind(cmd.word(), false); if (pm == null) { cmd.error("no such policy map"); return; } tabQos wrkr = tabQos.convertPolicy(pm.plcmap); if (wrkr == null) { cmd.error("error applying policy map"); return; } fwd6.dapp = wrkr; return; } if (a.equals("copp4in")) { cfgPlymp pm = cfgAll.plmpFind(cmd.word(), false); if (pm == null) { cmd.error("no such policy map"); return; } tabQos wrkr = tabQos.convertPolicy(pm.plcmap); if (wrkr == null) { cmd.error("error applying policy map"); return; } fwd4.coppIn = wrkr; return; } if (a.equals("copp4out")) { cfgPlymp pm = cfgAll.plmpFind(cmd.word(), false); if (pm == null) { cmd.error("no such policy map"); return; } tabQos wrkr = tabQos.convertPolicy(pm.plcmap); if (wrkr == null) { cmd.error("error applying policy map"); return; } fwd4.coppOut = wrkr; return; } if (a.equals("copp6in")) { cfgPlymp pm = cfgAll.plmpFind(cmd.word(), false); if (pm == null) { cmd.error("no such policy map"); return; } tabQos wrkr = tabQos.convertPolicy(pm.plcmap); if (wrkr == null) { cmd.error("error applying policy map"); return; } fwd6.coppIn = wrkr; return; } if (a.equals("copp6out")) { cfgPlymp pm = cfgAll.plmpFind(cmd.word(), false); if (pm == null) { cmd.error("no such policy map"); return; } tabQos wrkr = tabQos.convertPolicy(pm.plcmap); if (wrkr == null) { cmd.error("error applying policy map"); return; } fwd6.coppOut = wrkr; return; } if (a.equals("packet4filter")) { cfgAceslst acl = cfgAll.aclsFind(cmd.word(), false); if (acl == null) { cmd.error("no such access list"); return; } acl.aceslst.myCor = core4; acl.aceslst.myIcmp = icmp4; fwd4.packetFilter = acl.aceslst; return; } if (a.equals("packet6filter")) { cfgAceslst acl = cfgAll.aclsFind(cmd.word(), false); if (acl == null) { cmd.error("no such access list"); return; } acl.aceslst.myCor = core6; acl.aceslst.myIcmp = icmp6; fwd6.packetFilter = acl.aceslst; return; } if (a.equals("incremental4")) { fwd4.incrLimit = bits.str2num(cmd.word()); return; } if (a.equals("incremental6")) { fwd6.incrLimit = bits.str2num(cmd.word()); return; } if (a.equals("threshold4traffic")) { fwd4.thresholdT = bits.str2num(cmd.word()); return; } if (a.equals("threshold6traffic")) { fwd6.thresholdT = bits.str2num(cmd.word()); return; } if (a.equals("threshold-traffic")) { int res = bits.str2num(cmd.word()); fwd4.thresholdT = res; fwd6.thresholdT = res; return; } if (a.equals("threshold-route")) { int res = bits.str2num(cmd.word()); fwd4.thresholdR = res; fwd6.thresholdR = res; return; } if (a.equals("threshold4route")) { fwd4.thresholdR = bits.str2num(cmd.word()); return; } if (a.equals("threshold6route")) { fwd6.thresholdR = bits.str2num(cmd.word()); return; } if (!a.equals(cmds.negated)) { cmd.badCmd(); return; } a = cmd.word(); if (a.equals("rd")) { fwd4.rd = 0; fwd6.rd = 0; return; } if (a.equals("rt-import")) { fwd4.rtImp = new ArrayList(); fwd6.rtImp = new ArrayList(); fwd4.routerStaticChg(); fwd6.routerStaticChg(); return; } if (a.equals("rt-export")) { fwd4.rtExp = new ArrayList(); fwd6.rtExp = new ArrayList(); fwd4.routerStaticChg(); fwd6.routerStaticChg(); return; } if (a.equals("rt-both")) { fwd4.rtImp = new ArrayList(); fwd6.rtImp = new ArrayList(); fwd4.rtExp = new ArrayList(); fwd6.rtExp = new ArrayList(); fwd4.routerStaticChg(); fwd6.routerStaticChg(); return; } if (a.equals("clr-import")) { fwd4.clrImp = new ArrayList(); fwd6.clrImp = new ArrayList(); fwd4.routerStaticChg(); fwd6.routerStaticChg(); return; } if (a.equals("clr-export")) { fwd4.clrExp = new ArrayList(); fwd6.clrExp = new ArrayList(); fwd4.routerStaticChg(); fwd6.routerStaticChg(); return; } if (a.equals("clr-both")) { fwd4.clrImp = new ArrayList(); fwd6.clrImp = new ArrayList(); fwd4.clrExp = new ArrayList(); fwd6.clrExp = new ArrayList(); fwd4.routerStaticChg(); fwd6.routerStaticChg(); return; } if (a.equals("optimize-lookup")) { fwd4.optimize = false; fwd6.optimize = false; fwd4.routerStaticChg(); return; } if (a.equals("optimize4lookup")) { fwd4.optimize = false; fwd4.routerStaticChg(); return; } if (a.equals("optimize6lookup")) { fwd6.optimize = false; fwd6.routerStaticChg(); return; } if (a.equals("update-interval")) { fwd4.updateInterval = 0; fwd6.updateInterval = 0; return; } if (a.equals("update4interval")) { fwd4.updateInterval = 0; return; } if (a.equals("update6interval")) { fwd6.updateInterval = 0; return; } if (a.equals("rt4import")) { fwd4.rtImp = new ArrayList(); fwd4.routerStaticChg(); return; } if (a.equals("rt4export")) { fwd4.rtExp = new ArrayList(); fwd4.routerStaticChg(); return; } if (a.equals("rt4both")) { fwd4.rtImp = new ArrayList(); fwd4.rtExp = new ArrayList(); fwd4.routerStaticChg(); return; } if (a.equals("rt6import")) { fwd6.rtImp = new ArrayList(); fwd6.routerStaticChg(); return; } if (a.equals("rt6export")) { fwd6.rtExp = new ArrayList(); fwd6.routerStaticChg(); return; } if (a.equals("rt6both")) { fwd6.rtImp = new ArrayList(); fwd6.rtExp = new ArrayList(); fwd6.routerStaticChg(); return; } if (a.equals("clr4import")) { fwd4.clrImp = new ArrayList(); fwd4.routerStaticChg(); return; } if (a.equals("clr4export")) { fwd4.clrExp = new ArrayList(); fwd4.routerStaticChg(); return; } if (a.equals("clr4both")) { fwd4.clrImp = new ArrayList(); fwd4.clrExp = new ArrayList(); fwd4.routerStaticChg(); return; } if (a.equals("clr6import")) { fwd6.clrImp = new ArrayList(); fwd6.routerStaticChg(); return; } if (a.equals("clr6export")) { fwd6.clrExp = new ArrayList(); fwd6.routerStaticChg(); return; } if (a.equals("clr6both")) { fwd6.clrImp = new ArrayList(); fwd6.clrExp = new ArrayList(); fwd6.routerStaticChg(); return; } if (a.equals("route4limit")) { fwd4.routeLimitU = 0; fwd4.routeLimitL = 0; fwd4.routeLimitM = 0; fwd4.routeLimitF = 0; fwd4.routerStaticChg(); return; } if (a.equals("route6limit")) { fwd6.routeLimitU = 0; fwd6.routeLimitL = 0; fwd6.routeLimitM = 0; fwd6.routeLimitF = 0; fwd6.routerStaticChg(); return; } if (a.equals("description")) { description = ""; return; } if (a.equals("mdt4")) { fwd4.mdtMod = ipFwd.mdtMode.none; fwd4.routerStaticChg(); return; } if (a.equals("mdt6")) { fwd6.mdtMod = ipFwd.mdtMode.none; fwd6.routerStaticChg(); return; } if (a.equals("label-mode")) { fwd4.prefixMode = ipFwd.labelMode.common; fwd6.prefixMode = ipFwd.labelMode.common; fwd4.routerStaticChg(); fwd6.routerStaticChg(); return; } if (a.equals("label4mode")) { fwd4.prefixMode = ipFwd.labelMode.common; fwd4.routerStaticChg(); return; } if (a.equals("label6mode")) { fwd6.prefixMode = ipFwd.labelMode.common; fwd6.routerStaticChg(); return; } if (a.equals("unreach-rate")) { fwd4.unreach = null; fwd6.unreach = null; return; } if (a.equals("unreach4rate")) { fwd4.unreach = null; return; } if (a.equals("unreach6rate")) { fwd6.unreach = null; return; } if (a.equals("report-labels")) { fwd4.mplsExtRep = false; fwd6.mplsExtRep = false; return; } if (a.equals("report4labels")) { fwd4.mplsExtRep = false; return; } if (a.equals("report6labels")) { fwd6.mplsExtRep = false; return; } if (a.equals("propagate-ttl")) { fwd4.mplsPropTtl = false; fwd6.mplsPropTtl = false; return; } if (a.equals("propagate4ttl")) { fwd4.mplsPropTtl = false; return; } if (a.equals("propagate6ttl")) { fwd6.mplsPropTtl = false; return; } if (a.equals("label4filter")) { fwd4.labelFilter = null; fwd4.routerStaticChg(); return; } if (a.equals("label6filter")) { fwd6.labelFilter = null; fwd6.routerStaticChg(); return; } if (a.equals("iface4start")) { iface4start = 0; return; } if (a.equals("iface6start")) { iface6start = 0; return; } if (a.equals("label4common")) { label4comm = 0; return; } if (a.equals("label6common")) { label6comm = 0; return; } if (a.equals("import4list")) { fwd4.importList = null; fwd4.routerStaticChg(); return; } if (a.equals("import6list")) { fwd6.importList = null; fwd6.routerStaticChg(); return; } if (a.equals("export4list")) { fwd4.exportList = null; fwd4.routerStaticChg(); return; } if (a.equals("export6list")) { fwd6.exportList = null; fwd6.routerStaticChg(); return; } if (a.equals("import4map")) { fwd4.importMap = null; fwd4.routerStaticChg(); return; } if (a.equals("import6map")) { fwd6.importMap = null; fwd6.routerStaticChg(); return; } if (a.equals("export4map")) { fwd4.exportMap = null; fwd4.routerStaticChg(); return; } if (a.equals("export6map")) { fwd6.exportMap = null; fwd6.routerStaticChg(); return; } if (a.equals("import4policy")) { fwd4.importPol = null; fwd4.routerStaticChg(); return; } if (a.equals("import6policy")) { fwd6.importPol = null; fwd6.routerStaticChg(); return; } if (a.equals("export4policy")) { fwd4.exportPol = null; fwd4.routerStaticChg(); return; } if (a.equals("export6policy")) { fwd6.exportPol = null; fwd6.routerStaticChg(); return; } if (a.equals("dapp4")) { fwd4.dapp = null; return; } if (a.equals("dapp6")) { fwd6.dapp = null; return; } if (a.equals("copp4in")) { fwd4.coppIn = null; return; } if (a.equals("copp4out")) { fwd4.coppOut = null; return; } if (a.equals("copp6in")) { fwd6.coppIn = null; return; } if (a.equals("copp6out")) { fwd6.coppOut = null; return; } if (a.equals("packet4filter")) { fwd4.packetFilter = null; return; } if (a.equals("packet6filter")) { fwd6.packetFilter = null; return; } if (a.equals("threshold4traffic")) { fwd4.thresholdT = 0; return; } if (a.equals("threshold6traffic")) { fwd6.thresholdT = 0; return; } if (a.equals("threshold-traffic")) { fwd4.thresholdT = 0; fwd6.thresholdT = 0; return; } if (a.equals("threshold-route")) { fwd4.thresholdR = 0; fwd6.thresholdR = 0; return; } if (a.equals("threshold4route")) { fwd4.thresholdR = 0; return; } if (a.equals("threshold6route")) { fwd6.thresholdR = 0; return; } cmd.badCmd(); } public String getPrompt() { return "vrf"; } /** * get show sockets * * @param ver ip version * @return text to display */ public userFormat getShSockets(int ver) { ipFwd fwd; prtUdp udp; prtLudp ludp; prtDccp dccp; prtSctp sctp; prtTcp tcp; if (ver == 4) { fwd = fwd4; udp = udp4; ludp = ludp4; dccp = dccp4; sctp = sctp4; tcp = tcp4; } else { fwd = fwd6; udp = udp6; ludp = ludp6; dccp = dccp6; sctp = sctp6; tcp = tcp6; } userFormat l = new userFormat("|", "lower|name|state|iface|local|remote|address|hit"); ipFwdTab.listProtocols(fwd, l, "ipPrt"); udp.listServers(l, "udpSrv"); ludp.listServers(l, "ludpSrv"); dccp.listServers(l, "dccpSrv"); sctp.listServers(l, "sctpSrv"); tcp.listServers(l, "tcpSrv"); udp.listConnects(l, "udpCln"); ludp.listConnects(l, "ludpCln"); dccp.listConnects(l, "dccpCln"); sctp.listConnects(l, "sctpCln"); tcp.listConnects(l, "tcpCln"); return l; } } freeRtr-25.11.9/src/org/freertr/cfg/cfgXconn.java000066400000000000000000000136321510423065500215060ustar00rootroot00000000000000package org.freertr.cfg; import java.util.ArrayList; import java.util.List; import org.freertr.ifc.ifcConnect; import org.freertr.pack.packLdpPwe; import org.freertr.tab.tabGen; import org.freertr.user.userFilter; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; /** * xconnect configuration * * @author matecsaba */ public class cfgXconn implements Comparable, cfgGeneric { /** * create instance * * @param s name */ public cfgXconn(String s) { name = s; } /** * name of connect */ public String name; /** * description */ public String description; /** * pw encapsulation */ public int pwtype = packLdpPwe.pwtEthPort; /** * pw mtu */ public int pwmtu = 1500; /** * side 1 */ public cfgXconnSide side1 = new cfgXconnSide(); /** * side 2 */ public cfgXconnSide side2 = new cfgXconnSide(); /** * defaults text */ public final static userFilter[] defaultF = { new userFilter("xconnect .*", cmds.tabulator + cmds.negated + cmds.tabulator + "description", null), new userFilter("xconnect .*", cmds.tabulator + "mtu 1500", null), new userFilter("xconnect .*", cmds.tabulator + "type ethernet", null), new userFilter("xconnect .*", cmds.tabulator + cmds.negated + cmds.tabulator + "side1", null), new userFilter("xconnect .*", cmds.tabulator + cmds.negated + cmds.tabulator + "side2", null) }; public int compareTo(cfgXconn o) { return name.toLowerCase().compareTo(o.name.toLowerCase()); } public String toString() { return "xconnect " + name; } public void getHelp(userHelp l) { l.add(null, false, 1, new int[]{3, -1}, "description", "specify description"); l.add(null, false, 3, new int[]{3, -1}, "", "text"); l.add(null, false, 1, new int[]{2}, "rename", "rename this xconnect"); l.add(null, false, 2, new int[]{-1}, "", "set new name"); l.add(null, false, 1, new int[]{2}, "mtu", "specify vc mtu"); l.add(null, false, 2, new int[]{-1}, "", "mtu"); l.add(null, false, 1, new int[]{2}, "type", "type of pseudowire"); l.add(null, false, 2, new int[]{-1}, "ethernet", "ethernet mode"); l.add(null, false, 2, new int[]{-1}, "ip", "ip mode"); l.add(null, false, 2, new int[]{-1}, "vlan", "vlan mode"); l.add(null, false, 2, new int[]{-1}, "hdlc", "hdlc mode"); l.add(null, false, 2, new int[]{-1}, "ppp", "ppp mode"); l.add(null, false, 2, new int[]{-1}, "fr-dlci", "fr dlci mode"); l.add(null, false, 2, new int[]{-1}, "atm-aal5", "atm aal5 mode"); l.add(null, false, 1, new int[]{2}, "side1", "specify first side of connection"); cfgXconnSide.getHelp(l, 2); l.add(null, false, 1, new int[]{2}, "side2", "specify seconds side of connection"); cfgXconnSide.getHelp(l, 2); } public List getShRun(int filter) { List l = new ArrayList(); l.add("xconnect " + name); cmds.cfgLine(l, description == null, cmds.tabulator, "description", description); cmds.cfgLine(l, pwmtu == 0, cmds.tabulator, "mtu", "" + pwmtu); cmds.cfgLine(l, pwtype < 1, cmds.tabulator, "type", packLdpPwe.type2string(pwtype)); cmds.cfgLine(l, !side1.ready2run(), cmds.tabulator, "side1", side1.getCfg()); cmds.cfgLine(l, !side2.ready2run(), cmds.tabulator, "side2", side2.getCfg()); l.add(cmds.tabulator + cmds.finish); l.add(cmds.comment); if ((filter & 1) == 0) { return l; } return userFilter.filterText(l, defaultF); } public void doCfgStr(cmds cmd) { stop2run(); String s = cmd.word(); if (s.equals("description")) { description = cmd.getRemaining(); return; } if (s.equals("rename")) { s = cmd.word(); cfgXconn v = cfgAll.xconFind(s, false); if (v != null) { cmd.error("already exists"); return; } name = s; return; } if (s.equals("type")) { pwtype = packLdpPwe.string2type(cmd.word()); start2run(); return; } if (s.equals("mtu")) { pwmtu = bits.str2num(cmd.word()); start2run(); return; } if (s.equals("side1")) { side1.doCfg(cmd); start2run(); return; } if (s.equals("side2")) { side2.doCfg(cmd); start2run(); return; } if (!s.equals(cmds.negated)) { cmd.badCmd(); return; } s = cmd.word(); if (s.equals("description")) { description = null; return; } if (s.equals("side1")) { side1 = new cfgXconnSide(); return; } if (s.equals("side2")) { side2 = new cfgXconnSide(); return; } cmd.badCmd(); } public String getPrompt() { return "xconn"; } /** * stop running */ public void stop2run() { side1.stop2run(); side2.stop2run(); } /** * start running */ public void start2run() { side1.stop2run(); side2.stop2run(); if (!side1.ready2run()) { return; } if (!side2.ready2run()) { return; } ifcConnect con = new ifcConnect(); side1.upper = con.getSide1(); side2.upper = con.getSide2(); side1.name = name; side2.name = name; side1.pwtype = pwtype; side2.pwtype = pwtype; side1.pwmtu = pwmtu; side2.pwmtu = pwmtu; side1.start2run(); side2.start2run(); } } freeRtr-25.11.9/src/org/freertr/cfg/cfgXconnSide.java000066400000000000000000000436121510423065500223140ustar00rootroot00000000000000package org.freertr.cfg; import org.freertr.addr.addrIP; import org.freertr.clnt.clntAx25; import org.freertr.clnt.clntCapwap; import org.freertr.clnt.clntDlsw; import org.freertr.clnt.clntErspan; import org.freertr.clnt.clntEtherIp; import org.freertr.clnt.clntGeneve; import org.freertr.clnt.clntGrePpp; import org.freertr.clnt.clntGreTap; import org.freertr.clnt.clntL2f; import org.freertr.clnt.clntL2tp2; import org.freertr.clnt.clntL2tp3; import org.freertr.clnt.clntLlcudp; import org.freertr.clnt.clntLwapp; import org.freertr.clnt.clntMplsPwe; import org.freertr.clnt.clntNvGre; import org.freertr.clnt.clntPckOudp; import org.freertr.clnt.clntPptp; import org.freertr.clnt.clntSrEth; import org.freertr.clnt.clntTzsp; import org.freertr.clnt.clntUti; import org.freertr.clnt.clntVxlan; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNshFwd; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.pack.packLdpPwe; import org.freertr.user.userHelp; import org.freertr.util.bits; import org.freertr.util.cmds; /** * xconnect side * * @author matecsaba */ public class cfgXconnSide { /** * create instance */ public cfgXconnSide() { } /** * pw mode */ public cfgVpdn.protocolType pwmod; /** * pw name */ public String name = "xconn"; /** * pw encapsulation */ public int pwtype = packLdpPwe.pwtEthPort; /** * pw mtu */ public int pwmtu = 1500; /** * vlan pw type */ public boolean pwtVlan = false; /** * pw out direction */ public boolean pwdirOut = false; /** * pw in direction */ public boolean pwdirIn = false; /** * control word */ public boolean ctrlWord = false; /** * upper layer handler */ public ifcUp upper = new ifcNull(); /** * lower layer handler */ public ifcDn lower = new ifcNull(); /** * vrf */ public cfgVrf vrf; /** * source interface */ public cfgIfc ifc; /** * target */ public addrIP adr; /** * vc id */ public int vcid; /** * pckoudp */ public clntPckOudp pou; /** * gre ppp */ public clntGrePpp pog; /** * ax25 */ public clntAx25 ax25; /** * l2f */ public clntL2f l2f; /** * vxlan */ public clntVxlan vxl; /** * geneve */ public clntGeneve gnv; /** * llcudp */ public clntLlcudp lcu; /** * tzsp */ public clntTzsp tzs; /** * capwap */ public clntCapwap cpw; /** * lwapp */ public clntLwapp lwp; /** * pptp */ public clntPptp pptp; /** * l2tp v2 */ public clntL2tp2 l2tp2; /** * l2tp v3 */ public clntL2tp3 l2tp3; /** * eompls */ public clntMplsPwe pwom; /** * erspan */ public clntErspan erspan; /** * dlsw */ public clntDlsw dlsw; /** * etherip */ public clntEtherIp etherip; /** * sreth */ public clntSrEth sreth; /** * gretap */ public clntGreTap tog; /** * uti */ public clntUti uti; /** * nvgre */ public clntNvGre nvgre; /** * get help text * * @param l help to append * @param p initial position */ public static void getHelp(userHelp l, int p) { l.add(null, false, p, new int[]{p + 1}, "", "vrf to use"); l.add(null, false, p + 1, new int[]{p + 2}, "", "source interface to use"); l.add(null, false, p + 2, new int[]{p + 3}, "pckoudp", "pckoudp encapsulation"); l.add(null, false, p + 2, new int[]{p + 3}, "pptp", "pptp encapsulation"); l.add(null, false, p + 2, new int[]{p + 3}, "greppp", "ppp over gre encapsulation"); l.add(null, false, p + 2, new int[]{p + 3}, "ax25", "ax25 encapsulation"); l.add(null, false, p + 2, new int[]{p + 3}, "l2f", "l2f encapsulation"); l.add(null, false, p + 2, new int[]{p + 3}, "l2tp2", "l2tp v2 encapsulation"); l.add(null, false, p + 2, new int[]{p + 3}, "l2tp3", "l2tp v3 encapsulation"); l.add(null, false, p + 2, new int[]{p + 3}, "pweompls", "pwe over mpls encapsulation"); l.add(null, false, p + 2, new int[]{p + 3}, "erspan", "erspan encapsulation"); l.add(null, false, p + 2, new int[]{p + 3}, "dlsw", "dlsw encapsulation"); l.add(null, false, p + 2, new int[]{p + 3}, "etherip", "etherip encapsulation"); l.add(null, false, p + 2, new int[]{p + 3}, "sreth", "sreth encapsulation"); l.add(null, false, p + 2, new int[]{p + 3}, "gretap", "gretap encapsulation"); l.add(null, false, p + 2, new int[]{p + 3}, "uti", "uti encapsulation"); l.add(null, false, p + 2, new int[]{p + 3}, "nvgre", "nvgre encapsulation"); l.add(null, false, p + 2, new int[]{p + 3}, "vxlan", "vxlan encapsulation"); l.add(null, false, p + 2, new int[]{p + 3}, "geneve", "geneve encapsulation"); l.add(null, false, p + 2, new int[]{p + 3}, "llcudp", "llcudp encapsulation"); l.add(null, false, p + 2, new int[]{p + 3}, "tzsp", "tzsp encapsulation"); l.add(null, false, p + 2, new int[]{p + 3}, "capwap", "capwap encapsulation"); l.add(null, false, p + 2, new int[]{p + 3}, "lwapp", "lwapp encapsulation"); l.add(null, false, p + 3, new int[]{p + 4}, "", "address of target"); l.add(null, false, p + 4, new int[]{p + 5, -1}, "", "vc id"); l.add(null, false, p + 5, new int[]{p + 5, -1}, "control-word", "use control word"); l.add(null, false, p + 5, new int[]{p + 5, -1}, "inbound", "inbound direction"); l.add(null, false, p + 5, new int[]{p + 5, -1}, "outbound", "outbound direction"); l.add(null, false, p + 5, new int[]{p + 5, -1}, "vlan", "use vlan pw type"); } /** * check if ready * * @return true if yes, false if no */ public boolean ready2run() { return pwmod != null; } /** * stop this pseudowire */ public void stop2run() { if (pou != null) { pou.workStop(); pou = null; } if (pog != null) { pog.workStop(); pog = null; } if (ax25 != null) { ax25.workStop(); ax25 = null; } if (l2f != null) { l2f.workStop(); l2f = null; } if (vxl != null) { vxl.workStop(); vxl = null; } if (gnv != null) { gnv.workStop(); gnv = null; } if (cpw != null) { cpw.workStop(); cpw = null; } if (lwp != null) { lwp.workStop(); lwp = null; } if (pptp != null) { pptp.workStop(); pptp = null; } if (l2tp2 != null) { l2tp2.workStop(); l2tp2 = null; } if (l2tp3 != null) { l2tp3.workStop(); l2tp3 = null; } if (pwom != null) { pwom.workStop(); pwom = null; } if (erspan != null) { erspan.workStop(); erspan = null; } if (dlsw != null) { dlsw.workStop(); dlsw = null; } if (etherip != null) { etherip.workStop(); etherip = null; } if (sreth != null) { sreth.workStop(); sreth = null; } if (tog != null) { tog.workStop(); tog = null; } if (uti != null) { uti.workStop(); uti = null; } if (nvgre != null) { nvgre.workStop(); nvgre = null; } lower = new ifcNull(); } private boolean getDir() { if (pwdirOut) { return true; } if (pwdirIn) { return false; } switch (pwmod) { case prL2tp2: return false; case prPptp: return true; case prL2tp3: return adr.compareTo(ifc.getLocAddr(adr)) < 0; default: return true; } } /** * start this pseudowire */ public void start2run() { if (pwtVlan) { switch (pwtype) { case packLdpPwe.pwtPpp: pwtype = packLdpPwe.pwtHdlc; break; case packLdpPwe.pwtAtmAal5: pwtype = packLdpPwe.pwtAtmPort; break; default: pwtype = packLdpPwe.pwtEthVlan; break; } } switch (pwmod) { case prPou: pou = new clntPckOudp(); pou.target = "" + adr; pou.vrf = vrf; pou.srcIfc = ifc; pou.prtR = vcid; if (ctrlWord) { pou.prtL = -1; } else { pou.prtL = vcid; } pou.setUpper(upper); pou.workStart(); lower = pou; break; case prPog: pog = new clntGrePpp(); pog.target = "" + adr; pog.vrf = vrf; pog.srcIfc = ifc; pog.vcid = vcid; pog.setUpper(upper); pog.workStart(); lower = pog; break; case prAx25: ax25 = new clntAx25(); ax25.target = "" + adr; ax25.vrf = vrf; ax25.srcIfc = ifc; ax25.setUpper(upper); ax25.workStart(); lower = ax25; break; case prL2f: l2f = new clntL2f(); l2f.target = "" + adr; l2f.vrf = vrf; l2f.srcIfc = ifc; l2f.setUpper(upper); l2f.workStart(); lower = l2f; break; case prVxlan: vxl = new clntVxlan(); vxl.target = "" + adr; vxl.vrf = vrf; vxl.srcIfc = ifc; vxl.inst = vcid; vxl.prot = ifcNshFwd.protEth; vxl.wildcard = ctrlWord; vxl.setUpper(upper); vxl.workStart(); lower = vxl; break; case prGeneve: gnv = new clntGeneve(); gnv.target = "" + adr; gnv.vrf = vrf; gnv.srcIfc = ifc; gnv.vni = vcid; gnv.setUpper(upper); gnv.workStart(); lower = gnv; break; case prLlcudp: lcu = new clntLlcudp(); lcu.target = "" + adr; lcu.vrf = vrf; lcu.srcIfc = ifc; lcu.setUpper(upper); lcu.workStart(); lower = lcu; break; case prTzsp: tzs = new clntTzsp(); tzs.target = "" + adr; tzs.vrf = vrf; tzs.srcIfc = ifc; tzs.setUpper(upper); tzs.workStart(); lower = tzs; break; case prCapwap: cpw = new clntCapwap(); cpw.target = "" + adr; cpw.vrf = vrf; cpw.srcIfc = ifc; cpw.setUpper(upper); cpw.workStart(); lower = cpw; break; case prLwapp: lwp = new clntLwapp(); lwp.target = "" + adr; lwp.vrf = vrf; lwp.srcIfc = ifc; lwp.setUpper(upper); lwp.workStart(); lower = lwp; break; case prPptp: pptp = new clntPptp(); pptp.target = "" + adr; pptp.vrf = vrf; pptp.srcIfc = ifc; pptp.direction = getDir(); pptp.called = "" + vcid; pptp.setUpper(upper); pptp.workStart(); lower = pptp; break; case prL2tp2: l2tp2 = new clntL2tp2(); l2tp2.target = "" + adr; l2tp2.vrf = vrf; l2tp2.srcIfc = ifc; l2tp2.direction = getDir(); l2tp2.called = "" + vcid; l2tp2.calling = "" + vcid; l2tp2.setUpper(upper); l2tp2.workStart(); lower = l2tp2; break; case prL2tp3: l2tp3 = new clntL2tp3(); l2tp3.pwType = pwtype; l2tp3.target = "" + adr; l2tp3.vrf = vrf; l2tp3.srcIfc = ifc; l2tp3.vcid = "" + vcid; l2tp3.direction = getDir(); l2tp3.setUpper(upper); l2tp3.workStart(); lower = l2tp3; break; case prPwom: pwom = new clntMplsPwe(); pwom.pwType = pwtype; pwom.pwMtu = pwmtu; pwom.target = "" + adr; pwom.vrf = vrf; pwom.srcIfc = ifc; pwom.vcid = vcid; pwom.ctrlWrd = ctrlWord; pwom.descr = name; pwom.setUpper(upper); pwom.workStart(); lower = pwom; break; case prErspan: erspan = new clntErspan(); erspan.target = "" + adr; erspan.vrf = vrf; erspan.srcIfc = ifc; erspan.spnid = vcid; erspan.vlnid = vcid; erspan.setUpper(upper); erspan.workStart(); lower = erspan; break; case prDlsw: dlsw = new clntDlsw(); dlsw.target = "" + adr; dlsw.vrf = vrf; dlsw.srcIfc = ifc; dlsw.setUpper(upper); dlsw.workStart(); lower = dlsw; break; case prEtherip: etherip = new clntEtherIp(); etherip.target = "" + adr; etherip.vrf = vrf; etherip.srcIfc = ifc; etherip.setUpper(upper); etherip.workStart(); lower = etherip; break; case prSreth: sreth = new clntSrEth(); sreth.target = "" + adr; sreth.vrf = vrf; sreth.srcIfc = ifc; sreth.setUpper(upper); sreth.workStart(); lower = sreth; break; case prTog: tog = new clntGreTap(); tog.target = "" + adr; tog.vrf = vrf; tog.srcIfc = ifc; tog.vcid = vcid; tog.setUpper(upper); tog.workStart(); lower = tog; break; case prUti: uti = new clntUti(); uti.target = "" + adr; uti.vrf = vrf; uti.srcIfc = ifc; uti.tunKey = vcid; uti.setUpper(upper); uti.workStart(); lower = uti; break; case prNvgre: nvgre = new clntNvGre(); nvgre.target = "" + adr; nvgre.vrf = vrf; nvgre.srcIfc = ifc; nvgre.vsid = vcid; nvgre.setUpper(upper); nvgre.workStart(); lower = nvgre; break; default: lower = new ifcNull(); break; } } /** * get config text * * @return text */ public String getCfg() { if (!ready2run()) { return ""; } String a = vrf.name + " " + ifc.name + " " + cfgVpdn.type2str(pwmod) + " " + adr + " " + vcid; if (ctrlWord) { a += " control-word"; } if (pwtVlan) { a += " vlan"; } if (pwdirIn) { a += " inbound"; } if (pwdirOut) { a += " outbound"; } return a; } /** * configure the pseudowire * * @param cmd commands to read */ public void doCfg(cmds cmd) { vrf = cfgAll.vrfFind(cmd.word(), false); if (vrf == null) { cmd.error("no such vrf"); return; } ifc = cfgAll.ifcFind(cmd.word(), 0); if (ifc == null) { cmd.error("no such interface"); return; } String md = cmd.word(); adr = new addrIP(); if (adr.fromString(cmd.word())) { cmd.error("bad address"); return; } vcid = bits.str2num(cmd.word()); pwmod = cfgVpdn.str2type(md); if (pwmod == null) { cmd.error("bad mode"); return; } for (;;) { String a = cmd.word(); if (a.length() < 1) { break; } if (a.equals("control-word")) { ctrlWord = true; continue; } if (a.equals("inbound")) { pwdirIn = true; continue; } if (a.equals("outbound")) { pwdirOut = true; continue; } if (a.equals("vlan")) { pwtVlan = true; continue; } } } } freeRtr-25.11.9/src/org/freertr/cfg/package-info.java000066400000000000000000000001121510423065500222520ustar00rootroot00000000000000/** * configuration * * @author matecsaba */ package org.freertr.cfg; freeRtr-25.11.9/src/org/freertr/clnt/000077500000000000000000000000001510423065500172725ustar00rootroot00000000000000freeRtr-25.11.9/src/org/freertr/clnt/clntAmt.java000066400000000000000000000250331510423065500215420ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrMac; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcEther; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipIcmp6; import org.freertr.ip.ipMhost4; import org.freertr.pack.packHolder; import org.freertr.prt.prtGenConn; import org.freertr.prt.prtServP; import org.freertr.prt.prtUdp; import org.freertr.user.userFormat; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * automatic multicast tunneling (rfc7450) protocol client * * @author matecsaba */ public class clntAmt implements Runnable, prtServP, ifcDn { /** * create instance */ public clntAmt() { } /** * port number of my */ public final static int portNum = 2268; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * remote port number */ public int prtR; /** * local port number */ public int prtL; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * negotiate */ public boolean negotiate = false; private ifcUp upper = new ifcNull(); private counter cntr = new counter(); private boolean working = true; private prtGenConn conn; private ipFwd fwdr; private int lasTyp; private int nonce; private addrMac rspMac = new addrMac(); public String toString() { return "amt to " + target; } /** * get remote address * * @return address */ public addrIP getRemAddr() { if (conn == null) { return null; } return conn.peerAddr.copyBytes(); } /** * get local address * * @return address */ public addrIP getLocAddr() { if (conn == null) { return null; } return conn.iface.addr.copyBytes(); } /** * get local address * * @return peer address, null if no session */ public ipFwd getFwd() { return fwdr; } /** * get remote port * * @return address */ public int getRemPort() { if (conn == null) { return 0; } return conn.portRem; } /** * get local port * * @return address */ public int getLocPort() { if (conn == null) { return 0; } return conn.portLoc; } /** * set connection * * @param id connection * @param ip forwarder */ public void setConnection(prtGenConn id, ipFwd ip) { conn = id; fwdr = ip; } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { addrIP trg = clntDns.justResolv(target, prefer); if (trg == null) { return; } prtUdp udp = vrf.getUdp(trg); ipFwdIface fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(trg); } if (prtR == 0) { prtR = portNum; } if (prtL == 0) { prtL = prtR; } conn = udp.packetConnect(this, fwdIfc, prtL, trg, prtR, "amt", -1, null, -1, -1); if (conn == null) { return; } conn.timeout = 120000; conn.sendTOS = sendingTOS; conn.sendDFN = sendingDFN; conn.sendFLW = sendingFLW; conn.sendTTL = sendingTTL; if (negotiate) { nonce = bits.randomD(); packHolder pck = new packHolder(true, true); pck.clear(); pck.msbPutW(0, 0x100); // discovery pck.msbPutW(2, 0); // reserved pck.msbPutD(4, nonce); pck.putSkip(8); pck.merge2beg(); pck.putDefaults(); conn.send2net(pck); if (wait4pack() != 2) { return; } pck.clear(); pck.msbPutW(0, 0x300); // request pck.msbPutW(2, 0); // reserved pck.msbPutD(4, nonce); pck.putSkip(8); pck.merge2beg(); pck.putDefaults(); conn.send2net(pck); if (wait4pack() != 4) { return; } } for (;;) { if (conn.txBytesFree() < 0) { return; } bits.sleep(1000); } } private int wait4pack() { lasTyp = -1; for (int i = 0; i < 50; i++) { bits.sleep(100); if (lasTyp > 0) { break; } } return lasTyp; } private void clearState() { if (conn != null) { conn.setClosing(); } } /** * closed interface * * @param ifc interface */ public void closedInterface(ipFwdIface ifc) { } /** * accept connection * * @param id connection * @return false on success, true on error */ public boolean datagramAccept(prtGenConn id) { return true; } /** * connection ready * * @param id connection */ public void datagramReady(prtGenConn id) { } /** * closed connection * * @param id connection */ public void datagramClosed(prtGenConn id) { } /** * work connection * * @param id connection */ public void datagramWork(prtGenConn id) { } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { cntr.tx(pck); pck.getSkip(2); // ethertype if (negotiate && ((pck.IPprt == ipMhost4.protoNum) || (pck.IPprt == ipIcmp6.protoNum))) { pck.msbPutW(0, 0x0500); // report pck.putAddr(2, rspMac); pck.msbPutD(8, nonce); pck.putSkip(12); } else { pck.msbPutW(0, 0x600); // mcast data pck.putSkip(2); } pck.merge2beg(); pck.putDefaults(); conn.send2net(pck); } /** * received error * * @param id connection * @param pck packet * @param rtr reporting router * @param err error happened * @param lab error label * @return false on success, true on error */ public boolean datagramError(prtGenConn id, packHolder pck, addrIP rtr, counter.reasons err, int lab) { return false; } /** * notified that state changed * * @param id id number to reference connection * @param stat state * @return return false if successful, true if error happened */ public boolean datagramState(prtGenConn id, state.states stat) { return false; } /** * received packet * * @param id connection * @param pck packet * @return false on success, true on error */ public boolean datagramRecv(prtGenConn id, packHolder pck) { cntr.rx(pck); lasTyp = pck.getByte(0); switch (lasTyp) { case 6: // data pck.getSkip(2); break; case 4: // query rspMac = new addrMac(); pck.getAddr(rspMac, 2); nonce = pck.msbGetD(8); pck.getSkip(12); break; case 5: // report rspMac = new addrMac(); pck.getAddr(rspMac, 2); nonce = pck.msbGetD(8); pck.getSkip(12); break; default: cntr.drop(pck, counter.reasons.badCod); return false; } int typ = ifcEther.guessEtherType(pck); if (typ < 0) { cntr.drop(pck, counter.reasons.badVal); return false; } pck.msbPutW(0, typ); pck.putSkip(2); pck.merge2beg(); upper.recvPack(pck); return false; } /** * get show * * @return state */ public userFormat getShow() { userFormat res = new userFormat("|", "category|value"); res.add("conn|" + conn); res.add("upper|" + upper); res.add("cntr|" + cntr); res.add("nonce|" + nonce); return res; } } freeRtr-25.11.9/src/org/freertr/clnt/clntAnyconn.java000066400000000000000000000231051510423065500224240ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgInit; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcEther; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.pack.packAnyconn; import org.freertr.pack.packHolder; import org.freertr.pipe.pipeSide; import org.freertr.user.userFormat; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.enc.encXml; import org.freertr.enc.encUrl; import org.freertr.util.logger; import org.freertr.util.state; /** * anyconnect client * * @author matecsaba */ public class clntAnyconn implements Runnable, ifcDn { /** * create instance */ public clntAnyconn() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * target of tunnel */ public String target = null; /** * proxy profile */ public clntProxy proxy; /** * public key */ public byte[] pubkey; /** * username to use */ public String username = null; /** * password to use */ public String password = null; /** * config class */ public cfgIfc cfger; /** * counter */ public counter cntr = new counter(); private boolean working = true; private pipeSide pipe; private boolean good; private encUrl url; private String cookie1; // webvpncontext private String cookie2; // webvpn private addrIP addr4; private addrIP addr6; /** * get hw address * * @return address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter more * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper level * * @param server upper */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu */ public int getMTUsize() { return 1504; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { if (!good) { return; } if (pipe == null) { return; } cntr.tx(pck); if (ifcEther.stripEtherType(pck)) { cntr.drop(pck, counter.reasons.badProto); return; } if (debugger.clntAnyconnTraf) { logger.debug("tx " + pck.dump()); } packAnyconn ps = new packAnyconn(pipe); ps.msgTyp = packAnyconn.typData; pck.putDefaults(); ps.sendPack(pck); } private void clearState() { good = false; if (pipe != null) { pipe.setClose(); } cookie1 = null; cookie2 = null; addr4 = null; addr6 = null; } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } private void workDoer() { url = encUrl.parseOne(target); clntHttp cln = new clntHttp(null, proxy, pubkey, debugger.clntAnyconnTraf); if (cln.doConnect(url)) { return; } String cntx = encXml.header + "" + cfgInit.versionName + "" + cfgInit.getKernelName() + "" + url.toURL(true, false, true, true) + ""; cln.sendLine("POST " + url.toURL(false, false, false, true) + " HTTP/1.1"); cln.sendLine("User-Agent: " + cfgInit.versionAgent); cln.sendLine("Host: " + url.server); cln.sendLine("Connection: keep-alive"); cln.sendLine("Content-Length: " + (cntx.length() + 2)); cln.sendLine("Content-Type: application/x-www-form-urlencoded"); cln.sendLine(""); cln.sendLine(cntx); cln.doHeaders(url); cln.doBody(); cln.cleanUp(); int i = encXml.findParam(cln.cookies, "|webvpncontext|"); if (i < 0) { return; } cookie1 = cln.cookies.get(i).getNamVal(); cln = new clntHttp(null, proxy, pubkey, debugger.clntAnyconnTraf); if (cln.doConnect(url)) { return; } cntx = "username=" + encUrl.percentEncode(username) + "&password=" + encUrl.percentEncode(password); cln.sendLine("POST " + url.toURL(false, false, false, true) + " HTTP/1.1"); cln.sendLine("User-Agent: " + cfgInit.versionAgent); cln.sendLine("Host: " + url.server); cln.sendLine("Cookie: " + cookie1); cln.sendLine("Content-Length: " + cntx.length()); cln.sendLine("Content-Type: application/x-www-form-urlencoded"); cln.sendLine("Accept: */*"); cln.sendLine("Accept-Encoding: identity"); cln.sendLine("Connection: keep-alive"); cln.sendLine("X-transcend-version: 1"); cln.sendLine("X-support-http-auth: true"); cln.sendLine("X-pad: 0000000000000000000000000000000000"); cln.sendLine(""); cln.pipe.strPut(cntx); cln.doHeaders(url); cln.doBody(); pipe = cln.pipe; i = encXml.findParam(cln.cookies, "|webvpn|"); if (i < 0) { return; } cookie2 = cln.cookies.get(i).getNamVal(); cln.sendLine("CONNECT /CSCOSSLC/tunnel HTTP/1.1"); cln.sendLine("User-Agent: " + cfgInit.versionAgent); cln.sendLine("Host: " + url.server); cln.sendLine("Cookie: " + cookie2); cln.sendLine("X-cstp-version: 1"); cln.sendLine("X-cstp-hostname: " + cfgAll.hostName); cln.sendLine("X-cstp-base-mtu: 1500"); cln.sendLine("X-cstp-mtu: 1500"); cln.sendLine("X-cstp-address-type: ipv6,ipv4"); cln.sendLine(""); cln.doHeaders(url); i = encXml.findParam(cln.headers, "|x-cstp-address|"); if (i >= 0) { String s = cln.headers.get(i).data; addr4 = new addrIP(); addr4.fromString(s); } i = encXml.findParam(cln.headers, "|x-cstp-address-ip6|"); if (i >= 0) { String s = cln.headers.get(i).data; i = s.indexOf("/"); if (i >= 0) { s = s.substring(0, i).trim(); addr6 = new addrIP(); addr6.fromString(s); } } if (debugger.clntAnyconnTraf) { logger.debug("addresses: ipv4=" + addr4 + " ipv6=" + addr6); } if (addr4 != null) { cfger.addr4changed(addr4.toIPv4(), cfger.mask4, null); } if (addr6 != null) { cfger.addr6changed(addr6.toIPv6(), cfger.mask6, null); } packHolder pckB = new packHolder(true, true); packAnyconn pckS = new packAnyconn(pipe); good = true; for (;;) { if (pckS.recvPack(pckB)) { break; } if (debugger.clntAnyconnTraf) { logger.debug("rx " + pckB.dump()); } switch (pckS.msgTyp) { case packAnyconn.typData: i = ifcEther.guessEtherType(pckB); if (i < 0) { logger.info("got bad protocol from " + target); break; } pckB.msbPutW(0, i); // ethertype pckB.putSkip(2); pckB.merge2beg(); upper.recvPack(pckB); break; case packAnyconn.typDpdReq: pckS.msgTyp = packAnyconn.typDpdRep; pckS.sendPack(pckB); break; case packAnyconn.typDpdRep: break; case packAnyconn.typKeep: break; case packAnyconn.typTerm: return; case packAnyconn.typDisc: return; default: logger.info("unknown type: " + pckS.msgTyp); break; } } } /** * get show * * @return state */ public userFormat getShow() { userFormat res = new userFormat("|", "category|value"); res.add("upper|" + upper); res.add("cntr|" + cntr); res.add("cookie1|" + cookie1); res.add("cookie2|" + cookie2); return res; } } freeRtr-25.11.9/src/org/freertr/clnt/clntAx25.java000066400000000000000000000156501510423065500215440ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.cry.cryHashFcs16; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipFwdTab; import org.freertr.ip.ipPrt; import org.freertr.pack.packHolder; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * ax25 (rfc1226) client * * @author matecsaba */ public class clntAx25 implements Runnable, ipPrt, ifcDn { /** * create instance */ public clntAx25() { } /** * protocol number */ public final static int prot = 93; /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * counter */ public counter cntr = new counter(); private ipFwd fwdCor; private addrIP fwdTrg; private ipFwdIface fwdIfc; private boolean working = true; public String toString() { return "ax25 to " + fwdTrg; } /** * get hw address * * @return address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 10000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { pck.merge2beg(); if (fwdIfc == null) { return; } cryHashFcs16 sum = new cryHashFcs16(); sum.init(); pck.hashData(sum, 0, pck.dataSize()); byte[] cb = sum.finish(); pck.putCopy(cb, 0, 0, cb.length); pck.putSkip(cb.length); pck.merge2end(); cntr.tx(pck); pck.putDefaults(); if (sendingTTL >= 0) { pck.IPttl = sendingTTL; } if (sendingTOS >= 0) { pck.IPtos = sendingTOS; } if (sendingDFN >= 0) { pck.IPdf = sendingDFN == 1; } if (sendingFLW >= 0) { pck.IPid = sendingFLW; } pck.IPprt = prot; pck.IPsrc.setAddr(fwdIfc.addr); pck.IPtrg.setAddr(fwdTrg); fwdCor.protoPack(fwdIfc, null, pck); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { fwdTrg = clntDns.justResolv(target, prefer); if (fwdTrg == null) { return; } fwdCor = vrf.getFwd(fwdTrg); fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(fwdTrg); } if (fwdIfc == null) { fwdIfc = ipFwdTab.findSendingIface(fwdCor, fwdTrg); } if (fwdIfc == null) { return; } fwdCor.protoAdd(this, fwdIfc, fwdTrg); for (;;) { if (!working) { break; } bits.sleep(1000); } } private void clearState() { if (fwdIfc != null) { fwdCor.protoDel(this, fwdIfc, fwdTrg); fwdIfc = null; } } /** * get protocol number * * @return number */ public int getProtoNum() { return prot; } /** * close interface * * @param iface interface */ public void closeUp(ipFwdIface iface) { } /** * set state * * @param iface interface * @param stat state */ public void setState(ipFwdIface iface, state.states stat) { } /** * received packet * * @param rxIfc interface * @param pck packet */ public void recvPack(ipFwdIface rxIfc, packHolder pck) { int siz = pck.dataSize(); if (siz < 3) { cntr.drop(pck, counter.reasons.tooSmall); return; } cryHashFcs16 sum = new cryHashFcs16(); sum.init(); pck.hashData(sum, 0, siz - 2); byte[] cb = sum.finish(); byte[] cg = new byte[cb.length]; pck.getCopy(cg, 0, siz - cg.length, cg.length); if (bits.byteComp(cg, 0, cb, 0, cg.length) != 0) { cntr.drop(pck, counter.reasons.badSum); return; } pck.setDataSize(siz - cg.length); cntr.rx(pck); upper.recvPack(pck); } /** * received alert * * @param rxIfc interface * @param pck packet * @return false on success, true on error */ public boolean alertPack(ipFwdIface rxIfc, packHolder pck) { return true; } /** * received error * * @param err error code * @param rtr address * @param rxIfc interface * @param pck packet */ public void errorPack(counter.reasons err, addrIP rtr, ipFwdIface rxIfc, packHolder pck) { } } freeRtr-25.11.9/src/org/freertr/clnt/clntBstun.java000066400000000000000000000102371510423065500221140ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.line.lineBstun; import org.freertr.line.lineHdlc; import org.freertr.line.lineScript; import org.freertr.pack.packHolder; import org.freertr.pipe.pipeSide; import org.freertr.serv.servBstun; import org.freertr.serv.servGeneric; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * block serial tunneling client * * @author matecsaba */ public class clntBstun implements Runnable, ifcDn { /** * create instance */ public clntBstun() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * chat script to use */ public lineScript script; /** * target of tunnel */ public String target = null; /** * proxy profile */ public clntProxy proxy; /** * group */ public int group = 0; /** * counter */ public counter cntr = new counter(); private boolean working = true; private lineBstun lower; private lineHdlc hdlc; public String toString() { return "bstun to " + target; } /** * get hw address * * @return address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc prmiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1504; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { if (hdlc == null) { return; } cntr.tx(pck); pck.putDefaults(); hdlc.sendPack(pck); } private void clearState() { if (lower != null) { lower.setClose(); } if (hdlc != null) { hdlc.closeDn(); } } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } private void workDoer() { addrIP trg = clntDns.justResolv(target, proxy.prefer); if (trg == null) { return; } pipeSide conn = proxy.doConnect(servGeneric.protoTcp, trg, new servBstun().srvPort(), "bstun"); if (conn == null) { return; } conn.setTime(120000); lower = new lineBstun(conn, group); if (script.doScript(lower.getPipe())) { conn.setClose(); return; } hdlc = new lineHdlc(lower.getPipe()); hdlc.setUpper(upper); for (;;) { bits.sleep(1000); if (conn.isClosed() != 0) { return; } } } } freeRtr-25.11.9/src/org/freertr/clnt/clntCapwap.java000066400000000000000000000150641510423065500222370ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.addr.addrMac; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwdIface; import org.freertr.pack.packCapwap; import org.freertr.pack.packHolder; import org.freertr.prt.prtGenConn; import org.freertr.prt.prtServP; import org.freertr.prt.prtUdp; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * control and provision of wireless access points (rfc5415) client * * @author matecsaba */ public class clntCapwap implements Runnable, prtServP, ifcDn { /** * create instance */ public clntCapwap() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * counter */ public counter cntr = new counter(); private prtGenConn conn; private boolean working = true; public String toString() { return "capwap to " + target; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return addrMac.getRandom(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 4000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { if (conn == null) { return; } cntr.tx(pck); packCapwap cpw = new packCapwap(); cpw.createHeader(pck); pck.putDefaults(); conn.send2net(pck); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { addrIP trg = clntDns.justResolv(target, prefer); if (trg == null) { return; } prtUdp udp = vrf.getUdp(trg); ipFwdIface fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(trg); } conn = udp.packetConnect(this, fwdIfc, packCapwap.port, trg, packCapwap.port, "capwap", -1, null, -1, -1); if (conn == null) { return; } conn.timeout = 120000; conn.sendTOS = sendingTOS; conn.sendDFN = sendingDFN; conn.sendFLW = sendingFLW; conn.sendTTL = sendingTTL; for (;;) { bits.sleep(1000); if (!working) { return; } if (conn.txBytesFree() < 0) { return; } } } private void clearState() { if (conn != null) { conn.setClosing(); } } /** * close interface * * @param ifc interface */ public void closedInterface(ipFwdIface ifc) { } /** * accept connection * * @param id connection * @return false on success, true on error */ public boolean datagramAccept(prtGenConn id) { return true; } /** * connection ready * * @param id connection */ public void datagramReady(prtGenConn id) { } /** * close connection * * @param id connection */ public void datagramClosed(prtGenConn id) { } /** * work connection * * @param id connection */ public void datagramWork(prtGenConn id) { } /** * received error * * @param id connection * @param pck packet * @param rtr reporting router * @param err error happened * @param lab error label * @return false on success, true on error */ public boolean datagramError(prtGenConn id, packHolder pck, addrIP rtr, counter.reasons err, int lab) { return false; } /** * notified that state changed * * @param id id number to reference connection * @param stat state * @return return false if successful, true if error happened */ public boolean datagramState(prtGenConn id, state.states stat) { return false; } /** * received packet * * @param id connection * @param pck packet * @return false on success, true on error */ public boolean datagramRecv(prtGenConn id, packHolder pck) { cntr.rx(pck); packCapwap cpw = new packCapwap(); if (cpw.parseHeader(pck)) { cntr.drop(pck, counter.reasons.badHdr); return false; } upper.recvPack(pck); return false; } } freeRtr-25.11.9/src/org/freertr/clnt/clntCurl.java000066400000000000000000000021011510423065500217150ustar00rootroot00000000000000package org.freertr.clnt; import java.io.File; import java.util.ArrayList; import java.util.List; import org.freertr.cfg.cfgInit; import org.freertr.enc.encUrl; import org.freertr.pipe.pipeSide; import org.freertr.user.userFlash; import org.freertr.user.userUpgrade; import org.freertr.util.bits; import org.freertr.util.cmds; /** * see url client * * @author matecsaba */ public class clntCurl { /** * default constructor */ private clntCurl() { } /** * download one url * * @param p pipeline to log to * @param u url to download * @return returned text, null if nothing */ public final static List doGetUrl(pipeSide p, String u) { List res = new ArrayList(); String a = cfgInit.getRWpath() + "curl" + bits.randomD() + userUpgrade.tmpExt; userFlash.doReceive(p, encUrl.parseOne(u), new File(a)); List got = bits.txt2buf(a); userFlash.delete(a); a = "result=" + cmds.doneFail(got == null); p.linePut(a); return got; } } freeRtr-25.11.9/src/org/freertr/clnt/clntDhcp4.java000066400000000000000000000303351510423065500217640ustar00rootroot00000000000000package org.freertr.clnt; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.addr.addrIPv4; import org.freertr.addr.addrMac; import org.freertr.cfg.cfgIfc; import org.freertr.ifc.ifcEthTyp; import org.freertr.ip.ipFwdIface; import org.freertr.pack.packDhcp4; import org.freertr.pack.packHolder; import org.freertr.prt.prtGen; import org.freertr.prt.prtGenConn; import org.freertr.prt.prtServP; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.state; /** * dynamic host config protocol (rfc2131) client * * @author matecsaba */ public class clntDhcp4 implements prtServP { /** * early mode */ public boolean earlyMode = false; /** * fill ciaddr */ public boolean fillCiaddr = true; /** * broadcast mode */ public boolean broadcastMode = true; /** * minimum lease time */ public int leaseMin = 60 * 1000; /** * maximum lease time */ public int leaseMax = 43200 * 1000; /** * config class */ public cfgIfc cfger; /** * my address */ public addrIPv4 locAddr; /** * my netmask */ public addrIPv4 locMask; /** * gw address */ public addrIPv4 gwAddr; /** * dhcp server address */ public addrIPv4 dhcpAddr; /** * dns1 address */ public addrIPv4 dns1addr; /** * dns2 address */ public addrIPv4 dns2addr; private prtGen lower; private prtGenConn sender; private ipFwdIface iface; private ifcEthTyp ethtyp; private int lastId; private long lastTime; private int lastStat; // 1-running, 2-txDiscovery, 4-txRequest private int lastSent; private int leaseTime; /** * create new dhcp client on interface * * @param wrkr udp worker * @param ifc forwarder interface * @param phy handler of interface * @param cfg config interface */ public clntDhcp4(prtGen wrkr, ipFwdIface ifc, ifcEthTyp phy, cfgIfc cfg) { lower = wrkr; iface = ifc; ethtyp = phy; cfger = cfg; clearState(); socketBind(); if (debugger.clntDhcp4traf) { logger.debug("started"); } } /** * get configuration * * @param l storage * @param beg beginning * @param cmd command */ public void getConfig(List l, String beg, String cmd) { cmds.cfgLine(l, !broadcastMode, beg, cmd + "broadcast", ""); cmds.cfgLine(l, !earlyMode, beg, cmd + "early", ""); cmds.cfgLine(l, !fillCiaddr, beg, cmd + "fill-ciaddr", ""); l.add(beg + cmd + "renew-min " + leaseMin); l.add(beg + cmd + "renew-max " + leaseMax); } /** * do configuration * * @param a command * @param cmd commands * @return result code, true on error, false on success */ public boolean doConfig(String a, cmds cmd) { if (a.equals("broadcast")) { broadcastMode = true; return false; } if (a.equals("early")) { earlyMode = true; return false; } if (a.equals("fill-ciaddr")) { fillCiaddr = true; return false; } if (a.equals("renew-min")) { leaseMin = bits.str2num(cmd.word()); return false; } if (a.equals("renew-max")) { leaseMax = bits.str2num(cmd.word()); return false; } return true; } /** * undo configuration * * @param a command * @return result code, true on error, false on success */ public boolean unConfig(String a) { if (a.equals("broadcast")) { broadcastMode = false; return false; } if (a.equals("early")) { earlyMode = false; return false; } if (a.equals("fill-ciaddr")) { fillCiaddr = false; return false; } return true; } /** * stop client */ public void closeClient() { clearState(); socketUnbind(); if (debugger.clntDhcp4traf) { logger.debug("stopped"); } } /** * clear state */ public void clearState() { locAddr = addrIPv4.getEmpty(); locMask = addrIPv4.getBroadcast(); gwAddr = addrIPv4.getEmpty(); dhcpAddr = addrIPv4.getEmpty(); dns1addr = addrIPv4.getEmpty(); dns2addr = addrIPv4.getEmpty(); lastStat = 1; lastId = bits.randomD(); lastTime = 0; lastSent = 0; } private void socketBind() { if (lower.packetListen(this, iface, packDhcp4.portCnum, null, packDhcp4.portSnum, "dhcp4c", -1, null, -1, -1)) { logger.info("failed to bind"); } addrIP adr = new addrIP(); adr.fromIPv4addr(addrIPv4.getBroadcast()); sender = lower.packetConnect(this, iface, packDhcp4.portCnum, adr, packDhcp4.portSnum, "dhcp4c", -1, null, -1, -1); if (sender == null) { logger.info("failed to connect"); } else { sender.timeout = 0; } } private void socketUnbind() { lower.listenStop(iface, packDhcp4.portCnum, null, packDhcp4.portSnum); if (sender != null) { sender.setClosing(); } sender = null; } /** * closed interface * * @param ifc interface */ public void closedInterface(ipFwdIface ifc) { } /** * accept datagram * * @param id connection * @return false on success, true on error */ public boolean datagramAccept(prtGenConn id) { if (debugger.clntDhcp4traf) { logger.debug("accept " + id); } id.timeout = 5000; return false; } /** * close connection * * @param id connection */ public void datagramClosed(prtGenConn id) { if (debugger.clntDhcp4traf) { logger.debug("close " + id); } } /** * set ready * * @param id connection */ public void datagramReady(prtGenConn id) { if (debugger.clntDhcp4traf) { logger.debug("ready " + id); } id.workInterval = 5000; } /** * work round * * @param id connection */ public void datagramWork(prtGenConn id) { if (debugger.clntDhcp4traf) { logger.debug("work " + id); } sendKeepalive(); } /** * received error * * @param id connection * @param pck packet * @param rtr reporting router * @param err error happened * @param lab error label * @return false on success, true on error */ public boolean datagramError(prtGenConn id, packHolder pck, addrIP rtr, counter.reasons err, int lab) { return false; } /** * notified that state changed * * @param id id number to reference connection * @param stat state * @return return false if successful, true if error happened */ public boolean datagramState(prtGenConn id, state.states stat) { return false; } /** * received packet * * @param id connection * @param pck packet * @return false on success, true on error */ public boolean datagramRecv(prtGenConn id, packHolder pck) { if (debugger.clntDhcp4traf) { logger.debug("rx " + id); } packDhcp4 pckd = new packDhcp4(); if (pckd.parseHeader(pck, false)) { return false; } if (debugger.clntDhcp4traf) { logger.debug("rx " + pckd); } if (pckd.bootpOp != packDhcp4.bootpOpReply) { return false; } switch (pckd.dhcpOp) { case packDhcp4.dhcpOpOffer: if (lastStat != 1) { return false; } if (pckd.bootpXid != lastId) { return false; } if (locAddr == null) { return false; } dhcpAddr = pckd.dhcpServer; locAddr = pckd.bootpYiaddr; locMask = pckd.dhcpNetMask; gwAddr = pckd.dhcpGateway; dns1addr = pckd.dhcpDns1srv; dns2addr = pckd.dhcpDns2srv; leaseTime = pckd.dhcpLeaseTime * 700; if (leaseTime > leaseMax) { leaseTime = leaseMax; } if (leaseTime < leaseMin) { leaseTime = leaseMin; } lastStat |= 2; if (earlyMode) { cfger.addr4changed(locAddr, locMask, gwAddr); } lastId++; break; case packDhcp4.dhcpOpAck: if (lastStat != 3) { return false; } if (pckd.bootpXid != lastId) { return false; } lastStat |= 4; if (!earlyMode) { cfger.addr4changed(locAddr, locMask, gwAddr); } break; } return false; } private void sendDiscovery() { if ((bits.getTime() - lastTime) < 1000) { return; } packHolder pck = new packHolder(true, true); packDhcp4 pckd = new packDhcp4(); pckd.bootpOp = packDhcp4.bootpOpRequest; pckd.bootpXid = lastId; pckd.bootpBroadcast = broadcastMode; pckd.bootpChaddr = (addrMac) ethtyp.getHwAddr().copyBytes(); pckd.dhcpOp = packDhcp4.dhcpOpDiscover; pckd.putParamReqList(); pckd.dhcpClientId = true; pckd.createHeader(pck, null); sender.send2net(pck); lastTime = bits.getTime(); if (debugger.clntDhcp4traf) { logger.debug("tx " + sender + " " + pckd); } } private void sendRequest() { if ((bits.getTime() - lastTime) < 1000) { return; } packHolder pck = new packHolder(true, true); packDhcp4 pckd = new packDhcp4(); pckd.bootpOp = packDhcp4.bootpOpRequest; pckd.bootpXid = lastId; pckd.bootpBroadcast = broadcastMode; pckd.bootpChaddr = (addrMac) ethtyp.getHwAddr().copyBytes(); pckd.dhcpOp = packDhcp4.dhcpOpRequest; pckd.putParamReqList(); pckd.dhcpClientId = true; if (fillCiaddr) { pckd.bootpCiaddr = locAddr.copyBytes(); } else { pckd.dhcpServer = dhcpAddr.copyBytes(); } pckd.dhcpRequested = locAddr.copyBytes(); pckd.createHeader(pck, null); sender.send2net(pck); lastTime = bits.getTime(); if (debugger.clntDhcp4traf) { logger.debug("tx " + sender + " " + pckd); } } private void sendKeepalive() { if (sender == null) { return; } switch (lastStat) { case 1: // sending discovery lastSent++; if (lastSent > 32) { clearState(); break; } cfger.addr4changed(locAddr, locMask, gwAddr); sendDiscovery(); break; case 3: // sending request lastSent++; if (lastSent > 16) { clearState(); break; } sendRequest(); break; case 7: // allocated if (cfger.addr4 != null) { if (locAddr.compareTo(cfger.addr4) != 0) { clearState(); break; } } if ((bits.getTime() - lastTime) < leaseTime) { break; } if (debugger.clntDhcp4traf) { logger.debug("renewing address"); } lastStat = 3; lastSent = 0; break; default: clearState(); break; } } } freeRtr-25.11.9/src/org/freertr/clnt/clntDhcp6.java000066400000000000000000000317571510423065500217770ustar00rootroot00000000000000package org.freertr.clnt; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.addr.addrIPv6; import org.freertr.addr.addrMac; import org.freertr.cfg.cfgIfc; import org.freertr.ifc.ifcEthTyp; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipIfc6; import org.freertr.pack.packDhcp6; import org.freertr.pack.packHolder; import org.freertr.prt.prtGen; import org.freertr.prt.prtGenConn; import org.freertr.prt.prtServP; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.state; /** * dynamic host config protocol (rfc3315) client * * @author matecsaba */ public class clntDhcp6 implements prtServP { /** * early mode */ public boolean earlyMode = false; /** * prefix mode */ public boolean prefixMode = false; /** * address mode */ public boolean addressMode = true; /** * minimum lease time */ public int leaseMin = 60 * 1000; /** * maximum lease time */ public int leaseMax = 43200 * 1000; /** * config class */ public cfgIfc cfger; /** * my mac */ public addrMac locMac; /** * my address */ public addrIPv6 locAddr; /** * my netmask */ public addrIPv6 locMask; /** * gw address */ public addrIPv6 gwAddr; /** * dns1 address */ public addrIPv6 dns1addr; /** * dns2 address */ public addrIPv6 dns2addr; /** * server id */ public byte[] servId; private prtGen lower; private prtGenConn sender; private ipFwdIface iface; private ipIfc6 ipifc; private ifcEthTyp ethtyp; private int lastId; private long lastTime; private int lastStat; // 1-running, 2-txDiscovery, 4-txRequest private int lastSent; private int leaseTime; /** * create new dhcp client on interface * * @param wrkr udp worker * @param ifc forwarder interface * @param ipi ip interface * @param phy handler of interface * @param cfg config interface */ public clntDhcp6(prtGen wrkr, ipFwdIface ifc, ipIfc6 ipi, ifcEthTyp phy, cfgIfc cfg) { lower = wrkr; iface = ifc; ipifc = ipi; ethtyp = phy; cfger = cfg; clearState(); socketBind(); if (debugger.clntDhcp6traf) { logger.debug("started"); } } /** * get configuration * * @param l storage * @param beg beginning * @param cmd command */ public void getConfig(List l, String beg, String cmd) { cmds.cfgLine(l, !addressMode, beg, cmd + "address", ""); cmds.cfgLine(l, !prefixMode, beg, cmd + "prefix", ""); cmds.cfgLine(l, !earlyMode, beg, cmd + "early", ""); l.add(beg + cmd + "renew-min " + leaseMin); l.add(beg + cmd + "renew-max " + leaseMax); } /** * do configuration * * @param a command * @param cmd commands * @return result code, true on error, false on success */ public boolean doConfig(String a, cmds cmd) { if (a.equals("address")) { addressMode = true; return false; } if (a.equals("prefix")) { prefixMode = true; return false; } if (a.equals("early")) { earlyMode = true; return false; } if (a.equals("renew-min")) { leaseMin = bits.str2num(cmd.word()); return false; } if (a.equals("renew-max")) { leaseMax = bits.str2num(cmd.word()); return false; } return true; } /** * undo configuration * * @param a command * @return result code, true on error, false on success */ public boolean unConfig(String a) { if (a.equals("address")) { addressMode = false; return false; } if (a.equals("prefix")) { prefixMode = false; return false; } if (a.equals("early")) { earlyMode = false; return false; } return true; } /** * stop client */ public void closeClient() { clearState(); socketUnbind(); if (debugger.clntDhcp6traf) { logger.debug("stopped"); } } /** * clear state */ public void clearState() { try { locMac = (addrMac) ethtyp.getHwAddr(); } catch (Exception e) { locMac = addrMac.getRandom(); } locAddr = ipifc.getLinkLocalAddr().toIPv6(); locMask = new addrIPv6(); locMask.fromString("ffff:ffff:ffff:ffff::"); gwAddr = addrIPv6.getEmpty(); dns1addr = addrIPv6.getEmpty(); dns2addr = addrIPv6.getEmpty(); lastStat = 1; lastId = bits.randomD() & 0xffffff; lastTime = 0; lastSent = 0; } private void socketBind() { if (lower.packetListen(this, iface, packDhcp6.portCnum, null, packDhcp6.portSnum, "dhcp6c", -1, null, -1, -1)) { logger.info("failed to bind"); } addrIP adr = new addrIP(); adr.fromString("ff02::1:2"); sender = lower.packetConnect(this, iface, packDhcp6.portCnum, adr, packDhcp6.portSnum, "dhcp6c", -1, null, -1, -1); if (sender == null) { logger.info("failed to connect"); } else { sender.timeout = 0; } } private void socketUnbind() { lower.listenStop(iface, packDhcp6.portCnum, null, packDhcp6.portSnum); if (sender != null) { sender.setClosing(); } sender = null; } /** * close interface * * @param ifc interface */ public void closedInterface(ipFwdIface ifc) { } /** * accept connection * * @param id connection * @return false on success, true on error */ public boolean datagramAccept(prtGenConn id) { if (debugger.clntDhcp6traf) { logger.debug("accept " + id); } id.timeout = 5000; return false; } /** * close connection * * @param id connection */ public void datagramClosed(prtGenConn id) { if (debugger.clntDhcp6traf) { logger.debug("close " + id); } } /** * connection ready * * @param id connection */ public void datagramReady(prtGenConn id) { if (debugger.clntDhcp6traf) { logger.debug("ready " + id); } id.workInterval = 5000; } /** * connection work * * @param id connection */ public void datagramWork(prtGenConn id) { if (debugger.clntDhcp6traf) { logger.debug("work " + id); } sendKeepalive(); } /** * received error * * @param id connection * @param pck packet * @param rtr reporting router * @param err error happened * @param lab error label * @return false on success, true on error */ public boolean datagramError(prtGenConn id, packHolder pck, addrIP rtr, counter.reasons err, int lab) { return false; } /** * notified that state changed * * @param id id number to reference connection * @param stat state * @return return false if successful, true if error happened */ public boolean datagramState(prtGenConn id, state.states stat) { return false; } /** * received packet * * @param id connection * @param pck packet * @return false on success, true on error */ public boolean datagramRecv(prtGenConn id, packHolder pck) { if (debugger.clntDhcp6traf) { logger.debug("rx " + id); } packDhcp6 pckd = new packDhcp6(); if (pckd.parsePacket(pck)) { return false; } if (debugger.clntDhcp6traf) { logger.debug("rx " + pckd); } switch (pckd.msgTyp) { case packDhcp6.typAdvertise: if (lastStat != 1) { return false; } if (pckd.msgId != lastId) { return false; } if (locAddr == null) { return false; } if (pckd.ipaddr == null) { return false; } if (pckd.ipaddr.isLinkLocal()) { return false; } locAddr = pckd.ipaddr; locMask.fromNetmask(pckd.ipsize); gwAddr = pck.IPsrc.toIPv6(); servId = pckd.servId; dns1addr = pckd.dns1srv; dns2addr = pckd.dns2srv; leaseTime = pckd.lifetimV * 700; if (leaseTime > leaseMax) { leaseTime = leaseMax; } if (leaseTime < leaseMin) { leaseTime = leaseMin; } lastStat |= 2; if (earlyMode) { cfger.addr6changed(locAddr, locMask, gwAddr); } lastId++; break; case packDhcp6.typReply: if (lastStat != 3) { return false; } if (pckd.msgId != lastId) { return false; } lastStat |= 4; if (!earlyMode) { cfger.addr6changed(locAddr, locMask, gwAddr); } break; } return false; } private void sendSolicit() { if ((bits.getTime() - lastTime) < 1000) { return; } packHolder pck = new packHolder(true, true); packDhcp6 pckd = new packDhcp6(); pckd.msgTyp = packDhcp6.typSolicit; pckd.msgId = lastId; pckd.clntId = packDhcp6.encodeDUID(locMac); pckd.clntTime = 0; pckd.iamod = getIAmode(); pckd.iaid = 1; pckd.iat1 = leaseTime / 2; pckd.iat2 = leaseTime; pckd.putOptionsReqList(); pckd.createPacket(pck, null); sender.send2net(pck); lastTime = bits.getTime(); if (debugger.clntDhcp6traf) { logger.debug("tx " + sender + " " + pckd); } } private int getIAmode() { if (prefixMode) { if (addressMode) { // Both modes requested return 4; } else { // Only prefix mode return 3; } } else { if (addressMode) { // Only address mode return 2; } else { // Request configuration only return 0; } } } private void sendRequest() { if ((bits.getTime() - lastTime) < 1000) { return; } packHolder pck = new packHolder(true, true); packDhcp6 pckd = new packDhcp6(); pckd.msgTyp = packDhcp6.typRequest; pckd.msgId = lastId; pckd.clntId = packDhcp6.encodeDUID(locMac); pckd.servId = servId; pckd.clntTime = 0; pckd.iamod = getIAmode(); pckd.iaid = 1; pckd.iat1 = leaseTime / 2; pckd.iat2 = leaseTime; pckd.ipaddr = locAddr.copyBytes(); pckd.ipsize = locMask.toNetmask(); pckd.lifetimP = leaseTime; pckd.lifetimV = leaseTime; pckd.putOptionsReqList(); pckd.createPacket(pck, null); sender.send2net(pck); lastTime = bits.getTime(); if (debugger.clntDhcp6traf) { logger.debug("tx " + sender + " " + pckd); } } private void sendKeepalive() { if (sender == null) { return; } switch (lastStat) { case 1: // sending discovery lastSent++; if (lastSent > 32) { clearState(); break; } cfger.addr6changed(locAddr, locMask, gwAddr); sendSolicit(); break; case 3: // sending request lastSent++; if (lastSent > 16) { clearState(); break; } sendRequest(); break; case 7: // allocated if (cfger.addr6 != null) { if (locAddr.compareTo(cfger.addr6) != 0) { clearState(); break; } } if ((bits.getTime() - lastTime) < leaseTime) { break; } if (debugger.clntDhcp6traf) { logger.debug("renewing address"); } lastStat = 3; lastSent = 0; break; default: clearState(); break; } } } freeRtr-25.11.9/src/org/freertr/clnt/clntDlsw.java000066400000000000000000000161611510423065500217340ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.addr.addrMac; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipFwdTab; import org.freertr.ip.ipPrt; import org.freertr.pack.packHolder; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * data link switching (rfc1795) client * * @author matecsaba */ public class clntDlsw implements Runnable, ipPrt, ifcDn { /** * create instance */ public clntDlsw() { } /** * protocol number */ public final static int prot = 91; /** * header size */ public final static int size = 72; /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * counter */ public counter cntr = new counter(); private ipFwd fwdCor; private addrIP fwdTrg; private ipFwdIface fwdIfc; private boolean working = true; public String toString() { return "dlsw to " + fwdTrg; } /** * get hw address * * @return address */ public addrType getHwAddr() { return addrMac.getRandom(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 10000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { pck.merge2beg(); if (fwdIfc == null) { return; } pck.putByte(0, 0x31); // version pck.putByte(1, size); // header size pck.msbPutW(2, pck.dataSize()); // data size pck.putByte(14, 0x14); // type pck.putByte(16, 0x42); // protocol pck.putByte(23, 0x14); // type pck.putAddr(24, pck.ETHtrg); pck.putAddr(30, pck.ETHsrc); pck.putSkip(size); pck.merge2beg(); cntr.tx(pck); pck.putDefaults(); if (sendingTTL >= 0) { pck.IPttl = sendingTTL; } if (sendingTOS >= 0) { pck.IPtos = sendingTOS; } if (sendingDFN >= 0) { pck.IPdf = sendingDFN == 1; } if (sendingFLW >= 0) { pck.IPid = sendingFLW; } pck.IPprt = prot; pck.IPsrc.setAddr(fwdIfc.addr); pck.IPtrg.setAddr(fwdTrg); fwdCor.protoPack(fwdIfc, null, pck); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { fwdTrg = clntDns.justResolv(target, prefer); if (fwdTrg == null) { return; } fwdCor = vrf.getFwd(fwdTrg); fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(fwdTrg); } if (fwdIfc == null) { fwdIfc = ipFwdTab.findSendingIface(fwdCor, fwdTrg); } if (fwdIfc == null) { return; } fwdCor.protoAdd(this, fwdIfc, fwdTrg); for (;;) { if (!working) { break; } bits.sleep(1000); } } private void clearState() { if (fwdIfc != null) { fwdCor.protoDel(this, fwdIfc, fwdTrg); fwdIfc = null; } } /** * get protocol number * * @return number */ public int getProtoNum() { return prot; } /** * close interface * * @param iface interface */ public void closeUp(ipFwdIface iface) { } /** * set state * * @param iface interface * @param stat state */ public void setState(ipFwdIface iface, state.states stat) { } /** * received packet * * @param rxIfc interface * @param pck packet */ public void recvPack(ipFwdIface rxIfc, packHolder pck) { if (pck.getByte(0) != 0x31) { cntr.drop(pck, counter.reasons.badHdr); return; } if (pck.getByte(1) != size) { cntr.drop(pck, counter.reasons.badHdr); return; } int i = pck.msbGetW(2) + size; if (pck.dataSize() < i) { cntr.drop(pck, counter.reasons.badLen); return; } pck.setDataSize(i); if (pck.getByte(14) != 0x14) { cntr.drop(pck, counter.reasons.badTyp); return; } pck.getSkip(size); cntr.rx(pck); upper.recvPack(pck); } /** * alert packet * * @param rxIfc interface * @param pck packet * @return false on success, true on error */ public boolean alertPack(ipFwdIface rxIfc, packHolder pck) { return true; } /** * error packet * * @param err error code * @param rtr address * @param rxIfc interface * @param pck packet */ public void errorPack(counter.reasons err, addrIP rtr, ipFwdIface rxIfc, packHolder pck) { } } freeRtr-25.11.9/src/org/freertr/clnt/clntDns.java000066400000000000000000000452051510423065500215500ustar00rootroot00000000000000package org.freertr.clnt; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgProxy; import org.freertr.pack.packDns; import org.freertr.pack.packDnsRec; import org.freertr.pack.packDnsRes; import org.freertr.pack.packDnsZone; import org.freertr.pack.packHolder; import org.freertr.pack.packSize; import org.freertr.pipe.pipeSide; import org.freertr.serv.servGeneric; import org.freertr.user.userFormat; import org.freertr.util.bits; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.syncInt; /** * domain name protocol (rfc1035) client * * @author matecsaba */ public class clntDns { /** * startup counter */ public final static syncInt cntrStart = new syncInt(0); /** * error counter */ public final static syncInt cntrError = new syncInt(0); /** * stop counter */ public final static syncInt cntrStop = new syncInt(0); /** * working proxy */ public cfgProxy curPrx; /** * dns question */ private packDns query; /** * dns response */ private packDns reply; /** * local positive cache */ private static packDnsZone loPcache = new packDnsZone(""); /** * local negative cache */ private static packDnsZone loNcache = new packDnsZone(""); /** * setup instance */ public clntDns() { curPrx = cfgAll.nameServerProxy; if (curPrx == null) { curPrx = cfgAll.clientProxy; } } /** * resolve one host to address * * @param console console to use * @param host hostname * @param prt protocol to prefer, 0=default * @return ip address, null if not found */ public static addrIP resolveAddr(pipeSide console, String host, int prt) { addrIP addr = new addrIP(); if (!addr.fromString(host)) { return addr; } if (prt == 0) { prt = clntDns.getPriPref(); } console.strPut("resolving " + host + " for ipv" + prt); addrIP adr = clntDns.justResolv(host, prt); if (adr == null) { console.linePut(" failed!"); return null; } console.linePut(" ok!"); return adr; } /** * do resolver work * * @param host server name * @param prt protocol to prefer, 0=default, 4=ip4, 6=ip6 * @return address of remove, null on error */ public static addrIP justResolv(String host, int prt) { clntDns clnt = new clntDns(); if (clnt.doResolvAddr(cfgAll.nameServerAddr, host, prt)) { return null; } return clnt.getAddr(prt); } /** * purge local cache * * @param full set true to full clear */ public static void purgeLocalCache(boolean full) { if (full) { if (debugger.clntDnsTraf) { logger.debug("cleared"); } loPcache.clear(); loNcache.clear(); return; } int del = purgeLocalCache(loPcache); del += purgeLocalCache(loNcache); if (debugger.clntDnsTraf) { logger.debug(del + " purged"); } } private static int purgeLocalCache(packDnsZone loCache) { long t = bits.getTime(); int del = 0; for (int i = loCache.size() - 1; i >= 0; i--) { packDnsRec ntry = loCache.get(i); if ((t - ntry.added) < (ntry.ttl * 1000)) { continue; } loCache.delBin(ntry); del++; } return del; } /** * display local cache * * @param neg true if negative cache needed * @return cache content */ public static userFormat showLocalCache(boolean neg) { if (neg) { return loNcache.toUserStr(true); } else { return loPcache.toUserStr(true); } } private int doResolvSingle(addrIP srv, String nam, int typ) { reply = new packDns(); packDnsRec cac = loNcache.findUser(nam, typ); if (cac != null) { if (debugger.clntDnsTraf) { logger.debug("negative hit " + cac); } return 2; } cac = loPcache.findUser(nam, typ); for (int lop = 0; lop < 32; lop++) { if (cac != null) { if (debugger.clntDnsTraf) { logger.debug("cache hit " + cac); } reply.answers.add(cac); return 0; } cac = loPcache.findUser(nam, packDnsRec.typeCNAME); if (cac == null) { break; } if (debugger.clntDnsTraf) { logger.debug("cache redir " + cac); } reply.answers.add(cac); nam = cac.res.get(bits.random(0, cac.res.size())).target; cac = loPcache.findUser(nam, typ); } cntrStart.add(1); if (curPrx == null) { cntrError.add(1); return 1; } if (srv == null) { cntrError.add(1); return 1; } query = new packDns(); packHolder pck = new packHolder(true, true); packDnsRec rr = new packDnsRec(); packDnsRes rs = new packDnsRes(); rr.res.add(rs); rr.name = nam; rr.typ = typ; rr.ttl = 180; query.queries.add(rr); query.id = bits.randomW(); query.opcode = packDns.opcodeQuery; query.recDsrd = true; query.result = packDns.resultSuccess; for (int retry = 0; retry < 3; retry++) { pipeSide conn = curPrx.proxy.doConnect(servGeneric.protoUdp, srv, packDns.portNum, "dns"); if (conn == null) { continue; } query.createHeader(pck); pck.pipeSend(conn, 0, pck.dataSize(), 2); conn.setTime(10000); pck.clear(); if (debugger.clntDnsTraf) { logger.debug("tx " + srv + " " + query); } int i = pck.pipeRecv(conn, 0, 0, 143); conn.setClose(); if (i < 1) { continue; } if (reply.parseHeader(pck)) { continue; } if (query.id != reply.id) { continue; } if (!reply.response) { continue; } if (debugger.clntDnsTraf) { logger.debug("rx " + srv + " " + reply); } loPcache.addList(reply.answers); loPcache.addList(reply.addition); loPcache.addList(reply.servers); if (reply.result == packDns.resultName) { loNcache.addBin(rr); cntrError.add(1); return 2; } if (reply.result != packDns.resultSuccess) { cntrError.add(1); return 1; } if (findAnswer(typ) != null) { cntrError.add(1); return 0; } if (findAnswer(packDnsRec.typeCNAME) != null) { cntrError.add(1); return 3; } loNcache.addBin(rr); cntrStop.add(1); return 2; } cntrError.add(1); return 1; } /** * recursively resolve a query * * @param srv server to use * @param nam name to query * @param typ type of record * @return false on success, true on error */ public packDnsZone doRecursive(List srv, String nam, int typ) { List orig = srv; packDnsZone res = new packDnsZone("results"); String dom = ""; String odm = "!"; for (;;) { boolean fin = dom.equals(odm); odm = dom; String a; int i = nam.lastIndexOf("."); if (i < 1) { a = nam; nam = ""; } else { a = nam.substring(i + 1, nam.length()); nam = nam.substring(0, i); } if ((dom.length() > 0) && (a.length() > 0)) { a += "."; } dom = a + dom; int ned = fin ? typ : packDnsRec.typeNS; i = doResolvList(srv, dom, false, ned); packDnsRec rec = findAnswer(packDnsRec.typeCNAME); if (rec != null) { res.addBin(rec); } if (i == 3) { dom = ""; odm = "!"; nam = rec.res.get(bits.random(0, rec.res.size())).target; srv = orig; continue; } rec = findAnswer(ned); if ((i != 0) || (rec == null)) { if (fin) { return null; } if (nam.length() < 1) { continue; } return null; } res.addBin(rec); if (fin) { break; } if (doResolvAddr(cfgAll.nameServerAddr, rec.res.get(bits.random(0, rec.res.size())).target, curPrx.proxy.prefer)) { return null; } addrIP adr = getAddr(curPrx.proxy.prefer); if (adr == null) { return null; } srv = new ArrayList(); srv.add(adr); } return res; } /** * download one zone * * @param srv server to use * @param zon zone to update * @param forced true if download anyway * @return up to date zone, null on error */ public packDnsZone doZoneXfer(addrIP srv, packDnsZone zon, boolean forced) { query = new packDns(); reply = new packDns(); packDnsRec rrF = new packDnsRec(); packDnsRec rrL = new packDnsRec(); packHolder pck = new packHolder(true, true); packDnsRes rs = new packDnsRes(); rrF.res.add(rs); rrF.name = zon.name; rrF.typ = packDnsRec.typeAXFR; query.queries.add(rrF); query.id = bits.randomW(); query.opcode = packDns.opcodeQuery; query.recDsrd = true; query.result = packDns.resultSuccess; pipeSide conn = curPrx.proxy.doConnect(servGeneric.protoTcp, srv, packDns.portNum, "dns"); if (conn == null) { return null; } packSize blck = new packSize(conn, 2, true, 1, 0); query.createHeader(pck); blck.sendPacket(pck); conn.setTime(60000); if (debugger.clntDnsTraf) { logger.debug("tx " + query); } packDnsZone zon2 = new packDnsZone(zon.name); zon2.defttl = zon.defttl; zon2.axfr = zon.axfr; rrF = null; rrL = null; boolean end = false; for (;;) { reply = new packDns(); pck = blck.recvPacket(); if (pck == null) { conn.setClose(); return null; } if (reply.parseHeader(pck)) { conn.setClose(); return null; } if (debugger.clntDnsTraf) { logger.debug("rx " + reply); } for (int i = 0; i < reply.answers.size(); i++) { packDnsRec rrC = reply.answers.get(i); if (rrF == null) { rrF = rrC; continue; } rrL = rrC; zon2.addBin(rrC); end |= (rrC.typ == packDnsRec.typeSOA) && rrC.name.equals(zon.name); } if (end) { break; } } conn.setClose(); if ((rrF == null) || (rrL == null)) { return null; } if ((rrF.typ != packDnsRec.typeSOA) || (rrL.typ != packDnsRec.typeSOA)) { return null; } if (rrF.res.get(0).sequence != rrL.res.get(0).sequence) { return null; } packDnsRec rrO = zon.findUser(zon.name, packDnsRec.typeSOA); boolean dl = rrO == null; if (!dl) { dl = rrF.res.get(0).sequence != rrO.res.get(0).sequence; } dl |= forced; if (!dl) { return zon; } else { return zon2; } } /** * do one resolving work * * @param srv list of servers to use * @param nam name to query * @param dom try appending domain * @param typ type of query * @return 0 on success, 1 on error, 2 on notfound, 3 on redirect */ public int doResolvList(List srv, String nam, boolean dom, int typ) { if (srv == null) { return 1; } if (cfgAll.domainName == null) { dom = false; } for (int o = 0; o < srv.size(); o++) { int i = doResolvSingle(srv.get(o), nam, typ); switch (i) { case 0: return 0; case 1: continue; case 3: return 3; } if (!dom) { return 2; } i = doResolvSingle(srv.get(o), nam + "." + cfgAll.domainName, typ); switch (i) { case 0: return 0; case 1: continue; case 3: return 3; } return 2; } return 1; } /** * get primary preference * * @return preferred protocol */ public static int getPriPref() { if (cfgAll.preferIpv6) { return 6; } else { return 4; } } /** * get primary type * * @param prefer preferred protocol, 0 if default * @return dns record type */ public static int getTypPri(int prefer) { switch (prefer) { case 4: return packDnsRec.typeA; case 6: return packDnsRec.typeAAAA; default: if (cfgAll.preferIpv6) { return packDnsRec.typeAAAA; } else { return packDnsRec.typeA; } } } /** * get secondary type * * @param prefer preferred protocol, 0 if default * @return dns record type */ public static int getTypSec(int prefer) { if (getTypPri(prefer) == packDnsRec.typeA) { return packDnsRec.typeAAAA; } else { return packDnsRec.typeA; } } private boolean checkReply(int cod) { if (cod != 0) { return true; } if (reply == null) { return true; } return reply.answers.size() < 1; } /** * do one resolving work * * @param srv list of servers to use * @param nam name to query * @param prefer preferred ip protocol; 0=default, 4=ip4, 6=ip6 * @return false on success, true on error */ public boolean doResolvAddr(List srv, String nam, int prefer) { addrIP adr = new addrIP(); if (!adr.fromString(nam)) { packDnsRec rr = new packDnsRec(); packDnsRes rs = new packDnsRes(); rs.addr = adr; rr.res.add(rs); rr.typ = getTypPri(prefer); reply = new packDns(); reply.answers.add(rr); return false; } int i = doResolvList(srv, nam, true, getTypPri(prefer)); if (i == 1) { return true; } if (!checkReply(i)) { return false; } i = doResolvList(srv, nam, true, getTypSec(prefer)); return checkReply(i); } /** * get answers * * @param lst list to append * @return number of entries added */ public int getAnswers(List lst) { if (reply == null) { return 0; } lst.addAll(reply.answers); return reply.answers.size(); } /** * find one answer * * @param typ type of record to find * @return resource record, null if not found */ public packDnsRec findAnswer(int typ) { if (reply == null) { return null; } packDnsRec r = findAnswer(reply.answers, typ); if (r != null) { return r; } r = findAnswer(reply.servers, typ); if (r != null) { return r; } return findAnswer(reply.addition, typ); } private static packDnsRec findAnswer(List lst, int typ) { if (lst == null) { return null; } for (int i = 0; i < lst.size(); i++) { packDnsRec rr = lst.get(i); if (rr == null) { continue; } if (rr.typ != typ) { continue; } return rr; } return null; } /** * get ip address * * @param prefer preferred ip protocol; 0=default, 4=ip4, 6=ip6 * @return ip address, null if not found */ public addrIP getAddr(int prefer) { packDnsRec rr; rr = findAnswer(getTypPri(prefer)); if (rr == null) { rr = findAnswer(getTypSec(prefer)); } if (rr == null) { return null; } return rr.res.get(bits.random(0, rr.res.size())).addr; } /** * get name server * * @return name server, null if not found */ public String getNS() { packDnsRec rr = findAnswer(packDnsRec.typeNS); if (rr == null) { return null; } return rr.res.get(bits.random(0, rr.res.size())).target; } /** * get mail server * * @return mail server, null if not found */ public String getMX() { packDnsRec rr = findAnswer(packDnsRec.typeMX); if (rr == null) { return null; } return rr.res.get(bits.random(0, rr.res.size())).target; } /** * get text * * @return mail server, null if not found */ public String getTXT() { packDnsRec rr = findAnswer(packDnsRec.typeTXT); if (rr == null) { return null; } return rr.res.get(bits.random(0, rr.res.size())).target; } /** * get name of host * * @return name of host, null if not found */ public String getPTR() { packDnsRec rr = findAnswer(packDnsRec.typePTR); if (rr == null) { return null; } return rr.res.get(bits.random(0, rr.res.size())).target; } } freeRtr-25.11.9/src/org/freertr/clnt/clntEcho.java000066400000000000000000000041651510423065500217020ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.ip.ipFwdIface; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeSide; import org.freertr.prt.prtUdp; import org.freertr.serv.servEchoS; import org.freertr.tab.tabAverage; import org.freertr.util.bits; import org.freertr.util.logger; import org.freertr.util.notifier; /** * echo (rfc862) client * * @author matecsaba */ public class clntEcho implements Runnable { /** * create instance */ public clntEcho() { } /** * measurement */ public tabAverage meas; /** * notifier */ public notifier notif; /** * udp */ public prtUdp udp; /** * source */ public ipFwdIface src; /** * target */ public addrIP trg; /** * timeout */ public int timeout = 1000; /** * size */ public int size = 64; /** * ttl */ public int tim2liv = 255; /** * tos */ public int typOsrv = 0; /** * data pattern */ public int datPat = 0; /** * do work */ public void doWork() { new Thread(this).start(); } public void run() { try { pipeSide pip = udp.streamConnect(new pipeLine(65536, true), src, 0, trg, servEchoS.port, "echo", -1, null, tim2liv, typOsrv); if (pip == null) { return; } pip.wait4ready(timeout); pip.setTime(timeout); byte[] buf = new byte[size]; bits.byteFill(buf, 0, buf.length, datPat); long beg = bits.getTime(); pip.blockingPut(buf, 0, buf.length); int len = pip.blockingGet(buf, 0, buf.length); pip.setClose(); beg = bits.getTime() - beg; if (len != buf.length) { return; } if (meas != null) { meas.addValue((int) beg); } if (notif != null) { notif.wakeup(); } } catch (Exception e) { logger.traceback(e); } } } freeRtr-25.11.9/src/org/freertr/clnt/clntErspan.java000066400000000000000000000154031510423065500222510ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.addr.addrMac; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipFwdTab; import org.freertr.ip.ipPrt; import org.freertr.pack.packErspan; import org.freertr.pack.packHolder; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * encapsulated remote switch port analizer (erspan) client * * @author matecsaba */ public class clntErspan implements Runnable, ipPrt, ifcDn { /** * create instance */ public clntErspan() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * span id */ public int spnid; /** * vlan id */ public int vlnid; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * counter */ public counter cntr = new counter(); private ipFwd fwdCor; private addrIP fwdTrg; private ipFwdIface fwdIfc; private int seqTx; private boolean working = true; public String toString() { return "erspan to " + fwdTrg; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return addrMac.getRandom(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 10000000; } /** * send packet * * @param pckBin packet */ public void sendPack(packHolder pckBin) { pckBin.merge2beg(); if (fwdIfc == null) { return; } seqTx++; packErspan tx = new packErspan(); tx.seq = seqTx; tx.vlan = vlnid; tx.span = spnid; tx.createHeader(pckBin); cntr.tx(pckBin); pckBin.putDefaults(); if (sendingTTL >= 0) { pckBin.IPttl = sendingTTL; } if (sendingTOS >= 0) { pckBin.IPtos = sendingTOS; } if (sendingDFN >= 0) { pckBin.IPdf = sendingDFN == 1; } if (sendingFLW >= 0) { pckBin.IPid = sendingFLW; } pckBin.IPprt = packErspan.prot; pckBin.IPsrc.setAddr(fwdIfc.addr); pckBin.IPtrg.setAddr(fwdTrg); fwdCor.protoPack(fwdIfc, null, pckBin); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { fwdTrg = clntDns.justResolv(target, prefer); if (fwdTrg == null) { return; } fwdCor = vrf.getFwd(fwdTrg); fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(fwdTrg); } if (fwdIfc == null) { fwdIfc = ipFwdTab.findSendingIface(fwdCor, fwdTrg); } if (fwdIfc == null) { return; } fwdCor.protoAdd(this, fwdIfc, fwdTrg); for (;;) { if (!working) { break; } bits.sleep(1000); } } private void clearState() { if (fwdIfc != null) { fwdCor.protoDel(this, fwdIfc, fwdTrg); fwdIfc = null; } seqTx = 0; } /** * get protocol number * * @return number */ public int getProtoNum() { return packErspan.prot; } /** * close interface * * @param iface interface */ public void closeUp(ipFwdIface iface) { } /** * set state * * @param iface interface * @param stat state */ public void setState(ipFwdIface iface, state.states stat) { } /** * received packet * * @param rxIfc interface * @param pckBin packet */ public void recvPack(ipFwdIface rxIfc, packHolder pckBin) { packErspan pckRx = new packErspan(); if (pckRx.parseHeader(pckBin)) { cntr.drop(pckBin, counter.reasons.badHdr); return; } if (pckRx.span != spnid) { cntr.drop(pckBin, counter.reasons.badID); return; } cntr.rx(pckBin); upper.recvPack(pckBin); } /** * alert packet * * @param rxIfc interface * @param pck packet * @return false on success, true on error */ public boolean alertPack(ipFwdIface rxIfc, packHolder pck) { return true; } /** * error packet * * @param err error code * @param rtr address * @param rxIfc interface * @param pck packet */ public void errorPack(counter.reasons err, addrIP rtr, ipFwdIface rxIfc, packHolder pck) { } } freeRtr-25.11.9/src/org/freertr/clnt/clntEtherIp.java000066400000000000000000000165021510423065500223620ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.addr.addrMac; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipFwdTab; import org.freertr.ip.ipPrt; import org.freertr.pack.packHolder; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * etherip (rfc3378) client * * @author matecsaba */ public class clntEtherIp implements Runnable, ipPrt, ifcDn { /** * create instance */ public clntEtherIp() { } /** * protocol number */ public final static int prot = 97; /** * header size */ public final static int size = 2; /** * magic */ public final static int magic = 0x0300; /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * counter */ public counter cntr = new counter(); private ipFwd fwdCor; private addrIP fwdTrg; private ipFwdIface fwdIfc; private boolean working = true; public String toString() { return "etherip to " + fwdTrg; } /** * get remote address * * @return address */ public addrIP getRemAddr() { if (fwdIfc == null) { return null; } return fwdTrg.copyBytes(); } /** * get local address * * @return address */ public addrIP getLocAddr() { if (fwdIfc == null) { return null; } return fwdIfc.addr.copyBytes(); } /** * get forwarder * * @return forwarder used */ public ipFwd getFwder() { return fwdCor; } /** * sent endpoints * * @param fwd forwarder * @param ifc interface * @param adr address */ public void setEndpoints(ipFwd fwd, ipFwdIface ifc, addrIP adr) { fwdCor = fwd; fwdIfc = ifc; fwdTrg = adr.copyBytes(); } /** * get hw address * * @return address */ public addrType getHwAddr() { return addrMac.getRandom(); } /** * set filter mode * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 10000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { pck.merge2beg(); if (fwdIfc == null) { return; } pck.msbPutW(0, magic); // version pck.putSkip(size); pck.merge2beg(); cntr.tx(pck); pck.putDefaults(); if (sendingTTL >= 0) { pck.IPttl = sendingTTL; } if (sendingTOS >= 0) { pck.IPtos = sendingTOS; } if (sendingDFN >= 0) { pck.IPdf = sendingDFN == 1; } if (sendingFLW >= 0) { pck.IPid = sendingFLW; } pck.IPprt = prot; pck.IPsrc.setAddr(fwdIfc.addr); pck.IPtrg.setAddr(fwdTrg); fwdCor.protoPack(fwdIfc, null, pck); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { fwdTrg = clntDns.justResolv(target, prefer); if (fwdTrg == null) { return; } fwdCor = vrf.getFwd(fwdTrg); fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(fwdTrg); } if (fwdIfc == null) { fwdIfc = ipFwdTab.findSendingIface(fwdCor, fwdTrg); } if (fwdIfc == null) { return; } fwdCor.protoAdd(this, fwdIfc, fwdTrg); for (;;) { if (!working) { break; } bits.sleep(1000); } } private void clearState() { if (fwdIfc != null) { fwdCor.protoDel(this, fwdIfc, fwdTrg); fwdIfc = null; } } /** * get protocol number * * @return number */ public int getProtoNum() { return prot; } /** * close interface * * @param iface interface */ public void closeUp(ipFwdIface iface) { } /** * set state * * @param iface interface * @param stat state */ public void setState(ipFwdIface iface, state.states stat) { } /** * receive packet * * @param rxIfc interface * @param pck packet */ public void recvPack(ipFwdIface rxIfc, packHolder pck) { if (pck.msbGetW(0) != magic) { // version cntr.drop(pck, counter.reasons.badHdr); return; } pck.getSkip(size); cntr.rx(pck); upper.recvPack(pck); } /** * alert packet * * @param rxIfc interface * @param pck packet * @return false on success, true on error */ public boolean alertPack(ipFwdIface rxIfc, packHolder pck) { return true; } /** * error packet * * @param err error * @param rtr address * @param rxIfc interface * @param pck packet */ public void errorPack(counter.reasons err, addrIP rtr, ipFwdIface rxIfc, packHolder pck) { } } freeRtr-25.11.9/src/org/freertr/clnt/clntForti.java000066400000000000000000000141551510423065500221070ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgInit; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcPpp; import org.freertr.ifc.ifcUp; import org.freertr.pack.packForti; import org.freertr.pack.packHolder; import org.freertr.pipe.pipeSide; import org.freertr.user.userFormat; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.enc.encXml; import org.freertr.enc.encUrl; import org.freertr.util.logger; import org.freertr.util.state; /** * forti client * * @author matecsaba */ public class clntForti implements Runnable, ifcDn { /** * create instance */ public clntForti() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * target of tunnel */ public String target = null; /** * proxy profile */ public clntProxy proxy; /** * public key */ public byte[] pubkey; /** * username to use */ public String username = null; /** * password to use */ public String password = null; /** * config class */ public cfgIfc cfger; /** * counter */ public counter cntr = new counter(); private boolean working = true; private pipeSide pipe; private boolean good; private String cookie; private encUrl url; /** * get hw address * * @return address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter more * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper level * * @param server upper */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu */ public int getMTUsize() { return 1504; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { if (!good) { return; } if (pipe == null) { return; } cntr.tx(pck); pck.getSkip(2); pck.putDefaults(); if (debugger.clntFortiTraf) { logger.debug("tx " + pck.dump()); } packForti ps = new packForti(pipe); ps.sendPack(pck); } private void clearState() { good = false; if (pipe != null) { pipe.setClose(); } cookie = null; } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } private void workDoer() { url = encUrl.parseOne(target); clntHttp cln = new clntHttp(null, proxy, pubkey, debugger.clntFortiTraf); if (cln.doConnect(url)) { return; } url.addParam("username", username); url.addParam("credential", password); url.filPath = "remote/"; url.filName = "logincheck"; cln.sendLine("POST " + url.toURL(false, false, true, true) + " HTTP/1.1"); cln.sendLine("User-Agent: " + cfgInit.versionAgent); cln.sendLine("Host: " + url.server); cln.sendLine("Connection: keep-alive"); cln.sendLine("Content-Length: 0"); cln.sendLine("Content-Type: application/x-www-form-urlencoded"); cln.sendLine(""); cln.doHeaders(url); cln.doBody(); cln.cleanUp(); int i = encXml.findParam(cln.cookies, "|svpncookie|"); if (i < 0) { return; } cookie = cln.cookies.get(i).getNamVal(); cln = new clntHttp(null, proxy, pubkey, debugger.clntFortiTraf); if (cln.doConnect(url)) { return; } cln.sendLine("GET /remote/fortisslvpn_xml HTTP/1.1"); cln.sendLine("User-Agent: " + cfgInit.versionAgent); cln.sendLine("Host: " + url.server); cln.sendLine("Cookie: " + cookie); cln.sendLine(""); cln.doHeaders(url); cln.doBody(); cln.sendLine("GET /remote/sslvpn-tunnel HTTP/1.1"); cln.sendLine("Host: sslvpn"); cln.sendLine("Cookie: " + cookie); cln.sendLine(""); pipe = cln.pipe; packHolder pckB = new packHolder(true, true); packForti pckS = new packForti(pipe); good = true; for (;;) { if (pckS.recvPack(pckB)) { break; } if (debugger.clntFortiTraf) { logger.debug("rx " + pckB.dump()); } pckB.msbPutW(0, ifcPpp.preamble); pckB.putSkip(2); pckB.merge2beg(); upper.recvPack(pckB); } } /** * get show * * @return state */ public userFormat getShow() { userFormat res = new userFormat("|", "category|value"); res.add("upper|" + upper); res.add("cntr|" + cntr); res.add("cookie|" + cookie); return res; } } freeRtr-25.11.9/src/org/freertr/clnt/clntFtp.java000066400000000000000000000256221510423065500215560ustar00rootroot00000000000000package org.freertr.clnt; import java.io.File; import java.io.RandomAccessFile; import org.freertr.addr.addrIP; import org.freertr.addr.addrIPv4; import org.freertr.addr.addrIPv6; import org.freertr.cfg.cfgAll; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipFwdTab; import org.freertr.pack.packText; import org.freertr.pipe.pipeDiscard; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeProgress; import org.freertr.pipe.pipeSide; import org.freertr.prt.prtGenConn; import org.freertr.prt.prtServS; import org.freertr.serv.servFtp; import org.freertr.serv.servGeneric; import org.freertr.enc.encUrl; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.syncInt; /** * file transfer protocol (rfc959) client * * @author matecsaba */ public class clntFtp implements prtServS { /** * startup counter */ public final static syncInt cntrStart = new syncInt(0); /** * error counter */ public final static syncInt cntrError = new syncInt(0); /** * stop counter */ public final static syncInt cntrStop = new syncInt(0); private final int locprt = 12121; private pipeSide pipe; private clntProxy prx; private ipFwdIface ifc; private addrIP srvr; private pipeSide data; private pipeProgress cons; private RandomAccessFile fr; /** * create new client * * @param console console to use */ public clntFtp(pipeSide console) { cons = new pipeProgress(pipeDiscard.needAny(console)); } /** * clean up state */ public void cleanUp() { try { pipe.setClose(); } catch (Exception e) { } try { data.setClose(); } catch (Exception e) { } try { fr.close(); } catch (Exception e) { } } private void sendLine(String s) { if (debugger.clntFtpTraf) { logger.debug("tx:" + s); } cons.debugTx(s); pipe.linePut(s); } private String getLine() { packText pck = new packText(pipe); String s = pck.codedRecv(); if (s == null) { s = ""; } if (debugger.clntFtpTraf) { logger.debug("rx:" + s); } cons.debugRx(s); return s; } private void setAnonymFtp(encUrl src) { if (src.username.length() > 0) { return; } src.username = "anonymous"; src.password = "ftp@" + cfgAll.hostName; } private boolean begDatCon() { if (!cfgAll.ftpPassive) { ifc = null; if (prx.srcIfc != null) { ifc = prx.srcIfc.getFwdIfc(srvr); } if (ifc == null) { ifc = ipFwdTab.findSendingIface(prx.vrf.fwd4, srvr); } if (ifc == null) { return true; } if (srvr.isIPv4()) { prx.vrf.tcp4.streamListen(this, new pipeLine(65536, false), ifc, locprt, null, 0, "ftpc", -1, null, -1, -1); byte[] buf = new byte[6]; addrIPv4 adr4 = ifc.addr.toIPv4(); adr4.toBuffer(buf, 0); bits.msbPutW(buf, 4, locprt); String a = ""; for (int i = 0; i < buf.length; i++) { a += "," + (buf[i] & 0xff); } sendLine("PORT " + a.substring(1, a.length())); getLine(); return false; } else { prx.vrf.tcp6.streamListen(this, new pipeLine(65536, false), ifc, locprt, null, 0, "ftpc", -1, null, -1, -1); sendLine("EPRT |2|" + ifc.addr.toIPv6() + "|" + locprt); getLine(); return false; } } if (srvr.isIPv4()) { sendLine("PASV"); cmds cmd = new cmds("ftp", getLine()); cmd.word("("); cmd = new cmds("ftp", cmd.word(")")); byte[] buf = new byte[6]; for (int i = 0; i < buf.length; i++) { buf[i] = (byte) (bits.str2num(cmd.word(",")) & 0xff); } addrIPv4 adr4 = new addrIPv4(); adr4.fromBuf(buf, 0); int prt = bits.msbGetW(buf, 4); addrIP addr = new addrIP(); addr.fromIPv4addr(adr4); data = prx.doConnect(servGeneric.protoTcp, addr, prt, "ftp"); return data == null; } else { sendLine("EPSV"); cmds cmd = new cmds("ftp", getLine()); cmd.word("("); cmd = new cmds("ftp", cmd.word(")")); addrIPv6 adr6 = new addrIPv6(); cmd.word("|"); cmd.word("|"); if (adr6.fromString(cmd.word("|"))) { adr6 = srvr.toIPv6(); } int prt = bits.str2num(cmd.word("|")); addrIP addr = new addrIP(); addr.fromIPv6addr(adr6); data = prx.doConnect(servGeneric.protoTcp, srvr, prt, "ftp"); return data == null; } } private boolean endDatCon() { if (cfgAll.ftpPassive) { return false; } if (cfgAll.preferIpv6) { prx.vrf.tcp6.listenStop(ifc, locprt, null, 0); } else { prx.vrf.tcp4.listenStop(ifc, locprt, null, 0); } return data == null; } private boolean doRslvCnn(encUrl src) { prx = cfgAll.getClntPrx(cfgAll.ftpProxy); if (prx == null) { return true; } srvr = clntDns.justResolv(src.server, 0); if (srvr == null) { return true; } servFtp srv = new servFtp(); pipe = prx.doConnect(servGeneric.protoTcp, srvr, srv.srvPort(), "ftp"); if (pipe == null) { return true; } pipe.lineRx = pipeSide.modTyp.modeCRtryLF; pipe.lineTx = pipeSide.modTyp.modeCRLF; return false; } /** * download one file * * @param src source * @param trg target * @return result code */ public boolean download(encUrl src, File trg) { cntrStart.add(1); setAnonymFtp(src); if (doRslvCnn(src)) { cntrError.add(1); return true; } getLine(); sendLine("USER " + src.username); getLine(); sendLine("PASS " + src.password); getLine(); sendLine("TYPE I"); getLine(); sendLine("MODE S"); getLine(); sendLine("STRU F"); getLine(); sendLine("SIZE " + src.toPathName()); cmds cmd = new cmds("ftp", getLine()); cmd.word(); long len = bits.str2long(cmd.word()); cons.setMax(len); if (begDatCon()) { pipe.setClose(); cntrError.add(1); return true; } sendLine("RETR " + src.toPathName()); getLine(); if (endDatCon()) { pipe.setClose(); cntrError.add(1); return true; } try { trg.createNewFile(); } catch (Exception e) { cntrError.add(1); return true; } try { fr = new RandomAccessFile(trg, "rw"); } catch (Exception e) { cntrError.add(1); return true; } long pos = 0; try { fr.setLength(pos); } catch (Exception e) { cntrError.add(1); return true; } cons.debugStat("receiving " + cons.getMax() + " bytes"); for (;;) { final int max = 8192; byte[] buf = new byte[max]; int siz = data.moreGet(buf, 0, max); if (siz < 1) { break; } pos += siz; cons.setCurr(pos); try { fr.write(buf, 0, siz); } catch (Exception ex) { cntrError.add(1); return true; } } data.setClose(); getLine(); sendLine("QUIT"); getLine(); pipe.setClose(); cons.debugRes(pos + " bytes done"); if (pos < len) { cntrError.add(1); return true; } cntrStop.add(1); return false; } /** * upload one file * * @param trg source * @param src target * @return result code */ public boolean upload(encUrl trg, File src) { cntrStart.add(1); setAnonymFtp(trg); if (doRslvCnn(trg)) { cntrError.add(1); return true; } getLine(); sendLine("USER " + trg.username); getLine(); sendLine("PASS " + trg.password); getLine(); sendLine("TYPE I"); getLine(); sendLine("MODE S"); getLine(); sendLine("STRU F"); getLine(); if (begDatCon()) { pipe.setClose(); cntrError.add(1); return true; } sendLine("STOR " + trg.toPathName()); getLine(); if (endDatCon()) { pipe.setClose(); cntrError.add(1); return true; } long pos = 0; long siz = 0; try { fr = new RandomAccessFile(src, "r"); siz = fr.length(); } catch (Exception e) { cntrError.add(1); return true; } cons.setMax(siz); cons.debugStat("sending " + cons.getMax() + " bytes"); for (; pos < siz;) { final int max = 8192; long rndl = siz - pos; if (rndl > max) { rndl = max; } pos += rndl; int rndi = (int) rndl; byte[] buf = new byte[rndi]; try { fr.read(buf, 0, rndi); } catch (Exception e) { cntrError.add(1); return true; } if (data.morePut(buf, 0, rndi) < rndi) { cntrError.add(1); return true; } cons.setCurr(pos); } data.setClose(); getLine(); sendLine("QUIT"); getLine(); pipe.setClose(); cons.debugRes(pos + " bytes done"); cntrStop.add(1); return false; } /** * close interface * * @param ifc interface */ public void closedInterface(ipFwdIface ifc) { } /** * accept connection * * @param pipe pipeline * @param id connection * @return false on success, true on error */ public boolean streamAccept(pipeSide pipe, prtGenConn id) { if (data != null) { data.setClose(); } data = pipe; return false; } /** * get blocking mode * * @return mode */ public boolean streamForceBlock() { return true; } } freeRtr-25.11.9/src/org/freertr/clnt/clntGeneve.java000066400000000000000000000153731510423065500222400ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.addr.addrMac; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwdIface; import org.freertr.pack.packGeneve; import org.freertr.pack.packHolder; import org.freertr.prt.prtGenConn; import org.freertr.prt.prtServP; import org.freertr.prt.prtUdp; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * generic network virtualization encapsulation (rfc8926) client * * @author matecsaba */ public class clntGeneve implements Runnable, prtServP, ifcDn { /** * create instance */ public clntGeneve() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * instance id */ public int vni; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * counter */ public counter cntr = new counter(); private prtGenConn conn; private boolean working = true; public String toString() { return "geneve to " + target; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return addrMac.getRandom(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flapped interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 4000000; } /** * send packet * * @param pckBin packet */ public void sendPack(packHolder pckBin) { pckBin.merge2beg(); if (conn == null) { return; } cntr.tx(pckBin); packGeneve pckGnv = new packGeneve(); pckGnv.vni = vni; pckGnv.createHeader(pckBin); pckBin.merge2beg(); pckBin.putDefaults(); conn.send2net(pckBin); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { addrIP trg = clntDns.justResolv(target, prefer); if (trg == null) { return; } prtUdp udp = vrf.getUdp(trg); ipFwdIface fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(trg); } conn = udp.packetConnect(this, fwdIfc, packGeneve.port, trg, packGeneve.port, "geneve", -1, null, -1, -1); if (conn == null) { return; } conn.timeout = 120000; conn.sendTOS = sendingTOS; conn.sendDFN = sendingDFN; conn.sendFLW = sendingFLW; conn.sendTTL = sendingTTL; for (;;) { bits.sleep(1000); if (!working) { return; } if (conn.txBytesFree() < 0) { return; } } } private void clearState() { if (conn != null) { conn.setClosing(); } } /** * close interface * * @param ifc interface */ public void closedInterface(ipFwdIface ifc) { } /** * accept connection * * @param id connection * @return false on success, true on error */ public boolean datagramAccept(prtGenConn id) { return true; } /** * connection ready * * @param id connection */ public void datagramReady(prtGenConn id) { } /** * close connection * * @param id connection */ public void datagramClosed(prtGenConn id) { } /** * work connection * * @param id connection */ public void datagramWork(prtGenConn id) { } /** * received error * * @param id connection * @param pck packet * @param rtr reporting router * @param err error happened * @param lab error label * @return false on success, true on error */ public boolean datagramError(prtGenConn id, packHolder pck, addrIP rtr, counter.reasons err, int lab) { return false; } /** * notified that state changed * * @param id id number to reference connection * @param stat state * @return return false if successful, true if error happened */ public boolean datagramState(prtGenConn id, state.states stat) { return false; } /** * receive packet * * @param id connection * @param pckBin packet * @return false on success, true on error */ public boolean datagramRecv(prtGenConn id, packHolder pckBin) { cntr.rx(pckBin); packGeneve pckGnv = new packGeneve(); if (pckGnv.parseHeader(pckBin)) { return false; } if (pckGnv.vni != vni) { return false; } upper.recvPack(pckBin); return false; } } freeRtr-25.11.9/src/org/freertr/clnt/clntGrePpp.java000066400000000000000000000130031510423065500222100ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipFwdTab; import org.freertr.pack.packHolder; import org.freertr.pack.packPptp; import org.freertr.prt.prtGre; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; import org.freertr.util.state.states; /** * ppp over gre * * @author matecsaba */ public class clntGrePpp implements ifcDn, ifcUp, Runnable { /** * create instance */ public clntGrePpp() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * vc id */ public int vcid; /** * counter */ public counter cntr = new counter(); private boolean working = true; private ipFwd fwdCor; private addrIP fwdTrg; private ipFwdIface fwdIfc; private prtGre gre; public String toString() { return "greppp " + fwdTrg; } /** * get hw address * * @return address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flapped interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1500; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { cntr.tx(pck); if (gre == null) { return; } pck.msbPutW(0, packPptp.ethtyp); pck.putSkip(2); pck.merge2beg(); pck.putDefaults(); gre.sendPack(pck); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { fwdTrg = clntDns.justResolv(target, prefer); if (fwdTrg == null) { return; } fwdCor = vrf.getFwd(fwdTrg); fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(fwdTrg); } if (fwdIfc == null) { fwdIfc = ipFwdTab.findSendingIface(fwdCor, fwdTrg); } if (fwdIfc == null) { return; } gre = new prtGre(fwdCor); gre.tunnelKyT = vcid; gre.tunnelKyR = vcid; gre.setEndpoints(fwdIfc, fwdTrg, true); gre.sendingTOS = sendingTOS; gre.sendingDFN = sendingDFN; gre.sendingFLW = sendingFLW; gre.sendingTTL = sendingTTL; gre.setUpper(this); for (;;) { bits.sleep(1000); if (!working) { break; } } } private void clearState() { if (gre == null) { return; } gre.closeDn(); gre = null; } /** * receive packet * * @param pck packet */ public void recvPack(packHolder pck) { cntr.rx(pck); if (pck.msbGetW(0) != packPptp.ethtyp) { return; } pck.getSkip(2); upper.recvPack(pck); } /** * set upper layer * * @param parent upper layer */ public void setParent(ifcDn parent) { } /** * set state * * @param stat state */ public void setState(states stat) { } /** * close interface */ public void closeUp() { } } freeRtr-25.11.9/src/org/freertr/clnt/clntGreTap.java000066400000000000000000000127641510423065500222120ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.addr.addrMac; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcBridge; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipFwdTab; import org.freertr.pack.packHolder; import org.freertr.prt.prtGre; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * ethernet over gre * * @author matecsaba */ public class clntGreTap implements ifcDn, ifcUp, Runnable { /** * create instance */ public clntGreTap() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * vc id */ public int vcid; /** * counter */ public counter cntr = new counter(); private boolean working = true; private ipFwd fwdCor; private addrIP fwdTrg; private ipFwdIface fwdIfc; private prtGre gre; public String toString() { return "gretap " + fwdTrg; } /** * get hw address * * @return address */ public addrType getHwAddr() { return addrMac.getRandom(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flapped interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1500; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { cntr.tx(pck); if (gre == null) { return; } pck.msbPutW(0, ifcBridge.serialType); pck.putSkip(2); pck.merge2beg(); pck.putDefaults(); gre.sendPack(pck); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { fwdTrg = clntDns.justResolv(target, prefer); if (fwdTrg == null) { return; } fwdCor = vrf.getFwd(fwdTrg); fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(fwdTrg); } if (fwdIfc == null) { fwdIfc = ipFwdTab.findSendingIface(fwdCor, fwdTrg); } if (fwdIfc == null) { return; } gre = new prtGre(fwdCor); gre.tunnelKyT = vcid; gre.tunnelKyR = vcid; gre.setEndpoints(fwdIfc, fwdTrg, true); gre.sendingTOS = sendingTOS; gre.sendingDFN = sendingDFN; gre.sendingFLW = sendingFLW; gre.sendingTTL = sendingTTL; gre.setUpper(this); for (;;) { bits.sleep(1000); if (!working) { break; } } } private void clearState() { if (gre == null) { return; } gre.closeDn(); gre = null; } /** * receive packet * * @param pck packet */ public void recvPack(packHolder pck) { cntr.rx(pck); if (pck.msbGetW(0) != ifcBridge.serialType) { return; } pck.getSkip(2); upper.recvPack(pck); } /** * set upper layer * * @param parent upper layer */ public void setParent(ifcDn parent) { } /** * set state * * @param stat state */ public void setState(state.states stat) { } /** * close interface */ public void closeUp() { } } freeRtr-25.11.9/src/org/freertr/clnt/clntGtp.java000066400000000000000000000351461510423065500215610ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcEther; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcPpp; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.pack.packGtp; import org.freertr.pack.packHolder; import org.freertr.prt.prtGenConn; import org.freertr.prt.prtServP; import org.freertr.prt.prtUdp; import org.freertr.user.userFormat; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.state; /** * gprs tunneling protocol (3gpp29060) client * * @author matecsaba */ public class clntGtp implements Runnable, prtServP, ifcDn { /** * create instance */ public clntGtp() { } /** * config class */ public cfgIfc cfger; /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * apn name */ public String apn = null; /** * client isdn */ public String isdn = null; /** * client imei */ public String imsi = null; /** * client imei */ public String imei; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * counter */ public counter cntr = new counter(); private boolean working = true; private prtGenConn connC; private prtGenConn connD; /** * local tunnel id */ public int teidLoc; /** * data tunnel id */ public int teidDat; /** * control tunnel id */ public int teidCtr; private ipFwd fwdr; private int seqCtr; private int seqDat; private packGtp lastCtrl; public String toString() { return "gtp to " + target; } /** * get remote address * * @return address */ public addrIP getRemAddr() { if (teidDat == 0) { return null; } return connD.peerAddr.copyBytes(); } /** * get local address * * @return address */ public addrIP getLocAddr() { if (teidDat == 0) { return null; } return connD.iface.addr.copyBytes(); } /** * get remote port * * @return address */ public int getRemPort() { if (teidDat == 0) { return 0; } return connD.portRem; } /** * get local port * * @return address */ public int getLocPort() { if (teidDat == 0) { return 0; } return connD.portLoc; } /** * get remote tunn id * * @return session id, 0 if no tunnel */ public int getTunnRem() { return teidDat; } /** * get local address * * @return peer address, null if no session */ public ipFwd getFwd() { return fwdr; } /** * set connection * * @param id connection * @param ip forwarder * @param tr tunnel id * @param tl tunnel id */ public void setConnection(prtGenConn id, ipFwd ip, int tr, int tl) { connD = id; fwdr = ip; teidDat = tr; teidLoc = tl; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 4000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { if (teidDat == 0) { return; } cntr.tx(pck); pck.getSkip(2); packGtp gtp = new packGtp(); gtp.flags = packGtp.flgNothing; gtp.msgTyp = packGtp.typGPDU; gtp.tunId = teidDat; gtp.seqNum = seqDat++; gtp.createHeader(pck); pck.putDefaults(); connD.send2net(pck); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { addrIP trg = clntDns.justResolv(target, prefer); if (trg == null) { return; } prtUdp udp = vrf.getUdp(trg); ipFwdIface fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(trg); } connC = udp.packetConnect(this, fwdIfc, packGtp.portCtrl, trg, packGtp.portCtrl, "gtpC", -1, null, -1, -1); if (connC == null) { return; } connC.timeout = 120000; connD = udp.packetConnect(this, fwdIfc, packGtp.portData, trg, packGtp.portData, "gtpD", -1, null, -1, -1); if (connD == null) { connC.setClosing(); return; } connD.timeout = 120000; connD.sendFLW = sendingFLW; connD.sendTOS = sendingTOS; connD.sendDFN = sendingDFN; connD.sendTTL = sendingTTL; packGtp gtp = new packGtp(); gtp.seqNum = seqCtr++; gtp.msgTyp = packGtp.typEchoReq; connC.send2net(gtp.createPacket()); if (debugger.clntGtpTraf) { logger.debug("tx " + gtp.dump()); } for (int i = 0;; i++) { bits.sleep(1000); if (!working) { return; } if (lastCtrl.msgTyp == packGtp.typEchoRep) { break; } if (i > 8) { return; } } gtp = new packGtp(); gtp.seqNum = seqCtr++; gtp.msgTyp = packGtp.typCreateReq; gtp.valGSNaddr = connC.iface.addr.copyBytes(); // gsn address gtp.valIMSI = imsi; // imsi gtp.valRecovery = 1; // first retry gtp.valSelectMode = 1; // apn provided, not verified gtp.valTeid1 = teidLoc; // tunnel endpoint id gtp.valTeidCp = teidLoc; // tunnel endpoint id gtp.valNSAPI = 0; // nsapi gtp.valChargChar = 0x800; // normal charging gtp.fillEndUserAddr(cfger, false); gtp.valAccessPointName = apn; // apn name gtp.valIMEI = imei; // imei gtp.valMSISDN = "19" + isdn; // msisdn gtp.valQOSpro = 0xb921f; // best effort connC.send2net(gtp.createPacket()); if (debugger.clntGtpTraf) { logger.debug("tx " + gtp.dump()); } for (int i = 0;; i++) { bits.sleep(1000); if (!working) { return; } if (lastCtrl.msgTyp == packGtp.typCreateRep) { break; } if (i > 8) { return; } } if (lastCtrl.valCause != 0x80) { return; } teidCtr = lastCtrl.valTeidCp; teidDat = lastCtrl.valTeid1; if (cfger.ppp == null) { if (lastCtrl.valEndUserAddr4 != null) { cfger.addr4changed(lastCtrl.valEndUserAddr4, cfger.mask4, null); } if (lastCtrl.valEndUserAddr6 != null) { cfger.addr6changed(lastCtrl.valEndUserAddr6, cfger.mask6, null); } } for (int i = 0;;) { bits.sleep(1000); if (!working) { return; } if (connC.txBytesFree() < 0) { return; } if (connD.txBytesFree() < 0) { return; } i++; if (i < 30) { continue; } i = 0; gtp = new packGtp(); gtp.seqNum = seqCtr++; gtp.msgTyp = packGtp.typEchoReq; connC.send2net(gtp.createPacket()); if (debugger.clntGtpTraf) { logger.debug("tx " + gtp.dump()); } } } private void sendStop() { if (teidCtr == 0) { return; } packGtp gtp = new packGtp(); gtp.seqNum = seqCtr++; gtp.tunId = teidCtr; gtp.msgTyp = packGtp.typDeleteReq; gtp.valNSAPI = 0; gtp.valTeardown = 0xff; connC.send2net(gtp.createPacket()); if (debugger.clntGtpTraf) { logger.debug("tx " + gtp.dump()); } } private void clearState() { if (connC != null) { sendStop(); connC.setClosing(); } if (connD != null) { connD.setClosing(); } teidLoc = bits.randomW(); teidCtr = 0; teidDat = 0; seqCtr = 1; seqDat = 1; lastCtrl = new packGtp(); } /** * close interface * * @param ifc interface */ public void closedInterface(ipFwdIface ifc) { } /** * accept connection * * @param id connection * @return false on success, true on error */ public boolean datagramAccept(prtGenConn id) { return true; } /** * connection ready * * @param id connection */ public void datagramReady(prtGenConn id) { } /** * close connection * * @param id connection */ public void datagramClosed(prtGenConn id) { } /** * work connection * * @param id connection */ public void datagramWork(prtGenConn id) { } /** * received error * * @param id connection * @param pck packet * @param rtr reporting router * @param err error happened * @param lab error label * @return false on success, true on error */ public boolean datagramError(prtGenConn id, packHolder pck, addrIP rtr, counter.reasons err, int lab) { return false; } /** * notified that state changed * * @param id id number to reference connection * @param stat state * @return return false if successful, true if error happened */ public boolean datagramState(prtGenConn id, state.states stat) { return false; } /** * receive packet * * @param id connection * @param pck packet * @return false on success, true on error */ public boolean datagramRecv(prtGenConn id, packHolder pck) { cntr.rx(pck); if (connD != null) { if (id.compareTo(connD) == 0) { packGtp gtp = new packGtp(); if (gtp.parseHeader(pck)) { return false; } if (gtp.tunId != teidLoc) { cntr.drop(pck, counter.reasons.badID); return false; } if (cfger.ppp != null) { pck.msbPutW(0, ifcPpp.preamble); pck.putSkip(2); pck.merge2beg(); } else { int typ = ifcEther.guessEtherType(pck); if (typ < 0) { logger.info("got bad protocol from " + target); cntr.drop(pck, counter.reasons.badProto); return false; } pck.msbPutW(0, typ); // ethertype pck.putSkip(2); pck.merge2beg(); } upper.recvPack(pck); return false; } } if (connC != null) { if (id.compareTo(connC) == 0) { packGtp gtp = new packGtp(); if (gtp.parseHeader(pck)) { return false; } for (;;) { if (gtp.parseExtHdr(pck)) { break; } } gtp.parsePacket(pck); if (debugger.clntGtpTraf) { logger.debug("rx " + gtp.dump()); } if (gtp.msgTyp == packGtp.typEchoReq) { gtp.msgTyp = packGtp.typEchoRep; connC.send2net(gtp.createPacket()); if (debugger.clntGtpTraf) { logger.debug("tx " + gtp.dump()); } return false; } lastCtrl = gtp; return false; } } id.setClosing(); return true; } /** * get show * * @return state */ public userFormat getShow() { userFormat res = new userFormat("|", "category|value"); res.add("ctrl|" + connC); res.add("data|" + connD); res.add("upper|" + upper); res.add("cntr|" + cntr); res.add("loc|" + teidLoc); res.add("ctr|" + teidCtr); res.add("dat|" + teidDat); return res; } } freeRtr-25.11.9/src/org/freertr/clnt/clntHttp.java000066400000000000000000000454351510423065500217500ustar00rootroot00000000000000package org.freertr.clnt; import java.io.File; import java.io.RandomAccessFile; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgInit; import org.freertr.enc.encBase64; import org.freertr.cry.cryHashGeneric; import org.freertr.cry.cryHashMd5; import org.freertr.cry.cryHashSha1; import org.freertr.pipe.pipeDiscard; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeProgress; import org.freertr.pipe.pipeSetting; import org.freertr.pipe.pipeSide; import org.freertr.sec.secClient; import org.freertr.sec.secHttp2; import org.freertr.serv.servGeneric; import org.freertr.util.bits; import org.freertr.util.debugger; import org.freertr.enc.encXmlEntry; import org.freertr.enc.encUrl; import org.freertr.util.logger; import org.freertr.util.syncInt; /** * hypertext transfer protocol (rfc2616) client * * @author matecsaba */ public class clntHttp { /** * startup counter */ public final static syncInt cntrStart = new syncInt(0); /** * error counter */ public final static syncInt cntrError = new syncInt(0); /** * stop counter */ public final static syncInt cntrStop = new syncInt(0); /** * pipeline in use */ public pipeSide pipe; /** * proxy profile */ public clntProxy proxy; /** * client pubkey */ public byte[] pubkey; private pipeProgress cons; private RandomAccessFile fr; private boolean debug; /** * content length */ public long cntLen; /** * chunked */ public boolean chnkd; /** * keepalive */ public boolean kepAliv; /** * cookies */ public List cookies; /** * cookies */ public List headers; /** * get user agent string * * @return user agent */ public static String getAgentLine() { if (cfgAll.httpAgent != null) { return cfgAll.httpAgent; } else { return cfgInit.versionAgent + " (" + cfgInit.getKernelName() + ", " + cfgInit.getVMname() + ", " + cfgInit.getHWfwd1liner() + ")"; } } /** * get basic authorization line * * @param usr username * @param pwd password * @return authorization header, null if not needed */ public static String getAuthor(String usr, String pwd) { if (usr == null) { return null; } if (pwd == null) { return null; } if ((usr.length() + pwd.length()) < 1) { return null; } String s = encBase64.encodeString(usr + ":" + pwd); return "Authorization: Basic " + s; } /** * get digest authorization line * * @param req request * @param met method * @param url url * @param usr username * @param pwd password * @return authorization header, null if not needed */ public static String getAuthor(String req, String met, String url, String usr, String pwd) { if (usr == null) { return null; } if (pwd == null) { return null; } if ((usr.length() + pwd.length()) < 1) { return null; } String realm = null; String nonce = null; String opaque = null; String algo = "MD5"; String qop = null; for (;;) { if (req.length() < 1) { break; } int i = req.indexOf("="); if (i < 0) { break; } String a = req.substring(0, i).trim(); req = req.substring(i + 1, req.length()).trim(); String s; if (req.startsWith("\"")) { req = req.substring(1, req.length()); i = req.indexOf("\""); s = req.substring(0, i); req = req.substring(i + 1, req.length()).trim(); if (req.startsWith(",")) { req = req.substring(1, req.length()).trim(); } } else { i = req.indexOf(","); if (i < 0) { s = req; req = ""; } else { s = req.substring(0, i); req = req.substring(i + 1, req.length()).trim(); } } a = a.trim().toLowerCase(); if (a.equals("realm")) { realm = s; continue; } if (a.equals("nonce")) { nonce = s; continue; } if (a.equals("opaque")) { opaque = s; continue; } if (a.equals("algorithm")) { algo = s; continue; } if (a.equals("qop")) { qop = s; continue; } } if (realm == null) { return null; } if (nonce == null) { return null; } algo = algo.trim().toLowerCase(); cryHashGeneric h = null; if (algo.startsWith("md5")) { h = new cryHashMd5(); } if (algo.startsWith("sha1")) { h = new cryHashSha1(); } if (h == null) { return null; } String cnonce = "" + bits.randomD(); String nc = "00000001"; h.init(); h.update(usr.getBytes()); h.update(":".getBytes()); h.update(realm.getBytes()); h.update(":".getBytes()); h.update(pwd.getBytes()); if (algo.endsWith("-sess")) { h.update(":".getBytes()); h.update(nonce.getBytes()); h.update(":".getBytes()); h.update(cnonce.getBytes()); } byte[] a1 = h.finish(); h.init(); h.update(met.getBytes()); h.update(":".getBytes()); h.update(url.getBytes()); byte[] a2 = h.finish(); h.init(); h.update(bits.toHex(a1).getBytes()); h.update(":".getBytes()); h.update(nonce.getBytes()); h.update(":".getBytes()); if (qop != null) { h.update(nc.getBytes()); h.update(":".getBytes()); h.update(cnonce.getBytes()); h.update(":".getBytes()); h.update(qop.getBytes()); h.update(":".getBytes()); } h.update(bits.toHex(a2).getBytes()); String s = bits.toHex(h.finish()); s = "Authorization: Digest username=\"" + usr + "\",realm=\"" + realm + "\",nonce=\"" + nonce + "\",uri=\"" + url + "\",algorithm=" + h.getName() + ",response=\"" + s + "\""; if (opaque != null) { s += ",opaque=\"" + opaque + "\""; } if (qop == null) { return s; } return s + ",qop=" + qop + ",nc=" + nc + ",cnonce=\"" + cnonce + "\""; } /** * create new client * * @param console console to use * @param vrfPrx proxy * @param pubKey pubkey to use * @param debugging debug enabled */ public clntHttp(pipeSide console, clntProxy vrfPrx, byte[] pubKey, boolean debugging) { proxy = vrfPrx; pubkey = pubKey; cons = new pipeProgress(pipeDiscard.needAny(console)); debug = debugger.clntHttpTraf | debugging; } /** * clean up state */ public void cleanUp() { try { pipe.setClose(); } catch (Exception e) { } try { fr.close(); } catch (Exception e) { } } private void doDebug(String s) { if (!debug) { return; } logger.debug(s); if (cons == null) { return; } cons.debugStat(s); } /** * send line * * @param s line */ public void sendLine(String s) { doDebug("tx:" + s); cons.debugTx(s); pipe.linePut(s); } private void sendAuth(encUrl url) { String s = getAuthor(url.username, url.password); if (s == null) { return; } sendLine(s); } private String getLine() { String s = pipe.lineGet(1); if (s == null) { s = ""; } doDebug("rx:" + s); cons.debugRx(s); return s; } /** * create new connection * * @param url url to connect * @return false on success, true on error */ public boolean doConnect(encUrl url) { if (pipe != null) { pipe.setClose(); } if (proxy == null) { return true; } doDebug("resolving " + url.toURL(true, false, false, true)); addrIP trg = clntDns.justResolv(url.server, proxy.prefer); if (trg == null) { return true; } doDebug("connecting " + trg + " " + url.getPort(0)); pipe = proxy.doConnect(servGeneric.protoTcp, trg, url.getPort(0), "http"); if (pipe == null) { return true; } pipe.settingsAdd(pipeSetting.origin, url.server); doDebug("securing " + url.toURL(true, false, false, true)); pipe = secClient.openSec(pipe, url.getSecurity(), pubkey, url.username, url.password); if (pipe == null) { return true; } pipe.lineRx = pipeSide.modTyp.modeCRtryLF; pipe.lineTx = pipeSide.modTyp.modeCRLF; if (!url.proto.equals("http2")) { return false; } url.proto = "http"; secHttp2 ht2 = new secHttp2(pipe, new pipeLine(65536, false)); if (ht2.startClient()) { return true; } pipe = ht2.getPipe(); pipe.lineRx = pipeSide.modTyp.modeCRtryLF; pipe.lineTx = pipeSide.modTyp.modeCRLF; return false; } /** * receive headers * * @param src url to connect * @return false on proceed, true on location */ public boolean doHeaders(encUrl src) { cntLen = -1; chnkd = false; kepAliv = false; cookies = new ArrayList(); headers = new ArrayList(); String loc = null; String res = getLine(); int i = res.indexOf(" "); if (i >= 0) { res = res.substring(i, res.length()).trim(); } i = res.indexOf(" "); if (i >= 0) { res = res.substring(0, i).trim(); } for (;;) { String s = getLine(); if (s.length() < 1) { break; } s = s.trim(); String a = ""; i = s.indexOf(":"); if (i > 0) { a = s.substring(0, i).trim().toLowerCase(); s = s.substring(i + 1, s.length()).trim(); } if (a.equals("location")) { loc = s; continue; } if (a.equals("connection")) { kepAliv = s.equals("keep-alive"); continue; } if (a.equals("content-length")) { cntLen = bits.str2long(s); cons.setMax(cntLen); continue; } if (a.equals("transfer-encoding")) { chnkd = s.equals("chunked"); continue; } if (a.equals("set-cookie")) { i = s.indexOf(";"); if (i < 0) { continue; } String p = s.substring(i + 1, s.length()).trim(); s = s.substring(0, i).trim(); i = s.indexOf("="); if (i < 0) { continue; } a = s.substring(0, i).trim(); s = s.substring(i + 1, s.length()).trim(); cookies.add(new encXmlEntry(null, a, p, s)); } headers.add(new encXmlEntry(null, a, null, s)); } if (loc == null) { return false; } if (loc.startsWith("/")) { src.fromPathname(loc); } else { src.fromString(loc); } return true; } private static void bytes2array(List res, byte[] buf, int siz) { for (int i = 0; i < siz; i++) { res.add(buf[i]); } } /** * receive body * * @return bytes read, null on error */ public List doBody() { List res = new ArrayList(); if (chnkd) { for (;;) { byte[] buf = getChunk(); if (buf == null) { break; } if (buf.length < 1) { break; } bytes2array(res, buf, buf.length); } return res; } if (cntLen >= 0) { byte[] buf = new byte[(int) cntLen]; if (pipe.moreGet(buf, 0, buf.length) != buf.length) { return null; } bytes2array(res, buf, buf.length); return res; } for (;;) { final int max = 8192; byte[] buf = new byte[max]; int siz = pipe.moreGet(buf, 0, max); if (siz < 1) { break; } bytes2array(res, buf, siz); } return res; } private byte[] getChunk() { String s = "0"; for (;;) { if (pipe.ready2rx() < 1) { if (pipe.isClosed() != 0) { break; } } s = getLine(); break; } int i = bits.fromHex(s); if (i < 1) { return new byte[0]; } byte[] buf = new byte[i]; if (pipe.moreGet(buf, 0, buf.length) != buf.length) { return null; } return buf; } private boolean doDown(encUrl src, long pos) { try { fr.seek(pos); } catch (Exception e) { return true; } if (doConnect(src)) { return true; } sendLine("GET " + src.toURL(false, false, true, true) + " HTTP/1.1"); sendLine("User-Agent: " + getAgentLine()); sendLine("Host: " + src.server); sendLine("Accept: */*"); sendLine("Accept-Language: en,*"); sendLine("Accept-Charset: iso-8859-1, *"); sendLine("Accept-Encoding: identity"); if (pos > 0) { sendLine("Range: bytes=" + pos + "-"); } sendLine("Connection: Close"); sendAuth(src); sendLine(""); if (doHeaders(src)) { return true; } pos = 0; cons.debugStat("receiving " + cons.getMax() + " bytes"); if (chnkd) { for (;;) { byte[] buf = getChunk(); if (buf == null) { return true; } if (buf.length < 1) { break; } pos += buf.length; cons.setCurr(pos); try { fr.write(buf, 0, buf.length); } catch (Exception ex) { return true; } } } else { for (;;) { final int max = 8192; byte[] buf = new byte[max]; int siz = pipe.moreGet(buf, 0, max); if (siz < 1) { break; } pos += siz; cons.setCurr(pos); try { fr.write(buf, 0, siz); } catch (Exception ex) { return true; } } } cons.debugRes(pos + " bytes done"); if (cntLen < 0) { return false; } return pos < cntLen; } /** * download one file * * @param src source * @param trg target * @return result code */ public boolean download(encUrl src, File trg) { cntrStart.add(1); try { trg.createNewFile(); fr = new RandomAccessFile(trg, "rw"); fr.setLength(0); } catch (Exception e) { cntrError.add(1); return true; } int ret = 0; long pos = 0; long ops = -1; for (;;) { ret++; if (ret > 5) { cntrError.add(1); return true; } try { pos = fr.length(); } catch (Exception e) { cntrError.add(1); return true; } if (pos != ops) { ret = 0; } ops = pos; if (!doDown(src, pos)) { cntrStop.add(1); return false; } } } /** * upload one file * * @param trg source * @param src target * @return result code */ public boolean upload(encUrl trg, File src) { cntrStart.add(1); if (doConnect(trg)) { cntrError.add(1); return true; } long pos = 0; long siz = 0; try { fr = new RandomAccessFile(src, "r"); siz = fr.length(); } catch (Exception e) { cntrError.add(1); return true; } sendLine("PUT " + trg.toURL(false, false, true, true) + " HTTP/1.1"); sendLine("User-Agent: " + getAgentLine()); sendLine("Host: " + trg.server); sendLine("Accept: */*"); sendLine("Accept-Language: en,*"); sendLine("Accept-Charset: iso-8859-1, *"); sendLine("Accept-Encoding: identity"); sendLine("Connection: Close"); sendLine("Content-Length: " + siz); sendLine("Content-Type: application/octet-stream"); sendAuth(trg); sendLine(""); cons.setMax(siz); cons.debugStat("sending " + cons.getMax() + " bytes"); for (; pos < siz;) { final int max = 8192; long rndl = siz - pos; if (rndl > max) { rndl = max; } pos += rndl; int rndi = (int) rndl; byte[] buf = new byte[rndi]; try { fr.read(buf, 0, rndi); } catch (Exception e) { cntrError.add(1); return true; } if (pipe.morePut(buf, 0, rndi) < rndi) { cntrError.add(1); return true; } cons.setCurr(pos); } for (;;) { String s = getLine(); if (s.length() < 1) { break; } } pipe.setClose(); cons.debugRes(pos + " bytes done"); cntrStop.add(1); return false; } } freeRtr-25.11.9/src/org/freertr/clnt/clntIrc.java000066400000000000000000000116431510423065500215400ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.cfg.cfgAll; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeSetting; import org.freertr.pipe.pipeSide; import org.freertr.serv.servGeneric; import org.freertr.serv.servIrc; import org.freertr.user.userExec; import org.freertr.user.userRead; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.logger; /** * internet relay chat (rfc2812) client * * @author matecsaba */ public class clntIrc implements Runnable { private String hostName; private String chanName; private pipeSide pipe; private boolean running; /** * create logger * * @param hst host where to log * @param chan name of channel */ public clntIrc(String hst, String chan) { hostName = hst; chanName = chan; running = hostName != null; } public String toString() { if (hostName == null) { return ""; } return hostName + " " + chanName; } /** * stop logging */ public void logStop() { running = false; if (pipe != null) { pipe.setClose(); } pipe = null; } /** * start logging */ public void logStart() { if (!running) { return; } new Thread(this).start(); } /** * log one message * * @param s message to log */ public void logMsg(String s) { if (pipe == null) { return; } byte[] buf = str2lin("PRIVMSG " + chanName + " :" + s); if (pipe == null) { return; } pipe.nonBlockPut(buf, 0, buf.length); } public void run() { for (;;) { if (!running) { break; } try { workDoer(); } catch (Exception e) { logger.traceback(e); } bits.sleep(1000); } } private static byte[] str2lin(String s) { byte[] buf = new byte[1]; buf[0] = 10; return bits.byteConcat(s.getBytes(), buf); } private void workDoer() { if (pipe != null) { pipe.setClose(); } addrIP trg = clntDns.justResolv(hostName, 0); if (trg == null) { return; } clntProxy prx = cfgAll.getClntPrx(logger.logProxy); if (prx == null) { return; } pipe = prx.doConnect(servGeneric.protoTcp, trg, new servIrc().srvPort(), "irc"); if (pipe == null) { return; } pipe.setTime(120000); pipe.lineRx = pipeSide.modTyp.modeCRtryLF; pipe.lineTx = pipeSide.modTyp.modeLF; pipe.linePut("CAP LS"); pipe.linePut("NICK " + cfgAll.hostName); pipe.linePut("CAP END"); pipe.linePut("JOIN " + chanName); logger.warn("neighbor " + hostName + " up"); int cnt = 0; for (;;) { bits.sleep(1000); if (!running) { break; } if (pipe.isClosed() != 0) { break; } int i = pipe.ready2rx(); String cmd = ""; if (i > 0) { cmd = pipe.lineGet(0x11); } if (cmd.length() > 0) { doCmd(cmd); } cnt = (cnt + 1) % 30; if (cnt == 0) { pipe.linePut("PING :" + hostName); } } logger.warn("neighbor " + hostName + " down"); } private void doCmd(String cmd) { cmds c = new cmds("irc", cmd); c.word(); c.word(); c.word(); pipeLine pipE = new pipeLine(32768, false); pipeSide pip = pipE.getSide(); userRead rdr = new userRead(pip, null); pip.settingsPut(pipeSetting.height, 0); userExec exe = new userExec(pip, rdr); pip.lineTx = pipeSide.modTyp.modeCRLF; pip.lineRx = pipeSide.modTyp.modeCRtryLF; pip.setTime(120000); cmd = c.getRemaining(); if (cmd.length() < 1) { return; } cmd = cmd.substring(1, cmd.length()); String s = exe.repairCommand(cmd); if (s.length() < 1) { return; } try { exe.executeCommand(s); } catch (Exception e) { logger.traceback(e); } pip = pipE.getSide(); pip.lineTx = pipeSide.modTyp.modeCRLF; pip.lineRx = pipeSide.modTyp.modeCRtryLF; pip.setTime(1000); pip.setClose(); for (;;) { if (pip.ready2rx() < 1) { break; } String a = pip.lineGet(1); if (a.length() < 1) { continue; } byte[] buf = str2lin("PRIVMSG " + chanName + " :\"" + a + "\""); pipe.blockingPut(buf, 0, buf.length); } } } freeRtr-25.11.9/src/org/freertr/clnt/clntL2f.java000066400000000000000000000312751510423065500214510ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.auth.autherChap; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwdIface; import org.freertr.pack.packHolder; import org.freertr.pack.packL2f; import org.freertr.prt.prtGenConn; import org.freertr.prt.prtServP; import org.freertr.prt.prtUdp; import org.freertr.serv.servL2f; import org.freertr.user.userFormat; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.notifier; import org.freertr.util.state; /** * layer two forwarding protocol (rfc2341) client * * @author matecsaba */ public class clntL2f implements Runnable, prtServP, ifcDn { /** * create instance */ public clntL2f() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * hostname */ public String hostname; /** * password */ public String password; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * counter */ public counter cntr = new counter(); private boolean working = true; private prtGenConn conn; private int seqTx; private int keyRem; private int keyLoc; private int tunLoc; private int tunRem; private int multi; private notifier notif; private packL2f pckRx; public String toString() { return "l2f to " + target; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter mode * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flapped interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { if (multi == 0) { return; } pck.merge2beg(); packL2f pckPrt = new packL2f(); pckPrt.proto = packL2f.prtPpp; pckPrt.client = tunRem; pckPrt.key = keyRem; pckPrt.multi = multi; pckPrt.createHeader(pck); cntr.tx(pck); pck.putDefaults(); conn.send2net(pck); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { addrIP trg = clntDns.justResolv(target, prefer); if (trg == null) { return; } prtUdp udp = vrf.getUdp(trg); servL2f srv = new servL2f(); ipFwdIface fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(trg); } conn = udp.packetConnect(this, fwdIfc, 0, trg, srv.srvPort(), srv.srvName(), -1, null, -1, -1); if (conn == null) { return; } conn.timeout = 180000; conn.sendFLW = sendingFLW; conn.sendTOS = sendingTOS; conn.sendDFN = sendingDFN; conn.sendTTL = sendingTTL; tunLoc = bits.randomW(); byte[] chlLoc = null; if (password != null) { chlLoc = new byte[16]; for (int i = 0; i < chlLoc.length; i++) { chlLoc[i] = (byte) bits.randomB(); } } packHolder pckBin = new packHolder(true, true); packL2f pckTx = new packL2f(); pckBin.clear(); pckTx.createConf(pckBin, hostname == null ? cfgAll.hostName : hostname, chlLoc, tunLoc); pckTx.seq = seqTx++; pckTx.client = tunRem; pckTx.key = keyRem; pckTx.createHeader(pckBin); if (debugger.clntL2fTraf) { logger.debug("tx " + pckTx.dump()); } if (wait4msg(pckBin, packL2f.typConf)) { return; } byte[] chlRem = pckRx.valChal; tunRem = pckRx.valClid; byte[] res = null; if (chlLoc != null) { if (chlRem == null) { return; } res = autherChap.calcAuthHash(tunRem, password, chlRem); keyRem = packL2f.calcKey(res); } pckTx = new packL2f(); pckBin.clear(); pckTx.createOpen(pckBin, res); pckTx.seq = seqTx++; pckTx.client = tunRem; pckTx.key = keyRem; pckTx.createHeader(pckBin); if (debugger.clntL2fTraf) { logger.debug("tx " + pckTx.dump()); } if (wait4msg(pckBin, packL2f.typOpen)) { return; } if (chlLoc != null) { if (pckRx.valResp == null) { return; } res = autherChap.calcAuthHash(tunLoc, password, chlLoc); if (res.length != pckRx.valResp.length) { return; } if (bits.byteComp(res, 0, pckRx.valResp, 0, res.length) != 0) { return; } keyLoc = packL2f.calcKey(res); } multi = bits.randomW(); pckTx = new packL2f(); pckBin.clear(); pckTx.createOpen(pckBin, null); pckTx.seq = seqTx++; pckTx.client = tunRem; pckTx.multi = multi; pckTx.key = keyRem; pckTx.createHeader(pckBin); if (debugger.clntL2fTraf) { logger.debug("tx " + pckTx.dump()); } if (wait4msg(pckBin, packL2f.typOpen)) { return; } if (pckRx.key != keyLoc) { return; } int keep = 0; for (;;) { if (conn.txBytesFree() < 0) { return; } notif.sleep(1000); switch (pckRx.type) { case packL2f.typClose: return; case packL2f.typEchoRes: keep = 0; continue; } keep++; if (keep < 5) { continue; } if (keep > 10) { return; } pckTx = new packL2f(); pckBin.clear(); pckTx.valResp = new byte[1]; pckTx.valResp[0] = (byte) bits.randomB(); pckTx.createEchoReq(pckBin, pckTx.valResp); pckTx.seq = bits.randomB(); pckTx.client = tunRem; pckTx.key = keyRem; pckTx.createHeader(pckBin); cntr.tx(pckBin); conn.send2net(pckBin); if (debugger.clntL2fTraf) { logger.debug("tx " + pckTx.dump()); } } } private boolean wait4msg(packHolder pck, int typ) { for (int cnt = 0; cnt < cfgAll.l2fRetry; cnt++) { if (pck != null) { if (cnt > 0) { if (debugger.clntL2fTraf) { logger.debug("retransmit"); } } conn.send2net(pck.copyBytes(true, true)); } notif.sleep(cfgAll.l2fTimer); if (pckRx.type == typ) { return false; } if (conn.txBytesFree() < 0) { return true; } } return true; } private void clearState() { if (conn != null) { conn.setClosing(); } seqTx = 0; keyRem = 0; keyLoc = 0; tunLoc = 0; tunRem = 0; multi = 0; notif = new notifier(); pckRx = new packL2f(); } /** * close interface * * @param ifc interface */ public void closedInterface(ipFwdIface ifc) { } /** * accept connection * * @param id connection * @return false on success, true on error */ public boolean datagramAccept(prtGenConn id) { return true; } /** * connection ready * * @param id connection */ public void datagramReady(prtGenConn id) { } /** * close connection * * @param id connection */ public void datagramClosed(prtGenConn id) { } /** * work connection * * @param id connection */ public void datagramWork(prtGenConn id) { } /** * received error * * @param id connection * @param pck packet * @param rtr reporting router * @param err error happened * @param lab error label * @return false on success, true on error */ public boolean datagramError(prtGenConn id, packHolder pck, addrIP rtr, counter.reasons err, int lab) { return false; } /** * notified that state changed * * @param id id number to reference connection * @param stat state * @return return false if successful, true if error happened */ public boolean datagramState(prtGenConn id, state.states stat) { return false; } /** * received packet * * @param id connection * @param pckBin packet * @return false on success, true on error */ public boolean datagramRecv(prtGenConn id, packHolder pckBin) { pckRx = new packL2f(); if (pckRx.parseHeader(pckBin)) { cntr.drop(pckBin, counter.reasons.badHdr); return false; } if (pckRx.proto != packL2f.prtMgmt) { if (pckRx.multi != multi) { cntr.drop(pckBin, counter.reasons.badID); return false; } cntr.rx(pckBin); upper.recvPack(pckBin); return false; } switch (pckRx.type) { case packL2f.typConf: if (pckRx.parseConf(pckBin)) { return false; } break; case packL2f.typOpen: if (pckRx.parseOpen(pckBin)) { return false; } break; case packL2f.typClose: if (pckRx.parseClose(pckBin)) { return false; } break; case packL2f.typEchoReq: pckRx.parseEcho(pckBin); break; case packL2f.typEchoRes: pckRx.parseEcho(pckBin); break; default: return false; } if (debugger.clntL2fTraf) { logger.debug("rx " + pckRx.dump()); } notif.wakeup(); return false; } /** * get show * * @return state */ public userFormat getShow() { userFormat res = new userFormat("|", "category|value"); res.add("conn|" + conn); res.add("upper|" + upper); res.add("cntr|" + cntr); res.add("tunloc|" + tunLoc); res.add("tunrem|" + tunRem); return res; } } freeRtr-25.11.9/src/org/freertr/clnt/clntL2tp2.java000066400000000000000000000357161510423065500217350ustar00rootroot00000000000000package org.freertr.clnt; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.auth.autherChap; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.pack.packHolder; import org.freertr.pack.packL2tp; import org.freertr.pack.packL2tp2; import org.freertr.prt.prtGenConn; import org.freertr.prt.prtServP; import org.freertr.prt.prtUdp; import org.freertr.serv.servL2tp2; import org.freertr.user.userFormat; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.notifier; import org.freertr.util.state; /** * layer two tunneling protocol (rfc2661) client * * @author matecsaba */ public class clntL2tp2 implements Runnable, prtServP, ifcDn { /** * create instance */ public clntL2tp2() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * direction, true=outgoing, false=incoming */ public boolean direction = true; /** * telephone number */ public String called; /** * telephone number */ public String calling; /** * hostname */ public String hostname; /** * password */ public String password; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * counter */ public counter cntr = new counter(); private boolean working = true; private prtGenConn conn; private ipFwd fwdr; private List queue; private int seqRx; private int seqTx; private int tunLoc; private int tunRem; private int sesLoc; private int sesRem; private int keep; private int txed; private notifier notif; private packL2tp2 pckRx; public String toString() { return "l2tp2 to " + target; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap connection */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * set connection * * @param id connection * @param ip forwarder * @param tr tunnel id * @param tl tunnel id * @param sr session id * @param sl session id */ public void setConnection(prtGenConn id, ipFwd ip, int tr, int tl, int sr, int sl) { conn = id; fwdr = ip; tunRem = tr; tunLoc = tl; sesRem = sr; sesLoc = sl; } /** * get local port number * * @return session id, 0 if no session */ public int getPortLoc() { if (sesRem == 0) { return 0; } return conn.portLoc; } /** * get remote port number * * @return session id, 0 if no session */ public int getPortRem() { if (sesRem == 0) { return 0; } return conn.portRem; } /** * get remote address * * @return peer address, null if no session */ public addrIP getAddrRem() { if (conn == null) { return null; } return conn.peerAddr; } /** * get local address * * @return peer address, null if no session */ public addrIP getAddrLoc() { if (conn == null) { return null; } return conn.iface.addr; } /** * get local address * * @return peer address, null if no session */ public ipFwd getFwd() { return fwdr; } /** * get remote session id * * @return session id, 0 if no session */ public int getSessRem() { return sesRem; } /** * get remote tunn id * * @return session id, 0 if no tunnel */ public int getTunnRem() { return tunRem; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { if (sesRem == 0) { return; } packL2tp2 tx = new packL2tp2(); tx.ctrl = false; tx.sesID = sesRem; tx.tunID = tunRem; tx.createHeader(pck); cntr.tx(pck); pck.putDefaults(); conn.send2net(pck); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { addrIP trg = clntDns.justResolv(target, prefer); if (trg == null) { return; } fwdr = vrf.getFwd(trg); prtUdp udp = vrf.getUdp(trg); servL2tp2 srv = new servL2tp2(); ipFwdIface fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(trg); } conn = udp.packetConnect(this, fwdIfc, 0, trg, srv.srvPort(), srv.srvName(), -1, null, -1, -1); if (conn == null) { return; } conn.timeout = 180000; conn.sendFLW = sendingFLW; conn.sendTOS = sendingTOS; conn.sendDFN = sendingDFN; conn.sendTTL = sendingTTL; tunLoc = bits.randomW(); byte[] chlng = null; if (password != null) { chlng = new byte[16]; for (int i = 0; i < chlng.length; i++) { chlng[i] = (byte) bits.randomB(); } } enQueue(packL2tp2.createSCCRQ(tunLoc, hostname == null ? cfgAll.hostName : hostname, chlng)); if (wait4msg(packL2tp.typSCCRP)) { return; } tunRem = pckRx.valTunId; byte[] res = null; if (password != null) { res = autherChap.calcAuthHash(pckRx.valMsgTyp, password, chlng); if (pckRx.valResponse == null) { return; } if (res.length != pckRx.valResponse.length) { return; } if (bits.byteComp(res, 0, pckRx.valResponse, 0, res.length) != 0) { return; } res = autherChap.calcAuthHash(pckRx.valMsgTyp + 1, password, pckRx.valChallen); } enQueue(packL2tp2.createSCCCN(res)); sesLoc = bits.randomW(); if (direction) { // outgoint enQueue(packL2tp2.createOCRQ(sesLoc, called, calling)); if (wait4msg(packL2tp.typOCRP)) { return; } sesRem = pckRx.valSesId; sendAck(); if (wait4msg(packL2tp.typOCCN)) { return; } } else { // incoming enQueue(packL2tp2.createICRQ(sesLoc, called, calling)); if (wait4msg(packL2tp.typICRP)) { return; } sesRem = pckRx.valSesId; enQueue(packL2tp2.createICCN(sesRem)); } sendAck(); for (;;) { if (conn.txBytesFree() < 0) { return; } pckRx.valMsgTyp = 0; notif.sleep(1000); switch (pckRx.valMsgTyp) { case packL2tp.typHELLO: sendAck(); break; case packL2tp.typICRQ: case packL2tp.typOCRQ: enQueue(packL2tp2.createCDN(pckRx.valSesId, bits.randomW())); break; case packL2tp.typSLI: sendAck(); break; case packL2tp.typCDN: case packL2tp.typSCCNO: sendAck(); return; } } } private void enQueue(packL2tp2 pck) { synchronized (queue) { queue.add(pck); } } private void sendAck() { packL2tp2 pckTx = new packL2tp2(); pckTx.patchHeader(tunRem, seqRx, seqTx); packHolder pckBin = new packHolder(true, true); pckTx.createHeader(pckBin); cntr.tx(pckBin); conn.send2net(pckBin); } private boolean wait4msg(int typ) { for (;;) { notif.sleep(1000); if (pckRx.valMsgTyp == typ) { return false; } if (conn.txBytesFree() < 0) { return true; } } } private void clearState() { if (conn != null) { conn.setClosing(); } queue = new ArrayList(); seqRx = 0; seqTx = 0; tunLoc = 0; tunRem = 0; sesLoc = 0; sesRem = 0; keep = 0; txed = 0; notif = new notifier(); pckRx = new packL2tp2(); } /** * close interface * * @param ifc interface */ public void closedInterface(ipFwdIface ifc) { } /** * accept connection * * @param id connection * @return false on success, true on error */ public boolean datagramAccept(prtGenConn id) { return true; } /** * connection ready * * @param id connection */ public void datagramReady(prtGenConn id) { } /** * close connection * * @param id connection */ public void datagramClosed(prtGenConn id) { } /** * connection work * * @param id connection */ public void datagramWork(prtGenConn id) { packL2tp2 pckTx; packHolder pckBin = new packHolder(true, true); synchronized (queue) { if (queue.size() < 1) { keep++; if (keep < cfgAll.l2tp2hello) { return; } keep = 0; if (sesRem == 0) { return; } enQueue(packL2tp2.createHELLO()); return; } pckTx = queue.get(0); pckTx.patchHeader(tunRem, seqRx, seqTx); pckTx.createTLVs(pckBin); pckTx.createHeader(pckBin); cntr.tx(pckBin); txed++; } conn.send2net(pckBin); if (debugger.clntL2tp2traf) { logger.debug("tx " + pckTx.dump()); } if (txed < cfgAll.l2tp2retry) { return; } conn.setClosing(); } /** * received error * * @param id connection * @param pck packet * @param rtr reporting router * @param err error happened * @param lab error label * @return false on success, true on error */ public boolean datagramError(prtGenConn id, packHolder pck, addrIP rtr, counter.reasons err, int lab) { return false; } /** * notified that state changed * * @param id id number to reference connection * @param stat state * @return return false if successful, true if error happened */ public boolean datagramState(prtGenConn id, state.states stat) { return false; } /** * received packet * * @param id connection * @param pckBin packet * @return false on success, true on error */ public boolean datagramRecv(prtGenConn id, packHolder pckBin) { packL2tp2 rx = new packL2tp2(); if (rx.parseHeader(pckBin)) { cntr.drop(pckBin, counter.reasons.badHdr); return false; } if (rx.tunID != tunLoc) { cntr.drop(pckBin, counter.reasons.badID); return false; } keep = 0; if (!rx.ctrl) { if (rx.sesID != sesLoc) { cntr.drop(pckBin, counter.reasons.badID); return false; } cntr.rx(pckBin); upper.recvPack(pckBin); return false; } synchronized (queue) { if ((rx.seqRx == ((seqTx + 1) & 0xffff)) && (queue.size() > 0)) { seqTx = (seqTx + 1) & 0xffff; txed = 0; queue.remove(0); } } rx.parseTLVs(pckBin); if (rx.seqTx != seqRx) { cntr.drop(pckBin, counter.reasons.badRxSeq); if (rx.valMsgTyp != packL2tp.typHELLO) { return false; } sendAck(); return false; } cntr.rx(pckBin); if (debugger.clntL2tp2traf) { logger.debug("rx " + rx.dump()); } if (rx.valMsgTyp == packL2tp.typZLB) { return false; } seqRx = (seqRx + 1) & 0xffff; pckRx = rx; notif.wakeup(); return false; } /** * get show * * @return state */ public userFormat getShow() { userFormat res = new userFormat("|", "category|value"); res.add("conn|" + conn); res.add("upper|" + upper); res.add("cntr|" + cntr); res.add("tunloc|" + tunLoc); res.add("tunrem|" + tunRem); res.add("sesloc|" + sesLoc); res.add("sesrem|" + sesRem); return res; } } freeRtr-25.11.9/src/org/freertr/clnt/clntL2tp3.java000066400000000000000000000401711510423065500217250ustar00rootroot00000000000000package org.freertr.clnt; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.auth.autherChap; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcPpp; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipFwdTab; import org.freertr.ip.ipPrt; import org.freertr.pack.packHolder; import org.freertr.pack.packL2tp; import org.freertr.pack.packL2tp3; import org.freertr.pack.packLdpPwe; import org.freertr.user.userFormat; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.notifier; import org.freertr.util.state; /** * layer two tunneling protocol v3 (rfc3931) client * * @author matecsaba */ public class clntL2tp3 implements Runnable, ipPrt, ifcDn { /** * create instance */ public clntL2tp3() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * vc id */ public String vcid; /** * pseudowire type */ public int pwType; /** * direction, true=outgoing, false=incoming */ public boolean direction = true; /** * hostname */ public String hostname; /** * password */ public String password; /** * counter */ public counter cntr = new counter(); /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; private boolean working = true; private ipFwd fwdCor; private addrIP fwdTrg; private ipFwdIface fwdIfc; private List queue; private int seqRx; private int seqTx; private int conLoc; private int conRem; private int sesLoc; private int sesRem; private int keep; private int txed; private notifier notif; private packL2tp3 pckRx; public String toString() { return "l2tp3 to " + fwdTrg; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * set connection * * @param ifc interface * @param adr address * @param ip forwarder * @param sr session id * @param sl session id */ public void setConnection(ipFwdIface ifc, addrIP adr, ipFwd ip, int sr, int sl) { if (ifc != null) { ip.protoDel(this, ifc, adr); } fwdCor = ip; fwdTrg = adr.copyBytes(); fwdIfc = ifc; sesRem = sr; sesLoc = sl; pwType = packLdpPwe.pwtPpp; ip.protoAdd(this, ifc, adr); } /** * get remote address * * @return peer address, null if no session */ public addrIP getAddrRem() { if (sesRem == 0) { return null; } return fwdTrg; } /** * get local address * * @return peer address, null if no session */ public addrIP getAddrLoc() { if (sesRem == 0) { return null; } return fwdIfc.addr; } /** * get local address * * @return peer address, null if no session */ public ipFwd getFwd() { return fwdCor; } /** * get remote session id * * @return session id, 0 if no session */ public int getSessRem() { return sesRem; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { pck.merge2beg(); if (sesRem == 0) { return; } if (pwType == packLdpPwe.pwtPpp) { pck.getSkip(2); } packL2tp3 tx = new packL2tp3(); tx.ctrl = false; tx.sesID = sesRem; tx.createHeader(pck); cntr.tx(pck); pck.putDefaults(); sendProto(pck); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { fwdTrg = clntDns.justResolv(target, prefer); if (fwdTrg == null) { return; } fwdCor = vrf.getFwd(fwdTrg); fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(fwdTrg); } if (fwdIfc == null) { fwdIfc = ipFwdTab.findSendingIface(fwdCor, fwdTrg); } if (fwdIfc == null) { return; } fwdCor.protoAdd(this, fwdIfc, fwdTrg); conLoc = bits.randomD(); sesLoc = bits.randomD(); byte[] chlng = null; if (password != null) { chlng = new byte[16]; for (int i = 0; i < chlng.length; i++) { chlng[i] = (byte) bits.randomB(); } } if (direction) { // outgoing enQueue(packL2tp3.createSCCRQ(conLoc, fwdIfc.addr.toIPv4(), hostname == null ? cfgAll.hostName : hostname, packL2tp.maxTieBreak, chlng)); if (wait4msg(packL2tp.typSCCRP)) { return; } conRem = pckRx.valConnId; byte[] res = null; if (password != null) { res = autherChap.calcAuthHash(pckRx.valMsgTyp, password, chlng); if (pckRx.valResponse == null) { return; } if (res.length != pckRx.valResponse.length) { return; } if (bits.byteComp(res, 0, pckRx.valResponse, 0, res.length) != 0) { return; } res = autherChap.calcAuthHash(pckRx.valMsgTyp + 1, password, pckRx.valChallen); } enQueue(packL2tp3.createSCCCN(res)); enQueue(packL2tp3.createICRQ(sesLoc, vcid, pwType, packL2tp.maxTieBreak)); if (wait4msg(packL2tp.typICRP)) { return; } sesRem = pckRx.valLocSesId; enQueue(packL2tp3.createICCN(sesRem, sesLoc)); } else { // incoming if (wait4msg(packL2tp.typSCCRQ)) { return; } conRem = pckRx.valConnId; byte[] res = null; if (password != null) { if (pckRx.valChallen == null) { return; } res = autherChap.calcAuthHash(pckRx.valMsgTyp + 1, password, pckRx.valChallen); } enQueue(packL2tp3.createSCCRP(conLoc, fwdIfc.addr.toIPv4(), hostname == null ? cfgAll.hostName : hostname, chlng, res)); if (wait4msg(packL2tp.typSCCCN)) { return; } if (password != null) { res = autherChap.calcAuthHash(pckRx.valMsgTyp, password, chlng); if (pckRx.valResponse == null) { return; } if (res.length != pckRx.valResponse.length) { return; } if (bits.byteComp(res, 0, pckRx.valResponse, 0, res.length) != 0) { return; } } sendAck(); if (wait4msg(packL2tp.typICRQ)) { return; } if (pckRx.valPwTyp != pwType) { return; } if (!vcid.equals(pckRx.valRemEndId)) { return; } sesRem = pckRx.valLocSesId; enQueue(packL2tp3.createICRP(sesRem, sesLoc, vcid, pwType)); if (wait4msg(packL2tp.typICCN)) { return; } } sendAck(); enQueue(packL2tp3.createSLI(sesRem, sesLoc)); for (;;) { if (txDoer()) { return; } pckRx.valMsgTyp = 0; notif.sleep(1000); switch (pckRx.valMsgTyp) { case packL2tp.typHELLO: sendAck(); break; case packL2tp.typICCN: sendAck(); break; case packL2tp.typICRQ: case packL2tp.typOCRQ: enQueue(packL2tp3.createCDN(pckRx.valLocSesId, bits.randomW())); break; case packL2tp.typSLI: sendAck(); break; case packL2tp.typCDN: case packL2tp.typSCCNO: sendAck(); return; } } } private boolean wait4msg(int typ) { pckRx.valMsgTyp = -1; for (int rnd = 0;; rnd++) { if (rnd > 10) { return true; } if (txDoer()) { return true; } notif.sleep(5000); if (pckRx.valMsgTyp == typ) { return false; } } } private void enQueue(packL2tp3 pck) { synchronized (queue) { queue.add(pck); } } private void sendAck() { packL2tp3 pckTx = new packL2tp3(); pckTx.patchHeader(conRem, seqRx, seqTx); packHolder pckBin = new packHolder(true, true); pckTx.createHeader(pckBin); cntr.tx(pckBin); sendProto(pckBin); } private void clearState() { sesRem = 0; sesLoc = 0; conRem = 0; conLoc = 0; seqRx = 0; seqTx = 0; keep = 0; txed = 0; notif = new notifier(); pckRx = new packL2tp3(); queue = new ArrayList(); if (fwdIfc != null) { fwdCor.protoDel(this, fwdIfc, fwdTrg); fwdIfc = null; } } private boolean txDoer() { if (!working) { return true; } packL2tp3 pckTx; packHolder pckBin = new packHolder(true, true); synchronized (queue) { if (queue.size() < 1) { keep++; if (keep < cfgAll.l2tp3hello) { return false; } keep = 0; if (conRem == 0) { return false; } enQueue(packL2tp3.createHELLO()); return false; } pckTx = queue.get(0); pckTx.patchHeader(conRem, seqRx, seqTx); pckTx.createTLVs(pckBin); pckTx.createHeader(pckBin); cntr.tx(pckBin); txed++; } sendProto(pckBin); if (debugger.clntL2tp3traf) { logger.debug("tx " + pckTx.dump()); } if (txed < cfgAll.l2tp3retry) { return false; } return true; } private void sendProto(packHolder pck) { pck.merge2beg(); if (sendingTTL >= 0) { pck.IPttl = sendingTTL; } if (sendingTOS >= 0) { pck.IPtos = sendingTOS; } if (sendingDFN >= 0) { pck.IPdf = sendingDFN == 1; } if (sendingFLW >= 0) { pck.IPid = sendingFLW; } pck.IPprt = packL2tp3.prot; pck.IPsrc.setAddr(fwdIfc.addr); pck.IPtrg.setAddr(fwdTrg); fwdCor.protoPack(fwdIfc, null, pck); } /** * get protocol number * * @return number */ public int getProtoNum() { return packL2tp3.prot; } /** * close interface * * @param iface interface */ public void closeUp(ipFwdIface iface) { } /** * set state * * @param iface interface * @param stat state */ public void setState(ipFwdIface iface, state.states stat) { } /** * received packet * * @param rxIfc interface * @param pckBin packet */ public void recvPack(ipFwdIface rxIfc, packHolder pckBin) { packL2tp3 rx = new packL2tp3(); if (rx.parseHeader(pckBin)) { cntr.drop(pckBin, counter.reasons.badHdr); return; } keep = 0; if (!rx.ctrl) { if (rx.sesID != sesLoc) { cntr.drop(pckBin, counter.reasons.badID); return; } if (pwType == packLdpPwe.pwtPpp) { pckBin.msbPutW(0, ifcPpp.preamble); pckBin.putSkip(2); pckBin.merge2beg(); } cntr.rx(pckBin); upper.recvPack(pckBin); return; } synchronized (queue) { if ((rx.seqRx == ((seqTx + 1) & 0xffff)) && (queue.size() > 0)) { seqTx = (seqTx + 1) & 0xffff; txed = 0; queue.remove(0); } } rx.parseTLVs(pckBin); if (rx.seqTx != seqRx) { cntr.drop(pckBin, counter.reasons.badRxSeq); if (rx.valMsgTyp != packL2tp.typHELLO) { return; } sendAck(); return; } cntr.rx(pckBin); if (debugger.clntL2tp3traf) { logger.debug("rx " + rx.dump()); } if (rx.valMsgTyp == packL2tp.typZLB) { return; } seqRx = (seqRx + 1) & 0xffff; pckRx = rx; notif.wakeup(); } /** * alert packet * * @param rxIfc interface * @param pck packet * @return false on success, true on error */ public boolean alertPack(ipFwdIface rxIfc, packHolder pck) { return true; } /** * error packet * * @param err error code * @param rtr address * @param rxIfc interface * @param pck packet */ public void errorPack(counter.reasons err, addrIP rtr, ipFwdIface rxIfc, packHolder pck) { } /** * get show * * @return state */ public userFormat getShow() { userFormat res = new userFormat("|", "category|value"); res.add("upper|" + upper); res.add("cntr|" + cntr); res.add("conloc|" + conLoc); res.add("conrem|" + conRem); res.add("sesloc|" + sesLoc); res.add("sesrem|" + sesRem); return res; } } freeRtr-25.11.9/src/org/freertr/clnt/clntLdap.java000066400000000000000000000061671510423065500217100ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.auth.authGeneric; import org.freertr.auth.authResult; import org.freertr.cfg.cfgAll; import org.freertr.pack.packLdap; import org.freertr.pipe.pipeSide; import org.freertr.serv.servGeneric; import org.freertr.util.bits; import org.freertr.util.debugger; import org.freertr.util.logger; /** * lightweight directory access protocol (rfc4511) client * * @author matecsaba */ public class clntLdap { /** * create instance * * @param prx proxy */ public clntLdap(clntProxy prx) { proxy = prx; } /** * target server */ public String server = null; /** * target port */ public int port; /** * proxy to use */ public clntProxy proxy; private packLdap ldaTx; private packLdap ldaRx; private String ldaUsr; private String ldaPwd; /** * do pap transaction * * @param user username * @param pass password * @return false on completion, true on error */ public boolean doPap(String user, String pass) { ldaUsr = user; ldaPwd = pass; ldaTx = new packLdap(); ldaTx.usr = user; ldaTx.pwd = pass; return doAuthenXchg(); } private boolean doAuthenXchg() { if (server == null) { return true; } addrIP trg = clntDns.justResolv(server, 0); if (trg == null) { return true; } clntProxy prx = cfgAll.getClntPrx(proxy); if (prx == null) { return true; } if (port < 1) { port = packLdap.port; } pipeSide conn = prx.doConnect(servGeneric.protoTcp, trg, port, "ldap"); if (conn == null) { return true; } String user = ldaTx.usr; String pass = ldaTx.pwd; conn.setTime(5000); ldaTx.seq = bits.randomD(); ldaTx.pipe = conn; ldaTx.createBindReq(); ldaTx.packSend(); if (debugger.clntLdapTraf) { logger.debug("tx " + ldaTx.dump()); } packLdap res = new packLdap(); res.pipe = conn; if (res.packRecv()) { conn.setClose(); return true; } if (res.parseBindRep()) { conn.setClose(); return true; } conn.setClose(); ldaRx = res; if (debugger.clntLdapTraf) { logger.debug("rx " + ldaRx.dump()); } return false; } /** * check if access allowed * * @param par parent * @param priv privilege on success * @return result */ public authResult checkAuthenResult(authGeneric par, int priv) { if (ldaRx == null) { return new authResult(par, authResult.authServerError, ldaUsr, ldaPwd); } if (ldaRx.cod != packLdap.cdSucc) { return new authResult(par, authResult.authBadUserPass, ldaUsr, ldaPwd); } authResult res = new authResult(par, authResult.authSuccessful, ldaUsr, ldaPwd); res.privilege = priv; return res; } } freeRtr-25.11.9/src/org/freertr/clnt/clntLisp.java000066400000000000000000000155441510423065500217360ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcEther; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwdIface; import org.freertr.pack.packHolder; import org.freertr.prt.prtGenConn; import org.freertr.prt.prtServP; import org.freertr.prt.prtUdp; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * locator id separation protocol (rfc6830) client * * @author matecsaba */ public class clntLisp implements Comparable, Runnable, prtServP, ifcDn { /** * create instance */ public clntLisp() { } /** * port number */ public final static int portNum = 4341; /** * upper layer */ public ifcUp upper = new ifcNull(); /** * target of tunnel */ public addrIP target; /** * remote port number */ public int prtR; /** * local port number */ public int prtL; /** * udp to use */ public prtUdp udp; /** * source interface */ public ipFwdIface fwdIfc = null; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * counter */ public counter cntr = new counter(); private prtGenConn conn; private boolean working = true; public String toString() { return "lisp to " + target; } public int compareTo(clntLisp o) { return target.compareTo(o.target); } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 4000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { if (conn == null) { return; } cntr.tx(pck); pck.merge2beg(); if (ifcEther.stripEtherType(pck)) { cntr.drop(pck, counter.reasons.badProto); return; } pck.msbPutD(0, 0); // flags + nonce pck.msbPutD(4, 0); // istance + lsb pck.putSkip(8); pck.merge2beg(); pck.putDefaults(); conn.send2net(pck); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { if (prtR == 0) { prtR = portNum; } if (prtL == 0) { prtL = prtR; } conn = udp.packetConnect(this, fwdIfc, prtL, target, prtR, "lisp", -1, null, -1, -1); if (conn == null) { return; } conn.timeout = 120000; conn.sendTOS = sendingTOS; conn.sendDFN = sendingDFN; conn.sendFLW = sendingFLW; conn.sendTTL = sendingTTL; for (;;) { bits.sleep(1000); if (!working) { return; } if (conn.txBytesFree() < 0) { return; } } } private void clearState() { if (conn != null) { conn.setClosing(); } } /** * close interface * * @param ifc interface */ public void closedInterface(ipFwdIface ifc) { } /** * accept connection * * @param id connection * @return false on success, true on error */ public boolean datagramAccept(prtGenConn id) { return true; } /** * connection ready * * @param id connection */ public void datagramReady(prtGenConn id) { } /** * close connection * * @param id connection */ public void datagramClosed(prtGenConn id) { } /** * work connection * * @param id connection */ public void datagramWork(prtGenConn id) { } /** * received error * * @param id connection * @param pck packet * @param rtr reporting router * @param err error happened * @param lab error label * @return false on success, true on error */ public boolean datagramError(prtGenConn id, packHolder pck, addrIP rtr, counter.reasons err, int lab) { return false; } /** * notified that state changed * * @param id id number to reference connection * @param stat state * @return return false if successful, true if error happened */ public boolean datagramState(prtGenConn id, state.states stat) { return false; } /** * received packet * * @param id connection * @param pck packet * @return false on success, true on error */ public boolean datagramRecv(prtGenConn id, packHolder pck) { pck.getSkip(8); cntr.rx(pck); int i = ifcEther.guessEtherType(pck); if (i < 0) { cntr.drop(pck, counter.reasons.badVer); return true; } pck.msbPutW(0, i); i = pck.headSize(); pck.putSkip(2); pck.mergeHeader(-1, i); upper.recvPack(pck); return false; } } freeRtr-25.11.9/src/org/freertr/clnt/clntLlcudp.java000066400000000000000000000165501510423065500222500ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.addr.addrMac; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcEthTyp; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwdIface; import org.freertr.pack.packHolder; import org.freertr.prt.prtGenConn; import org.freertr.prt.prtServP; import org.freertr.prt.prtUdp; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * llc (ieee 802.2) over udp client * * @author matecsaba */ public class clntLlcudp implements Runnable, prtServP, ifcDn { /** * create instance */ public clntLlcudp() { } /** * port to use */ public final static int port = 12002; /** * size of header */ public final static int size = 10; /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * counter */ public counter cntr = new counter(); private prtGenConn conn; private boolean working = true; public String toString() { return "llcudp to " + target; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return addrMac.getRandom(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 4000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { if (conn == null) { return; } cntr.tx(pck); pck.msbPutW(0, ifcEthTyp.snap); pck.putByte(2, ifcEthTyp.ctrl); pck.msbPutD(3, ifcEthTyp.ieee << 8); pck.msbPutW(6, ifcEthTyp.ieth); pck.msbPutW(8, 0); // padding pck.putSkip(size); pck.merge2beg(); pck.putDefaults(); conn.send2net(pck); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { addrIP trg = clntDns.justResolv(target, prefer); if (trg == null) { return; } prtUdp udp = vrf.getUdp(trg); ipFwdIface fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(trg); } conn = udp.packetConnect(this, fwdIfc, port, trg, port, "llcudp", -1, null, -1, -1); if (conn == null) { return; } conn.timeout = 120000; conn.sendTOS = sendingTOS; conn.sendDFN = sendingDFN; conn.sendFLW = sendingFLW; conn.sendTTL = sendingTTL; for (;;) { bits.sleep(1000); if (!working) { return; } if (conn.txBytesFree() < 0) { return; } } } private void clearState() { if (conn != null) { conn.setClosing(); } } /** * close interface * * @param ifc interface */ public void closedInterface(ipFwdIface ifc) { } /** * accept connection * * @param id connection * @return false on success, true on error */ public boolean datagramAccept(prtGenConn id) { return true; } /** * connection ready * * @param id connection */ public void datagramReady(prtGenConn id) { } /** * close connection * * @param id connection */ public void datagramClosed(prtGenConn id) { } /** * work connection * * @param id connection */ public void datagramWork(prtGenConn id) { } /** * received error * * @param id connection * @param pck packet * @param rtr reporting router * @param err error happened * @param lab error label * @return false on success, true on error */ public boolean datagramError(prtGenConn id, packHolder pck, addrIP rtr, counter.reasons err, int lab) { return false; } /** * notified that state changed * * @param id id number to reference connection * @param stat state * @return return false if successful, true if error happened */ public boolean datagramState(prtGenConn id, state.states stat) { return false; } /** * received packet * * @param id connection * @param pck packet * @return false on success, true on error */ public boolean datagramRecv(prtGenConn id, packHolder pck) { cntr.rx(pck); if (pck.dataSize() < size) { cntr.drop(pck, counter.reasons.tooSmall); return false; } if (pck.msbGetW(0) != ifcEthTyp.snap) { cntr.drop(pck, counter.reasons.badTyp); return false; } if (pck.getByte(2) != ifcEthTyp.ctrl) { cntr.drop(pck, counter.reasons.badCmd); return false; } if ((pck.msbGetD(3) >>> 8) != ifcEthTyp.ieee) { cntr.drop(pck, counter.reasons.badCod); return false; } if (pck.msbGetW(6) != ifcEthTyp.ieth) { cntr.drop(pck, counter.reasons.badHdr); return false; } pck.getSkip(size); upper.recvPack(pck); return false; } } freeRtr-25.11.9/src/org/freertr/clnt/clntLwapp.java000066400000000000000000000150331510423065500221030ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.addr.addrMac; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwdIface; import org.freertr.pack.packHolder; import org.freertr.pack.packLwapp; import org.freertr.prt.prtGenConn; import org.freertr.prt.prtServP; import org.freertr.prt.prtUdp; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * lightweight access point protocol (rfc5412) client * * @author matecsaba */ public class clntLwapp implements Runnable, prtServP, ifcDn { /** * create instance */ public clntLwapp() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * counter */ public counter cntr = new counter(); private prtGenConn conn; private boolean working = true; public String toString() { return "lwapp to " + target; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return addrMac.getRandom(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 4000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { if (conn == null) { return; } cntr.tx(pck); packLwapp lwp = new packLwapp(); lwp.createHeader(pck); pck.putDefaults(); conn.send2net(pck); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { addrIP trg = clntDns.justResolv(target, prefer); if (trg == null) { return; } prtUdp udp = vrf.getUdp(trg); ipFwdIface fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(trg); } conn = udp.packetConnect(this, fwdIfc, packLwapp.port, trg, packLwapp.port, "lwapp", -1, null, -1, -1); if (conn == null) { return; } conn.timeout = 120000; conn.sendTOS = sendingTOS; conn.sendDFN = sendingDFN; conn.sendFLW = sendingFLW; conn.sendTTL = sendingTTL; for (;;) { bits.sleep(1000); if (!working) { return; } if (conn.txBytesFree() < 0) { return; } } } private void clearState() { if (conn != null) { conn.setClosing(); } } /** * close interface * * @param ifc interface */ public void closedInterface(ipFwdIface ifc) { } /** * accept connection * * @param id connection * @return false on success, true on error */ public boolean datagramAccept(prtGenConn id) { return true; } /** * connection ready * * @param id connection */ public void datagramReady(prtGenConn id) { } /** * close connection * * @param id connection */ public void datagramClosed(prtGenConn id) { } /** * work connection * * @param id connection */ public void datagramWork(prtGenConn id) { } /** * received error * * @param id connection * @param pck packet * @param rtr reporting router * @param err error happened * @param lab error label * @return false on success, true on error */ public boolean datagramError(prtGenConn id, packHolder pck, addrIP rtr, counter.reasons err, int lab) { return false; } /** * notified that state changed * * @param id id number to reference connection * @param stat state * @return return false if successful, true if error happened */ public boolean datagramState(prtGenConn id, state.states stat) { return false; } /** * received packet * * @param id connection * @param pck packet * @return false on success, true on error */ public boolean datagramRecv(prtGenConn id, packHolder pck) { cntr.rx(pck); packLwapp lwp = new packLwapp(); if (lwp.parseHeader(pck)) { cntr.drop(pck, counter.reasons.badHdr); return false; } upper.recvPack(pck); return false; } } freeRtr-25.11.9/src/org/freertr/clnt/clntModem.java000066400000000000000000000036471510423065500220710ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgDial; import org.freertr.pack.packRtp; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeModem; import org.freertr.pipe.pipeSide; import org.freertr.enc.encCodec; /** * modulator demodulator client * * @author matecsaba */ public class clntModem { /** * create instance */ public clntModem() { } /** * called number */ public String called = null; /** * calling number */ public String calling = null; private cfgDial pipePer; private String pipeRcd; private packRtp pipeRtp; private pipeSide pipeUsr; private pipeSide pipeMdm; /** * get pipe side * * @return pipe side */ public pipeSide getPipe() { return pipeUsr; } /** * stop call */ public void callStop() { try { pipePer.stopCall(pipeRcd); } catch (Exception e) { } try { pipeRtp.setClose(); } catch (Exception e) { } try { pipeUsr.setClose(); } catch (Exception e) { } try { pipeMdm.setClose(); } catch (Exception e) { } } /** * start call * * @return false on success, true on error */ public boolean callStart() { pipePer = cfgAll.dialFind(calling, called, null); if (pipePer == null) { return true; } pipeRcd = pipePer.makeCall(calling, called); if (pipeRcd == null) { return true; } pipeRtp = pipePer.getCall(pipeRcd); encCodec codec = pipePer.getCodec(); pipeLine pip = new pipeLine(32768, false); pipeUsr = pip.getSide(); pipeMdm = pip.getSide(); pipeMdm.setReady(); pipeModem.originate(pipeMdm, codec, pipeRtp); return false; } } freeRtr-25.11.9/src/org/freertr/clnt/clntMplsBier.java000066400000000000000000000115271510423065500225410ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdBier; import org.freertr.pack.packHolder; import org.freertr.tab.tabGen; import org.freertr.util.cmds; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.notifier; import org.freertr.util.state; /** * mpls bier tunnel client * * @author matecsaba */ public class clntMplsBier implements Runnable, ifcDn { /** * create instance */ public clntMplsBier() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * forwarder */ public ipFwd fwdCor; /** * source id */ public int srcId = 0; /** * experimental value, -1 means maps out */ public int expr = -1; /** * entropy value, -1 means maps out */ public int entr = -1; /** * marking value, -1 means maps out */ public int mark = -1; /** * ttl value */ public int ttl = 255; /** * counter */ public counter cntr = new counter(); private boolean working = false; private ipFwdBier bier; private tabGen targets = new tabGen(); private notifier notif1 = new notifier(); private notifier notif2 = new notifier(); public String toString() { return "bier to " + getTargets(); } /** * get hw address * * @return address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { } /** * flap interface */ public void flapped() { } /** * set upper * * @param server upper */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1500; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { cntr.tx(pck); if (expr >= 0) { pck.MPLSexp = expr; } if (entr > 0) { pck.MPLSntr = entr; } if (mark > 0) { pck.MPLSmrkV = mark; } if (ttl >= 0) { pck.MPLSttl = ttl; } pck.ETHtype = pck.msbGetW(0); pck.getSkip(2); bier.sendPack(pck); } /** * set targets * * @param s targets */ public void setTargets(String s) { cmds c = new cmds("adrs", s); for (;;) { s = c.word(); if (s.length() < 1) { break; } addrIP a = new addrIP(); if (a.fromString(s)) { continue; } targets.add(a); } } /** * get targets * * @return targets */ public String getTargets() { String s = ""; for (int i = 0; i < targets.size(); i++) { s += " " + targets.get(i); } return s.trim(); } /** * start connection */ public void workStart() { if (debugger.clntMplsBierTraf) { logger.debug("starting work"); } working = true; bier = new ipFwdBier(srcId); for (int i = 0; i < targets.size(); i++) { bier.addPeer(fwdCor, targets.get(i), 0, -1); } new Thread(this).start(); } /** * wait until setup complete * * @param tim time to wait */ public void wait4setup(int tim) { notif2.misleep(tim); } /** * stop connection */ public void workStop() { if (debugger.clntMplsBierTraf) { logger.debug("stop work"); } working = false; notif1.wakeup(); } public void run() { for (;;) { if (!working) { break; } try { bier.updatePeers(); } catch (Exception e) { logger.traceback(e); } notif1.sleep(10000); } } } freeRtr-25.11.9/src/org/freertr/clnt/clntMplsExp.java000066400000000000000000000106301510423065500224060ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrType; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgIfc; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcEthTyp; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.pack.packHolder; import org.freertr.tab.tabIntMatcher; import org.freertr.util.cmds; import org.freertr.util.counter; import org.freertr.util.state; /** * exp bundle * * @author matecsaba */ public class clntMplsExp implements ifcDn { /** * create instance */ public clntMplsExp() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * experimental value, -1 means maps out */ public int expr = -1; /** * entropy value, -1 means maps out */ public int entr = -1; /** * marking value, -1 means maps out */ public int mark = -1; /** * ttl value */ public int ttl = 255; /** * counter */ public counter cntr = new counter(); private final ifcEthTyp[] lowers = new ifcEthTyp[8]; private final cfgIfc[] ifaces = new cfgIfc[8]; public String toString() { return "expbundle over " + getTargets(); } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { cntr.tx(pck); ifcEthTyp ntry = lowers[pck.MPLSexp & 7]; if (ntry == null) { cntr.drop(pck, counter.reasons.noIface); return; } if (expr >= 0) { pck.MPLSexp = expr; } if (entr > 0) { pck.MPLSntr = entr; } if (mark > 0) { pck.MPLSmrkV = mark; } if (ttl >= 0) { pck.MPLSttl = ttl; } ntry.doTxPack(pck); } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { } /** * flap interface */ public void flapped() { } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1500; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * start connection */ public void workStart() { } /** * stop connection */ public void workStop() { } /** * set targets * * @param trgs targets */ public void setTargets(String trgs) { for (int i = 0; i < lowers.length; i++) { lowers[i] = null; } cmds cmd = new cmds("trg", trgs); for (;;) { tabIntMatcher mtch = new tabIntMatcher(); String a = cmd.word(); if (a.length() < 1) { break; } int i = a.indexOf(":"); if (i < 0) { continue; } String b = a.substring(i + 1, a.length()); a = a.substring(0, i); if (mtch.fromString(a)) { continue; } cfgIfc iface = cfgAll.ifcFind(b, 0); if (iface == null) { continue; } mtch.rangeMax++; for (i = mtch.rangeMin; i < mtch.rangeMax; i++) { ifaces[i & 7] = iface; lowers[i & 7] = iface.ethtyp; } } } /** * get targets * * @return targets */ public String getTargets() { String a = ""; for (int i = 0; i < lowers.length; i++) { if (lowers[i] == null) { continue; } a += " " + i + ":" + lowers[i]; } return a.trim(); } } freeRtr-25.11.9/src/org/freertr/clnt/clntMplsLdpP2mp.java000066400000000000000000000117751510423065500231430ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdMpmp; import org.freertr.pack.packHolder; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.state; /** * point to multipoint mldp tunnel client * * @author matecsaba */ public class clntMplsLdpP2mp implements Runnable, ifcDn { /** * create instance */ public clntMplsLdpP2mp() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * multipoint to multipoint */ public boolean mp2mp; /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * tunnel id */ public int trgId; /** * experimental value, -1 means maps out */ public int expr = -1; /** * entropy value, -1 means maps out */ public int entr = -1; /** * marking value, -1 means maps out */ public int mark = -1; /** * ttl value */ public int ttl = 255; /** * counter */ public counter cntr = new counter(); private boolean working = true; private ipFwd fwdCor; private addrIP fwdTrg; private ipFwdMpmp mpLsp; public String toString() { return "p2mpldp to " + fwdTrg; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1500; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { if (mpLsp == null) { return; } pck.getSkip(2); cntr.tx(pck); if (expr >= 0) { pck.MPLSexp = expr; } if (entr > 0) { pck.MPLSntr = entr; } if (mark > 0) { pck.MPLSmrkV = mark; } if (ttl >= 0) { pck.MPLSttl = ttl; } mpLsp.sendPack(fwdCor, pck); } /** * start connection */ public void workStart() { if (debugger.clntMplsLdpTraf) { logger.debug("starting work"); } new Thread(this).start(); } /** * stop connection */ public void workStop() { if (debugger.clntMplsLdpTraf) { logger.debug("stopping work"); } working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { fwdTrg = clntDns.justResolv(target, prefer); if (fwdTrg == null) { return; } fwdCor = vrf.getFwd(fwdTrg); mpLsp = ipFwdMpmp.create4tunnel(mp2mp, fwdTrg, trgId); fwdCor.mldpAdd(mpLsp); if (debugger.clntMplsLdpTraf) { logger.debug("session up"); } for (;;) { if (!working) { return; } mpLsp = fwdCor.mp2mpLsp.find(mpLsp); if (mpLsp == null) { return; } if (!mpLsp.local) { mpLsp.local = true; mpLsp.updateState(fwdCor); } bits.sleep(1000); } } private void clearState() { if (mpLsp != null) { fwdCor.mldpDel(mpLsp); } mpLsp = null; fwdCor = null; fwdTrg = null; } } freeRtr-25.11.9/src/org/freertr/clnt/clntMplsLdpP2p.java000066400000000000000000000127361510423065500227640ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.pack.packHolder; import org.freertr.tab.tabLabel; import org.freertr.tab.tabRouteEntry; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.state; /** * point to point ldp tunnel client * * @author matecsaba */ public class clntMplsLdpP2p implements Runnable, ifcDn { /** * create instance */ public clntMplsLdpP2p() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * forwarder to use */ public ipFwd fwdCor; /** * target of tunnel */ public addrIP target = null; /** * tunnel id */ public int trgId; /** * experimental value, -1 means maps out */ public int expr = -1; /** * entropy value, -1 means maps out */ public int entr = -1; /** * marking value, -1 means maps out */ public int mark = -1; /** * ttl value */ public int ttl = 255; /** * counter */ public counter cntr = new counter(); private boolean working = true; private state.states lastStat = state.states.down; public String toString() { return "p2pldp to " + target; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promuscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return lastStat; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1500; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { pck.getSkip(2); cntr.tx(pck); if (expr >= 0) { pck.MPLSexp = expr; } if (entr > 0) { pck.MPLSntr = entr; } if (mark > 0) { pck.MPLSmrkV = mark; } if (ttl >= 0) { pck.MPLSttl = ttl; } fwdCor.mplsTxPack(target, pck, false); } /** * get resulting route * * @param src source to use * @return route, null if no suitable */ public tabRouteEntry getResultRoute(tabRouteEntry src) { tabRouteEntry prf = fwdCor.actualU.route(target); if (prf == null) { return null; } if (prf.best.labelRem == null) { return null; } src.best.iface = prf.best.iface; if (prf.best.nextHop != null) { src.best.nextHop = prf.best.nextHop; } src.best.labelRem = tabLabel.prependLabels(src.best.labelRem, prf.best.labelRem); return src; } /** * start connection */ public void workStart() { if (debugger.clntMplsLdpTraf) { logger.debug("starting work"); } new Thread(this).start(); } /** * stop connection */ public void workStop() { if (debugger.clntMplsLdpTraf) { logger.debug("stopping work"); } working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { for (;;) { if (!working) { return; } bits.sleep(1000); tabRouteEntry ntry = fwdCor.actualU.route(target); if (ntry == null) { protStat(state.states.down); continue; } if (ntry.best.labelRem == null) { protStat(state.states.down); continue; } if (ntry.best.labelRem.size() < 1) { protStat(state.states.down); continue; } protStat(state.states.up); } } private void protStat(state.states st) { if (st == lastStat) { return; } if (debugger.clntMplsLdpTraf) { logger.debug("session " + st); } lastStat = st; upper.setState(st); } private void clearState() { protStat(state.states.down); } } freeRtr-25.11.9/src/org/freertr/clnt/clntMplsLdpTe.java000066400000000000000000000222051510423065500226630ustar00rootroot00000000000000package org.freertr.clnt; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipMpls; import org.freertr.pack.packHolder; import org.freertr.rtr.rtrLdpIface; import org.freertr.rtr.rtrLdpNeigh; import org.freertr.rtr.rtrLdpTrgtd; import org.freertr.tab.tabLabel; import org.freertr.tab.tabRouteEntry; import org.freertr.tab.tabRouteIface; import org.freertr.util.cmds; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.notifier; import org.freertr.util.state; /** * ldp te tunnel client * * @author matecsaba */ public class clntMplsLdpTe implements Runnable, ifcDn { /** * create instance */ public clntMplsLdpTe() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * forwarder to use */ public cfgVrf vrf; /** * source interface */ public cfgIfc srcIfc = null; /** * target of tunnel */ public addrIP target = null; /** * tunnel id */ public int trgId; /** * experimental value, -1 means maps out */ public int expr = -1; /** * entropy value, -1 means maps out */ public int entr = -1; /** * marking value, -1 means maps out */ public int mark = -1; /** * ttl value */ public int ttl = 255; /** * counter */ public counter cntr = new counter(); private addrIP[] targets = new addrIP[0]; private ipFwd nextVrf; private addrIP nextHop = new addrIP(); private tabRouteIface nextIfc; private int[] labels = null; private boolean working = true; private notifier notif = new notifier(); public String toString() { return "teldp to " + target; } /** * set targets * * @param s targets */ public void setTargets(String s) { if (s == null) { s = ""; } List trgs = new ArrayList(); cmds c = new cmds("adrs", s + " " + target); for (;;) { s = c.word(); if (s.length() < 1) { break; } addrIP a = new addrIP(); if (a.fromString(s)) { continue; } trgs.add(a); } setTargets(trgs); } /** * get targets * * @return targets */ public String getTargets() { if (targets.length < 1) { return null; } String s = ""; for (int i = 0; i < (targets.length - 1); i++) { s += " " + targets[i]; } return s.trim(); } /** * set targets * * @param trg targets */ public void setTargets(List trg) { clearState(); addrIP[] ts = new addrIP[trg.size()]; for (int i = 0; i < ts.length; i++) { ts[i] = trg.get(i).copyBytes(); } labels = null; targets = ts; notif.wakeup(); } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { if (labels == null) { return state.states.down; } else { return state.states.up; } } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1500; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { int[] labs = labels; if (labs == null) { return; } pck.getSkip(2); cntr.tx(pck); if (expr >= 0) { pck.MPLSexp = expr; } if (entr > 0) { pck.MPLSntr = entr; } if (mark > 0) { pck.MPLSmrkV = mark; } if (ttl >= 0) { pck.MPLSttl = ttl; } for (int i = labs.length - 1; i >= 0; i--) { pck.MPLSlabel = labs[i]; ipMpls.createMPLSheader(pck); } nextVrf.mplsTxPack(nextHop, pck, false); } /** * get resulting route * * @param src source to use * @return route, null if no suitable */ public tabRouteEntry getResultRoute(tabRouteEntry src) { int[] labs = labels; if (labs == null) { return null; } src.best.nextHop = nextHop.copyBytes(); src.best.iface = nextIfc; src.best.labelRem = tabLabel.int2labels(labs[0]); return src; } /** * get resulting labels * * @return labels, null if no suitable */ public int[] getLabels() { return labels; } /** * start connection */ public void workStart() { if (debugger.clntMplsLdpTraf) { logger.debug("starting work"); } new Thread(this).start(); } /** * stop connection */ public void workStop() { if (debugger.clntMplsLdpTraf) { logger.debug("stopping work"); } working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { workDoer(); } catch (Exception e) { logger.traceback(e); } notif.sleep(5000); } } private void clearState() { labels = null; upper.setState(state.states.down); } private void workDoer() { if (debugger.clntMplsLdpTraf) { logger.debug("starting targeted sessions"); } for (int i = 0; i < (targets.length - 1); i++) { ipFwd fwdCor = vrf.getFwd(targets[i]); ipFwdIface fwdIfc = srcIfc.getFwdIfc(targets[i]); rtrLdpIface ldpIfc = srcIfc.getLdpIface(targets[i]); rtrLdpTrgtd neighT = fwdCor.ldpTargetFind(fwdIfc, ldpIfc, targets[i], true); if (neighT == null) { return; } if (neighT.tcp == null) { neighT.tcp = vrf.getTcp(targets[i]); neighT.udp = vrf.getUdp(targets[i]); neighT.workStart(); } neighT.keepWorking(); } nextVrf = vrf.getFwd(targets[0]); tabRouteEntry rou = nextVrf.actualU.route(targets[0]); if (rou == null) { if (debugger.clntMplsLdpTraf) { logger.debug("no route for " + targets[0]); } clearState(); return; } if (rou.best.labelRem == null) { if (debugger.clntMplsLdpTraf) { logger.debug("no label for " + targets[0]); } clearState(); return; } nextHop = rou.best.nextHop.copyBytes(); nextIfc = rou.best.iface; int labs[] = new int[targets.length]; labs[0] = rou.best.labelRem.get(0); for (int i = 0; i < (targets.length - 1); i++) { ipFwd fwdCor = vrf.getFwd(targets[i]); rtrLdpNeigh neighL = fwdCor.ldpNeighFind(targets[i], false); if (neighL == null) { if (debugger.clntMplsLdpTraf) { logger.debug("no neighbor for " + targets[i]); } clearState(); return; } rou = neighL.prefLearn.route(targets[i + 1]); if (rou == null) { if (debugger.clntMplsLdpTraf) { logger.debug("no prefix for " + targets[i + 1]); } clearState(); return; } if (rou.best.labelRem == null) { if (debugger.clntMplsLdpTraf) { logger.debug("no label for " + targets[i + 1]); } clearState(); return; } labs[i + 1] = rou.best.labelRem.get(0); } labels = labs; upper.setState(state.states.up); } } freeRtr-25.11.9/src/org/freertr/clnt/clntMplsPwe.java000066400000000000000000000251241510423065500224110ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcPpp; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipFwdTab; import org.freertr.ip.ipMpls; import org.freertr.pack.packHolder; import org.freertr.pack.packLdpPwe; import org.freertr.rtr.rtrLdpIface; import org.freertr.rtr.rtrLdpNeigh; import org.freertr.rtr.rtrLdpTrgtd; import org.freertr.tab.tabLabel; import org.freertr.tab.tabLabelEntry; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.state; /** * pseudo wire over mpls (rfc4447) client * * @author matecsaba */ public class clntMplsPwe implements Runnable, ifcDn { /** * create instance */ public clntMplsPwe() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * experimental value, -1 means maps out */ public int expr = -1; /** * entropy value, -1 means maps out */ public int entr = -1; /** * marking value, -1 means maps out */ public int mark = -1; /** * ttl value */ public int ttl = 255; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * vc id */ public long vcid; /** * generalized */ public boolean general; /** * pseudowire type */ public int pwType; /** * control word */ public boolean ctrlWrd; /** * pseudowire mtu */ public int pwMtu; /** * description */ public String descr; /** * counter */ public counter cntr = new counter(); private boolean working = true; private ipFwd fwdCor; private addrIP fwdTrg; private ipFwdIface fwdIfc; private rtrLdpIface ldpIfc; private rtrLdpTrgtd neighT; private rtrLdpNeigh neighL; private tabLabelEntry labelL; private packLdpPwe pweL; private packLdpPwe pweR; private state.states lastStat = state.states.down; public String toString() { return "pwe " + fwdTrg + " " + vcid; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return lastStat; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return pwMtu; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { pck.merge2beg(); if (pweR == null) { return; } if (pwType == packLdpPwe.pwtPpp) { pck.getSkip(2); } if (ctrlWrd) { pck.msbPutD(0, 0); // control word pck.putSkip(4); pck.merge2beg(); } ipMpls.beginMPLSfields(pck, false); pck.MPLSlabel = pweR.label; if (expr >= 0) { pck.MPLSexp = expr; } if (entr > 0) { pck.MPLSntr = entr; } if (mark > 0) { pck.MPLSmrkV = mark; } if (ttl >= 0) { pck.MPLSttl = ttl; } ipMpls.createMPLSheader(pck); fwdCor.mplsTxPack(fwdTrg, pck, false); } /** * start connection */ public void workStart() { if (debugger.clntPweTraf) { logger.debug("starting work"); } new Thread(this).start(); } /** * stop connection */ public void workStop() { if (debugger.clntPweTraf) { logger.debug("stopping work"); } working = false; clearState(); } /** * get local label * * @return label */ public int getLabelLoc() { if (labelL == null) { return -1; } return labelL.label; } /** * get remote label * * @return label */ public int getLabelRem() { if (pweR == null) { return -1; } return pweR.label; } /** * get remote address * * @return address */ public addrIP getRemote() { if (fwdTrg == null) { return null; } return fwdTrg.copyBytes(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private byte[] getL2append() { if (pwType == packLdpPwe.pwtPpp) { byte[] buf = new byte[2]; bits.msbPutW(buf, 0, ifcPpp.preamble); return buf; } return null; } private void workDoer() { fwdTrg = clntDns.justResolv(target, prefer); if (fwdTrg == null) { return; } fwdCor = vrf.getFwd(fwdTrg); fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(fwdTrg); } if (fwdIfc == null) { fwdIfc = ipFwdTab.findSendingIface(fwdCor, fwdTrg); } if (fwdIfc == null) { return; } if (fwdTrg.isIPv4()) { ldpIfc = srcIfc.mplsLdp4; } else { ldpIfc = srcIfc.mplsLdp6; } if (debugger.clntPweTraf) { logger.debug("starting targeted session"); } neighT = fwdCor.ldpTargetFind(fwdIfc, ldpIfc, fwdTrg, true); if (neighT == null) { return; } if (neighT.tcp == null) { neighT.tcp = vrf.getTcp(fwdTrg); neighT.udp = vrf.getUdp(fwdTrg); neighT.workStart(); } for (;;) { if (!working) { return; } neighT = fwdCor.ldpTargetFind(fwdIfc, null, fwdTrg, false); if (neighT == null) { return; } neighT.keepWorking(); neighL = fwdCor.ldpNeighFind(fwdTrg, false); if (neighL != null) { break; } bits.sleep(1000); } if (debugger.clntPweTraf) { logger.debug("exchanging labels"); } labelL = tabLabel.allocate(tabLabelEntry.owner.pwe); if (labelL == null) { return; } labelL.setFwdDrop(tabLabelEntry.owner.pwe); pweL = new packLdpPwe(); pweL.srcA = fwdIfc.addr.copyBytes(); pweL.trgA = fwdTrg.copyBytes(); pweL.grp = 0; pweL.vcid = vcid; pweL.general = general; pweL.label = labelL.label; pweL.typ = pwType; pweL.ctrlWrd = ctrlWrd; pweL.mtu = pwMtu; if (ctrlWrd) { pweL.vccv = 0x100; } else { pweL.vccv = 0; } pweL.desc = descr; if (neighL == null) { return; } neighL.pweNeed2adv.put(pweL); for (;;) { if (!working) { return; } neighT = fwdCor.ldpTargetFind(fwdIfc, null, fwdTrg, false); if (neighT == null) { return; } neighT.keepWorking(); neighL = fwdCor.ldpNeighFind(fwdTrg, false); if (neighL == null) { return; } if (neighL.pweNeed2adv.find(pweL) == null) { return; } pweR = neighL.pweLearn.find(pweL); if (pweR != null) { break; } bits.sleep(1000); } protStat(state.states.up); if (ctrlWrd) { labelL.setFwdPwe(tabLabelEntry.owner.pwe, fwdCor, upper, 4, getL2append()); } else { labelL.setFwdPwe(tabLabelEntry.owner.pwe, fwdCor, upper, 0, getL2append()); } bits.sleep(bits.random(1000, 9000)); for (;;) { if (!working) { break; } neighT = fwdCor.ldpTargetFind(fwdIfc, null, fwdTrg, false); if (neighT == null) { break; } neighT.keepWorking(); neighL = fwdCor.ldpNeighFind(fwdTrg, false); if (neighL == null) { break; } if (neighL.pweNeed2adv.find(pweL) == null) { break; } pweR = neighL.pweLearn.find(pweL); if (pweR == null) { break; } bits.sleep(1000); } } private void protStat(state.states st) { if (st == lastStat) { return; } if (debugger.clntPweTraf) { logger.debug("session " + st); } lastStat = st; upper.setState(st); } private void clearState() { if (neighT != null) { neighT.keepWorking(); } if (labelL != null) { labelL.setFwdDrop(tabLabelEntry.owner.pwe); tabLabel.release(labelL, tabLabelEntry.owner.pwe); } if ((pweL != null) && (neighL != null)) { neighL.pweNeed2adv.del(pweL); } neighL = null; neighT = null; labelL = null; pweL = null; pweR = null; protStat(state.states.down); } } freeRtr-25.11.9/src/org/freertr/clnt/clntMplsSr.java000066400000000000000000000250571510423065500222470ustar00rootroot00000000000000package org.freertr.clnt; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipFwdTab; import org.freertr.ip.ipMpls; import org.freertr.pack.packHolder; import org.freertr.tab.tabHop; import org.freertr.tab.tabLabel; import org.freertr.tab.tabRouteEntry; import org.freertr.tab.tabRouteIface; import org.freertr.util.cmds; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.notifier; import org.freertr.util.state; /** * sr over mpls tunnel client * * @author matecsaba */ public class clntMplsSr implements Runnable, ifcDn { /** * create instance */ public clntMplsSr() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * forwarder */ public ipFwd fwdCor; /** * source interface */ public ipFwdIface fwdIfc = null; /** * pcep config to use */ public String pcep = null; /** * target */ public addrIP target; /** * setup priority */ public int prioS = 7; /** * holding priority */ public int prioH = 7; /** * experimental value, -1 means maps out */ public int expr = -1; /** * entropy value, -1 means maps out */ public int entr = -1; /** * marking value, -1 means maps out */ public int mark = -1; /** * ttl value */ public int ttl = 255; /** * bandwidth */ public long bndwdt; /** * counter */ public counter cntr = new counter(); private addrIP[] targets = new addrIP[1]; private addrIP nextHop = new addrIP(); private tabRouteIface nextIfc; private int[] labels = null; private boolean working = false; private notifier notif = new notifier(); public String toString() { return "srmpls to " + target; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { if (labels == null) { return state.states.down; } else { return state.states.up; } } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1500; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { int[] labs = labels; if (labs == null) { return; } pck.getSkip(2); cntr.tx(pck); if (expr >= 0) { pck.MPLSexp = expr; } if (entr > 0) { pck.MPLSntr = entr; } if (mark > 0) { pck.MPLSmrkV = mark; } if (ttl >= 0) { pck.MPLSttl = ttl; } for (int i = labs.length - 1; i >= 0; i--) { pck.MPLSlabel = labs[i]; ipMpls.createMPLSheader(pck); } fwdCor.mplsTxPack(nextHop, pck, false); } /** * get resulting route * * @param src source to use * @return route, null if no suitable */ public tabRouteEntry getResultRoute(tabRouteEntry src) { int[] labs = labels; if (labs == null) { return null; } src.best.nextHop = nextHop.copyBytes(); src.best.iface = nextIfc; src.best.labelRem = tabLabel.int2labels(labs[0]); return src; } /** * get resulting labels * * @return labels, null if no suitable */ public int[] getLabels() { return labels; } /** * set targets * * @param s targets */ public void setTargets(String s) { List trgs = new ArrayList(); cmds c = new cmds("adrs", s); for (;;) { s = c.word(); if (s.length() < 1) { break; } addrIP a = new addrIP(); if (a.fromString(s)) { continue; } trgs.add(a); } setTargets(trgs); } /** * set targets * * @param trg targets */ public void setTargets(List trg) { clearState(); addrIP[] ts = new addrIP[trg.size()]; for (int i = 0; i < ts.length; i++) { ts[i] = trg.get(i).copyBytes(); } labels = null; targets = ts; notif.wakeup(); } /** * get targets * * @return targets */ public String getTargets() { String s = ""; for (int i = 0; i < targets.length; i++) { s += " " + targets[i]; } return s.trim(); } /** * start connection */ public void workStart() { if (debugger.clntMplsSrTraf) { logger.debug("starting work"); } working = true; new Thread(this).start(); } /** * stop connection */ public void workStop() { if (debugger.clntMplsSrTraf) { logger.debug("stopping work"); } working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { workDoer(); } catch (Exception e) { logger.traceback(e); } notif.sleep(5000); } } private void clearState() { labels = null; upper.setState(state.states.down); } private void workDoer() { ipFwdIface ifc = fwdIfc; if (ifc == null) { ifc = ipFwdTab.findSendingIface(fwdCor, target); } if (ifc == null) { return; } if (pcep != null) { clntPcep pc = new clntPcep(); pc.setTarget(pcep); if (pc.doConnect()) { if (debugger.clntMplsSrTraf) { logger.debug("unable to connect pce for " + target); } clearState(); return; } List res = pc.doCompute(1, ifc.addr.copyBytes(), target.copyBytes(), 0, 0, 0, prioS, prioH, ((float) bndwdt) / 8, 2, 0); pc.doClose(); if (res == null) { if (debugger.clntMplsSrTraf) { logger.debug("no info got for " + target); } clearState(); return; } if (res.size() < 1) { if (debugger.clntMplsSrTraf) { logger.debug("empty info got for " + target); } clearState(); return; } tabHop hop = res.get(0); if (hop.label == 0) { if (debugger.clntMplsSrTraf) { logger.debug("no label got for " + target); } clearState(); return; } int[] labs = new int[1]; tabRouteEntry ntry = fwdCor.actualU.route(target); if (ntry == null) { if (debugger.clntMplsSrTraf) { logger.debug("no route for " + target); } clearState(); return; } if (hop.index) { if (ntry.best.segrouBeg < 1) { if (debugger.clntMplsSrTraf) { logger.debug("no base for " + ntry); } clearState(); return; } labs[0] = ntry.best.segrouBeg + hop.label; } else { labs[0] = hop.label >>> 12; } nextHop = ntry.best.nextHop.copyBytes(); nextIfc = ntry.best.iface; labels = labs; upper.setState(state.states.up); return; } int[] labs = new int[targets.length + 1]; tabRouteEntry prev = fwdCor.actualU.route(target); if (prev == null) { if (debugger.clntMplsSrTraf) { logger.debug("no route for " + target); } clearState(); return; } for (int i = targets.length - 1; i >= 0; i--) { tabRouteEntry ntry = fwdCor.actualU.route(targets[i]); if (ntry == null) { if (debugger.clntMplsSrTraf) { logger.debug("no route for " + targets[i]); } clearState(); return; } if (prev.best.segrouIdx < 1) { if (debugger.clntMplsSrTraf) { logger.debug("no index for " + prev); } clearState(); return; } if (ntry.best.segrouOld < 1) { if (debugger.clntMplsSrTraf) { logger.debug("no base for " + ntry); } clearState(); return; } labs[i + 1] = ntry.best.segrouOld + prev.best.segrouIdx; prev = ntry; } if (prev.best.segrouBeg < 1) { if (debugger.clntMplsSrTraf) { logger.debug("no base for " + prev); } clearState(); return; } labs[0] = prev.best.segrouBeg + prev.best.segrouIdx; nextHop = prev.best.nextHop.copyBytes(); nextIfc = prev.best.iface; labels = labs; upper.setState(state.states.up); } } freeRtr-25.11.9/src/org/freertr/clnt/clntMplsTeP2mp.java000066400000000000000000000222611510423065500227640ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipFwdTab; import org.freertr.ip.ipFwdTrfng; import org.freertr.ip.ipMpls; import org.freertr.pack.packHolder; import org.freertr.tab.tabGen; import org.freertr.tab.tabLabel; import org.freertr.tab.tabLabelDup; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.notifier; import org.freertr.util.state; /** * point to multipoint mpls te tunnel client * * @author matecsaba */ public class clntMplsTeP2mp implements Runnable, ifcDn { /** * create instance */ public clntMplsTeP2mp() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * forwarder */ public ipFwd fwdCor; /** * tunnel id */ public addrIP trgId; /** * source interface */ public cfgIfc srcIfc = null; /** * description */ public String descr; /** * setup priority */ public int prioS = 7; /** * holding priority */ public int prioH = 7; /** * exclude affinity */ public int affiE = 0; /** * include affinity */ public int affiI = 0; /** * must affinity */ public int affiM = 0; /** * experimental value, -1 means maps out */ public int expr = -1; /** * entropy value, -1 means maps out */ public int entr = -1; /** * marking value, -1 means maps out */ public int mark = -1; /** * ttl value */ public int ttl = 255; /** * bandwidth */ public long bndwdt; /** * record route */ public boolean recRou; /** * counter */ public counter cntr = new counter(); private boolean working = false; private int srcId; private ipFwdIface fwdIfc; private tabGen targets = new tabGen(); private ipFwdTrfng[] trfEngs = new ipFwdTrfng[0]; private tabGen fwdDups = new tabGen(); private notifier notif1 = new notifier(); private notifier notif2 = new notifier(); public String toString() { return "p2mpte to " + getTargets(); } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1500; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return bndwdt; } /** * send packet * * @param orig packet */ public void sendPack(packHolder orig) { tabGen trgs = fwdDups; orig.getSkip(2); cntr.tx(orig); for (int i = 0; i < trgs.size(); i++) { tabLabelDup ntry = trgs.get(i); packHolder pck = orig.copyBytes(true, true); pck.MPLSlabel = ntry.label.get(0); if (expr >= 0) { pck.MPLSexp = expr; } if (entr > 0) { pck.MPLSntr = entr; } if (mark > 0) { pck.MPLSmrkV = mark; } if (ttl >= 0) { pck.MPLSttl = ttl; } ipMpls.createMPLSheader(pck); fwdCor.mplsTxPack(ntry.hop, pck, false); } } /** * set targets * * @param s targets */ public void setTargets(String s) { targets = new tabGen(); cmds c = new cmds("adrs", s); srcId = bits.randomW(); for (;;) { s = c.word(); if (s.length() < 1) { break; } addrIP a = new addrIP(); if (a.fromString(s)) { continue; } targets.add(a); } setTargets(targets); } /** * set targets * * @param trg targets */ public void setTargets(tabGen trg) { clearState(); targets = trg; int i = targets.size(); trfEngs = new ipFwdTrfng[i]; if (i < 1) { notif1.wakeup(); return; } addrIP fwdTrg = targets.get(0); fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(fwdTrg); } if (fwdIfc == null) { fwdIfc = ipFwdTab.findSendingIface(fwdCor, fwdTrg); } notif1.wakeup(); } /** * add one target * * @param trg target */ public void addTarget(addrIP trg) { targets.add(trg); setTargets(targets); } /** * delete one target * * @param trg target */ public void delTarget(addrIP trg) { targets.del(trg); setTargets(targets); } /** * get targets * * @return targets */ public String getTargets() { String s = ""; for (int i = 0; i < targets.size(); i++) { s += " " + targets.get(i); } return s.trim(); } /** * start connection */ public void workStart() { if (debugger.clntMplsTeTraf) { logger.debug("starting work"); } working = true; new Thread(this).start(); } /** * wait until setup complete * * @param tim time to wait */ public void wait4setup(int tim) { notif2.misleep(tim); } /** * stop connection */ public void workStop() { if (debugger.clntMplsTeTraf) { logger.debug("stopping work"); } working = false; clearState(); notif1.wakeup(); } public void run() { int rnd = 0; for (;;) { if (!working) { break; } try { workDoer(rnd); rnd = (rnd + 1) % 6; } catch (Exception e) { logger.traceback(e); } notif1.sleep(10000); } } private void clearState() { if (debugger.clntMplsTeTraf) { logger.debug("stopping sessions"); } for (int i = 0; i < trfEngs.length; i++) { if (trfEngs[i] == null) { continue; } fwdCor.tetunDel(trfEngs[i]); trfEngs[i] = null; } trfEngs = new ipFwdTrfng[0]; fwdDups = new tabGen(); } private void workDoer(int rnd) { tabGen trgs = new tabGen(); for (int cur = 0; cur < trfEngs.length; cur++) { ipFwdTrfng trfEng = trfEngs[cur]; if (trfEng != null) { trfEng = fwdCor.trafEngs.find(trfEng); } if (trfEng == null) { addrIP adr = targets.get(cur); trfEng = new ipFwdTrfng(fwdIfc.addr, srcId, adr, cur + 1); trfEng.srcIfc = fwdIfc; trfEng.trgAdr = adr.copyBytes(); trfEng.trgId = (srcId << 16) | cur; trfEng.bwdt = ((float) bndwdt) / 8; trfEng.priS = prioS; trfEng.priH = prioH; trfEng.affE = affiE; trfEng.affI = affiI; trfEng.affM = affiM; trfEng.descr = descr; trfEng.recRou = recRou; if (debugger.clntMplsTeTraf) { logger.debug("starting session " + trfEng); } fwdCor.tetunAdd(trfEng, true); trfEngs[cur] = trfEng; } if (trfEng.srcLoc != 1) { fwdCor.tetunDel(trfEng); trfEngs[cur] = null; continue; } if (trfEng.trgLab < 1) { fwdCor.tetunSignal(trfEng); continue; } if (rnd == 0) { fwdCor.tetunSignal(trfEng); } trgs.add(new tabLabelDup(null, trfEng.trgHop, tabLabel.int2labels(trfEng.trgLab))); } fwdDups = trgs; notif2.wakeup(); } } freeRtr-25.11.9/src/org/freertr/clnt/clntMplsTeP2p.java000066400000000000000000000237161510423065500226150ustar00rootroot00000000000000package org.freertr.clnt; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipFwdTab; import org.freertr.ip.ipFwdTrfng; import org.freertr.ip.ipMpls; import org.freertr.pack.packHolder; import org.freertr.tab.tabHop; import org.freertr.tab.tabLabel; import org.freertr.tab.tabRouteEntry; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.state; /** * point to point mpls te tunnel client * * @author matecsaba */ public class clntMplsTeP2p implements Comparable, Runnable, ifcDn { /** * create instance */ public clntMplsTeP2p() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * target of tunnel */ public addrIP target; /** * vrf of target */ public ipFwd fwdCor; /** * source interface */ public ipFwdIface fwdIfc = null; /** * middle targets */ public List middles = new ArrayList(); /** * pcep config to use */ public String pcep = null; /** * description */ public String descr; /** * setup priority */ public int prioS = 7; /** * holding priority */ public int prioH = 7; /** * exclude affinity */ public int affiE = 0; /** * include affinity */ public int affiI = 0; /** * must affinity */ public int affiM = 0; /** * association id */ public int ascId = 0; /** * association global id */ public int ascId2 = 0; /** * association address */ public addrIP ascAdr = null; /** * experimental value, -1 means maps out */ public int expr = -1; /** * entropy value, -1 means maps out */ public int entr = -1; /** * marking value, -1 means maps out */ public int mark = -1; /** * ttl value */ public int ttl = 255; /** * bandwidth */ public long bndwdt; /** * record route */ public boolean recRou; /** * counter */ public counter cntr = new counter(); private boolean working = true; private ipFwdTrfng trfEng; private state.states lastStat = state.states.down; public String toString() { return "p2pte to " + target; } public int compareTo(clntMplsTeP2p o) { return target.compareTo(o.target); } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return lastStat; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1500; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return bndwdt; } /** * set middle targets * * @param s targets */ public void setMiddles(String s) { middles = new ArrayList(); if (s == null) { return; } cmds c = new cmds("adrs", s); for (;;) { s = c.word(); if (s.length() < 1) { break; } addrIP a = new addrIP(); if (a.fromString(s)) { continue; } middles.add(a); } } /** * get traffeng handler * * @return handler */ public ipFwdTrfng getTraffEng() { if (trfEng == null) { return null; } if (trfEng.trgLab < 1) { return null; } if (trfEng.srcLoc != 1) { return null; } return trfEng; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { if (trfEng == null) { return; } if (trfEng.trgLab < 1) { return; } if (trfEng.srcLoc != 1) { return; } pck.getSkip(2); cntr.tx(pck); pck.MPLSlabel = trfEng.trgLab; if (expr >= 0) { pck.MPLSexp = expr; } if (entr > 0) { pck.MPLSntr = entr; } if (mark > 0) { pck.MPLSmrkV = mark; } if (ttl >= 0) { pck.MPLSttl = ttl; } ipMpls.createMPLSheader(pck); fwdCor.mplsTxPack(trfEng.trgHop, pck, false); } /** * get resulting route * * @param src source to use * @return route, null if no suitable */ public tabRouteEntry getResultRoute(tabRouteEntry src) { if (trfEng == null) { return null; } if (trfEng.trgLab < 1) { return null; } if (trfEng.srcLoc != 1) { return null; } src.best.nextHop = trfEng.trgHop.copyBytes(); src.best.iface = trfEng.trgIfc; src.best.labelRem = tabLabel.int2labels(trfEng.trgLab); return src; } /** * start connection */ public void workStart() { if (debugger.clntMplsTeTraf) { logger.debug("starting work"); } new Thread(this).start(); } /** * stop connection */ public void workStop() { if (debugger.clntMplsTeTraf) { logger.debug("stopping work"); } working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { ipFwdIface ifc = fwdIfc; if (ifc == null) { ifc = ipFwdTab.findSendingIface(fwdCor, target); } if (ifc == null) { return; } if (pcep != null) { clntPcep pc = new clntPcep(); pc.setTarget(pcep); if (pc.doConnect()) { return; } List res = pc.doCompute(0, ifc.addr.copyBytes(), target.copyBytes(), 0, 0, 0, prioS, prioH, ((float) bndwdt) / 8, 2, 0); pc.doClose(); if (res == null) { return; } if (res.size() < 1) { return; } } if (debugger.clntMplsTeTraf) { logger.debug("starting session"); } trfEng = new ipFwdTrfng(new addrIP(), 0, new addrIP(), 0); trfEng.srcIfc = ifc; trfEng.srcAdr = ifc.addr.copyBytes(); trfEng.trgAdr = target.copyBytes(); for (int i = 0; i < middles.size(); i++) { tabHop hop = new tabHop(); hop.adr = middles.get(i).copyBytes(); hop.strict = false; trfEng.midAdrs.add(hop); } trfEng.trgId = bits.randomD(); trfEng.bwdt = ((float) bndwdt) / 8; trfEng.priS = prioS; trfEng.priH = prioH; trfEng.affE = affiE; trfEng.affI = affiI; trfEng.affM = affiM; trfEng.descr = descr; trfEng.recRou = recRou; if (ascAdr != null) { trfEng.asocAdr = ascAdr.copyBytes(); trfEng.asocId = ascId; trfEng.asocGlb = ascId2; trfEng.asocTyp = 3; } fwdCor.tetunAdd(trfEng, false); for (int cnt = 0;; cnt++) { if (!working) { return; } trfEng = fwdCor.trafEngs.find(trfEng); if (trfEng == null) { return; } if (trfEng.srcLoc != 1) { return; } if (trfEng.trgLab > 1) { break; } if (cnt > 5) { fwdCor.tetunSignal(trfEng); cnt = 0; } bits.sleep(1000); } fwdCor.routerStaticChg(); protStat(state.states.up); for (int cnt = 0;; cnt++) { if (!working) { return; } trfEng = fwdCor.trafEngs.find(trfEng); if (trfEng == null) { return; } if (trfEng.srcLoc != 1) { break; } bits.sleep(1000); if (cnt < 60) { continue; } fwdCor.tetunSignal(trfEng); cnt = 0; } } private void protStat(state.states st) { if (st == lastStat) { return; } if (debugger.clntMplsTeTraf) { logger.debug("session " + st); } lastStat = st; upper.setState(st); } private void clearState() { if (trfEng != null) { fwdCor.tetunDel(trfEng); } protStat(state.states.down); } } freeRtr-25.11.9/src/org/freertr/clnt/clntMplsTrg.java000066400000000000000000000054721510423065500224160ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.rtr.rtrLdpIface; import org.freertr.rtr.rtrLdpNeigh; import org.freertr.rtr.rtrLdpTrgtd; import org.freertr.util.bits; import org.freertr.util.logger; /** * targeted ldp client * * @author matecsaba */ public class clntMplsTrg implements Runnable, Comparable { /** * create instance */ public clntMplsTrg() { } /** * target of tunnel */ public addrIP target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * ldp interface */ public rtrLdpIface ldpIfc = null; private boolean working = true; /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; } public int compareTo(clntMplsTrg o) { return target.compareTo(o.target); } public void run() { for (;;) { if (!working) { break; } try { workDoer(); } catch (Exception e) { logger.traceback(e); } bits.sleep(1000); } } private void workDoer() { ipFwd fwdCor = vrf.getFwd(target); ipFwdIface fwdIfc = srcIfc.getFwdIfc(target); if (fwdIfc == null) { return; } rtrLdpTrgtd neighT = fwdCor.ldpTargetFind(fwdIfc, ldpIfc, target, true); if (neighT == null) { return; } if (neighT.tcp == null) { neighT.tcp = vrf.getTcp(target); neighT.udp = vrf.getUdp(target); neighT.workStart(); } rtrLdpNeigh neighL; for (;;) { if (!working) { return; } neighT = fwdCor.ldpTargetFind(fwdIfc, ldpIfc, target, false); if (neighT == null) { return; } neighT.keepWorking(); neighL = fwdCor.ldpNeighFind(target, false); if (neighL != null) { break; } bits.sleep(1000); } for (;;) { if (!working) { return; } neighT = fwdCor.ldpTargetFind(fwdIfc, ldpIfc, target, false); if (neighT == null) { return; } neighT.keepWorking(); neighL = fwdCor.ldpNeighFind(target, false); if (neighL == null) { return; } bits.sleep(1000); } } } freeRtr-25.11.9/src/org/freertr/clnt/clntMplsUdp.java000066400000000000000000000146371510423065500224150ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwdIface; import org.freertr.pack.packHolder; import org.freertr.prt.prtGenConn; import org.freertr.prt.prtMplsIp; import org.freertr.prt.prtServP; import org.freertr.prt.prtUdp; import org.freertr.serv.servMplsUdp; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * mpls in udp (rfc7510) client * * @author matecsaba */ public class clntMplsUdp implements Comparable, Runnable, prtServP, ifcDn { /** * create instance */ public clntMplsUdp() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * target of tunnel */ public addrIP target = null; /** * remote port number */ public int prtR; /** * local port number */ public int prtL; /** * udp to use */ public prtUdp udp; /** * source interface */ public ipFwdIface fwdIfc = null; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * counter */ public counter cntr = new counter(); private prtGenConn conn; private boolean working = true; public String toString() { return "mplsudp to " + target; } public int compareTo(clntMplsUdp o) { return target.compareTo(o.target); } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 4000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { if (conn == null) { return; } if (prtMplsIp.ethtyp2mpls(pck)) { return; } cntr.tx(pck); pck.putDefaults(); conn.send2net(pck); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { if (prtR == 0) { prtR = servMplsUdp.portNum; } if (prtL == 0) { prtL = prtR; } conn = udp.packetConnect(this, fwdIfc, prtL, target, prtR, "mplsudp", -1, null, -1, -1); if (conn == null) { return; } conn.timeout = 120000; conn.sendTOS = sendingTOS; conn.sendDFN = sendingDFN; conn.sendFLW = sendingFLW; conn.sendTTL = sendingTTL; for (;;) { bits.sleep(1000); if (!working) { return; } if (conn.txBytesFree() < 0) { return; } } } private void clearState() { if (conn != null) { conn.setClosing(); } } /** * close interface * * @param ifc interface */ public void closedInterface(ipFwdIface ifc) { } /** * accept connection * * @param id connection * @return false on success, true on error */ public boolean datagramAccept(prtGenConn id) { return true; } /** * connection ready * * @param id connection */ public void datagramReady(prtGenConn id) { } /** * close connection * * @param id connection */ public void datagramClosed(prtGenConn id) { } /** * work connection * * @param id connection */ public void datagramWork(prtGenConn id) { } /** * received error * * @param id connection * @param pck packet * @param rtr reporting router * @param err error happened * @param lab error label * @return false on success, true on error */ public boolean datagramError(prtGenConn id, packHolder pck, addrIP rtr, counter.reasons err, int lab) { return false; } /** * notified that state changed * * @param id id number to reference connection * @param stat state * @return return false if successful, true if error happened */ public boolean datagramState(prtGenConn id, state.states stat) { return false; } /** * received packet * * @param id connection * @param pck packet * @return false on success, true on error */ public boolean datagramRecv(prtGenConn id, packHolder pck) { if (prtMplsIp.mpls2ethtyp(pck)) { return false; } cntr.rx(pck); upper.recvPack(pck); return false; } } freeRtr-25.11.9/src/org/freertr/clnt/clntMpolka.java000066400000000000000000000366271510423065500222570ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcPolka; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipMpls; import org.freertr.pack.packHolder; import org.freertr.tab.tabGen; import org.freertr.tab.tabIndex; import org.freertr.tab.tabLabel; import org.freertr.tab.tabRouteEntry; import org.freertr.user.userFormat; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.notifier; import org.freertr.util.state; /** * mpolka tunnel client * * @author matecsaba */ public class clntMpolka implements Runnable, ifcDn { /** * create instance */ public clntMpolka() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * forwarder */ public ipFwd fwdCor; /** * target */ public addrIP target; /** * ttl value */ public int ttl = 255; /** * verify encoding */ public boolean verify = false; /** * counter */ public counter cntr = new counter(); private clntMpolkaTrg[] targets = new clntMpolkaTrg[1]; private clntMpolkaOut[] outputs = null; private boolean working = false; private notifier notif = new notifier(); public String toString() { return "mpolka"; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { if (outputs == null) { return state.states.down; } else { return state.states.up; } } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1500; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { clntMpolkaOut[] outs = outputs; if (outs == null) { return; } pck.IPprt = pck.msbGetW(0); pck.getSkip(2); cntr.tx(pck); if (ttl >= 0) { pck.NSHttl = ttl; } else { pck.NSHttl = pck.IPttl; } pck.NSHmdt = 1; for (int i = 0; i < outs.length; i++) { pck.NSHmdv = outs[i].rou; outs[i].ifc.lower.sendPolka(pck.copyBytes(true, true), outs[i].hop); } } /** * get resulting route * * @param src source to use * @return route, null if no suitable */ public tabRouteEntry getResultRoute(tabRouteEntry src) { if (outputs == null) { return null; } if (outputs.length < 1) { return null; } src.best.nextHop = outputs[0].hop.copyBytes(); src.best.iface = outputs[0].ifc; src.best.labelRem = tabLabel.int2labels(ipMpls.labelImp); src.best.attribVal = outputs[0].rou; return src; } /** * set targets * * @param s targets */ public void setTargets(String s) { if (s == null) { s = ""; } tabGen trgs = new tabGen(); cmds c = new cmds("adrs", s); for (;;) { s = c.word(); if (s.length() < 1) { break; } clntMpolkaTrg ntry = new clntMpolkaTrg(); ntry.node = new addrIP(); ntry.node.fromString(s); for (;;) { s = c.word(); if (s.length() < 1) { break; } if (s.equals(",")) { break; } addrIP a = new addrIP(); if (s.equals("-")) { if (a.fromString(c.word())) { continue; } ntry.through = a; continue; } if (a.fromString(s)) { continue; } ntry.peers.add(a); } trgs.add(ntry); } setTargets(trgs); } /** * set targets * * @param trg targets */ public void setTargets(tabGen trg) { clearState(); clntMpolkaTrg[] ts = new clntMpolkaTrg[trg.size()]; for (int i = 0; i < ts.length; i++) { ts[i] = trg.get(i); } outputs = null; targets = ts; notif.wakeup(); } /** * get targets * * @return targets */ public String getTargets() { if (targets.length < 1) { return null; } String s = ""; for (int i = 0; i < targets.length; i++) { s += " " + targets[i]; } return s.trim(); } /** * start connection */ public void workStart() { if (debugger.clntMpolkaTraf) { logger.debug("starting work"); } working = true; new Thread(this).start(); } /** * stop connection */ public void workStop() { if (debugger.clntMpolkaTraf) { logger.debug("stopping work"); } working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { workDoer(); } catch (Exception e) { logger.traceback(e); } notif.sleep(5000); } } private void clearState() { outputs = null; upper.setState(state.states.down); } private void workDoer() { tabGen outs = new tabGen(); for (int o = 0; o < targets.length; o++) { addrIP adr = targets[o].node; tabRouteEntry rou = fwdCor.actualU.route(adr); if (rou == null) { if (debugger.clntMpolkaTraf) { logger.debug("no route for " + adr); } continue; } if (rou.best.segrouIdx < 1) { if (debugger.clntMpolkaTraf) { logger.debug("no index for " + rou); } continue; } tabIndex idx = fwdCor.actualIU.find(new tabIndex(rou.best.segrouIdx, null)); if (idx == null) { if (debugger.clntMpolkaTraf) { logger.debug("no srindex for " + rou); } continue; } if (idx.neighs == null) { if (debugger.clntMpolkaTraf) { logger.debug("no srneigh for " + rou); } continue; } if (targets[o].through != null) { adr = targets[o].through; rou = fwdCor.actualU.route(adr); if (rou == null) { if (debugger.clntMpolkaTraf) { logger.debug("no route for " + adr); } continue; } } clntMpolkaOut ntry = new clntMpolkaOut(rou.best.nextHop.copyBytes()); ntry.ifc = (ipFwdIface) rou.best.iface; ntry.plk = ntry.ifc.lower.getPolka(); if (ntry.plk == null) { if (debugger.clntMpolkaTraf) { logger.debug("mpolka not enabled for " + ntry.ifc); } continue; } int neis = 0; for (int i = 0; i < targets[o].peers.size(); i++) { adr = targets[o].peers.get(i); if (adr.compareTo(targets[o].node) == 0) { neis |= 1; continue; } rou = fwdCor.actualU.route(adr); if (rou == null) { if (debugger.clntMpolkaTraf) { logger.debug("no route for " + adr); } continue; } if (rou.best.segrouIdx < 1) { if (debugger.clntMpolkaTraf) { logger.debug("no index for " + rou); } continue; } int p = idx.neighs.index(new tabIndex(rou.best.segrouIdx, null)); if (p < 0) { if (debugger.clntMpolkaTraf) { logger.debug("no neighbor for " + rou); } continue; } p++; neis |= 1 << p; } if (neis == 0) { if (debugger.clntMpolkaTraf) { logger.debug("no outputs for " + targets[o]); } continue; } idx = new tabIndex(idx.index, null); idx.bitmap = neis; ntry.nei.add(idx); ntry.end = (neis & 1) != 0; ntry = outs.add(ntry); if (ntry == null) { continue; } ntry.nei.add(idx); ntry.end |= (neis & 1) != 0; } for (int i = 0; i < outs.size(); i++) { clntMpolkaOut ntry = outs.get(i); if (ntry.end) { continue; } tabRouteEntry rou = fwdCor.actualU.route(target); if (rou == null) { if (debugger.clntMpolkaTraf) { logger.debug("no route for " + target); } continue; } if (rou.best.segrouIdx < 1) { if (debugger.clntMpolkaTraf) { logger.debug("no index for " + rou); } continue; } tabIndex idx = fwdCor.actualIU.find(new tabIndex(rou.best.segrouIdx, null)); if (idx == null) { if (debugger.clntMpolkaTraf) { logger.debug("no srindex for " + rou); } continue; } idx = new tabIndex(idx.index, null); idx.bitmap = 1; ntry.nei.add(idx); ntry.end = true; ntry = outs.add(ntry); } if (outs.size() < 1) { if (debugger.clntMpolkaTraf) { logger.debug("no outputs"); } clearState(); return; } clntMpolkaOut[] out = new clntMpolkaOut[outs.size()]; for (int i = 0; i < out.length; i++) { out[i] = outs.get(i); try { out[i].rou = ifcPolka.encodeRouteIdMul(out[i].plk.coeffs, out[i].nei); } catch (Exception e) { if (debugger.clntMpolkaTraf) { logger.debug("error encoding routeid for " + out[i].hop); } clearState(); return; } } outputs = out; upper.setState(state.states.up); if (!verify) { return; } for (int i = 0; i < out.length; i++) { try { doOneVerify(out[i].nei, ifcPolka.decodeRouteIdPoly(out[i].plk.coeffs, out[i].rou), "poly"); doOneVerify(out[i].nei, ifcPolka.decodeRouteIdCrc(out[i].plk.coeffs, out[i].rou), "crc"); } catch (Exception e) { if (debugger.clntMpolkaTraf) { logger.debug("error decoding routeid for " + out[i].hop); } return; } } } private void doOneVerify(tabGen> ids, int[] dec, String mod) { boolean good = true; for (int i = 0; i < ids.size(); i++) { tabIndex c = ids.get(i); if (dec[c.index] != c.bitmap) { good = false; } } if (good) { return; } if (debugger.clntMpolkaTraf) { logger.debug("bad routeid with " + mod); } } /** * get routeid show * * @return show */ public userFormat getShRoute() { if (outputs == null) { return null; } userFormat l = new userFormat("|", "iface|hop|routeid"); for (int i = 0; i < outputs.length; i++) { l.add(outputs[i].ifc + "|" + outputs[i].hop + "|" + bits.byteDump(outputs[i].rou, 0, -1)); } return l; } /** * get decoded show * * @return show */ public userFormat getShDecode() { if (outputs == null) { return null; } userFormat l = new userFormat("|", "index|coeff|poly|crc|equal"); for (int o = 0; o < outputs.length; o++) { ifcPolka plk = outputs[o].ifc.lower.getPolka(); int[] pol = ifcPolka.decodeRouteIdPoly(plk.coeffs, outputs[o].rou); int[] crc = ifcPolka.decodeRouteIdCrc(plk.coeffs, outputs[o].rou); for (int i = 0; i < plk.coeffs.length; i++) { l.add(i + "|" + bits.toHexD(plk.coeffs[i].intCoeff()) + "|" + pol[i] + "|" + crc[i] + "|" + (pol[i] == crc[i])); } } return l; } } class clntMpolkaTrg implements Comparable { public addrIP node; public addrIP through; public tabGen peers = new tabGen(); public String toString() { String a = "" + node; if (through != null) { a += " - " + through; } for (int i = 0; i < peers.size(); i++) { a += " " + peers.get(i); } return a + " ,"; } public int compareTo(clntMpolkaTrg o) { int i = node.compareTo(o.node); if (i != 0) { return i; } if ((through == null) && (o.through == null)) { return 0; } if (through == null) { return -1; } if (o.through == null) { return +1; } return through.compareTo(o.through); } } class clntMpolkaOut implements Comparable { public final addrIP hop; public ipFwdIface ifc; public ifcPolka plk; public tabGen> nei; public boolean end; public byte[] rou; public clntMpolkaOut(addrIP h) { hop = h; nei = new tabGen>(); } public int compareTo(clntMpolkaOut o) { return hop.compareTo(o.hop); } } freeRtr-25.11.9/src/org/freertr/clnt/clntMtrack.java000066400000000000000000000534641510423065500222530ustar00rootroot00000000000000package org.freertr.clnt; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.pack.packHolder; import org.freertr.pack.packMtrack; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeSide; import org.freertr.prt.prtGenConn; import org.freertr.prt.prtServS; import org.freertr.prt.prtUdp; import org.freertr.tab.tabGen; import org.freertr.user.userFormat; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.logger; import org.freertr.util.notifier; /** * mtracker worker * * @author matecsaba */ public class clntMtrack implements Runnable, prtServS { /** * create instance */ public clntMtrack() { } /** * name of this tracker */ public String name; /** * configured group, null=client */ public addrIP cfgGrp; /** * configured targets */ public tabGen cfgTrg = new tabGen(); /** * port number */ public int port = packMtrack.port; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * time between runs */ public int interval = 30000; /** * timeout value */ public int timeout = 10; /** * type of service value */ public int typOsrv; /** * type of time to live */ public int tim2liv = 255; /** * flow label value */ public int flwLab; /** * inter packet time */ public int packTim = 10; /** * logging */ public boolean logging = false; /** * change count */ public int chngCnt; /** * change time */ public long chngTim; private int working = 0; private int rnd = 0; private int seq = 0; private addrIP grp; private prtUdp udp; private ipFwd fwd; private ipFwdIface ifc; private tabGen pers = new tabGen(); private notifier notif = new notifier(); /** * get state * * @return state */ public boolean getWorking() { return (working & 1) != 0; } /** * stop running */ public synchronized void stopNow() { if (!getWorking()) { return; } working &= 0xfe; notif.wakeup(); for (;;) { bits.sleep(100); if (working == 0) { break; } } doUnbind(); } /** * start running */ public synchronized void startNow() { if (getWorking()) { return; } if (interval < 1) { return; } if (vrf == null) { return; } if (srcIfc == null) { return; } if (cfgTrg.size() < 1) { return; } if (srcIfc.getFwdIfc(cfgTrg.get(0)) == null) { return; } doRebind(); working = 1; new Thread(this).start(); } private void doRound() { rnd++; if (grp == null) { doConfig(); return; } if ((rnd % timeout) == 0) { doConfig(); } doReport(); } private void doUnbind() { udp.listenStop(ifc, port, null, 0); if (grp == null) { return; } if (!grp.isMulticast()) { return; } for (int i = 0; i < pers.size(); i++) { fwd.mcastDelFloodIfc(grp, pers.get(i).adr, null); } } private void doRebind() { if (cfgGrp != null) { pers.clear(); for (int i = 0; i < cfgTrg.size(); i++) { pers.add(new clntMtrackPeer(cfgTrg.get(i))); } grp = cfgGrp.copyBytes(); } for (int o = 0; o < pers.size(); o++) { tabGen r = new tabGen(); for (int i = 0; i < pers.size(); i++) { r.add(new clntMtrackRprt(pers.get(i).adr)); } pers.get(o).rprt = r; } addrIP srv = cfgTrg.get(0); udp = vrf.getUdp(srv); fwd = vrf.getFwd(srv); ifc = srcIfc.getFwdIfc(srv); rnd = 0; if (grp == null) { return; } udp.streamListen(this, new pipeLine(32768, true), ifc, port, null, 0, "mtrck", -1, null, -1, -1); if (!grp.isMulticast()) { return; } for (int i = 0; i < pers.size(); i++) { fwd.mcastAddFloodIfc(grp, pers.get(i).adr, null, -1); } } private void doConfig() { if (cfgGrp != null) { return; } pipeSide pipe = udp.streamConnect(new pipeLine(32768, true), ifc, 0, cfgTrg.get(0), port, "mtrck", -1, null, -1, -1); if (pipe == null) { return; } pipe.setTime(5000); packHolder pckB = new packHolder(true, true); packMtrack pck = new packMtrack(); pck.typ = packMtrack.typCfgReq; pck.createPacket(pckB); pckB.pipeSend(pipe, 0, pckB.dataSize(), 2); tabGen clnt = new tabGen(); addrIP cgrp = null; addrIP cfg = null; for (;;) { pckB = pipe.readPacket(true); if (pckB == null) { break; } pck.parsePacket(pckB); switch (pck.typ) { case packMtrack.typCfgRep: case packMtrack.typCfgEnd: break; default: continue; } for (int i = 0; i < pck.adrs.size(); i++) { addrIP adr = pck.adrs.get(i); if (cfg == null) { cfg = adr; continue; } if (cgrp == null) { cgrp = adr; continue; } clnt.add(new clntMtrackPeer(adr)); } if (pck.typ == packMtrack.typCfgEnd) { break; } } pipe.setClose(); if ((cfg == null) || (cgrp == null)) { return; } if (packMtrack.validateCfg(cgrp, cfg)) { logger.info("got invalid config"); return; } if (bits.msbGetD(cfg.getBytes(), 0) != clnt.size()) { logger.info("got incomplete config"); return; } interval = bits.msbGetD(cfg.getBytes(), 4); timeout = bits.msbGetD(cfg.getBytes(), 8); boolean b = grp == null; if (!b) { b = cgrp.compareTo(grp) != 0; } b |= clnt.size() != pers.size(); if (!b) { for (int i = 0; i < clnt.size(); i++) { b |= pers.find(clnt.get(i)) == null; } } if (!b) { return; } if (logging) { logger.info("config changed, group=" + cgrp + " peer=" + clnt.size()); } doUnbind(); pers = clnt; grp = cgrp; doRebind(); } private void doReport() { if (grp == null) { return; } List pipes = new ArrayList(); if (grp.isMulticast()) { pipeSide pipe = udp.streamConnect(new pipeLine(32768, true), ifc, 0, grp, port, "mtrck", -1, null, -1, -1); if (pipe == null) { return; } pipes.add(pipe); } else { for (int i = 0; i < pers.size(); i++) { pipeSide pipe = udp.streamConnect(new pipeLine(32768, true), ifc, 0, pers.get(i).adr, port, "mtrck", -1, null, -1, -1); if (pipe == null) { continue; } pipes.add(pipe); } } for (int o = 0; o < pipes.size(); o++) { pipes.get(o).setTime(20000); } packHolder pckB = new packHolder(true, true); packMtrack pck = new packMtrack(); pck.typ = packMtrack.typReport; long tim = bits.getTime(); pck.tim = tim; tim -= (interval * timeout); addrIP my = ifc.addr; clntMtrackPeer.computeRxing(pers, my); for (int i = 0; i < pers.size(); i++) { clntMtrackPeer ntry = pers.get(i); boolean chg = ntry.computeRxing(tim, my); if (chg) { ntry.chngCnt++; ntry.chngTim = tim; chngCnt++; chngTim = tim; } if (logging && chg) { logger.info("tracker " + ntry.adr + " " + cmds.upDown(ntry.rxing)); } if (!ntry.rxing) { continue; } pck.adrs.add(ntry.adr); pck.rtts.add(ntry.rtt); pck.loss.add(ntry.loss); if (pck.adrs.size() < packMtrack.maxAddrs) { continue; } pck.seq = seq++; pck.createPacket(pckB); for (int o = 0; o < pipes.size(); o++) { pckB.pipeSend(pipes.get(o), 0, pckB.dataSize(), 2); } bits.sleep(packTim); pck.adrs.clear(); pck.rtts.clear(); pck.loss.clear(); pck.tim = bits.getTime(); } pck.typ = packMtrack.typLreport; pck.seq = seq++; pck.createPacket(pckB); for (int o = 0; o < pipes.size(); o++) { pipeSide pipe = pipes.get(o); pckB.pipeSend(pipe, 0, pckB.dataSize(), 2); pipe.setClose(); } } /** * process one packet * * @param pipe pipe to use * @param addr address of peer * @param pckB packet to process */ protected void doPacket(pipeSide pipe, addrIP addr, packHolder pckB) { packMtrack pck = new packMtrack(); pck.parsePacket(pckB); switch (pck.typ) { case packMtrack.typLreport: case packMtrack.typReport: break; case packMtrack.typCfgReq: if (cfgGrp == null) { return; } addrIP adr = new addrIP(); bits.msbPutD(adr.getBytes(), 0, pers.size()); bits.msbPutD(adr.getBytes(), 4, interval); bits.msbPutD(adr.getBytes(), 8, timeout); packMtrack.updateCfg(cfgGrp, adr); pck.typ = packMtrack.typCfgRep; pck.adrs.clear(); pck.adrs.add(adr); pck.adrs.add(cfgGrp); for (int i = 0; i < cfgTrg.size(); i++) { pck.adrs.add(cfgTrg.get(i)); if (pck.adrs.size() < packMtrack.maxAddrs) { continue; } pck.createPacket(pckB); pckB.pipeSend(pipe, 0, pckB.dataSize(), 2); pck.adrs.clear(); bits.sleep(packTim); } pck.typ = packMtrack.typCfgEnd; pck.createPacket(pckB); pckB.pipeSend(pipe, 0, pckB.dataSize(), 2); return; case packMtrack.typCfgRep: case packMtrack.typCfgEnd: return; default: logger.info("got unknown type (" + pck.typ + ") from " + addr); return; } clntMtrackPeer ntry = new clntMtrackPeer(addr); ntry = pers.find(ntry); if (ntry == null) { return; } ntry.gotReport(pck); if (pck.typ == packMtrack.typLreport) { pipe.setClose(); } } /** * get summary line * * @return string */ public String getShSum() { int o = 0; int p = 0; for (int i = 0; i < pers.size(); i++) { if (pers.get(i).rxing) { o++; } if (pers.get(i).bidir) { p++; } } return name + "|" + grp + "|" + port + "|" + pers.size() + "|" + o + "|" + p + "|" + bits.timePast(chngTim); } /** * get detailed status * * @return status strings */ public userFormat getShStat() { userFormat l = new userFormat("|", "category|value"); l.add("name|" + name); l.add("round|" + rnd); l.add("group|" + grp); l.add("port|" + port); l.add("timer|" + interval + "/" + timeout); l.add("source|" + srcIfc); l.add("changes|" + chngCnt); l.add("ago|" + bits.timePast(chngTim) + ", at=" + bits.time2str(cfgAll.timeZoneName, chngTim + cfgAll.timeServerOffset, 3)); return l; } /** * get detailed status * * @return status strings */ public userFormat getShPeer() { userFormat l = new userFormat("|", "number|address|state|bidir|changes|ago|at|rtt|loss|reports|last"); for (int i = 0; i < pers.size(); i++) { clntMtrackPeer ntry = pers.get(i); l.add(i + "|" + ntry.adr + "|" + cmds.upDown(ntry.rxing) + "|" + cmds.upDown(ntry.bidir) + "|" + ntry.chngCnt + "|" + bits.timePast(ntry.chngTim) + "|" + bits.time2str(cfgAll.timeZoneName, ntry.chngTim + cfgAll.timeServerOffset, 3) + "|" + ntry.rtt + "|" + ntry.loss + "|" + ntry.reports + "|" + bits.timePast(ntry.lastRx)); } return l; } /** * get detailed status * * @return matrix */ public userFormat getShList() { userFormat l = new userFormat("|", "who|from|state|changes|ago|at|rtt|loss|reports|last"); for (int o = 0; o < pers.size(); o++) { clntMtrackPeer ntry = pers.get(o); for (int i = 0; i < pers.size(); i++) { if (i == o) { continue; } clntMtrackRprt rep = ntry.rprt.get(i); l.add(ntry.adr + "|" + rep.adr + "|" + cmds.upDown(rep.rxing) + "|" + rep.chngCnt + "|" + bits.timePast(rep.chngTim) + "|" + bits.time2str(cfgAll.timeZoneName, rep.chngTim + cfgAll.timeServerOffset, 3) + "|" + rep.rtt + "|" + rep.loss + "|" + rep.reports + "|" + bits.timePast(rep.lastRx)); } } return l; } /** * get matrix * * @return matrix */ public userFormat getShMatrixReach() { String s = "\\|"; for (int i = 0; i < pers.size(); i++) { s += i + "|"; } userFormat l = new userFormat("|", s); for (int o = 0; o < pers.size(); o++) { clntMtrackPeer ntry = pers.get(o); s = o + "|"; for (int i = 0; i < pers.size(); i++) { if (o == i) { s += "\\|"; continue; } clntMtrackRprt r = new clntMtrackRprt(pers.get(i).adr); r = ntry.rprt.find(r); if (r == null) { s += "?|"; continue; } if (r.rxing) { s += "+|"; } else { s += "-|"; } } l.add(s); } return l; } /** * get matrix * * @return matrix */ public userFormat getShMatrixTime() { String s = "-1|"; for (int i = 0; i < pers.size(); i++) { s += i + "|"; } userFormat l = new userFormat("|", s); for (int o = 0; o < pers.size(); o++) { clntMtrackPeer ntry = pers.get(o); s = o + "|"; for (int i = 0; i < pers.size(); i++) { if (o == i) { s += "-1|"; continue; } clntMtrackRprt r = new clntMtrackRprt(pers.get(i).adr); r = ntry.rprt.find(r); if (r == null) { s += "0|"; continue; } s += r.rtt + "|"; } l.add(s); } return l; } /** * get matrix * * @return matrix */ public userFormat getShMatrixLoss() { String s = "-1|"; for (int i = 0; i < pers.size(); i++) { s += i + "|"; } userFormat l = new userFormat("|", s); for (int o = 0; o < pers.size(); o++) { clntMtrackPeer ntry = pers.get(o); s = o + "|"; for (int i = 0; i < pers.size(); i++) { if (o == i) { s += "-1|"; continue; } clntMtrackRprt r = new clntMtrackRprt(pers.get(i).adr); r = ntry.rprt.find(r); if (r == null) { s += "0|"; continue; } s += r.loss + "|"; } l.add(s); } return l; } /** * accept connection * * @param pipe pipeline * @param id connection * @return false on success, true on error */ public boolean streamAccept(pipeSide pipe, prtGenConn id) { pipe.setTime(10000); id.sendTOS = typOsrv; id.sendTTL = tim2liv; id.sendFLW = flwLab; new clntMtrackConn(this, pipe, id.peerAddr); return false; } /** * interface closed * * @param ifc interface */ public void closedInterface(ipFwdIface ifc) { } /** * get block mode * * @return mode */ public boolean streamForceBlock() { return true; } public void run() { working |= 2; try { for (;;) { notif.sleep(interval); if (!getWorking()) { break; } doRound(); } } catch (Exception e) { logger.traceback(e); } working &= 0xfd; } } class clntMtrackConn implements Runnable { private clntMtrack lower; private pipeSide pipe; private addrIP addr; public clntMtrackConn(clntMtrack parent, pipeSide conn, addrIP peer) { lower = parent; pipe = conn; addr = peer; new Thread(this).start(); } public void run() { try { pipe.wait4ready(10000); for (;;) { packHolder pck = pipe.readPacket(true); if (pck == null) { break; } lower.doPacket(pipe, addr, pck); } } catch (Exception e) { logger.traceback(e); } pipe.setClose(); } } class clntMtrackRprt implements Comparable { public final addrIP adr; public long lastRx; public int rtt; public int loss; public int lastLos; public boolean rxing; public int reports; public int chngCnt; public long chngTim; public clntMtrackRprt(addrIP peer) { adr = peer.copyBytes(); } public int compareTo(clntMtrackRprt o) { return adr.compareTo(o.adr); } } class clntMtrackPeer implements Comparable { public final addrIP adr; public long lastRx; public int rtt; public int loss; public int lastSeq; public boolean rxing; public boolean bidir; public int reports; public int chngCnt; public long chngTim; public tabGen rprt = new tabGen(); public clntMtrackPeer(addrIP peer) { adr = peer.copyBytes(); } public int compareTo(clntMtrackPeer o) { return adr.compareTo(o.adr); } public static void computeRxing(tabGen pers, addrIP my) { clntMtrackPeer own = new clntMtrackPeer(my); own = pers.find(own); if (own == null) { return; } own.lastRx = bits.getTime(); own.reports = -9; for (int i = 0; i < pers.size(); i++) { clntMtrackPeer ntry = pers.get(i); clntMtrackRprt r = new clntMtrackRprt(ntry.adr); r = own.rprt.find(r); if (r == null) { continue; } r.lastRx = ntry.lastRx; } } public boolean computeRxing(long tim, addrIP my) { boolean old = rxing; rxing = lastRx > tim; for (int i = 0; i < rprt.size(); i++) { clntMtrackRprt r = rprt.get(i); boolean bak = r.rxing; r.rxing = r.lastRx > tim; if (bak == r.rxing) { continue; } r.chngTim = tim; r.chngCnt++; } if (!rxing) { rtt = 0; } clntMtrackRprt ntry = new clntMtrackRprt(my); ntry = rprt.find(ntry); if (ntry == null) { bidir = false; } else { bidir = ntry.rxing; } return old != rxing; } public void gotReport(packMtrack pck) { lastRx = bits.getTime(); rtt = (int) (lastRx - pck.tim); if (rtt < 0) { rtt = -rtt; } if (rtt > 255) { rtt = 255; } int i = pck.seq - lastSeq - 1; if (i < 0) { i = -i; } loss += i; lastSeq = pck.seq; reports++; for (i = 0; i < pck.adrs.size(); i++) { clntMtrackRprt r = new clntMtrackRprt(pck.adrs.get(i)); r = rprt.find(r); if (r == null) { return; } r.rtt = pck.rtts.get(i); int o = pck.loss.get(i); int p = (byte) (o - r.lastLos); if (p < 0) { p = -p; } r.loss += p; r.lastLos = o; r.lastRx = lastRx; r.reports++; } } } freeRtr-25.11.9/src/org/freertr/clnt/clntNetflow.java000066400000000000000000000043731510423065500224430ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.pack.packNetflow; import org.freertr.pipe.pipeSide; import org.freertr.serv.servGeneric; import org.freertr.tab.tabSession; import org.freertr.util.bits; import org.freertr.util.logger; /** * netflow (rfc3954) client * * @author matecsaba */ public class clntNetflow implements Runnable { /** * sessions */ public final tabSession session; /** * proxy */ public clntProxy proxy; /** * target address */ public addrIP trgAddr; /** * target port */ public int trgPort; private boolean need2run; /** * create client * * @param ver ip version */ public clntNetflow(int ver) { session = new tabSession(false, 60000); session.logBefore = false; session.logAfter = false; session.ipv4 = ver == 4; if (session.ipv4) { session.limit = packNetflow.flow4; } else { session.limit = packNetflow.flow6; } session.source = bits.randomD(); } /** * start timer */ public void startTimer() { need2run = true; new Thread(this).start(); } /** * stop timer */ public void stopTimer() { need2run = false; } public String toString() { if (proxy == null) { return "collect"; } else { return "export " + proxy + " " + trgAddr + " " + trgPort; } } public void run() { pipeSide pipe = null; for (;;) { if (!need2run) { return; } bits.sleep(session.timeout / 4); try { boolean b = pipe == null; if (!b) { b = pipe.isClosed() != 0; } b &= proxy != null; if (b) { pipe = proxy.doConnect(servGeneric.protoUdp, trgAddr, trgPort, "netflow"); if (pipe != null) { pipe.setTime(120000); } } session.doNetflow(pipe); } catch (Exception e) { logger.traceback(e); } } } } freeRtr-25.11.9/src/org/freertr/clnt/clntNrpe.java000066400000000000000000000077011510423065500217270ustar00rootroot00000000000000package org.freertr.clnt; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipFwdTab; import org.freertr.pack.packNrpe; import org.freertr.pipe.pipeDiscard; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeSide; import org.freertr.prt.prtGen; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.syncInt; /** * nagios remote plugin client * * @author matecsaba */ public class clntNrpe { /** * startup counter */ public final static syncInt cntrStart = new syncInt(0); /** * error counter */ public final static syncInt cntrError = new syncInt(0); /** * stop counter */ public final static syncInt cntrStop = new syncInt(0); private final cfgVrf vrf; private final cfgIfc ifc; private final String server; private final pipeSide console; /** * timeout */ public int timeout = 60000; /** * result code */ public int code; /** * result text */ public List text; /** * create new client * * @param con console to use * @param srv server to use * @param v vrf to use * @param i interface to use */ public clntNrpe(pipeSide con, cfgVrf v, cfgIfc i, String srv) { console = pipeDiscard.needAny(con); server = srv; vrf = v; ifc = i; } /** * perform check * * @param check check to read * @return false on success, true on error */ public boolean doCheck(String check) { cntrStart.add(1); console.linePut("querying " + check + " at " + server); addrIP trg = clntDns.justResolv(server, 0); if (trg == null) { cntrError.add(1); return true; } code = packNrpe.coUnk; text = new ArrayList(); ipFwd fwd = vrf.getFwd(trg); prtGen prt = vrf.getTcp(trg); ipFwdIface ipif = null; if (ifc != null) { ipif = ifc.getFwdIfc(trg); } if (ipif == null) { ipif = ipFwdTab.findSendingIface(fwd, trg); } pipeSide pipe = prt.streamConnect(new pipeLine(65536, false), ipif, 0, trg, packNrpe.portNum, "nrpe", -1, null, -1, -1); if (pipe == null) { text.add(check + " CRITICAL failed to connect to " + server); cntrError.add(1); return true; } pipe.wait4ready(timeout); pipe.setTime(timeout); packNrpe pck = new packNrpe(); pck.ver = 3; pck.typ = packNrpe.tyReq; pck.str = check; if (debugger.clntNrpeTraf) { logger.debug("tx:" + pck.dump()); } pck.sendPack(pipe); boolean b = pck.recvPack(pipe); pipe.setClose(); if (debugger.clntNrpeTraf) { logger.debug("rx:" + pck.dump()); } if (b) { text.add(check + " CRITICAL got nothing from " + server); cntrError.add(1); return true; } if (pck.typ != packNrpe.tyRep) { text.add(check + " CRITICAL got invalid packet from " + server); cntrError.add(1); return true; } code = pck.cod; byte[] buf = pck.str.getBytes(); String s = ""; for (int i = 0; i < buf.length; i++) { if (buf[i] == pck.sep[0]) { if (s.length() < 1) { continue; } text.add(s); s = ""; continue; } byte[] cb = new byte[1]; cb[0] = buf[i]; s += new String(cb); } if (s.length() > 0) { text.add(s); } cntrStop.add(1); return pck.cod != packNrpe.coOk; } } freeRtr-25.11.9/src/org/freertr/clnt/clntNtp.java000066400000000000000000000072001510423065500215560ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.cfg.cfgAll; import org.freertr.pack.packHolder; import org.freertr.pack.packNtp; import org.freertr.pipe.pipeSide; import org.freertr.serv.servGeneric; import org.freertr.util.bits; import org.freertr.util.debugger; import org.freertr.util.logger; /** * network time protocol (rfc5905) client * * @author matecsaba */ public class clntNtp implements Runnable { /** * name of ntp server */ public String serverName; /** * got time */ public long tim1; /** * got diff */ public long tim2; /** * new diff */ public long tim3; private boolean need2run; /** * create new client * * @param srv server name */ public clntNtp(String srv) { serverName = srv; } public String toString() { return serverName; } /** * start work */ public void startWork() { need2run = true; new Thread(this).start(); } /** * stop work */ public void stopWork() { need2run = false; } /** * do one poll * * @return false on success, true on error */ public boolean doWork() { addrIP serverAddr = clntDns.justResolv(serverName, 0); if (serverAddr == null) { return true; } clntProxy prx = cfgAll.getClntPrx(cfgAll.timeProxy); if (prx == null) { return true; } pipeSide pipe = prx.doConnect(servGeneric.protoUdp, serverAddr, packNtp.port, "ntp"); if (pipe == null) { return true; } packHolder pckBin = new packHolder(true, true); packNtp pckNtp = new packNtp(); pckNtp.ver = 3; pckNtp.mode = packNtp.modClnt; tim1 = bits.getTime(); pckNtp.refTime = packNtp.encode(tim1 + cfgAll.timeServerOffset); pckNtp.sendTime = packNtp.encode(tim1 + cfgAll.timeServerOffset); pckNtp.createPacket(pckBin); if (debugger.clntNtpTraf) { logger.debug("tx " + pckNtp); } pckBin.pipeSend(pipe, 0, pckBin.dataSize(), 2); pipe.setTime(5000); pckBin = pipe.readPacket(true); pipe.setClose(); if (pckBin == null) { return true; } tim2 = bits.getTime(); pckNtp = new packNtp(); if (pckNtp.parsePacket(pckBin)) { return true; } tim1 = packNtp.decode(pckNtp.sendTime) + ((tim2 - tim1) / 2); tim2 = tim1 - tim2; tim3 = cfgAll.timeServerOffset - tim2; if (debugger.clntNtpTraf) { logger.debug("rx " + pckNtp); logger.debug("offsets: old=" + cfgAll.timeServerOffset + " new=" + tim2 + " diff=" + tim3); } if (tim3 < 0) { tim3 = -tim3; } return false; } /** * do one sync */ public void doSync() { if (tim3 > 1000) { logger.info("setting clock to " + bits.time2str(cfgAll.timeZoneName, bits.getTime() + tim2, 3)); } cfgAll.timeServerOffset = tim2; } public void run() { if (debugger.clntNtpTraf) { logger.debug("started"); } for (;;) { bits.sleep(60000); if (!need2run) { break; } try { if (doWork()) { continue; } doSync(); } catch (Exception e) { logger.traceback(e); } } if (debugger.clntNtpTraf) { logger.debug("stopped"); } } } freeRtr-25.11.9/src/org/freertr/clnt/clntNvGre.java000066400000000000000000000130641510423065500220430ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcBridge; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipFwdTab; import org.freertr.pack.packHolder; import org.freertr.prt.prtGre; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * network virtualization using gre (rfc7637) client * * @author matecsaba */ public class clntNvGre implements ifcDn, ifcUp, Runnable { /** * create instance */ public clntNvGre() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * vc id */ public int vsid; /** * counter */ public counter cntr = new counter(); private boolean working = true; private ipFwd fwdCor; private addrIP fwdTrg; private ipFwdIface fwdIfc; private prtGre gre; public String toString() { return "nvgre " + fwdTrg; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1500; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { cntr.tx(pck); if (gre == null) { return; } pck.msbPutW(0, ifcBridge.serialType); pck.putSkip(2); pck.merge2beg(); pck.putDefaults(); gre.sendPack(pck); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { fwdTrg = clntDns.justResolv(target, prefer); if (fwdTrg == null) { return; } fwdCor = vrf.getFwd(fwdTrg); fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(fwdTrg); } if (fwdIfc == null) { fwdIfc = ipFwdTab.findSendingIface(fwdCor, fwdTrg); } if (fwdIfc == null) { return; } gre = new prtGre(fwdCor); gre.tunnelKyT = vsid << 8; gre.tunnelKyR = vsid << 8; gre.tunnelMsk = 0xffffff00; gre.setEndpoints(fwdIfc, fwdTrg, true); gre.sendingTOS = sendingTOS; gre.sendingDFN = sendingDFN; gre.sendingFLW = sendingFLW; gre.sendingTTL = sendingTTL; gre.setUpper(this); for (;;) { bits.sleep(1000); if (!working) { break; } } } private void clearState() { if (gre == null) { return; } gre.closeDn(); gre = null; } /** * received packet * * @param pck packet */ public void recvPack(packHolder pck) { cntr.rx(pck); if (pck.msbGetW(0) != ifcBridge.serialType) { return; } pck.getSkip(2); upper.recvPack(pck); } /** * set parent * * @param parent parent */ public void setParent(ifcDn parent) { } /** * set state * * @param stat state */ public void setState(state.states stat) { } /** * close interface */ public void closeUp() { } } freeRtr-25.11.9/src/org/freertr/clnt/clntOpenvpn.java000066400000000000000000000277741510423065500224640ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.cry.cryEncrGeneric; import org.freertr.cry.cryHashGeneric; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcEther; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwdIface; import org.freertr.pack.packHolder; import org.freertr.prt.prtGenConn; import org.freertr.prt.prtServP; import org.freertr.prt.prtUdp; import org.freertr.sec.secTransform; import org.freertr.tab.tabWindow; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * openvpn protocol * * @author matecsaba */ public class clntOpenvpn implements Runnable, prtServP, ifcDn { /** * create instance */ public clntOpenvpn() { } /** * port number */ public final static int port = 1194; /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * do replay checking */ public int replayCheck = 1024; /** * target of tunnel */ public String target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * source port */ public int prtL; /** * target port */ public int prtR; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * preshared secret */ public String preshared; /** * transform set to use */ public secTransform transform; /** * counter */ public counter cntr = new counter(); /** * encryption keys */ public byte[] keyEncr = null; /** * authentication keys */ public byte[] keyHash = null; /** * cipher size */ public int cphrSiz; /** * hash size */ public int hashSiz; /** * key timestamp */ public int timRx; /** * key timestamp */ public int timTx; private prtGenConn conn; private boolean working = true; private cryHashGeneric hashRx; private cryEncrGeneric cphrRx; private cryHashGeneric hashTx; private cryEncrGeneric cphrTx; private tabWindow sequence; private int seqRx; private int seqTx; public String toString() { return "openvpn to " + target; } /** * get remote address * * @return address */ public addrIP getRemAddr() { if (conn == null) { return null; } return conn.peerAddr.copyBytes(); } /** * get local address * * @return address */ public addrIP getLocAddr() { if (conn == null) { return null; } return conn.iface.addr.copyBytes(); } /** * get remote port * * @return address */ public int getRemPort() { if (conn == null) { return 0; } return conn.portRem; } /** * get local port * * @return address */ public int getLocPort() { if (conn == null) { return 0; } return conn.portLoc; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { pck.merge2beg(); if (conn == null) { return; } if (ifcEther.stripEtherType(pck)) { return; } synchronized (cphrTx) { pck.msbPutD(0, seqTx); pck.msbPutD(4, timTx); pck.putSkip(8); pck.merge2beg(); int i = pck.dataSize() % cphrSiz; i = cphrSiz - i; pck.putFill(0, i, i); // padding pck.putSkip(i); pck.merge2end(); byte[] buf = new byte[cphrSiz]; for (i = 0; i < buf.length; i++) { buf[i] = (byte) bits.randomB(); } cphrTx.init(keyEncr, buf, true); pck.encrData(cphrTx, 0, pck.dataSize()); pck.putCopy(buf, 0, 0, buf.length); pck.putSkip(buf.length); pck.merge2beg(); seqTx++; hashTx.init(); pck.hashData(hashTx, 0, pck.dataSize()); byte[] hsh = hashTx.finish(); pck.putCopy(hsh, 0, 0, hsh.length); pck.putSkip(hsh.length); pck.merge2beg(); } cntr.tx(pck); pck.putDefaults(); conn.send2net(pck); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { byte[] buf1 = new byte[preshared.length() / 2]; for (int i = 0; i < buf1.length; i++) { buf1[i] = (byte) bits.fromHex(preshared.substring(i * 2, i * 2 + 2)); } hashSiz = transform.getHash().getHashSize(); byte[] buf2 = new byte[hashSiz]; bits.byteCopy(buf1, 64, buf2, 0, buf2.length); hashRx = transform.getHmac(buf2); hashTx = transform.getHmac(buf2); keyHash = buf2; cphrRx = transform.getEncr(); cphrTx = transform.getEncr(); buf2 = new byte[transform.getKeyS()]; byte[] buf3 = new byte[cphrTx.getBlockSize()]; bits.byteCopy(buf1, 0, buf2, 0, buf2.length); bits.byteCopy(buf1, 0, buf3, 0, buf3.length); keyEncr = buf2; cphrSiz = buf3.length; if (replayCheck > 0) { sequence = new tabWindow(replayCheck); } addrIP trg = clntDns.justResolv(target, prefer); if (trg == null) { return; } prtUdp udp = vrf.getUdp(trg); ipFwdIface fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(trg); } if (prtR == 0) { prtR = port; } if (prtL == 0) { prtL = prtR; } conn = udp.packetConnect(this, fwdIfc, prtL, trg, prtR, "openvpn", -1, null, -1, -1); if (conn == null) { return; } conn.timeout = 120000; conn.sendTOS = sendingTOS; conn.sendDFN = sendingDFN; conn.sendFLW = sendingFLW; conn.sendTTL = sendingTTL; for (;;) { if (conn == null) { return; } if (conn.txBytesFree() < 0) { return; } bits.sleep(1000); } } private synchronized void clearState() { if (conn != null) { conn.setClosing(); } conn = null; seqRx = 0; seqTx = 0; timTx = (int) (bits.getTime() / 1000); } /** * close interface * * @param ifc interface */ public void closedInterface(ipFwdIface ifc) { } /** * accept connection * * @param id connection * @return false on success, true on error */ public boolean datagramAccept(prtGenConn id) { return true; } /** * connection ready * * @param id connection */ public void datagramReady(prtGenConn id) { } /** * connection closed * * @param id connection */ public void datagramClosed(prtGenConn id) { } /** * work connection * * @param id connection */ public void datagramWork(prtGenConn id) { } /** * received error * * @param id connection * @param pck packet * @param rtr reporting router * @param err error happened * @param lab error label * @return false on success, true on error */ public boolean datagramError(prtGenConn id, packHolder pck, addrIP rtr, counter.reasons err, int lab) { return false; } /** * notified that state changed * * @param id id number to reference connection * @param stat state * @return return false if successful, true if error happened */ public boolean datagramState(prtGenConn id, state.states stat) { return false; } /** * received packet * * @param id connection * @param pck packet * @return false on success, true on error */ public synchronized boolean datagramRecv(prtGenConn id, packHolder pck) { if (pck.dataSize() < (hashSiz + cphrSiz + 8)) { logger.info("got too small from " + target); cntr.drop(pck, counter.reasons.badLen); return false; } byte[] sum = new byte[hashSiz]; pck.getCopy(sum, 0, 0, hashSiz); pck.getSkip(hashSiz); hashRx.init(); pck.hashData(hashRx, 0, pck.dataSize()); if (bits.byteComp(sum, 0, hashRx.finish(), 0, hashSiz) != 0) { logger.info("got bad hash from " + target); cntr.drop(pck, counter.reasons.badSum); return false; } if ((pck.dataSize() % cphrSiz) != 0) { logger.info("got bad padding from " + target); cntr.drop(pck, counter.reasons.badLen); return false; } byte[] buf = new byte[cphrSiz]; pck.getCopy(buf, 0, 0, buf.length); pck.getSkip(buf.length); cphrRx.init(keyEncr, buf, false); pck.encrData(cphrRx, 0, pck.dataSize()); seqRx = pck.msbGetD(0); timRx = pck.msbGetD(4); pck.getSkip(8); if (sequence != null) { if (sequence.gotDat(seqRx)) { cntr.drop(pck, counter.reasons.badRxSeq); logger.info("replay check failed from " + target); return false; } } int i = ifcEther.guessEtherType(pck); if (i < 0) { logger.info("got bad protocol from " + target); cntr.drop(pck, counter.reasons.badProto); return false; } pck.msbPutW(0, i); // ethertype pck.putSkip(2); pck.merge2beg(); cntr.rx(pck); upper.recvPack(pck); return false; } } freeRtr-25.11.9/src/org/freertr/clnt/clntPcep.java000066400000000000000000000117231510423065500217110ustar00rootroot00000000000000package org.freertr.clnt; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.pack.packPcep; import org.freertr.pipe.pipeSide; import org.freertr.serv.servGeneric; import org.freertr.tab.tabHop; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.debugger; import org.freertr.util.logger; /** * path computation element protocol (rfc5440) client * * @author matecsaba */ public class clntPcep { /** * create instance */ public clntPcep() { } /** * proxy profile */ public clntProxy proxy; /** * peer to use */ public String target; private pipeSide pipe; /** * set target and proxy * * @param s string */ public void setTarget(String s) { cmds cmd = new cmds("trg", s); target = cmd.word(); proxy = cfgAll.getClntPrx(null); cfgVrf vrf = cfgAll.vrfFind(cmd.word(), false); if (vrf == null) { return; } cfgIfc ifc = cfgAll.ifcFind(cmd.word(), 0); proxy = clntProxy.makeTemp(vrf, ifc); } /** * connect peer * * @return false on success, true on error */ public boolean doConnect() { if (debugger.clntPcepTraf) { logger.debug("resolving " + target); } addrIP trg = clntDns.justResolv(target, proxy.prefer); if (trg == null) { return true; } if (debugger.clntPcepTraf) { logger.debug("connecting " + trg); } pipe = proxy.doConnect(servGeneric.protoTcp, trg, packPcep.port, "pcep"); if (pipe == null) { return true; } pipe.setTime(120000); pipe.lineRx = pipeSide.modTyp.modeCR; pipe.lineTx = pipeSide.modTyp.modeCR; packPcep pck = new packPcep(); pck.pipe = pipe; pck.createOpen(); if (debugger.clntPcepTraf) { logger.debug("tx " + pck); } pck.sendPack(); pck.createKeep(); if (debugger.clntPcepTraf) { logger.debug("tx " + pck); } pck.sendPack(); if (pck.recvPack()) { pipe.setClose(); return true; } if (debugger.clntPcepTraf) { logger.debug("rx " + pck); } if (pck.msgTyp != packPcep.typOpen) { pipe.setClose(); return true; } return false; } /** * close peer */ public void doClose() { if (pipe == null) { return; } pipe.setClose(); } /** * keepalive peer */ public void doKeepalive() { if (pipe == null) { return; } packPcep pck = new packPcep(); pck.pipe = pipe; pck.createKeep(); if (debugger.clntPcepTraf) { logger.debug("tx " + pck); } pck.sendPack(); } /** * query peer * * @param setupType setup type, 0=te, 1=sr * @param srcAddr source address * @param trgAddr target address * @param exclAny exclude any * @param inclAny include any * @param inclAll include all * @param priSet setup priority * @param priHld hold priority * @param bandwidth bandwidth * @param metTyp metric type, 1=igp, 2=te, 3=hops * @param metVal metric value * @return list of hops, null on error */ public List doCompute(int setupType, addrIP srcAddr, addrIP trgAddr, int exclAny, int inclAny, int inclAll, int priSet, int priHld, float bandwidth, int metTyp, int metVal) { if (pipe == null) { return null; } int reqId = bits.randomD(); packPcep pck = new packPcep(); pck.pipe = pipe; pck.setupType = setupType; pck.srcAddr = srcAddr; pck.trgAddr = trgAddr; pck.exclAny = exclAny; pck.inclAny = inclAny; pck.inclAll = inclAll; pck.priSet = priSet; pck.priHld = priHld; pck.bandwidth = bandwidth; pck.metTyp = metTyp; pck.metVal = metVal; pck.loose = true; pck.isIP4 = trgAddr.isIPv4(); pck.reqId = reqId; pck.plspId = (bits.randomW() << 16) | 0x18; pck.createRequest(); if (debugger.clntPcepTraf) { logger.debug("tx " + pck); } pck.sendPack(); for (;;) { pck = new packPcep(); pck.pipe = pipe; if (pck.recvPack()) { return null; } if (debugger.clntPcepTraf) { logger.debug("rx " + pck); } if (pck.msgTyp == packPcep.typRep) { break; } if (pck.msgTyp == packPcep.typErr) { break; } } if (pck.reqId != reqId) { return null; } return pck.ero; } } freeRtr-25.11.9/src/org/freertr/clnt/clntPckOdtls.java000066400000000000000000000077201510423065500225470ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.pack.packHolder; import org.freertr.pipe.pipeSide; import org.freertr.serv.servGeneric; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * packet over dtls encapsulation client * * @author matecsaba */ public class clntPckOdtls implements Runnable, ifcDn { /** * create instance */ public clntPckOdtls() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * target of tunnel */ public String target = null; /** * remote port number */ public int prtR; /** * proxy profile */ public clntProxy proxy; /** * counter */ public counter cntr = new counter(); private boolean working = true; private pipeSide pipe = null; public String toString() { return "pckOdtls to " + target; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 4000000; } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void clearState() { if (pipe != null) { pipe.setClose(); } pipe = null; } private void workDoer() { if (proxy == null) { return; } addrIP trg = clntDns.justResolv(target, proxy.prefer); if (trg == null) { return; } pipe = proxy.doConnect(servGeneric.protoUdp, trg, prtR, "pckodtls"); if (pipe == null) { return; } pipe.setTime(120000); packHolder pck = new packHolder(true, true); for (;;) { if (pipe == null) { break; } if (pipe.isClosed() != 0) { break; } pck.clear(); if (pck.pipeRecv(pipe, 0, 8192, 143) < 1) { break; } upper.recvPack(pck); } } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { if (pipe == null) { return; } pck.putDefaults(); pck.pipeSend(pipe, 0, pck.dataSize(), 2); } } freeRtr-25.11.9/src/org/freertr/clnt/clntPckOtcp.java000066400000000000000000000100641510423065500223620ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.pack.packHolder; import org.freertr.pack.packSize; import org.freertr.pipe.pipeSide; import org.freertr.serv.servGeneric; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * packet over dtls encapsulation client * * @author matecsaba */ public class clntPckOtcp implements Runnable, ifcDn { /** * create instance */ public clntPckOtcp() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * target of tunnel */ public String target = null; /** * remote port number */ public int prtR; /** * proxy profile */ public clntProxy proxy; /** * counter */ public counter cntr = new counter(); private boolean working = true; private pipeSide pipe = null; private packSize pips = null; public String toString() { return "pckOtcp to " + target; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 4000000; } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void clearState() { if (pipe != null) { pipe.setClose(); } pipe = null; pips = null; } private void workDoer() { if (proxy == null) { return; } addrIP trg = clntDns.justResolv(target, proxy.prefer); if (trg == null) { return; } pipe = proxy.doConnect(servGeneric.protoTcp, trg, prtR, "pckotcp"); if (pipe == null) { return; } pipe.setTime(120000); pips = new packSize(pipe, 2, true, 1, 0); packHolder pck = new packHolder(true, true); for (;;) { if (pipe == null) { break; } if (pipe.isClosed() != 0) { break; } pck.clear(); if (pips.recvPacket(pck)) { break; } upper.recvPack(pck); } } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { if (pipe == null) { return; } pck.putDefaults(); pips.sendPacket(pck); } } freeRtr-25.11.9/src/org/freertr/clnt/clntPckOtxt.java000066400000000000000000000106401510423065500224130ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.enc.encBase64; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.pack.packHolder; import org.freertr.pipe.pipeSide; import org.freertr.serv.servGeneric; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * packet over dtls encapsulation client * * @author matecsaba */ public class clntPckOtxt implements Runnable, ifcDn { /** * create instance */ public clntPckOtxt() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * target of tunnel */ public String target = null; /** * remote port number */ public int prtR; /** * proxy profile */ public clntProxy proxy; /** * counter */ public counter cntr = new counter(); private boolean working = true; private pipeSide pipe = null; public String toString() { return "pckOtxt to " + target; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 4000000; } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void clearState() { if (pipe != null) { pipe.setClose(); } pipe = null; } private void workDoer() { if (proxy == null) { return; } addrIP trg = clntDns.justResolv(target, proxy.prefer); if (trg == null) { return; } pipe = proxy.doConnect(servGeneric.protoTcp, trg, prtR, "pckotxt"); if (pipe == null) { return; } pipe.setTime(120000); pipe.lineRx = pipeSide.modTyp.modeCRorLF; pipe.lineTx = pipeSide.modTyp.modeCRLF; packHolder pck = new packHolder(true, true); for (;;) { if (pipe == null) { break; } if (pipe.isClosed() != 0) { break; } String s = pipe.lineGet(0x11); if (s == null) { break; } if (s.length() < 1) { continue; } byte[] buf = encBase64.decodeBytes(s); if (buf == null) { continue; } pck.clear(); pck.putCopy(buf, 0, 0, buf.length); pck.putSkip(buf.length); pck.merge2beg(); upper.recvPack(pck); } } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { if (pipe == null) { return; } pck.putDefaults(); pipe.linePut(encBase64.encodeBytes(pck.getCopy())); } } freeRtr-25.11.9/src/org/freertr/clnt/clntPckOudp.java000066400000000000000000000165171510423065500223750ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwdIface; import org.freertr.pack.packHolder; import org.freertr.prt.prtGenConn; import org.freertr.prt.prtServP; import org.freertr.prt.prtUdp; import org.freertr.serv.servPckOudp; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * packet over udp encapsulation client * * @author matecsaba */ public class clntPckOudp implements Runnable, prtServP, ifcDn { /** * create instance */ public clntPckOudp() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * remote port number */ public int prtR; /** * local port number */ public int prtL; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * counter */ public counter cntr = new counter(); private prtGenConn conn; private boolean working = true; public String toString() { return "pckOudp to " + target; } /** * get remote address * * @return address */ public addrIP getRemAddr() { if (conn == null) { return null; } return conn.peerAddr.copyBytes(); } /** * get local address * * @return address */ public addrIP getLocAddr() { if (conn == null) { return null; } return conn.iface.addr.copyBytes(); } /** * get remote port * * @return address */ public int getRemPort() { if (conn == null) { return 0; } return conn.portRem; } /** * get local port * * @return address */ public int getLocPort() { if (conn == null) { return 0; } return conn.portLoc; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 4000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { if (conn == null) { return; } cntr.tx(pck); pck.putDefaults(); conn.send2net(pck); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { addrIP trg = clntDns.justResolv(target, prefer); if (trg == null) { return; } prtUdp udp = vrf.getUdp(trg); ipFwdIface fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(trg); } if (prtR == 0) { prtR = servPckOudp.port; } if (prtL == 0) { prtL = prtR; } conn = udp.packetConnect(this, fwdIfc, prtL, trg, prtR, "pckOudp", -1, null, -1, -1); if (conn == null) { return; } conn.timeout = 120000; conn.sendTOS = sendingTOS; conn.sendDFN = sendingDFN; conn.sendFLW = sendingFLW; conn.sendTTL = sendingTTL; for (;;) { bits.sleep(1000); if (!working) { return; } if (conn.txBytesFree() < 0) { return; } } } private void clearState() { if (conn != null) { conn.setClosing(); } } /** * close interface * * @param ifc interface */ public void closedInterface(ipFwdIface ifc) { } /** * accept connection * * @param id connection * @return false on success, true on error */ public boolean datagramAccept(prtGenConn id) { return true; } /** * connection ready * * @param id connection */ public void datagramReady(prtGenConn id) { } /** * close connection * * @param id connection */ public void datagramClosed(prtGenConn id) { } /** * work connection * * @param id connection */ public void datagramWork(prtGenConn id) { } /** * received error * * @param id connection * @param pck packet * @param rtr reporting router * @param err error happened * @param lab error label * @return false on success, true on error */ public boolean datagramError(prtGenConn id, packHolder pck, addrIP rtr, counter.reasons err, int lab) { return false; } /** * notified that state changed * * @param id id number to reference connection * @param stat state * @return return false if successful, true if error happened */ public boolean datagramState(prtGenConn id, state.states stat) { return false; } /** * received packet * * @param id connection * @param pck packet * @return false on success, true on error */ public boolean datagramRecv(prtGenConn id, packHolder pck) { cntr.rx(pck); upper.recvPack(pck); return false; } } freeRtr-25.11.9/src/org/freertr/clnt/clntPing.java000066400000000000000000000043401510423065500217140ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdEcho; import org.freertr.ip.ipFwdEchod; import org.freertr.ip.ipFwdIface; import org.freertr.tab.tabAverage; import org.freertr.util.logger; /** * ping client * * @author matecsaba */ public class clntPing implements Runnable { /** * create instance */ public clntPing() { } /** * measurement */ public tabAverage meas; /** * forwarder */ public ipFwd fwd; /** * source */ public ipFwdIface src; /** * target */ public addrIP trg; /** * mpls mode */ public int mpls = 0; /** * nexthop */ public addrIP hop = null; /** * timeout */ public int timeout = 1000; /** * size */ public int size = 64; /** * ttl */ public int tim2liv = 255; /** * sgt */ public int secGrp = 0; /** * tos */ public int typOsrv = 0; /** * flow label */ public int flowLab = 0; /** * data pattern */ public int datPat = 0; /** * do work */ public void doWork() { new Thread(this).start(); } public void run() { try { ipFwdEcho ping = fwd.echoSendReq(src.addr, trg, mpls, hop, size, false, -1, tim2liv, secGrp, typOsrv, flowLab, datPat, false); if (ping == null) { return; } if (ping.notif.totalNotifies() < 1) { ping.notif.sleep(timeout); } if (ping.notif.totalNotifies() < 1) { return; } if (ping.res.size() < 1) { return; } int tim = -1; for (int o = 0; o < ping.res.size(); o++) { ipFwdEchod res = ping.res.get(o); if (res.err != null) { continue; } tim = res.tim; break; } if (tim < 0) { return; } meas.addValue(tim); } catch (Exception e) { logger.traceback(e); } } } freeRtr-25.11.9/src/org/freertr/clnt/clntPmtud.java000066400000000000000000000103551510423065500221130ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdEcho; import org.freertr.pipe.pipeDiscard; import org.freertr.pipe.pipeSide; import org.freertr.prt.prtIcmptun; import org.freertr.util.bits; /** * path mtu discovery * * @author matecsaba */ public class clntPmtud { private final addrIP trg; private final ipFwd fwd; private final addrIP src; private final pipeSide pip; /** * mpls mode */ public int mpls = 0; /** * nexthop */ public addrIP hop = null; /** * filler byte */ public int data = 0; /** * timeout for reply */ public int timeout = 1000; /** * max time to run */ public int timemax = 15000; /** * timeout divider */ public int timediv = 10; /** * sgt to use */ public int sgt = 0; /** * tos to use */ public int tos = 0; /** * flow to use */ public int flow = 0; /** * alert to use */ public int alrt = -1; /** * ttl to use */ public int ttl = 255; /** * delay to use */ public int delay = 1000; /** * minimum value */ public int min = 1400; /** * maximum value */ public int max = 1600; /** * last good value */ public int last = -1; /** * perform the discovery * * @param con pipe to use * @param rem address to test * @param vrf forwarder to use * @param sou source ip to use */ public clntPmtud(pipeSide con, addrIP rem, ipFwd vrf, addrIP sou) { pip = pipeDiscard.needAny(con); trg = rem; fwd = vrf; src = sou; } public String toString() { return "" + last; } /** * do the process * * @return null if error, otherwise guessed overhead, then succeeded payload */ public int[] doer() { int ovrh = prtIcmptun.adjustSize(trg); if (fwd == null) { pip.linePut("vrf not specified"); return null; } if (trg == null) { pip.linePut("trg not specified"); return null; } pip.linePut("pmduding " + trg + ", src=" + src + ", vrf=" + fwd.vrfName + ", via=" + hop + ", ovr=" + ovrh + ", len=" + min + ".." + max + ", tim=" + timeout + ", tdiv=" + timediv + ", tmax=" + timemax + ", gap=" + delay + ", ttl=" + ttl + ", tos=" + tos + ", sgt=" + sgt + ", flow=" + flow + ", fill=" + data + ", alrt=" + alrt + " mpls=" + mpls); for (;;) { if (pip.isClosed() != 0) { pip.linePut("stopped"); return null; } if (pip.ready2rx() > 0) { pip.linePut("keypress"); return null; } if ((max - min) < 2) { break; } int mid = min + ((max - min) / 2); pip.strPut("trying (" + min + ".." + max + ") " + mid + " "); int size = mid - ovrh; ipFwdEcho ping = fwd.echoSendReq(src, trg, mpls, hop, size, true, alrt, ttl, sgt, tos, flow, data, false); if (ping == null) { pip.linePut("noroute"); return null; } for (int i = 0; i < timediv; i++) { if (ping.notif.totalNotifies() < 1) { ping.notif.sleep(timeout / timediv); continue; } break; } boolean res = false; for (int o = 0; o < ping.res.size(); o++) { if (ping.res.get(o).err != null) { continue; } res = true; break; } if (res) { pip.linePut("ok"); min = mid; last = mid; } else { pip.linePut("bad"); max = mid; } if (delay > 0) { bits.sleep(delay); } } pip.linePut("finished with min=" + min + " max=" + max + " last=" + last); int[] res = new int[2]; res[0] = ovrh; res[1] = last; return res; } } freeRtr-25.11.9/src/org/freertr/clnt/clntPolka.java000066400000000000000000000233421510423065500220700ustar00rootroot00000000000000package org.freertr.clnt; import java.math.BigInteger; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.cry.cryHashCrcPoly; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcPolka; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipFwdTab; import org.freertr.ip.ipMpls; import org.freertr.pack.packHolder; import org.freertr.tab.tabLabel; import org.freertr.tab.tabRouteEntry; import org.freertr.user.userFormat; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.notifier; import org.freertr.util.state; /** * polka tunnel client * * @author matecsaba */ public class clntPolka implements Runnable, ifcDn { /** * create instance */ public clntPolka() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * forwarder */ public ipFwd fwdCor; /** * source interface */ public ipFwdIface fwdIfc = null; /** * target */ public addrIP target; /** * ttl value */ public int ttl = 255; /** * verify encoding */ public boolean verify = false; /** * counter */ public counter cntr = new counter(); private addrIP[] targets = new addrIP[1]; private addrIP nextHop = new addrIP(); private ipFwdIface nextIfc; private byte[] routeid = null; private boolean working = false; private notifier notif = new notifier(); public String toString() { return "polka to " + target; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { if (routeid == null) { return state.states.down; } else { return state.states.up; } } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1500; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { if (routeid == null) { return; } pck.NSHmdv = routeid; pck.IPprt = pck.msbGetW(0); pck.getSkip(2); cntr.tx(pck); if (ttl >= 0) { pck.NSHttl = ttl; } else { pck.NSHttl = pck.IPttl; } pck.NSHmdt = 0; nextIfc.lower.sendPolka(pck, nextHop); } /** * get resulting route * * @param src source to use * @return route, null if no suitable */ public tabRouteEntry getResultRoute(tabRouteEntry src) { if (routeid == null) { return null; } src.best.nextHop = nextHop.copyBytes(); src.best.iface = nextIfc; src.best.labelRem = tabLabel.int2labels(ipMpls.labelImp); src.best.attribVal = routeid; return src; } /** * set targets * * @param s targets */ public void setTargets(String s) { if (s == null) { s = ""; } List trgs = new ArrayList(); cmds c = new cmds("adrs", s); for (;;) { s = c.word(); if (s.length() < 1) { break; } addrIP a = new addrIP(); if (a.fromString(s)) { continue; } trgs.add(a); } setTargets(trgs); } /** * set targets * * @param trg targets */ public void setTargets(List trg) { clearState(); addrIP[] ts = new addrIP[trg.size()]; for (int i = 0; i < ts.length; i++) { ts[i] = trg.get(i).copyBytes(); } routeid = null; targets = ts; notif.wakeup(); } /** * get targets * * @return targets */ public String getTargets() { if (targets.length < 1) { return null; } String s = ""; for (int i = 0; i < targets.length; i++) { s += " " + targets[i]; } return s.trim(); } /** * start connection */ public void workStart() { if (debugger.clntPolkaTraf) { logger.debug("starting work"); } working = true; new Thread(this).start(); } /** * stop connection */ public void workStop() { if (debugger.clntPolkaTraf) { logger.debug("stopping work"); } working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { workDoer(); } catch (Exception e) { logger.traceback(e); } notif.sleep(5000); } } private void clearState() { routeid = null; upper.setState(state.states.down); } private void workDoer() { ipFwdIface ifc = fwdIfc; if (ifc == null) { ifc = ipFwdTab.findSendingIface(fwdCor, target); } if (ifc == null) { return; } int[] ids = new int[targets.length + 1]; tabRouteEntry prev = fwdCor.actualU.route(target); if (prev == null) { if (debugger.clntPolkaTraf) { logger.debug("no route for " + target); } clearState(); return; } for (int i = targets.length - 1; i >= 0; i--) { tabRouteEntry ntry = fwdCor.actualU.route(targets[i]); if (ntry == null) { if (debugger.clntPolkaTraf) { logger.debug("no route for " + targets[i]); } clearState(); return; } if (prev.best.segrouIdx < 1) { if (debugger.clntPolkaTraf) { logger.debug("no index for " + prev); } clearState(); return; } ids[i + 1] = prev.best.segrouIdx; prev = ntry; } ids[0] = prev.best.segrouIdx; nextHop = prev.best.nextHop.copyBytes(); nextIfc = (ipFwdIface) prev.best.iface; ifcPolka plk = nextIfc.lower.getPolka(); if (plk == null) { if (debugger.clntPolkaTraf) { logger.debug("polka not enabled for " + nextIfc); } clearState(); return; } try { routeid = ifcPolka.encodeRouteIdUni(plk.coeffs, ids); } catch (Exception e) { if (debugger.clntPolkaTraf) { logger.debug("error encoding routeid for " + target); } clearState(); return; } upper.setState(state.states.up); if (!verify) { return; } try { doOneVerify(ids, ifcPolka.decodeRouteIdPoly(plk.coeffs, routeid), "poly"); doOneVerify(ids, ifcPolka.decodeRouteIdCrc(plk.coeffs, routeid), "crc"); } catch (Exception e) { if (debugger.clntPolkaTraf) { logger.debug("error decoding routeid for " + target); } return; } } private void doOneVerify(int[] ids, int[] dec, String mod) { boolean good = true; for (int i = 0; i < ids.length; i++) { if (dec[ids[i]] != ifcPolka.routeNextValue(ids, i)) { good = false; } } if (good) { return; } if (debugger.clntPolkaTraf) { logger.debug("bad routeid for " + target + " with " + mod); } } /** * get routeid show * * @return show */ public userFormat getShRoute() { if (routeid == null) { return null; } userFormat l = new userFormat("|", "mode|routeid"); l.add("hex|" + bits.byteDump(routeid, 0, -1)); l.add("poly|" + new cryHashCrcPoly(new BigInteger(routeid))); return l; } /** * get decoded show * * @return show */ public userFormat getShDecode() { if (routeid == null) { return null; } userFormat l = new userFormat("|", "index|coeff|poly|crc|equal"); ifcPolka plk = nextIfc.lower.getPolka(); int[] pol = ifcPolka.decodeRouteIdPoly(plk.coeffs, routeid); int[] crc = ifcPolka.decodeRouteIdCrc(plk.coeffs, routeid); for (int i = 0; i < plk.coeffs.length; i++) { l.add(i + "|" + bits.toHexD(plk.coeffs[i].intCoeff()) + "|" + pol[i] + "|" + crc[i] + "|" + (pol[i] == crc[i])); } return l; } } freeRtr-25.11.9/src/org/freertr/clnt/clntPop3.java000066400000000000000000000072071510423065500216450ustar00rootroot00000000000000package org.freertr.clnt; import java.io.File; import java.io.RandomAccessFile; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.cfg.cfgAll; import org.freertr.enc.encUrl; import org.freertr.pack.packText; import org.freertr.pipe.pipeDiscard; import org.freertr.pipe.pipeProgress; import org.freertr.pipe.pipeSide; import org.freertr.serv.servGeneric; import org.freertr.serv.servPop3; import org.freertr.util.bits; import org.freertr.util.debugger; import org.freertr.util.logger; /** * post office protocol 3 (rfc1939) client * * @author matecsaba */ public class clntPop3 { private pipeProgress cons; private pipeSide pipe; private RandomAccessFile fr; /** * create new client * * @param console console to use */ public clntPop3(pipeSide console) { cons = new pipeProgress(pipeDiscard.needAny(console)); } private void sendLine(String s) { if (debugger.clntPop3traf) { logger.debug("tx:" + s); } cons.debugTx(s); pipe.linePut(s); } private String getLine() { packText pck = new packText(pipe); String s = pck.codedRecv(); if (s == null) { s = ""; } if (debugger.clntFtpTraf) { logger.debug("rx:" + s); } cons.debugRx(s); return s; } private boolean downOne(int num, File trg, boolean del) { sendLine("RETR " + num); if (!getLine().toLowerCase().startsWith("+ok")) { return true; } packText pt = new packText(pipe); List txt = pt.dottedRecvAll(); cons.debugStat("got " + txt.size() + " lines"); if (bits.buf2txt(true, txt, trg.getAbsolutePath() + num + ".msg")) { return true; } if (!del) { return false; } sendLine("DELE " + num); getLine(); return false; } /** * download one file * * @param src source * @param trg target * @param del remove from server * @return result code */ public boolean download(encUrl src, File trg, boolean del) { clntProxy prx = cfgAll.getClntPrx(cfgAll.pop3proxy); if (prx == null) { return true; } addrIP srvr = clntDns.justResolv(src.server, 0); if (srvr == null) { return true; } servPop3 srv = new servPop3(); pipe = prx.doConnect(servGeneric.protoTcp, srvr, srv.srvPort(), "pop3"); if (pipe == null) { return true; } pipe.lineRx = pipeSide.modTyp.modeCRtryLF; pipe.lineTx = pipeSide.modTyp.modeCRLF; getLine(); sendLine("USER " + src.username); getLine(); sendLine("PASS " + src.password); getLine(); sendLine("STAT"); String a = getLine(); int i = a.indexOf(" "); if (i < 0) { return true; } a = a.substring(i + 1, a.length()); i = a.indexOf(" "); if (i < 0) { return true; } a = a.substring(0, i); int o = bits.str2num(a); for (i = 0; i < o; i++) { cons.debugStat("message " + (i + 1) + " of " + o); if (downOne(i + 1, trg, del)) { return true; } } sendLine("QUIT"); getLine(); pipe.setClose(); return false; } /** * clean up state */ public void cleanUp() { try { pipe.setClose(); } catch (Exception e) { } try { fr.close(); } catch (Exception e) { } } } freeRtr-25.11.9/src/org/freertr/clnt/clntPorts.java000066400000000000000000000027241510423065500221320ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ip.ipFwdIface; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeSide; import org.freertr.prt.prtTcp; /** * port scanner * * @author matecsaba */ public class clntPorts { /** * create instance */ public clntPorts() { } /** * vrf to use */ public cfgVrf vrf; /** * iface to use */ public cfgIfc ifc; /** * target address */ public addrIP trg; /** * timeout */ public int tim; /** * ttl */ public int ttl; /** * tos */ public int tos; /** * test one port * * @param sprt source port number * @param tprt target port number * @return false on one, true on close */ public boolean testOne(int sprt,int tprt) { if (trg == null) { return true; } if (vrf == null) { return true; } ipFwdIface ifc2 = null; if (ifc != null) { ifc2 = ifc.getFwdIfc(trg); } prtTcp tcp = vrf.getTcp(trg); pipeSide pip = tcp.streamConnect(new pipeLine(65536, false), ifc2, sprt, trg, tprt, "portscan", -1, null, ttl, tos); if (pip == null) { return true; } boolean res = pip.wait4ready(tim); pip.setClose(); return res; } } freeRtr-25.11.9/src/org/freertr/clnt/clntPptp.java000066400000000000000000000275261510423065500217550ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipFwdTab; import org.freertr.ip.ipPrt; import org.freertr.pack.packHolder; import org.freertr.pack.packPptp; import org.freertr.pipe.pipeSide; import org.freertr.serv.servGeneric; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.state; /** * point to point tunneling protocol (rfc2637) client * * @author matecsaba */ public class clntPptp implements Runnable, ipPrt, ifcDn { /** * create instance */ public clntPptp() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * telephone number */ public String called; /** * direction, true=outgoing, false=incoming */ public boolean direction = true; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * counter */ public counter cntr = new counter(); private pipeSide conn; private ipFwd fwdCor; private addrIP fwdTrg; private ipFwdIface fwdIfc; private int callLoc; private int callRem; private int seqRx; private int seqTx; private boolean nedRx; private boolean nedTx; private boolean working = true; public String toString() { return "pptp to " + target; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 4000000; } /** * send packet * * @param pckBin packet */ public void sendPack(packHolder pckBin) { pckBin.merge2beg(); if (callRem == 0) { return; } seqTx++; packPptp tx = new packPptp(); tx.callRem = callRem; if (nedTx) { tx.seqTx = seqTx; } if (nedRx) { tx.seqRx = seqRx; } tx.createData(pckBin); cntr.tx(pckBin); pckBin.putDefaults(); if (sendingTTL >= 0) { pckBin.IPttl = sendingTTL; } if (sendingTOS >= 0) { pckBin.IPtos = sendingTOS; } if (sendingDFN >= 0) { pckBin.IPdf = sendingDFN == 1; } if (sendingFLW >= 0) { pckBin.IPid = sendingFLW; } pckBin.IPprt = packPptp.prot; pckBin.IPsrc.setAddr(fwdIfc.addr); pckBin.IPtrg.setAddr(fwdTrg); fwdCor.protoPack(fwdIfc, null, pckBin); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { fwdTrg = clntDns.justResolv(target, prefer); if (fwdTrg == null) { return; } fwdCor = vrf.getFwd(fwdTrg); fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(fwdTrg); } if (fwdIfc == null) { fwdIfc = ipFwdTab.findSendingIface(fwdCor, fwdTrg); } if (fwdIfc == null) { return; } fwdCor.protoAdd(this, fwdIfc, fwdTrg); conn = clntProxy.makeTemp(vrf, srcIfc).doConnect(servGeneric.protoTcp, fwdTrg, packPptp.port, "pptp"); if (conn == null) { return; } conn.setTime(120000); packHolder pckBin = new packHolder(true, true); packPptp pckPtp = new packPptp(); pckPtp.fillStart(true); pckPtp.createStart(pckBin); pckPtp.createControl(pckBin); pckPtp.sendPack(conn, pckBin); if (debugger.clntPptpTraf) { logger.debug("tx " + pckPtp.dump()); } pckPtp = new packPptp(); if (pckPtp.recvPack(conn, pckBin)) { return; } if (pckPtp.parseControl(pckBin)) { return; } if (pckPtp.parseStart(pckBin, false)) { return; } if (debugger.clntPptpTraf) { logger.debug("rx " + pckPtp.dump()); } callLoc = bits.randomW(); if (direction) { pckPtp = new packPptp(); pckPtp.fillOutReq(callLoc, called); pckPtp.createOutReq(pckBin); pckPtp.createControl(pckBin); pckPtp.sendPack(conn, pckBin); if (debugger.clntPptpTraf) { logger.debug("tx " + pckPtp.dump()); } pckPtp = new packPptp(); if (pckPtp.recvPack(conn, pckBin)) { return; } if (pckPtp.parseControl(pckBin)) { return; } if (pckPtp.parseOutRep(pckBin)) { return; } if (debugger.clntPptpTraf) { logger.debug("rx " + pckPtp.dump()); } callRem = pckPtp.callLoc; } else { pckPtp = new packPptp(); pckPtp.fillInReq(callLoc, called, called); pckPtp.createInReq(pckBin); pckPtp.createControl(pckBin); pckPtp.sendPack(conn, pckBin); if (debugger.clntPptpTraf) { logger.debug("tx " + pckPtp.dump()); } pckPtp = new packPptp(); if (pckPtp.recvPack(conn, pckBin)) { return; } if (pckPtp.parseControl(pckBin)) { return; } if (pckPtp.parseInRep(pckBin)) { return; } if (debugger.clntPptpTraf) { logger.debug("rx " + pckPtp.dump()); } callRem = pckPtp.callLoc; pckPtp = new packPptp(); pckPtp.fillInCon(callRem); pckPtp.createInCon(pckBin); pckPtp.createControl(pckBin); pckPtp.sendPack(conn, pckBin); } int tim = 0; for (;;) { if (conn.isClosed() != 0) { return; } if (tim > 30) { pckPtp = new packPptp(); pckPtp.fillEcho(true, bits.randomD()); pckPtp.createEcho(pckBin); pckPtp.createControl(pckBin); pckPtp.sendPack(conn, pckBin); if (debugger.clntPptpTraf) { logger.debug("tx " + pckPtp.dump()); } tim = 0; } if (conn.ready2rx() > 0) { pckPtp = new packPptp(); if (pckPtp.recvPack(conn, pckBin)) { return; } if (pckPtp.parseControl(pckBin)) { return; } if (debugger.clntPptpTraf) { logger.debug("rx " + pckPtp.dump()); } switch (pckPtp.typ) { case packPptp.msgEchoReq: if (pckPtp.parseEcho(pckBin, true)) { return; } pckPtp.fillEcho(false, pckPtp.callLoc); pckPtp.createEcho(pckBin); pckPtp.createControl(pckBin); pckPtp.sendPack(conn, pckBin); if (debugger.clntPptpTraf) { logger.debug("tx " + pckPtp.dump()); } break; case packPptp.msgClrReq: case packPptp.msgDscNot: return; case packPptp.msgStopReq: case packPptp.msgStopRep: return; } } bits.sleep(1000); tim++; } } private void clearState() { if (conn != null) { conn.setClose(); } if (fwdIfc != null) { fwdCor.protoDel(this, fwdIfc, fwdTrg); fwdIfc = null; } callLoc = 0; callRem = 0; seqRx = 0; seqTx = 0; nedRx = false; nedTx = false; } /** * get protocol number * * @return number */ public int getProtoNum() { return packPptp.prot; } /** * close interface * * @param iface interface */ public void closeUp(ipFwdIface iface) { } /** * set state * * @param iface interface * @param stat state */ public void setState(ipFwdIface iface, state.states stat) { } /** * received packet * * @param rxIfc interface * @param pckBin packet */ public void recvPack(ipFwdIface rxIfc, packHolder pckBin) { packPptp pckRx = new packPptp(); if (pckRx.parseData(pckBin)) { cntr.drop(pckBin, counter.reasons.badHdr); return; } if (pckRx.callRem != callLoc) { cntr.drop(pckBin, counter.reasons.badID); return; } if (pckBin.dataSize() < 1) { return; } nedTx = pckRx.seqTx >= 0; nedRx = pckRx.seqRx >= 0; if (nedTx) { seqRx = pckRx.seqTx; } cntr.rx(pckBin); upper.recvPack(pckBin); } /** * alert packet * * @param rxIfc interface * @param pck packet * @return false on success, true on error */ public boolean alertPack(ipFwdIface rxIfc, packHolder pck) { return true; } /** * error packet * * @param err error reason * @param rtr address * @param rxIfc interface * @param pck packet */ public void errorPack(counter.reasons err, addrIP rtr, ipFwdIface rxIfc, packHolder pck) { } } freeRtr-25.11.9/src/org/freertr/clnt/clntProxy.java000066400000000000000000000360431510423065500221450ustar00rootroot00000000000000package org.freertr.clnt; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.Socket; import org.freertr.addr.addrIP; import org.freertr.addr.addrIPv4; import org.freertr.addr.addrIPv6; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgInit; import org.freertr.cfg.cfgVrf; import org.freertr.enc.encUrl; import org.freertr.ip.ipFwdIface; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeSide; import org.freertr.prt.prtGen; import org.freertr.prt.prtLocTcp; import org.freertr.prt.prtLocUdp; import org.freertr.sec.secClient; import org.freertr.sec.secWebsock; import org.freertr.serv.servGeneric; import org.freertr.util.bits; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.syncInt; /** * proxy connection client * * @author matecsaba */ public class clntProxy { /** * startup counter */ public final static syncInt cntrStart = new syncInt(0); /** * error counter */ public final static syncInt cntrError = new syncInt(0); /** * stop counter */ public final static syncInt cntrStop = new syncInt(0); /** * name of this proxy */ public String name; /** * prefer ip protocol 0=default, 4=ip4, 6=ip6 */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * port number */ public int port; /** * public key */ public byte[] pubkey; /** * username to use */ public String username = null; /** * password to use */ public String password = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * lower proxy to use */ public clntProxy lowProxy = null; /** * security protocol to use */ public int secProto = 0; /** * ttl */ public int tim2liv = -1; /** * tos */ public int typOsrv = -1; /** * proxy protocol to use */ public proxyType prxProto = proxyType.local; /** * type of proxy */ public enum proxyType { /** * use local stack */ local, /** * use socks4 proxy */ sock4, /** * use socks5 proxy */ sock5, /** * use websock proxy */ websock, /** * use http proxy */ http, /** * use host os stack */ host } /** * convert proxy type to string * * @param i proxy type * @return string */ public static String type2string(proxyType i) { switch (i) { case local: return "local"; case sock4: return "socks4"; case sock5: return "socks5"; case websock: return "websock"; case http: return "http"; case host: return "hostos"; default: return "unknown=" + i; } } /** * convert string to proxy type * * @param s string * @return proxy type */ public static proxyType string2type(String s) { if (s.equals("local")) { return proxyType.local; } if (s.equals("socks4")) { return proxyType.sock4; } if (s.equals("socks5")) { return proxyType.sock5; } if (s.equals("websock")) { return proxyType.websock; } if (s.equals("http")) { return proxyType.http; } if (s.equals("hostos")) { return proxyType.host; } return proxyType.local; } /** * create client * * @param nam name of proxy config */ public clntProxy(String nam) { name = nam; } public String toString() { return name; } /** * create new proxy config * * @param vrf vrf to use * @param ifc interface to use * @return proxy config */ public static clntProxy makeTemp(cfgVrf vrf, cfgIfc ifc) { clntProxy res = new clntProxy("temporary"); res.vrf = vrf; res.srcIfc = ifc; return res; } /** * open one connection * * @param cProto protocol to use from servGeneric * @param cAddr target address * @param cPort target port * @param cName client name * @return pipeline, null on error */ public pipeSide doConnect(int cProto, addrIP cAddr, int cPort, String cName) { cntrStart.add(1); if (debugger.clntProxyTraf) { logger.debug("connecting to " + servGeneric.proto2string(cProto) + " " + cAddr + " " + cPort); } if (cAddr == null) { cntrError.add(1); return null; } pipeSide pip = null; cProto &= servGeneric.protoTrns; clntProxy curPrx = lowProxy; if (curPrx == null) { curPrx = clntProxy.makeTemp(vrf, srcIfc); } if (prxProto == proxyType.websock) { encUrl url = new encUrl(); url.fromString("http://" + target + "/"); url.port = port; url.server = target; if (debugger.clntProxyTraf) { logger.debug("using websock " + url.dump()); } pip = secWebsock.doConnect(curPrx, pubkey, url, "binary"); if (pip == null) { cntrError.add(1); return null; } secWebsock ws = new secWebsock(pip, new pipeLine(65536, false)); ws.startClient(); pip = ws.getPipe(); cntrStop.add(1); return pip; } if (prxProto == proxyType.host) { if (debugger.clntProxyTraf) { logger.debug("using host stack"); } switch (cProto) { case servGeneric.protoTcp: try { Socket sck = new Socket("" + cAddr, cPort); pipeLine pl = new pipeLine(65536, false); prtLocTcp.doSession(pl.getSide(), sck); pip = pl.getSide(); pip.setReady(); } catch (Exception e) { cntrError.add(1); return null; } break; case servGeneric.protoUdp: try { DatagramSocket sck = new DatagramSocket(); sck.connect(InetAddress.getByName("" + cAddr), cPort); pipeLine pl = new pipeLine(65536, true); prtLocUdp.doSession(pl.getSide(), sck); pip = pl.getSide(); pip.setReady(); } catch (Exception e) { cntrError.add(1); return null; } break; } if (pip == null) { cntrError.add(1); return null; } pip.setTime(120000); pip = secClient.openSec(pip, secProto, pubkey, username, password); if (pip == null) { cntrError.add(1); return null; } pip.setTime(180000); cntrStop.add(1); return pip; } if (vrf == null) { cntrError.add(1); return null; } if (prxProto == proxyType.local) { if (debugger.clntProxyTraf) { logger.debug("using local stack on vrf " + vrf.name); } prtGen prt; ipFwdIface ipif = null; if (srcIfc != null) { ipif = srcIfc.getFwdIfc(cAddr); } pipeLine pil; switch (cProto) { case servGeneric.protoTcp: prt = vrf.getTcp(cAddr); pil = new pipeLine(65536, false); break; case servGeneric.protoUdp: prt = vrf.getUdp(cAddr); pil = new pipeLine(65536, true); break; case servGeneric.protoLudp: prt = vrf.getLudp(cAddr); pil = new pipeLine(65536, true); break; case servGeneric.protoDccp: prt = vrf.getDccp(cAddr); pil = new pipeLine(65536, true); break; case servGeneric.protoSctp: prt = vrf.getSctp(cAddr); pil = new pipeLine(65536, true); break; default: cntrError.add(1); return null; } pip = prt.streamConnect(pil, ipif, 0, cAddr, cPort, cName, -1, null, tim2liv, typOsrv); if (pip == null) { cntrError.add(1); return null; } pip.setTime(120000); if (pip.wait4ready(120000)) { pip.setClose(); cntrError.add(1); return null; } pip = secClient.openSec(pip, secProto, pubkey, username, password); if (pip == null) { cntrError.add(1); return null; } pip.setTime(180000); cntrStop.add(1); return pip; } if (cProto != servGeneric.protoTcp) { cntrError.add(1); return null; } if (debugger.clntProxyTraf) { logger.debug("using " + type2string(prxProto) + " at " + target + " " + port + " on vrf " + vrf.name); } addrIP adr = clntDns.justResolv(target, prefer); if (adr == null) { cntrError.add(1); return null; } pip = curPrx.doConnect(servGeneric.protoTcp, adr, port, cName); if (pip == null) { cntrError.add(1); return null; } pip = secClient.openSec(pip, secProto, pubkey, username, password); if (pip == null) { cntrError.add(1); return null; } pipeSide.modTyp rm = pip.lineRx; pipeSide.modTyp tm = pip.lineTx; pip.lineTx = pipeSide.modTyp.modeCRLF; pip.lineRx = pipeSide.modTyp.modeCRtryLF; boolean good; switch (prxProto) { case sock4: good = !doConSock4(pip, cAddr, cPort); break; case sock5: good = !doConSock5(pip, cAddr, cPort); break; case http: good = !doConHttp(pip, cAddr, cPort); break; default: good = false; break; } pip.lineRx = rm; pip.lineTx = tm; if (debugger.clntProxyTraf) { logger.debug("result=" + good); } if (good) { cntrStop.add(1); return pip; } cntrError.add(1); pip.setClose(); return null; } private boolean doConSock4(pipeSide pip, addrIP cAddr, int cPort) { if (!cAddr.isIPv4()) { return true; } byte[] buf = new byte[8]; buf[0] = 4; // version buf[1] = 1; // connect bits.msbPutW(buf, 2, cPort); cAddr.toIPv4().toBuffer(buf, 4); pip.blockingPut(buf, 0, buf.length); if (username != null) { pip.strPut(username); } buf = new byte[1]; buf[0] = 0; pip.blockingPut(buf, 0, buf.length); buf = new byte[8]; if (pip.blockingGet(buf, 0, buf.length) != buf.length) { return true; } if (buf[0] != 4) { return true; } if (buf[1] != 90) { return true; } return false; } private boolean doConSock5(pipeSide pip, addrIP cAddr, int cPort) { int i; if (username == null) { i = 0; } else { i = 2; } byte[] buf = new byte[3]; buf[0] = 5; buf[1] = 1; buf[2] = (byte) (i & 0xff); pip.blockingPut(buf, 0, buf.length); buf = new byte[2]; if (pip.blockingGet(buf, 0, buf.length) != buf.length) { return true; } switch (buf[1] & 0xff) { case 0: break; case 2: buf = new byte[2]; buf[0] = 1; buf[1] = (byte) (username.length() & 0xff); pip.blockingPut(buf, 0, buf.length); pip.strPut(username); buf = new byte[1]; buf[0] = (byte) (password.length() & 0xff); pip.blockingPut(buf, 0, buf.length); pip.strPut(password); buf = new byte[2]; if (pip.blockingGet(buf, 0, buf.length) != buf.length) { return true; } if (buf[1] != 0) { return true; } break; default: return true; } buf = new byte[3]; buf[0] = 5; buf[1] = 1; buf[2] = 0; pip.blockingPut(buf, 0, buf.length); if (cAddr.isIPv4()) { buf = new byte[addrIPv4.size + 1]; buf[0] = 1; cAddr.toIPv4().toBuffer(buf, 1); } else { buf = new byte[addrIPv6.size + 1]; buf[0] = 4; cAddr.toIPv6().toBuffer(buf, 1); } pip.blockingPut(buf, 0, buf.length); buf = new byte[2]; bits.msbPutW(buf, 0, cPort); pip.blockingPut(buf, 0, buf.length); buf = new byte[4]; if (pip.blockingGet(buf, 0, buf.length) != buf.length) { return true; } if (buf[1] != 0) { return true; } switch (buf[3]) { case 1: i = addrIPv4.size; break; case 4: i = addrIPv6.size; break; default: return true; } buf = new byte[i + 2]; if (pip.blockingGet(buf, 0, buf.length) != buf.length) { return true; } return false; } private boolean doConHttp(pipeSide pip, addrIP cAddr, int cPort) { pip.strPut("CONNECT "); boolean enc = !cAddr.isIPv4(); if (enc) { pip.strPut("["); } pip.strPut("" + cAddr); if (enc) { pip.strPut("]"); } pip.strPut(":" + cPort); pip.linePut(" HTTP/1.1"); pip.linePut("User-Agent: " + cfgInit.versionAgent); String s = clntHttp.getAuthor(username, password); if (s != null) { pip.linePut(s); } pip.linePut(""); for (;;) { s = pip.lineGet(1); if (s.length() < 1) { break; } } return pip.isClosed() != 0; } } freeRtr-25.11.9/src/org/freertr/clnt/clntPulse.java000066400000000000000000000331661510423065500221170ustar00rootroot00000000000000package org.freertr.clnt; import java.util.List; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIPv4; import org.freertr.addr.addrIPv6; import org.freertr.addr.addrType; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgInit; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcEther; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.pack.packHolder; import org.freertr.pack.packPulse; import org.freertr.pipe.pipeSide; import org.freertr.user.userFormat; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.enc.encXml; import org.freertr.enc.encXmlEntry; import org.freertr.enc.encUrl; import org.freertr.util.logger; import org.freertr.util.state; import org.freertr.enc.encTlv; /** * pulse client * * @author matecsaba */ public class clntPulse implements Runnable, ifcDn { /** * create instance */ public clntPulse() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * target of tunnel */ public String target = null; /** * proxy profile */ public clntProxy proxy; /** * public key */ public byte[] pubkey; /** * username to use */ public String username = null; /** * password to use */ public String password = null; /** * config class */ public cfgIfc cfger; /** * counter */ public counter cntr = new counter(); private boolean working = true; private pipeSide pipe; private boolean good; private String cookie; private encUrl url; private addrIPv4 addr4; private addrIPv6 addr6; private packPulse pckTx; /** * get hw address * * @return address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter more * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper level * * @param server upper */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu */ public int getMTUsize() { return 1504; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { if (!good) { return; } if (pckTx == null) { return; } cntr.tx(pck); pck.getSkip(2); pck.putDefaults(); if (debugger.clntPulseTraf) { logger.debug("tx " + pck.dump()); } pckTx.sendPack(pck); } private void clearState() { good = false; if (pipe != null) { pipe.setClose(); } pckTx = null; cookie = null; addr4 = null; addr6 = null; } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } private void parseAvps(packHolder pckBin) { for (;;) { encTlv tlv = packPulse.getAvp(pckBin); if (tlv == null) { break; } if (debugger.clntPulseTraf) { logger.debug("tlv: " + tlv.dump()); } } } private void parseAttrs(packHolder pck, int ofs, int len) { if (pck.msbGetD(ofs + 4) != 0x03000000) { return; } ofs += 8; len -= 8; for (;;) { if (len < 1) { break; } int typ = pck.msbGetW(ofs + 0); int siz = pck.msbGetW(ofs + 2); ofs += 4; len -= 4; if (debugger.clntPulseTraf) { logger.debug("attr typ=" + typ + " len=" + siz); } switch (typ) { case 1: addr4 = new addrIPv4(); pck.getAddr(addr4, ofs); break; case 8: addr6 = new addrIPv6(); pck.getAddr(addr6, ofs); break; } ofs += siz; len -= siz; } } private void workDoer() { url = encUrl.parseOne(target); clntHttp cln = new clntHttp(null, proxy, pubkey, debugger.clntPulseTraf); if (cln.doConnect(url)) { return; } cln.sendLine("GET /" + url.toPathName() + " HTTP/1.1"); cln.sendLine("Connection: keep-alive"); cln.sendLine("User-Agent: " + cfgInit.versionAgent); cln.sendLine("Host: " + url.server); cln.sendLine(""); cln.doHeaders(url); cln.doBody(); cln.cleanUp(); cln = new clntHttp(null, proxy, pubkey, debugger.clntPulseTraf); if (cln.doConnect(url)) { return; } cln.sendLine("GET /" + url.toPathName() + " HTTP/1.1"); cln.sendLine("User-Agent: " + cfgInit.versionAgent); cln.sendLine("Host: " + url.server); cln.sendLine(""); cln.doHeaders(url); List buf = cln.doBody(); cln.cleanUp(); if (buf == null) { return; } encXml xml = new encXml(); xml.setup2html(); if (xml.fromString(buf)) { return; } String realm = null; for (int o = 0; o < xml.data.size(); o++) { encXmlEntry ntry = xml.data.get(o); if (!ntry.name.endsWith("/form/input")) { continue; } List lst = encXml.decodeParams(ntry.param); int i = encXml.findParam(lst, "|name|"); if (i < 0) { continue; } if (!lst.get(i).data.trim().toLowerCase().equals("realm")) { continue; } i = encXml.findParam(lst, "|value|"); if (i < 0) { continue; } realm = lst.get(i).data.trim(); } if (realm == null) { return; } cln = new clntHttp(null, proxy, pubkey, debugger.clntPulseTraf); if (cln.doConnect(url)) { return; } url.filName = "login"; url.filExt = ".cgi"; String s = "tz_offset=60&username=" + encUrl.percentEncode(username) + "&password=" + encUrl.percentEncode(password) + "&realm=" + encUrl.percentEncode(realm) + "&btnSubmit=Sign+In"; cln.sendLine("POST /" + url.toPathName() + " HTTP/1.1"); cln.sendLine("User-Agent: " + cfgInit.versionAgent); cln.sendLine("Host: " + url.server); cln.sendLine("Content-Length: " + s.length()); cln.sendLine("Content-Type: application/x-www-form-urlencoded"); cln.sendLine(""); cln.pipe.strPut(s); cln.doHeaders(url); cln.doBody(); cln.cleanUp(); int i = encXml.findParam(cln.cookies, "|dsid|"); if (i < 0) { return; } cookie = cln.cookies.get(i).data; cln = new clntHttp(null, proxy, pubkey, debugger.clntPulseTraf); if (cln.doConnect(url)) { return; } url = encUrl.parseOne(target); cln.sendLine("GET /" + url.toPathName() + " HTTP/1.1"); cln.sendLine("User-Agent: " + cfgInit.versionAgent); cln.sendLine("Host: " + url.server); cln.sendLine("Content-Length: 0"); cln.sendLine("content-Type: EAP"); cln.sendLine("Upgrade: IF-T/TLS 1.0"); cln.sendLine(""); cln.doHeaders(url); pipe = cln.pipe; pckTx = new packPulse(pipe); packPulse pckRx = new packPulse(pipe); packHolder pckBin = new packHolder(true, true); pckBin.msbPutD(0, 0x010202); pckBin.putSkip(4); pckBin.merge2beg(); pckTx.type = 0x01; // version negotiation pckTx.vendor = packPulse.vendTcg; pckTx.sendPack(pckBin); if (debugger.clntPulseTraf) { logger.debug("tx: " + pckBin.dump()); } if (pckRx.recvPack(pckBin)) { return; } if (debugger.clntPulseTraf) { logger.debug("rx: " + pckBin.dump()); } pckBin.clear(); s = "clientHostName=" + cfgAll.hostName; i = s.length() + 1; pckBin.putAsciiZ(0, i, s, 0); pckBin.putSkip(i); pckBin.merge2end(); pckTx.type = 0x88; // client info pckTx.vendor = packPulse.vendJunos; pckTx.sendPack(pckBin); if (debugger.clntPulseTraf) { logger.debug("tx: " + pckBin.dump()); } if (pckRx.recvAuth(pckBin)) { return; } if (debugger.clntPulseTraf) { logger.debug("rx: " + pckBin.dump()); } pckBin.clear(); s = "anonymous"; i = s.length(); pckBin.putAsciiZ(0, i, s, 0); pckBin.putSkip(i); pckBin.merge2end(); packPulse.putEap(pckBin, 2, 1, 1, 0); pckTx.type = 0x06; // auth req pckTx.vendor = packPulse.vendTcg; pckTx.sendAuth(pckBin); if (debugger.clntPulseTraf) { logger.debug("tx: " + pckBin.dump()); } if (pckRx.recvAuth(pckBin)) { return; } if (debugger.clntPulseTraf) { logger.debug("rx: " + pckBin.dump()); } packPulse.getEap(pckBin); parseAvps(pckBin); pckBin.clear(); packPulse.putAvp(pckBin, 0xd70, cfgInit.versionName.getBytes()); packPulse.putAvp(pckBin, 0xd53, cookie.getBytes()); packPulse.putEap(pckBin, 2, 2, 0xfe, 1); pckTx.type = 0x06; // auth req pckTx.vendor = packPulse.vendTcg; pckTx.sendAuth(pckBin); if (debugger.clntPulseTraf) { logger.debug("tx: " + pckBin.dump()); } if (pckRx.recvAuth(pckBin)) { return; } if (debugger.clntPulseTraf) { logger.debug("rx: " + pckBin.dump()); } packPulse.getEap(pckBin); parseAvps(pckBin); pckBin.clear(); packPulse.putEap(pckBin, 2, 3, 0xfe, 1); pckTx.type = 0x06; // auth req pckTx.vendor = packPulse.vendTcg; pckTx.sendAuth(pckBin); if (debugger.clntPulseTraf) { logger.debug("tx: " + pckBin.dump()); } if (pckRx.recvAuth(pckBin)) { return; } if (debugger.clntPulseTraf) { logger.debug("rx: " + pckBin.dump()); } packPulse.getEap(pckBin); parseAvps(pckBin); for (;;) { if (pckRx.recvPack(pckBin)) { return; } if (debugger.clntPulseTraf) { logger.debug("rx: " + pckBin.dump()); } if (pckRx.type == 0x8f) { break; } if (pckRx.type != 0x01) { continue; } if (pckBin.msbGetD(0x10) != 0x2c20f000) { continue; } int len; int ofs = 0x1c; if (pckBin.getByte(0x10) == 0x2e) { len = pckBin.msbGetW(0x1e); parseAttrs(pckBin, 0x1c, len); ofs += len; } len = pckBin.msbGetW(ofs + 2); ofs += len; parseAttrs(pckBin, ofs, pckBin.dataSize() - ofs); } if (debugger.clntPulseTraf) { logger.debug("addrs=" + addr4 + " " + addr6); } if (addr4 != null) { cfger.addr4changed(addr4, cfger.mask4, null); } if (addr6 != null) { cfger.addr6changed(addr6, cfger.mask6, null); } pckTx.type = 4; // data pckTx.vendor = packPulse.vendJunos; good = true; for (;;) { if (pckRx.recvPack(pckBin)) { break; } if (debugger.clntPulseTraf) { logger.debug("rx: " + pckBin.dump()); } if (pckRx.type != 4) { continue; } i = ifcEther.guessEtherType(pckBin); if (i < 0) { logger.info("got bad protocol from " + target); break; } pckBin.msbPutW(0, i); // ethertype pckBin.putSkip(2); pckBin.merge2beg(); upper.recvPack(pckBin); } } /** * get show * * @return state */ public userFormat getShow() { userFormat res = new userFormat("|", "category|value"); res.add("upper|" + upper); res.add("cntr|" + cntr); res.add("cookie|" + cookie); return res; } } freeRtr-25.11.9/src/org/freertr/clnt/clntRadius.java000066400000000000000000000160361510423065500222530ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.auth.authGeneric; import org.freertr.auth.authResult; import org.freertr.cfg.cfgAll; import org.freertr.pack.packHolder; import org.freertr.pack.packRadius; import org.freertr.pipe.pipeSide; import org.freertr.serv.servGeneric; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.util.logger; /** * remote authentication dialin user (rfc2865) client * * @author matecsaba */ public class clntRadius { /** * create instance * * @param prx proxy */ public clntRadius(clntProxy prx) { proxy = prx; } /** * target server */ public String server = null; /** * shared secret */ public String secret = null; /** * target port */ public int port; /** * proxy to use */ public clntProxy proxy; private String radUsr; private String radPwd; private packRadius radTx; private packRadius radRx; /** * do pap transaction * * @param user username * @param pass password * @return false on completion, true on error */ public boolean doPap(String user, String pass) { radUsr = user; radPwd = pass; radTx = new packRadius(); radTx.valUsrPwd = pass; return doXchg(); } /** * do chap transaction * * @param user username * @param id id used * @param chal challenge sent * @param resp response got * @return false on completion, true on error */ public boolean doChap(String user, int id, byte[] chal, byte[] resp) { radUsr = user; radPwd = ""; radTx = new packRadius(); radTx.valChpIdn = id; radTx.valChpChl = chal; radTx.valChpPwd = resp; return doXchg(); } /** * do accounting transaction * * @param user username * @param addr address * @param sess session * @param cntr counter * @param stat status */ public void doAcnt(String user, String addr, int sess, counter cntr, int stat) { radUsr = user; radPwd = ""; radTx = new packRadius(); radTx.valActSta = stat; radTx.valActSes = "" + sess; radTx.valCalling = addr; radTx.valActInB = cntr.byteRx; radTx.valActInP = (int) cntr.packRx; radTx.valActOtB = cntr.byteTx; radTx.valActOtP = (int) cntr.packTx; doXfer(); } private void doXfer() { if (secret == null) { return; } if (server == null) { return; } addrIP trg = clntDns.justResolv(server, 0); if (trg == null) { return; } clntProxy prx = cfgAll.getClntPrx(proxy); if (prx == null) { return; } if (port < 1) { port = packRadius.port2; } pipeSide conn = prx.doConnect(servGeneric.protoUdp, trg, port, "radius"); if (conn == null) { return; } conn.setTime(5000); radTx.secret = secret; radTx.valUsrNam = radUsr; radTx.valNasPrt = 2; radTx.valNasId = "vty"; radTx.valPrtTyp = 5; radTx.auther = new byte[16]; radTx.code = packRadius.typeAcoReq; radTx.idnt = bits.randomB(); if (debugger.clntRadiusTraf) { logger.debug("tx " + radTx.dump()); } packHolder pckBin = new packHolder(true, true); radTx.createPacket(pckBin, true, null); pckBin.pipeSend(conn, 0, pckBin.dataSize(), 2); conn.setClose(); } private boolean doXchg() { if (secret == null) { return true; } if (server == null) { return true; } addrIP trg = clntDns.justResolv(server, 0); if (trg == null) { return true; } clntProxy prx = cfgAll.getClntPrx(proxy); if (prx == null) { return true; } if (port < 1) { port = packRadius.port; } pipeSide conn = prx.doConnect(servGeneric.protoUdp, trg, port, "radius"); if (conn == null) { return true; } conn.setTime(5000); radTx.secret = secret; radTx.valUsrNam = radUsr; radTx.valNasPrt = 2; radTx.valNasId = "vty"; radTx.valPrtTyp = 5; radTx.auther = new byte[16]; for (int i = 0; i < radTx.auther.length; i++) { radTx.auther[i] = (byte) bits.randomB(); } radTx.code = packRadius.typeAccReq; radTx.idnt = bits.randomB(); if (debugger.clntRadiusTraf) { logger.debug("tx " + radTx.dump()); } packHolder pckBin = new packHolder(true, true); radTx.createPacket(pckBin, false, null); pckBin.pipeSend(conn, 0, pckBin.dataSize(), 2); pckBin = conn.readPacket(true); conn.setClose(); if (pckBin == null) { return true; } packRadius res = new packRadius(); if (res.parsePacket(pckBin)) { return true; } if (debugger.clntRadiusTraf) { logger.debug("rx " + res.dump()); } if (res.idnt != radTx.idnt) { return true; } byte[] buf = pckBin.getCopy(); buf = packRadius.calcReplyAuthen(res.code, res.idnt, secret, radTx.auther, buf, 0, buf.length); for (int i = 0; i < buf.length; i++) { if (buf[i] != res.auther[i]) { return true; } } radRx = res; return false; } /** * check if access allowed * * @param par parent * @param priv privilege on success * @return result */ public authResult checkResult(authGeneric par, int priv) { if (radTx == null) { return new authResult(par, authResult.authServerError, radUsr, radPwd); } if (radRx == null) { return new authResult(par, authResult.authServerError, radUsr, radPwd); } if (radRx.code != packRadius.typeAccAcc) { return new authResult(par, authResult.authBadUserPass, radUsr, radPwd); } authResult res = new authResult(par, authResult.authSuccessful, radUsr, radPwd); res.privilege = priv; if (radRx.valMgtPrv > 0) { res.privilege = radRx.valMgtPrv; } if (radRx.valFilter != null) { res.filter = radRx.valFilter; } if (radRx.valFrmAdr4 != null) { res.ipv4addr = radRx.valFrmAdr4.copyBytes(); } if (radRx.valFrmRou4 != null) { res.ipv4route = radRx.valFrmRou4; } if (radRx.valFrmAdr6 != null) { res.ipv6addr = radRx.valFrmAdr6.copyBytes(); } if (radRx.valFrmIfi != null) { res.ipv6ifid = radRx.valFrmIfi.copyBytes(); } if (radRx.valFrmRou6 != null) { res.ipv6route = radRx.valFrmRou6; } return res; } } freeRtr-25.11.9/src/org/freertr/clnt/clntRis.java000066400000000000000000000062361510423065500215620ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.cfg.cfgInit; import org.freertr.enc.encJson; import org.freertr.enc.encUrl; import org.freertr.pack.packHolder; import org.freertr.pipe.pipeSide; import org.freertr.util.bits; /** * ris live client * * @author mate csaba */ public class clntRis { private final pipeSide pipe; private final addrIP peer; /** * create instance * * @param p pipeline to use * @param a address of peer */ public clntRis(pipeSide p, addrIP a) { pipe = p; peer = a.copyBytes(); } /** * perform client connection * * @param src url to use */ public void clntConnect(encUrl src) { src.addParam("format", "sse"); pipe.lineTx = pipeSide.modTyp.modeCRLF; pipe.lineRx = pipeSide.modTyp.modeCRorLF; pipe.linePut("GET " + src.toURL(false, false, true, true) + " HTTP/1.1"); pipe.linePut("User-Agent: " + cfgInit.versionAgent); pipe.linePut("Host: " + src.server); pipe.linePut(""); } /** * perform server connection */ public void servConnect() { pipe.lineTx = pipeSide.modTyp.modeCRLF; pipe.lineRx = pipeSide.modTyp.modeCRorLF; pipe.linePut("HTTP/1.1 200 OK"); pipe.linePut("Server: " + cfgInit.versionAgent); pipe.linePut("Content-Type: text/event-stream"); pipe.linePut("Connection: keep-alive"); pipe.linePut("Cache-Control: no-cache"); pipe.linePut(""); } /** * read up one packet * * @param pck packet to read * @return 0 on ok, 1 on error, 2=skip */ public int readPacket(packHolder pck) { pck.clear(); if (pipe.isClosed() != 0) { return 1; } String a = pipe.lineGet(0x11); if (!a.startsWith("data:")) { return 2; } String s = encJson.getValue(a, "peer"); if (s == null) { return 2; } if (pck.IPsrc.fromString(s)) { return 2; } pck.IPtrg.setAddr(peer); s = encJson.getValue(a, "peer_asn"); if (s == null) { return 2; } pck.INTiface = bits.str2num(s); s = encJson.getValue(a, "raw"); if (s == null) { return 2; } int o = s.length() / 2; for (int i = 0; i < o; i++) { pck.putByte(0, bits.fromHex(s.substring(i * 2, i * 2 + 2))); pck.putSkip(1); } pck.merge2end(); pck.INTtime = bits.getTime(); return 0; } /** * write one packet * * @param pck packet to send */ public void writePacket(packHolder pck) { String a = ""; byte[] b = pck.getCopy(); for (int i = 0; i < b.length; i++) { a += bits.toHexB(b[i]); } a = "\r\n" + "event: ris_message\r\n" + "data: {\"timestamp\":" + (pck.INTtime / 1000) + ",\"peer\":\"" + pck.IPsrc + "\",\"peer_asn\":\"" + pck.INTiface + "\",\"host\":\"" + peer + "\",\"type\":\"UPDATE\",raw\":\"" + a + "\"}\r\n"; b = a.getBytes(); pipe.nonBlockPut(b, 0, b.length); } } freeRtr-25.11.9/src/org/freertr/clnt/clntSatp.java000066400000000000000000000247001510423065500217300ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.cry.cryEncrGeneric; import org.freertr.cry.cryHashGeneric; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwdIface; import org.freertr.pack.packHolder; import org.freertr.prt.prtGenConn; import org.freertr.prt.prtServP; import org.freertr.prt.prtUdp; import org.freertr.sec.secTransform; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * secure anycast tunneling protocol * * @author matecsaba */ public class clntSatp implements Runnable, prtServP, ifcDn { /** * create instance */ public clntSatp() { } /** * port number */ public final static int port = 4445; /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * source port */ public int prtL; /** * target port */ public int prtR; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * preshared secret */ public String preshared; /** * transform set to use */ public secTransform transform; /** * counter */ public counter cntr = new counter(); private prtGenConn conn; private boolean working = true; private byte[] cphrKey = null; private int cphrSiz; private int hashSiz; private cryHashGeneric hashRx; private cryEncrGeneric cphrRx; private cryHashGeneric hashTx; private cryEncrGeneric cphrTx; private int seqTx; private int endptTx; public String toString() { return "satp to " + target; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { pck.merge2beg(); if (conn == null) { return; } synchronized (cphrTx) { int i = pck.dataSize() % cphrSiz; i = cphrSiz - i; pck.putFill(0, i, i - 1); // padding pck.putSkip(i); pck.merge2end(); byte[] buf = new byte[cphrSiz]; for (i = 0; i < buf.length; i++) { buf[i] = (byte) bits.randomB(); } cphrTx.init(cphrKey, buf, true); pck.encrData(cphrTx, 0, pck.dataSize()); pck.putCopy(buf, 0, 0, buf.length); pck.putSkip(buf.length); pck.merge2beg(); pck.msbPutD(0, seqTx); pck.msbPutD(4, endptTx); pck.putSkip(8); pck.merge2beg(); seqTx++; hashTx.init(); pck.hashData(hashTx, 0, pck.dataSize()); byte[] hsh = hashTx.finish(); pck.putCopy(hsh, 0, 0, hsh.length); pck.putSkip(hsh.length); pck.merge2end(); } cntr.tx(pck); pck.putDefaults(); conn.send2net(pck); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { byte[] buf1 = preshared.getBytes(); byte[] buf2 = new byte[0]; for (; buf2.length < 1024;) { cryHashGeneric hsh = transform.getHash(); hsh.init(); hsh.update(buf1); buf1 = hsh.finish(); if (buf1.length < 1) { buf1 = preshared.getBytes(); } buf2 = bits.byteConcat(buf2, buf1); } cphrTx = transform.getEncr(); cphrRx = transform.getEncr(); byte[] res = buf2; buf1 = new byte[cphrTx.getKeySize()]; buf2 = new byte[cphrTx.getBlockSize()]; int pos = buf1.length + buf2.length; bits.byteCopy(res, 0, buf1, 0, buf1.length); bits.byteCopy(res, buf1.length, buf2, 0, buf2.length); cphrKey = buf1; cphrSiz = buf2.length; hashSiz = transform.getHash().getHashSize(); buf1 = new byte[hashSiz]; buf2 = new byte[hashSiz]; bits.byteCopy(res, pos, buf1, 0, buf1.length); bits.byteCopy(res, pos, buf2, 0, buf2.length); hashTx = transform.getHmac(buf1); hashRx = transform.getHmac(buf2); endptTx = bits.randomB(); addrIP trg = clntDns.justResolv(target, prefer); if (trg == null) { return; } prtUdp udp = vrf.getUdp(trg); ipFwdIface fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(trg); } if (prtR == 0) { prtR = port; } if (prtL == 0) { prtL = prtR; } conn = udp.packetConnect(this, fwdIfc, prtL, trg, prtR, "satp", -1, null, -1, -1); if (conn == null) { return; } conn.timeout = 120000; conn.sendTOS = sendingTOS; conn.sendDFN = sendingDFN; conn.sendFLW = sendingFLW; conn.sendTTL = sendingTTL; for (;;) { if (conn == null) { return; } if (conn.txBytesFree() < 0) { return; } bits.sleep(1000); } } private synchronized void clearState() { if (conn != null) { conn.setClosing(); } conn = null; seqTx = 0; } /** * close interface * * @param ifc interface */ public void closedInterface(ipFwdIface ifc) { } /** * accept connection * * @param id connection * @return false on success, true on error */ public boolean datagramAccept(prtGenConn id) { return true; } /** * connection ready * * @param id connection */ public void datagramReady(prtGenConn id) { } /** * connection closed * * @param id connection */ public void datagramClosed(prtGenConn id) { } /** * work connection * * @param id connection */ public void datagramWork(prtGenConn id) { } /** * received error * * @param id connection * @param pck packet * @param rtr reporting router * @param err error happened * @param lab error label * @return false on success, true on error */ public boolean datagramError(prtGenConn id, packHolder pck, addrIP rtr, counter.reasons err, int lab) { return false; } /** * notified that state changed * * @param id id number to reference connection * @param stat state * @return return false if successful, true if error happened */ public boolean datagramState(prtGenConn id, state.states stat) { return false; } /** * received packet * * @param id connection * @param pck packet * @return false on success, true on error */ public synchronized boolean datagramRecv(prtGenConn id, packHolder pck) { if (pck.dataSize() < (hashSiz + cphrSiz + 8)) { logger.info("got too small from " + target); cntr.drop(pck, counter.reasons.badLen); return false; } byte[] sum = new byte[hashSiz]; int i = pck.dataSize() - hashSiz; pck.getCopy(sum, 0, i, hashSiz); pck.setDataSize(i); hashRx.init(); pck.hashData(hashRx, 0, pck.dataSize()); if (bits.byteComp(sum, 0, hashRx.finish(), 0, hashSiz) != 0) { logger.info("got bad hash from " + target); cntr.drop(pck, counter.reasons.badSum); return false; } //int seqRx = pck.msbGetD(0); //int endptRx = pck.msbGetD(4); pck.getSkip(8); if ((pck.dataSize() % cphrSiz) != 0) { logger.info("got bad padding from " + target); cntr.drop(pck, counter.reasons.badLen); return false; } byte[] buf = new byte[cphrSiz]; pck.getCopy(buf, 0, 0, buf.length); pck.getSkip(buf.length); cphrRx.init(cphrKey, buf, false); pck.encrData(cphrRx, 0, pck.dataSize()); i = pck.dataSize() - 1; pck.setDataSize(i - pck.getByte(i)); cntr.rx(pck); upper.recvPack(pck); return false; } } freeRtr-25.11.9/src/org/freertr/clnt/clntSdwan.java000066400000000000000000000353301510423065500220760ustar00rootroot00000000000000package org.freertr.clnt; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrIPv4; import org.freertr.addr.addrIPv6; import org.freertr.addr.addrType; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgInit; import org.freertr.cfg.cfgIpsec; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipFwdTab; import org.freertr.pack.packHolder; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeSide; import org.freertr.prt.prtTcp; import org.freertr.prt.prtUdp; import org.freertr.sec.secClient; import org.freertr.serv.servGeneric; import org.freertr.serv.servSdwan; import org.freertr.tab.tabGen; import org.freertr.user.userFormat; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.state; /** * sdwan client * * @author matecsaba */ public class clntSdwan implements Runnable, ifcDn { /** * create instance */ public clntSdwan() { } /** * protocol kinds */ protected enum protoTyp { /** * l2tp */ l2tp, /** * l3tp */ l3tp, /** * tmux */ tmux, /** * ipip */ ipip, /** * icmp */ icmp, /** * gre */ gre, /** * amt */ amt, /** * gtp */ gtp, } /** * beginning of protocols */ public final static String protoBeg = "proto-"; /** * length of protocols */ public final static int protoLen = protoBeg.length(); /** * convert string to protocol * * @param s string to convert * @return protocol or null if error */ public static protoTyp string2proto(String s) { if (s.equals("l2tp")) { return protoTyp.l2tp; } if (s.equals("l3tp")) { return protoTyp.l3tp; } if (s.equals("tmux")) { return protoTyp.tmux; } if (s.equals("ipip")) { return protoTyp.ipip; } if (s.equals("icmp")) { return protoTyp.icmp; } if (s.equals("gre")) { return protoTyp.gre; } if (s.equals("amt")) { return protoTyp.amt; } if (s.equals("gtp")) { return protoTyp.gtp; } return null; } /** * select protocol * * @param p1 first list * @param p2 second list * @return selected protocol, null if none */ public static protoTyp selectProto(List p1, List p2) { for (int o = 0; o < p1.size(); o++) { protoTyp n = p1.get(o); for (int i = 0; i < p2.size(); i++) { protoTyp c = p2.get(i); if (c == n) { return c; } } } return null; } /** * target of tunnel */ public String ctrlAddr = null; /** * target of tunnel */ public int ctrlPort = 0; /** * source of tunnel */ public int dataPort = 0; /** * randomize source port */ public boolean dataRand = false; /** * passive listen percent */ public int passPerc = 0; /** * vrf of target */ public cfgVrf srcVrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * clone interface */ public cfgIfc clonIfc = null; /** * control protocol preference */ public int prefer; /** * protocol names */ public String protos; /** * list of protocols */ public List protol; /** * ipsec protection */ public cfgIpsec protect; /** * pubkey to use */ public byte[] pubkey = null; /** * username to use */ public String username = null; /** * password to use */ public String password = null; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * timeout */ public int timeout = 120000; /** * counter */ public counter cntr = new counter(); private boolean working = true; private pipeSide conn; private tabGen peers = new tabGen(); /** * forwarding core */ protected ipFwd fwdCor; /** * udp core */ protected prtUdp udpCor; /** * tcp core */ protected prtTcp tcpCor; /** * forwarding interface */ protected ipFwdIface fwdIfc; /** * my number */ protected int myNum; /** * my inner address */ protected addrIPv4 myAddr4; /** * my inner address */ protected addrIPv6 myAddr6; public String toString() { return "sdwan to " + ctrlAddr; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { server.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1500; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { } private void clearState() { if (conn != null) { conn.setClose(); } myAddr4 = new addrIPv4(); myAddr6 = new addrIPv6(); for (int i = peers.size() - 1; i >= 0; i--) { clntSdwanConn ntry = peers.get(i); if (ntry == null) { continue; } ntry.workStop(); } peers.clear(); if (dataRand) { dataPort = bits.random(cfgAll.udpRangeMin, cfgAll.udpRangeMax); } } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } /** * start connection */ public void workStart() { if (ctrlPort < 1) { ctrlPort = servSdwan.port; } if (dataPort < 1) { dataPort = ctrlPort; } if (prefer < 1) { prefer = clntDns.getPriPref(); } protol = new ArrayList(); if (protos != null) { cmds cmd = new cmds("prt", protos); for (;;) { String a = cmd.word(); if (a.length() < 1) { break; } protoTyp p = string2proto(a); if (p == null) { continue; } protol.add(p); } } if (protol.size() < 1) { protol.add(protoTyp.l2tp); } new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } private void sendLn(String s) { if (debugger.clntSdwanTraf) { logger.debug("tx: " + s); } conn.linePut(s); } private String readLn() { String s = conn.lineGet(1); if (debugger.clntSdwanTraf) { logger.debug("rx: " + s); } return s; } private void workDoer() { if (debugger.clntSdwanTraf) { logger.debug("resolving " + ctrlAddr + " for ipv" + prefer); } addrIP trg = clntDns.justResolv(ctrlAddr, prefer); if (trg == null) { logger.error("unable to resolve " + ctrlAddr); return; } fwdCor = srcVrf.getFwd(trg); tcpCor = srcVrf.getTcp(trg); udpCor = srcVrf.getUdp(trg); fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(trg); } else { fwdIfc = ipFwdTab.findSendingIface(fwdCor, trg); } if (fwdIfc == null) { return; } if (!fwdIfc.ready) { return; } if (fwdCor.ipVersion != prefer) { logger.error("unable to resolve " + ctrlAddr); return; } if (fwdIfc.addr == null) { logger.error("unable to resolve " + ctrlAddr); return; } if (debugger.clntSdwanTraf) { logger.debug("connecting " + trg); } conn = tcpCor.streamConnect(new pipeLine(65536, false), fwdIfc, 0, trg, ctrlPort, "sdwan", -1, null, -1, -1); if (conn == null) { logger.error("unable to connect " + trg); return; } conn.setTime(timeout); conn.lineRx = pipeSide.modTyp.modeCRtryLF; conn.lineTx = pipeSide.modTyp.modeCRLF; if (conn.wait4ready(timeout)) { logger.error("failed to connect " + trg); return; } sendLn("sdwan"); if (!readLn().equals("okay")) { logger.error("unable to validate " + trg); return; } conn = secClient.openSec(conn, servGeneric.protoSsh, pubkey, username, password); if (conn == null) { logger.error("unable to authenticate " + trg); return; } conn.setTime(timeout); conn.lineRx = pipeSide.modTyp.modeCRtryLF; conn.lineTx = pipeSide.modTyp.modeCRLF; sendLn("hello"); sendLn("username " + username); sendLn("software " + cfgInit.versionFull); sendLn("middleware " + cfgInit.getVMname()); sendLn("kernel " + cfgInit.getKernelName()); sendLn("hardware " + cfgInit.hwIdNum + " " + cfgInit.getCPUname() + " " + cfgInit.getMemoryInfo()); sendLn("forwarder " + cfgInit.getHWfwd1liner()); sendLn("needaddr " + (clonIfc.addr4 != null) + " " + (clonIfc.addr6 != null)); sendLn("myaddr " + clonIfc.addr4 + " " + clonIfc.addr6); String a = ""; for (int i = 0; i < protol.size(); i++) { a += " proto-" + protol.get(i); } if (clonIfc.disableMacsec) { a += " nomacsec"; } if (clonIfc.disableSgt) { a += " nosgt"; } if (clonIfc.ppp != null) { if (clonIfc.ppp.fragLen > 0) { a += " frag " + clonIfc.ppp.fragLen; } } if (clonIfc.frmrly != null) { if (clonIfc.frmrly.fragLen > 0) { a += " frag " + clonIfc.frmrly.fragLen; } } sendLn("myendpoint " + prefer + " " + fwdIfc.addr + " " + dataPort + " " + a); sendLn("nomore"); for (;;) { a = readLn(); cmds cmd = new cmds("sdw", a); a = cmd.word(); if (a.length() < 1) { if (conn.isClosed() != 0) { return; } continue; } if (a.equals("nomore")) { break; } if (a.equals("hello")) { continue; } if (a.equals("youraddr")) { myAddr4.fromString(cmd.word()); myAddr6.fromString(cmd.word()); continue; } if (a.equals("yourid")) { myNum = bits.str2num(cmd.word()); continue; } logger.warn("got unknown command: " + cmd.getOriginal()); } logger.info("neighbor " + trg + " up"); for (;;) { if (doRound()) { break; } } logger.warn("neighbor " + trg + " down"); } private boolean doRound() { String a = readLn(); cmds cmd = new cmds("sdw", a); a = cmd.word(); if (a.length() < 1) { return conn.isClosed() != 0; } if (a.equals("echo")) { sendLn("echoed " + cmd.getRemaining()); return false; } if (a.equals("endpoint_add")) { clntSdwanConn ntry = new clntSdwanConn(this); ntry.fromString(cmd); if (ntry.ver != prefer) { return false; } if (ntry.protos == null) { return false; } clntSdwanConn old = peers.del(ntry); if (old != null) { old.workStop(); } ntry.workStart(); peers.put(ntry); return false; } if (a.equals("endpoint_del")) { clntSdwanConn ntry = new clntSdwanConn(this); ntry.fromString(cmd); if (ntry.ver != prefer) { return false; } ntry = peers.del(ntry); if (ntry == null) { return false; } ntry.workStop(); return false; } return false; } /** * get show * * @return state */ public userFormat getShow() { userFormat l = new userFormat("|", "user|proto|peer|port|num|iface|addr4|addr6"); for (int i = 0; i < peers.size(); i++) { clntSdwanConn ntry = peers.get(i); if (ntry == null) { continue; } ntry.getShow(l); } return l; } } freeRtr-25.11.9/src/org/freertr/clnt/clntSdwanConn.java000066400000000000000000000273721510423065500227230ustar00rootroot00000000000000package org.freertr.clnt; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.cfg.cfgIfc; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwdIface; import org.freertr.pack.packHolder; import org.freertr.prt.prtGenConn; import org.freertr.prt.prtGre; import org.freertr.prt.prtIcmptun; import org.freertr.prt.prtServP; import org.freertr.prt.prtTmux; import org.freertr.prt.prtIpIp; import org.freertr.user.userFormat; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.state; /** * sdwan connection * * @author matecsaba */ public class clntSdwanConn implements Runnable, prtServP, Comparable { /** * parent */ public final clntSdwan lower; /** * ip version */ public int ver; /** * remote address */ public addrIP addr; /** * remote port */ public int port; /** * neighbor id */ public int peerId; /** * inner ipv4 */ public addrIP peer4; /** * inner ipv6 */ public addrIP peer6; /** * peer name */ public String name; /** * list of protocols */ public List protol; /** * selected protocol */ public clntSdwan.protoTyp protos; private cfgIfc ifc; private ifcUp upper = new ifcNull(); private counter cntr = new counter(); private prtGenConn conn; private boolean noMacsec; private boolean noSgt; private int frags; private boolean need2work = true; private prtServP wrkrPrtCl; private clntL2tp2 prtL2tp2; private clntL2tp3 prtL2tp3; private prtTmux prtTmux; private prtIpIp prtIpIp; private prtIcmptun prtIcmp; private prtGre prtGre; private clntAmt prtAmt; private clntGtp prtGtp; /** * create instance * * @param parent lower layer */ public clntSdwanConn(clntSdwan parent) { lower = parent; } public String toString() { return "sdwan to " + addr; } public int compareTo(clntSdwanConn o) { if (port < o.port) { return -1; } if (port > o.port) { return +1; } return addr.compareTo(o.addr); } /** * read string * * @param cmd string */ public void fromString(cmds cmd) { ver = bits.str2num(cmd.word()); addr = new addrIP(); addr.fromString(cmd.word()); port = bits.str2num(cmd.word()); peerId = bits.str2num(cmd.word()); peer4 = new addrIP(); peer4.fromString(cmd.word()); peer6 = new addrIP(); peer6.fromString(cmd.word()); name = cmd.word(); protol = new ArrayList(); for (;;) { String a = cmd.word(); if (a.length() < 1) { break; } if (a.equals("nomacsec")) { noMacsec = true; continue; } if (a.equals("nosgt")) { noSgt = true; continue; } if (a.equals("frag")) { frags = bits.str2num(cmd.word()); continue; } if (!a.startsWith(clntSdwan.protoBeg)) { continue; } a = a.substring(clntSdwan.protoLen, a.length()); clntSdwan.protoTyp p = clntSdwan.string2proto(a); if (p == null) { continue; } protol.add(p); } if (protol.size() < 1) { protol.add(clntSdwan.protoTyp.l2tp); } if (lower.myNum < peerId) { protos = clntSdwan.selectProto(lower.protol, protol); } else { protos = clntSdwan.selectProto(protol, lower.protol); } } /** * stop connection */ public synchronized void workStop() { if (debugger.clntSdwanTraf) { logger.debug("stopping peer " + addr + " " + port); } need2work = false; if (ifc != null) { ifc.cloneStop(); } lower.udpCor.listenStop(lower.fwdIfc, lower.dataPort, addr, 0); if (conn != null) { conn.setClosing(); } switch (protos) { case l3tp: prtL2tp3.closeDn(); break; case tmux: prtTmux.closeDn(); break; case ipip: prtIpIp.closeDn(); break; case icmp: prtIcmp.closeDn(); break; case gre: prtGre.closeDn(); break; } ifc = null; conn = null; } private void doReconnect() { switch (protos) { case l3tp: prtL2tp3.setConnection(lower.fwdIfc, addr, lower.fwdCor, (peerId << 16) | lower.myNum, (lower.myNum << 16) | peerId); return; case tmux: prtTmux.setEndpoints(lower.fwdIfc, addr); return; case ipip: prtIpIp.setEndpoints(lower.fwdIfc, addr); return; case icmp: prtIcmp.setEndpoints(lower.fwdIfc, addr); return; case gre: prtGre.setEndpoints(lower.fwdIfc, addr, true); return; } if (conn != null) { conn.setClosing(); conn = null; } if (bits.random(1, 100) < lower.passPerc) { logger.warn("accepting " + addr + " " + port); lower.udpCor.packetListen(this, lower.fwdIfc, lower.dataPort, addr, 0, "sdwan", -1, null, -1, -1); int max = bits.random(10, 30); for (int i = 0; i < max; i++) { bits.sleep(1000); if (conn != null) { break; } } lower.udpCor.listenStop(lower.fwdIfc, lower.dataPort, addr, 0); } else { logger.warn("reconnecting " + addr + " " + port); conn = lower.udpCor.packetConnect(this, lower.fwdIfc, lower.dataPort, addr, port, "sdwan", -1, null, -1, -1); } if (conn == null) { logger.error("failed to establish " + addr + " " + port); return; } conn.timeout = 120000; conn.sendFLW = lower.sendingFLW; conn.sendTOS = lower.sendingTOS; conn.sendDFN = lower.sendingDFN; conn.sendTTL = lower.sendingTTL; switch (protos) { case l2tp: prtL2tp2.setConnection(conn, lower.fwdCor, lower.myNum, peerId, peerId, lower.myNum); break; case amt: prtAmt.setConnection(conn, lower.fwdCor); break; case gtp: prtGtp.setConnection(conn, lower.fwdCor, (peerId << 16) | lower.myNum, (lower.myNum << 16) | peerId); break; } } /** * stop connection */ public void workStart() { if (debugger.clntSdwanTraf) { logger.debug("starting peer " + addr + " " + port); } upper = new ifcNull(); ifcDn wrkrIfDn = null; switch (protos) { case l2tp: prtL2tp2 = new clntL2tp2(); wrkrIfDn = prtL2tp2; wrkrPrtCl = prtL2tp2; break; case l3tp: prtL2tp3 = new clntL2tp3(); wrkrIfDn = prtL2tp3; break; case tmux: prtTmux = new prtTmux(lower.fwdCor); wrkrIfDn = prtTmux; break; case ipip: prtIpIp = new prtIpIp(lower.fwdCor); wrkrIfDn = prtIpIp; break; case icmp: prtIcmp = new prtIcmptun(lower.fwdCor); wrkrIfDn = prtIcmp; break; case gre: prtGre = new prtGre(lower.fwdCor); wrkrIfDn = prtGre; break; case amt: prtAmt = new clntAmt(); wrkrIfDn = prtAmt; wrkrPrtCl = prtAmt; break; case gtp: prtGtp = new clntGtp(); wrkrIfDn = prtGtp; wrkrPrtCl = prtGtp; break; default: return; } doReconnect(); ifc = lower.clonIfc.cloneStart(wrkrIfDn); ifc.addr4changed(lower.myAddr4, ifc.mask4, peer4.toIPv4()); ifc.addr6changed(lower.myAddr6, ifc.mask6, peer6.toIPv6()); if (noMacsec) { ifc.disableMacsec = true; ifc.ethtyp.macSec = null; ifc.ethtyp.timerUpdate(); } if (noSgt) { ifc.disableSgt = true; ifc.ethtyp.sgtHnd = null; } if ((ifc.ppp != null) && (frags > 0)) { if (ifc.ppp.fragLen > frags) { ifc.ppp.fragLen = frags; } } if ((ifc.frmrly != null) && (frags > 0)) { if (ifc.frmrly.fragLen > frags) { ifc.frmrly.fragLen = frags; } } upper = ifc.getEncapProto(); switch (protos) { case l2tp: prtL2tp2.setUpper(upper); break; case l3tp: prtL2tp3.setUpper(upper); break; case tmux: prtTmux.setUpper(upper); break; case ipip: prtIpIp.setUpper(upper); break; case icmp: prtIcmp.setUpper(upper); break; case gre: prtGre.setUpper(upper); break; case amt: prtAmt.setUpper(upper); break; case gtp: prtGtp.setUpper(upper); prtGtp.cfger = ifc; break; } new Thread(this).start(); } public void run() { for (;;) { bits.sleep(1000); if (!need2work) { break; } if (conn == null) { doReconnect(); continue; } if (conn.txBytesFree() < 0) { doReconnect(); continue; } } } /** * get show * * @param l list to update */ protected void getShow(userFormat l) { l.add(name + "|" + protos + "|" + addr + "|" + port + "|" + peerId + "|" + ifc.name + "|" + peer4 + "|" + peer6); } public boolean datagramRecv(prtGenConn id, packHolder pck) { if (conn == null) { cntr.drop(pck, counter.reasons.notUp); return false; } wrkrPrtCl.datagramRecv(id, pck); return false; } public void closedInterface(ipFwdIface ifc) { } public boolean datagramAccept(prtGenConn id) { if (conn != null) { return true; } conn = id; return false; } public void datagramReady(prtGenConn id) { } public void datagramClosed(prtGenConn id) { } public void datagramWork(prtGenConn id) { } public boolean datagramError(prtGenConn id, packHolder pck, addrIP rtr, counter.reasons err, int lab) { if (conn == null) { cntr.drop(pck, counter.reasons.notUp); return false; } wrkrPrtCl.datagramError(id, pck, rtr, err, lab); return false; } public boolean datagramState(prtGenConn id, state.states stat) { return false; } } freeRtr-25.11.9/src/org/freertr/clnt/clntSip.java000066400000000000000000001122721510423065500215560ustar00rootroot00000000000000package org.freertr.clnt; import java.util.ArrayList; import java.util.List; import java.util.Timer; import java.util.TimerTask; import org.freertr.addr.addrIP; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgDial; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipFwdTab; import org.freertr.pack.packRtp; import org.freertr.pack.packSip; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeSide; import org.freertr.prt.prtAccept; import org.freertr.prt.prtGen; import org.freertr.enc.encCodec; import org.freertr.enc.encCodecG711aLaw; import org.freertr.enc.encCodecG711uLaw; import org.freertr.enc.encUrl; import org.freertr.tab.tabGen; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.debugger; import org.freertr.util.logger; /** * session initiation protocol (rfc3261) client * * @author matecsaba */ public class clntSip implements Runnable { /** * create instance */ public clntSip() { } /** * upper */ public cfgDial upper; /** * protocol: 1=udp, 2=listen, 3=connect */ public int protocol = 1; /** * local port */ public int portLoc = 0; /** * remote port */ public int portRem = packSip.port; /** * endpoint */ public String endpt; /** * codec, true=alaw, false=ulaw */ public boolean aLaw = true; /** * keepalive interval */ public int keepalive = 0; /** * register interval */ public int register = 0; /** * subscribe interval */ public int subscribe = 0; /** * options interval */ public int options = 0; /** * number of tries */ public int retry = 8; /** * timeout in seconds */ public int timeout = 5; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * target */ public String trgDom; /** * username */ public String usr; /** * password */ public String pwd; /** * udp handler */ protected prtGen udp; /** * tcp handler */ protected prtGen tcp; /** * forwarder interface */ protected ipFwdIface srcFwd; /** * connection to peer */ protected pipeSide conn; private final tabGen outs = new tabGen(); private final tabGen ins = new tabGen(); private final tabGen msgs = new tabGen(); private ipFwd fwd; private addrIP trgAdr; private boolean need2run; private int seq; private Timer timKeep; private Timer timReg; private Timer timSub; private Timer timOpt; public void run() { if (debugger.clntSipTraf) { logger.debug("started"); } for (;;) { bits.sleep(1000); if (!need2run) { break; } try { doWork(); } catch (Exception e) { logger.traceback(e); } } if (debugger.clntSipTraf) { logger.debug("stopped"); } } /** * start work */ public void startWork() { need2run = true; seq = bits.randomD(); new Thread(this).start(); if (keepalive > 0) { timKeep = new Timer(); timKeep.schedule(new clntSipKeep(this), 500, keepalive); } if (register > 0) { timReg = new Timer(); timReg.schedule(new clntSipReg(this), 500, register); } if (subscribe > 0) { timSub = new Timer(); timSub.schedule(new clntSipSub(this), 500, subscribe); } if (options > 0) { timOpt = new Timer(); timOpt.schedule(new clntSipOpt(this), 500, options); } } /** * stop work */ public void stopWork() { need2run = false; if (conn != null) { conn.setClose(); } conn = null; for (int i = 0; i < outs.size(); i++) { try { outs.get(i).callRtp.setClose(); } catch (Exception e) { } } for (int i = 0; i < ins.size(); i++) { try { ins.get(i).data.setClose(); } catch (Exception e) { } } try { timKeep.cancel(); } catch (Exception e) { } try { timReg.cancel(); } catch (Exception e) { } try { timSub.cancel(); } catch (Exception e) { } try { timOpt.cancel(); } catch (Exception e) { } } /** * get endpoint id * * @return id */ protected String getEndpt() { return ""; } /** * get via id * * @return id */ protected String getVia() { String a; if (protocol == 1) { a = "UDP"; } else { a = "TCP"; } return "SIP/2.0/" + a + " " + encUrl.addr2str(srcFwd.addr, portLoc) + ";rport;branch=" + bits.randomD(); } /** * get contact id * * @return id */ protected String getCont() { return ""; } /** * get codec * * @return codec */ protected encCodec getCodec() { if (aLaw) { return new encCodecG711aLaw(); } else { return new encCodecG711uLaw(); } } private int findOutPort(int o) { for (int i = 0; i < outs.size(); i++) { if (outs.get(i).callPort == o) { return i; } } return -1; } private int findInPort(int o) { for (int i = 0; i < ins.size(); i++) { if (ins.get(i).callPort == o) { return i; } } return -1; } private int getDataPort() { for (;;) { int o = (bits.randomW() & 0x7ffe) + 0x4000; if (findOutPort(o) >= 0) { continue; } if (findInPort(o) >= 0) { continue; } return o; } } /** * delete the call * * @param leg call id */ protected void delCall(clntSipIn leg) { ins.del(leg); } /** * delete the call * * @param leg call id */ protected void delCall(clntSipOut leg) { outs.del(leg); } /** * send subscribe * * @param wau authentication request * @param pau authentication request */ protected void sendSub(String wau, String pau) { if (conn == null) { return; } packSip sip = new packSip(conn); seq++; sip.makeReq("SUBSCRIBE", "sip:" + endpt + "@" + encUrl.addr2str(trgAdr, 0), packSip.updateTag(getEndpt()), getEndpt(), getCont(), getVia(), "" + bits.randomD(), seq, subscribe / 250); sip.addAuthor("", wau, usr, pwd); sip.addAuthor("Proxy-", pau, usr, pwd); if (debugger.clntSipTraf) { sip.dump("tx"); } sip.writeDown(); } /** * send options * * @param wau authentication request * @param pau authentication request */ protected void sendOpt(String wau, String pau) { if (conn == null) { return; } packSip sip = new packSip(conn); seq++; sip.makeReq("OPTIONS", "sip:" + endpt + "@" + encUrl.addr2str(trgAdr, 0), packSip.updateTag(getEndpt()), getEndpt(), getCont(), getVia(), "" + bits.randomD(), seq, 0); sip.addAuthor("", wau, usr, pwd); sip.addAuthor("Proxy-", pau, usr, pwd); if (debugger.clntSipTraf) { sip.dump("tx"); } sip.writeDown(); } /** * send register * * @param wau authentication request * @param pau authentication request */ protected void sendReg(String wau, String pau) { if (conn == null) { return; } packSip sip = new packSip(conn); seq++; sip.makeReq("REGISTER", "sip:" + encUrl.addr2str(trgAdr, 0), packSip.updateTag(getEndpt()), getEndpt(), getCont(), getVia(), "" + bits.randomD(), seq, register / 250); sip.addAuthor("", wau, usr, pwd); sip.addAuthor("Proxy-", pau, usr, pwd); if (debugger.clntSipTraf) { sip.dump("tx"); } sip.writeDown(); } /** * send keepalive */ protected void sendKeep() { if (conn == null) { return; } packSip sip = new packSip(conn); if (debugger.clntSipTraf) { logger.debug("keepalive sent"); } sip.writeKeep(); } /** * get number of in calls * * @return number of calls */ public int numCallsIn() { return ins.size(); } /** * get number of out calls * * @return number of calls */ public int numCallsOut() { return outs.size(); } /** * get number of out messages * * @return number of messages */ public int numMsgsOut() { return msgs.size(); } /** * check if ready * * @return true if yes, false if no */ public boolean isReady() { if (conn == null) { return false; } if (conn.isClosed() != 0) { return false; } return conn.isReady() == 3; } /** * get call list * * @param dir direction, true=in, false=out * @return list */ public List listCalls(boolean dir) { List res = new ArrayList(); if (dir) { for (int i = 0; i < ins.size(); i++) { clntSipIn ntry = ins.get(i); if (ntry == null) { continue; } res.add(ntry.cid + "|" + ntry.src + "|" + ntry.trg + "|" + bits.timePast(ntry.started)); } } else { for (int i = 0; i < outs.size(); i++) { clntSipOut ntry = outs.get(i); if (ntry == null) { continue; } res.add(ntry.callId + "|" + ntry.callSrc + "|" + ntry.callTrg + "|" + bits.timePast(ntry.started)); } } return res; } /** * send message * * @param calling calling number * @param called called number * @param msg message * @return false on success, true on error */ public boolean sendMsg(String calling, String called, List msg) { if (conn == null) { return true; } clntSipMsg leg; for (;;) { leg = new clntSipMsg(this, null); if (ins.find(new clntSipIn(this, leg.callId)) != null) { continue; } if (outs.find(new clntSipOut(this, leg.callId)) != null) { continue; } if (msgs.add(leg) == null) { break; } } leg.callTrg = called; leg.callSrc = calling; leg.callMsg = msg; seq += 5; leg.callSeq = seq; seq += 5; boolean res = leg.doSend(); msgs.del(leg); return res; } /** * make the call * * @param calling calling number * @param called called number * @return call id, null if error */ public String makeCall(String calling, String called) { clntSipOut leg; for (;;) { leg = new clntSipOut(this, null); if (ins.find(new clntSipIn(this, leg.callId)) != null) { continue; } if (msgs.find(new clntSipMsg(this, leg.callId)) != null) { continue; } if (outs.add(leg) == null) { break; } } leg.callTrg = called; leg.callSrc = calling; seq += 5; leg.callSeq = seq; seq += 5; leg.callPort = getDataPort(); boolean res = leg.makeCall(); if (res) { leg.stopCall(false); if (upper != null) { upper.stoppedCall(true, leg.callSrc, leg.callTrg, leg.started); } return null; } return leg.callId; } /** * stop the call * * @param id call id */ public void stopCall(String id) { if (id == null) { return; } clntSipIn legI = new clntSipIn(this, id); legI = ins.find(legI); if (legI != null) { if (legI.data != null) { legI.data.setClose(); } return; } clntSipOut legO = new clntSipOut(this, id); legO = outs.find(legO); if (legO == null) { return; } if (legO.stopping) { return; } legO.stopCall(true); if (upper != null) { upper.stoppedCall(true, legO.callSrc, legO.callTrg, legO.started); } } /** * get call * * @param id call id * @return rtp */ public packRtp getCall(String id) { if (id == null) { return null; } clntSipIn legI = new clntSipIn(this, id); legI = ins.find(legI); if (legI != null) { return legI.data; } clntSipOut legO = new clntSipOut(this, id); legO = outs.find(legO); if (legO == null) { return null; } return legO.callRtp; } /** * do one round */ public void doWork() { if (conn != null) { conn.setClose(); } conn = null; trgAdr = clntDns.justResolv(trgDom, 0); if (trgAdr == null) { return; } fwd = vrf.getFwd(trgAdr); udp = vrf.getUdp(trgAdr); tcp = vrf.getTcp(trgAdr); if (srcIfc != null) { srcFwd = srcIfc.getFwdIfc(trgAdr); } else { srcFwd = ipFwdTab.findSendingIface(fwd, trgAdr); } if (srcFwd == null) { return; } switch (protocol) { case 1: conn = udp.streamConnect(new pipeLine(32768, false), srcFwd, portLoc, trgAdr, portRem, "sip", -1, null, -1, -1); break; case 2: prtAccept ac = new prtAccept(tcp, new pipeLine(32768, false), srcFwd, portLoc, trgAdr, portRem, "sip", -1, null, -1, -1); ac.wait4conn(30000); conn = ac.getConn(true); break; case 3: conn = tcp.streamConnect(new pipeLine(32768, false), srcFwd, portLoc, trgAdr, portRem, "sip", -1, null, -1, -1); break; } if (conn == null) { return; } conn.setTime(180000); conn.lineRx = pipeSide.modTyp.modeCRtryLF; conn.lineTx = pipeSide.modTyp.modeCRLF; conn.setReady(); conn.wait4ready(30000); if (conn.isReady() != 3) { conn.setClose(); conn = null; return; } if (protocol > 1) { logger.warn("neighbor " + trgDom + " up"); } packSip sip = new packSip(conn); long lastRetry = 0; for (;;) { if (!need2run) { break; } if (conn == null) { break; } if (sip.readUp()) { break; } if (debugger.clntSipTraf) { sip.dump("rx"); } String a = sip.headerGet("Call-Id", 1); clntSipOut legO = new clntSipOut(this, a); clntSipIn legI = new clntSipIn(this, a); clntSipMsg legM = new clntSipMsg(this, a); packSip tx = sip.byteCopy(null); cmds cmd = new cmds("sip", sip.command); a = cmd.word().toLowerCase(); if (a.equals("register") || a.equals("subscribe")) { tx.makeOk(sip, null, 120); tx.copyHeader(sip, "Contact"); if (debugger.clntSipTraf) { tx.dump("tx"); } tx.writeDown(); continue; } if (a.equals("options")) { tx.makeOk(sip, null, 0); if (debugger.clntSipTraf) { tx.dump("tx"); } tx.writeDown(); continue; } if (a.equals("notify")) { tx.makeOk(sip, null, 0); if (debugger.clntSipTraf) { tx.dump("tx"); } tx.writeDown(); continue; } legO = outs.find(legO); if (legO != null) { legO.callRep = sip.byteCopy(null); if (legO.callCnt == null) { continue; } if (!a.equals("bye") && !a.equals("cancel")) { continue; } tx.makeOk(sip, null, 0); if (debugger.clntSipTraf) { tx.dump("tx"); } tx.writeDown(); if (legO.stopping) { continue; } legO.stopCall(false); if (upper != null) { upper.stoppedCall(true, legO.callSrc, legO.callTrg, legO.started); } continue; } legI = ins.find(legI); if (legI != null) { legI.callRep = sip.byteCopy(null); continue; } legM = msgs.find(legM); if (legM != null) { legM.callRep = sip.byteCopy(null); continue; } if (a.length() < 1) { continue; } if (a.equals("message")) { if (upper == null) { tx.makeErr(sip, null, "not allowed"); if (debugger.clntSipTraf) { tx.dump("tx"); } tx.writeDown(); continue; } clntSipMsg msg = new clntSipMsg(this, null); msg.callSrc = sip.headerGet("From", 1); msg.callTrg = sip.headerGet("To", 1); msg.callRep = sip.byteCopy(null); msg.startWork(); continue; } if (a.startsWith("sip/")) { a = cmd.word(); if (!a.equals("401") && !a.equals("407")) { continue; } String wau = sip.headerGet("WWW-Authenticate", 1); String pau = sip.headerGet("Proxy-Authenticate", 1); cmd = new cmds("sip", sip.headerGet("CSeq", 1)); cmd.word(); a = cmd.word().toLowerCase(); long tim = bits.getTime(); if (a.equals("register")) { if ((tim - lastRetry) < 500) { continue; } sendReg(wau, pau); lastRetry = tim; continue; } if (a.equals("subscribe")) { if ((tim - lastRetry) < 500) { continue; } sendSub(wau, pau); lastRetry = tim; continue; } if (a.equals("options")) { if ((tim - lastRetry) < 500) { continue; } sendOpt(wau, pau); lastRetry = tim; continue; } continue; } if (a.equals("ack")) { continue; } if (a.equals("bye") || a.equals("cancel")) { tx.makeOk(sip, null, 0); if (debugger.clntSipTraf) { tx.dump("tx"); } tx.writeDown(); continue; } if (!a.equals("invite")) { tx.makeErr(sip, null, "bad method"); if (debugger.clntSipTraf) { tx.dump("tx"); } tx.writeDown(); continue; } if (upper == null) { tx.makeErr(sip, null, "not allowed"); if (debugger.clntSipTraf) { tx.dump("tx"); } tx.writeDown(); continue; } addrIP adr = new addrIP(); int prt = sip.sdpGetMediaEP(adr); if (prt < 1) { tx.makeErr(sip, null, "no endpoint"); if (debugger.clntSipTraf) { tx.dump("tx"); } tx.writeDown(); continue; } a = sip.headerGet("Call-Id", 1); legI = new clntSipIn(this, a); legI.adr = adr; legI.prt = prt; legI.callPort = getDataPort(); legI.callRep = sip.byteCopy(null); new Thread(legI).start(); ins.add(legI); } if (conn != null) { conn.setClose(); } conn = null; if (protocol > 1) { logger.error("neighbor " + trgDom + " down"); } if (debugger.clntSipTraf) { logger.debug("restarting"); } } } class clntSipKeep extends TimerTask { private clntSip lower; public clntSipKeep(clntSip parent) { lower = parent; } public void run() { try { lower.sendKeep(); } catch (Exception e) { logger.traceback(e); } } } class clntSipReg extends TimerTask { private clntSip lower; public clntSipReg(clntSip parent) { lower = parent; } public void run() { try { lower.sendReg(null, null); } catch (Exception e) { logger.traceback(e); } } } class clntSipSub extends TimerTask { private clntSip lower; public clntSipSub(clntSip parent) { lower = parent; } public void run() { try { lower.sendSub(null, null); } catch (Exception e) { logger.traceback(e); } } } class clntSipOpt extends TimerTask { private clntSip lower; public clntSipOpt(clntSip parent) { lower = parent; } public void run() { try { lower.sendOpt(null, null); } catch (Exception e) { logger.traceback(e); } } } class clntSipOut implements Comparable { public final clntSip lower; public final String callId; public final long started; public int callPort; public String callSrc; public String callTrg; public String callWauth; public String callPauth; public String callCnt; public int callSeq; public packSip callRep; public packRtp callRtp; public boolean stopping; public clntSipOut(clntSip prnt, String id) { if (id == null) { id = bits.randomD() + "-" + cfgAll.hostName; } callId = id; lower = prnt; started = bits.getTime(); } public int compareTo(clntSipOut o) { return callId.compareTo(o.callId); } public boolean makeCall() { callSrc = packSip.updateTag(callSrc); callWauth = null; callPauth = null; callCnt = null; callRep = null; callRtp = null; packSip callAck = null; boolean need2inv = true; for (int o = 0; o < lower.retry; o++) { if (lower.conn == null) { continue; } if (need2inv) { packSip sip = new packSip(lower.conn); sip.makeReq("INVITE", null, callSrc, callTrg, lower.getCont(), lower.getVia(), callId, callSeq, 0); sip.addAuthor("", callWauth, lower.usr, lower.pwd); sip.addAuthor("Proxy-", callPauth, lower.usr, lower.pwd); sip.makeSdp(lower.srcFwd.addr, callPort, lower.getCodec()); if (debugger.clntSipTraf) { sip.dump("tx"); } sip.writeDown(); } for (int i = 0; i < lower.timeout; i++) { bits.sleep(1000); if (callRep != null) { break; } } if (callRep == null) { continue; } packSip sip = callRep.byteCopy(null); callRep = null; cmds cmd = new cmds("sip", sip.command); if (!cmd.word().toLowerCase().startsWith("sip/")) { continue; } String a = cmd.word(); if (a.equals("401")) { callWauth = sip.headerGet("WWW-Authenticate", 1); need2inv = true; callSeq++; continue; } if (a.equals("407")) { callPauth = sip.headerGet("Proxy-Authenticate", 1); need2inv = true; callSeq++; continue; } if (a.startsWith("1")) { need2inv = false; continue; } if (a.startsWith("2")) { callAck = sip.byteCopy(null); } break; } if (callAck == null) { return true; } addrIP remA = new addrIP(); int remP = callAck.sdpGetMediaEP(remA); if (remP < 0) { return true; } callRtp = new packRtp(); if (callRtp.startConnect(lower.udp, new pipeLine(65536, true), lower.srcFwd, callPort, remA, remP)) { return true; } callTrg = callAck.headerGet("To", 1); callCnt = encUrl.fromEmail(callAck.headerGet("Contact", 1)); callAck.makeReq("ACK", null, callSrc, callTrg, lower.getCont(), lower.getVia(), callId, callSeq, 0); callAck.addAuthor("", callWauth, lower.usr, lower.pwd); callAck.addAuthor("Proxy-", callPauth, lower.usr, lower.pwd); if (debugger.clntSipTraf) { callAck.dump("tx"); } callAck.writeDown(); return false; } public void stopCall(boolean bye) { stopping = true; if (callRtp != null) { callRtp.setClose(); } if (!bye) { lower.delCall(this); return; } callRep = null; for (int o = 0; o < lower.retry; o++) { if (lower.conn == null) { continue; } packSip sip = new packSip(lower.conn); String a; if (callRtp != null) { a = "BYE"; } else { a = "CANCEL"; } sip.makeReq(a, callCnt, callSrc, callTrg, lower.getCont(), lower.getVia(), callId, callSeq + 1, 0); sip.addAuthor("", callWauth, lower.usr, lower.pwd); sip.addAuthor("Proxy-", callPauth, lower.usr, lower.pwd); if (debugger.clntSipTraf) { sip.dump("tx"); } sip.writeDown(); for (int i = 0; i < lower.timeout; i++) { bits.sleep(1000); if (callRep != null) { lower.delCall(this); return; } } } lower.delCall(this); } } class clntSipIn implements Runnable, Comparable { public final clntSip lower; public final String cid; public final long started; public addrIP adr; public int prt; public int csq; public String via; public String src; public String trg; public String cnt; public int callPort; public packSip callRep; public String newSrc; public String newTrg; public cfgDial peer; public String rcd; public packRtp data; public clntVconn conner; public clntSipIn(clntSip prnt, String id) { lower = prnt; cid = id; started = bits.getTime(); } public int compareTo(clntSipIn o) { return cid.compareTo(o.cid); } public void run() { try { doer(); } catch (Exception e) { logger.traceback(e); } } public void sendTry(packSip sip) { packSip tx = sip.byteCopy(null); tx.makeNumeric("100 trying", sip, lower.getCont()); if (debugger.clntSipTraf) { tx.dump("tx"); } tx.writeDown(); } public void sendRng(packSip sip) { packSip tx = sip.byteCopy(null); tx.makeNumeric("180 ringing", sip, lower.getCont()); if (debugger.clntSipTraf) { tx.dump("tx"); } tx.writeDown(); } public void sendSdp(packSip sip) { packSip tx = sip.byteCopy(null); tx.makeOk(sip, lower.getCont(), 0); tx.makeSdp(lower.srcFwd.addr, callPort, lower.getCodec()); if (debugger.clntSipTraf) { tx.dump("tx"); } tx.writeDown(); } public void sendBye() { callRep = null; for (int o = 0; o < lower.retry; o++) { if (lower.conn == null) { continue; } packSip tx = new packSip(lower.conn); tx.makeReq("BYE", cnt, trg, src, null, via, cid, csq + 1, 0); if (debugger.clntSipTraf) { tx.dump("tx"); } tx.writeDown(); for (int i = 0; i < lower.timeout; i++) { bits.sleep(1000); if (callRep != null) { return; } } } } public void doer() { packSip sip = callRep.byteCopy(null); callRep = null; String a = sip.headerGet("CSeq", 1) + " "; csq = a.indexOf(" "); csq = bits.str2num(a.substring(0, csq).trim()); via = sip.headerGet("Via", 1); src = sip.headerGet("From", 1); trg = sip.headerGet("To", 1); cnt = encUrl.fromEmail(sip.headerGet("Contact", 1)); sendTry(sip); trg = packSip.updateTag(trg); sip.headerSet("To", 1, trg); sendRng(sip); newSrc = lower.upper.incomeSrc(src); newTrg = lower.upper.incomeTrg(trg); peer = lower.upper.incomeCall(newSrc, newTrg); if (peer == null) { packSip tx = sip.byteCopy(null); tx.makeErr(sip, null, "no such number"); if (debugger.clntSipTraf) { tx.dump("tx"); } tx.writeDown(); lower.upper.stoppedCall(false, newSrc, newTrg, started); lower.delCall(this); return; } rcd = peer.makeCall(newSrc, newTrg); if (rcd == null) { packSip tx = sip.byteCopy(null); tx.makeErr(sip, null, "failed to make call"); if (debugger.clntSipTraf) { tx.dump("tx"); } tx.writeDown(); lower.upper.stoppedCall(false, newSrc, newTrg, started); lower.delCall(this); return; } sendSdp(sip); data = new packRtp(); if (data.startConnect(lower.udp, new pipeLine(65536, true), lower.srcFwd, callPort, adr, prt)) { sendBye(); peer.stopCall(rcd); lower.upper.stoppedCall(false, newSrc, newTrg, started); lower.delCall(this); return; } conner = new clntVconn(data, peer.getCall(rcd), lower.getCodec(), peer.getCodec()); for (;;) { if (conner.isClosed() != 0) { break; } if (lower.conn == null) { break; } if (callRep == null) { bits.sleep(1000); continue; } sip = callRep.byteCopy(null); callRep = null; a = sip.command.trim(); int i = a.indexOf(" "); if (i < 0) { continue; } a = a.substring(0, i).trim().toLowerCase(); if (a.equals("invite")) { sendTry(sip); sendRng(sip); sendSdp(sip); continue; } if (!a.equals("bye") && !a.equals("cancel")) { continue; } packSip tx = sip.byteCopy(null); tx.makeOk(sip, null, 0); if (debugger.clntSipTraf) { tx.dump("tx"); } tx.writeDown(); conner.setClose(); peer.stopCall(rcd); lower.upper.stoppedCall(false, newSrc, newTrg, started); lower.delCall(this); return; } conner.setClose(); peer.stopCall(rcd); sendBye(); lower.upper.stoppedCall(false, newSrc, newTrg, started); lower.delCall(this); } } class clntSipMsg implements Runnable, Comparable { public final clntSip lower; public final String callId; public final long started; public packSip callRep; public String callSrc; public String callTrg; public int callSeq; public String callWauth; public String callPauth; public List callMsg; public clntSipMsg(clntSip prnt, String id) { if (id == null) { id = bits.randomD() + "-" + cfgAll.hostName; } lower = prnt; callId = id; started = bits.getTime(); } public int compareTo(clntSipMsg o) { return callId.compareTo(o.callId); } public void startWork() { new Thread(this).start(); } public boolean doSend() { callSrc = packSip.updateTag(callSrc); callWauth = null; callPauth = null; callRep = null; boolean need2msg = true; for (int o = 0; o < lower.retry; o++) { if (lower.conn == null) { continue; } if (need2msg) { packSip sip = new packSip(lower.conn); sip.makeReq("MESSAGE", null, callSrc, callTrg, lower.getCont(), lower.getVia(), callId, callSeq, 0); sip.header.add("Content-Type: text/plain"); sip.content.addAll(callMsg); sip.addAuthor("", callWauth, lower.usr, lower.pwd); sip.addAuthor("Proxy-", callPauth, lower.usr, lower.pwd); if (debugger.clntSipTraf) { sip.dump("tx"); } sip.writeDown(); } for (int i = 0; i < lower.timeout; i++) { bits.sleep(1000); if (callRep != null) { break; } } if (callRep == null) { continue; } packSip sip = callRep.byteCopy(null); callRep = null; cmds cmd = new cmds("sip", sip.command); if (!cmd.word().toLowerCase().startsWith("sip/")) { continue; } String a = cmd.word(); if (a.equals("401")) { callWauth = sip.headerGet("WWW-Authenticate", 1); need2msg = true; callSeq++; continue; } if (a.equals("407")) { callPauth = sip.headerGet("Proxy-Authenticate", 1); need2msg = true; callSeq++; continue; } if (a.startsWith("1")) { need2msg = false; continue; } if (a.startsWith("2")) { return false; } break; } return true; } public void run() { try { doRecv(); } catch (Exception e) { logger.traceback(e); } } public void doRecv() { packSip tx = callRep.byteCopy(null); tx.makeNumeric("100 trying", callRep, lower.getCont()); if (debugger.clntSipTraf) { tx.dump("tx"); } tx.writeDown(); callSrc = lower.upper.incomeSrc(callSrc); callTrg = lower.upper.incomeTrg(callTrg); cfgDial per = lower.upper.incomeMsg(callSrc, callTrg); if (per == null) { tx.makeErr(callRep, null, "no such number"); if (debugger.clntSipTraf) { tx.dump("tx"); } tx.writeDown(); return; } if (per.sendMsg(callSrc, callTrg, callRep.content)) { tx.makeErr(callRep, null, "not went out"); if (debugger.clntSipTraf) { tx.dump("tx"); } tx.writeDown(); return; } tx.makeOk(callRep, null, 0); if (debugger.clntSipTraf) { tx.dump("tx"); } tx.writeDown(); } } freeRtr-25.11.9/src/org/freertr/clnt/clntSlaac.java000066400000000000000000000202731510423065500220450ustar00rootroot00000000000000package org.freertr.clnt; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.addr.addrIPv6; import org.freertr.addr.addrMac; import org.freertr.cfg.cfgIfc; import org.freertr.ifc.ifcEthTyp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipIcmp6; import org.freertr.ip.ipIfc6; import org.freertr.ip.ipPrt; import org.freertr.pack.packHolder; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.notifier; import org.freertr.util.state; import org.freertr.enc.encTlv; /** * stateless address autoconfiguration client * * @author matecsaba */ public class clntSlaac implements Runnable, ipPrt { /** * config class */ public cfgIfc cfger; /** * minimum lease time */ public int leaseMin = 60 * 1000; /** * maximum lease time */ public int leaseMax = 43200 * 1000; private ipFwd lower; private ipFwdIface iface; private ipIfc6 ipifc; private ifcEthTyp ethtyp; private boolean working; private boolean gotAddr; private notifier notif = new notifier(); private long validFor; /** * my address */ public addrIPv6 locAddr; /** * my netmask */ public addrIPv6 locMask; /** * gw address */ public addrIPv6 gwAddr; /** * dns1 address */ public addrIPv6 dns1addr; /** * dns2 address */ public addrIPv6 dns2addr; /** * create new slaac client on interface * * @param wrkr ip worker * @param ifc forwarder interface * @param ipi ip interface * @param phy handler of interface * @param cfg config interface */ public clntSlaac(ipFwd wrkr, ipFwdIface ifc, ipIfc6 ipi, ifcEthTyp phy, cfgIfc cfg) { lower = wrkr; iface = ifc; ipifc = ipi; ethtyp = phy; cfger = cfg; clearState(); working = true; new Thread(this).start(); } public String toString() { return "slaac on " + ethtyp; } /** * stop client */ public void closeClient() { working = false; notif.wakeup(); } /** * clear state */ public void clearState() { gotAddr = false; locAddr = addrIPv6.getEmpty(); locMask = addrIPv6.getEmpty(); gwAddr = addrIPv6.getEmpty(); dns1addr = addrIPv6.getEmpty(); dns2addr = addrIPv6.getEmpty(); notif.wakeup(); } private boolean doWork() { if (bits.getTime() > validFor) { gotAddr = false; } if (gotAddr) { notif.sleep(10000); if (cfger.addr6 == null) { return false; } if (locAddr.compareTo(cfger.addr6) == 0) { return false; } clearState(); } addrMac mac; try { mac = (addrMac) ethtyp.getHwAddr(); } catch (Exception e) { mac = addrMac.getRandom(); } locMask.fromString("ffff:ffff:ffff:ffff::"); addrIPv6 ll = ipifc.getLinkLocalAddr().toIPv6(); if (cfger.addr6.isEmpty()) { cfger.addr6changed(ll, locMask, null); } lower.protoAdd(this, iface, null); packHolder pck = new packHolder(true, true); for (;;) { if (!working) { return true; } if (cfger.addr6 == null) { return false; } if (gotAddr) { break; } if (debugger.clntSlaacTraf) { logger.debug("sending solicit"); } pck.clear(); ((ipIcmp6) lower.icmpCore).createRouterSol(mac, pck, ll); iface.lower.sendProto(pck, pck.IPtrg); notif.sleep(10000); } lower.protoDel(this, iface, null); ll = ipifc.getLinkLocalAddr().toIPv6(); addrIPv6 wld = new addrIPv6(); wld.setNot(locMask); ll.setAnd(ll, wld); locAddr.setAnd(locAddr, locMask); locAddr.setOr(locAddr, ll); cfger.addr6changed(locAddr, locMask, gwAddr); return false; } public void run() { if (debugger.clntSlaacTraf) { logger.debug("started"); } try { for (;;) { if (doWork()) { break; } } } catch (Exception e) { logger.traceback(e); } if (debugger.clntSlaacTraf) { logger.debug("stopped"); } } /** * get protocol number * * @return number */ public int getProtoNum() { return ipIcmp6.protoNum; } /** * close interface * * @param iface interface */ public void closeUp(ipFwdIface iface) { } /** * set state * * @param iface interface * @param stat state */ public void setState(ipFwdIface iface, state.states stat) { } /** * received packet * * @param rxIfc interface * @param pck packet */ public void recvPack(ipFwdIface rxIfc, packHolder pck) { if (lower.icmpCore.parseICMPheader(pck)) { return; } if (pck.ICMPtc != ipIcmp6.icmpRtrAdv) { ((ipIcmp6) lower.icmpCore).recvPack(rxIfc, pck); return; } pck.getSkip(ipIcmp6.size); pck.getSkip(8); encTlv tlv = ipIcmp6.getTLVreader(); if (debugger.clntSlaacTraf) { logger.debug("got advertisement"); } int pl = -1; int lt = -1; for (;;) { if (tlv.getBytes(pck)) { break; } switch (tlv.valTyp) { case 3: lt = bits.msbGetD(tlv.valDat, 6); pl = tlv.valDat[0] & 0xff; locAddr.fromBuf(tlv.valDat, 14); break; case 25: dns1addr.fromBuf(tlv.valDat, 6); dns2addr.fromBuf(tlv.valDat, 22); break; } } if (pl < 0) { return; } locMask.fromNetmask(pl); gwAddr = pck.IPsrc.toIPv6(); if (debugger.clntSlaacTraf) { logger.debug("addr=" + locAddr + "/" + locMask + " gw=" + gwAddr + " dns1=" + dns1addr + " dns2=" + dns2addr + " valid=" + lt); } if (locAddr.isLinkLocal()) { return; } lt = lt * 700; if (lt > leaseMax) { lt = leaseMax; } if (lt < leaseMin) { lt = leaseMin; } validFor = lt + bits.getTime(); gotAddr = true; notif.wakeup(); } /** * alert packet * * @param rxIfc interface * @param pck packet * @return false on success, true on error */ public boolean alertPack(ipFwdIface rxIfc, packHolder pck) { return true; } /** * error packet * * @param err error code * @param rtr address * @param rxIfc interface * @param pck packet */ public void errorPack(counter.reasons err, addrIP rtr, ipFwdIface rxIfc, packHolder pck) { } /** * get counter * * @return counter */ public counter getCounter() { return new counter(); } /** * get configuration * * @param l storage * @param beg beginning * @param cmd command */ public void getConfig(List l, String beg, String cmd) { l.add(beg + cmd + "renew-min " + leaseMin); l.add(beg + cmd + "renew-max " + leaseMax); } /** * do configuration * * @param a command * @param cmd commands * @return result code, true on error, false on success */ public boolean doConfig(String a, cmds cmd) { if (a.equals("renew-min")) { leaseMin = bits.str2num(cmd.word()); return false; } if (a.equals("renew-max")) { leaseMax = bits.str2num(cmd.word()); return false; } return true; } } freeRtr-25.11.9/src/org/freertr/clnt/clntSmtp.java000066400000000000000000000370051510423065500217460ustar00rootroot00000000000000package org.freertr.clnt; import java.io.File; import java.io.RandomAccessFile; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.cfg.cfgAll; import org.freertr.enc.encBase64; import org.freertr.pack.packDnsRec; import org.freertr.pack.packText; import org.freertr.pipe.pipeDiscard; import org.freertr.pipe.pipeProgress; import org.freertr.pipe.pipeSide; import org.freertr.serv.servGeneric; import org.freertr.serv.servSmtp; import org.freertr.enc.encUrl; import org.freertr.util.bits; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.syncInt; /** * simple mail transfer protocol (rfc821) client * * @author matecsaba */ public class clntSmtp implements Runnable { /** * startup counter */ public final static syncInt cntrStart = new syncInt(0); /** * error counter */ public final static syncInt cntrError = new syncInt(0); /** * stop counter */ public final static syncInt cntrStop = new syncInt(0); private pipeProgress cons; private pipeSide pipe; private String boundary; /** * sender */ public String from = ""; /** * target */ public String rcpt = ""; /** * envelope id */ public String envid = ""; /** * delivery notification */ public boolean notify = false; private String serv; private String lastR; private String lastT; private List errors = new ArrayList(); private List body = new ArrayList(); /** * create new client * * @param console console to use */ public clntSmtp(pipeSide console) { cons = new pipeProgress(pipeDiscard.needAny(console)); boundary = "boundary" + bits.randomD() + "crossing" + bits.randomD() + "line"; } /** * clean up state */ public void cleanUp() { try { pipe.setClose(); } catch (Exception e) { } } private void sendLine(String s) { if (debugger.clntSmtpTraf) { logger.debug("tx:" + s); } cons.debugTx(s); pipe.linePut(s); lastT = s; } private String getLine() { packText pck = new packText(pipe); String s = pck.codedRecv(); if (s == null) { s = ""; } if (debugger.clntSmtpTraf) { logger.debug("rx:" + s); } cons.debugRx(s); lastR = s; return s; } private int getRes(int div) { String s = getLine(); s = s.trim(); int i = s.indexOf(" "); if (i >= 0) { s = s.substring(0, i); } i = bits.str2num(s); if (debugger.clntSmtpTraf) { logger.debug("rx:" + i); } return i / div; } /** * prepend header * * @param msg message * @param hdr headers */ public static void prependHead(List msg, List hdr) { for (int i = 0; i < hdr.size(); i++) { msg.add(i, hdr.get(i)); } } /** * prepend header * * @param msg message * @param hdr headers */ public static void deleteHead(List msg, List hdr) { for (int o = 0; o < msg.size(); o++) { String a = msg.get(o); if (a.length() < 1) { break; } int i = a.indexOf(":"); if (i < 0) { i = a.length(); } a = a.substring(0, i).toLowerCase(); int p = -1; for (i = 0; i < hdr.size(); i++) { if (!a.equals(hdr.get(i))) { continue; } p = i; break; } if (p < 0) { continue; } msg.remove(o); o--; } } /** * write header * * @param from source * @param rcpt target * @param subj subject */ public void putHead(String from, String rcpt, String subj) { long tim = bits.getTime() + cfgAll.timeServerOffset; body.add("From: " + from); body.add("To: " + rcpt); body.add("Subject: " + subj); body.add("Date: " + bits.time2str(cfgAll.timeZoneName, tim, 4)); body.add("MIME-Version: 1.0"); body.add("Content-Type: multipart/mixed; boundary=" + boundary); body.add("X-Mailer: " + clntHttp.getAgentLine()); body.add("Message-ID: <" + tim + "@" + cfgAll.getFqdn() + ">"); body.add(""); body.add("this is a message in mime format!"); body.add(""); } /** * write whole body * * @param txt text */ public void putBody(List txt) { body.clear(); body = txt; } /** * write text * * @param txt lines to write */ public void putText(List txt) { body.add("--" + boundary); body.add("Content-Type: text/plain; charset=us-ascii"); body.add("Content-Transfer-Encoding: 7bit"); body.add(""); body.addAll(txt); } /** * write text * * @param txt lines to write */ public void putRep(List txt) { body.add("--" + boundary); body.add("Content-Type: message/delivery-status; charset=us-ascii"); body.add("Content-Transfer-Encoding: 7bit"); body.add(""); body.addAll(txt); } /** * write message * * @param txt lines of message */ public void putMsg(List txt) { body.add("--" + boundary); body.add("Content-Type: message/rfc822"); body.add("Content-Transfer-Encoding: 7bit"); body.add(""); body.addAll(txt); } /** * put file as attachment * * @param buf bytes to put * @param src file name */ public void putFile(byte[] buf, String src) { src = new File(src).getName(); body.add("--" + boundary); body.add("Content-Type: application/octet-stream; name=" + src); body.add("Content-Transfer-Encoding: base64"); body.add("Content-Disposition: attachment; filename=" + src); body.add(""); int pos = 0; for (;;) { int i = buf.length - pos; if (i < 1) { break; } if (i > encBase64.maxIn) { i = encBase64.maxIn; } body.add(encBase64.encodeBytes(buf, pos, i)); pos += i; } } /** * put file as attachment * * @param src file name */ public void putFile(String src) { byte[] buf = null; try { RandomAccessFile fr = new RandomAccessFile(src, "r"); long siz = fr.length(); buf = new byte[(int) siz]; fr.read(buf, 0, buf.length); fr.close(); } catch (Exception e) { return; } putFile(buf, src); } /** * add last boundary */ public void putFinish() { body.add("--" + boundary + "--"); } /** * create error message * * @return false on success, true on error */ public boolean conv2rep() { String of = from; String ot = rcpt; String oe = envid; from = ""; rcpt = of; envid = ""; notify = false; List ob = body; body = new ArrayList(); putHead("report@" + cfgAll.getFqdn(), of, "delivery notification"); List l = new ArrayList(); l.add("hi " + of + "!"); l.add(""); l.add("this message was automatically generated at"); l.add(cfgAll.getFqdn() + " because your message was delivered"); l.add("to " + ot + "."); l.add(""); l.add("this is the original header:"); for (int i = 0; i < ob.size(); i++) { String s = ob.get(i); if (s.length() < 1) { break; } l.add(s); } l.add(""); l.add("have a nice day!"); putText(l); l = new ArrayList(); l.add("Reporting-MTA: dns; " + cfgAll.getFqdn()); l.add("Original-Envelope-ID: " + oe); l.add(""); l.add("Action: delivered"); l.add("Status: 2.0.0"); putRep(l); putFinish(); return of.length() < 1; } /** * create error message * * @return false on success, true on error */ public boolean conv2err() { String of = from; String ot = rcpt; from = ""; rcpt = of; envid = ""; notify = false; List ob = body; body = new ArrayList(); putHead("error@" + cfgAll.getFqdn(), of, "failure notice"); List l = new ArrayList(); l.add("hi " + of + "!"); l.add(""); l.add("this message was automatically generated at"); l.add(cfgAll.getFqdn() + " because the attached mail was not"); l.add("delivered to " + ot + "."); l.add(""); l.add("this is what happened:"); for (int i = 0; i < errors.size(); i++) { l.add(errors.get(i)); } l.add(""); l.add("this is the original header:"); for (int i = 0; i < ob.size(); i++) { String s = ob.get(i); if (s.length() < 1) { break; } l.add(s); } l.add(""); l.add("have a nice day!"); putText(l); putMsg(ob); putFinish(); return of.length() < 1; } /** * do sending work * * @return null on success, error string otherwise */ public String doSend() { serv = ""; lastR = ""; lastT = ""; if (rcpt.length() < 1) { return "no recipients configured"; } serv = cfgAll.mailServerName; if (serv == null) { encUrl url = new encUrl(); url.fromString("smtp://" + rcpt); clntDns clnt = new clntDns(); clnt.doResolvList(cfgAll.nameServerAddr, url.server, true, packDnsRec.typeMX); serv = clnt.getMX(); } if (serv == null) { serv = ""; return "no suitable server found"; } clntProxy prx = cfgAll.getClntPrx(cfgAll.mailProxy); if (prx == null) { return "no proxy configured"; } addrIP trg = clntDns.justResolv(serv, 0); if (trg == null) { return "no address found for server"; } pipe = prx.doConnect(servGeneric.protoTcp, trg, new servSmtp().srvPort(), "smtp"); if (pipe == null) { return "failed to open connection"; } pipe.setTime(120000); pipe.lineRx = pipeSide.modTyp.modeCRtryLF; pipe.lineTx = pipeSide.modTyp.modeCRLF; cons.debugStat("logging in"); if (getRes(100) != 2) { return "failed to receive greeting message"; } sendLine("HELO " + cfgAll.getFqdn()); if (getRes(100) != 2) { return "failed to exchange hostname"; } if (cfgAll.mailServerUser != null) { byte[] zero = new byte[1]; zero[0] = 0; byte[] buf = bits.byteConcat(zero, cfgAll.mailServerUser.getBytes()); buf = bits.byteConcat(buf, zero); buf = bits.byteConcat(buf, cfgAll.mailServerPass.getBytes()); sendLine("AUTH PLAIN"); if (getRes(100) != 3) { return "failed to start authentication"; } sendLine(encBase64.encodeBytes(buf)); if (getRes(100) != 2) { return "failed to finish authentication"; } } String a = ""; if (notify) { a += " RET=HDRS ENVID=" + envid; } sendLine("MAIL FROM:<" + from + ">" + a); if (getRes(100) != 2) { return "failed to set sender"; } cons.debugStat("sending recipients"); a = ""; if (notify) { a += " NOTIFY=SUCCESS,FAILURE,DELAY"; } sendLine("RCPT TO:<" + rcpt + ">" + a); if (getRes(100) != 2) { return "failed to set recipients"; } sendLine("DATA"); if (getRes(100) != 3) { return "failed to start transfer"; } cons.setMax(body.size()); cons.debugStat("sending " + cons.getMax() + " lines"); for (int i = 0; i < body.size(); i++) { packText t = new packText(pipe); t.dottedSend(body.get(i)); cons.setCurr(i); } cons.debugStat(body.size() + " lines done"); sendLine("."); if (getRes(100) != 2) { return "failed to finish transfer"; } sendLine("QUIT"); getLine(); pipe.setClose(); return null; } /** * do sending work * * @param retry number of tries * @return false on success, true on error */ public boolean doSend(int retry) { for (;;) { String a = doSend(); if (a == null) { return false; } errors.add(logger.getTimestamp() + " remote=" + serv + " issue=" + a + " sent=" + lastT + " received=" + lastR); logger.warn("error sending email from " + from + " to " + rcpt); retry--; if (retry < 1) { break; } bits.sleep(bits.random(60 * 1000, 600 * 1000)); } return true; } /** * do background sending work */ public void startSend() { new Thread(this).start(); } public void run() { if (debugger.clntSmtpTraf) { logger.debug("sending from " + from + " to " + rcpt); } cntrStart.add(1); try { boolean b = doSend(10); cleanUp(); if (!b) { if (!notify) { cntrStop.add(1); return; } if (conv2rep()) { cntrStop.add(1); return; } b = doSend(5); cleanUp(); if (!b) { cntrStop.add(1); return; } logger.error("giving up report email from " + from + " to " + rcpt); cntrError.add(1); return; } cntrError.add(1); logger.error("giving up email from " + from + " to " + rcpt); if (conv2err()) { return; } cntrStart.add(1); b = doSend(5); cleanUp(); if (!b) { cntrStop.add(1); return; } logger.error("giving up error email from " + from + " to " + rcpt); cntrError.add(1); } catch (Exception e) { logger.traceback(e); cntrError.add(1); } cleanUp(); } /** * upload one file * * @param trg source * @param src target * @return result code */ public String upload(encUrl trg, File src) { cons.debugStat("encoding " + src + " to body"); rcpt = trg.toEmail(); putHead("file@" + cfgAll.getFqdn(), trg.toEmail(), "" + src); putText(bits.str2lst("this is your file!")); putFile("" + src); putFinish(); return doSend(); } } freeRtr-25.11.9/src/org/freertr/clnt/clntSnmp.java000066400000000000000000000056541510423065500217450ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.enc.encAsn1; import org.freertr.pack.packHolder; import org.freertr.pack.packSnmp; import org.freertr.pipe.pipeDiscard; import org.freertr.pipe.pipeSide; import org.freertr.serv.servGeneric; import org.freertr.util.bits; import org.freertr.util.debugger; /** * simple network management protocol (rfc1157) client * * @author matecsaba */ public class clntSnmp { private final clntProxy proxy; private final String server; private final pipeSide console; /** * /** * create new client * * @param con console to log * @param srv server to use * @param prx proxy to use */ public clntSnmp(pipeSide con, clntProxy prx, String srv) { console = pipeDiscard.needAny(con); server = srv; proxy = prx; } /** * community to use */ public String community; /** * oid */ private String oid; /** * result */ public String result; /** * do one get * * @param o oid * @return false on success, true on error */ public boolean doGet(String o) { oid = o; return doQuery(packSnmp.typGetReq); } /** * do one get * * @param o oid * @return false on success, true on error */ public boolean doNext(String o) { oid = o; return doQuery(packSnmp.typGetNext); } private boolean doQuery(int cmd) { console.linePut("querying " + packSnmp.type2string(cmd) + " " + oid + " at " + server); addrIP trg = clntDns.justResolv(server, 0); if (trg == null) { return true; } if (proxy == null) { return true; } pipeSide pipe = proxy.doConnect(servGeneric.protoUdp, trg, packSnmp.port, "snmp"); if (pipe == null) { return true; } pipe.setTime(8000); packHolder pckBin = new packHolder(true, true); packSnmp pckDat = new packSnmp(); pckDat.version = 1; pckDat.type = cmd; pckDat.community = community; encAsn1 cur = new encAsn1(); cur.oid = encAsn1.str2oid(oid); pckDat.res.add(cur); pckDat.reqId = bits.randomW(); if (pckDat.createPacket(pckBin)) { return true; } if (debugger.clntSnmpTraf) { console.linePut("" + pckDat); } pckBin.pipeSend(pipe, 0, pckBin.dataSize(), 2); pckBin = pipe.readPacket(true); pipe.setClose(); if (pckBin == null) { console.linePut("got no packet"); return true; } if (pckDat.parsePacket(pckBin)) { console.linePut("got bad packet"); return true; } if (debugger.clntSnmpTraf) { console.linePut("" + pckDat); } console.linePut("" + pckDat.res); return false; } } freeRtr-25.11.9/src/org/freertr/clnt/clntSpeed.java000066400000000000000000000054551510423065500220670ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.cfg.cfgAll; import org.freertr.pipe.pipeSide; import org.freertr.serv.servCharGen; import org.freertr.serv.servDiscard; import org.freertr.serv.servGeneric; import org.freertr.util.bits; import org.freertr.util.cmds; /** * speed test client * * @author matecsaba */ public class clntSpeed { /** * create instance */ public clntSpeed() { } /** * rx pipeline */ protected pipeSide rxp; /** * tx pipeline */ protected pipeSide txp; /** * rx counter */ protected int rxc; /** * tx counter */ protected int txc; /** * small servers client * * @param cmd command to use */ public static void smllClnt(cmds cmd) { String a = cmd.word(); addrIP trg = clntDns.justResolv(a, 0); if (trg == null) { return; } clntProxy prx = cfgAll.getClntPrx(null); if (prx == null) { return; } clntSpeed s = new clntSpeed(); s.rxp = prx.doConnect(servGeneric.protoTcp, trg, new servCharGen().srvPort(), "speed"); if (s.rxp == null) { return; } s.txp = prx.doConnect(servGeneric.protoTcp, trg, new servDiscard().srvPort(), "speed"); if (s.txp == null) { s.rxp.setClose(); return; } new Thread(new clntSpeedRx(s)).start(); new Thread(new clntSpeedTx(s)).start(); cmd.error(" rxbps txbps"); for (;;) { if (cmd.pipe.isClosed() != 0) { break; } if (cmd.pipe.ready2rx() != 0) { break; } int rxo = s.rxc; int txo = s.txc; bits.sleep(1000); cmd.error(bits.padBeg(bits.toUser((s.rxc - rxo) * 8), 12, " ") + bits.padBeg(bits.toUser((s.txc - txo) * 8), 12, " ")); } s.rxp.setClose(); s.txp.setClose(); } } class clntSpeedRx implements Runnable { private clntSpeed parent; public clntSpeedRx(clntSpeed lower) { parent = lower; } public void run() { for (;;) { byte[] buf = new byte[1024]; int i = parent.rxp.blockingGet(buf, 0, buf.length); if (i < 0) { break; } parent.rxc += i; } } } class clntSpeedTx implements Runnable { private clntSpeed parent; public clntSpeedTx(clntSpeed lower) { parent = lower; } public void run() { for (;;) { byte[] buf = new byte[1024]; int i = parent.txp.blockingPut(buf, 0, buf.length); if (i < 0) { break; } parent.txc += i; } } } freeRtr-25.11.9/src/org/freertr/clnt/clntSrEth.java000066400000000000000000000146011510423065500220450ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.addr.addrMac; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipFwdTab; import org.freertr.ip.ipPrt; import org.freertr.pack.packHolder; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * segment routing ethernet client * * @author matecsaba */ public class clntSrEth implements Runnable, ipPrt, ifcDn { /** * create instance */ public clntSrEth() { } /** * protocol number */ public final static int prot = 143; /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * counter */ public counter cntr = new counter(); private ipFwd fwdCor; private addrIP fwdTrg; private ipFwdIface fwdIfc; private boolean working = true; public String toString() { return "sreth to " + fwdTrg; } /** * sent endpoints * * @param fwd forwarder * @param ifc interface * @param adr address */ public void setEndpoints(ipFwd fwd, ipFwdIface ifc, addrIP adr) { fwdCor = fwd; fwdIfc = ifc; fwdTrg = adr.copyBytes(); } /** * get hw address * * @return address */ public addrType getHwAddr() { return addrMac.getRandom(); } /** * set filter mode * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 10000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { pck.merge2beg(); if (fwdIfc == null) { return; } cntr.tx(pck); pck.putDefaults(); if (sendingTTL >= 0) { pck.IPttl = sendingTTL; } if (sendingTOS >= 0) { pck.IPtos = sendingTOS; } if (sendingDFN >= 0) { pck.IPdf = sendingDFN == 1; } if (sendingFLW >= 0) { pck.IPid = sendingFLW; } pck.IPprt = prot; pck.IPsrc.setAddr(fwdIfc.addr); pck.IPtrg.setAddr(fwdTrg); fwdCor.protoPack(fwdIfc, null, pck); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { fwdTrg = clntDns.justResolv(target, prefer); if (fwdTrg == null) { return; } fwdCor = vrf.getFwd(fwdTrg); fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(fwdTrg); } if (fwdIfc == null) { fwdIfc = ipFwdTab.findSendingIface(fwdCor, fwdTrg); } if (fwdIfc == null) { return; } fwdCor.protoAdd(this, fwdIfc, fwdTrg); for (;;) { if (!working) { break; } bits.sleep(1000); } } private void clearState() { if (fwdIfc != null) { fwdCor.protoDel(this, fwdIfc, fwdTrg); fwdIfc = null; } } /** * get protocol number * * @return number */ public int getProtoNum() { return prot; } /** * close interface * * @param iface interface */ public void closeUp(ipFwdIface iface) { } /** * set state * * @param iface interface * @param stat state */ public void setState(ipFwdIface iface, state.states stat) { } /** * receive packet * * @param rxIfc interface * @param pck packet */ public void recvPack(ipFwdIface rxIfc, packHolder pck) { cntr.rx(pck); upper.recvPack(pck); } /** * alert packet * * @param rxIfc interface * @param pck packet * @return false on success, true on error */ public boolean alertPack(ipFwdIface rxIfc, packHolder pck) { return true; } /** * error packet * * @param err error * @param rtr address * @param rxIfc interface * @param pck packet */ public void errorPack(counter.reasons err, addrIP rtr, ipFwdIface rxIfc, packHolder pck) { } } freeRtr-25.11.9/src/org/freertr/clnt/clntSrExt.java000066400000000000000000000104131510423065500220620ustar00rootroot00000000000000package org.freertr.clnt; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.pack.packHolder; import org.freertr.rtr.rtrSrhIface; import org.freertr.util.cmds; import org.freertr.util.counter; import org.freertr.util.state; /** * sr over srh tunnel client * * @author matecsaba */ public class clntSrExt implements ifcDn { /** * create instance */ public clntSrExt() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * forwarder */ public ipFwd fwdCor; /** * target */ public addrIP target; /** * tos value, -1 means maps out */ public int tos = -1; /** * ttl value, -1 means maps out */ public int ttl = 255; /** * df value, -1 means maps out */ public int dfn = 255; /** * flow value, -1 means maps out */ public int flw = -1; /** * counter */ public counter cntr = new counter(); private addrIP[] targets = new addrIP[1]; public String toString() { return "srext to " + target; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { } /** * flap interface */ public void flapped() { } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1500; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { pck.getSkip(2); cntr.tx(pck); if (ttl >= 0) { pck.IPttl = ttl; } if (tos >= 0) { pck.IPtos = tos; } if (dfn >= 0) { pck.IPdf = dfn == 1; } if (flw >= 0) { pck.IPid = flw; } rtrSrhIface.createHeader(pck, targets); fwdCor.updateIPheader(pck, pck.IPsrc, pck.IPtrg, pck.IPprt, pck.IPttl, pck.IPtos, pck.IPid, pck.dataSize() - pck.IPsiz); fwdCor.mplsTxPack(pck.IPtrg, pck, false); } /** * set targets * * @param s targets */ public void setTargets(String s) { List trgs = new ArrayList(); cmds c = new cmds("adrs", s); for (;;) { s = c.word(); if (s.length() < 1) { break; } addrIP a = new addrIP(); if (a.fromString(s)) { continue; } trgs.add(a); } setTargets(trgs); } /** * set targets * * @param trg targets */ public void setTargets(List trg) { addrIP[] ts = new addrIP[trg.size() + 1]; for (int i = 0; i < (ts.length - 1); i++) { ts[i] = trg.get(i).copyBytes(); } ts[ts.length - 1] = target.copyBytes(); targets = ts; } /** * get targets * * @return targets */ public String getTargets() { String s = ""; for (int i = 0; i < (targets.length - 1); i++) { s += " " + targets[i]; } return s.trim(); } /** * start connection */ public void workStart() { } /** * stop connection */ public void workStop() { } } freeRtr-25.11.9/src/org/freertr/clnt/clntSstp.java000066400000000000000000000151441510423065500217540ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgInit; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.pack.packHolder; import org.freertr.pack.packSstp; import org.freertr.pipe.pipeSide; import org.freertr.sec.secClient; import org.freertr.serv.servGeneric; import org.freertr.enc.encUrl; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.state; import org.freertr.util.version; /** * secure socket tunneling protocol client * * @author matecsaba */ public class clntSstp implements Runnable, ifcDn { /** * create instance */ public clntSstp() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * target of tunnel */ public String target = null; /** * proxy profile */ public clntProxy proxy; /** * unique id */ public String unique; /** * client pubkey */ public byte[] pubkey; /** * username to use */ public String username = null; /** * password to use */ public String password = null; /** * counter */ public counter cntr = new counter(); private boolean working = true; private pipeSide pipe; private boolean good; /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1504; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { if (!good) { return; } if (pipe == null) { return; } cntr.tx(pck); if (debugger.clntSstpTraf) { logger.debug("tx " + pck.dump()); } packSstp ps = new packSstp(pipe); pck.putDefaults(); ps.sendData(pck); } private void clearState() { good = false; if (pipe != null) { pipe.setClose(); } } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } private void sendLine(String s) { if (debugger.clntSstpTraf) { logger.debug("tx: " + s); } pipe.linePut(s); } private void sendAuth(encUrl url) { String s = clntHttp.getAuthor(url.username, url.password); if (s == null) { return; } sendLine(s); } private String recvLn() { String s = pipe.lineGet(1); if (debugger.clntSstpTraf) { logger.debug("rx: " + s); } return s; } private void workDoer() { encUrl url = encUrl.parseOne(target + "sra_{BA195980-CD49-458b-9E23-C84EE0ADCD75}/"); if (debugger.clntSstpTraf) { logger.debug("resolving " + url.toURL(true, false, false, true)); } addrIP trg = clntDns.justResolv(url.server, proxy.prefer); if (trg == null) { return; } if (debugger.clntSstpTraf) { logger.debug("connecting " + trg); } pipe = proxy.doConnect(servGeneric.protoTcp, trg, url.getPort(0), "sstp"); if (pipe == null) { return; } pipe = secClient.openSec(pipe, url.getSecurity(), pubkey, url.username, url.password); if (pipe == null) { return; } pipe.setTime(120000); pipe.lineRx = pipeSide.modTyp.modeCRtryLF; pipe.lineTx = pipeSide.modTyp.modeCRLF; sendLine("SSTP_DUPLEX_POST " + url.toURL(false, false, true, true) + " HTTP/1.1"); sendLine("User-Agent: " + cfgInit.versionAgent); sendLine("Content-Length: 18446744073709551615"); sendLine("Host: " + url.server); sendLine("sstpCorrelationID: /os/" + version.name + "/{" + cfgAll.hostName + "_" + unique + "}"); sendAuth(url); sendLine(""); for (;;) { String s = recvLn(); if (s.length() < 1) { break; } } if (pipe.isClosed() != 0) { return; } packSstp pckS = new packSstp(pipe); pckS.fillConnReq(); packHolder pckB = new packHolder(true, true); pckS.createConnReq(pckB); pckS.sendCtrl(pckB); if (debugger.clntSstpTraf) { logger.debug("tx " + pckS.dump()); } pckB = pckS.recvPack(); if (pckB == null) { return; } if (pckS.parseCtrl(pckB)) { return; } if (debugger.clntSstpTraf) { logger.debug("rx " + pckS.dump()); } if (pckS.parseConnAck()) { return; } good = true; for (;;) { pckB = pckS.recvPack(); if (pckB == null) { break; } if (debugger.clntSstpTraf) { logger.debug("rx " + pckB.dump()); } upper.recvPack(pckB); } } } freeRtr-25.11.9/src/org/freertr/clnt/clntStun.java000066400000000000000000000073201510423065500217510ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.pack.packHolder; import org.freertr.pack.packStun; import org.freertr.pipe.pipeSide; import org.freertr.serv.servGeneric; import org.freertr.serv.servStun; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * serial tunneling client * * @author matecsaba */ public class clntStun implements Runnable, ifcDn { /** * create instance */ public clntStun() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * target of tunnel */ public String target = null; /** * proxy profile */ public clntProxy proxy; /** * group */ public int group = 0; /** * counter */ public counter cntr = new counter(); private boolean working = true; private packStun lower; /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1504; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { if (lower == null) { return; } cntr.tx(pck); pck.putDefaults(); lower.sendPack(pck); } private void clearState() { if (lower != null) { lower.setClose(); } } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } private void workDoer() { addrIP trg = clntDns.justResolv(target, proxy.prefer); if (trg == null) { return; } pipeSide conn = proxy.doConnect(servGeneric.protoTcp, trg, new servStun().srvPort(), "stun"); if (conn == null) { return; } conn.setTime(120000); lower = new packStun(conn, group); for (;;) { packHolder pck = lower.recvPack(); if (pck == null) { break; } upper.recvPack(pck); } } } freeRtr-25.11.9/src/org/freertr/clnt/clntSyslog.java000066400000000000000000000042351510423065500223020ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.cfg.cfgAll; import org.freertr.pipe.pipeSide; import org.freertr.serv.servGeneric; import org.freertr.serv.servSyslog; import org.freertr.util.logger; /** * syslog protocol (rfc3164) client * * @author matecsaba */ public class clntSyslog { private addrIP addr; private int fac; private pipeSide pipe; private boolean running; /** * level to severity * * @param l level * @return severity */ public final static int level2severity(logger.logLev l) { switch (l) { case msgDebg: return 7; case msgInfo: return 6; case msgWarn: return 4; case msgEror: return 3; case msgExcp: return 0; } return 1; } /** * create logger * * @param adr address where to log * @param fc facility to use */ public clntSyslog(addrIP adr, int fc) { addr = adr; fac = fc; running = addr != null; } public String toString() { return "" + addr; } /** * stop logging */ public void logStop() { running = false; if (pipe != null) { pipe.setClose(); } } /** * log one message * * @param l level * @param s message to log */ public synchronized void logMsg(logger.logLev l, String s) { if (!running) { return; } boolean b = pipe == null; if (!b) { b = pipe.isClosed() != 0; } if (b) { clntProxy prx = cfgAll.getClntPrx(logger.logProxy); if (prx == null) { return; } pipe = prx.doConnect(servGeneric.protoUdp, addr, new servSyslog().srvPort(), "syslog"); } if (pipe == null) { return; } pipe.setTime(120000); if (pipe.ready2tx() < 1024) { return; } pipe.strPut("<" + ((fac << 3) + level2severity(l)) + ">" + cfgAll.hostName + " " + s); } } freeRtr-25.11.9/src/org/freertr/clnt/clntTacacs.java000066400000000000000000000177721510423065500222320ustar00rootroot00000000000000package org.freertr.clnt; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.auth.authGeneric; import org.freertr.auth.authResult; import org.freertr.cfg.cfgAll; import org.freertr.pack.packTacacs; import org.freertr.pipe.pipeSide; import org.freertr.serv.servGeneric; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.debugger; import org.freertr.util.logger; /** * terminal access controller access control system (rfc1492) client * * @author matecsaba */ public class clntTacacs { /** * create instance * * @param prx proxy */ public clntTacacs(clntProxy prx) { proxy = prx; } /** * target server */ public String server = null; /** * shared secret */ public String secret = null; /** * target port */ public int port; /** * proxy to use */ public clntProxy proxy; private packTacacs tacTx; private packTacacs tacRx; private String tacUsr; private String tacPwd; /** * do pap transaction * * @param user username * @param pass password * @return false on completion, true on error */ public boolean doPap(String user, String pass) { tacUsr = user; tacPwd = pass; tacTx = new packTacacs(); tacTx.auty = packTacacs.autyAscii; tacTx.usr = user; tacTx.dat = pass; return doAuthenXchg(); } /** * do chap transaction * * @param user username * @param id id used * @param chal challenge sent * @param resp response got * @return false on completion, true on error */ public boolean doChap(String user, int id, byte[] chal, byte[] resp) { tacUsr = user; tacPwd = ""; tacTx = new packTacacs(); tacTx.auty = packTacacs.autyChap; tacTx.usr = user; byte[] buf = new byte[1]; buf[0] = (byte) id; buf = bits.byteConcat(buf, chal); buf = bits.byteConcat(buf, resp); tacTx.dat = new String(buf); return doAuthenXchg(); } private boolean doAuthenXchg() { if (server == null) { return true; } addrIP trg = clntDns.justResolv(server, 0); if (trg == null) { return true; } clntProxy prx = cfgAll.getClntPrx(proxy); if (prx == null) { return true; } if (port < 1) { port = packTacacs.port; } pipeSide conn = prx.doConnect(servGeneric.protoTcp, trg, port, "tacacs"); if (conn == null) { return true; } String user = tacTx.usr; String pass = tacTx.dat; if (tacTx.auty == packTacacs.autyAscii) { tacTx.usr = ""; tacTx.dat = ""; } conn.setTime(5000); tacTx.ses = bits.randomD(); tacTx.pipe = conn; tacTx.secret = secret; tacTx.act = packTacacs.actLogin; tacTx.priv = 1; tacTx.srv = packTacacs.srvLogin; tacTx.adr = ""; tacTx.prt = ""; tacTx.createAuthenStrt(); tacTx.packSend(); if (debugger.clntTacacsTraf) { logger.debug("tx " + tacTx.dump()); } packTacacs res = new packTacacs(); res.pipe = conn; res.secret = secret; if (res.packRecv()) { conn.setClose(); return true; } if (tacTx.auty == packTacacs.autyAscii) { res.parseAuthenCont(); if (debugger.clntTacacsTraf) { logger.debug("rx " + res.dump()); } tacTx.act = 0; tacTx.usr = user; tacTx.seq = res.seq; tacTx.createAuthenCont(); tacTx.packSend(); if (debugger.clntTacacsTraf) { logger.debug("tx " + tacTx.dump()); } if (res.packRecv()) { conn.setClose(); return true; } res.parseAuthenCont(); if (debugger.clntTacacsTraf) { logger.debug("rx " + res.dump()); } tacTx.usr = pass; tacTx.seq = res.seq; tacTx.createAuthenCont(); tacTx.packSend(); if (debugger.clntTacacsTraf) { logger.debug("tx " + tacTx.dump()); } if (res.packRecv()) { conn.setClose(); return true; } tacTx.usr = user; } conn.setClose(); if (res.parseAuthenRply()) { return true; } tacRx = res; if (debugger.clntTacacsTraf) { logger.debug("rx " + tacRx.dump()); } return false; } /** * check if access allowed * * @param par parent * @param priv privilege on success * @return result */ public authResult checkAuthenResult(authGeneric par, int priv) { if (tacRx == null) { return new authResult(par, authResult.authServerError, tacUsr, tacPwd); } if (tacRx.act != packTacacs.sttPass) { return new authResult(par, authResult.authBadUserPass, tacUsr, tacPwd); } authResult res = new authResult(par, authResult.authSuccessful, tacUsr, tacPwd); res.privilege = priv; return res; } /** * do command transaction * * @param par parent * @param usr username * @param cmd command * @return result */ public authResult doCmd(authGeneric par, String usr, String cmd) { tacTx = new packTacacs(); tacTx.usr = usr; tacTx.ses = bits.randomD(); tacTx.secret = secret; if (server == null) { return new authResult(par, authResult.authServerError, usr, cmd); } addrIP trg = clntDns.justResolv(server, 0); if (trg == null) { return new authResult(par, authResult.authServerError, usr, cmd); } clntProxy prx = cfgAll.getClntPrx(proxy); if (prx == null) { return new authResult(par, authResult.authServerError, usr, cmd); } if (port < 1) { port = packTacacs.port; } pipeSide conn = prx.doConnect(servGeneric.protoTcp, trg, port, "tacacs"); if (conn == null) { return new authResult(par, authResult.authServerError, usr, cmd); } tacTx.pipe = conn; tacTx.act = packTacacs.metNotset; tacTx.priv = 15; tacTx.auty = packTacacs.autyNotset; tacTx.prt = ""; tacTx.adr = ""; List lst = new ArrayList(); lst.add("service=shell"); cmds cm = new cmds("tac", cmd); lst.add("cmd=" + cm.word()); for (;;) { String a = cm.word(); if (a.length() < 1) { break; } lst.add("cmd-arg=" + a); } lst.add("cmd-arg="); tacTx.arg = new String[lst.size()]; for (int i = 0; i < tacTx.arg.length; i++) { tacTx.arg[i] = lst.get(i); } if (debugger.clntTacacsTraf) { logger.debug("tx " + tacTx.dump()); } tacTx.createAuthorReq(); tacTx.packSend(); tacRx = new packTacacs(); tacRx.pipe = conn; tacRx.secret = secret; if (tacRx.packRecv()) { conn.setClose(); return new authResult(par, authResult.authServerError, usr, cmd); } conn.setClose(); if (tacRx.parseAuthorRep()) { return new authResult(par, authResult.authServerError, usr, cmd); } if (debugger.clntTacacsTraf) { logger.debug("rx " + tacRx.dump()); } if ((tacRx.srv == packTacacs.staPassAdd) || (tacRx.srv == packTacacs.staPassRep)) { return new authResult(par, authResult.authSuccessful, usr, cmd); } else { return new authResult(par, authResult.authBadUserPass, usr, cmd); } } } freeRtr-25.11.9/src/org/freertr/clnt/clntTdmOudp.java000066400000000000000000000120351510423065500223730ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwdIface; import org.freertr.pack.packHolder; import org.freertr.pack.packRtp; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeSide; import org.freertr.pipe.pipeSync; import org.freertr.prt.prtUdp; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * time division multiplexing over ip (rfc5087) client * * @author matecsaba */ public class clntTdmOudp implements Runnable, ifcDn { /** * create instance */ public clntTdmOudp() { } /** * default port */ public final static int defPort = 2142; /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * remote port number */ public int prtR; /** * local port number */ public int prtL; /** * first channel to encode */ public int chanMin; /** * last channel to encode */ public int chanMax; /** * counter */ public counter cntr = new counter(); private packRtp conn; private pipeSide pipe; private boolean working = true; /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { addrIP trg = clntDns.justResolv(target, prefer); if (trg == null) { return; } prtUdp udp = vrf.getUdp(trg); ipFwdIface fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(trg); } if (prtR == 0) { prtR = defPort; } if (prtL == 0) { prtL = defPort; } conn = new packRtp(); if (conn.startConnect(udp, new pipeLine(32768, true), fwdIfc, prtL, trg, prtR)) { return; } pipeLine pip = new pipeLine(65535, true); pipe = pip.getSide(); new pipeSync(pip.getSide(), conn, chanMin, chanMax - chanMin + 1, 0); packHolder pck = new packHolder(true, true); for (;;) { if (!working) { return; } if (conn.isClosed() != 0) { return; } if (pipe.isClosed() != 0) { return; } pck.clear(); if (pck.pipeRecv(pipe, 0, 8192, 143) < 1) { return; } cntr.rx(pck); upper.recvPack(pck); } } private void clearState() { if (conn != null) { conn.setClose(); } if (pipe != null) { pipe.setClose(); } } public String toString() { return "tdmOudp to " + target; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1500; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 64000; } public void sendPack(packHolder pck) { if (pipe == null) { return; } cntr.tx(pck); pck.pipeSend(pipe, 0, pck.dataSize(), 1); } } freeRtr-25.11.9/src/org/freertr/clnt/clntTelemetry.java000066400000000000000000000103221510423065500227660ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgSensor; import org.freertr.cfg.cfgTime; import org.freertr.pack.packHolder; import org.freertr.pack.packStreamingMdt; import org.freertr.pipe.pipeSide; import org.freertr.serv.servGeneric; import org.freertr.serv.servStreamingMdt; import org.freertr.tab.tabGen; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; /** * telemetry sender * * @author matecsaba */ public class clntTelemetry implements Runnable { /** * create instance */ public clntTelemetry() { } /** * target */ public String target; /** * interval */ public int interval = 5000; /** * initial delay */ public int initial = 0; /** * random time between runs */ public int randInt; /** * random initial delay */ public int randIni; /** * time range when allowed */ public cfgTime time; /** * sensors */ public tabGen sensors = new tabGen(); /** * port */ public int port = servStreamingMdt.port; /** * proxy */ public clntProxy proxy; /** * running */ public boolean need2run; /** * counter */ public counter cntr = new counter(); private pipeSide pipe; /** * stop working */ public void stopWork() { if (!need2run) { return; } need2run = false; if (pipe != null) { pipe.setClose(); } pipe = null; } /** * stop working */ public void startWork() { if (need2run) { return; } need2run = true; new Thread(this).start(); } private void doWork() { if (pipe != null) { pipe.setClose(); } int del = initial; if (randIni > 0) { del += bits.random(1, randIni); } if (del > 0) { bits.sleep(del); } pipe = null; if (proxy == null) { return; } if (target == null) { return; } addrIP trg = clntDns.justResolv(target, proxy.prefer); if (trg == null) { return; } pipe = proxy.doConnect(servGeneric.protoTcp, trg, port, "telemetry"); if (pipe == null) { return; } pipe.setTime(120000); for (;;) { if (!need2run) { break; } del = interval; if (randInt > 0) { del += bits.random(1, randInt); } bits.sleep(del); if (time != null) { if (time.matches(bits.getTime() + cfgAll.timeServerOffset)) { continue; } } if (pipe.isClosed() != 0) { break; } for (int i = 0; i < sensors.size(); i++) { cfgSensor ntry = sensors.get(i); packHolder pck = ntry.getReportKvGpb(); if (pck == null) { logger.warn("sensor " + ntry.name + " returned nothing"); continue; } sendReport(pck); } } } public void run() { try { for (;;) { if (!need2run) { break; } doWork(); bits.sleep(1000); } } catch (Exception e) { logger.traceback(e); } } /** * send one report * * @param pck packet, header prepended */ public void sendReport(packHolder pck) { if (pipe == null) { cntr.drop(pck, counter.reasons.notUp); return; } if (pipe.isClosed() != 0) { cntr.drop(pck, counter.reasons.notUp); return; } cntr.tx(pck); packStreamingMdt pckPb = new packStreamingMdt(pipe, pck); pckPb.typ = 1; pckPb.encap = 1; pckPb.vers = 1; pckPb.flags = 0; pckPb.sendPack(); } } freeRtr-25.11.9/src/org/freertr/clnt/clntTelnet.java000066400000000000000000000106641510423065500222600ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.line.lineHdlc; import org.freertr.line.lineScript; import org.freertr.pack.packHolder; import org.freertr.pipe.pipeSide; import org.freertr.sec.secClient; import org.freertr.serv.servGeneric; import org.freertr.serv.servTelnet; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * ppp over telnet client * * @author matecsaba */ public class clntTelnet implements Runnable, ifcDn { /** * create instance */ public clntTelnet() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * enable security */ public int security; /** * pubkey to use */ public byte[] pubkey = null; /** * username */ public String username; /** * password */ public String password; /** * port number */ public int port; /** * chat script to use */ public lineScript script; /** * target of tunnel */ public String target = null; /** * proxy profile */ public clntProxy proxy; /** * counter */ public counter cntr = new counter(); private boolean working = true; private lineHdlc hdlc; /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1504; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { if (hdlc == null) { return; } cntr.tx(pck); pck.putDefaults(); hdlc.sendPack(pck); } private void clearState() { if (hdlc != null) { hdlc.closeDn(); } } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } private void workDoer() { if (port == 0) { port = servTelnet.port; } addrIP trg = clntDns.justResolv(target, proxy.prefer); if (trg == null) { return; } pipeSide conn = proxy.doConnect(servGeneric.protoTcp, trg, port, "telnet"); if (conn == null) { return; } conn.setTime(120000); if (security > 0) { conn = secClient.openSec(conn, security, pubkey, username, password); } if (conn == null) { return; } conn.setTime(120000); if (script.doScript(conn)) { conn.setClose(); return; } hdlc = new lineHdlc(conn); hdlc.setUpper(upper); for (;;) { bits.sleep(1000); if (conn.isClosed() != 0) { return; } } } } freeRtr-25.11.9/src/org/freertr/clnt/clntTftp.java000066400000000000000000000207461510423065500217440ustar00rootroot00000000000000package org.freertr.clnt; import java.io.File; import java.io.RandomAccessFile; import org.freertr.addr.addrIP; import org.freertr.cfg.cfgAll; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipFwdTab; import org.freertr.pack.packHolder; import org.freertr.pack.packTftp; import org.freertr.pipe.pipeDiscard; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeProgress; import org.freertr.pipe.pipeSide; import org.freertr.prt.prtGenConn; import org.freertr.prt.prtServS; import org.freertr.prt.prtUdp; import org.freertr.enc.encUrl; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.syncInt; /** * trivial file transfer protocol (rfc1350) client * * @author matecsaba */ public class clntTftp implements prtServS { /** * startup counter */ public final static syncInt cntrStart = new syncInt(0); /** * error counter */ public final static syncInt cntrError = new syncInt(0); /** * stop counter */ public final static syncInt cntrStop = new syncInt(0); private final int locprt = 16969; private pipeSide pipe; private addrIP adr; private clntProxy prx; private ipFwd fwd; private prtUdp udp; private ipFwdIface ifc; private final pipeSide conp; private final pipeProgress cons; private RandomAccessFile fr; /** * create new client * * @param console console to use */ public clntTftp(pipeSide console) { conp = pipeDiscard.needAny(console); cons = new pipeProgress(conp); } /** * clean up state */ public void cleanUp() { try { closeConn(); } catch (Exception e) { } try { fr.close(); } catch (Exception e) { } } /** * download one file * * @param src source * @param trg target * @return result code */ public boolean download(encUrl src, File trg) { cntrStart.add(1); if (openConn(src.server)) { cntrError.add(1); return true; } try { trg.createNewFile(); } catch (Exception e) { closeConn(); cntrError.add(1); return true; } try { fr = new RandomAccessFile(trg, "rw"); fr.setLength(0); } catch (Exception e) { closeConn(); cntrError.add(1); return true; } cons.debugStat("receiving " + cons.getMax() + " bytes"); packTftp pckTft = new packTftp(); pckTft.typ = packTftp.msgRead; pckTft.nam = src.toPathName(); pckTft.mod = "octet"; pckTft = xchgPack(pckTft, packTftp.msgData); if (pckTft == null) { closeConn(); cntrError.add(1); return true; } long blk = 0; long siz = 0; for (;;) { if (((pckTft.blk - 1) & 0xffff) == (blk & 0xffff)) { try { fr.write(pckTft.dat); } catch (Exception e) { closeConn(); cntrError.add(1); return true; } blk++; siz += pckTft.dat.length; } if (pckTft.dat.length < packTftp.size) { break; } pckTft = new packTftp(); pckTft.blk = (int) blk; pckTft.typ = packTftp.msgAck; pckTft = xchgPack(pckTft, packTftp.msgData); if (pckTft == null) { closeConn(); cntrError.add(1); return true; } } cons.debugRes(siz + " bytes done"); closeConn(); cntrStop.add(1); return false; } /** * upload one file * * @param trg source * @param src target * @return result code */ public boolean upload(encUrl trg, File src) { cntrStart.add(1); if (openConn(trg.server)) { cntrError.add(1); return true; } long siz = 0; try { fr = new RandomAccessFile(src, "r"); siz = fr.length(); } catch (Exception e) { closeConn(); cntrError.add(1); return true; } cons.setMax(siz); cons.debugStat("sending " + cons.getMax() + " bytes"); packTftp pckTft = new packTftp(); pckTft.typ = packTftp.msgWrite; pckTft.nam = trg.toPathName(); pckTft.mod = "octet"; pckTft = xchgPack(pckTft, packTftp.msgAck); if (pckTft == null) { closeConn(); cntrError.add(1); return true; } long blk = 0; for (;;) { long pos = blk * packTftp.size; long len = siz - pos; if (len > packTftp.size) { len = packTftp.size; } if (len < 0) { len = 0; } pckTft = new packTftp(); pckTft.dat = new byte[(int) len]; try { fr.seek(pos); fr.read(pckTft.dat); } catch (Exception e) { closeConn(); cntrError.add(1); return true; } pckTft.blk = (int) (blk + 1); pckTft.typ = packTftp.msgData; cons.setCurr(pos); pckTft = xchgPack(pckTft, packTftp.msgAck); if (pckTft == null) { closeConn(); cntrError.add(1); return true; } if (((pckTft.blk - 1) & 0xffff) == (blk & 0xffff)) { blk++; } if (len != packTftp.size) { break; } } cons.debugRes(siz + " bytes done"); closeConn(); return false; } private boolean openConn(String trg) { adr = clntDns.resolveAddr(conp, trg, 0); if (adr == null) { return true; } prx = cfgAll.getClntPrx(cfgAll.tftpProxy); fwd = prx.vrf.getFwd(adr); udp = prx.vrf.getUdp(adr); ifc = null; if (prx.srcIfc != null) { ifc = prx.srcIfc.getFwdIfc(adr); } if (ifc == null) { ifc = ipFwdTab.findSendingIface(fwd, adr); } if (ifc == null) { return true; } udp.streamListen(this, new pipeLine(65536, true), ifc, locprt, adr, 0, "tftpc", -1, null, -1, -1); pipe = udp.streamConnect(new pipeLine(65536, true), ifc, locprt, adr, packTftp.port, "tftpc", -1, null, -1, -1); return pipe == null; } private void closeConn() { if (pipe != null) { pipe.setClose(); } if (ifc != null) { udp.listenStop(ifc, locprt, adr, 0); } } private packTftp xchgPack(packTftp pckTx, int ned) { for (;;) { if (debugger.clntTftpTraf) { logger.debug("tx " + pckTx.dump()); } packHolder pckBin = pckTx.createPacket(); pckBin.merge2beg(); pckBin.pipeSend(pipe, 0, pckBin.dataSize(), 2); for (int i = 0; i < 8; i++) { if (pipe.isClosed() != 0) { return null; } pipe.notif.sleep(1000); pckBin = pipe.readPacket(false); if (pckBin == null) { continue; } packTftp pckRx = new packTftp(); if (pckRx.parsePacket(pckBin)) { return null; } if (debugger.clntTftpTraf) { logger.debug("rx " + pckRx.dump()); } if (pckRx.typ != ned) { return null; } return pckRx; } } } /** * closed interface * * @param ifc interface */ public void closedInterface(ipFwdIface ifc) { } /** * accept connection * * @param pip pipeline * @param id connection * @return false on success, true on error */ public boolean streamAccept(pipeSide pip, prtGenConn id) { if (pipe != null) { pipe.setClose(); } pipe = pip; return false; } /** * get block mode * * @return mode */ public boolean streamForceBlock() { return true; } } freeRtr-25.11.9/src/org/freertr/clnt/clntTrack.java000066400000000000000000000706611510423065500220740ustar00rootroot00000000000000package org.freertr.clnt; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.addr.addrPrefix; import org.freertr.auth.authLocal; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgCheck; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgInit; import org.freertr.cfg.cfgTime; import org.freertr.cfg.cfgTrack; import org.freertr.cfg.cfgVrf; import org.freertr.enc.encBase64; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdEcho; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipFwdTab; import org.freertr.line.lineScript; import org.freertr.pipe.pipeDiscard; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeSetting; import org.freertr.pipe.pipeSide; import org.freertr.prt.prtGen; import org.freertr.prt.prtUdp; import org.freertr.rtr.rtrBfdClnt; import org.freertr.rtr.rtrBfdNeigh; import org.freertr.sec.secClient; import org.freertr.serv.servGeneric; import org.freertr.tab.tabGen; import org.freertr.user.userExec; import org.freertr.user.userRead; import org.freertr.user.userScript; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.logger; import org.freertr.util.notifier; import org.freertr.util.state; /** * tracker worker * * @author matecsaba */ public class clntTrack implements Runnable, rtrBfdClnt { /** * create instance */ public clntTrack() { } /** * operation mode */ public enum operMod { /** * icmp echo request tester */ icmp, /** * mpls echo request tester */ mpls, /** * bier echo request tester */ bier, /** * icmp echo request tester */ icmpBck, /** * mpls echo request tester */ mplsBck, /** * bier echo request tester */ bierBck, /** * tcp connect tester */ tcp, /** * bfd alive tester */ bfd, /** * interface */ iface, /** * route */ route, /** * prefix */ prefix, /** * script */ script, /** * nrpe */ nrpe, /** * other */ other, /** * check */ check, /** * udp echo tester */ udp, /** * twamp tester */ twamp, } /** * force mode */ public enum forMode { /** * forced up */ up, /** * forced down */ down, /** * forced negated */ neg, /** * forced normal */ norm } /** * name of this tracker */ public String name; /** * type of work */ public operMod mode = operMod.icmp; /** * forced result */ public forMode force = forMode.norm; /** * final script */ public String script = null; /** * hide commands */ public boolean hidden = false; /** * preferred ip protocol version */ public int prefer = 0; /** * target of test */ public String target = null; /** * exec up */ public String execUp = null; /** * exec down */ public String execDn = null; /** * notify vrf */ public cfgVrf wakeVrf = null; /** * chat script */ public lineScript chats = null; /** * client pubkey */ public byte[] pubkey; /** * security protocol to use */ public int secProto = 0; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * time between runs */ public int interval; /** * random between runs */ public int randInt; /** * random on startup */ public int randIni; /** * time range when allowed */ public cfgTime time; /** * timeout value */ public int timeout; /** * type of service value */ public int typOsrv; /** * security group value */ public int secGrp; /** * flow label value */ public int flowLab; /** * type of time to live */ public int tim2liv = 255; /** * size of payload */ public int size = 80; /** * delay for start */ public int delaySt; /** * delay for up */ public int delayUp; /** * delay for down */ public int delayDn; /** * action logging */ public boolean logging = false; /** * clients */ public final tabGen clients = new tabGen(); /** * final state */ protected boolean finalState = false; /** * time when went to this state */ protected long finalTime = 0; /** * number of changes */ protected int totalChng; /** * number of ups */ protected int totalUp; /** * number of downs */ protected int totalDn; /** * last state */ protected boolean lastState = false; /** * results in this state */ protected int lastCount; /** * time when went to this state */ protected long lastTime; /** * start time */ protected long startTime; /** * stop time */ protected long stopTime; private boolean working = false; private final notifier notif = new notifier(); public String toString() { return "" + name; } /** * get config * * @param l list to append * @param filter filter */ public void getConfig(List l, int filter) { cmds.cfgLine(l, !hidden, cmds.tabulator, "hidden", ""); cmds.cfgLine(l, !logging, cmds.tabulator, "log", ""); l.add(cmds.tabulator + "mode " + mode2string(mode)); l.add(cmds.tabulator + "force " + force2string(force)); cmds.cfgLine(l, script == null, cmds.tabulator, "script", script); cmds.cfgLine(l, target == null, cmds.tabulator, "target", target); if (hidden) { cmds.cfgLine(l, execUp == null, cmds.tabulator, "exec-up", authLocal.passwdEncode(execUp, (filter & 2) != 0)); cmds.cfgLine(l, execDn == null, cmds.tabulator, "exec-down", authLocal.passwdEncode(execDn, (filter & 2) != 0)); } else { cmds.cfgLine(l, execUp == null, cmds.tabulator, "exec-up", execUp); cmds.cfgLine(l, execDn == null, cmds.tabulator, "exec-down", execDn); } if (wakeVrf != null) { l.add(cmds.tabulator + "wake-vrf " + wakeVrf.name); } else { l.add(cmds.tabulator + "no wake-vrf"); } if (pubkey == null) { l.add(cmds.tabulator + "no pubkey"); } else { l.add(cmds.tabulator + "pubkey " + encBase64.encodeBytes(pubkey)); } cmds.cfgLine(l, secProto == 0, cmds.tabulator, "security", servGeneric.proto2string(secProto)); if (chats != null) { l.add(cmds.tabulator + "chat-script " + chats.scrName); } else { l.add(cmds.tabulator + "no chat-script"); } if (vrf != null) { l.add(cmds.tabulator + "vrf " + vrf.name); } else { l.add(cmds.tabulator + "no vrf"); } if (srcIfc != null) { l.add(cmds.tabulator + "source " + srcIfc.name); } else { l.add(cmds.tabulator + "no source"); } l.add(cmds.tabulator + "random-interval " + randInt); l.add(cmds.tabulator + "random-initial " + randIni); l.add(cmds.tabulator + "interval " + interval); l.add(cmds.tabulator + "timeout " + timeout); l.add(cmds.tabulator + "sgt " + secGrp); l.add(cmds.tabulator + "tos " + typOsrv); l.add(cmds.tabulator + "flow " + flowLab); l.add(cmds.tabulator + "ttl " + tim2liv); l.add(cmds.tabulator + "size " + size); l.add(cmds.tabulator + "delay-start " + delaySt); l.add(cmds.tabulator + "delay-up " + delayUp); l.add(cmds.tabulator + "delay-down " + delayDn); cmds.cfgLine(l, time == null, cmds.tabulator, "range", "" + time); if (working) { l.add(cmds.tabulator + "start"); } else { l.add(cmds.tabulator + "stop"); } } /** * force to string * * @param f force * @return string */ public static String force2string(forMode f) { switch (f) { case up: return "up"; case down: return "down"; case neg: return "negate"; case norm: return "normal"; default: return "unknown=" + f; } } /** * string to force * * @param a string * @return force */ public static forMode string2force(String a) { if (a.equals("up")) { return forMode.up; } if (a.equals("down")) { return forMode.down; } if (a.equals("negate")) { return forMode.neg; } if (a.equals("normal")) { return forMode.norm; } return forMode.norm; } /** * string to mode * * @param a string * @return mode, null on error */ public static operMod string2mode(String a) { if (a.equals("icmp")) { return operMod.icmp; } if (a.equals("mpls")) { return operMod.mpls; } if (a.equals("bier")) { return operMod.bier; } if (a.equals("bck-icmp")) { return operMod.icmpBck; } if (a.equals("bck-mpls")) { return operMod.mplsBck; } if (a.equals("bck-bier")) { return operMod.bierBck; } if (a.equals("tcp")) { return operMod.tcp; } if (a.equals("udp")) { return operMod.udp; } if (a.equals("twamp")) { return operMod.twamp; } if (a.equals("bfd")) { return operMod.bfd; } if (a.equals("interface")) { return operMod.iface; } if (a.equals("route")) { return operMod.route; } if (a.equals("prefix")) { return operMod.prefix; } if (a.equals("script")) { return operMod.script; } if (a.equals("nrpe")) { return operMod.nrpe; } if (a.equals("other")) { return operMod.other; } if (a.equals("check")) { return operMod.check; } return null; } /** * mode to string * * @param m mode * @return string */ public static String mode2string(operMod m) { if (m == null) { return "null"; } switch (m) { case icmp: return "icmp"; case mpls: return "mpls"; case bier: return "bier"; case icmpBck: return "bck-icmp"; case mplsBck: return "bck-mpls"; case bierBck: return "bck-bier"; case nrpe: return "nrpe"; case other: return "other"; case check: return "check"; case tcp: return "tcp"; case udp: return "udp"; case twamp: return "twamp"; case bfd: return "bfd"; case iface: return "interface"; case route: return "route"; case prefix: return "prefix"; case script: return "script"; default: return "unknown=" + m; } } public void bfdPeerDown() { haveResult(false); } /** * check state * * @return true on up, false on error */ public boolean getStatus() { switch (force) { case up: return true; case down: return false; default: break; } if (!working) { return false; } switch (force) { case neg: return !finalState; case norm: return finalState; default: return false; } } /** * get summary line * * @return string */ public String getShSum() { return name + "|" + force2string(force) + "|" + mode2string(mode) + "|" + target + "|" + cmds.upDown(getStatus()) + "|" + totalChng + "|" + getRtt() + "|" + bits.timePast(finalTime); } private long getRtt() { long i = (stopTime - startTime); if (i < 0) { i = 0; } if (i >= timeout) { i = 0; } return i; } /** * get detailed status * * @return status strings */ public List getShStat() { List l = new ArrayList(); l.add("name|" + name); l.add("type|" + force2string(force) + " " + mode2string(mode)); l.add("target|" + target); l.add("reported|" + getStatus()); l.add("since|" + bits.time2str(cfgAll.timeZoneName, finalTime + cfgAll.timeServerOffset, 3)); l.add("for|" + bits.timePast(finalTime)); l.add("changes|" + totalChng); l.add("measures|" + (totalUp + totalDn)); l.add("took|" + getRtt()); l.add("last|" + bits.time2str(cfgAll.timeZoneName, stopTime + cfgAll.timeServerOffset, 3)); l.add("ago|" + bits.timePast(stopTime)); l.add("ups|" + totalUp); l.add("downs|" + totalDn); l.add("current|" + lastState); l.add("count|" + lastCount); l.add("since|" + bits.time2str(cfgAll.timeZoneName, lastTime + cfgAll.timeServerOffset, 3)); l.add("for|" + bits.timePast(lastTime)); String a = ""; for (int i = 0; i < clients.size(); i++) { ipFwd ntry = clients.get(i); a += " " + ntry; } l.add("clients|" + a); return l; } /** * stop running */ public void stopNow() { working = false; notif.wakeup(); haveResult(false); } /** * start running */ public void startNow() { if (working) { return; } if (interval < 1) { return; } working = true; new Thread(this).start(); } private static String doScript(String scrptTxt, boolean selfVal) { pipeLine pl = new pipeLine(32768, false); pipeSide pip = pl.getSide(); pip.setTime(10000); pip.lineRx = pipeSide.modTyp.modeCRorLF; pip.lineTx = pipeSide.modTyp.modeCRLF; userScript t = new userScript(pip, ""); t.allowExec = true; t.allowConfig = true; t.addLine("set selfVal " + (selfVal ? "1" : "0")); for (int i = 0; i < cfgAll.trackers.size(); i++) { cfgTrack trck = cfgAll.trackers.get(i); if (trck == null) { continue; } t.addLine("set " + trck.worker.name + " " + (trck.worker.getStatus() ? "1" : "0")); } t.addLine(scrptTxt); pip = pl.getSide(); pip.lineRx = pipeSide.modTyp.modeCRorLF; pip.lineTx = pipeSide.modTyp.modeCR; t.cmdAll(); pl.setClose(); return pip.lineGet(1); } /** * do one timer round */ public synchronized void doRound() { startTime = bits.getTime(); if (time != null) { if (time.matches(startTime + cfgAll.timeServerOffset)) { haveResult(false); return; } } if (logging) { logger.info("starting action " + name); } if (mode == null) { haveResult(false); return; } switch (mode) { case iface: if (target == null) { haveResult(false); return; } cfgIfc ifc = cfgAll.ifcFind(target, 0); if (ifc == null) { haveResult(false); return; } haveResult(ifc.ethtyp.getState() == state.states.up); return; case route: if (target == null) { haveResult(false); return; } if (vrf == null) { haveResult(false); return; } addrIP adr = new addrIP(); adr.fromString(target); ipFwd fwdCor = vrf.getFwd(adr); if (fwdCor == null) { haveResult(false); return; } haveResult(fwdCor.actualU.route(adr) != null); return; case prefix: if (target == null) { haveResult(false); return; } if (vrf == null) { haveResult(false); return; } addrPrefix prf = addrPrefix.str2ip(target); if (prf == null) { haveResult(false); return; } fwdCor = vrf.getFwd(prf.network); if (fwdCor == null) { haveResult(false); return; } haveResult(fwdCor.actualU.find(prf) != null); return; case script: if (target == null) { haveResult(false); return; } String a = doScript(target, true); if (logging) { logger.info("got " + a + " from script"); } if (a == null) { haveResult(false); return; } haveResult(bits.str2num(a) > 0); return; case other: if (target == null) { haveResult(false); return; } cfgTrack other = cfgAll.trackFind(target, false); if (other == null) { haveResult(false); return; } haveResult(other.worker.getStatus()); return; case check: if (target == null) { haveResult(false); return; } cfgCheck check = cfgAll.checkFind(target, false); if (check == null) { haveResult(false); return; } haveResult(check.getStatus()); return; case nrpe: if (target == null) { haveResult(false); return; } if (vrf == null) { haveResult(false); return; } int i = target.indexOf("/"); if (i < 0) { haveResult(false); return; } clntNrpe nrpe = new clntNrpe(null, vrf, srcIfc, target.substring(0, i)); nrpe.timeout = timeout; haveResult(!nrpe.doCheck(target.substring(i + 1, target.length()))); if (logging) { a = ""; for (i = 0; i < nrpe.text.size(); i++) { a += " " + nrpe.text.get(i); } logger.info("got " + a + " from remote"); } return; default: break; } if (timeout < 1) { haveResult(false); return; } if (size < 1) { haveResult(false); return; } if (target == null) { haveResult(false); return; } if (vrf == null) { haveResult(false); return; } addrIP fwdTrg = clntDns.justResolv(target, prefer); if (fwdTrg == null) { haveResult(false); return; } ipFwd fwdCor = vrf.getFwd(fwdTrg); prtUdp udpCor = vrf.getUdp(fwdTrg); ipFwdIface fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(fwdTrg); } if (fwdIfc == null) { fwdIfc = ipFwdTab.findSendingIface(fwdCor, fwdTrg); } if (fwdIfc == null) { haveResult(false); return; } switch (mode) { case icmp: processIcmp(fwdCor.echoSendReq(fwdIfc.addr, fwdTrg, 0, null, size, false, -1, tim2liv, secGrp, typOsrv, flowLab, 0, false)); break; case mpls: processIcmp(fwdCor.echoSendReq(fwdIfc.addr, fwdTrg, 2, null, size, false, -1, tim2liv, secGrp, typOsrv, flowLab, 0, false)); break; case bier: processIcmp(fwdCor.echoSendReq(fwdIfc.addr, fwdTrg, 4, null, size, false, -1, tim2liv, secGrp, typOsrv, flowLab, 0, false)); break; case icmpBck: processIcmp(fwdCor.echoSendReq(fwdIfc.addr, fwdTrg, 2, null, size, false, -1, tim2liv, secGrp, typOsrv, flowLab, 0, false)); break; case mplsBck: processIcmp(fwdCor.echoSendReq(fwdIfc.addr, fwdTrg, 3, null, size, false, -1, tim2liv, secGrp, typOsrv, flowLab, 0, false)); break; case bierBck: processIcmp(fwdCor.echoSendReq(fwdIfc.addr, fwdTrg, 5, null, size, false, -1, tim2liv, secGrp, typOsrv, flowLab, 0, false)); break; case tcp: prtGen tcp = vrf.getTcp(fwdTrg); if (tcp == null) { haveResult(false); break; } pipeSide pipe = tcp.streamConnect(new pipeLine(65536, false), fwdIfc, 0, fwdTrg, size, "track", -1, null, tim2liv, typOsrv); if (pipe == null) { haveResult(false); break; } if (pipe.wait4ready(timeout)) { haveResult(false); pipe.setClose(); break; } pipe.setTime(timeout); pipe = secClient.openSec(pipe, secProto, pubkey, "", ""); if (pipe == null) { haveResult(false); break; } pipe.setTime(timeout); if (chats == null) { haveResult(true); } else { haveResult(!chats.doScript(pipe)); } pipe.setClose(); break; case udp: clntEcho ech = new clntEcho(); ech.notif = new notifier(); ech.udp = udpCor; ech.src = fwdIfc; ech.trg = fwdTrg; ech.tim2liv = tim2liv; ech.typOsrv = typOsrv; ech.doWork(); ech.notif.sleep(timeout); if (ech.notif.totalNotifies() < 1) { haveResult(false); break; } haveResult(true); break; case twamp: clntTwamp twm = new clntTwamp(); twm.notif = new notifier(); twm.udp = udpCor; twm.src = fwdIfc; twm.trg = fwdTrg; twm.tim2liv = tim2liv; twm.typOsrv = typOsrv; twm.doWork(); twm.notif.sleep(timeout); if (twm.notif.totalNotifies() < 1) { haveResult(false); break; } haveResult(true); break; case bfd: fwdIfc.bfdAdd(fwdTrg, this, "tracker"); rtrBfdNeigh bfd = fwdIfc.bfdFind(fwdTrg); if (bfd == null) { haveResult(false); break; } haveResult(bfd.getState()); break; default: break; } if (logging) { logger.info("stopped action " + name); } } private void processIcmp(ipFwdEcho ping) { if (ping == null) { haveResult(false); return; } ping.notif.sleep(timeout); if (ping.notif.totalNotifies() < 1) { haveResult(false); return; } if (ping.res.size() < 1) { haveResult(false); return; } haveResult(ping.res.get(0).err == null); } /** * have result * * @param succ successful */ protected synchronized void haveResult(boolean succ) { stopTime = bits.getTime(); if (logging) { logger.info("result=" + succ); } if (succ) { totalUp++; } else { totalDn++; } if (succ != lastState) { lastState = succ; lastCount = 0; lastTime = stopTime; } else { lastCount++; } if (succ) { if (lastCount < delayUp) { return; } } else { if (lastCount < delayDn) { return; } } if (script != null) { String a = doScript(script, succ); if (logging) { logger.info("got " + a + " from script"); } if (a == null) { succ = false; } else { succ = bits.str2num(a) > 0; } } if ((finalState == succ) && (finalTime != 0)) { return; } finalState = succ; finalTime = stopTime; totalChng++; for (int i = 0; i < clients.size(); i++) { ipFwd ntry = clients.get(i); if (ntry == null) { continue; } ntry.routerStaticChg(); } if (wakeVrf != null) { wakeVrf.fwd4.routerStaticChg(); wakeVrf.fwd6.routerStaticChg(); } String cmd = null; if (succ) { logger.warn("tracker " + name + " up"); cmd = execUp; } else { logger.error("tracker " + name + " down"); cmd = execDn; } if (cmd == null) { return; } if (logging) { logger.info("executing " + cmd); } pipeLine pipe = new pipeLine(32768, false); pipeDiscard.discard(pipe.getSide()); pipeSide pip = pipe.getSide(); userRead rdr = new userRead(pip, null); pip.settingsPut(pipeSetting.height, 0); userExec exe = new userExec(pip, rdr); exe.privileged = true; pip.setTime(120000); String s = exe.repairCommand(cmd); exe.executeCommand(s); pipe.setClose(); if (logging) { logger.info("command finished"); } } public void run() { for (;;) { if (!cfgInit.booting) { break; } notif.sleep(1000); } int del = delaySt + 100; if (randIni > 0) { del += bits.random(1, randIni); } if (del > 0) { notif.sleep(del); } for (;;) { if (!working) { break; } try { doRound(); } catch (Exception e) { logger.traceback(e); } del = interval; if (randInt > 0) { del += bits.random(1, randInt); } notif.sleep(del); } } } freeRtr-25.11.9/src/org/freertr/clnt/clntTwamp.java000066400000000000000000000051531510423065500221120ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.cfg.cfgAll; import org.freertr.ip.ipFwdIface; import org.freertr.pack.packHolder; import org.freertr.pack.packNtp; import org.freertr.pack.packTwamp; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeSide; import org.freertr.prt.prtUdp; import org.freertr.tab.tabAverage; import org.freertr.util.bits; import org.freertr.util.logger; import org.freertr.util.notifier; /** * two way measurement protocol (rfc5357) client * * @author matecsaba */ public class clntTwamp implements Runnable { /** * create instance */ public clntTwamp() { } /** * measurement */ public tabAverage meas; /** * notifier */ public notifier notif; /** * udp */ public prtUdp udp; /** * source */ public ipFwdIface src; /** * target */ public addrIP trg; /** * timeout */ public int timeout = 1000; /** * size */ public int size = 64; /** * ttl */ public int tim2liv = 255; /** * tos */ public int typOsrv = 0; /** * data pattern */ public int datPat = 0; /** * do work */ public void doWork() { new Thread(this).start(); } public void run() { try { pipeSide pip = udp.streamConnect(new pipeLine(65536, true), src, 0, trg, packTwamp.port, "twamp", -1, null, tim2liv, typOsrv); if (pip == null) { return; } pip.wait4ready(timeout); pip.setTime(timeout); packHolder pck = new packHolder(true, true); pck.putFill(0, size, datPat); pck.putSkip(size); pck.merge2end(); long beg = bits.getTime(); packTwamp twm = new packTwamp(); twm.sequence = 1; twm.timestmp = packNtp.encode(beg + cfgAll.timeServerOffset); twm.errEst = packTwamp.errMag; twm.createHeader(pck); pck.pipeSend(pip, 0, pck.dataSize(), 2); pck.clear(); pck.pipeRecv(pip, 0, packHolder.maxData, 133); beg = bits.getTime() - beg; if (twm.parseHeader(pck)) { return; } if (pck.dataSize() != size) { return; } if (meas != null) { meas.addValue((int) beg); } if (notif != null) { notif.wakeup(); } } catch (Exception e) { logger.traceback(e); } } } freeRtr-25.11.9/src/org/freertr/clnt/clntTzsp.java000066400000000000000000000162211510423065500217600ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.addr.addrMac; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwdIface; import org.freertr.pack.packHolder; import org.freertr.prt.prtGenConn; import org.freertr.prt.prtServP; import org.freertr.prt.prtUdp; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * tazman sniffer protocol client * * @author matecsaba */ public class clntTzsp implements Runnable, prtServP, ifcDn { /** * create instance */ public clntTzsp() { } /** * port to use */ public final static int port = 37008; /** * size of header */ public final static int size = 6; /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * counter */ public counter cntr = new counter(); private prtGenConn conn; private boolean working = true; public String toString() { return "tzsp to " + target; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return addrMac.getRandom(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 4000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { if (conn == null) { return; } cntr.tx(pck); pck.msbPutW(0, 0x0100); // version 1, received pck.msbPutW(2, 1); // etthernet pck.msbPutW(4, 1); // pad end pck.putSkip(size); pck.merge2beg(); pck.putDefaults(); conn.send2net(pck); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { addrIP trg = clntDns.justResolv(target, prefer); if (trg == null) { return; } prtUdp udp = vrf.getUdp(trg); ipFwdIface fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(trg); } conn = udp.packetConnect(this, fwdIfc, port, trg, port, "tzsp", -1, null, -1, -1); if (conn == null) { return; } conn.timeout = 120000; conn.sendTOS = sendingTOS; conn.sendDFN = sendingDFN; conn.sendFLW = sendingFLW; conn.sendTTL = sendingTTL; for (;;) { bits.sleep(1000); if (!working) { return; } if (conn.txBytesFree() < 0) { return; } } } private void clearState() { if (conn != null) { conn.setClosing(); } } /** * close interface * * @param ifc interface */ public void closedInterface(ipFwdIface ifc) { } /** * accept connection * * @param id connection * @return false on success, true on error */ public boolean datagramAccept(prtGenConn id) { return true; } /** * connection ready * * @param id connection */ public void datagramReady(prtGenConn id) { } /** * close connection * * @param id connection */ public void datagramClosed(prtGenConn id) { } /** * work connection * * @param id connection */ public void datagramWork(prtGenConn id) { } /** * received error * * @param id connection * @param pck packet * @param rtr reporting router * @param err error happened * @param lab error label * @return false on success, true on error */ public boolean datagramError(prtGenConn id, packHolder pck, addrIP rtr, counter.reasons err, int lab) { return false; } /** * notified that state changed * * @param id id number to reference connection * @param stat state * @return return false if successful, true if error happened */ public boolean datagramState(prtGenConn id, state.states stat) { return false; } /** * received packet * * @param id connection * @param pck packet * @return false on success, true on error */ public boolean datagramRecv(prtGenConn id, packHolder pck) { cntr.rx(pck); if (pck.dataSize() < size) { cntr.drop(pck, counter.reasons.tooSmall); return false; } if (pck.getByte(0) != 1) { // version cntr.drop(pck, counter.reasons.badVer); return false; } //int dir = pck.getByte(1); // direction if (pck.msbGetW(2) != 1) { // ethernet cntr.drop(pck, counter.reasons.badTyp); return false; } if (pck.msbGetW(4) != 1) { // pad end cntr.drop(pck, counter.reasons.badHdr); return false; } pck.getSkip(size); upper.recvPack(pck); return false; } } freeRtr-25.11.9/src/org/freertr/clnt/clntUdpGre.java000066400000000000000000000230171510423065500222070ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwdIface; import org.freertr.pack.packHolder; import org.freertr.prt.prtGenConn; import org.freertr.prt.prtGre; import org.freertr.prt.prtServP; import org.freertr.prt.prtUdp; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * handle udpgre (rfc8086) packets * * @author matecsaba */ public class clntUdpGre implements Runnable, prtServP, ifcDn { /** * create instance */ public clntUdpGre() { } /** * port number of my */ public final static int portNum = 4754; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * tunnel key to use, 0 means disabled */ public int tunnelKey = 0; /** * tunnel mask to use, -1 means disabled */ public int tunnelMsk = -1; /** * send checksum in packets */ public boolean tunnelSum = false; /** * send sequence number in packets */ public boolean tunnelSeq = false; /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; private ifcUp upper = new ifcNull(); private addrIP remote = new addrIP(); private counter cntr = new counter(); private int seqTx; private boolean working = true; private prtGenConn conn; public String toString() { return "udpgre to " + target; } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { addrIP trg = clntDns.justResolv(target, prefer); if (trg == null) { return; } prtUdp udp = vrf.getUdp(trg); ipFwdIface fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(trg); } conn = udp.packetConnect(this, fwdIfc, portNum, trg, portNum, "udpgre", -1, null, -1, -1); if (conn == null) { return; } conn.timeout = 120000; conn.sendTOS = sendingTOS; conn.sendDFN = sendingDFN; conn.sendFLW = sendingFLW; conn.sendTTL = sendingTTL; for (;;) { if (conn.txBytesFree() < 0) { return; } bits.sleep(1000); } } private void clearState() { if (conn != null) { conn.setClosing(); } seqTx = 0; } /** * closed interface * * @param ifc interface */ public void closedInterface(ipFwdIface ifc) { } /** * accept connection * * @param id connection * @return false on success, true on error */ public boolean datagramAccept(prtGenConn id) { return true; } /** * connection ready * * @param id connection */ public void datagramReady(prtGenConn id) { } /** * closed connection * * @param id connection */ public void datagramClosed(prtGenConn id) { } /** * work connection * * @param id connection */ public void datagramWork(prtGenConn id) { } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { cntr.tx(pck); int typ = pck.msbGetW(0); pck.getSkip(2); int hdr = 0; if (tunnelSum) { hdr |= 0x8000; } if (tunnelKey != 0) { hdr |= 0x2000; } if (tunnelSeq) { hdr |= 0x1000; } pck.msbPutW(0, hdr); // header pck.msbPutW(2, typ); // ethertype pck.putSkip(prtGre.size); if (tunnelSum) { pck.msbPutD(0, 0); // sum pck.putSkip(prtGre.size); } if (tunnelKey != 0) { pck.msbPutD(0, tunnelKey); // key pck.putSkip(prtGre.size); } if (tunnelSeq) { seqTx++; pck.msbPutD(0, seqTx); // sequence pck.putSkip(prtGre.size); } if (tunnelSum) { pck.merge2beg(); int sum = pck.getIPsum(0, pck.dataSize(), 0); pck.unMergeBytes(prtGre.size * 2); pck.lsbPutW(-prtGre.size, 0xffff - sum); // checksum } pck.merge2beg(); pck.putDefaults(); conn.send2net(pck); } /** * received error * * @param id connection * @param pck packet * @param rtr reporting router * @param err error happened * @param lab error label * @return false on success, true on error */ public boolean datagramError(prtGenConn id, packHolder pck, addrIP rtr, counter.reasons err, int lab) { return false; } /** * notified that state changed * * @param id id number to reference connection * @param stat state * @return return false if successful, true if error happened */ public boolean datagramState(prtGenConn id, state.states stat) { return false; } /** * received packet * * @param id connection * @param pck packet * @return false on success, true on error */ public boolean datagramRecv(prtGenConn id, packHolder pck) { cntr.rx(pck); int hdr = pck.msbGetW(0); // header int typ = pck.msbGetW(2); // ethertype int vers = hdr & 7; // version boolean sump = (hdr & 0x8000) != 0; // sum present boolean keyp = (hdr & 0x2000) != 0; // key present boolean seqp = (hdr & 0x1000) != 0; // seq present pck.getSkip(prtGre.size); if (vers != 0) { logger.info("got bad version from " + remote); cntr.drop(pck, counter.reasons.badVer); return true; } if (sump != tunnelSum) { logger.info("got mismatching header from " + remote); cntr.drop(pck, counter.reasons.badHdr); return true; } if (keyp != (tunnelKey != 0)) { logger.info("got mismatching header from " + remote); cntr.drop(pck, counter.reasons.badHdr); return true; } if (seqp != tunnelSeq) { logger.info("got mismatching header from " + remote); cntr.drop(pck, counter.reasons.badHdr); return true; } if (sump) { int sum = pck.getIPsum(-prtGre.size, pck.dataSize() + prtGre.size, 0); pck.getSkip(prtGre.size); if (sum != 0xffff) { logger.info("got invalid checksum from " + remote); cntr.drop(pck, counter.reasons.badSum); return true; } } if (keyp) { int key = pck.msbGetD(0); // key pck.getSkip(prtGre.size); if ((key & tunnelMsk) != tunnelKey) { logger.info("got bad key from " + remote); cntr.drop(pck, counter.reasons.badKey); return true; } } if (seqp) { // pck.msbGetD(0); // sequence pck.getSkip(prtGre.size); } pck.putStart(); pck.msbPutW(0, typ); pck.putSkip(2); pck.merge2beg(); upper.recvPack(pck); return false; } } freeRtr-25.11.9/src/org/freertr/clnt/clntUti.java000066400000000000000000000155361510423065500215710ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.addr.addrMac; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwd; import org.freertr.ip.ipFwdIface; import org.freertr.ip.ipFwdTab; import org.freertr.ip.ipPrt; import org.freertr.pack.packHolder; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * universal transport interface * * @author matecsaba */ public class clntUti implements Runnable, ipPrt, ifcDn { /** * create instance */ public clntUti() { } /** * protocol number */ public final static int prot = 120; /** * header size */ public final static int size = 16; /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending tos value, -1 means maps out */ public int sendingFLW = -1; /** * tunnel key */ public int tunKey; /** * counter */ public counter cntr = new counter(); private ipFwd fwdCor; private addrIP fwdTrg; private ipFwdIface fwdIfc; private boolean working = true; public String toString() { return "uti to " + fwdTrg; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return addrMac.getRandom(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 10000000; } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { pck.merge2beg(); if (fwdIfc == null) { return; } pck.msbPutD(0, tunKey & 0xfff); // session id pck.msbPutD(4, tunKey); // high key pck.msbPutD(8, tunKey); // low key pck.putSkip(size); pck.merge2beg(); cntr.tx(pck); pck.putDefaults(); if (sendingTTL >= 0) { pck.IPttl = sendingTTL; } if (sendingTOS >= 0) { pck.IPtos = sendingTOS; } if (sendingDFN >= 0) { pck.IPdf = sendingDFN == 1; } if (sendingFLW >= 0) { pck.IPid = sendingFLW; } pck.IPprt = prot; pck.IPsrc.setAddr(fwdIfc.addr); pck.IPtrg.setAddr(fwdTrg); fwdCor.protoPack(fwdIfc, null, pck); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { fwdTrg = clntDns.justResolv(target, prefer); if (fwdTrg == null) { return; } fwdCor = vrf.getFwd(fwdTrg); fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(fwdTrg); } if (fwdIfc == null) { fwdIfc = ipFwdTab.findSendingIface(fwdCor, fwdTrg); } if (fwdIfc == null) { return; } fwdCor.protoAdd(this, fwdIfc, fwdTrg); for (;;) { if (!working) { break; } bits.sleep(1000); } } private void clearState() { if (fwdIfc != null) { fwdCor.protoDel(this, fwdIfc, fwdTrg); fwdIfc = null; } } /** * get protocol number * * @return number */ public int getProtoNum() { return prot; } /** * closed interface * * @param iface interface */ public void closeUp(ipFwdIface iface) { } /** * set state * * @param iface interface * @param stat state */ public void setState(ipFwdIface iface, state.states stat) { } /** * received packet * * @param rxIfc interface * @param pck packet */ public void recvPack(ipFwdIface rxIfc, packHolder pck) { if (pck.msbGetD(0) != (tunKey & 0xfff)) { // session cntr.drop(pck, counter.reasons.badHdr); return; } if (pck.msbGetD(4) != tunKey) { // high key cntr.drop(pck, counter.reasons.badHdr); return; } if (pck.msbGetD(8) != tunKey) { // low key cntr.drop(pck, counter.reasons.badHdr); return; } pck.getSkip(size); cntr.rx(pck); upper.recvPack(pck); } /** * alert packet * * @param rxIfc interface * @param pck packet * @return false on success, true on error */ public boolean alertPack(ipFwdIface rxIfc, packHolder pck) { return true; } /** * error packet * * @param err error code * @param rtr address * @param rxIfc interface * @param pck packet */ public void errorPack(counter.reasons err, addrIP rtr, ipFwdIface rxIfc, packHolder pck) { } } freeRtr-25.11.9/src/org/freertr/clnt/clntVconf.java000066400000000000000000000276671510423065500221130ustar00rootroot00000000000000package org.freertr.clnt; import java.util.Timer; import java.util.TimerTask; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgDial; import org.freertr.pack.packHolder; import org.freertr.pack.packRtp; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeSide; import org.freertr.enc.encCodec; import org.freertr.tab.tabGen; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.logger; /** * voice conference client * * @author matecsaba */ public class clntVconf implements Runnable { /** * time when started */ public long started; /** * need prompt */ public boolean prompt = false; /** * calling number */ public String calling; /** * get events */ public boolean events; /** * control pipe */ protected final pipeSide user; /** * participants */ protected final tabGen peers = new tabGen(); private pipeSide reported; /** * create instance */ public clntVconf() { pipeLine pip = new pipeLine(32768, false); reported = pip.getSide(); user = pip.getSide(); user.setTime(120000); user.lineTx = pipeSide.modTyp.modeCRLF; user.lineRx = pipeSide.modTyp.modeCRtryLF; started = bits.getTime(); } /** * add one participant * * @param called called number * @return false on success, true on error */ public boolean addPeer(String called) { clntVconfPeer ntry = new clntVconfPeer(this, called); clntVconfPeer old = peers.add(ntry); if (old != null) { return true; } ntry.startWork(); return false; } /** * get control pipe * * @return pipe */ public pipeSide getPipe() { return reported; } /** * start work */ public void startWork() { new Thread(this).start(); new clntVconfWork(this); } public void run() { try { doer(); } catch (Exception e) { logger.traceback(e); } } private void sendStatus() { user.linePut("status peers=" + peers.size() + " time=" + bits.timePast(started)); } private void doer() { for (;;) { if (user.isClosed() != 0) { return; } String a; if (prompt) { user.strPut("conference>"); a = user.lineGet(0x32); } else { a = user.lineGet(1); } cmds cmd = new cmds("conf", a); a = cmd.word().toLowerCase(); if (a.length() < 1) { continue; } if (a.equals("help")) { user.linePut("help commands:"); user.linePut("help exit"); user.linePut("help sleep "); user.linePut("help echo "); user.linePut("help events <0/1>"); user.linePut("help calling "); user.linePut("help list"); user.linePut("help status"); user.linePut("help display"); user.linePut("help add "); user.linePut("help del "); user.linePut("help vol-in "); user.linePut("help vol-out "); user.linePut("help responses:"); user.linePut("help fail "); user.linePut("help join "); user.linePut("help leave "); user.linePut("help list "); user.linePut("help status ..."); user.linePut("help error "); user.linePut("help end"); continue; } if (a.equals("exit")) { user.setClose(); return; } if (a.equals("echo")) { user.linePut(cmd.getRemaining()); continue; } if (a.equals("status")) { sendStatus(); continue; } if (a.equals("display")) { for (;;) { if (user.isClosed() != 0) { break; } if (user.ready2rx() > 0) { break; } bits.sleep(1000); sendStatus(); } continue; } if (a.equals("sleep")) { int i = bits.str2num(cmd.word()); if (i < 1) { continue; } bits.sleep(i); continue; } if (a.equals("events")) { events = cmd.word().equals("1"); continue; } if (a.equals("calling")) { calling = cmd.getRemaining(); continue; } if (a.equals("list")) { for (int i = 0; i < peers.size(); i++) { clntVconfPeer ntry = peers.get(i); if (ntry == null) { continue; } user.linePut("list " + ntry.target); } continue; } if (a.equals("add")) { addPeer(cmd.getRemaining()); continue; } if (a.equals("del")) { clntVconfPeer ntry = new clntVconfPeer(this, cmd.getRemaining()); ntry = peers.find(ntry); if (ntry == null) { user.linePut("error not-found"); continue; } ntry.need2run = false; continue; } if (a.equals("vol-in")) { int i = bits.str2num(cmd.word()); clntVconfPeer ntry = new clntVconfPeer(this, cmd.getRemaining()); ntry = peers.find(ntry); if (ntry == null) { user.linePut("error not-found"); continue; } ntry.volIn = i; continue; } if (a.equals("vol-out")) { int i = bits.str2num(cmd.word()); clntVconfPeer ntry = new clntVconfPeer(this, cmd.getRemaining()); ntry = peers.find(ntry); if (ntry == null) { user.linePut("error not-found"); continue; } ntry.volOut = i; continue; } user.linePut("error bad-command"); } } } class clntVconfWork extends TimerTask { public final static int paySiz = 160; public final static int payInt = 1000 / (8000 / paySiz); public final static int samMin = -32767; public final static int samMax = 32767; public final clntVconf lower; private Timer keepTimer = new Timer(); private packHolder pck = new packHolder(true, true); private byte[] buf = new byte[paySiz]; private int[] sam = new int[paySiz]; public clntVconfWork(clntVconf parent) { lower = parent; keepTimer.scheduleAtFixedRate(this, 10, payInt); } public void run() { try { doer(); } catch (Exception e) { logger.traceback(e); } } private static int limitSam(int o) { if (o < samMin) { o = samMin; } if (o > samMax) { o = samMax; } return o; } public void doer() { if ((lower.user.isClosed() != 0) && (lower.peers.size() < 1)) { keepTimer.cancel(); return; } for (int i = 0; i < paySiz; i++) { sam[i] = 0; } for (int p = 0; p < lower.peers.size(); p++) { clntVconfPeer ntry = lower.peers.get(p); if (ntry == null) { continue; } if (ntry.codec == null) { continue; } int o = ntry.pipeUsr.nonBlockGet(buf, 0, paySiz); if (o < 0) { ntry.sam = new int[paySiz]; continue; } bits.byteFill(buf, o, paySiz - o, 0); ntry.sam = ntry.codec.decodeBuf(buf, 0, paySiz); for (int i = 0; i < paySiz; i++) { o = (ntry.sam[i] * ntry.volIn) / 100; ntry.sam[i] = o; sam[i] += o; } } for (int p = 0; p < lower.peers.size(); p++) { clntVconfPeer ntry = lower.peers.get(p); if (ntry == null) { continue; } if (ntry.codec == null) { continue; } pck.clear(); for (int i = 0; i < paySiz; i++) { int o = sam[i] - ntry.sam[i]; o = (o * ntry.volOut) / 100; o = limitSam(o); o = ntry.codec.encodeInt(o); pck.putByte(i, o); } pck.putSkip(paySiz); pck.merge2end(); ntry.sendPack(pck); } } } class clntVconfPeer implements Runnable, Comparable { public final clntVconf lower; public final String target; public final pipeSide pipeUsr; public boolean need2run; private final pipeSide pipeOwn; public int[] sam = new int[clntVconfWork.paySiz]; public encCodec codec; public int volIn = 100; public int volOut = 100; private cfgDial peer; private String callId; private packRtp rtp; private int syncSrc; public clntVconfPeer(clntVconf parent, String called) { lower = parent; target = called; pipeLine pip = new pipeLine(1024, false); pipeUsr = pip.getSide(); pipeOwn = pip.getSide(); } public int compareTo(clntVconfPeer o) { return target.compareTo(o.target); } public void startWork() { need2run = true; new Thread(this).start(); } public void run() { try { doer(); } catch (Exception e) { logger.traceback(e); } lower.peers.del(this); pipeUsr.setClose(); pipeOwn.setClose(); if (rtp != null) { rtp.setClose(); } if (peer != null) { peer.stopCall(callId); } } public void sendPack(packHolder pck) { if (rtp == null) { return; } rtp.typeTx = codec.getRTPtype(); rtp.syncTx = syncSrc; rtp.sendPack(pck); } public void doer() { syncSrc = bits.randomD(); peer = cfgAll.dialFind(lower.calling, target, null); if (peer == null) { if (lower.events) { lower.user.linePut("failed " + target); } return; } callId = peer.makeCall(lower.calling, target); if (callId == null) { if (lower.events) { lower.user.linePut("failed " + target); } return; } rtp = peer.getCall(callId); codec = peer.getCodec(); packHolder pck = new packHolder(true, true); if (lower.events) { lower.user.linePut("join " + target); } for (;;) { if (!need2run) { break; } if (rtp.isClosed() != 0) { break; } if (rtp.recvPack(pck, true) < 1) { break; } if (rtp.typeRx != codec.getRTPtype()) { continue; } byte[] buf = pck.getCopy(); pipeOwn.nonBlockPut(buf, 0, buf.length); } if (lower.events) { lower.user.linePut("leave " + target); } } } freeRtr-25.11.9/src/org/freertr/clnt/clntVconn.java000066400000000000000000000067711510423065500221140ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.enc.encCodec; import org.freertr.pack.packHolder; import org.freertr.pack.packRtp; import org.freertr.util.bits; import org.freertr.util.logger; /** * connect sound sources * * @author matecsaba */ public class clntVconn { private final packRtp side1; private final packRtp side2; /** * create connection * * @param s1 side one * @param s2 side two * @param c1 codec one * @param c2 codec two */ public clntVconn(packRtp s1, packRtp s2, encCodec c1, encCodec c2) { side1 = s1; side2 = s2; if (c1.getRTPtype() == c2.getRTPtype()) { new clntVconnSmpl(s1, s2, c1); new clntVconnSmpl(s2, s1, c2); } else { new clntVconnTrns(s1, s2, c1, c2); new clntVconnTrns(s2, s1, c2, c1); } } /** * close connection */ public void setClose() { side1.setClose(); side2.setClose(); } /** * test if the any side was closed * * @return status */ public int isClosed() { return side1.isClosed() | side2.isClosed(); } } class clntVconnSmpl implements Runnable { private packRtp rx; private packRtp tx; private encCodec codec; public clntVconnSmpl(packRtp s1, packRtp s2, encCodec c) { rx = s1; tx = s2; codec = c; new Thread(this).start(); } public void doer() { packHolder pck = new packHolder(true, true); for (;;) { if (rx.isClosed() != 0) { break; } if (tx.isClosed() != 0) { break; } pck.clear(); if (rx.recvPack(pck, true) < 1) { break; } if (rx.typeRx != codec.getRTPtype()) { continue; } tx.typeTx = rx.typeRx; tx.syncTx = rx.syncRx; tx.sendPack(pck); } } public void run() { try { doer(); } catch (Exception e) { logger.traceback(e); } rx.setClose(); tx.setClose(); } } class clntVconnTrns implements Runnable { private packRtp rxS; private packRtp txS; private encCodec rxC; private encCodec txC; private int syncSrc; public clntVconnTrns(packRtp s1, packRtp s2, encCodec c1, encCodec c2) { rxS = s1; txS = s2; rxC = c1; txC = c2; syncSrc = bits.randomD(); new Thread(this).start(); } public void doer() { packHolder pck = new packHolder(true, true); for (;;) { if (rxS.isClosed() != 0) { break; } if (txS.isClosed() != 0) { break; } pck.clear(); if (rxS.recvPack(pck, true) < 1) { break; } if (rxS.typeRx != rxC.getRTPtype()) { continue; } byte[] buf = txC.encodeBuf(rxC.decodeBuf(pck.getCopy())); pck.clear(); pck.putCopy(buf, 0, 0, buf.length); pck.putSkip(buf.length); pck.merge2end(); txS.typeTx = txC.getRTPtype(); txS.syncTx = syncSrc; txS.sendPack(pck); } } public void run() { try { doer(); } catch (Exception e) { logger.traceback(e); } rxS.setClose(); txS.setClose(); } } freeRtr-25.11.9/src/org/freertr/clnt/clntVoice.java000066400000000000000000000051401510423065500220630ustar00rootroot00000000000000package org.freertr.clnt; import java.util.List; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgDial; import org.freertr.pack.packRtp; import org.freertr.pack.packSip; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeSide; import org.freertr.enc.encCodec; /** * voice script client * * @author matecsaba */ public class clntVoice { /** * create instance */ public clntVoice() { } /** * called number */ public String called = null; /** * calling number */ public String calling = null; private cfgDial pipePer; private String pipeRcd; private packRtp pipeRtp; private pipeSide pipeUsr; private pipeSide pipeScr; private clntVscript scr; /** * get pipe side * * @return pipe side */ public pipeSide getPipe() { return pipeUsr; } /** * stop call */ public void callStop() { try { pipePer.stopCall(pipeRcd); } catch (Exception e) { } try { pipeRtp.setClose(); } catch (Exception e) { } try { pipeUsr.setClose(); } catch (Exception e) { } try { pipeScr.setClose(); } catch (Exception e) { } } /** * start call * * @return false on success, true on error */ public boolean callStart() { pipePer = cfgAll.dialFind(calling, called, null); if (pipePer == null) { return true; } pipeRcd = pipePer.makeCall(calling, called); if (pipeRcd == null) { return true; } pipeRtp = pipePer.getCall(pipeRcd); encCodec codec = pipePer.getCodec(); pipeLine pip = new pipeLine(32768, false); pipeUsr = pip.getSide(); pipeScr = pip.getSide(); pipeScr.setTime(120000); pipeScr.lineTx = pipeSide.modTyp.modeCRLF; pipeScr.lineRx = pipeSide.modTyp.modeCRtryLF; scr = new clntVscript(pipeScr, codec, pipeRtp, packSip.removeTag(calling), packSip.removeTag(called)); return false; } /** * set prompt * * @param need needed */ public void setPrompt(boolean need) { scr.prompt = need; } /** * send message * * @param lst text * @return false on success, true on error */ public boolean sendMessage(List lst) { cfgDial per = cfgAll.dialFind(calling, called, null); if (per == null) { return true; } return per.sendMsg(calling, called, lst); } } freeRtr-25.11.9/src/org/freertr/clnt/clntVscript.java000066400000000000000000000350011510423065500224470ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgDial; import org.freertr.enc.encCodec; import org.freertr.enc.encWave; import org.freertr.pack.packRtp; import org.freertr.pipe.pipeModem; import org.freertr.pipe.pipeSide; import org.freertr.util.bits; import org.freertr.util.cmds; import org.freertr.util.logger; /** * sound script handler * * @author matecsaba */ public class clntVscript implements Runnable { /** * need prompt */ public boolean prompt = false; private final encCodec codr; private final String calSrc; private final String calTrg; private pipeSide user; private packRtp strm; private cfgDial per; private String rcd; private packRtp fwd; private encWave play; private encWave rec; private String recF; private encWave dtmf; /** * make script handler * * @param script pipe to communicate to * @param codec codec to use * @param rtp voice connection * @param calling called number * @param called calling number */ public clntVscript(pipeSide script, encCodec codec, packRtp rtp, String calling, String called) { user = script; codr = codec; strm = rtp; calSrc = calling; calTrg = called; new Thread(this).start(); } public void run() { try { doer(); } catch (Exception e) { logger.traceback(e); } try { per.stopCall(rcd); } catch (Exception e) { } try { user.setClose(); } catch (Exception e) { } try { strm.setClose(); } catch (Exception e) { } try { fwd.setClose(); } catch (Exception e) { } } private void doer() { for (;;) { if (play != null) { if (play.isStopped()) { user.linePut("play-stopped"); play = null; } } if (rec != null) { String s = rec.getDtmf(); if (s.length() > 0) { user.linePut("dtmf-code " + s); } if (rec.isStopped()) { if (bits.byteSave(true, rec.buf, recF)) { user.linePut("error errorsaving"); } user.linePut("record-stopped"); rec = null; recF = null; } } if (dtmf != null) { String s = dtmf.getDtmf(); if (s.length() > 0) { user.linePut("dtmf-code " + s); } if (dtmf.isStopped()) { user.linePut("dtmf-stopped"); dtmf = null; } } if (fwd != null) { if (fwd.isClosed() != 0) { user.linePut("forward-stopped"); if (per != null) { per.stopCall(rcd); } fwd.setClose(); fwd = null; per = null; } } if (strm.isClosed() != 0) { user.linePut("hangup"); break; } if (user.isClosed() != 0) { break; } if (user.ready2rx() < 1) { bits.sleep(100); continue; } String a; if (prompt) { user.strPut("voice>"); a = user.lineGet(0x32); } else { a = user.lineGet(1); } cmds cmd = new cmds("voice", a); a = cmd.word().toLowerCase(); if (a.length() < 1) { continue; } if (a.equals("help")) { user.linePut("help commands:"); user.linePut("help sleep "); user.linePut("help echo "); user.linePut("help play-start "); user.linePut("help play-stop"); user.linePut("help play-running"); user.linePut("help play-wait"); user.linePut("help record-start "); user.linePut("help record-stop"); user.linePut("help record-running"); user.linePut("help record-wait"); user.linePut("help dtmf-start"); user.linePut("help dtmf-stop"); user.linePut("help dtmf-running"); user.linePut("help dtmf-wait"); user.linePut("help calling"); user.linePut("help called"); user.linePut("help forward-start "); user.linePut("help forward-stop"); user.linePut("help forward-running"); user.linePut("help forward-wait"); user.linePut("help modem-answer"); user.linePut("help modem-originate"); user.linePut("help hangup"); user.linePut("help responses:"); user.linePut("help hangup"); user.linePut("help forwarded"); user.linePut("help calling "); user.linePut("help called "); user.linePut("help forward-stopped"); user.linePut("help forward-running "); user.linePut("help play-stopped"); user.linePut("help play-running "); user.linePut("help record-stopped"); user.linePut("help record-running "); user.linePut("help dtmf-stopped"); user.linePut("help dtmf-code "); user.linePut("help dtmf-running "); user.linePut("help error "); user.linePut("help end"); continue; } if (a.equals("echo")) { user.linePut(cmd.getRemaining()); continue; } if (a.equals("sleep")) { int i = bits.str2num(cmd.word()); if (i < 1) { continue; } bits.sleep(i); continue; } if (a.equals("calling")) { user.linePut("calling " + calSrc); continue; } if (a.equals("called")) { user.linePut("called " + calTrg); continue; } if (a.equals("hangup")) { strm.setClose(); continue; } if (a.equals("play-stop")) { if (play == null) { user.linePut("error not-playing"); continue; } play.stopWork(); continue; } if (a.equals("record-stop")) { if (rec == null) { user.linePut("error not-recording"); continue; } rec.stopWork(); continue; } if (a.equals("dtmf-stop")) { if (dtmf == null) { user.linePut("error not-detecting"); continue; } dtmf.stopWork(); continue; } if (a.equals("forward-stop")) { if (fwd == null) { user.linePut("error not-forwarding"); continue; } if (per != null) { per.stopCall(rcd); } fwd.setClose(); continue; } if (a.equals("play-wait")) { if (play == null) { continue; } play.wait4stop(); continue; } if (a.equals("record-wait")) { if (rec == null) { continue; } rec.wait4stop(); continue; } if (a.equals("dtmf-wait")) { if (dtmf == null) { continue; } dtmf.wait4stop(); continue; } if (a.equals("forward-wait")) { if (fwd == null) { continue; } for (;;) { if (fwd.isClosed() != 0) { break; } bits.sleep(100); } continue; } if (a.equals("play-running")) { user.linePut("play-running " + (play != null)); continue; } if (a.equals("record-running")) { user.linePut("record-running " + (rec != null)); continue; } if (a.equals("dtmf-running")) { user.linePut("dtmf-running " + (dtmf != null)); continue; } if (a.equals("forward-running")) { user.linePut("forward-running " + (fwd != null)); continue; } if (a.equals("forward-start")) { if (fwd != null) { user.linePut("error already-forwarding"); continue; } if (rec != null) { user.linePut("error already-recording"); continue; } if (dtmf != null) { user.linePut("error already-detecting"); continue; } if (play != null) { user.linePut("error already-playing"); continue; } a = cmd.word(); String s = cmd.getRemaining(); per = cfgAll.dialFind(a, s, null); if (per == null) { user.linePut("error bad-number"); continue; } rcd = per.makeCall(a, s); if (rcd == null) { user.linePut("error failed-call"); continue; } fwd = per.getCall(rcd); new clntVconn(strm, fwd, codr, per.getCodec()); user.linePut("forwarded"); continue; } if (a.equals("play-start")) { if (fwd != null) { user.linePut("error already-forwarding"); continue; } if (play != null) { user.linePut("error already-playing"); continue; } byte[] buf = bits.byteLoad(cmd.getRemaining()); if (buf == null) { user.linePut("error no-file"); continue; } play = new encWave(codr, strm); play.buf = buf; play.startPlay(); continue; } if (a.equals("record-start")) { if (fwd != null) { user.linePut("error already-forwarding"); continue; } if (rec != null) { user.linePut("error already-recording"); continue; } if (dtmf != null) { user.linePut("error already-detecting"); continue; } recF = cmd.getRemaining(); rec = new encWave(codr, strm); rec.startRecord(); continue; } if (a.equals("dtmf-start")) { if (fwd != null) { user.linePut("error already-forwarding"); continue; } if (rec != null) { user.linePut("error already-recording"); continue; } if (dtmf != null) { user.linePut("error already-detecting"); continue; } dtmf = new encWave(codr, strm); dtmf.startDtmf(); continue; } if (a.equals("modem-answer")) { if (fwd != null) { user.linePut("error already-forwarding"); continue; } if (rec != null) { user.linePut("error already-recording"); continue; } if (dtmf != null) { user.linePut("error already-detecting"); continue; } if (play != null) { user.linePut("error already-playing"); continue; } pipeModem.answer(user, codr, strm); strm = null; user = null; return; } if (a.equals("modem-originate")) { if (fwd != null) { user.linePut("error already-forwarding"); continue; } if (rec != null) { user.linePut("error already-recording"); continue; } if (dtmf != null) { user.linePut("error already-detecting"); continue; } if (play != null) { user.linePut("error already-playing"); continue; } pipeModem.originate(user, codr, strm); strm = null; user = null; return; } user.linePut("error bad-command"); } if (rec != null) { rec.stopWork(); rec.wait4stop(); bits.byteSave(true, rec.buf, recF); } if (play != null) { play.stopWork(); play.wait4stop(); } if (dtmf != null) { dtmf.stopWork(); dtmf.wait4stop(); } if (fwd != null) { if (per != null) { per.stopCall(rcd); } fwd.setClose(); } } } freeRtr-25.11.9/src/org/freertr/clnt/clntVxlan.java000066400000000000000000000200501510423065500221030ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrIP; import org.freertr.addr.addrMac; import org.freertr.addr.addrType; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwdIface; import org.freertr.pack.packHolder; import org.freertr.pack.packVxlan; import org.freertr.prt.prtGenConn; import org.freertr.prt.prtServP; import org.freertr.prt.prtUdp; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.logger; import org.freertr.util.state; /** * vxlan (rfc7348) client * * @author matecsaba */ public class clntVxlan implements Runnable, prtServP, ifcDn { /** * create instance */ public clntVxlan() { } /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * target of tunnel */ public String target = null; /** * instance id */ public int inst; /** * protocol */ public int prot; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * wildcard port listener */ public boolean wildcard = false; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending tos value, -1 means maps out */ public int sendingFLW = -1; /** * counter */ public counter cntr = new counter(); private prtGenConn conn; private boolean working = true; private addrIP trg; private prtUdp udp; private ipFwdIface fwdIfc; public String toString() { return "vxlan to " + target; } /** * get remote address * * @return address */ public addrIP getRemAddr() { if (conn == null) { return null; } return trg.copyBytes(); } /** * get local address * * @return address */ public addrIP getLocAddr() { if (conn == null) { return null; } return conn.iface.addr.copyBytes(); } /** * get remote port * * @return address */ public int getRemPort() { if (conn == null) { return 0; } return conn.portRem; } /** * get local port * * @return address */ public int getLocPort() { if (conn == null) { return 0; } return conn.portLoc; } /** * get hw address * * @return address */ public addrType getHwAddr() { return addrMac.getRandom(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 4000000; } /** * send packet * * @param pckBin packet */ public void sendPack(packHolder pckBin) { pckBin.merge2beg(); if (conn == null) { return; } cntr.tx(pckBin); packVxlan pckVxl = new packVxlan(); pckVxl.instance = inst; pckVxl.protocol = prot; pckVxl.createHeader(pckBin); pckBin.merge2beg(); pckBin.putDefaults(); conn.send2net(pckBin); } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { trg = clntDns.justResolv(target, prefer); if (trg == null) { return; } udp = vrf.getUdp(trg); fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(trg); } if (wildcard) { udp.packetListen(this, fwdIfc, packVxlan.port, trg, 0, "vxlan", -1, null, -1, -1); } conn = udp.packetConnect(this, fwdIfc, packVxlan.port, trg, packVxlan.port, "vxlan", -1, null, -1, -1); if (conn == null) { return; } conn.timeout = 120000; conn.sendTOS = sendingTOS; conn.sendDFN = sendingDFN; conn.sendFLW = sendingFLW; conn.sendTTL = sendingTTL; for (;;) { bits.sleep(1000); if (!working) { return; } if (conn.txBytesFree() < 0) { return; } } } private void clearState() { if (conn != null) { conn.setClosing(); if (wildcard) { udp.listenStop(fwdIfc, packVxlan.port, trg, 0); } } } /** * closed interface * * @param ifc interface */ public void closedInterface(ipFwdIface ifc) { } /** * accept connection * * @param id connection * @return false on success, true on error */ public boolean datagramAccept(prtGenConn id) { if (!wildcard) { return true; } id.timeout = 120000; return false; } /** * connection ready * * @param id connection */ public void datagramReady(prtGenConn id) { } /** * closed connection * * @param id connection */ public void datagramClosed(prtGenConn id) { } /** * work connection * * @param id connection */ public void datagramWork(prtGenConn id) { } /** * received error * * @param id connection * @param pck packet * @param rtr reporting router * @param err error happened * @param lab error label * @return false on success, true on error */ public boolean datagramError(prtGenConn id, packHolder pck, addrIP rtr, counter.reasons err, int lab) { return false; } /** * notified that state changed * * @param id id number to reference connection * @param stat state * @return return false if successful, true if error happened */ public boolean datagramState(prtGenConn id, state.states stat) { return false; } /** * received packet * * @param id connection * @param pckBin packet * @return false on success, true on error */ public boolean datagramRecv(prtGenConn id, packHolder pckBin) { cntr.rx(pckBin); packVxlan pckVxl = new packVxlan(); if (pckVxl.parseHeader(pckBin)) { return false; } if (pckVxl.instance != inst) { return false; } upper.recvPack(pckBin); return false; } } freeRtr-25.11.9/src/org/freertr/clnt/clntWhois.java000066400000000000000000000260701510423065500221140ustar00rootroot00000000000000package org.freertr.clnt; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.cfg.cfgAll; import org.freertr.enc.enc7bit; import org.freertr.pipe.pipeConnect; import org.freertr.pipe.pipeDiscard; import org.freertr.pipe.pipeReader; import org.freertr.pipe.pipeSide; import org.freertr.serv.servGeneric; import org.freertr.tab.tabGen; import org.freertr.user.userFormat; import org.freertr.util.bits; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.syncInt; /** * whois (rfc3912) client * * @author matecsaba */ public class clntWhois { /** * startup counter */ public final static syncInt cntrStart = new syncInt(0); /** * error counter */ public final static syncInt cntrError = new syncInt(0); /** * stop counter */ public final static syncInt cntrStop = new syncInt(0); /** * port number */ public final static int port = 43; /** * asn name cache */ private final static tabGen asnameCache = new tabGen(); /** * show local cache * * @return text */ public static userFormat showLocalCache() { userFormat res = new userFormat("|", "asn|name|ago|created|hit|info"); for (int i = 0; i < asnameCache.size(); i++) { clntWhoisAsn ntry = asnameCache.get(i); if (ntry == null) { continue; } res.add("" + ntry + "|" + asn2infos(ntry.asn)); } return res; } /** * clear local cache */ public static void purgeLocalCache() { asnameCache.clear(); if (cfgAll.whoisFile == null) { return; } List txt = bits.txt2buf(cfgAll.whoisFile); if (txt == null) { return; } for (int o = 0; o < txt.size(); o++) { String a = txt.get(o); int i = a.lastIndexOf(","); if (i > 0) { a = a.substring(0, i); } i = a.indexOf(" "); int p = bits.str2num(a.substring(0, i)); a = a.substring(i + 1, a.length()); i = a.indexOf(" "); if (i > 0) { a = a.substring(0, i); } clntWhoisAsn ntry = new clntWhoisAsn(p); ntry.name = enc7bit.decodeExtStr(a); asnameCache.put(ntry); } } private final clntProxy proxy; private final String server; private final String option; private final pipeSide console; /** * create new client * * @param con console to log * @param srv server to use * @param opt option to use * @param prx proxy to use */ public clntWhois(pipeSide con, clntProxy prx, String srv, String opt) { if (opt == null) { opt = ""; } else { opt = opt + " "; } console = pipeDiscard.needAny(con); server = srv; option = opt; proxy = prx; } private String removeSpecials(String s) { s = s.replaceAll("\\\\", "-"); s = s.replaceAll("\\ ", ""); s = s.replaceAll("\\!", "-"); s = s.replaceAll("\\|", "-"); s = s.replaceAll("\\:", "-"); s = s.replaceAll("\\;", "-"); s = s.replaceAll("\\,", "-"); s = s.replaceAll("\\#", "-"); s = s.replaceAll("\\(", "-"); s = s.replaceAll("\\)", "-"); s = s.replaceAll("\\[", "-"); s = s.replaceAll("\\]", "-"); return s; } /** * do one query * * @param asn asn to question * @return response, null if error */ public String doQuery(int asn) { if (doQuery("as" + bits.num2str(asn)) == null) { asnameCache.put(new clntWhoisAsn(asn)); return asn2str(asn); } clntWhoisAsn ntry = new clntWhoisAsn(asn); ntry = asnameCache.find(ntry); if (ntry != null) { ntry.hits++; if (ntry.name == null) { return asn2str(asn); } return ntry.name; } asnameCache.put(new clntWhoisAsn(asn)); return asn2str(asn); } /** * do one query * * @param quest question to ask * @return response, null if error */ public List doQuery(String quest) { if (debugger.clntIpInfo) { logger.debug("working on " + option + quest + " at " + server); } cntrStart.add(1); console.linePut("querying " + option + quest + " at " + server); if (proxy == null) { cntrError.add(1); return null; } if (server == null) { cntrError.add(1); return null; } addrIP trg = clntDns.justResolv(server, 0); if (trg == null) { cntrError.add(1); return null; } pipeSide pipe = proxy.doConnect(servGeneric.protoTcp, trg, port, "whois"); if (pipe == null) { cntrError.add(1); return null; } pipe.lineRx = pipeSide.modTyp.modeCRorLF; pipe.lineTx = pipeSide.modTyp.modeCRLF; pipe.linePut(option + quest); pipeReader rd = new pipeReader(); rd.setLineMode(pipeSide.modTyp.modeCRorLF); pipeConnect.connect(pipe, rd.getPipe(), true); rd.waitFor(); List res = rd.getResult(); String asNum = null; String asNam = null; for (int i = 0; i < res.size(); i++) { String s = res.get(i); s = enc7bit.decodeExtStr(s); s = s.trim(); int o = s.indexOf(":"); if (o < 1) { continue; } String a = s.substring(0, o).toLowerCase(); s = s.substring(o + 1, s.length()).trim(); s = removeSpecials(s); if (a.equals("aut-num")) { asNum = s; continue; } if (a.equals("as-name")) { asNam = s; continue; } } cntrStop.add(1); if (asNam == null) { return res; } if (asNum == null) { return res; } asNum = asNum.trim().toLowerCase(); if (!asNum.startsWith("as")) { return res; } clntWhoisAsn ntry = new clntWhoisAsn(bits.str2num(asNum.substring(2, asNum.length()))); ntry.name = asNam; asnameCache.put(ntry); return res; } /** * get info for an asn * * @param i asn to query * @return info got */ public static String asn2info(int i) { if (cfgAll.whoisOnline == null) { return asn2str(i); } int o = cfgAll.whoisOnline.size(); if (o < 1) { return asn2str(i); } return cfgAll.whoisOnline.get(bits.random(0, o)) + bits.num2str(i); } /** * get all infos for an asn * * @param i asn to query * @return info got, null if nothing */ public static List asn2infos(int i) { List res = new ArrayList(); if (cfgAll.whoisOnline == null) { return res; } int p = cfgAll.whoisOnline.size(); for (int o = 0; o < p; o++) { res.add(cfgAll.whoisOnline.get(o) + bits.num2str(i)); } return res; } private static String asn2str(int i) { return "as" + bits.num2str(i); } /** * get all infos for an asn * * @param i asn to query * @param b true to do an external lookup on local cache miss * @return as name mixed */ public static String asn2mixed(int i, boolean b) { return bits.num2str(i) + "-" + asn2name(i, b); } /** * find name of asn * * @param i asn number * @param b true to do an external lookup on local cache miss * @return name */ public static String asn2name(int i, boolean b) { clntWhoisAsn ntry = new clntWhoisAsn(i); ntry = asnameCache.find(ntry); if (ntry != null) { ntry.hits++; if (ntry.name == null) { return asn2str(i); } return ntry.name; } if (!b) { return asn2str(i); } clntWhois w = new clntWhois(null, cfgAll.getClntPrx(cfgAll.whoisProxy), cfgAll.whoisServer, cfgAll.whoisOption); return w.doQuery(i); } /** * convert asn list to string * * @param lst list to convert * @param beg beginning * @param end ending * @return list */ public static String asnList2str(List lst, String beg, String end) { if (lst == null) { return ""; } if (lst.size() < 1) { return ""; } String s = ""; for (int i = 0; i < lst.size(); i++) { int o = lst.get(i); String a = asn2name(o, true); s += " " + a; } return beg + s.substring(1, s.length()) + end; } /** * convert asn list to string * * @param lst list to convert * @param beg beginning * @param end ending * @return list */ public static String asnList2mixed(List lst, String beg, String end) { if (lst == null) { return ""; } if (lst.size() < 1) { return ""; } String s = ""; for (int i = 0; i < lst.size(); i++) { int o = lst.get(i); s += " " + asn2mixed(o, true); } return beg + s.substring(1, s.length()) + end; } /** * convert asn list to string * * @param lst list to convert * @param beg beginning * @param end ending * @return list */ public static String asnList2info(List lst, String beg, String end) { if (lst == null) { return ""; } if (lst.size() < 1) { return ""; } String s = ""; for (int i = 0; i < lst.size(); i++) { int o = lst.get(i); String a = asn2info(o); s += " " + a; } return beg + s.substring(1, s.length()) + end; } } class clntWhoisAsn implements Comparable { /** * as number */ public final int asn; /** * time created */ public final long created; /** * hit count */ public int hits = 1; /** * name cached */ public String name; /** * create entry * * @param i asn */ public clntWhoisAsn(int i) { asn = i; created = bits.getTime(); } public int compareTo(clntWhoisAsn o) { if (asn < o.asn) { return -1; } if (asn > o.asn) { return +1; } return 0; } public String toString() { return bits.num2str(asn) + "|" + name + "|" + bits.timePast(created) + "|" + bits.time2str(cfgAll.timeZoneName, created + cfgAll.timeServerOffset, 3) + "|" + hits; } } freeRtr-25.11.9/src/org/freertr/clnt/clntWireguard.java000066400000000000000000000623201510423065500227520ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.addr.addrEmpty; import org.freertr.addr.addrIP; import org.freertr.addr.addrType; import org.freertr.cfg.cfgAll; import org.freertr.cfg.cfgIfc; import org.freertr.cfg.cfgVrf; import org.freertr.enc.encBase64; import org.freertr.cry.cryKeyCurve25519; import org.freertr.cry.cryEncrChacha20poly1305; import org.freertr.cry.cryHashBlake2s; import org.freertr.cry.cryHashHmac; import org.freertr.ifc.ifcDn; import org.freertr.ifc.ifcEther; import org.freertr.ifc.ifcNull; import org.freertr.ifc.ifcUp; import org.freertr.ip.ipFwdIface; import org.freertr.pack.packHolder; import org.freertr.prt.prtGenConn; import org.freertr.prt.prtServP; import org.freertr.prt.prtUdp; import org.freertr.tab.tabWindow; import org.freertr.util.bits; import org.freertr.util.counter; import org.freertr.util.debugger; import org.freertr.util.logger; import org.freertr.util.state; /** * wireguard protocol * * @author matecsaba */ public class clntWireguard implements Runnable, prtServP, ifcDn { /** * create instance */ public clntWireguard() { } /** * port number */ public final static int port = 51902; private final static byte[] magicC = { (byte) 0x60, (byte) 0xe2, (byte) 0x6d, (byte) 0xae, (byte) 0xf3, (byte) 0x27, (byte) 0xef, (byte) 0xc0, (byte) 0x2e, (byte) 0xc3, (byte) 0x35, (byte) 0xe2, (byte) 0xa0, (byte) 0x25, (byte) 0xd2, (byte) 0xd0, (byte) 0x16, (byte) 0xeb, (byte) 0x42, (byte) 0x06, (byte) 0xf8, (byte) 0x72, (byte) 0x77, (byte) 0xf5, (byte) 0x2d, (byte) 0x38, (byte) 0xd1, (byte) 0x98, (byte) 0x8b, (byte) 0x78, (byte) 0xcd, (byte) 0x36}; private final static byte[] magicH = { (byte) 0x22, (byte) 0x11, (byte) 0xb3, (byte) 0x61, (byte) 0x08, (byte) 0x1a, (byte) 0xc5, (byte) 0x66, (byte) 0x69, (byte) 0x12, (byte) 0x43, (byte) 0xdb, (byte) 0x45, (byte) 0x8a, (byte) 0xd5, (byte) 0x32, (byte) 0x2d, (byte) 0x9c, (byte) 0x6c, (byte) 0x66, (byte) 0x22, (byte) 0x93, (byte) 0xe8, (byte) 0xb7, (byte) 0x0e, (byte) 0xe1, (byte) 0x9c, (byte) 0x65, (byte) 0xba, (byte) 0x07, (byte) 0x9e, (byte) 0xf3}; /** * upper layer */ public ifcUp upper = new ifcNull(); /** * preferred ip protocol version */ public int prefer = 0; /** * do replay checking */ public int replayCheck = 1024; /** * target of tunnel */ public String target = null; /** * vrf of target */ public cfgVrf vrf = null; /** * source interface */ public cfgIfc srcIfc = null; /** * source port */ public int prtL; /** * target port */ public int prtR; /** * sending ttl value, -1 means maps out */ public int sendingTTL = 255; /** * sending tos value, -1 means maps out */ public int sendingTOS = -1; /** * sending df value, -1 means maps out */ public int sendingDFN = -1; /** * sending flow value, -1 means maps out */ public int sendingFLW = -1; /** * preshared secret */ public String preshared; /** * counter */ public counter cntr = new counter(); /** * transmit index */ public int idxTx; /** * receive index */ public int idxRx; /** * decryption keys */ public byte[] keyRx; /** * encryption keys */ public byte[] keyTx; private prtGenConn conn; private boolean working = true; private tabWindow sequence; private long seqRx; private long seqTx; private cryKeyCurve25519 locPriv; private byte[] locPub; private byte[] remPub; private byte[] quantum; private long lasTim; private cryKeyCurve25519 dh1; private cryEncrChacha20poly1305 cphrTx; private cryEncrChacha20poly1305 cphrRx; private byte[] dh2; private byte[] dhr; private byte[] hi; private byte[] hr; private byte[] ci; private byte[] cr; public String toString() { return "wireguard to " + target; } /** * get remote address * * @return address */ public addrIP getRemAddr() { if (conn == null) { return null; } return conn.peerAddr.copyBytes(); } /** * get local address * * @return address */ public addrIP getLocAddr() { if (conn == null) { return null; } return conn.iface.addr.copyBytes(); } /** * get remote port * * @return address */ public int getRemPort() { if (conn == null) { return 0; } return conn.portRem; } /** * get local port * * @return address */ public int getLocPort() { if (conn == null) { return 0; } return conn.portLoc; } /** * get hw address * * @return hw address */ public addrType getHwAddr() { return new addrEmpty(); } /** * set filter * * @param promisc promiscous mode */ public void setFilter(boolean promisc) { } /** * get state * * @return state */ public state.states getState() { return state.states.up; } /** * close interface */ public void closeDn() { clearState(); } /** * flap interface */ public void flapped() { clearState(); } /** * set upper layer * * @param server upper layer */ public void setUpper(ifcUp server) { upper = server; upper.setParent(this); } /** * get counter * * @return counter */ public counter getCounter() { return cntr; } /** * get mtu size * * @return mtu size */ public int getMTUsize() { return 1400; } /** * get bandwidth * * @return bandwidth */ public long getBandwidth() { return 8000000; } /** * start connection */ public void workStart() { new Thread(this).start(); } /** * stop connection */ public void workStop() { working = false; clearState(); } public void run() { for (;;) { if (!working) { break; } try { clearState(); workDoer(); } catch (Exception e) { logger.traceback(e); } clearState(); bits.sleep(1000); } } private void workDoer() { int i = preshared.indexOf("=") + 1; locPriv = new cryKeyCurve25519(); locPriv.sshReader(encBase64.decodeBytes(preshared.substring(0, i))); locPriv.keyServCalc(); locPub = locPriv.keyCommonTls(); String a = preshared.substring(i, preshared.length()); i = a.indexOf("=") + 1; remPub = encBase64.decodeBytes(a.substring(0, i)); quantum = encBase64.decodeBytes(a.substring(i, a.length())); if (quantum.length < 1) { quantum = new byte[32]; } addrIP trg = clntDns.justResolv(target, prefer); if (trg == null) { return; } prtUdp udp = vrf.getUdp(trg); ipFwdIface fwdIfc = null; if (srcIfc != null) { fwdIfc = srcIfc.getFwdIfc(trg); } if (prtR == 0) { prtR = port; } if (prtL == 0) { prtL = prtR; } conn = udp.packetConnect(this, fwdIfc, prtL, trg, prtR, "wireguard", -1, null, -1, -1); if (conn == null) { return; } conn.timeout = 120000; conn.sendTOS = sendingTOS; conn.sendDFN = sendingDFN; conn.sendFLW = sendingFLW; conn.sendTTL = sendingTTL; for (;;) { if (conn == null) { return; } if (conn.txBytesFree() < 0) { return; } if (keyRx == null) { sendInit(); } else { sendKeep(); } bits.sleep(5000); } } private synchronized void clearState() { keyRx = null; keyTx = null; cphrRx = new cryEncrChacha20poly1305(); cphrTx = new cryEncrChacha20poly1305(); if (conn != null) { conn.setClosing(); } conn = null; seqRx = 0; seqTx = 0; } /** * close interface * * @param ifc interface */ public void closedInterface(ipFwdIface ifc) { } /** * accept connection * * @param id connection * @return false on success, true on error */ public boolean datagramAccept(prtGenConn id) { return true; } /** * connection ready * * @param id connection */ public void datagramReady(prtGenConn id) { } /** * connection closed * * @param id connection */ public void datagramClosed(prtGenConn id) { } /** * work connection * * @param id connection */ public void datagramWork(prtGenConn id) { } /** * send packet * * @param pck packet */ public void sendPack(packHolder pck) { pck.merge2beg(); if (conn == null) { return; } if (keyTx == null) { return; } cntr.tx(pck); if (ifcEther.stripEtherType(pck)) { return; } synchronized (cphrTx) { int i = pck.dataSize() % 16; i = 16 - i; pck.putFill(0, i, 0); // padding pck.putSkip(i); pck.merge2end(); byte[] tmp = new byte[12]; bits.lsbPutQ(tmp, 4, seqTx); cphrTx.init(keyTx, tmp, true); i = pck.encrData(cphrTx, 0, pck.dataSize()); if (i < 0) { return; } pck.setDataSize(i); pck.lsbPutD(0, 4); // data pck.msbPutD(4, idxTx); pck.lsbPutQ(8, seqTx); pck.putSkip(16); pck.merge2beg(); seqTx++; } conn.send2net(pck); } /** * received error * * @param id connection * @param pck packet * @param rtr reporting router * @param err error happened * @param lab error label * @return false on success, true on error */ public boolean datagramError(prtGenConn id, packHolder pck, addrIP rtr, counter.reasons err, int lab) { return false; } /** * notified that state changed * * @param id id number to reference connection * @param stat state * @return return false if successful, true if error happened */ public boolean datagramState(prtGenConn id, state.states stat) { return false; } /** * received packet * * @param id connection * @param pck packet * @return false on success, true on error */ public synchronized boolean datagramRecv(prtGenConn id, packHolder pck) { int typ = pck.lsbGetD(0); switch (typ) { case 4: // data if (pck.dataSize() < 32) { cntr.drop(pck, counter.reasons.tooSmall); logger.info("get truncated data from " + target); return false; } if (keyRx == null) { cntr.drop(pck, counter.reasons.notUp); logger.info("got unwanted data from " + target); return false; } if (pck.msbGetD(4) != idxRx) { cntr.drop(pck, counter.reasons.badID); logger.info("got invalid index from " + target); return false; } byte[] tmp1 = new byte[12]; pck.getCopy(tmp1, 4, 8, 8); pck.getSkip(16); seqRx = bits.lsbGetQ(tmp1, 4); if (sequence != null) { if (sequence.gotDat((int) seqRx)) { cntr.drop(pck, counter.reasons.badRxSeq); logger.info("replay check failed from " + target); return false; } } cphrRx.init(keyRx, tmp1, false); typ = pck.encrData(cphrRx, 0, pck.dataSize()); if (typ < 0) { cntr.drop(pck, counter.reasons.badSum); logger.info("got invalid data from " + target); return false; } pck.setDataSize(typ); if (typ < 1) { if (debugger.clntWireguardTraf) { logger.debug("rx keepalive"); } return false; } typ = ifcEther.guessEtherType(pck); if (typ < 0) { logger.info("got bad protocol from " + target); cntr.drop(pck, counter.reasons.badProto); return false; } pck.msbPutW(0, typ); // ethertype pck.putSkip(2); pck.merge2beg(); cntr.rx(pck); upper.recvPack(pck); return false; case 1: // init if (pck.dataSize() < 148) { logger.info("get truncated init from " + target); return false; } tmp1 = new byte[32]; pck.getCopy(tmp1, 0, 116, tmp1.length); pck.setDataSize(116); if (bits.byteComp(tmp1, 0, calcMac1(locPub, pck), 0, tmp1.length) != 0) { logger.info("got invalid mac from " + target); return false; } int ridx = pck.msbGetD(4); pck.getSkip(8); dhr = new byte[32]; pck.getCopy(dhr, 0, 0, dhr.length); pck.getSkip(dhr.length); if (debugger.clntWireguardTraf) { logger.debug("rx init e=" + bits.byteDump(dhr, 0, -1)); } cryHashBlake2s h = new cryHashBlake2s(null, 32); h.init(); h.update(magicH); h.update(locPub); hi = h.finish(); byte[][] ks = calcKdf(magicC, dhr, 1); ci = ks[0]; h.init(); h.update(hi); h.update(dhr); hi = h.finish(); locPriv.keyClntTls(dhr, 0); locPriv.keyServCalc(); ks = calcKdf(ci, locPriv.keyCommonTls(), 2); ci = ks[0]; tmp1 = new byte[48]; pck.getCopy(tmp1, 0, 0, tmp1.length); pck.getSkip(tmp1.length); byte[] tmp2 = decAead(ks[1], tmp1, hi); if (tmp2 == null) { logger.info("got bad static from " + target); return false; } if (bits.byteComp(tmp2, 0, remPub, 0, remPub.length) != 0) { logger.info("got bad static from " + target); return false; } h.init(); h.update(hi); h.update(tmp1); hi = h.finish(); locPriv.keyClntTls(remPub, 0); locPriv.keyServCalc(); ks = calcKdf(ci, locPriv.keyCommonTls(), 2); ci = ks[0]; tmp1 = new byte[28]; pck.getCopy(tmp1, 0, 0, tmp1.length); pck.getSkip(tmp1.length); tmp2 = decAead(ks[1], tmp1, hi); if (tmp2 == null) { logger.info("got bad timestamp from " + target); return false; } h.init(); h.update(hi); h.update(tmp1); hi = h.finish(); long tim = bits.msbGetQ(tmp2, 0); if (tim <= lasTim) { logger.info("got replayed handshake from " + target); return false; } lasTim = tim; idxTx = ridx; initDH(); if (debugger.clntWireguardTraf) { logger.debug("tx resp e=" + bits.byteDump(dh2, 0, -1)); } ks = calcKdf(ci, dh2, 1); cr = ks[0]; h.init(); h.update(hi); h.update(dh2); hr = h.finish(); dh1.keyClntTls(dhr, 0); dh1.keyServCalc(); ks = calcKdf(cr, dh1.keyCommonTls(), 1); cr = ks[0]; dh1.keyClntTls(remPub, 0); dh1.keyServCalc(); ks = calcKdf(cr, dh1.keyCommonTls(), 1); cr = ks[0]; ks = calcKdf(cr, quantum, 3); cr = ks[0]; h.init(); h.update(hr); h.update(ks[1]); hr = h.finish(); tmp1 = encAead(ks[2], new byte[0], hr); h.init(); h.update(hr); h.update(tmp1); hr = h.finish(); pck.clear(); pck.lsbPutD(0, 2); // resp pck.msbPutD(4, idxRx); pck.msbPutD(8, idxTx); pck.putSkip(12); pck.putCopy(dh2, 0, 0, dh2.length); pck.putSkip(dh2.length); pck.putCopy(tmp1, 0, 0, tmp1.length); pck.putSkip(tmp1.length); pck.merge2beg(); tmp1 = calcMac1(remPub, pck); pck.putCopy(tmp1, 0, 0, tmp1.length); pck.putSkip(tmp1.length); pck.merge2end(); conn.send2net(pck); initKeys(1); return false; case 2: // resp if (pck.dataSize() < 92) { logger.info("get truncated resp from " + target); return false; } tmp1 = new byte[32]; pck.getCopy(tmp1, 0, 60, tmp1.length); pck.setDataSize(60); if (bits.byteComp(tmp1, 0, calcMac1(locPub, pck), 0, tmp1.length) != 0) { logger.info("got invalid mac from " + target); return false; } ridx = pck.msbGetD(4); if (pck.msbGetD(8) != idxRx) { logger.info("got invalid index from " + target); return false; } if (ridx == idxTx) { logger.info("got replayed resp from " + target); return false; } pck.getSkip(12); dhr = new byte[32]; pck.getCopy(dhr, 0, 0, dhr.length); pck.getSkip(dhr.length); if (debugger.clntWireguardTraf) { logger.debug("rx resp e=" + bits.byteDump(dhr, 0, -1)); } ks = calcKdf(ci, dhr, 1); cr = ks[0]; h = new cryHashBlake2s(null, 32); h.init(); h.update(hi); h.update(dhr); hr = h.finish(); dh1.keyClntTls(dhr, 0); dh1.keyServCalc(); ks = calcKdf(cr, dh1.keyCommonTls(), 1); cr = ks[0]; locPriv.keyClntTls(dhr, 0); locPriv.keyServCalc(); ks = calcKdf(cr, locPriv.keyCommonTls(), 1); cr = ks[0]; ks = calcKdf(cr, quantum, 3); cr = ks[0]; h.init(); h.update(hr); h.update(ks[1]); hr = h.finish(); tmp2 = pck.getCopy(); tmp1 = decAead(ks[2], tmp2, hr); if (tmp1 == null) { logger.info("got invalid empty from " + target); return false; } if (tmp1.length != 0) { logger.info("got malformed empty from " + target); return false; } h.init(); h.update(hr); h.update(tmp2); hr = h.finish(); idxTx = ridx; initKeys(0); sendKeep(); return false; default: logger.info("got invalid type from " + target); return false; } } private void sendKeep() { packHolder pck = new packHolder(true, true); synchronized (cphrTx) { byte[] tmp = new byte[12]; bits.lsbPutQ(tmp, 4, seqTx); cphrTx.init(keyTx, tmp, true); int i = pck.encrData(cphrTx, 0, pck.dataSize()); if (i < 0) { return; } pck.setDataSize(i); pck.lsbPutD(0, 4); // data pck.msbPutD(4, idxTx); pck.lsbPutQ(8, seqTx); pck.putSkip(16); pck.merge2beg(); seqTx++; } conn.send2net(pck); if (debugger.clntWireguardTraf) { logger.debug("tx keepalive"); } } private synchronized void sendInit() { if (dh1 == null) { initDH(); } packHolder pck = new packHolder(true, true); pck.lsbPutD(0, 1); // init pck.msbPutD(4, idxRx); pck.putSkip(8); pck.putCopy(dh2, 0, 0, dh2.length); pck.putSkip(dh2.length); cryHashBlake2s h = new cryHashBlake2s(null, 32); h.init(); h.update(magicH); h.update(remPub); hi = h.finish(); byte[][] ks = calcKdf(magicC, dh2, 1); ci = ks[0]; h.init(); h.update(hi); h.update(dh2); hi = h.finish(); dh1.keyClntTls(remPub, 0); dh1.keyServCalc(); ks = calcKdf(ci, dh1.keyCommonTls(), 2); ci = ks[0]; byte[] tmp = encAead(ks[1], locPub, hi); pck.putCopy(tmp, 0, 0, tmp.length); pck.putSkip(tmp.length); h.init(); h.update(hi); h.update(tmp); hi = h.finish(); locPriv.keyClntTls(remPub, 0); locPriv.keyServCalc(); ks = calcKdf(ci, locPriv.keyCommonTls(), 2); ci = ks[0]; tmp = new byte[12]; long tim = bits.getTime() + cfgAll.timeServerOffset; bits.msbPutQ(tmp, 0, (tim / 1000) + 0x400000000000000aL); bits.msbPutD(tmp, 8, (int) (tim % 1000)); tmp = encAead(ks[1], tmp, hi); h.init(); h.update(hi); h.update(tmp); hi = h.finish(); pck.putCopy(tmp, 0, 0, tmp.length); pck.putSkip(tmp.length); pck.merge2beg(); tmp = calcMac1(remPub, pck); pck.putCopy(tmp, 0, 0, tmp.length); pck.putSkip(tmp.length); pck.merge2end(); conn.send2net(pck); if (debugger.clntWireguardTraf) { logger.debug("tx init e=" + bits.byteDump(dh2, 0, -1)); } } private void initDH() { dh1 = new cryKeyCurve25519(); dh1.keyServInit(); dh2 = dh1.keyServTls(); idxRx = bits.randomD(); } private void initKeys(int r) { byte[][] ks = calcKdf(cr, new byte[0], 2); keyRx = ks[1 ^ r]; keyTx = ks[r]; seqRx = 0; seqTx = 0; if (replayCheck > 0) { sequence = new tabWindow(replayCheck); } if (debugger.clntWireguardTraf) { logger.debug("keys r=" + r + " ri=" + idxTx + " ti=" + idxRx + " rk=" + bits.byteDump(keyRx, 0, -1) + " tk=" + bits.byteDump(keyTx, 0, -1)); } } private static byte[] calcMac1(byte[] pub, packHolder pck) { cryHashBlake2s h = new cryHashBlake2s(null, 32); h.init(); h.update("mac1----".getBytes()); h.update(pub); byte[] r = h.finish(); h = new cryHashBlake2s(r, 16); pck.hashData(h, 0, pck.dataSize()); return bits.byteConcat(h.finish(), new byte[16]); } private static byte[][] calcKdf(byte[] key, byte[] msg, int rnd) { byte[][] res = new byte[rnd][]; cryHashHmac h = new cryHashHmac(new cryHashBlake2s(null, 32), key); h.init(); h.update(msg); byte[] psk = h.finish(); byte[] old = new byte[0]; for (int i = 0; i < rnd; i++) { h = new cryHashHmac(new cryHashBlake2s(null, 32), psk); h.init(); h.update(old); h.update(i + 1); res[i] = h.finish(); old = res[i]; } return res; } private static byte[] encAead(byte[] key, byte[] msg, byte[] auth) { cryEncrChacha20poly1305 c = new cryEncrChacha20poly1305(); c.init(key, new byte[12], true); c.authAdd(auth); return c.compute(msg); } private static byte[] decAead(byte[] key, byte[] msg, byte[] auth) { cryEncrChacha20poly1305 c = new cryEncrChacha20poly1305(); c.init(key, new byte[12], false); c.authAdd(auth); return c.compute(msg); } } freeRtr-25.11.9/src/org/freertr/clnt/clntXmodem.java000066400000000000000000000140031510423065500222450ustar00rootroot00000000000000package org.freertr.clnt; import java.io.File; import java.io.RandomAccessFile; import org.freertr.pipe.pipeSide; import org.freertr.util.bits; /** * xmodem client * * @author matecsaba */ public class clntXmodem { private pipeSide pipe; private RandomAccessFile fr; /** * create new client * * @param console console to use */ public clntXmodem(pipeSide console) { pipe = console; } /** * clean up state */ public void cleanUp() { try { fr.close(); } catch (Exception e) { } } /** * download one file * * @param trg target * @return result code */ public boolean download(File trg) { try { trg.createNewFile(); } catch (Exception e) { return true; } try { fr = new RandomAccessFile(trg, "rw"); fr.setLength(0); } catch (Exception e) { return true; } pipe.linePut("start xmodem upload!"); sendByte(21); int blk = 1; for (;;) { byte[] buf; for (int re = 0;; re++) { if (re > 8) { return true; } byte[] hdr = recvBytes(1); if (hdr == null) { sendByte(21); continue; } switch (hdr[0]) { case 1: // soh break; case 3: // brk return true; case 4: // eot return false; default: recvFlush(); continue; } hdr = recvBytes(2); if (hdr == null) { continue; } if (((~hdr[1]) & 0xff) != (hdr[0] & 0xff)) { continue; } buf = recvBytes(128); if (buf == null) { continue; } byte[] sum = recvBytes(1); if (sum == null) { continue; } int o = 0; for (int i = 0; i < buf.length; i++) { o += buf[i]; } if ((o & 0xff) != (sum[0] & 0xff)) { continue; } if ((hdr[0] & 0xff) != blk) { sendByte(6); continue; } break; } sendByte(6); blk = (blk + 1) & 0xff; try { fr.write(buf); } catch (Exception e) { return true; } } } /** * upload one file * * @param src target * @return result code */ public boolean upload(File src) { long siz = 0; try { fr = new RandomAccessFile(src, "r"); siz = fr.length(); } catch (Exception e) { return true; } pipe.linePut("start xmodem download!"); long blk = 0; for (;;) { byte[] buf; for (int re = 0;; re++) { if (re > 8) { return true; } buf = recvBytes(1); if (buf == null) { continue; } switch (buf[0]) { case 21: // nak break; case 6: // ack blk++; break; case 3: // brk return true; default: recvFlush(); continue; } break; } buf = new byte[128]; long pos = blk * buf.length; int len = (int) (siz - pos); if (len > buf.length) { len = buf.length; } if (len < 1) { break; } try { fr.seek(pos); fr.read(buf, 0, len); } catch (Exception e) { return true; } bits.byteFill(buf, len, buf.length - len, 26); byte[] hdr = new byte[3]; hdr[0] = 1; hdr[1] = (byte) ((blk + 1) & 0xff); hdr[2] = (byte) ((~hdr[1]) & 0xff); int o = 0; for (int i = 0; i < buf.length; i++) { o += buf[i] & 0xff; } hdr = bits.byteConcat(hdr, buf); buf = new byte[1]; buf[0] = (byte) (o & 0xff); hdr = bits.byteConcat(hdr, buf); pipe.blockingPut(hdr, 0, hdr.length); } byte[] buf = new byte[1]; buf[0] = 4; pipe.blockingPut(buf, 0, buf.length); return false; } private void recvFlush() { for (;;) { int i = pipe.ready2rx(); if (i < 1) { return; } byte[] buf = new byte[i]; pipe.moreGet(buf, 0, i); bits.sleep(100); } } private void sendByte(int i) { byte[] buf = new byte[1]; buf[0] = (byte) i; pipe.blockingPut(buf, 0, buf.length); } private byte[] recvBytes(int len) { byte[] buf = new byte[len]; long beg = bits.getTime(); len = 0; for (;;) { if ((bits.getTime() - beg) > 5000) { return null; } int o = buf.length - len; if (o < 1) { break; } int i = pipe.ready2rx(); if (i < 1) { pipe.notif.sleep(1000); continue; } if (i > o) { i = o; } i = pipe.blockingGet(buf, len, i); len += i; } return buf; } } freeRtr-25.11.9/src/org/freertr/clnt/clntXotPad.java000066400000000000000000000042531510423065500222210ustar00rootroot00000000000000package org.freertr.clnt; import org.freertr.pack.packXotPad; import org.freertr.pipe.pipeLine; import org.freertr.pipe.pipeSide; import org.freertr.util.logger; /** * x25 over tcp (rfc1613) client * * @author matecsaba */ public class clntXotPad implements Runnable { /** * xot pad handler */ protected final packXotPad conn; /** * pipeline */ protected final pipeLine pl; /** * xot pad pipe */ protected final pipeSide psx; /** * client pipe */ protected final pipeSide psc; /** * create instance * * @param pipe pipeline to use */ public clntXotPad(pipeSide pipe) { conn = new packXotPad(pipe); pl = new pipeLine(32768, false); psx = pl.getSide(); psc = pl.getSide(); psx.setReady(); psc.setReady(); } /** * start work * * @param called called number * @param calling calling number * @return true on error, false on success */ public boolean startWork(String called, String calling) { conn.sendPack(conn.createCallReq(called, calling)); if (conn.parseCallAcc(conn.recvPack())) { return true; } new Thread(this).start(); new clntXotPadTx(this).startWork(); return false; } /** * get pipeline * * @return pipe */ public pipeSide getPipe() { return psc; } /** * stop work */ public void stopWork() { conn.setClose(); psc.setClose(); psx.setClose(); pl.setClose(); } public void run() { try { conn.doerRx(psx); } catch (Exception e) { logger.traceback(e); } stopWork(); } } class clntXotPadTx implements Runnable { private final clntXotPad lower; public clntXotPadTx(clntXotPad parent) { lower = parent; } public void run() { try { lower.conn.doerTx(lower.psx); } catch (Exception e) { logger.traceback(e); } lower.stopWork(); } public void startWork() { new Thread(this).start(); } } freeRtr-25.11.9/src/org/freertr/clnt/package-info.java000066400000000000000000000001051510423065500224550ustar00rootroot00000000000000/** * clients * * @author matecsaba */ package org.freertr.clnt; freeRtr-25.11.9/src/org/freertr/cry/000077500000000000000000000000001510423065500171275ustar00rootroot00000000000000freeRtr-25.11.9/src/org/freertr/cry/cryCertEntity.java000066400000000000000000000311611510423065500226040ustar00rootroot00000000000000package org.freertr.cry; import org.freertr.enc.encAsn1; import org.freertr.pack.packHolder; /** * certificate (rfc5280) entity * * @author matecsaba */ public class cryCertEntity { /** * create instance */ public cryCertEntity() { } /** * value */ public String commonName; /** * value */ public String surName; /** * value */ public String serialNum; /** * value */ public String country; /** * value */ public String locality; /** * value */ public String province; /** * value */ public String street; /** * value */ public String organizationName; /** * value */ public String organizationUnit; /** * value */ public String title; /** * value */ public String description; /** * value */ public String searchGuide; /** * value */ public String businessCat; /** * value */ public String postalAddr; /** * value */ public String postalCode; /** * value */ public String postalBox; /** * value */ public String physicalDeliver; /** * value */ public String telephoneNum; /** * value */ public String telexNum; /** * value */ public String teletexNum; /** * value */ public String faxNum; /** * value */ public String x121addr; /** * value */ public String intSDNnum; /** * value */ public String regAddr; /** * value */ public String destInd; /** * value */ public String preferDeliver; /** * value */ public String presentAddr; /** * value */ public String supportApp; /** * value */ public String member; /** * value */ public String owner; /** * value */ public String occupant; /** * value */ public String seeAlso; /** * value */ public String password; /** * value */ public String certificate; /** * value */ public String caCert; /** * value */ public String caCrl; /** * value */ public String crl; /** * value */ public String crossCert; /** * value */ public String name; /** * value */ public String givenName; /** * value */ public String initials; /** * value */ public String genQual; /** * value */ public String x500id; /** * value */ public String dnQual; /** * value */ public String enhancSearch; /** * value */ public String protoInfo; /** * value */ public String distingName; /** * value */ public String uniqueMember; /** * value */ public String houseId; /** * value */ public String supportAlgs; /** * value */ public String deltaCrl; /** * value */ public String dmdName; /** * value */ public String pseudonym; /** * value */ public String role; public String toString() { return commonName; } private void addValue(packHolder pck, int typ, String val) { if (val == null) { return; } packHolder p1 = new packHolder(true, true); packHolder p2 = new packHolder(true, true); int[] oid = new int[3]; oid[0] = 0x55; oid[1] = 0x04; oid[2] = (byte) typ; encAsn1.writeObjectId(p1, oid); encAsn1 a = new encAsn1(); a.buf = val.getBytes(); a.tag = encAsn1.tagPrintableString; a.tagWrite(p1); p1.merge2end(); encAsn1.writeSequence(p2, p1); encAsn1.writeSet(pck, p2); } /** * write entity to asn1 format * * @param pck packet to write to */ public void asn1writer(packHolder pck) { addValue(pck, 0x03, commonName); addValue(pck, 0x04, surName); addValue(pck, 0x05, serialNum); addValue(pck, 0x06, country); addValue(pck, 0x07, locality); addValue(pck, 0x08, province); addValue(pck, 0x09, street); addValue(pck, 0x0a, organizationName); addValue(pck, 0x0b, organizationUnit); addValue(pck, 0x0c, title); addValue(pck, 0x0d, description); addValue(pck, 0x0e, searchGuide); addValue(pck, 0x0f, businessCat); addValue(pck, 0x10, postalAddr); addValue(pck, 0x11, postalCode); addValue(pck, 0x12, postalBox); addValue(pck, 0x13, physicalDeliver); addValue(pck, 0x14, telephoneNum); addValue(pck, 0x15, telexNum); addValue(pck, 0x16, teletexNum); addValue(pck, 0x17, faxNum); addValue(pck, 0x18, x121addr); addValue(pck, 0x19, intSDNnum); addValue(pck, 0x1a, regAddr); addValue(pck, 0x1b, destInd); addValue(pck, 0x1c, preferDeliver); addValue(pck, 0x1d, presentAddr); addValue(pck, 0x1e, supportApp); addValue(pck, 0x1f, member); addValue(pck, 0x20, owner); addValue(pck, 0x21, occupant); addValue(pck, 0x22, seeAlso); addValue(pck, 0x23, password); addValue(pck, 0x24, certificate); addValue(pck, 0x25, caCert); addValue(pck, 0x26, caCrl); addValue(pck, 0x27, crl); addValue(pck, 0x28, crossCert); addValue(pck, 0x29, name); addValue(pck, 0x2a, givenName); addValue(pck, 0x2b, initials); addValue(pck, 0x2c, genQual); addValue(pck, 0x2d, x500id); addValue(pck, 0x2e, dnQual); addValue(pck, 0x2f, enhancSearch); addValue(pck, 0x30, protoInfo); addValue(pck, 0x31, distingName); addValue(pck, 0x32, uniqueMember); addValue(pck, 0x33, houseId); addValue(pck, 0x34, supportAlgs); addValue(pck, 0x35, deltaCrl); addValue(pck, 0x36, dmdName); addValue(pck, 0x41, pseudonym); addValue(pck, 0x48, role); } /** * read entity from asn1 format * * @param pck packet to read from * @return false on success, true on error */ public boolean asn1reader(packHolder pck) { for (;;) { if (pck.dataSize() < 1) { break; } encAsn1 a = new encAsn1(); if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSet)) { return true; } packHolder p = a.getPack(); if (a.tagRead(p)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } p = a.getPack(); if (a.tagRead(p)) { return true; } if ((a.cnst) || (a.tag != encAsn1.tagObjectID)) { return true; } if (a.buf.length != 3) { continue; } if (a.buf[0] != 0x55) { continue; } if (a.buf[1] != 0x04) { continue; } int t = a.buf[2]; if (a.tagRead(p)) { return true; } if (a.cnst) { return true; } switch (a.tag) { case encAsn1.tagPrintableString: case encAsn1.tagUTF8string: case encAsn1.tagGeneralString: break; default: return true; } String v = new String(a.buf); switch (t) { case 0x03: commonName = v; break; case 0x04: surName = v; break; case 0x05: serialNum = v; break; case 0x06: country = v; break; case 0x07: locality = v; break; case 0x08: province = v; break; case 0x09: street = v; break; case 0x0a: organizationName = v; break; case 0x0b: organizationUnit = v; break; case 0x0c: title = v; break; case 0x0d: description = v; break; case 0x0e: searchGuide = v; break; case 0x0f: businessCat = v; break; case 0x10: postalAddr = v; break; case 0x11: postalCode = v; break; case 0x12: postalBox = v; break; case 0x13: physicalDeliver = v; break; case 0x14: telephoneNum = v; break; case 0x15: telexNum = v; break; case 0x16: teletexNum = v; break; case 0x17: faxNum = v; break; case 0x18: x121addr = v; break; case 0x19: intSDNnum = v; break; case 0x1a: regAddr = v; break; case 0x1b: destInd = v; break; case 0x1c: preferDeliver = v; break; case 0x1d: presentAddr = v; break; case 0x1e: supportApp = v; break; case 0x1f: member = v; break; case 0x20: owner = v; break; case 0x21: occupant = v; break; case 0x22: seeAlso = v; break; case 0x23: password = v; break; case 0x24: certificate = v; break; case 0x25: caCert = v; break; case 0x26: caCrl = v; break; case 0x27: crl = v; break; case 0x28: crossCert = v; break; case 0x29: name = v; break; case 0x2a: givenName = v; break; case 0x2b: initials = v; break; case 0x2c: genQual = v; break; case 0x2d: x500id = v; break; case 0x2e: dnQual = v; break; case 0x2f: enhancSearch = v; break; case 0x30: protoInfo = v; break; case 0x31: distingName = v; break; case 0x32: uniqueMember = v; break; case 0x33: houseId = v; break; case 0x34: supportAlgs = v; break; case 0x35: deltaCrl = v; break; case 0x36: dmdName = v; break; case 0x41: pseudonym = v; break; case 0x48: role = v; break; } } return false; } } freeRtr-25.11.9/src/org/freertr/cry/cryCertificate.java000066400000000000000000000630241510423065500227370ustar00rootroot00000000000000package org.freertr.cry; import org.freertr.enc.encBase64; import org.freertr.enc.encAsn1; import java.math.BigInteger; import java.util.ArrayList; import java.util.List; import org.freertr.pack.packHolder; import org.freertr.util.bits; /** * certificate (rfc5280) storage * * @author matecsaba */ public class cryCertificate { /** * create instance */ public cryCertificate() { } /** * name of this certificate */ public String crtName; /** * decoded algorithm */ public int decAlgo; /** * issuer of certificate */ public cryCertEntity issuer; /** * subject of certificate */ public cryCertEntity subject; /** * serial number */ public BigInteger serNum; /** * not valid before */ public long validBeg; /** * not valid after */ public long validEnd; /** * key algorithm */ public cryKeyGeneric key; /** * binary content */ public packHolder binCont; /** * binary algorithm */ public packHolder binAlgo; /** * binary signature */ public packHolder binSign; /** * rsa encryption */ public final static int[] oidRsaEncrypt = {0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01}; /** * rsa encryption with md2 */ public final static int[] oidRsaMd2 = {0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x02}; /** * rsa encryption with md4 */ public final static int[] oidRsaMd4 = {0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x03}; /** * rsa encryption with md5 */ public final static int[] oidRsaMd5 = {0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x04}; /** * rsa encryption with sha1 */ public final static int[] oidRsaSha1 = {0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05}; /** * rsa encryption with sha224 */ public final static int[] oidRsaSha224 = {0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0E}; /** * rsa encryption with sha256 */ public final static int[] oidRsaSha256 = {0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B}; /** * rsa encryption with sha384 */ public final static int[] oidRsaSha384 = {0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0C}; /** * rsa encryption with sha512 */ public final static int[] oidRsaSha512 = {0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0D}; /** * dss encryption */ public final static int[] oidDssEncrypt = {0x2A, 0x86, 0x48, 0xCE, 0x38, 0x04, 0x01}; /** * dss encryption with sha1 */ public final static int[] oidDssSha1 = {0x2A, 0x86, 0x48, 0xCE, 0x38, 0x04, 0x03}; /** * dss encryption with sha224 */ public final static int[] oidDssSha224 = {0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x01}; /** * dss encryption with sha256 */ public final static int[] oidDssSha256 = {0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x02}; /** * ecdss encryption */ public final static int[] oidEcDssEncrypt = {0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01}; /** * ecdss encryption with sha1 */ public final static int[] oidEcDssSha1 = {0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x01}; /** * ecdss encryption with sha224 */ public final static int[] oidEcDssSha224 = {0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x04, 0x03, 0x01}; /** * ecdss encryption with sha256 */ public final static int[] oidEcDssSha256 = {0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x04, 0x03, 0x02}; /** * ecdss encryption with sha384 */ public final static int[] oidEcDssSha384 = {0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x04, 0x03, 0x03}; /** * ecdss encryption with sha512 */ public final static int[] oidEcDssSha512 = {0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x04, 0x03, 0x04}; /** * mldss-44 encryption */ public final static int[] oidMlDss44sha512 = {0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x11}; /** * mldss-65 encryption */ public final static int[] oidMlDss65sha512 = {0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x12}; /** * mldss-87 encryption */ public final static int[] oidMlDss87sha512 = {0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x13}; /** * rsa encryption */ public final static int typRsaEncrypt = 0x1001; /** * rsa encryption with md2 */ public final static int typRsaMd2 = 0x1002; /** * rsa encryption with md4 */ public final static int typRsaMd4 = 0x1003; /** * rsa encryption with md5 */ public final static int typRsaMd5 = 0x1004; /** * rsa encryption with sha1 */ public final static int typRsaSha1 = 0x1005; /** * rsa encryption with sha224 */ public final static int typRsaSha224 = 0x1006; /** * rsa encryption with sha256 */ public final static int typRsaSha256 = 0x1007; /** * rsa encryption with sha384 */ public final static int typRsaSha384 = 0x1008; /** * rsa encryption with sha512 */ public final static int typRsaSha512 = 0x1009; /** * dss encryption */ public final static int typDssEncrypt = 0x2001; /** * dss encryption with sha1 */ public final static int typDssSha1 = 0x2002; /** * dss encryption with sha224 */ public final static int typDssSha224 = 0x2003; /** * dss encryption with sha256 */ public final static int typDssSha256 = 0x2004; /** * ecdss encryption */ public final static int typEcDssEncrypt = 0x3001; /** * ecdss encryption with sha1 */ public final static int typEcDssSha1 = 0x3002; /** * ecdss encryption with sha224 */ public final static int typEcDssSha224 = 0x3003; /** * ecdss encryption with sha256 */ public final static int typEcDssSha256 = 0x3004; /** * ecdss encryption with sha384 */ public final static int typEcDssSha384 = 0x3005; /** * ecdss encryption with sha512 */ public final static int typEcDssSha512 = 0x3006; /** * mldss44 encryption with sha512 */ public final static int typMlDss44sha512 = 0x4001; /** * mldss65 encryption with sha512 */ public final static int typMlDss65sha512 = 0x4002; /** * mldss87 encryption with sha512 */ public final static int typMlDss87sha512 = 0x4003; private static boolean compareOid(encAsn1 a, final int[] oid) { if (a.buf.length != oid.length) { return false; } for (int i = 0; i < oid.length; i++) { if (oid[i] != (a.buf[i] & 0xff)) { return false; } } return true; } /** * convert oid to integer * * @param a oid to decode * @return type */ public static int objid2int(encAsn1 a) { if ((a.cnst) || (a.tag != encAsn1.tagObjectID)) { return 0; } if (compareOid(a, oidRsaEncrypt)) { return typRsaEncrypt; } if (compareOid(a, oidRsaMd2)) { return typRsaMd2; } if (compareOid(a, oidRsaMd4)) { return typRsaMd4; } if (compareOid(a, oidRsaMd5)) { return typRsaMd5; } if (compareOid(a, oidRsaSha1)) { return typRsaSha1; } if (compareOid(a, oidRsaSha224)) { return typRsaSha224; } if (compareOid(a, oidRsaSha256)) { return typRsaSha256; } if (compareOid(a, oidRsaSha384)) { return typRsaSha384; } if (compareOid(a, oidRsaSha512)) { return typRsaSha512; } if (compareOid(a, oidDssEncrypt)) { return typDssEncrypt; } if (compareOid(a, oidDssSha1)) { return typDssSha1; } if (compareOid(a, oidDssSha224)) { return typDssSha224; } if (compareOid(a, oidDssSha256)) { return typDssSha256; } if (compareOid(a, oidEcDssEncrypt)) { return typEcDssEncrypt; } if (compareOid(a, oidEcDssSha1)) { return typEcDssSha1; } if (compareOid(a, oidEcDssSha224)) { return typEcDssSha224; } if (compareOid(a, oidEcDssSha256)) { return typEcDssSha256; } if (compareOid(a, oidEcDssSha384)) { return typEcDssSha384; } if (compareOid(a, oidEcDssSha512)) { return typEcDssSha512; } if (compareOid(a, oidMlDss44sha512)) { return typMlDss44sha512; } if (compareOid(a, oidMlDss65sha512)) { return typMlDss65sha512; } if (compareOid(a, oidMlDss87sha512)) { return typMlDss87sha512; } return 0; } /** * convert type to object id * * @param i type of object * @return object id, null if unknown */ public static int[] int2objId(int i) { switch (i) { case typRsaEncrypt: return oidRsaEncrypt; case typRsaMd2: return oidRsaMd2; case typRsaMd4: return oidRsaMd4; case typRsaMd5: return oidRsaMd5; case typRsaSha1: return oidRsaSha1; case typRsaSha224: return oidRsaSha224; case typRsaSha256: return oidRsaSha256; case typRsaSha384: return oidRsaSha384; case typRsaSha512: return oidRsaSha512; case typDssEncrypt: return oidDssEncrypt; case typDssSha1: return oidDssSha1; case typDssSha224: return oidDssSha224; case typDssSha256: return oidDssSha256; case typEcDssEncrypt: return oidEcDssEncrypt; case typEcDssSha1: return oidEcDssSha1; case typEcDssSha224: return oidEcDssSha224; case typEcDssSha256: return oidEcDssSha256; case typEcDssSha384: return oidEcDssSha384; case typEcDssSha512: return oidEcDssSha512; case typMlDss44sha512: return oidMlDss44sha512; case typMlDss65sha512: return oidMlDss65sha512; case typMlDss87sha512: return oidMlDss87sha512; default: return null; } } /** * convert type to string * * @param i type to convert * @return string */ public static String type2string(int i) { switch (i) { case typRsaEncrypt: return "rsaEncrypt"; case typRsaMd2: return "rsaMd2"; case typRsaMd4: return "rsaMd4"; case typRsaMd5: return "rsaMd5"; case typRsaSha1: return "rsaSha1"; case typRsaSha224: return "rsaSha224"; case typRsaSha256: return "rsaSha256"; case typRsaSha384: return "rsaSha384"; case typRsaSha512: return "rsaSha512"; case typDssEncrypt: return "dssEncrypt"; case typDssSha1: return "dssSha1"; case typDssSha224: return "dssSha224"; case typDssSha256: return "dssSha256"; case typEcDssEncrypt: return "ecdssEncrypt"; case typEcDssSha1: return "ecdssSha1"; case typEcDssSha224: return "ecdssSha224"; case typEcDssSha256: return "ecdssSha256"; case typEcDssSha384: return "ecdssSha384"; case typEcDssSha512: return "ecdssSha512"; case typMlDss44sha512: return "mldss44sha512"; case typMlDss65sha512: return "mldss65sha512"; case typMlDss87sha512: return "mldss87sha512"; default: return "unknown=" + i; } } public String toString() { return "key=" + type2string(decAlgo) + " issuer=" + issuer + " subject=" + subject + " valid=" + bits.time2str(null, validBeg, 3) + "-" + bits.time2str(null, validEnd, 3); } /** * get hasher of certificate * * @return hasher algorithm, null=error */ public cryHashGeneric getHasher() { switch (decAlgo) { case typRsaMd2: return new cryHashMd2(); case typRsaMd5: return new cryHashMd5(); case typRsaSha1: return new cryHashSha1(); case typRsaSha224: return new cryHashSha2224(); case typRsaSha256: return new cryHashSha2256(); case typRsaSha384: return new cryHashSha2384(); case typRsaSha512: return new cryHashSha2512(); case typDssSha1: return new cryHashSha1(); case typDssSha224: return new cryHashSha2224(); case typDssSha256: return new cryHashSha2256(); case typEcDssSha1: return new cryHashSha1(); case typEcDssSha224: return new cryHashSha2224(); case typEcDssSha256: return new cryHashSha2256(); case typEcDssSha384: return new cryHashSha2384(); case typEcDssSha512: return new cryHashSha2512(); case typMlDss44sha512: return new cryHashSha2512(); case typMlDss65sha512: return new cryHashSha2512(); case typMlDss87sha512: return new cryHashSha2512(); default: return null; } } /** * read asn1 formatted certificate * * @param buf buffer to read * @return false on success, true on error */ public boolean asn1ReadBuf(byte[] buf) { packHolder pck = new packHolder(true, true); pck.putCopy(buf, 0, 0, buf.length); pck.putSkip(buf.length); pck.merge2beg(); return asn1reader(pck); } /** * read pem formatted certificate * * @param s concatenated lines * @return false on success, true on error */ public boolean pemReadStr(String s) { byte[] buf = encBase64.decodeBytes(s); if (buf == null) { return true; } return asn1ReadBuf(buf); } /** * check if header line * * @param a string * @return result */ public static boolean isHeaderLine(String a) { return a.startsWith("-----"); } /** * read pem formatted key * * @param sl list of lines * @return false on success, true on error */ public boolean pemReadArr(String[] sl) { String s = ""; for (int i = 0; i < sl.length; i++) { if (isHeaderLine(sl[i])) { continue; } s = s + sl[i]; } return pemReadStr(s); } /** * read pem formatted key * * @param sl list of lines * @return false on success, true on error */ public boolean pemReadLst(List sl) { String s = ""; for (int i = 0; i < sl.size(); i++) { String a = sl.get(i); if (isHeaderLine(a)) { continue; } s = s + a; } return pemReadStr(s); } /** * write to buffer * * @return asn1 buffer */ public byte[] asn1WriteBuf() { packHolder p = new packHolder(true, true); asn1writer(p); return p.getCopy(); } /** * write to pem format string * * @return pem string */ public String pemWriteStr() { byte[] buf = asn1WriteBuf(); return encBase64.encodeBytes(buf, 0, buf.length); } /** * write to pem format strings * * @return list of string */ public List pemWriteLst() { final int max = 64; String s = pemWriteStr(); List l = new ArrayList(); for (;;) { int i = s.length(); if (i > max) { i = max; } String a = s.substring(0, i); if (a.length() < 1) { break; } s = s.substring(i, s.length()); l.add(a); } return l; } /** * write to pem format strings * * @return array of string */ public String[] pemWriteArr() { List l = pemWriteLst(); String[] a = new String[l.size()]; for (int i = 0; i < a.length; i++) { a[i] = l.get(i); } return a; } /** * write certificate to asn1 format * * @param pck packet to write to */ public void asn1writer(packHolder pck) { packHolder p1 = new packHolder(true, true); packHolder p2 = binSign.copyBytes(true, true); p2.putByte(0, 0); p2.putSkip(1); p2.merge2beg(); encAsn1.writeSequence(p1, binCont); encAsn1.writeSequence(p1, binAlgo); encAsn1.writeBitString(p1, p2); encAsn1.writeSequence(pck, p1); } /** * read certificate from asn1 format * * @param pck packet to read from * @return false on success, true on error */ public boolean asn1reader(packHolder pck) { encAsn1 a = new encAsn1(); if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } pck = a.getPack(); if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } binCont = a.getPack(); if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } binAlgo = a.getPack(); if (a.tagRead(pck)) { return true; } if ((a.cnst) || (a.tag != encAsn1.tagBitString)) { return true; } binSign = a.getPack(); binSign.getSkip(1); if (pck.dataSize() != 0) { return true; } binCont.mergeHeader(0, 0); binAlgo.mergeHeader(0, 0); binSign.mergeHeader(0, 0); pck = binAlgo.copyBytes(true, true); if (a.tagRead(pck)) { return true; } decAlgo = objid2int(a); if (decAlgo < 1) { return true; } pck = binCont.copyBytes(true, true); if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagEoc)) { return true; } packHolder p = a.getPack(); if (a.tagRead(p)) { return true; } if ((a.cnst) || (a.tag != encAsn1.tagInteger)) { return true; } if (a.getBigInt().intValue() != 2) { return true; } if (a.tagRead(pck)) { return true; } if ((a.cnst) || (a.tag != encAsn1.tagInteger)) { return true; } serNum = a.getBigInt(); if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } p = a.getPack(); if (a.tagRead(p)) { return true; } if (decAlgo != objid2int(a)) { return true; } if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } issuer = new cryCertEntity(); if (issuer.asn1reader(a.getPack())) { return true; } if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } p = a.getPack(); if (a.tagRead(p)) { return true; } validBeg = bits.str2time(null, "20" + new String(a.buf)); if (a.tagRead(p)) { return true; } validEnd = bits.str2time(null, "20" + new String(a.buf)); if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } subject = new cryCertEntity(); if (subject.asn1reader(a.getPack())) { return true; } switch (decAlgo & 0xf000) { case 0x1000: key = new cryKeyRSA(); break; case 0x2000: key = new cryKeyDSA(); break; case 0x3000: key = new cryKeyECDSA(); break; case 0x4000: key = new cryKeyMLDSA(); break; default: return true; } if (key.certReader(pck)) { return true; } return false; } /** * sign data with this certificate * * @param data data to sign * @return signature generated */ public byte[] signData(byte[] data) { cryHashGeneric h = getHasher(); if (h == null) { return null; } return key.certSigning(h, data); } /** * verify signature on data * * @param data data to verify * @param sign signature to check * @return false on success, true on error */ public boolean verifyData(byte[] data, byte[] sign) { cryHashGeneric h = getHasher(); if (h == null) { return true; } return key.certVerify(h, data, sign); } private void addDate(packHolder pck, long tim) { encAsn1 a = new encAsn1(); a.putUTCtime(tim); a.tagWrite(pck); pck.merge2end(); } /** * create content */ public void createCont() { binCont = new packHolder(true, true); packHolder p1 = new packHolder(true, true); encAsn1.writeBigInt(p1, new BigInteger("2")); encAsn1.writeEoc(binCont, p1); encAsn1.writeBigInt(binCont, serNum); p1.clear(); encAsn1.writeObjectId(p1, int2objId(decAlgo)); encAsn1.writeNull(p1); encAsn1.writeSequence(binCont, p1); p1.clear(); issuer.asn1writer(p1); encAsn1.writeSequence(binCont, p1); p1.clear(); addDate(p1, validBeg); addDate(p1, validEnd); encAsn1.writeSequence(binCont, p1); p1.clear(); subject.asn1writer(p1); encAsn1.writeSequence(binCont, p1); key.certWriter(binCont); } /** * create signature algorithm */ public void setSignAlgo() { String s = key.algName(); decAlgo = 0; if (s.equals(new cryKeyRSA().algName())) { decAlgo = typRsaSha256; } if (s.equals(new cryKeyDSA().algName())) { decAlgo = typDssSha1; } if (s.equals(new cryKeyECDSA().algName())) { decAlgo = typEcDssSha256; } if (s.equals(new cryKeyMLDSA().algName())) { decAlgo = typMlDss44sha512; } binAlgo = new packHolder(true, true); encAsn1.writeObjectId(binAlgo, int2objId(decAlgo)); encAsn1.writeNull(binAlgo); } /** * self sign this certificate */ public void selfSign() { binSign = new packHolder(true, true); encAsn1.writeSequence(binSign, binCont); byte[] buf = signData(binSign.getCopy()); binSign.clear(); binSign.putCopy(buf, 0, 0, buf.length); binSign.putSkip(buf.length); binSign.merge2beg(); } /** * test self signed certificate * * @return false on success, true on error */ public boolean testSelf() { return testClientCert(this, this); } /** * test if client certificate is signed by ca certificate * * @param clnt client certificate * @param ca ca certificate * @return false on success, true on error */ public static boolean testClientCert(cryCertificate clnt, cryCertificate ca) { packHolder p = new packHolder(true, true); encAsn1.writeSequence(p, clnt.binCont); return ca.verifyData(p.getCopy(), clnt.binSign.getCopy()); } /** * create self signed certificate * * @param key key to use * @param name name of owner * @param days days to certify * @return created certificate */ public static cryCertificate createSelfSigned(cryKeyGeneric key, String name, int days) { cryCertificate crt = new cryCertificate(); cryCertEntity ent = new cryCertEntity(); ent.commonName = name; crt.serNum = new BigInteger("" + bits.randomD()); crt.issuer = ent; crt.subject = ent; crt.key = key; crt.validBeg = bits.getTime(); crt.validEnd = crt.validBeg + (((long) days) * 60 * 60 * 24 * 1000); crt.setSignAlgo(); crt.createCont(); crt.selfSign(); return crt; } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrCBCaes.java000066400000000000000000000044321510423065500224030ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * advanced encryption standard (rijndael) * * @author matecsaba */ public class cryEncrCBCaes extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrCBCaes() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "AES"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/CBC/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "aes"; } /** * get block size * * @return size */ public int getBlockSize() { return 16; } /** * get key size * * @return size */ public int getKeySize() { return 32; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrCBCblowfish.java000066400000000000000000000044351510423065500234530ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * blowfish by counterpane * * @author matecsaba */ public class cryEncrCBCblowfish extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrCBCblowfish() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "BLOWFISH"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/CBC/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "blowfish"; } /** * get block size * * @return size */ public int getBlockSize() { return 8; } /** * get key size * * @return size */ public int getKeySize() { return 16; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrCBCdes.java000066400000000000000000000044141510423065500224060ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * digital encryption standard * * @author matecsaba */ public class cryEncrCBCdes extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrCBCdes() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "DES"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/CBC/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "des"; } /** * get block size * * @return size */ public int getBlockSize() { return 8; } /** * get key size * * @return size */ public int getKeySize() { return 8; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrCBCdes3.java000066400000000000000000000044351510423065500224740ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * triple digital encryption standard * * @author matecsaba */ public class cryEncrCBCdes3 extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrCBCdes3() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "TRIPLEDES"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/CBC/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "3des"; } /** * get block size * * @return size */ public int getBlockSize() { return 8; } /** * get key size * * @return size */ public int getKeySize() { return 24; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrCBCrc2.java000066400000000000000000000044011510423065500223150ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * rivest cipher 2 * * @author matecsaba */ public class cryEncrCBCrc2 extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrCBCrc2() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "RC2"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/CBC/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "rc2"; } /** * get block size * * @return size */ public int getBlockSize() { return 8; } /** * get key size * * @return size */ public int getKeySize() { return 16; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrCFBaes.java000066400000000000000000000034421510423065500224060ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * advanced encryption standard (rijndael) * * @author matecsaba */ public class cryEncrCFBaes extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrCFBaes() { } public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "AES"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/CFB/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } public String getName() { return "aes"; } public int getBlockSize() { return 16; } public int getKeySize() { return 32; } public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrCFBblowfish.java000066400000000000000000000044351510423065500234560ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * blowfish by counterpane * * @author matecsaba */ public class cryEncrCFBblowfish extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrCFBblowfish() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "BLOWFISH"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/CFB/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "blowfish"; } /** * get block size * * @return size */ public int getBlockSize() { return 8; } /** * get key size * * @return size */ public int getKeySize() { return 16; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrCFBdes.java000066400000000000000000000044141510423065500224110ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * digital encryption standard * * @author matecsaba */ public class cryEncrCFBdes extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrCFBdes() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "DES"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/CFB/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "des"; } /** * get block size * * @return size */ public int getBlockSize() { return 8; } /** * get key size * * @return size */ public int getKeySize() { return 8; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrCFBdes3.java000066400000000000000000000044351510423065500224770ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * triple digital encryption standard * * @author matecsaba */ public class cryEncrCFBdes3 extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrCFBdes3() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "TRIPLEDES"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/CFB/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "3des"; } /** * get block size * * @return size */ public int getBlockSize() { return 8; } /** * get key size * * @return size */ public int getKeySize() { return 24; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrCFBrc2.java000066400000000000000000000044011510423065500223200ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * rivest cipher 2 * * @author matecsaba */ public class cryEncrCFBrc2 extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrCFBrc2() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "RC2"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/CFB/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "rc2"; } /** * get block size * * @return size */ public int getBlockSize() { return 8; } /** * get key size * * @return size */ public int getKeySize() { return 16; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrCTRaes.java000066400000000000000000000044321510423065500224440ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * advanced encryption standard (rijndael) * * @author matecsaba */ public class cryEncrCTRaes extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrCTRaes() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "AES"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/CTR/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "aes"; } /** * get block size * * @return size */ public int getBlockSize() { return 16; } /** * get key size * * @return size */ public int getKeySize() { return 32; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrCTRblowfish.java000066400000000000000000000044351510423065500235140ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * blowfish by counterpane * * @author matecsaba */ public class cryEncrCTRblowfish extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrCTRblowfish() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "BLOWFISH"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/CTR/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "blowfish"; } /** * get block size * * @return size */ public int getBlockSize() { return 8; } /** * get key size * * @return size */ public int getKeySize() { return 16; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrCTRdes.java000066400000000000000000000044141510423065500224470ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * digital encryption standard * * @author matecsaba */ public class cryEncrCTRdes extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrCTRdes() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "DES"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/CTR/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "des"; } /** * get block size * * @return size */ public int getBlockSize() { return 8; } /** * get key size * * @return size */ public int getKeySize() { return 8; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrCTRdes3.java000066400000000000000000000044351510423065500225350ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * triple digital encryption standard * * @author matecsaba */ public class cryEncrCTRdes3 extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrCTRdes3() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "TRIPLEDES"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/CTR/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "3des"; } /** * get block size * * @return size */ public int getBlockSize() { return 8; } /** * get key size * * @return size */ public int getKeySize() { return 24; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrCTRrc2.java000066400000000000000000000044011510423065500223560ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * rivest cipher 2 * * @author matecsaba */ public class cryEncrCTRrc2 extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrCTRrc2() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "RC2"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/CTR/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "rc2"; } /** * get block size * * @return size */ public int getBlockSize() { return 8; } /** * get key size * * @return size */ public int getKeySize() { return 16; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrCTSaes.java000066400000000000000000000044321510423065500224450ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * advanced encryption standard (rijndael) * * @author matecsaba */ public class cryEncrCTSaes extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrCTSaes() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "AES"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/CTS/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "aes"; } /** * get block size * * @return size */ public int getBlockSize() { return 16; } /** * get key size * * @return size */ public int getKeySize() { return 32; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrCTSblowfish.java000066400000000000000000000044351510423065500235150ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * blowfish by counterpane * * @author matecsaba */ public class cryEncrCTSblowfish extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrCTSblowfish() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "BLOWFISH"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/CTS/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "blowfish"; } /** * get block size * * @return size */ public int getBlockSize() { return 8; } /** * get key size * * @return size */ public int getKeySize() { return 16; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrCTSdes.java000066400000000000000000000044141510423065500224500ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * digital encryption standard * * @author matecsaba */ public class cryEncrCTSdes extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrCTSdes() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "DES"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/CTS/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "des"; } /** * get block size * * @return size */ public int getBlockSize() { return 8; } /** * get key size * * @return size */ public int getKeySize() { return 8; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrCTSdes3.java000066400000000000000000000034451510423065500225360ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * triple digital encryption standard * * @author matecsaba */ public class cryEncrCTSdes3 extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrCTSdes3() { } public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "TRIPLEDES"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/CTS/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } public String getName() { return "3des"; } public int getBlockSize() { return 8; } public int getKeySize() { return 24; } public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrCTSrc2.java000066400000000000000000000034111510423065500223570ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * rivest cipher 2 * * @author matecsaba */ public class cryEncrCTSrc2 extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrCTSrc2() { } public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "RC2"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/CTS/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } public String getName() { return "rc2"; } public int getBlockSize() { return 8; } public int getKeySize() { return 16; } public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrChacha20.java000066400000000000000000000041771510423065500226420ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * chacha20 cipher * * @author matecsaba */ public class cryEncrChacha20 extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrChacha20() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "ChaCha20"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); crypter = Cipher.getInstance(name); crypter.init(mode, keyspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "chacha20"; } /** * get block size * * @return size */ public int getBlockSize() { return 64; } /** * get key size * * @return size */ public int getKeySize() { return 32; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrChacha20poly1305.java000066400000000000000000000046101510423065500240470ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * chacha20 cipher * * @author matecsaba */ public class cryEncrChacha20poly1305 extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrChacha20poly1305() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, "ChaCha20"); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance("ChaCha20-Poly1305/None/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "chacha20poly1305"; } /** * get block size * * @return size */ public int getBlockSize() { return 64; } /** * get key size * * @return size */ public int getKeySize() { return 32; } /** * read iv of key * * @return size in bytes */ public int getIVsize() { return 12; } /** * get tag size * * @return size */ public int getTagSize() { return 16; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { crypter.updateAAD(buf, ofs, siz); } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { try { return crypter.doFinal(buf, ofs, siz); } catch (Exception e) { return null; } } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrECBaes.java000066400000000000000000000042341510423065500224050ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * advanced encryption standard (rijndael) * * @author matecsaba */ public class cryEncrECBaes extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrECBaes() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "AES"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); crypter = Cipher.getInstance(name + "/ECB/NoPadding"); crypter.init(mode, keyspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "aes"; } /** * get block size * * @return size */ public int getBlockSize() { return 16; } /** * get key size * * @return size */ public int getKeySize() { return 32; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrECBblowfish.java000066400000000000000000000042371510423065500234550ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * blowfish by counterpane * * @author matecsaba */ public class cryEncrECBblowfish extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrECBblowfish() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "BLOWFISH"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); crypter = Cipher.getInstance(name + "/ECB/NoPadding"); crypter.init(mode, keyspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "blowfish"; } /** * get block size * * @return size */ public int getBlockSize() { return 8; } /** * get key size * * @return size */ public int getKeySize() { return 16; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrECBdes.java000066400000000000000000000042161510423065500224100ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * digital encryption standard * * @author matecsaba */ public class cryEncrECBdes extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrECBdes() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "DES"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); crypter = Cipher.getInstance(name + "/ECB/NoPadding"); crypter.init(mode, keyspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "des"; } /** * get block size * * @return size */ public int getBlockSize() { return 8; } /** * get key size * * @return size */ public int getKeySize() { return 8; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrECBdes3.java000066400000000000000000000042371510423065500224760ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * triple digital encryption standard * * @author matecsaba */ public class cryEncrECBdes3 extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrECBdes3() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "TRIPLEDES"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); crypter = Cipher.getInstance(name + "/ECB/NoPadding"); crypter.init(mode, keyspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "3des"; } /** * get block size * * @return size */ public int getBlockSize() { return 8; } /** * get key size * * @return size */ public int getKeySize() { return 24; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrECBrc2.java000066400000000000000000000042031510423065500223170ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * rivest cipher 2 * * @author matecsaba */ public class cryEncrECBrc2 extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrECBrc2() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "RC2"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); crypter = Cipher.getInstance(name + "/ECB/NoPadding"); crypter.init(mode, keyspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "rc2"; } /** * get block size * * @return size */ public int getBlockSize() { return 8; } /** * get key size * * @return size */ public int getKeySize() { return 16; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrGCMaes.java000066400000000000000000000046131510423065500224230ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.GCMParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * advanced encryption standard (rijndael) * * @author matecsaba */ public class cryEncrGCMaes extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrGCMaes() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "AES"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); GCMParameterSpec ivspec = new GCMParameterSpec(128, iv); crypter = Cipher.getInstance(name + "/GCM/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "aes"; } /** * get block size * * @return size */ public int getBlockSize() { return 16; } /** * get key size * * @return size */ public int getKeySize() { return 32; } /** * get tag size * * @return size */ public int getTagSize() { return 16; } /** * read iv of key * * @return size in bytes */ public int getIVsize() { return 12; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { crypter.updateAAD(buf, ofs, siz); } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { try { return crypter.doFinal(buf, ofs, siz); } catch (Exception e) { return null; } } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrGeneric.java000066400000000000000000000111201510423065500226670ustar00rootroot00000000000000package org.freertr.cry; import org.freertr.util.bits; /** * generic cipher * * @author matecsaba */ public abstract class cryEncrGeneric { /** * create instance */ public cryEncrGeneric() { } /** * initialize cipher * * @param key key material * @param iv init vector * @param encrypt true for encryption, false for decryption */ public abstract void init(byte[] key, byte[] iv, boolean encrypt); /** * read name of hash * * @return name of hash */ public abstract String getName(); /** * read size of block * * @return size in bytes */ public abstract int getBlockSize(); /** * read size of key * * @return size in bytes */ public abstract int getKeySize(); /** * read size of tag * * @return size in bytes */ public abstract int getTagSize(); /** * update buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add * @return updated buffer */ public abstract byte[] compute(byte[] buf, int ofs, int siz); /** * get next iv to use * * @return value */ public abstract byte[] getNextIV(); /** * read iv size * * @return size in bytes */ public abstract int getIVsize(); /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public abstract void authAdd(byte[] buf, int ofs, int siz); /** * authenticate buffer * * @param buf buffer to use */ public void authAdd(byte[] buf) { authAdd(buf, 0, buf.length); } /** * update with buffer * * @param buf buffer to use * @return updated buffer */ public byte[] compute(byte[] buf) { return compute(buf, 0, buf.length); } /** * update with buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add * @return -1 on error, number of bytes on success */ public int update(byte[] buf, int ofs, int siz) { byte[] part = compute(buf, ofs, siz); if (part == null) { return -1; } bits.byteCopy(part, 0, buf, ofs, part.length); return part.length; } /** * compute a buffer * * @param alg algorithm to use * @param key key material * @param iv init vector * @param encrypt true for encryption, false for decryption * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public static void update(cryEncrGeneric alg, byte[] key, byte[] iv, boolean encrypt, byte[] buf, int ofs, int siz) { alg.init(key, iv, encrypt); alg.update(buf, ofs, siz); } /** * compute a buffer * * @param alg algorithm to use * @param key key material * @param iv init vector * @param encrypt true for encryption, false for decryption * @param buf buffer to use * @return updated buffer */ public static byte[] compute(cryEncrGeneric alg, byte[] key, byte[] iv, boolean encrypt, byte[] buf) { alg.init(key, iv, encrypt); return alg.compute(buf); } /** * compute a buffer * * @param alg algorithm to use * @param key key material * @param iv init vector * @param encrypt true for encryption, false for decryption * @param auth authentication data, null if nothing * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add * @return -1 on error, number of bytes on success */ public static int update(cryEncrGeneric alg, byte[] key, byte[] iv, boolean encrypt, byte[] auth, byte[] buf, int ofs, int siz) { alg.init(key, iv, encrypt); if (auth != null) { alg.authAdd(auth); } return alg.update(buf, ofs, siz); } /** * compute a buffer * * @param alg algorithm to use * @param key key material * @param iv init vector * @param encrypt true for encryption, false for decryption * @param auth authentication data, null if nothing * @param buf buffer to use * @return updated buffer, null on error */ public static byte[] compute(cryEncrGeneric alg, byte[] key, byte[] iv, boolean encrypt, byte[] auth, byte[] buf) { alg.init(key, iv, encrypt); if (auth != null) { alg.authAdd(auth); } return alg.compute(buf); } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrNone.java000066400000000000000000000015711510423065500222230ustar00rootroot00000000000000package org.freertr.cry; import org.freertr.util.bits; /** * null encryption * * @author matecsaba */ public class cryEncrNone extends cryEncrGeneric { /** * create instance */ public cryEncrNone() { } public void init(byte[] key, byte[] iv, boolean encrypt) { } public String getName() { return "none"; } public int getBlockSize() { return 1; } public int getKeySize() { return 0; } public int getTagSize() { return 0; } public int getIVsize() { return 0; } public byte[] getNextIV() { return new byte[0]; } public byte[] compute(byte[] buf, int ofs, int siz) { byte[] res = new byte[siz]; bits.byteCopy(buf, ofs, res, 0, res.length); return res; } public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrOFBaes.java000066400000000000000000000044321510423065500224220ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * advanced encryption standard (rijndael) * * @author matecsaba */ public class cryEncrOFBaes extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrOFBaes() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "AES"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/OFB/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "aes"; } /** * get block size * * @return size */ public int getBlockSize() { return 16; } /** * get key size * * @return size */ public int getKeySize() { return 32; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrOFBblowfish.java000066400000000000000000000044351510423065500234720ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * blowfish by counterpane * * @author matecsaba */ public class cryEncrOFBblowfish extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrOFBblowfish() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "BLOWFISH"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/OFB/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "blowfish"; } /** * get block size * * @return size */ public int getBlockSize() { return 8; } /** * get key size * * @return size */ public int getKeySize() { return 16; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrOFBdes.java000066400000000000000000000044141510423065500224250ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * digital encryption standard * * @author matecsaba */ public class cryEncrOFBdes extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrOFBdes() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "DES"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/OFB/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "des"; } /** * get block size * * @return size */ public int getBlockSize() { return 8; } /** * get key size * * @return size */ public int getKeySize() { return 8; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrOFBdes3.java000066400000000000000000000044351510423065500225130ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * triple digital encryption standard * * @author matecsaba */ public class cryEncrOFBdes3 extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrOFBdes3() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "TRIPLEDES"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/OFB/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "3des"; } /** * get block size * * @return size */ public int getBlockSize() { return 8; } /** * get key size * * @return size */ public int getKeySize() { return 24; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrOFBrc2.java000066400000000000000000000044011510423065500223340ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * rivest cipher 2 * * @author matecsaba */ public class cryEncrOFBrc2 extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrOFBrc2() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "RC2"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/OFB/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "rc2"; } /** * get block size * * @return size */ public int getBlockSize() { return 8; } /** * get key size * * @return size */ public int getKeySize() { return 16; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrPCBCaes.java000066400000000000000000000044351510423065500225260ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * advanced encryption standard (rijndael) * * @author matecsaba */ public class cryEncrPCBCaes extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrPCBCaes() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "AES"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/PCBC/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "aes"; } /** * get block size * * @return size */ public int getBlockSize() { return 16; } /** * get key size * * @return size */ public int getKeySize() { return 32; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrPCBCblowfish.java000066400000000000000000000044401510423065500235670ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * blowfish by counterpane * * @author matecsaba */ public class cryEncrPCBCblowfish extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrPCBCblowfish() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "BLOWFISH"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/PCBC/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "blowfish"; } /** * get block size * * @return size */ public int getBlockSize() { return 8; } /** * get key size * * @return size */ public int getKeySize() { return 16; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrPCBCdes.java000066400000000000000000000044171510423065500225310ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * digital encryption standard * * @author matecsaba */ public class cryEncrPCBCdes extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrPCBCdes() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "DES"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/PCBC/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "des"; } /** * get block size * * @return size */ public int getBlockSize() { return 8; } /** * get key size * * @return size */ public int getKeySize() { return 8; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrPCBCdes3.java000066400000000000000000000034501510423065500226100ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * triple digital encryption standard * * @author matecsaba */ public class cryEncrPCBCdes3 extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrPCBCdes3() { } public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "TRIPLEDES"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/PCBC/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } public String getName() { return "3des"; } public int getBlockSize() { return 8; } public int getKeySize() { return 24; } public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrPCBCrc2.java000066400000000000000000000034141510423065500224400ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * rivest cipher 2 * * @author matecsaba */ public class cryEncrPCBCrc2 extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrPCBCrc2() { } public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "RC2"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); IvParameterSpec ivspec = new IvParameterSpec(iv, 0, iv.length); crypter = Cipher.getInstance(name + "/PCBC/NoPadding"); crypter.init(mode, keyspec, ivspec); } catch (Exception e) { logger.exception(e); } } public String getName() { return "rc2"; } public int getBlockSize() { return 8; } public int getKeySize() { return 16; } public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryEncrRc4.java000066400000000000000000000041741510423065500217560ustar00rootroot00000000000000package org.freertr.cry; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import org.freertr.util.logger; /** * rivest cipher 4 * * @author matecsaba */ public class cryEncrRc4 extends cryEncrGeneric { private Cipher crypter; /** * create instance */ public cryEncrRc4() { } /** * initialize * * @param key key * @param iv iv * @param encrypt mode */ public void init(byte[] key, byte[] iv, boolean encrypt) { final String name = "RC4"; int mode; if (encrypt) { mode = Cipher.ENCRYPT_MODE; } else { mode = Cipher.DECRYPT_MODE; } try { SecretKeySpec keyspec = new SecretKeySpec(key, name); crypter = Cipher.getInstance(name + "/ECB/NoPadding"); crypter.init(mode, keyspec); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "rc4"; } /** * get block size * * @return size */ public int getBlockSize() { return 1; } /** * get key size * * @return size */ public int getKeySize() { return 8; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size * @return computed block */ public byte[] compute(byte[] buf, int ofs, int siz) { return crypter.update(buf, ofs, siz); } /** * get next iv * * @return iv */ public byte[] getNextIV() { return crypter.getIV(); } /** * read iv size * * @return size in bytes */ public int getIVsize() { return getBlockSize(); } /** * get tag size * * @return size */ public int getTagSize() { return 0; } /** * authenticate buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public void authAdd(byte[] buf, int ofs, int siz) { } } freeRtr-25.11.9/src/org/freertr/cry/cryHashBlake2s.java000066400000000000000000000173161510423065500226070ustar00rootroot00000000000000package org.freertr.cry; import org.freertr.util.bits; /** * blake2s (rfc7693) hash * * @author matecsaba */ public class cryHashBlake2s extends cryHashGeneric { /** * create instance */ public cryHashBlake2s() { } private final static int[] blake2s_IV = { 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19 }; private final static byte[][] blake2s_sigma = { {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, {14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3}, {11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4}, {7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8}, {9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13}, {2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9}, {12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11}, {13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10}, {6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5}, {10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0}}; private final static int ROUNDS = 10; private final static int BLOCK_LENGTH_BYTES = 64; private int digestLength = 32; private int keyLength = 0; private byte[] key = null; private int fanout = 1; private int depth = 1; private int leafLength = 0; private long nodeOffset = 0; private int nodeDepth = 0; private int innerHashLength = 0; private byte[] buffer = null; private int bufferPos = 0; private int[] internalState = new int[16]; private int[] chainValue = null; private int t0 = 0; private int t1 = 0; private int f0 = 0; /** * create instance * * @param key a key up to 32 bytes or null * @param digestBytes from 1 up to 32 bytes */ public cryHashBlake2s(byte[] key, int digestBytes) { digestLength = digestBytes; init(key); } private void init(byte[] ky) { buffer = new byte[BLOCK_LENGTH_BYTES]; bufferPos = 0; keyLength = 0; if ((ky != null) && (ky.length > 0)) { key = new byte[ky.length]; bits.byteCopy(ky, 0, key, 0, ky.length); keyLength = ky.length; bits.byteCopy(ky, 0, buffer, 0, ky.length); bufferPos = BLOCK_LENGTH_BYTES; } chainValue = new int[8]; chainValue[0] = blake2s_IV[0] ^ (digestLength | (keyLength << 8) | ((fanout << 16) | (depth << 24))); chainValue[1] = blake2s_IV[1] ^ leafLength; int nofHi = (int) (nodeOffset >> 32); int nofLo = (int) nodeOffset; chainValue[2] = blake2s_IV[2] ^ nofLo; chainValue[3] = blake2s_IV[3] ^ (nofHi | (nodeDepth << 16) | (innerHashLength << 24)); chainValue[4] = blake2s_IV[4]; chainValue[5] = blake2s_IV[5]; chainValue[6] = blake2s_IV[6]; chainValue[7] = blake2s_IV[7]; t0 = 0; t1 = 0; f0 = 0; } /** * Update the message digest with a block of bytes. * * @param message the byte array containing the data. * @param offset the offset into the byte array where the data starts. * @param len the length of the data. */ public void update(byte[] message, int offset, int len) { if (len < 1) { return; } int remainingLength = 0; if (bufferPos != 0) { remainingLength = BLOCK_LENGTH_BYTES - bufferPos; if (remainingLength < len) { bits.byteCopy(message, offset, buffer, bufferPos, remainingLength); t0 += BLOCK_LENGTH_BYTES; if (t0 == 0) { t1++; } compress(buffer, 0); bufferPos = 0; buffer = new byte[buffer.length]; } else { bits.byteCopy(message, offset, buffer, bufferPos, len); bufferPos += len; return; } } int messagePos; int blockWiseLastPos = offset + len - BLOCK_LENGTH_BYTES; for (messagePos = offset + remainingLength; messagePos < blockWiseLastPos; messagePos += BLOCK_LENGTH_BYTES) { t0 += BLOCK_LENGTH_BYTES; if (t0 == 0) { t1++; } compress(message, messagePos); } bits.byteCopy(message, messagePos, buffer, 0, offset + len - messagePos); bufferPos += offset + len - messagePos; } public byte[] finish() { f0 = 0xFFFFFFFF; t0 += bufferPos; if ((t0 < 0) && (bufferPos > -t0)) { t1++; } compress(buffer, 0); byte[] res = new byte[digestLength]; for (int i = 0; i < chainValue.length && (i * 4 < digestLength); i++) { byte[] bytes = new byte[4]; bits.lsbPutD(bytes, 0, chainValue[i]); if (i * 4 < digestLength - 4) { bits.byteCopy(bytes, 0, res, i * 4, 4); } else { bits.byteCopy(bytes, 0, res, i * 4, digestLength - (i * 4)); } } return res; } private void compress(byte[] message, int messagePos) { System.arraycopy(chainValue, 0, internalState, 0, chainValue.length); System.arraycopy(blake2s_IV, 0, internalState, chainValue.length, 4); internalState[12] = t0 ^ blake2s_IV[4]; internalState[13] = t1 ^ blake2s_IV[5]; internalState[14] = f0 ^ blake2s_IV[6]; internalState[15] = blake2s_IV[7]; int[] m = new int[16]; for (int j = 0; j < 16; j++) { m[j] = bits.lsbGetD(message, messagePos + j * 4); } for (int round = 0; round < ROUNDS; round++) { G(m[blake2s_sigma[round][0]], m[blake2s_sigma[round][1]], 0, 4, 8, 12); G(m[blake2s_sigma[round][2]], m[blake2s_sigma[round][3]], 1, 5, 9, 13); G(m[blake2s_sigma[round][4]], m[blake2s_sigma[round][5]], 2, 6, 10, 14); G(m[blake2s_sigma[round][6]], m[blake2s_sigma[round][7]], 3, 7, 11, 15); G(m[blake2s_sigma[round][8]], m[blake2s_sigma[round][9]], 0, 5, 10, 15); G(m[blake2s_sigma[round][10]], m[blake2s_sigma[round][11]], 1, 6, 11, 12); G(m[blake2s_sigma[round][12]], m[blake2s_sigma[round][13]], 2, 7, 8, 13); G(m[blake2s_sigma[round][14]], m[blake2s_sigma[round][15]], 3, 4, 9, 14); } for (int offset = 0; offset < chainValue.length; offset++) { chainValue[offset] = chainValue[offset] ^ internalState[offset] ^ internalState[offset + 8]; } } private void G(int m1, int m2, int posA, int posB, int posC, int posD) { internalState[posA] = internalState[posA] + internalState[posB] + m1; internalState[posD] = rotr32(internalState[posD] ^ internalState[posA], 16); internalState[posC] = internalState[posC] + internalState[posD]; internalState[posB] = rotr32(internalState[posB] ^ internalState[posC], 12); internalState[posA] = internalState[posA] + internalState[posB] + m2; internalState[posD] = rotr32(internalState[posD] ^ internalState[posA], 8); internalState[posC] = internalState[posC] + internalState[posD]; internalState[posB] = rotr32(internalState[posB] ^ internalState[posC], 7); } private int rotr32(int x, int rot) { return x >>> rot | (x << (32 - rot)); } public void init() { init(key); } public String getName() { return "blake2s"; } /** * read oid of hash * * @return name of hash */ public byte[] getPkcs() { return null; } public int getHashSize() { return digestLength; } public int getBlockSize() { return 64; } } freeRtr-25.11.9/src/org/freertr/cry/cryHashCrc16.java000066400000000000000000000074201510423065500221750ustar00rootroot00000000000000package org.freertr.cry; import org.freertr.util.bits; /** * cyclic redundancy check * * @author matecsaba */ public class cryHashCrc16 extends cryHashGeneric { /** * crc16ccitt (rfc1662) polynominal: 16bits x**0 + x**5 + x**12 + x**16 */ public final static cryHashCrc16 polyCrc16c = new cryHashCrc16(0x1021, 0xffff, 0xffff, false); private final int[] tab; private final boolean ord; private final int ini; private final int xor; private int crc; /** * create instance * * @param po polynominal * @param in initializer * @param xr xorer * @param or byte order, true=msb, false=lsb */ public cryHashCrc16(int po, int in, int xr, boolean or) { ord = or; ini = in; xor = xr; tab = new int[256]; for (int i = 0; i < tab.length; i++) { tab[i] = mkTabEntry(po, i); } } /** * create instance * * @param o where to clone from */ public cryHashCrc16(cryHashCrc16 o) { tab = o.tab; ord = o.ord; ini = o.ini; xor = o.xor; } /** * reverse bits * * @param b value * @return reversed */ public static int reverse32(int b) { int r = 0; for (int i = 0; i < 32; i++) { if ((b & bits.bitVals[i]) != 0) { r |= bits.bitVals[31 - i]; } } return r; } /** * reverse bits * * @param b value * @return reversed */ public static int reverse16(int b) { int r = 0; for (int i = 0; i < 16; i++) { if ((b & bits.bitVals[i]) != 0) { r |= bits.bitVals[15 - i]; } } return r; } /** * reverse bits * * @param b value * @return reversed */ public static int reverse8(int b) { int r = 0; for (int i = 0; i < 8; i++) { if ((b & bits.bitVals[i]) != 0) { r |= bits.bitVals[7 - i]; } } return r; } private int mkTabEntry(int p, int v) { v <<= 8; for (int i = 0; i < 8; i++) { v <<= 1; if ((v & 0x10000) != 0) { v ^= p; } } return v & 0xffff; } /** * initialize */ public void init() { crc = ini; } /** * set frame checksum * * @param i new value */ public void setCrc(int i) { crc = i; } /** * get frame checksum * * @return value */ public int getCrc() { return crc; } /** * get name * * @return name */ public String getName() { return "crc16"; } /** * read oid of hash * * @return name of hash */ public byte[] getPkcs() { return null; } /** * get hash size * * @return size */ public int getHashSize() { return 2; } /** * get block size * * @return size */ public int getBlockSize() { return 1; } private void updateByte(int i) { crc = ((crc << 8) & 0xffff) ^ tab[(crc >>> 8) ^ (i & 0xff)]; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size */ public void update(byte[] buf, int ofs, int siz) { for (int i = 0; i < siz; i++) { updateByte(buf[ofs + i]); } } /** * finish * * @return computed */ public byte[] finish() { byte[] buf = new byte[2]; if (ord) { bits.msbPutW(buf, 0, crc ^ xor); } else { bits.lsbPutW(buf, 0, crc ^ xor); } return buf; } } freeRtr-25.11.9/src/org/freertr/cry/cryHashCrc32.java000066400000000000000000000070221510423065500221710ustar00rootroot00000000000000package org.freertr.cry; import org.freertr.util.bits; /** * cyclic redundancy check * * @author matecsaba */ public class cryHashCrc32 extends cryHashGeneric { /** * crc32c polynominal: 1 + x + x**6 + x**8 + x**9 + x**10 + x**11 + x**13 + * x**14 + x**18 + x**19 + x**20 + x**22 + x**23 + x**25 + x**26 + x**27 + * x**28 */ public final static cryHashCrc32 polyCrc32c = new cryHashCrc32(0x1edc6f41, 0xffffffff, 0xffffffff, false); /** * crc32ieee polynominal: 1 + x + x**2 + x**4 + x**5 + x**7 + x**8 + x**10 + * x**11 + x**12 + x**16 + x**22 + x**23 + x**26 */ public final static cryHashCrc32 polyCrc32i = new cryHashCrc32(0x04c11db7, 0xffffffff, 0xffffffff, true); private final int[] tab; private final boolean ord; private final int ini; private final int xor; private int crc; /** * create instance * * @param po polynominal * @param in initializer * @param xr xorer * @param or byte order, true=msb, false=lsb */ public cryHashCrc32(int po, int in, int xr, boolean or) { ord = or; tab = new int[256]; ini = in; xor = xr; for (int i = 0; i < tab.length; i++) { tab[i] = mkTabEntry(po, i); } } /** * create instance * * @param o where to clone from */ public cryHashCrc32(cryHashCrc32 o) { tab = o.tab; ord = o.ord; ini = o.ini; xor = o.xor; } /** * reverse bits * * @param b value * @return reversed */ public static int reverse(int b) { int r = 0; for (int i = 0; i < 32; i++) { if ((b & 1) != 0) { r |= 1 << (31 - i); } b >>>= 1; } return r; } private int mkTabEntry(int p, int c) { c = reverse(c); for (int i = 0; i < 8; i++) { if ((c & 0x80000000) != 0) { c = (c << 1) ^ p; } else { c <<= 1; } } return reverse(c); } /** * initialize */ public void init() { crc = ini; } /** * set frame checksum * * @param i new value */ public void setCrc(int i) { crc = i; } /** * get frame checksum * * @return value */ public int getCrc() { return crc; } /** * get name * * @return name */ public String getName() { return "crc32"; } /** * read oid of hash * * @return name of hash */ public byte[] getPkcs() { return null; } /** * get hash size * * @return size */ public int getHashSize() { return 4; } /** * get block size * * @return size */ public int getBlockSize() { return 1; } private void updateByte(int i) { crc = tab[(crc ^ i) & 0xff] ^ (crc >>> 8); } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size */ public void update(byte[] buf, int ofs, int siz) { for (int i = 0; i < siz; i++) { updateByte(buf[ofs + i]); } } /** * finish * * @return computed */ public byte[] finish() { byte[] buf = new byte[4]; if (ord) { bits.msbPutD(buf, 0, crc ^ xor); } else { bits.lsbPutD(buf, 0, crc ^ xor); } return buf; } } freeRtr-25.11.9/src/org/freertr/cry/cryHashCrc8.java000066400000000000000000000050161510423065500221150ustar00rootroot00000000000000package org.freertr.cry; /** * cyclic redundancy check * * @author matecsaba */ public class cryHashCrc8 extends cryHashGeneric { /** * crc8ccitt polynominal: 8bits x**8 + x**2 + x + 1 */ public final static cryHashCrc8 polyCrc8c = new cryHashCrc8(0x107, 0x00, 0x55); private final int[] tab; private final int ini; private final int xor; private int crc; /** * create instance * * @param po polynominal * @param in initializer * @param xr xorer */ public cryHashCrc8(int po, int in, int xr) { ini = in; xor = xr; tab = new int[256]; for (int i = 0; i < tab.length; i++) { tab[i] = mkTabEntry(po, i); } } /** * create instance * * @param o where to clone from */ public cryHashCrc8(cryHashCrc8 o) { tab = o.tab; ini = o.ini; xor = o.xor; } private int mkTabEntry(int p, int i) { for (int o = 0; o < 8; o++) { if ((i & 0x80) != 0) { i = (i << 1) ^ p; } else { i = (i << 1); } } return i & 0xff; } /** * initialize */ public void init() { crc = ini; } /** * set frame checksum * * @param i new value */ public void setCrc(int i) { crc = i; } /** * get frame checksum * * @return value */ public int getCrc() { return crc; } /** * get name * * @return name */ public String getName() { return "crc8"; } /** * read oid of hash * * @return name of hash */ public byte[] getPkcs() { return null; } /** * get hash size * * @return size */ public int getHashSize() { return 1; } /** * get block size * * @return size */ public int getBlockSize() { return 1; } private void updateByte(int i) { crc = tab[(crc ^ i) & 0xff]; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size */ public void update(byte[] buf, int ofs, int siz) { for (int i = 0; i < siz; i++) { updateByte(buf[ofs + i]); } } /** * finish * * @return computed */ public byte[] finish() { byte[] buf = new byte[1]; buf[0] = (byte) ((crc ^ xor) & 0xff); return buf; } } freeRtr-25.11.9/src/org/freertr/cry/cryHashCrcPoly.java000066400000000000000000000102521510423065500226670ustar00rootroot00000000000000package org.freertr.cry; import java.math.BigInteger; /** * one polynomial * * @author matecsaba */ public class cryHashCrcPoly { private final BigInteger coeff; /** * create instance * * @param c coefficient */ public cryHashCrcPoly(BigInteger c) { coeff = c; } /** * create instance * * @param c coefficient */ public cryHashCrcPoly(int c) { coeff = BigInteger.valueOf(c); } /** * create instance * * @param c coefficient */ public cryHashCrcPoly(String c) { coeff = new BigInteger(c, 2); } /** * get coefficient * * @return coefficient */ public BigInteger getCoeff() { return coeff; } /** * get coefficient * * @return coefficient */ public int intCoeff() { return coeff.intValue(); } /** * get degree * * @return degree */ public int getDegree() { return coeff.bitLength() - 1; } public String toString() { return coeff.toString(2); } private static BigInteger mul(BigInteger c, BigInteger a) { BigInteger r = BigInteger.valueOf(0); int s = c.bitLength(); for (int i = 0; i < s; i++) { if (c.testBit(0)) { r = r.xor(a); } c = c.shiftRight(1); a = a.shiftLeft(1); } return r; } private static BigInteger[] div(BigInteger r, BigInteger d) { int s = d.bitLength(); if (s < 1) { return null; } s = r.bitLength() - s; if (s < 1) { s = 0; } BigInteger p = BigInteger.valueOf(1).shiftLeft(s); BigInteger q = BigInteger.valueOf(0); d = d.shiftLeft(s); for (int i = 0; i <= s; i++) { if (r.bitLength() == d.bitLength()) { r = r.xor(d); q = q.xor(p); } d = d.shiftRight(1); p = p.shiftRight(1); } return new BigInteger[]{q, r}; } private static BigInteger[] modInv(BigInteger nr, BigInteger r) { // extended euclidean algorithm BigInteger t = BigInteger.valueOf(0); BigInteger nt = BigInteger.valueOf(1); for (;;) { if (nr.bitLength() < 1) { break; } BigInteger[] q = div(r, nr); if (q == null) { return null; } BigInteger ot = nt; BigInteger or = nr; nt = t.xor(mul(q[0], nt)); nr = r.xor(mul(q[0], nr)); t = ot; r = or; } if (r.bitLength() > 1) { t = null; } return new BigInteger[]{t, r}; } /** * addition * * @param o other * @return result */ public cryHashCrcPoly add(cryHashCrcPoly o) { return new cryHashCrcPoly(coeff.xor(o.coeff)); } /** * subtract * * @param o other * @return result */ public cryHashCrcPoly sub(cryHashCrcPoly o) { return new cryHashCrcPoly(coeff.xor(o.coeff)); } /** * multiplication * * @param o other * @return result */ public cryHashCrcPoly mul(cryHashCrcPoly o) { return new cryHashCrcPoly(mul(o.coeff, coeff)); } /** * division * * @param o other * @return array of result,remainder */ public cryHashCrcPoly[] div(cryHashCrcPoly o) { BigInteger[] r = div(coeff, o.coeff); if (r == null) { return null; } return new cryHashCrcPoly[]{new cryHashCrcPoly(r[0]), new cryHashCrcPoly(r[1])}; } /** * multiplicative inverse * * @param o other * @return array of result,gcd */ public cryHashCrcPoly[] modInv(cryHashCrcPoly o) { BigInteger[] r = modInv(coeff, o.coeff); if (r == null) { return null; } if (r[0] == null) { return new cryHashCrcPoly[]{null, new cryHashCrcPoly(r[1])}; } return new cryHashCrcPoly[]{new cryHashCrcPoly(r[0]), new cryHashCrcPoly(r[1])}; } } freeRtr-25.11.9/src/org/freertr/cry/cryHashFcs16.java000066400000000000000000000042461510423065500222040ustar00rootroot00000000000000package org.freertr.cry; import org.freertr.util.bits; /** * cyclic redundancy check (rfc1662) 16bits x**0 + x**5 + x**12 + x**16 * * @author matecsaba */ public class cryHashFcs16 extends cryHashGeneric { /** * create instance */ public cryHashFcs16() { } private static int[] tab = null; private int fcs; private int mkTabEntry(int v) { for (int i = 0; i < 8; i++) { if ((v & 1) != 0) { v = (v >>> 1) ^ 0x8408; } else { v = v >>> 1; } } return v & 0xffff; } private void makeTab() { tab = new int[256]; for (int i = 0; i < tab.length; i++) { tab[i] = mkTabEntry(i); } } /** * initialize */ public void init() { if (tab == null) { makeTab(); } fcs = 0xffff; } /** * set frame checksum * * @param i new value */ public void setFcs(int i) { fcs = i; } /** * get frame checksum * * @return value */ public int getFcs() { return fcs; } /** * get name * * @return name */ public String getName() { return "fcs16"; } /** * read oid of hash * * @return name of hash */ public byte[] getPkcs() { return null; } /** * get hash size * * @return size */ public int getHashSize() { return 2; } /** * get block size * * @return size */ public int getBlockSize() { return 1; } private void updateByte(int i) { fcs = (fcs >>> 8) ^ tab[(fcs ^ i) & 0xff]; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size */ public void update(byte[] buf, int ofs, int siz) { for (int i = 0; i < siz; i++) { updateByte(buf[ofs + i]); } } /** * finish * * @return computed */ public byte[] finish() { byte[] buf = new byte[2]; bits.lsbPutW(buf, 0, fcs ^ 0xffff); return buf; } } freeRtr-25.11.9/src/org/freertr/cry/cryHashGeneric.java000066400000000000000000000040421510423065500226700ustar00rootroot00000000000000package org.freertr.cry; /** * generic hash * * @author matecsaba */ public abstract class cryHashGeneric { /** * create instance */ public cryHashGeneric() { } /** * initialize hash */ public abstract void init(); /** * read name of hash * * @return name of hash */ public abstract String getName(); /** * read oid of hash * * @return name of hash */ public abstract byte[] getPkcs(); /** * read size of hash * * @return size in bytes */ public abstract int getHashSize(); /** * read size of block * * @return size in bytes */ public abstract int getBlockSize(); /** * update with buffer * * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add */ public abstract void update(byte[] buf, int ofs, int siz); /** * finish hash * * @return result */ public abstract byte[] finish(); /** * update with a byte * * @param i byte value */ public void update(int i) { byte[] buf = new byte[1]; buf[0] = (byte) (i & 0xff); update(buf, 0, buf.length); } /** * update with buffer * * @param buf buffer to use */ public void update(byte[] buf) { update(buf, 0, buf.length); } /** * compute hash over a buffer * * @param alg algorithm to use * @param buf buffer to use * @param ofs offset in buffer * @param siz bytes to add * @return result */ public static byte[] compute(cryHashGeneric alg, byte[] buf, int ofs, int siz) { alg.init(); alg.update(buf, ofs, siz); return alg.finish(); } /** * compute hash over a buffer * * @param alg algorithm to use * @param buf buffer to use * @return result */ public static byte[] compute(cryHashGeneric alg, byte[] buf) { return compute(alg, buf, 0, buf.length); } } freeRtr-25.11.9/src/org/freertr/cry/cryHashHmac.java000066400000000000000000000036751510423065500221770ustar00rootroot00000000000000package org.freertr.cry; /** * keyed hashing (rfc2104) message authentication * * @author matecsaba */ public class cryHashHmac extends cryHashGeneric { private cryHashGeneric alg; private byte[] ipad; private byte[] opad; /** * set up hmac * * @param mac mac algorithm * @param key key to use */ public cryHashHmac(cryHashGeneric mac, byte[] key) { alg = mac; alg.init(); ipad = new byte[alg.getBlockSize()]; opad = new byte[ipad.length]; if (key.length > ipad.length) { key = cryHashGeneric.compute(alg, key); } for (int i = 0; i < ipad.length; i++) { ipad[i] = 0x36; opad[i] = 0x5c; } for (int i = 0; i < key.length; i++) { ipad[i] ^= key[i]; opad[i] ^= key[i]; } } /** * initialize */ public void init() { alg.init(); alg.update(ipad); } /** * get name * * @return name */ public String getName() { return "hmac-" + alg.getName(); } /** * read oid of hash * * @return name of hash */ public byte[] getPkcs() { return alg.getPkcs(); } /** * get hash size * * @return size */ public int getHashSize() { return alg.getHashSize(); } /** * get block size * * @return size */ public int getBlockSize() { return alg.getBlockSize(); } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size */ public void update(byte[] buf, int ofs, int siz) { alg.update(buf, ofs, siz); } /** * finish * * @return computed */ public byte[] finish() { byte[] buf = alg.finish(); alg.init(); alg.update(opad); alg.update(buf); return alg.finish(); } } freeRtr-25.11.9/src/org/freertr/cry/cryHashMd2.java000066400000000000000000000030531510423065500217370ustar00rootroot00000000000000package org.freertr.cry; import java.security.MessageDigest; import org.freertr.util.logger; /** * the message digest 2 (rfc1319) hash * * @author matecsaba */ public class cryHashMd2 extends cryHashGeneric { /** * create instance */ public cryHashMd2() { } private MessageDigest digest; /** * initialize */ public void init() { final String name = "MD2"; try { digest = MessageDigest.getInstance(name); digest.reset(); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "md2"; } /** * read oid of hash * * @return name of hash */ public byte[] getPkcs() { return new byte[]{0x00, 0x30, 0x20, 0x30, 0x0c, 0x06, 0x08, 0x2a, (byte) 0x86, 0x48, (byte) 0x86, (byte) 0xf7, 0x0d, 0x02, 0x02, 0x05, 0x00, 0x04, 0x10}; } /** * get hash size * * @return size */ public int getHashSize() { return 16; } /** * get block size * * @return size */ public int getBlockSize() { return 64; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size */ public void update(byte[] buf, int ofs, int siz) { digest.update(buf, ofs, siz); } /** * finish * * @return computed */ public byte[] finish() { return digest.digest(); } } freeRtr-25.11.9/src/org/freertr/cry/cryHashMd5.java000066400000000000000000000030531510423065500217420ustar00rootroot00000000000000package org.freertr.cry; import java.security.MessageDigest; import org.freertr.util.logger; /** * the message digest 5 (rfc1321) hash * * @author matecsaba */ public class cryHashMd5 extends cryHashGeneric { /** * create instance */ public cryHashMd5() { } private MessageDigest digest; /** * initialize */ public void init() { final String name = "MD5"; try { digest = MessageDigest.getInstance(name); digest.reset(); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "md5"; } /** * read oid of hash * * @return name of hash */ public byte[] getPkcs() { return new byte[]{0x00, 0x30, 0x20, 0x30, 0x0c, 0x06, 0x08, 0x2a, (byte) 0x86, 0x48, (byte) 0x86, (byte) 0xf7, 0x0d, 0x02, 0x05, 0x05, 0x00, 0x04, 0x10}; } /** * get hash size * * @return size */ public int getHashSize() { return 16; } /** * get block size * * @return size */ public int getBlockSize() { return 64; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size */ public void update(byte[] buf, int ofs, int siz) { digest.update(buf, ofs, siz); } /** * finish * * @return computed */ public byte[] finish() { return digest.digest(); } } freeRtr-25.11.9/src/org/freertr/cry/cryHashNone.java000066400000000000000000000011211510423065500222060ustar00rootroot00000000000000package org.freertr.cry; /** * null hash * * @author matecsaba */ public class cryHashNone extends cryHashGeneric { /** * create instance */ public cryHashNone() { } public void init() { } public String getName() { return "none"; } public byte[] getPkcs() { return new byte[0]; } public int getHashSize() { return 0; } public int getBlockSize() { return 1; } public void update(byte[] buf, int ofs, int siz) { } public byte[] finish() { return new byte[0]; } } freeRtr-25.11.9/src/org/freertr/cry/cryHashSha1.java000066400000000000000000000030161510423065500221100ustar00rootroot00000000000000package org.freertr.cry; import java.security.MessageDigest; import org.freertr.util.logger; /** * secure hash algorithm 1 (fips180-1) hash * * @author matecsaba */ public class cryHashSha1 extends cryHashGeneric { /** * create instance */ public cryHashSha1() { } private MessageDigest digest; /** * initialize */ public void init() { final String name = "SHA-1"; try { digest = MessageDigest.getInstance(name); digest.reset(); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "sha1"; } /** * read oid of hash * * @return name of hash */ public byte[] getPkcs() { return new byte[]{0x00, 0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14}; } /** * get hash size * * @return size */ public int getHashSize() { return 20; } /** * get block size * * @return size */ public int getBlockSize() { return 64; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size */ public void update(byte[] buf, int ofs, int siz) { digest.update(buf, ofs, siz); } /** * finish * * @return computed */ public byte[] finish() { return digest.digest(); } } freeRtr-25.11.9/src/org/freertr/cry/cryHashSha2224.java000066400000000000000000000030721510423065500223430ustar00rootroot00000000000000package org.freertr.cry; import java.security.MessageDigest; import org.freertr.util.logger; /** * secure hash algorithm 2-28 (fips180-2) hash * * @author matecsaba */ public class cryHashSha2224 extends cryHashGeneric { /** * create instance */ public cryHashSha2224() { } private MessageDigest digest; /** * initialize */ public void init() { final String name = "SHA-224"; try { digest = MessageDigest.getInstance(name); digest.reset(); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "sha224"; } /** * read oid of hash * * @return name of hash */ public byte[] getPkcs() { return new byte[]{0x00, 0x30, 0x2d, 0x30, 0x0d, 0x06, 0x09, 0x60, (byte) 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x04, 0x05, 0x00, 0x04, 0x1c}; } /** * get hash size * * @return size */ public int getHashSize() { return 28; } /** * get block size * * @return size */ public int getBlockSize() { return 64; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size */ public void update(byte[] buf, int ofs, int siz) { digest.update(buf, ofs, siz); } /** * finish * * @return computed */ public byte[] finish() { return digest.digest(); } } freeRtr-25.11.9/src/org/freertr/cry/cryHashSha2256.java000066400000000000000000000030721510423065500223500ustar00rootroot00000000000000package org.freertr.cry; import java.security.MessageDigest; import org.freertr.util.logger; /** * secure hash algorithm 2-32 (fips180-2) hash * * @author matecsaba */ public class cryHashSha2256 extends cryHashGeneric { /** * create instance */ public cryHashSha2256() { } private MessageDigest digest; /** * initialize */ public void init() { final String name = "SHA-256"; try { digest = MessageDigest.getInstance(name); digest.reset(); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "sha256"; } /** * read oid of hash * * @return name of hash */ public byte[] getPkcs() { return new byte[]{0x00, 0x30, 0x31, 0x30, 0x0d, 0x06, 0x09, 0x60, (byte) 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x04, 0x20}; } /** * get hash size * * @return size */ public int getHashSize() { return 32; } /** * get block size * * @return size */ public int getBlockSize() { return 64; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size */ public void update(byte[] buf, int ofs, int siz) { digest.update(buf, ofs, siz); } /** * finish * * @return computed */ public byte[] finish() { return digest.digest(); } } freeRtr-25.11.9/src/org/freertr/cry/cryHashSha2384.java000066400000000000000000000030731510423065500223530ustar00rootroot00000000000000package org.freertr.cry; import java.security.MessageDigest; import org.freertr.util.logger; /** * secure hash algorithm 2-48 (fips180-2) hash * * @author matecsaba */ public class cryHashSha2384 extends cryHashGeneric { /** * create instance */ public cryHashSha2384() { } private MessageDigest digest; /** * initialize */ public void init() { final String name = "SHA-384"; try { digest = MessageDigest.getInstance(name); digest.reset(); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "sha384"; } /** * read oid of hash * * @return name of hash */ public byte[] getPkcs() { return new byte[]{0x00, 0x30, 0x41, 0x30, 0x0d, 0x06, 0x09, 0x60, (byte) 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02, 0x05, 0x00, 0x04, 0x30}; } /** * get hash size * * @return size */ public int getHashSize() { return 48; } /** * get block size * * @return size */ public int getBlockSize() { return 128; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size */ public void update(byte[] buf, int ofs, int siz) { digest.update(buf, ofs, siz); } /** * finish * * @return computed */ public byte[] finish() { return digest.digest(); } } freeRtr-25.11.9/src/org/freertr/cry/cryHashSha2512.java000066400000000000000000000030731510423065500223440ustar00rootroot00000000000000package org.freertr.cry; import java.security.MessageDigest; import org.freertr.util.logger; /** * secure hash algorithm 2-64 (fips180-2) hash * * @author matecsaba */ public class cryHashSha2512 extends cryHashGeneric { /** * create instance */ public cryHashSha2512() { } private MessageDigest digest; /** * initialize */ public void init() { final String name = "SHA-512"; try { digest = MessageDigest.getInstance(name); digest.reset(); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "sha512"; } /** * read oid of hash * * @return name of hash */ public byte[] getPkcs() { return new byte[]{0x00, 0x30, 0x51, 0x30, 0x0d, 0x06, 0x09, 0x60, (byte) 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, 0x05, 0x00, 0x04, 0x40}; } /** * get hash size * * @return size */ public int getHashSize() { return 64; } /** * get block size * * @return size */ public int getBlockSize() { return 128; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size */ public void update(byte[] buf, int ofs, int siz) { digest.update(buf, ofs, siz); } /** * finish * * @return computed */ public byte[] finish() { return digest.digest(); } } freeRtr-25.11.9/src/org/freertr/cry/cryHashSha3224.java000066400000000000000000000030741510423065500223460ustar00rootroot00000000000000package org.freertr.cry; import java.security.MessageDigest; import org.freertr.util.logger; /** * secure hash algorithm 3-28 (fips202) hash * * @author matecsaba */ public class cryHashSha3224 extends cryHashGeneric { /** * create instance */ public cryHashSha3224() { } private MessageDigest digest; /** * initialize */ public void init() { final String name = "SHA3-224"; try { digest = MessageDigest.getInstance(name); digest.reset(); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "sha3-224"; } /** * read oid of hash * * @return name of hash */ public byte[] getPkcs() { return new byte[]{0x00, 0x30, 0x2d, 0x30, 0x0d, 0x06, 0x09, 0x60, (byte) 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x07, 0x05, 0x00, 0x04, 0x1C}; } /** * get hash size * * @return size */ public int getHashSize() { return 28; } /** * get block size * * @return size */ public int getBlockSize() { return 144; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size */ public void update(byte[] buf, int ofs, int siz) { digest.update(buf, ofs, siz); } /** * finish * * @return computed */ public byte[] finish() { return digest.digest(); } } freeRtr-25.11.9/src/org/freertr/cry/cryHashSha3256.java000066400000000000000000000030741510423065500223530ustar00rootroot00000000000000package org.freertr.cry; import java.security.MessageDigest; import org.freertr.util.logger; /** * secure hash algorithm 3-32 (fips202) hash * * @author matecsaba */ public class cryHashSha3256 extends cryHashGeneric { /** * create instance */ public cryHashSha3256() { } private MessageDigest digest; /** * initialize */ public void init() { final String name = "SHA3-256"; try { digest = MessageDigest.getInstance(name); digest.reset(); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "sha3-256"; } /** * read oid of hash * * @return name of hash */ public byte[] getPkcs() { return new byte[]{0x00, 0x30, 0x31, 0x30, 0x0d, 0x06, 0x09, 0x60, (byte) 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x08, 0x05, 0x00, 0x04, 0x20}; } /** * get hash size * * @return size */ public int getHashSize() { return 32; } /** * get block size * * @return size */ public int getBlockSize() { return 136; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size */ public void update(byte[] buf, int ofs, int siz) { digest.update(buf, ofs, siz); } /** * finish * * @return computed */ public byte[] finish() { return digest.digest(); } } freeRtr-25.11.9/src/org/freertr/cry/cryHashSha3384.java000066400000000000000000000030741510423065500223550ustar00rootroot00000000000000package org.freertr.cry; import java.security.MessageDigest; import org.freertr.util.logger; /** * secure hash algorithm 3-48 (fips202) hash * * @author matecsaba */ public class cryHashSha3384 extends cryHashGeneric { /** * create instance */ public cryHashSha3384() { } private MessageDigest digest; /** * initialize */ public void init() { final String name = "SHA3-384"; try { digest = MessageDigest.getInstance(name); digest.reset(); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "sha3-384"; } /** * read oid of hash * * @return name of hash */ public byte[] getPkcs() { return new byte[]{0x00, 0x30, 0x41, 0x30, 0x0d, 0x06, 0x09, 0x60, (byte) 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x09, 0x05, 0x00, 0x04, 0x30}; } /** * get hash size * * @return size */ public int getHashSize() { return 48; } /** * get block size * * @return size */ public int getBlockSize() { return 104; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size */ public void update(byte[] buf, int ofs, int siz) { digest.update(buf, ofs, siz); } /** * finish * * @return computed */ public byte[] finish() { return digest.digest(); } } freeRtr-25.11.9/src/org/freertr/cry/cryHashSha3512.java000066400000000000000000000030731510423065500223450ustar00rootroot00000000000000package org.freertr.cry; import java.security.MessageDigest; import org.freertr.util.logger; /** * secure hash algorithm 3-64 (fips202) hash * * @author matecsaba */ public class cryHashSha3512 extends cryHashGeneric { /** * create instance */ public cryHashSha3512() { } private MessageDigest digest; /** * initialize */ public void init() { final String name = "SHA3-512"; try { digest = MessageDigest.getInstance(name); digest.reset(); } catch (Exception e) { logger.exception(e); } } /** * get name * * @return name */ public String getName() { return "sha3-512"; } /** * read oid of hash * * @return name of hash */ public byte[] getPkcs() { return new byte[]{0x00, 0x30, 0x51, 0x30, 0x0d, 0x06, 0x09, 0x60, (byte) 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x0a, 0x05, 0x00, 0x04, 0x40}; } /** * get hash size * * @return size */ public int getHashSize() { return 64; } /** * get block size * * @return size */ public int getBlockSize() { return 72; } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size */ public void update(byte[] buf, int ofs, int siz) { digest.update(buf, ofs, siz); } /** * finish * * @return computed */ public byte[] finish() { return digest.digest(); } } freeRtr-25.11.9/src/org/freertr/cry/cryHashShake.java000066400000000000000000000227271510423065500223610ustar00rootroot00000000000000package org.freertr.cry; import org.freertr.util.bits; /** * secure hash algorithm 3-xof (fips202) hash * * @author matecsaba */ public class cryHashShake extends cryHashGeneric { /** * create instance */ protected cryHashShake() { } /** * bit length */ protected int bitLength; private static long[] KeccakRoundConstants = new long[]{ 0x0000000000000001L, 0x0000000000008082L, 0x800000000000808aL, 0x8000000080008000L, 0x000000000000808bL, 0x0000000080000001L, 0x8000000080008081L, 0x8000000000008009L, 0x000000000000008aL, 0x0000000000000088L, 0x0000000080008009L, 0x000000008000000aL, 0x000000008000808bL, 0x800000000000008bL, 0x8000000000008089L, 0x8000000000008003L, 0x8000000000008002L, 0x8000000000000080L, 0x000000000000800aL, 0x800000008000000aL, 0x8000000080008081L, 0x8000000000008080L, 0x0000000080000001L, 0x8000000080008008L }; private long[] state = new long[25]; private byte[] dataQueue = new byte[192]; private int rate; private int bitsInQueue; private int fixedOutputLength; private boolean squeezing; public String getName() { return "shake" + bitLength; } public byte[] getPkcs() { return null; } public int getHashSize() { return 1; } public int getBlockSize() { return fixedOutputLength / 4; } public byte[] finish() { if (!squeezing) { absorbBits(0x0F, 4); } byte[] buf = new byte[1]; squeeze(buf, 0, 8); return buf; } public void update(byte[] buf, int ofs, int siz) { absorb(buf, ofs, siz); } public void init() { switch (bitLength) { case 128: case 224: case 256: case 288: case 384: case 512: rate = 1600 - (bitLength << 1); for (int i = 0; i < state.length; i++) { state[i] = 0L; } bits.byteFill(dataQueue, 0, dataQueue.length, 0); bitsInQueue = 0; squeezing = false; fixedOutputLength = (1600 - rate) / 2; break; } } /** * fill up buffer with results * * @param buf buffer * @param ofs offset * @param max length */ public void fillupBuffer(byte[] buf, int ofs, int max) { for (; ofs < max;) { byte[] res = finish(); bits.byteCopy(res, 0, buf, ofs, res.length); ofs += res.length; } } private void absorb(byte[] data, int off, int len) { int bytesInQueue = bitsInQueue >>> 3; int rateBytes = rate >>> 3; int available = rateBytes - bytesInQueue; if (len < available) { bits.byteCopy(data, off, dataQueue, bytesInQueue, len); bitsInQueue += len << 3; return; } int count = 0; if (bytesInQueue > 0) { bits.byteCopy(data, off, dataQueue, bytesInQueue, available); count += available; KeccakAbsorb(dataQueue, 0); } int remaining; while ((remaining = (len - count)) >= rateBytes) { KeccakAbsorb(data, off + count); count += rateBytes; } bits.byteCopy(data, off + count, dataQueue, 0, remaining); bitsInQueue = remaining << 3; } private void absorbBits(int data, int bits) { int mask = (1 << bits) - 1; dataQueue[bitsInQueue >>> 3] = (byte) (data & mask); bitsInQueue += bits; } private void squeeze(byte[] output, int offset, long outputLength) { if (!squeezing) { dataQueue[bitsInQueue >>> 3] |= (byte) (1 << (bitsInQueue & 7)); if (++bitsInQueue == rate) { KeccakAbsorb(dataQueue, 0); } else { int full = bitsInQueue >>> 6, partial = bitsInQueue & 63; int off = 0; for (int i = 0; i < full; i++) { state[i] ^= bits.lsbGetQ(dataQueue, off); off += 8; } if (partial > 0) { long mask = (1L << partial) - 1L; state[full] ^= bits.lsbGetQ(dataQueue, off) & mask; } } state[(rate - 1) >>> 6] ^= (1L << 63); bitsInQueue = 0; squeezing = true; } long i = 0; while (i < outputLength) { if (bitsInQueue == 0) { KeccakPermutation(); int bsOff = 0; int nsLen = rate >>> 6; for (int o = 0; o < nsLen; o++) { bits.lsbPutQ(dataQueue, bsOff, state[o]); bsOff += 8; } bitsInQueue = rate; } int partialBlock = (int) Math.min((long) bitsInQueue, outputLength - i); bits.byteCopy(dataQueue, (rate - bitsInQueue) / 8, output, offset + (int) (i / 8), partialBlock / 8); bitsInQueue -= partialBlock; i += partialBlock; } } private void KeccakAbsorb(byte[] data, int off) { int count = rate >>> 6; for (int i = 0; i < count; i++) { state[i] ^= bits.lsbGetQ(data, off); off += 8; } KeccakPermutation(); } private void KeccakPermutation() { long[] A = state; long a00 = A[0], a01 = A[1], a02 = A[2], a03 = A[3], a04 = A[4]; long a05 = A[5], a06 = A[6], a07 = A[7], a08 = A[8], a09 = A[9]; long a10 = A[10], a11 = A[11], a12 = A[12], a13 = A[13], a14 = A[14]; long a15 = A[15], a16 = A[16], a17 = A[17], a18 = A[18], a19 = A[19]; long a20 = A[20], a21 = A[21], a22 = A[22], a23 = A[23], a24 = A[24]; for (int i = 0; i < 24; i++) { long c0 = a00 ^ a05 ^ a10 ^ a15 ^ a20; long c1 = a01 ^ a06 ^ a11 ^ a16 ^ a21; long c2 = a02 ^ a07 ^ a12 ^ a17 ^ a22; long c3 = a03 ^ a08 ^ a13 ^ a18 ^ a23; long c4 = a04 ^ a09 ^ a14 ^ a19 ^ a24; long d1 = (c1 << 1 | c1 >>> -1) ^ c4; long d2 = (c2 << 1 | c2 >>> -1) ^ c0; long d3 = (c3 << 1 | c3 >>> -1) ^ c1; long d4 = (c4 << 1 | c4 >>> -1) ^ c2; long d0 = (c0 << 1 | c0 >>> -1) ^ c3; a00 ^= d1; a05 ^= d1; a10 ^= d1; a15 ^= d1; a20 ^= d1; a01 ^= d2; a06 ^= d2; a11 ^= d2; a16 ^= d2; a21 ^= d2; a02 ^= d3; a07 ^= d3; a12 ^= d3; a17 ^= d3; a22 ^= d3; a03 ^= d4; a08 ^= d4; a13 ^= d4; a18 ^= d4; a23 ^= d4; a04 ^= d0; a09 ^= d0; a14 ^= d0; a19 ^= d0; a24 ^= d0; c1 = a01 << 1 | a01 >>> 63; a01 = a06 << 44 | a06 >>> 20; a06 = a09 << 20 | a09 >>> 44; a09 = a22 << 61 | a22 >>> 3; a22 = a14 << 39 | a14 >>> 25; a14 = a20 << 18 | a20 >>> 46; a20 = a02 << 62 | a02 >>> 2; a02 = a12 << 43 | a12 >>> 21; a12 = a13 << 25 | a13 >>> 39; a13 = a19 << 8 | a19 >>> 56; a19 = a23 << 56 | a23 >>> 8; a23 = a15 << 41 | a15 >>> 23; a15 = a04 << 27 | a04 >>> 37; a04 = a24 << 14 | a24 >>> 50; a24 = a21 << 2 | a21 >>> 62; a21 = a08 << 55 | a08 >>> 9; a08 = a16 << 45 | a16 >>> 19; a16 = a05 << 36 | a05 >>> 28; a05 = a03 << 28 | a03 >>> 36; a03 = a18 << 21 | a18 >>> 43; a18 = a17 << 15 | a17 >>> 49; a17 = a11 << 10 | a11 >>> 54; a11 = a07 << 6 | a07 >>> 58; a07 = a10 << 3 | a10 >>> 61; a10 = c1; c0 = a00 ^ (~a01 & a02); c1 = a01 ^ (~a02 & a03); a02 ^= ~a03 & a04; a03 ^= ~a04 & a00; a04 ^= ~a00 & a01; a00 = c0; a01 = c1; c0 = a05 ^ (~a06 & a07); c1 = a06 ^ (~a07 & a08); a07 ^= ~a08 & a09; a08 ^= ~a09 & a05; a09 ^= ~a05 & a06; a05 = c0; a06 = c1; c0 = a10 ^ (~a11 & a12); c1 = a11 ^ (~a12 & a13); a12 ^= ~a13 & a14; a13 ^= ~a14 & a10; a14 ^= ~a10 & a11; a10 = c0; a11 = c1; c0 = a15 ^ (~a16 & a17); c1 = a16 ^ (~a17 & a18); a17 ^= ~a18 & a19; a18 ^= ~a19 & a15; a19 ^= ~a15 & a16; a15 = c0; a16 = c1; c0 = a20 ^ (~a21 & a22); c1 = a21 ^ (~a22 & a23); a22 ^= ~a23 & a24; a23 ^= ~a24 & a20; a24 ^= ~a20 & a21; a20 = c0; a21 = c1; a00 ^= KeccakRoundConstants[i]; } A[0] = a00; A[1] = a01; A[2] = a02; A[3] = a03; A[4] = a04; A[5] = a05; A[6] = a06; A[7] = a07; A[8] = a08; A[9] = a09; A[10] = a10; A[11] = a11; A[12] = a12; A[13] = a13; A[14] = a14; A[15] = a15; A[16] = a16; A[17] = a17; A[18] = a18; A[19] = a19; A[20] = a20; A[21] = a21; A[22] = a22; A[23] = a23; A[24] = a24; } } freeRtr-25.11.9/src/org/freertr/cry/cryHashShake128.java000066400000000000000000000004041510423065500226000ustar00rootroot00000000000000package org.freertr.cry; /** * secure hash algorithm 3-32 (fips202) hash * * @author matecsaba */ public class cryHashShake128 extends cryHashShake { /** * create instance */ public cryHashShake128() { bitLength = 128; } } freeRtr-25.11.9/src/org/freertr/cry/cryHashShake256.java000066400000000000000000000004041510423065500226020ustar00rootroot00000000000000package org.freertr.cry; /** * secure hash algorithm 3-32 (fips202) hash * * @author matecsaba */ public class cryHashShake256 extends cryHashShake { /** * create instance */ public cryHashShake256() { bitLength = 256; } } freeRtr-25.11.9/src/org/freertr/cry/cryHashSslMac.java000066400000000000000000000044161510423065500225030ustar00rootroot00000000000000package org.freertr.cry; /** * keyed hashing (ssl30) message authentication * * @author matecsaba */ public class cryHashSslMac extends cryHashGeneric { private cryHashGeneric alg; private byte[] ipad; private byte[] opad; private boolean prePad; private static int getPadSize(int i) { switch (i) { case 16: return 48; case 20: return 40; default: return 32; } } /** * set up sslmac * * @param mac mac algorithm * @param key key to use * @param pp pre pad */ public cryHashSslMac(cryHashGeneric mac, byte[] key, boolean pp) { alg = mac; prePad = pp; alg.init(); ipad = new byte[key.length + getPadSize(alg.getHashSize())]; opad = new byte[ipad.length]; for (int i = 0; i < ipad.length; i++) { ipad[i] = 0x36; opad[i] = 0x5c; } for (int i = 0; i < key.length; i++) { ipad[i] = key[i]; opad[i] = key[i]; } } /** * initialize */ public void init() { alg.init(); if (prePad) { alg.update(ipad); } } /** * get name * * @return name */ public String getName() { return "sslmac-" + alg.getName(); } /** * read oid of hash * * @return name of hash */ public byte[] getPkcs() { return alg.getPkcs(); } /** * get hash size * * @return size */ public int getHashSize() { return alg.getHashSize(); } /** * get block size * * @return size */ public int getBlockSize() { return alg.getBlockSize(); } /** * compute block * * @param buf buffer * @param ofs offset * @param siz size */ public void update(byte[] buf, int ofs, int siz) { alg.update(buf, ofs, siz); } /** * finish * * @return computed */ public byte[] finish() { if (!prePad) { alg.update(ipad); } byte[] buf = alg.finish(); alg.init(); alg.update(opad); alg.update(buf); return alg.finish(); } } freeRtr-25.11.9/src/org/freertr/cry/cryKeyCurve25519.java000066400000000000000000000320761510423065500226630ustar00rootroot00000000000000package org.freertr.cry; import java.util.Arrays; import org.freertr.pack.packHolder; import org.freertr.util.bits; /** * curve25519 * * @author matecsaba */ public class cryKeyCurve25519 extends cryKeyGeneric { /** * create instance */ public cryKeyCurve25519() { } /** * tls value */ public final static int tlsVal = 29; /** * common value */ protected byte[] common; /** * client private value */ protected byte[] clntPriv; /** * client public value */ protected byte[] clntPub; /** * server private value */ protected byte[] servPriv; /** * server public value */ protected byte[] servPub; private final static int NUM_LIMBS_255BIT = 10; private final static int NUM_LIMBS_510BIT = 20; private int[] A; private int[] AA; private int[] B; private int[] BB; private int[] C; private int[] CB; private int[] D; private int[] DA; private int[] E; private long[] t1; private int[] t2; private int[] x_1; private int[] x_2; private int[] x_3; private int[] z_2; private int[] z_3; private byte[] makePirvKey() { byte[] priv = new byte[32]; for (int i = 0; i < priv.length; i++) { priv[i] = (byte) bits.randomB(); } priv[0] &= (byte) 248; priv[31] &= 127; priv[31] |= 64; return priv; } private byte[] calcCommon(byte[] priv, byte[] pub) { x_1 = new int[NUM_LIMBS_255BIT]; x_2 = new int[NUM_LIMBS_255BIT]; x_3 = new int[NUM_LIMBS_255BIT]; z_2 = new int[NUM_LIMBS_255BIT]; z_3 = new int[NUM_LIMBS_255BIT]; A = new int[NUM_LIMBS_255BIT]; B = new int[NUM_LIMBS_255BIT]; C = new int[NUM_LIMBS_255BIT]; D = new int[NUM_LIMBS_255BIT]; E = new int[NUM_LIMBS_255BIT]; AA = new int[NUM_LIMBS_255BIT]; BB = new int[NUM_LIMBS_255BIT]; DA = new int[NUM_LIMBS_255BIT]; CB = new int[NUM_LIMBS_255BIT]; t1 = new long[NUM_LIMBS_510BIT]; t2 = new int[NUM_LIMBS_510BIT]; Arrays.fill(x_1, 0); if (pub != null) { for (int i = 0; i < 32; i++) { int bit = (i * 8) % 26; int word = (i * 8) / 26; int val = pub[i] & 0xFF; if (bit <= (26 - 8)) { x_1[word] |= val << bit; } else { x_1[word] |= val << bit; x_1[word] &= 0x03FFFFFF; x_1[word + 1] |= val >> (26 - bit); } } reduceQuick(x_1); reduceQuick(x_1); } else { x_1[0] = 9; } Arrays.fill(x_2, 0); x_2[0] = 1; Arrays.fill(z_2, 0); System.arraycopy(x_1, 0, x_3, 0, x_1.length); Arrays.fill(z_3, 0); z_3[0] = 1; int sposn = 31; int sbit = 6; int svalue = priv[sposn] | 0x40; int swap = 0; while (true) { int select = (svalue >> sbit) & 0x01; swap ^= select; cswap(swap, x_2, x_3); cswap(swap, z_2, z_3); swap = select; add(A, x_2, z_2); square(AA, A); sub(B, x_2, z_2); square(BB, B); sub(E, AA, BB); add(C, x_3, z_3); sub(D, x_3, z_3); mul(DA, D, A); mul(CB, C, B); add(x_3, DA, CB); square(x_3, x_3); sub(z_3, DA, CB); square(z_3, z_3); mul(z_3, z_3, x_1); mul(x_2, AA, BB); mulA24(z_2, E); add(z_2, z_2, AA); mul(z_2, z_2, E); if (sbit > 0) { sbit--; } else if (sposn == 0) { break; } else if (sposn == 1) { sposn--; svalue = priv[sposn] & 0xF8; sbit = 7; } else { sposn--; svalue = priv[sposn]; sbit = 7; } } cswap(swap, x_2, x_3); cswap(swap, z_2, z_3); recip(z_3, z_2); mul(x_2, x_2, z_3); byte[] res = new byte[32]; for (int i = 0; i < 32; i++) { int bit = (i * 8) % 26; int word = (i * 8) / 26; if (bit <= (26 - 8)) { res[i] = (byte) (x_2[word] >> bit); } else { res[i] = (byte) ((x_2[word] >> bit) | (x_2[word + 1] << (26 - bit))); } } return res; } private void sub(int[] result, int[] x, int[] y) { int borrow = 0; for (int i = 0; i < NUM_LIMBS_255BIT; i++) { borrow = x[i] - y[i] - ((borrow >> 26) & 0x01); result[i] = borrow & 0x03FFFFFF; } borrow = result[0] - ((-((borrow >> 26) & 0x01)) & 19); result[0] = borrow & 0x03FFFFFF; for (int i = 1; i < NUM_LIMBS_255BIT; i++) { borrow = result[i] - ((borrow >> 26) & 0x01); result[i] = borrow & 0x03FFFFFF; } result[NUM_LIMBS_255BIT - 1] &= 0x001FFFFF; } private void add(int[] result, int[] x, int[] y) { int carry = x[0] + y[0]; result[0] = carry & 0x03FFFFFF; for (int i = 1; i < NUM_LIMBS_255BIT; i++) { carry = (carry >> 26) + x[i] + y[i]; result[i] = carry & 0x03FFFFFF; } reduceQuick(result); } private void cswap(int select, int[] x, int[] y) { select = -select; for (int i = 0; i < NUM_LIMBS_255BIT; i++) { int dummy = select & (x[i] ^ y[i]); x[i] ^= dummy; y[i] ^= dummy; } } private void mul(int[] result, int[] x, int[] y) { long v = x[0]; for (int i = 0; i < NUM_LIMBS_255BIT; i++) { t1[i] = v * y[i]; } for (int i = 1; i < NUM_LIMBS_255BIT; i++) { v = x[i]; for (int j = 0; j < (NUM_LIMBS_255BIT - 1); j++) { t1[i + j] += v * y[j]; } t1[i + NUM_LIMBS_255BIT - 1] = v * y[NUM_LIMBS_255BIT - 1]; } v = t1[0]; t2[0] = ((int) v) & 0x03FFFFFF; for (int i = 1; i < NUM_LIMBS_510BIT; i++) { v = (v >> 26) + t1[i]; t2[i] = ((int) v) & 0x03FFFFFF; } reduce(result, t2, NUM_LIMBS_255BIT); } private void mulA24(int[] result, int[] x) { long a24 = 121665; long carry = 0; for (int i = 0; i < NUM_LIMBS_255BIT; i++) { carry += a24 * x[i]; t2[i] = ((int) carry) & 0x03FFFFFF; carry >>= 26; } t2[NUM_LIMBS_255BIT] = ((int) carry) & 0x03FFFFFF; reduce(result, t2, 1); } private void pow250(int[] result, int[] x) { square(A, x); for (int j = 0; j < 9; j++) { square(A, A); } mul(result, A, x); for (int i = 0; i < 23; i++) { for (int j = 0; j < 10; j++) { square(A, A); } mul(result, result, A); } square(A, result); mul(result, result, A); for (int j = 0; j < 8; j++) { square(A, A); mul(result, result, A); } } private void recip(int[] result, int[] x) { pow250(result, x); square(result, result); square(result, result); mul(result, result, x); square(result, result); square(result, result); mul(result, result, x); square(result, result); mul(result, result, x); } private void reduce(int[] result, int[] x, int size) { int carry = 0; int limb = x[NUM_LIMBS_255BIT - 1] >> 21; x[NUM_LIMBS_255BIT - 1] &= 0x001FFFFF; for (int i = 0; i < size; i++) { limb += x[NUM_LIMBS_255BIT + i] << 5; carry += (limb & 0x03FFFFFF) * 19 + x[i]; x[i] = carry & 0x03FFFFFF; limb >>= 26; carry >>= 26; } if (size < NUM_LIMBS_255BIT) { for (int i = size; i < NUM_LIMBS_255BIT; i++) { carry += x[i]; x[i] = carry & 0x03FFFFFF; carry >>= 26; } } carry = (x[NUM_LIMBS_255BIT - 1] >> 21) * 19; x[NUM_LIMBS_255BIT - 1] &= 0x001FFFFF; for (int i = 0; i < NUM_LIMBS_255BIT; i++) { carry += x[i]; result[i] = carry & 0x03FFFFFF; carry >>= 26; } reduceQuick(result); } private void reduceQuick(int[] x) { int carry = 19; for (int i = 0; i < NUM_LIMBS_255BIT; i++) { carry += x[i]; t2[i] = carry & 0x03FFFFFF; carry >>= 26; } int mask = -((t2[NUM_LIMBS_255BIT - 1] >> 21) & 0x01); int nmask = ~mask; t2[NUM_LIMBS_255BIT - 1] &= 0x001FFFFF; for (int i = 0; i < NUM_LIMBS_255BIT; i++) { x[i] = (x[i] & nmask) | (t2[i] & mask); } } private void square(int[] result, int[] x) { mul(result, x, x); } public String algName() { return "curve25519"; } public String sshName() { return "curve25519-sha256"; } public cryHashGeneric sshHash() { return new cryHashSha2256(); } public boolean privReader(packHolder pck) { return true; } public void privWriter(packHolder pck) { } public boolean certReader(packHolder pck) { return true; } public void certWriter(packHolder pck) { } public boolean certVerify(cryHashGeneric pkcs, byte[] hash, byte[] sign) { return true; } public byte[] certSigning(cryHashGeneric pkcs, byte[] hash) { return null; } public boolean tlsVerify(int ver, cryHashGeneric pkcs, byte[] hash, byte[] sign) { return true; } public byte[] tlsSigning(int ver, cryHashGeneric pkcs, byte[] hash) { return null; } public boolean keyMakeSize(int len) { return true; } public boolean keyMakeName(String nam) { return false; } public boolean keyMakeTls(int id) { return id != tlsVal; } public boolean keyMakeIke(int id) { return id != 31; } public int keyMakeVal() { return tlsVal; } public boolean keyVerify() { return false; } public int keySize() { return 255; } public String keyDump() { return "cln=" + bits.byteDump(clntPub, 0, -1) + " srv=" + bits.byteDump(servPub, 0, -1) + " res=" + bits.byteDump(common, 0, -1); } public void keyClntInit() { clntPriv = makePirvKey(); clntPub = calcCommon(clntPriv, null); } public void keyServInit() { servPriv = makePirvKey(); servPub = calcCommon(servPriv, null); } public void keyClntCalc() { common = calcCommon(clntPriv, servPub); } public void keyServCalc() { common = calcCommon(servPriv, clntPub); } public byte[] keyCommonTls() { return common; } public byte[] keyCommonSsh() { if (common == null) { return null; } return cryUtils.buffer2bigInt(common, 0, common.length).toByteArray(); } public byte[] keyCommonIke() { return keyCommonTls(); } public byte[] keyClntTls() { return keyClntSsh(); } public byte[] keyServTls() { return keyServSsh(); } public boolean keyClntTls(byte[] buf, int ofs) { return keyClntSsh(buf, ofs); } public boolean keyServTls(byte[] buf, int ofs) { return keyServSsh(buf, ofs); } public byte[] keyClntSsh() { return clntPub; } public byte[] keyServSsh() { return servPub; } public boolean keyClntSsh(byte[] buf, int ofs) { clntPub = new byte[32]; bits.byteCopy(buf, ofs, clntPub, 0, clntPub.length); return false; } public boolean keyServSsh(byte[] buf, int ofs) { servPub = new byte[32]; bits.byteCopy(buf, ofs, servPub, 0, servPub.length); return false; } public byte[] keyClntIke() { return keyClntSsh(); } public byte[] keyServIke() { return keyServSsh(); } public boolean keyClntIke(byte[] buf, int ofs) { return keyClntSsh(buf, ofs); } public boolean keyServIke(byte[] buf, int ofs) { return keyServSsh(buf, ofs); } public byte[][] keyParamTls() { return null; } public byte[][] keyParamSsh() { return null; } public boolean keyParamTls(byte[][] buf) { return true; } public boolean keyParamSsh(byte[][] buf) { return true; } public boolean sshReader(byte[] key) { servPriv = key; return false; } public byte[] sshWriter() { return null; } public boolean sshVerify(cryHashGeneric algo, String algn, byte[] hash, byte[] sign) { return true; } public byte[] sshSigning(cryHashGeneric algo, String algn, byte[] hash) { return null; } } freeRtr-25.11.9/src/org/freertr/cry/cryKeyDH.java000066400000000000000000000201121510423065500214500ustar00rootroot00000000000000package org.freertr.cry; import org.freertr.enc.encAsn1; import java.math.BigInteger; import org.freertr.pack.packHolder; import org.freertr.util.bits; /** * diffie-hellman key exchange * * @author matecsaba */ public class cryKeyDH extends cryKeyGeneric { /** * create instance */ public cryKeyDH() { } /** * common value */ protected BigInteger common; /** * generator value */ protected BigInteger group; /** * modulus value */ protected BigInteger modulus; /** * id number */ protected int idNum; /** * client private value */ protected BigInteger clntPriv; /** * client public value */ protected BigInteger clntPub; /** * server private value */ protected BigInteger servPriv; /** * server public value */ protected BigInteger servPub; public String toString() { return "group=" + group + " prime=" + modulus; } /** * max byte size * * @return size */ public int byteSize() { return (modulus.bitLength() + 7) / 8; } public String algName() { return "dh"; } public String sshName() { return "diffe-hellman-group" + idNum + "-sha256"; } public cryHashGeneric sshHash() { return new cryHashSha2256(); } public boolean certReader(packHolder pck) { return true; } public void certWriter(packHolder pck) { } public boolean privReader(packHolder pck) { encAsn1 a = new encAsn1(); if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } pck = a.getPack(); modulus = encAsn1.readBigInt(pck); if (modulus == null) { return true; } group = encAsn1.readBigInt(pck); if (group == null) { return true; } return false; } public void privWriter(packHolder pck) { packHolder p = new packHolder(true, true); encAsn1.writeBigInt(p, modulus); encAsn1.writeBigInt(p, group); encAsn1.writeSequence(pck, p); } public boolean keyMakeName(String nam) { cryKeyDHgroup g = cryKeyDHgroup.getByName(nam); if (g == null) { return true; } group = g.grp; modulus = g.mod; idNum = g.ike; return false; } public boolean keyMakeTls(int id) { return false; } public boolean keyMakeIke(int id) { cryKeyDHgroup g = cryKeyDHgroup.getByIke(id); if (g == null) { return true; } group = g.grp; modulus = g.mod; idNum = g.ike; return false; } public boolean keyMakeSize(int len) { cryKeyDHgroup g = cryKeyDHgroup.getBySize(len); if (g == null) { return true; } group = g.grp; modulus = g.mod; idNum = g.ike; return false; } /** * create random group * * @param len size */ public void keyMakeRandom(int len) { for (;;) { modulus = cryUtils.randomPrime(len); BigInteger i = modulus.shiftRight(1); if (cryUtils.testPrime(i)) { break; } } group = new BigInteger("2", 16); } public int keyMakeVal() { if (modulus == null) { return -1; } return idNum; } public boolean keyVerify() { if (!cryUtils.testPrime(modulus)) { return true; } if (!cryUtils.testPrime(modulus.shiftRight(1))) { return true; } if (!cryUtils.testPrime(group)) { return true; } return false; } public int keySize() { return modulus.bitLength(); } public String keyDump() { return "grp=" + idNum + " cln=" + clntPub + " srv=" + servPub + " res=" + common; } public void keyClntInit() { clntPriv = cryUtils.randomBigInt(modulus.bitLength() - 2); clntPub = group.modPow(clntPriv, modulus); } public void keyServInit() { servPriv = cryUtils.randomBigInt(modulus.bitLength() - 2); servPub = group.modPow(servPriv, modulus); } public void keyClntCalc() { common = servPub.modPow(clntPriv, modulus); } public void keyServCalc() { common = clntPub.modPow(servPriv, modulus); } public byte[] keyCommonTls() { if (common == null) { return null; } return cryUtils.bigUint2buf(common); } public byte[] keyCommonSsh() { if (common == null) { return null; } return common.toByteArray(); } public byte[] keyCommonIke() { return keyCommonTls(); } public byte[] keyClntTls() { if (clntPub == null) { return null; } return cryUtils.bigUint2buf(clntPub); } public byte[] keyServTls() { if (servPub == null) { return null; } return cryUtils.bigUint2buf(servPub); } public boolean keyClntTls(byte[] buf, int ofs) { clntPub = cryUtils.buffer2bigInt(buf, ofs, buf.length - ofs); return false; } public boolean keyServTls(byte[] buf, int ofs) { servPub = cryUtils.buffer2bigInt(buf, ofs, buf.length - ofs); return false; } public byte[] keyClntSsh() { if (clntPub == null) { return null; } return clntPub.toByteArray(); } public byte[] keyServSsh() { if (servPub == null) { return null; } return servPub.toByteArray(); } public boolean keyClntSsh(byte[] buf, int ofs) { byte[] tmp = new byte[buf.length - ofs]; bits.byteCopy(buf, ofs, tmp, 0, tmp.length); clntPub = new BigInteger(tmp); return false; } public boolean keyServSsh(byte[] buf, int ofs) { byte[] tmp = new byte[buf.length - ofs]; bits.byteCopy(buf, ofs, tmp, 0, tmp.length); servPub = new BigInteger(tmp); return false; } public byte[] keyClntIke() { return keyClntTls(); } public byte[] keyServIke() { return keyServTls(); } public boolean keyClntIke(byte[] buf, int ofs) { clntPub = cryUtils.buffer2bigInt(buf, ofs, buf.length - ofs); return false; } public boolean keyServIke(byte[] buf, int ofs) { servPub = cryUtils.buffer2bigInt(buf, ofs, buf.length - ofs); return false; } public byte[][] keyParamTls() { byte[][] res = new byte[2][]; res[0] = cryUtils.bigUint2buf(modulus); res[1] = cryUtils.bigUint2buf(group); return res; } public byte[][] keyParamSsh() { byte[][] res = new byte[2][]; res[0] = modulus.toByteArray(); res[1] = group.toByteArray(); return res; } public boolean keyParamTls(byte[][] buf) { modulus = cryUtils.buffer2bigInt(buf[0], 0, buf[0].length); group = cryUtils.buffer2bigInt(buf[1], 0, buf[1].length); return false; } public boolean keyParamSsh(byte[][] buf) { modulus = new BigInteger(buf[0]); group = new BigInteger(buf[0]); return false; } public boolean sshReader(byte[] key) { return true; } public byte[] sshWriter() { return null; } public boolean sshVerify(cryHashGeneric algo, String algn, byte[] hash, byte[] sign) { return true; } public byte[] sshSigning(cryHashGeneric algo, String algn, byte[] hash) { return null; } public boolean certVerify(cryHashGeneric pkcs, byte[] hash, byte[] sign) { return true; } public byte[] certSigning(cryHashGeneric pkcs, byte[] hash) { return null; } public boolean tlsVerify(int ver, cryHashGeneric pkcs, byte[] hash, byte[] sign) { return true; } public byte[] tlsSigning(int ver, cryHashGeneric pkcs, byte[] hash) { return null; } } freeRtr-25.11.9/src/org/freertr/cry/cryKeyDHgroup.java000066400000000000000000000304471510423065500225410ustar00rootroot00000000000000package org.freertr.cry; import java.math.BigInteger; /** * one diffie hellman group * * @author matecsaba */ public class cryKeyDHgroup { /** * name */ public final String nam; /** * ike */ public final int ike; /** * generator */ public final BigInteger grp; /** * modulus */ public final BigInteger mod; /** * create instance * * @param mn name * @param mi ike * @param mg group * @param mm modulus */ public cryKeyDHgroup(String mn, int mi, BigInteger mg, BigInteger mm) { nam = mn; ike = mi; grp = mg; mod = mm; } /** * groups */ public final static cryKeyDHgroup[] groups = { new cryKeyDHgroup("2^127-1", 0, new BigInteger("2", 16), new BigInteger("7fffffffffffffffffffffffffffffff", 16)), new cryKeyDHgroup("group1", 1, new BigInteger("2", 16), new BigInteger("FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A63A3620FFFFFFFFFFFFFFFF", 16)), new cryKeyDHgroup("group2", 2, new BigInteger("2", 16), new BigInteger("FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE65381FFFFFFFFFFFFFFFF", 16)), new cryKeyDHgroup("group5", 5, new BigInteger("2", 16), new BigInteger("FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA237327FFFFFFFFFFFFFFFF", 16)), new cryKeyDHgroup("group14", 14, new BigInteger("2", 16), new BigInteger("FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AACAA68FFFFFFFFFFFFFFFF", 16)), new cryKeyDHgroup("group15", 15, new BigInteger("2", 16), new BigInteger("FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A93AD2CAFFFFFFFFFFFFFFFF", 16)), new cryKeyDHgroup("group16", 16, new BigInteger("2", 16), new BigInteger("FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A92108011A723C12A787E6D788719A10BDBA5B2699C327186AF4E23C1A946834B6150BDA2583E9CA2AD44CE8DBBBC2DB04DE8EF92E8EFC141FBECAA6287C59474E6BC05D99B2964FA090C3A2233BA186515BE7ED1F612970CEE2D7AFB81BDD762170481CD0069127D5B05AA993B4EA988D8FDDC186FFB7DC90A6C08F4DF435C934063199FFFFFFFFFFFFFFFF", 16)), new cryKeyDHgroup("group17", 17, new BigInteger("2", 16), new BigInteger("FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A92108011A723C12A787E6D788719A10BDBA5B2699C327186AF4E23C1A946834B6150BDA2583E9CA2AD44CE8DBBBC2DB04DE8EF92E8EFC141FBECAA6287C59474E6BC05D99B2964FA090C3A2233BA186515BE7ED1F612970CEE2D7AFB81BDD762170481CD0069127D5B05AA993B4EA988D8FDDC186FFB7DC90A6C08F4DF435C93402849236C3FAB4D27C7026C1D4DCB2602646DEC9751E763DBA37BDF8FF9406AD9E530EE5DB382F413001AEB06A53ED9027D831179727B0865A8918DA3EDBEBCF9B14ED44CE6CBACED4BB1BDB7F1447E6CC254B332051512BD7AF426FB8F401378CD2BF5983CA01C64B92ECF032EA15D1721D03F482D7CE6E74FEF6D55E702F46980C82B5A84031900B1C9E59E7C97FBEC7E8F323A97A7E36CC88BE0F1D45B7FF585AC54BD407B22B4154AACC8F6D7EBF48E1D814CC5ED20F8037E0A79715EEF29BE32806A1D58BB7C5DA76F550AA3D8A1FBFF0EB19CCB1A313D55CDA56C9EC2EF29632387FE8D76E3C0468043E8F663F4860EE12BF2D5B0B7474D6E694F91E6DCC4024FFFFFFFFFFFFFFFF", 16)), new cryKeyDHgroup("group18", 18, new BigInteger("2", 16), new BigInteger("FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A92108011A723C12A787E6D788719A10BDBA5B2699C327186AF4E23C1A946834B6150BDA2583E9CA2AD44CE8DBBBC2DB04DE8EF92E8EFC141FBECAA6287C59474E6BC05D99B2964FA090C3A2233BA186515BE7ED1F612970CEE2D7AFB81BDD762170481CD0069127D5B05AA993B4EA988D8FDDC186FFB7DC90A6C08F4DF435C93402849236C3FAB4D27C7026C1D4DCB2602646DEC9751E763DBA37BDF8FF9406AD9E530EE5DB382F413001AEB06A53ED9027D831179727B0865A8918DA3EDBEBCF9B14ED44CE6CBACED4BB1BDB7F1447E6CC254B332051512BD7AF426FB8F401378CD2BF5983CA01C64B92ECF032EA15D1721D03F482D7CE6E74FEF6D55E702F46980C82B5A84031900B1C9E59E7C97FBEC7E8F323A97A7E36CC88BE0F1D45B7FF585AC54BD407B22B4154AACC8F6D7EBF48E1D814CC5ED20F8037E0A79715EEF29BE32806A1D58BB7C5DA76F550AA3D8A1FBFF0EB19CCB1A313D55CDA56C9EC2EF29632387FE8D76E3C0468043E8F663F4860EE12BF2D5B0B7474D6E694F91E6DBE115974A3926F12FEE5E438777CB6A932DF8CD8BEC4D073B931BA3BC832B68D9DD300741FA7BF8AFC47ED2576F6936BA424663AAB639C5AE4F5683423B4742BF1C978238F16CBE39D652DE3FDB8BEFC848AD922222E04A4037C0713EB57A81A23F0C73473FC646CEA306B4BCBC8862F8385DDFA9D4B7FA2C087E879683303ED5BDD3A062B3CF5B3A278A66D2A13F83F44F82DDF310EE074AB6A364597E899A0255DC164F31CC50846851DF9AB48195DED7EA1B1D510BD7EE74D73FAF36BC31ECFA268359046F4EB879F924009438B481C6CD7889A002ED5EE382BC9190DA6FC026E479558E4475677E9AA9E3050E2765694DFC81F56E880B96E7160C980DD98EDD3DFFFFFFFFFFFFFFFFF", 16)), new cryKeyDHgroup("group22", 22, new BigInteger("A4D1CBD5C3FD34126765A442EFB99905F8104DD258AC507FD6406CFF14266D31266FEA1E5C41564B777E690F5504F213160217B4B01B886A5E91547F9E2749F4D7FBD7D3B9A92EE1909D0D2263F80A76A6A24C087A091F531DBF0A0169B6A28AD662A4D18E73AFA32D779D5918D08BC8858F4DCEF97C2A24855E6EEB22B3B2E5", 16), new BigInteger("B10B8F96A080E01DDE92DE5EAE5D54EC52C99FBCFB06A3C69A6A9DCA52D23B616073E28675A23D189838EF1E2EE652C013ECB4AEA906112324975C3CD49B83BFACCBDD7D90C4BD7098488E9C219A73724EFFD6FAE5644738FAA31A4FF55BCCC0A151AF5F0DC8B4BD45BF37DF365C1A65E68CFDA76D4DA708DF1FB2BC2E4A4371", 16)), new cryKeyDHgroup("group23", 23, new BigInteger("AC4032EF4F2D9AE39DF30B5C8FFDAC506CDEBE7B89998CAF74866A08CFE4FFE3A6824A4E10B9A6F0DD921F01A70C4AFAAB739D7700C29F52C57DB17C620A8652BE5E9001A8D66AD7C17669101999024AF4D027275AC1348BB8A762D0521BC98AE247150422EA1ED409939D54DA7460CDB5F6C6B250717CBEF180EB34118E98D119529A45D6F834566E3025E316A330EFBB77A86F0C1AB15B051AE3D428C8F8ACB70A8137150B8EEB10E183EDD19963DDD9E263E4770589EF6AA21E7F5F2FF381B539CCE3409D13CD566AFBB48D6C019181E1BCFE94B30269EDFE72FE9B6AA4BD7B5A0F1C71CFFF4C19C418E1F6EC017981BC087F2A7065B384B890D3191F2BFA", 16), new BigInteger("AD107E1E9123A9D0D660FAA79559C51FA20D64E5683B9FD1B54B1597B61D0A75E6FA141DF95A56DBAF9A3C407BA1DF15EB3D688A309C180E1DE6B85A1274A0A66D3F8152AD6AC2129037C9EDEFDA4DF8D91E8FEF55B7394B7AD5B7D0B6C12207C9F98D11ED34DBF6C6BA0B2C8BBC27BE6A00E0A0B9C49708B3BF8A317091883681286130BC8985DB1602E714415D9330278273C7DE31EFDC7310F7121FD5A07415987D9ADC0A486DCDF93ACC44328387315D75E198C641A480CD86A1B9E587E8BE60E69CC928B2B9C52172E413042E9B23F10B0E16E79763C9B53DCF4BA80A29E3FB73C16B8E75B97EF363E2FFA31F71CF9DE5384E71B81C0AC4DFFE0C10E64F", 16)), new cryKeyDHgroup("group24", 24, new BigInteger("3FB32C9B73134D0B2E77506660EDBD484CA7B18F21EF205407F4793A1A0BA12510DBC15077BE463FFF4FED4AAC0BB555BE3A6C1B0C6B47B1BC3773BF7E8C6F62901228F8C28CBB18A55AE31341000A650196F931C77A57F2DDF463E5E9EC144B777DE62AAAB8A8628AC376D282D6ED3864E67982428EBC831D14348F6F2F9193B5045AF2767164E1DFC967C1FB3F2E55A4BD1BFFE83B9C80D052B985D182EA0ADB2A3B7313D3FE14C8484B1E052588B9B7D2BBD2DF016199ECD06E1557CD0915B3353BBB64E0EC377FD028370DF92B52C7891428CDC67EB6184B523D1DB246C32F63078490F00EF8D647D148D47954515E2327CFEF98C582664B4C0F6CC41659", 16), new BigInteger("87A8E61DB4B6663CFFBBD19C651959998CEEF608660DD0F25D2CEED4435E3B00E00DF8F1D61957D4FAF7DF4561B2AA3016C3D91134096FAA3BF4296D830E9A7C209E0C6497517ABD5A8A9D306BCF67ED91F9E6725B4758C022E0B1EF4275BF7B6C5BFC11D45F9088B941F54EB1E59BB8BC39A0BF12307F5C4FDB70C581B23F76B63ACAE1CAA6B7902D52526735488A0EF13C6D9A51BFA4AB3AD8347796524D8EF6A167B5A41825D967E144E5140564251CCACB83E6B486F6B3CA3F7971506026C0B857F689962856DED4010ABD0BE621C3A3960A54E710C375F26375D7014103A4B54330C198AF126116D2276E11715F693877FAD7EF09CADB094AE91E1A1597", 16)),}; /** * get by size * * @param len length in bits * @return curve */ public static cryKeyDHgroup getBySize(int len) { int p = -1; int o = len; for (int i = groups.length - 1; i >= 0; i--) { int q = groups[i].mod.bitLength() - len; if (q < 0) { q = -q; } if (q >= o) { continue; } o = q; p = i; } if (p < 0) { return null; } else { return groups[p]; } } /** * get by ike * * @param id id to find * @return curve */ public static cryKeyDHgroup getByIke(int id) { for (int i = groups.length - 1; i >= 0; i--) { if (id == groups[i].ike) { return groups[i]; } } return null; } /** * get by name * * @param nam name * @return curve */ public static cryKeyDHgroup getByName(String nam) { for (int i = 0; i < groups.length; i++) { if (groups[i].nam.equals(nam)) { return groups[i]; } } return null; } } freeRtr-25.11.9/src/org/freertr/cry/cryKeyDSA.java000066400000000000000000000361111510423065500215720ustar00rootroot00000000000000package org.freertr.cry; import org.freertr.enc.encAsn1; import java.math.BigInteger; import org.freertr.pack.packHolder; import org.freertr.pack.packSsh; /** * digital signature algorithm * * @author matecsaba */ public class cryKeyDSA extends cryKeyGeneric { /** * create instance */ public cryKeyDSA() { } /** * ssh name */ public final static String sshName = "ssh-dss"; /** * p prime */ protected BigInteger prime; /** * q subprime */ protected BigInteger subprime; /** * g group */ protected BigInteger group; /** * y public key */ protected BigInteger pub; /** * x private key */ protected BigInteger priv; /** * signature r */ protected BigInteger sgnR; /** * signature s */ protected BigInteger sgnS; private final static int hashBits = 160; private final static int hashBytes = hashBits / 8; /** * convert to string * * @return string */ public String toString() { return "prime=" + prime + " subprime=" + subprime + " group=" + group + " pubkey=" + pub + " privkey=" + priv; } /** * get name * * @return name */ public String algName() { return "dsa"; } /** * get ssh name * * @return name */ public String sshName() { return sshName; } /** * get ssh hash * * @return hasher */ public cryHashGeneric sshHash() { return new cryHashSha1(); } /** * read certificate * * @param pck packet * @return false on success, true on error */ public boolean certReader(packHolder pck) { encAsn1 a = new encAsn1(); if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } pck = a.getPack(); if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } packHolder p = a.getPack(); if (a.tagRead(p)) { return true; } if (cryCertificate.objid2int(a) != cryCertificate.typDssEncrypt) { return true; } if (a.tagRead(p)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } p = a.getPack(); prime = encAsn1.readBigInt(p); subprime = encAsn1.readBigInt(p); group = encAsn1.readBigInt(p); if (a.tagRead(pck)) { return true; } if ((a.cnst) || (a.tag != encAsn1.tagBitString)) { return true; } p = a.getPack(); p.getSkip(1); pub = encAsn1.readBigInt(p); return false; } /** * write certificate * * @param pck packet */ public void certWriter(packHolder pck) { packHolder p1 = new packHolder(true, true); packHolder p2 = new packHolder(true, true); packHolder p3 = new packHolder(true, true); encAsn1.writeBigInt(p1, prime); encAsn1.writeBigInt(p1, subprime); encAsn1.writeBigInt(p1, group); encAsn1.writeObjectId(p2, cryCertificate.oidDssEncrypt); encAsn1.writeSequence(p2, p1); encAsn1.writeSequence(p3, p2); p1 = new packHolder(true, true); encAsn1.writeBigInt(p1, pub); p1.putByte(0, 0); p1.putSkip(1); p1.merge2beg(); encAsn1.writeBitString(p3, p1); encAsn1.writeSequence(pck, p3); } /** * read private key * * @param pck packet * @return false on success, true on error */ public boolean privReader(packHolder pck) { encAsn1 a = new encAsn1(); if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } pck = a.getPack(); BigInteger ver = encAsn1.readBigInt(pck); if (ver == null) { return true; } prime = encAsn1.readBigInt(pck); if (prime == null) { return true; } subprime = encAsn1.readBigInt(pck); if (subprime == null) { return true; } group = encAsn1.readBigInt(pck); if (group == null) { return true; } pub = encAsn1.readBigInt(pck); if (pub == null) { return true; } priv = encAsn1.readBigInt(pck); if (priv == null) { return true; } if (pck.dataSize() != 0) { return true; } return false; } /** * write private key * * @param pck packet */ public void privWriter(packHolder pck) { packHolder p = new packHolder(true, true); encAsn1.writeBigInt(p, BigInteger.ZERO); encAsn1.writeBigInt(p, prime); encAsn1.writeBigInt(p, subprime); encAsn1.writeBigInt(p, group); encAsn1.writeBigInt(p, pub); encAsn1.writeBigInt(p, priv); encAsn1.writeSequence(pck, p); } public boolean keyMakeName(String nam) { return false; } public boolean keyMakeTls(int id) { return false; } public boolean keyMakeIke(int id) { return false; } public int keyMakeVal() { return -1; } /** * make key * * @param len length */ public boolean keyMakeSize(int len) { priv = cryUtils.randomBigInt(hashBits); subprime = cryUtils.randomPrime(hashBits); for (;;) { BigInteger i = cryUtils.randomBigInt(len - hashBits); prime = subprime.multiply(i).add(BigInteger.ONE); if (cryUtils.testPrime(prime)) { break; } } BigInteger o = prime.subtract(BigInteger.ONE).divide(subprime); for (;;) { BigInteger i = cryUtils.randomBigInt(prime.bitLength() - 1); group = i.modPow(o, prime); if (group.compareTo(BigInteger.ONE) > 0) { break; } } pub = group.modPow(priv, prime); return false; } /** * verify key * * @return false on success, true on error */ public boolean keyVerify() { if (!cryUtils.testPrime(subprime)) { return true; } if (!cryUtils.testPrime(prime)) { return true; } if (prime.mod(subprime).compareTo(BigInteger.ONE) != 0) { return true; } if (group.compareTo(BigInteger.ONE) < 1) { return true; } if (pub.compareTo(group.modPow(priv, prime)) != 0) { return true; } return false; } /** * get key size * * @return size */ public int keySize() { return prime.bitLength(); } public String keyDump() { return null; } /** * client exchange */ public void keyClntInit() { } /** * server exchange */ public void keyServInit() { } /** * client common secret computation */ public void keyClntCalc() { } /** * server common secret computation */ public void keyServCalc() { } public byte[] keyCommonTls() { return null; } public byte[] keyCommonSsh() { return null; } public byte[] keyCommonIke() { return null; } public byte[] keyClntTls() { return null; } public byte[] keyServTls() { return null; } public boolean keyClntTls(byte[] buf, int ofs) { return false; } public boolean keyServTls(byte[] buf, int ofs) { return false; } public byte[] keyClntSsh() { return null; } public byte[] keyServSsh() { return null; } public boolean keyClntSsh(byte[] buf, int ofs) { return false; } public boolean keyServSsh(byte[] buf, int ofs) { return false; } public byte[] keyClntIke() { return null; } public byte[] keyServIke() { return null; } public boolean keyClntIke(byte[] buf, int ofs) { return false; } public boolean keyServIke(byte[] buf, int ofs) { return false; } public byte[][] keyParamTls() { return null; } public byte[][] keyParamSsh() { return null; } public boolean keyParamTls(byte[][] buf) { return false; } public boolean keyParamSsh(byte[][] buf) { return false; } /** * convert signature to ssh * * @return byte array of r|s */ public byte[] sign2ssh() { byte[] b1 = cryUtils.bigInt2buffer(sgnR, hashBytes); byte[] b2 = cryUtils.bigInt2buffer(sgnS, hashBytes); byte[] b3 = new byte[hashBytes + hashBytes]; for (int i = 0; i < hashBytes; i++) { b3[i] = b1[i]; b3[hashBytes + i] = b2[i]; } return b3; } /** * convert ssh to signature * * @param sgn r|s byte array * @return false on success, true on error */ public boolean ssh2sign(byte[] sgn) { if (sgn.length != hashBytes + hashBytes) { return true; } sgnR = cryUtils.buffer2bigInt(sgn, 0, hashBytes); sgnS = cryUtils.buffer2bigInt(sgn, hashBytes, hashBytes); return false; } /** * do signature * * @param msg cleartext */ public void doSigning(byte[] msg) { BigInteger m = cryUtils.buffer2bigInt(msg, 0, msg.length); BigInteger k = cryUtils.randomBigInt(hashBits).mod(subprime); sgnR = group.modPow(k, prime).mod(subprime); k = k.modInverse(subprime); sgnS = priv.multiply(sgnR).add(m).multiply(k).mod(subprime); } /** * do verification * * @param msg cleartext * @return false on success, true on error */ public boolean doVerify(byte[] msg) { BigInteger m = cryUtils.buffer2bigInt(msg, 0, msg.length); BigInteger w = sgnS.modInverse(subprime); BigInteger u1 = m.multiply(w).mod(subprime); BigInteger u2 = sgnR.multiply(w).mod(subprime); u1 = group.modPow(u1, prime); u2 = pub.modPow(u2, prime); BigInteger v = u1.multiply(u2).mod(prime).mod(subprime); return v.compareTo(sgnR) != 0; } /** * read ssh key * * @param key key * @return false on success, true on error */ public boolean sshReader(byte[] key) { packHolder p = new packHolder(true, true); p.putCopy(key, 0, 0, key.length); p.putSkip(key.length); p.merge2beg(); if (!packSsh.stringRead(p).equals(sshName)) { return true; } prime = packSsh.bigIntRead(p); subprime = packSsh.bigIntRead(p); group = packSsh.bigIntRead(p); pub = packSsh.bigIntRead(p); return false; } /** * write ssh key * * @return key */ public byte[] sshWriter() { packHolder p = new packHolder(true, true); packSsh.stringWrite(p, sshName); packSsh.bigIntWrite(p, prime); packSsh.bigIntWrite(p, subprime); packSsh.bigIntWrite(p, group); packSsh.bigIntWrite(p, pub); p.merge2beg(); return p.getCopy(); } /** * verify ssh key * * @param hash hashed * @param sign signed * @return false on success, true on error */ public boolean sshVerify(cryHashGeneric algo, String algn, byte[] hash, byte[] sign) { hash = cryHashGeneric.compute(algo, hash); packHolder p = new packHolder(true, true); p.putCopy(sign, 0, 0, sign.length); p.putSkip(sign.length); p.merge2beg(); if (!packSsh.stringRead(p).equals(algn)) { return true; } sign = packSsh.bytesRead(p); ssh2sign(sign); return doVerify(hash); } /** * sign for ssh * * @param hash hashed * @return signed */ public byte[] sshSigning(cryHashGeneric algo, String algn, byte[] hash) { hash = cryHashGeneric.compute(algo, hash); doSigning(hash); hash = sign2ssh(); packHolder p = new packHolder(true, true); packSsh.stringWrite(p, algn); packSsh.bytesWrite(p, hash); p.merge2beg(); return p.getCopy(); } /** * verify ceriticate * * @param hash hash * @param sign signature * @return false on success, true on error */ public boolean certVerify(cryHashGeneric pkcs, byte[] hash, byte[] sign) { hash = cryHashGeneric.compute(pkcs, hash); packHolder p = new packHolder(true, true); p.putCopy(sign, 0, 0, sign.length); p.putSkip(sign.length); p.merge2beg(); p.getSkip(1); encAsn1 a = new encAsn1(); if (a.tagRead(p)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } p = a.getPack(); sgnR = encAsn1.readBigInt(p); sgnS = encAsn1.readBigInt(p); return doVerify(hash); } /** * sign for certificate * * @param hash hash * @return signed */ public byte[] certSigning(cryHashGeneric pkcs, byte[] hash) { hash = cryHashGeneric.compute(pkcs, hash); doSigning(hash); packHolder p1 = new packHolder(true, true); packHolder p2 = new packHolder(true, true); encAsn1.writeBigInt(p1, sgnR); encAsn1.writeBigInt(p1, sgnS); encAsn1.writeSequence(p2, p1); p2.putByte(0, 0); p2.putSkip(1); p2.merge2beg(); return p2.getCopy(); } /** * tls verification * * @param ver version * @param hash hash * @param sign signature * @return false on success, true on error */ public boolean tlsVerify(int ver, cryHashGeneric pkcs, byte[] hash, byte[] sign) { hash = cryHashGeneric.compute(pkcs, hash); packHolder p = new packHolder(true, true); p.putCopy(sign, 0, 0, sign.length); p.putSkip(sign.length); p.merge2beg(); encAsn1 a = new encAsn1(); if (a.tagRead(p)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } p = a.getPack(); sgnR = encAsn1.readBigInt(p); sgnS = encAsn1.readBigInt(p); return doVerify(hash); } /** * sign for tls * * @param ver version * @param hash hash * @return signature */ public byte[] tlsSigning(int ver, cryHashGeneric pkcs, byte[] hash) { hash = cryHashGeneric.compute(pkcs, hash); doSigning(hash); packHolder p1 = new packHolder(true, true); packHolder p2 = new packHolder(true, true); encAsn1.writeBigInt(p1, sgnR); encAsn1.writeBigInt(p1, sgnS); encAsn1.writeSequence(p2, p1); p2.merge2beg(); return p2.getCopy(); } } freeRtr-25.11.9/src/org/freertr/cry/cryKeyECDH.java000066400000000000000000000142461510423065500216730ustar00rootroot00000000000000package org.freertr.cry; import org.freertr.enc.encAsn1; import java.math.BigInteger; import org.freertr.pack.packHolder; /** * elliptic curve diffie-hellman key exchange * * @author matecsaba */ public class cryKeyECDH extends cryKeyGeneric { /** * create instance */ public cryKeyECDH() { } /** * common value */ protected cryKeyECpoint common; /** * curve */ protected cryKeyECcurve curve; /** * client private value */ protected BigInteger clntPriv; /** * client public value */ protected cryKeyECpoint clntPub; /** * server private value */ protected BigInteger servPriv; /** * server public value */ protected cryKeyECpoint servPub; public String algName() { return "ecdh"; } public String sshName() { return "ecdh-sha2-" + curve.sshName(); } public cryHashGeneric sshHash() { int i = curve.byteSize(); if (i <= 32) { return new cryHashSha2256(); } if (i <= 48) { return new cryHashSha2384(); } return new cryHashSha2512(); } public boolean certReader(packHolder pck) { return true; } public void certWriter(packHolder pck) { } public boolean privReader(packHolder pck) { encAsn1 a = new encAsn1(); if (a.tagRead(pck)) { return true; } if ((a.cnst) || (a.tag != encAsn1.tagObjectID)) { return true; } curve = cryKeyECcurve.getByOid(a.buf); if (curve == null) { return true; } return false; } public void privWriter(packHolder pck) { pck.clear(); encAsn1.writeObjectId(pck, curve.oid); } public boolean sshReader(byte[] key) { return true; } public byte[] sshWriter() { return null; } public boolean sshVerify(cryHashGeneric algo, String algn, byte[] hash, byte[] sign) { return true; } public byte[] sshSigning(cryHashGeneric algo, String algn, byte[] hash) { return null; } public boolean certVerify(cryHashGeneric pkcs, byte[] hash, byte[] sign) { return true; } public byte[] certSigning(cryHashGeneric pkcs, byte[] hash) { return null; } public boolean tlsVerify(int ver, cryHashGeneric pkcs, byte[] hash, byte[] sign) { return true; } public byte[] tlsSigning(int ver, cryHashGeneric pkcs, byte[] hash) { return null; } public boolean keyMakeSize(int len) { curve = cryKeyECcurve.getBySize(len); return false; } public boolean keyMakeName(String nam) { curve = cryKeyECcurve.getByName(nam); return false; } public boolean keyMakeTls(int id) { curve = cryKeyECcurve.getByTls(id); return false; } public boolean keyMakeIke(int id) { return false; } public int keyMakeVal() { if (curve == null) { return -1; } return curve.tls; } public boolean keyVerify() { return !curve.g.check(); } public int keySize() { return curve.p.bitLength(); } public String keyDump() { return "crv=" + curve.nam + " cln=" + clntPub + " srv=" + servPub + " res=" + common; } public void keyClntInit() { clntPriv = cryUtils.randomBigInt(curve.p.bitLength() - 2); clntPub = curve.g.mul(clntPriv); } public void keyServInit() { servPriv = cryUtils.randomBigInt(curve.p.bitLength() - 2); servPub = curve.g.mul(servPriv); } public void keyClntCalc() { common = servPub.mul(clntPriv); } public void keyServCalc() { common = clntPub.mul(servPriv); } public byte[] keyCommonTls() { if (common == null) { return null; } int siz = curve.byteSize(); return cryUtils.bigInt2buffer(common.x, siz); } public byte[] keyCommonSsh() { if (common == null) { return null; } return common.x.toByteArray(); } public byte[] keyCommonIke() { return keyCommonTls(); } public byte[] keyClntTls() { if (clntPub == null) { return null; } return clntPub.toBytesTls(); } public byte[] keyServTls() { if (servPub == null) { return null; } return servPub.toBytesTls(); } public boolean keyClntTls(byte[] buf, int ofs) { clntPub = cryKeyECpoint.fromBytesTls(curve, buf, ofs); if (clntPub == null) { return true; } return false; } public boolean keyServTls(byte[] buf, int ofs) { servPub = cryKeyECpoint.fromBytesTls(curve, buf, ofs); if (servPub == null) { return true; } return false; } public byte[] keyClntSsh() { return keyClntTls(); } public byte[] keyServSsh() { return keyServTls(); } public boolean keyClntSsh(byte[] buf, int ofs) { return keyClntTls(buf, ofs); } public boolean keyServSsh(byte[] buf, int ofs) { return keyServTls(buf, ofs); } public byte[] keyClntIke() { if (clntPub == null) { return null; } return clntPub.toBytesIke(); } public byte[] keyServIke() { if (servPub == null) { return null; } return servPub.toBytesIke(); } public boolean keyClntIke(byte[] buf, int ofs) { clntPub = cryKeyECpoint.fromBytesIke(curve, buf, ofs); if (clntPub == null) { return true; } return false; } public boolean keyServIke(byte[] buf, int ofs) { servPub = cryKeyECpoint.fromBytesIke(curve, buf, ofs); if (servPub == null) { return true; } return false; } public byte[][] keyParamTls() { return null; } public byte[][] keyParamSsh() { return null; } public boolean keyParamTls(byte[][] buf) { return false; } public boolean keyParamSsh(byte[][] buf) { return false; } } freeRtr-25.11.9/src/org/freertr/cry/cryKeyECDSA.java000066400000000000000000000346501510423065500220100ustar00rootroot00000000000000package org.freertr.cry; import org.freertr.enc.encAsn1; import java.math.BigInteger; import org.freertr.pack.packHolder; import org.freertr.pack.packSsh; /** * elliptic curve digital signature algorithm * * @author matecsaba */ public class cryKeyECDSA extends cryKeyGeneric { /** * create instance */ public cryKeyECDSA() { } /** * curve */ protected cryKeyECcurve curve; /** * y public key */ protected cryKeyECpoint pub; /** * x private key */ protected BigInteger priv; /** * signature r */ protected BigInteger sgnR; /** * signature s */ protected BigInteger sgnS; /** * get ssh name * * @return name */ public String sshName() { return "ecdsa-sha2-" + curve.sshName(); } public cryHashGeneric sshHash() { int i = curve.byteSize(); if (i <= 32) { return new cryHashSha2256(); } if (i <= 48) { return new cryHashSha2384(); } return new cryHashSha2512(); } /** * get name * * @return name */ public String algName() { return "ecdsa"; } /** * read private key * * @param pck packet * @return false on success, true on error */ public boolean privReader(packHolder pck) { encAsn1 a = new encAsn1(); if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } pck = a.getPack(); BigInteger ver = encAsn1.readBigInt(pck); if (ver == null) { return true; } if (a.tagRead(pck)) { return true; } if ((a.cnst) || (a.tag != encAsn1.tagOctetString)) { return true; } priv = new BigInteger(a.getPack().getCopy()); if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagEoc)) { return true; } packHolder p = a.getPack(); if (a.tagRead(p)) { return true; } if ((a.cnst) || (a.tag != encAsn1.tagObjectID)) { return true; } curve = cryKeyECcurve.getByOid(a.buf); if (curve == null) { return true; } if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagBoolean)) { return true; } p = a.getPack(); if (a.tagRead(p)) { return true; } if ((a.cnst) || (a.tag != encAsn1.tagBitString)) { return true; } pub = cryKeyECpoint.fromBytesCert(curve, a.buf, 0); if (pub == null) { return true; } return false; } /** * write private key * * @param pck packet */ public void privWriter(packHolder pck) { packHolder p1 = new packHolder(true, true); encAsn1.writeBigInt(p1, BigInteger.ONE); packHolder p2 = new packHolder(true, true); byte[] buf = priv.toByteArray(); p2.putCopy(buf, 0, 0, buf.length); p2.putSkip(buf.length); p2.merge2beg(); encAsn1.writeOctString(p1, p2); p2.clear(); encAsn1.writeObjectId(p2, curve.oid); encAsn1.writeEoc(p1, p2); p2.clear(); packHolder p3 = new packHolder(true, true); buf = pub.toBytesCert(); p3.putCopy(buf, 0, 0, buf.length); p3.putSkip(buf.length); p3.merge2beg(); encAsn1.writeBitString(p2, p3); encAsn1.writeBool(p1, p2); encAsn1.writeSequence(pck, p1); } /** * read certificate * * @param pck packet * @return false on success, true on error */ public boolean certReader(packHolder pck) { encAsn1 a = new encAsn1(); if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } pck = a.getPack(); if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } packHolder p = a.getPack(); if (a.tagRead(p)) { return true; } if (cryCertificate.objid2int(a) != cryCertificate.typEcDssEncrypt) { return true; } if (a.tagRead(p)) { return true; } if ((a.cnst) || (a.tag != encAsn1.tagObjectID)) { return true; } curve = cryKeyECcurve.getByOid(a.buf); if (curve == null) { return true; } if (a.tagRead(pck)) { return true; } if ((a.cnst) || (a.tag != encAsn1.tagBitString)) { return true; } pub = cryKeyECpoint.fromBytesCert(curve, a.buf, 0); if (pub == null) { return true; } return false; } /** * write certificate * * @param pck packet */ public void certWriter(packHolder pck) { packHolder p1 = new packHolder(true, true); packHolder p2 = new packHolder(true, true); encAsn1.writeObjectId(p2, cryCertificate.oidEcDssEncrypt); encAsn1.writeObjectId(p2, curve.oid); encAsn1.writeSequence(p1, p2); p2.clear(); byte[] buf = pub.toBytesCert(); p2.putByte(0, 0); p2.putCopy(buf, 0, 0, buf.length); p2.putSkip(buf.length); p2.merge2beg(); encAsn1.writeBitString(p1, p2); encAsn1.writeSequence(pck, p1); } public boolean keyMakeName(String nam) { curve = cryKeyECcurve.getByName(nam); return keyMake(); } public boolean keyMakeTls(int id) { curve = cryKeyECcurve.getByTls(id); return false; } public boolean keyMakeIke(int id) { return false; } public int keyMakeVal() { if (curve == null) { return -1; } return curve.sgn; } private boolean keyMake() { priv = cryUtils.randomBigInt(curve.n.bitLength() - 2); pub = curve.g.mul(priv); return false; } /** * make key * * @param len length */ public boolean keyMakeSize(int len) { curve = cryKeyECcurve.getBySize(len); return keyMake(); } /** * verify key * * @return false on success, true on error */ public boolean keyVerify() { return !curve.g.check(); } /** * get key size * * @return size */ public int keySize() { return curve.p.bitLength(); } public String keyDump() { return null; } /** * client exchange */ public void keyClntInit() { } /** * server exchange */ public void keyServInit() { } /** * client common secret computation */ public void keyClntCalc() { } /** * server common secret computation */ public void keyServCalc() { } public byte[] keyCommonTls() { return null; } public byte[] keyCommonSsh() { return null; } public byte[] keyCommonIke() { return null; } public byte[] keyClntTls() { return null; } public byte[] keyServTls() { return null; } public boolean keyClntTls(byte[] buf, int ofs) { return false; } public boolean keyServTls(byte[] buf, int ofs) { return false; } public byte[] keyClntSsh() { return null; } public byte[] keyServSsh() { return null; } public boolean keyClntSsh(byte[] buf, int ofs) { return false; } public boolean keyServSsh(byte[] buf, int ofs) { return false; } public byte[] keyClntIke() { return null; } public byte[] keyServIke() { return null; } public boolean keyClntIke(byte[] buf, int ofs) { return false; } public boolean keyServIke(byte[] buf, int ofs) { return false; } public byte[][] keyParamTls() { return null; } public byte[][] keyParamSsh() { return null; } public boolean keyParamTls(byte[][] buf) { return false; } public boolean keyParamSsh(byte[][] buf) { return false; } /** * read ssh key * * @param key key * @return false on success, true on error */ public boolean sshReader(byte[] key) { packHolder p = new packHolder(true, true); p.putCopy(key, 0, 0, key.length); p.putSkip(key.length); p.merge2beg(); if (!packSsh.stringRead(p).equals(sshName())) { return true; } if (!packSsh.stringRead(p).equals(curve.sshName())) { return true; } pub = cryKeyECpoint.fromBytesTls(curve, packSsh.bytesRead(p), 0); if (pub == null) { return true; } return false; } /** * write ssh key * * @return key */ public byte[] sshWriter() { packHolder p = new packHolder(true, true); packSsh.stringWrite(p, sshName()); packSsh.stringWrite(p, curve.sshName()); packSsh.bytesWrite(p, pub.toBytesTls()); p.merge2beg(); return p.getCopy(); } private BigInteger calcZ(BigInteger n, byte[] msg) { BigInteger z = cryUtils.buffer2bigInt(msg, 0, msg.length); int nl = n.bitLength(); int zl = z.bitLength(); if (nl < zl) { z = z.shiftRight(zl - nl); } return z; } /** * do signature * * @param msg cleartext */ public void doSigning(byte[] msg) { BigInteger z = calcZ(curve.n, msg); BigInteger k = cryUtils.randomBigInt(curve.n.bitLength() - 2); cryKeyECpoint Q = curve.g.mul(k); sgnR = Q.x.mod(curve.n); sgnS = k.modInverse(curve.n).multiply(z.add(sgnR.multiply(priv))); } /** * do verification * * @param msg cleartext * @return false on success, true on error */ public boolean doVerify(byte[] msg) { BigInteger z = calcZ(curve.n, msg); BigInteger w = sgnS.modInverse(curve.n); BigInteger u1 = z.multiply(w).mod(curve.n); BigInteger u2 = sgnR.multiply(w).mod(curve.n); cryKeyECpoint Q = curve.g.mul(u1).add(pub.mul(u2)); return sgnR.compareTo(Q.x.mod(curve.n)) != 0; } /** * verify ssh signature * * @param hash hash * @param sign signature * @return false on success, true on error */ public boolean sshVerify(cryHashGeneric algo, String algn, byte[] hash, byte[] sign) { hash = cryHashGeneric.compute(algo, hash); packHolder p = new packHolder(true, true); p.putCopy(sign, 0, 0, sign.length); p.putSkip(sign.length); p.merge2beg(); if (!packSsh.stringRead(p).equals(algn)) { return true; } sign = packSsh.bytesRead(p); p.clear(); p.putCopy(sign, 0, 0, sign.length); p.putSkip(sign.length); p.merge2beg(); sgnR = packSsh.bigIntRead(p); sgnS = packSsh.bigIntRead(p); return doVerify(hash); } /** * sign for ssh * * @param hash hash * @return signature */ public byte[] sshSigning(cryHashGeneric algo, String algn, byte[] hash) { hash = cryHashGeneric.compute(algo, hash); doSigning(hash); packHolder p = new packHolder(true, true); packSsh.bigIntWrite(p, sgnR); packSsh.bigIntWrite(p, sgnS); p.merge2beg(); hash = p.getCopy(); p.clear(); packSsh.stringWrite(p, algn); packSsh.bytesWrite(p, hash); p.merge2beg(); return p.getCopy(); } /** * verify certificate * * @param hash hash * @param sign signature * @return false on success, true on error */ public boolean certVerify(cryHashGeneric pkcs, byte[] hash, byte[] sign) { hash = cryHashGeneric.compute(pkcs, hash); packHolder p = new packHolder(true, true); p.putCopy(sign, 0, 0, sign.length); p.putSkip(sign.length); p.merge2beg(); p.getSkip(1); encAsn1 a = new encAsn1(); if (a.tagRead(p)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } p = a.getPack(); sgnR = encAsn1.readBigInt(p); sgnS = encAsn1.readBigInt(p); return doVerify(hash); } /** * sign certificate * * @param hash hash * @return signature */ public byte[] certSigning(cryHashGeneric pkcs, byte[] hash) { hash = cryHashGeneric.compute(pkcs, hash); doSigning(hash); packHolder p1 = new packHolder(true, true); packHolder p2 = new packHolder(true, true); encAsn1.writeBigInt(p1, sgnR); encAsn1.writeBigInt(p1, sgnS); encAsn1.writeSequence(p2, p1); p2.putByte(0, 0); p2.putSkip(1); p2.merge2beg(); return p2.getCopy(); } /** * verify tls * * @param ver version * @param hash hash * @param sign signature * @return false on success, true on error */ public boolean tlsVerify(int ver, cryHashGeneric pkcs, byte[] hash, byte[] sign) { hash = cryHashGeneric.compute(pkcs, hash); packHolder p = new packHolder(true, true); p.putCopy(sign, 0, 0, sign.length); p.putSkip(sign.length); p.merge2beg(); encAsn1 a = new encAsn1(); if (a.tagRead(p)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } p = a.getPack(); sgnR = encAsn1.readBigInt(p); sgnS = encAsn1.readBigInt(p); return doVerify(hash); } /** * sign for tls * * @param ver version * @param hash hash * @return signature */ public byte[] tlsSigning(int ver, cryHashGeneric pkcs, byte[] hash) { hash = cryHashGeneric.compute(pkcs, hash); doSigning(hash); packHolder p1 = new packHolder(true, true); packHolder p2 = new packHolder(true, true); encAsn1.writeBigInt(p1, sgnR); encAsn1.writeBigInt(p1, sgnS); encAsn1.writeSequence(p2, p1); p2.merge2beg(); return p2.getCopy(); } } freeRtr-25.11.9/src/org/freertr/cry/cryKeyECcurve.java000066400000000000000000001431641510423065500225260ustar00rootroot00000000000000package org.freertr.cry; import java.math.BigInteger; /** * one elliptic curve in form y^2=x^3+ax+b * * @author matecsaba */ public class cryKeyECcurve { /** * name */ public final String nam; /** * oid */ public final int[] oid; /** * tls */ public final int tls; /** * sgn */ public final int sgn; /** * prime */ public final BigInteger p; /** * a */ public final BigInteger a; /** * b */ public final BigInteger b; /** * generator */ public final cryKeyECpoint g; /** * order */ public final BigInteger n; /** * create one curve * * @param mna name * @param mo oid * @param mt tls id * @param ms sgn id * @param mp prime * @param ma a * @param mb b * @param mx gx * @param my gy * @param mn order */ public cryKeyECcurve(String mna, int[] mo, int mt, int ms, BigInteger mp, BigInteger ma, BigInteger mb, BigInteger mx, BigInteger my, BigInteger mn) { nam = mna; oid = mo; tls = mt; sgn = ms; p = mp; a = ma; b = mb; n = mn; g = new cryKeyECpoint(this, mx, my); } public String toString() { return nam; } /** * max byte size * * @return size */ public int byteSize() { return (p.bitLength() + 7) / 8; } /** * ssh name * * @return name */ public String sshName() { return nam.substring(0, nam.length() - 2); } /** * curves */ public final static cryKeyECcurve[] curves = { new cryKeyECcurve("nistp112r1", new int[]{0x2b, 0x81, 0x04, 0x00, 6}, -1, -1, new BigInteger("DB7C2ABF62E35E668076BEAD208B", 16), new BigInteger("DB7C2ABF62E35E668076BEAD2088", 16), new BigInteger("659EF8BA043916EEDE8911702B22", 16), new BigInteger("09487239995A5EE76B55F9C2F098", 16), new BigInteger("A89CE5AF8724C0A23E0E0FF77500", 16), new BigInteger("DB7C2ABF62E35E7628DFAC6561C5", 16)), new cryKeyECcurve("nistp112r2", new int[]{0x2b, 0x81, 0x04, 0x00, 7}, -1, -1, new BigInteger("DB7C2ABF62E35E668076BEAD208B", 16), new BigInteger("6127C24C05F38A0AAAF65C0EF02C", 16), new BigInteger("51DEF1815DB5ED74FCC34C85D709", 16), new BigInteger("4BA30AB5E892B4E1649DD0928643", 16), new BigInteger("ADCD46F5882E3747DEF36E956E97", 16), new BigInteger("36DF0AAFD8B8D7597CA10520D04B", 16)), new cryKeyECcurve("sect113r1", new int[]{1, 3, 132, 0, 4}, -1, -1, new BigInteger("020000000000000000000000000201", 16), new BigInteger("003088250CA6E7C7FE649CE85820F7", 16), new BigInteger("00E8BEE4D3E2260744188BE0E9C723", 16), new BigInteger("009D73616F35F4AB1407D73562C10F", 16), new BigInteger("00A52830277958EE84D1315ED31886", 16), new BigInteger("0100000000000000D9CCEC8A39E56F", 16)), new cryKeyECcurve("sect113r2", new int[]{1, 3, 132, 0, 5}, -1, -1, new BigInteger("020000000000000000000000000201", 16), new BigInteger("00689918DBEC7E5A0DD6DFC0AA55C7", 16), new BigInteger("0095E9A9EC9B297BD4BF36E059184F", 16), new BigInteger("01A57A6A7B26CA5EF52FCDB8164797", 16), new BigInteger("00B3ADC94ED1FE674C06E695BABA1D", 16), new BigInteger("010000000000000108789B2496AF93", 16)), new cryKeyECcurve("wtls8", new int[]{2, 23, 43, 1, 4, 8}, -1, -1, new BigInteger("00FFFFFFFFFFFFFFFFFFFFFFFFFDE7", 16), new BigInteger("000000000000000000000000000000", 16), new BigInteger("000000000000000000000000000003", 16), new BigInteger("000000000000000000000000000001", 16), new BigInteger("000000000000000000000000000002", 16), new BigInteger("0100000000000001ECEA551AD837E9", 16)), new cryKeyECcurve("nistp128r1", new int[]{0x2b, 0x81, 0x04, 0x00, 28}, -1, -1, new BigInteger("FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF", 16), new BigInteger("FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFC", 16), new BigInteger("E87579C11079F43DD824993C2CEE5ED3", 16), new BigInteger("161FF7528B899B2D0C28607CA52C5B86", 16), new BigInteger("CF5AC8395BAFEB13C02DA292DDED7A83", 16), new BigInteger("FFFFFFFE0000000075A30D1B9038A115", 16)), new cryKeyECcurve("nistp128r2", new int[]{0x2b, 0x81, 0x04, 0x00, 29}, -1, -1, new BigInteger("FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF", 16), new BigInteger("D6031998D1B3BBFEBF59CC9BBFF9AEE1", 16), new BigInteger("5EEEFCA380D02919DC2C6558BB6D8A5D", 16), new BigInteger("7B6AA5D85E572983E6FB32A7CDEBC140", 16), new BigInteger("27B6916A894D3AEE7106FE805FC34B44", 16), new BigInteger("3FFFFFFF7FFFFFFFBE0024720613B5A3", 16)), new cryKeyECcurve("sect131r1", new int[]{1, 3, 132, 0, 22}, -1, -1, new BigInteger("080000000000000000000000000000010D", 16), new BigInteger("07A11B09A76B562144418FF3FF8C2570B8", 16), new BigInteger("0217C05610884B63B9C6C7291678F9D341", 16), new BigInteger("0081BAF91FDF9833C40F9C181343638399", 16), new BigInteger("078C6E7EA38C001F73C8134B1B4EF9E150", 16), new BigInteger("0400000000000000023123953A9464B54D", 16)), new cryKeyECcurve("sect131r2", new int[]{1, 3, 132, 0, 23}, -1, -1, new BigInteger("080000000000000000000000000000010D", 16), new BigInteger("03E5A88919D7CAFCBF415F07C2176573B2", 16), new BigInteger("04B8266A46C55657AC734CE38F018F2192", 16), new BigInteger("0356DCD8F2F95031AD652D23951BB366A8", 16), new BigInteger("0648F06D867940A5366D9E265DE9EB240F", 16), new BigInteger("0400000000000000016954A233049BA98F", 16)), new cryKeyECcurve("nistp160k1", new int[]{0x2b, 0x81, 0x04, 0x00, 9}, 15, -1, new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73", 16), new BigInteger("0000000000000000000000000000000000000000", 16), new BigInteger("0000000000000000000000000000000000000007", 16), new BigInteger("3B4C382CE37AA192A4019E763036F4F5DD4D7EBB", 16), new BigInteger("938CF935318FDCED6BC28286531733C3F03C4FEE", 16), new BigInteger("0100000000000000000001B8FA16DFAB9ACA16B6B3", 16)), new cryKeyECcurve("nistp160r1", new int[]{0x2b, 0x81, 0x04, 0x00, 8}, 16, -1, new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF", 16), new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFC", 16), new BigInteger("1C97BEFC54BD7A8B65ACF89F81D4D4ADC565FA45", 16), new BigInteger("4A96B5688EF573284664698968C38BB913CBFC82", 16), new BigInteger("23A628553168947D59DCC912042351377AC5FB32", 16), new BigInteger("0100000000000000000001F4C8F927AED3CA752257", 16)), new cryKeyECcurve("nistp160r2", new int[]{0x2b, 0x81, 0x04, 0x00, 30}, 17, -1, new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73", 16), new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC70", 16), new BigInteger("B4E134D3FB59EB8BAB57274904664D5AF50388BA", 16), new BigInteger("52DCB034293A117E1F4FF11B30F7199D3144CE6D", 16), new BigInteger("FEAFFEF2E331F296E071FA0DF9982CFEA7D43F2E", 16), new BigInteger("0100000000000000000000351EE786A818F3A1A16B", 16)), new cryKeyECcurve("wtls9", new int[]{2, 23, 43, 1, 4, 9}, -1, -1, new BigInteger("00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC808F", 16), new BigInteger("000000000000000000000000000000000000000000", 16), new BigInteger("000000000000000000000000000000000000000003", 16), new BigInteger("000000000000000000000000000000000000000001", 16), new BigInteger("000000000000000000000000000000000000000002", 16), new BigInteger("0100000000000000000001CDC98AE0E2DE574ABF33", 16)), new cryKeyECcurve("brainpool160r1", new int[]{1, 3, 36, 3, 3, 2, 8, 1, 1, 1}, -1, -1, new BigInteger("E95E4A5F737059DC60DFC7AD95B3D8139515620F", 16), new BigInteger("340E7BE2A280EB74E2BE61BADA745D97E8F7C300", 16), new BigInteger("1E589A8595423412134FAA2DBDEC95C8D8675E58", 16), new BigInteger("BED5AF16EA3F6A4F62938C4631EB5AF7BDBCDBC3", 16), new BigInteger("1667CB477A1A8EC338F94741669C976316DA6321", 16), new BigInteger("E95E4A5F737059DC60DF5991D45029409E60FC09", 16)), new cryKeyECcurve("brainpool160t1", new int[]{1, 3, 36, 3, 3, 2, 8, 1, 1, 2}, -1, -1, new BigInteger("E95E4A5F737059DC60DFC7AD95B3D8139515620F", 16), new BigInteger("E95E4A5F737059DC60DFC7AD95B3D8139515620C", 16), new BigInteger("7A556B6DAE535B7B51ED2C4D7DAA7A0B5C55F380", 16), new BigInteger("B199B13B9B34EFC1397E64BAEB05ACC265FF2378", 16), new BigInteger("ADD6718B7C7C1961F0991B842443772152C9E0AD", 16), new BigInteger("E95E4A5F737059DC60DF5991D45029409E60FC09", 16)), new cryKeyECcurve("c2pnb163v1", new int[]{1, 2, 840, 10045, 3, 0, 1}, -1, -1, new BigInteger("080000000000000000000000000000000000000107", 16), new BigInteger("072546B5435234A422E0789675F432C89435DE5242", 16), new BigInteger("00C9517D06D5240D3CFF38C74B20B6CD4D6F9DD4D9", 16), new BigInteger("07AF69989546103D79329FCC3D74880F33BBE803CB", 16), new BigInteger("01EC23211B5966ADEA1D3F87F7EA5848AEF0B7CA9F", 16), new BigInteger("0400000000000000000001E60FC8821CC74DAEAFC1", 16)), new cryKeyECcurve("c2pnb163v2", new int[]{1, 2, 840, 10045, 3, 0, 2}, -1, -1, new BigInteger("080000000000000000000000000000000000000107", 16), new BigInteger("0108B39E77C4B108BED981ED0E890E117C511CF072", 16), new BigInteger("0667ACEB38AF4E488C407433FFAE4F1C811638DF20", 16), new BigInteger("0024266E4EB5106D0A964D92C4860E2671DB9B6CC5", 16), new BigInteger("079F684DDF6684C5CD258B3890021B2386DFD19FC5", 16), new BigInteger("03FFFFFFFFFFFFFFFFFFFDF64DE1151ADBB78F10A7", 16)), new cryKeyECcurve("c2pnb163v3", new int[]{1, 2, 840, 10045, 3, 0, 3}, -1, -1, new BigInteger("080000000000000000000000000000000000000107", 16), new BigInteger("07A526C63D3E25A256A007699F5447E32AE456B50E", 16), new BigInteger("03F7061798EB99E238FD6F1BF95B48FEEB4854252B", 16), new BigInteger("02F9F87B7C574D0BDECF8A22E6524775F98CDEBDCB", 16), new BigInteger("05B935590C155E17EA48EB3FF3718B893DF59A05D0", 16), new BigInteger("03FFFFFFFFFFFFFFFFFFFE1AEE140F110AFF961309", 16)), new cryKeyECcurve("nistp163k1", new int[]{1, 3, 132, 0, 1}, 1, -1, new BigInteger("0800000000000000000000000000000000000000C9", 16), new BigInteger("000000000000000000000000000000000000000001", 16), new BigInteger("000000000000000000000000000000000000000001", 16), new BigInteger("02FE13C0537BBC11ACAA07D793DE4E6D5E5C94EEE8", 16), new BigInteger("0289070FB05D38FF58321F2E800536D538CCDAA3D9", 16), new BigInteger("04000000000000000000020108A2E0CC0D99F8A5EF", 16)), new cryKeyECcurve("nistp163r1", new int[]{1, 3, 132, 0, 2}, 2, -1, new BigInteger("0800000000000000000000000000000000000000C9", 16), new BigInteger("07B6882CAAEFA84F9554FF8428BD88E246D2782AE2", 16), new BigInteger("0713612DCDDCB40AAB946BDA29CA91F73AF958AFD9", 16), new BigInteger("0369979697AB43897789566789567F787A7876A654", 16), new BigInteger("00435EDB42EFAFB2989D51FEFCE3C80988F41FF883", 16), new BigInteger("03FFFFFFFFFFFFFFFFFFFF48AAB689C29CA710279B", 16)), new cryKeyECcurve("nistp163r2", new int[]{1, 3, 132, 0, 15}, 3, -1, new BigInteger("0800000000000000000000000000000000000000C9", 16), new BigInteger("000000000000000000000000000000000000000001", 16), new BigInteger("020A601907B8C953CA1481EB10512F78744A3205FD", 16), new BigInteger("03F0EBA16286A2D57EA0991168D4994637E8343E36", 16), new BigInteger("00D51FBC6C71A0094FA2CDD545B11C5C0C797324F1", 16), new BigInteger("040000000000000000000292FE77E70C12A4234C33", 16)), new cryKeyECcurve("c2pnb176w1", new int[]{1, 2, 840, 10045, 3, 0, 4}, -1, -1, new BigInteger("0100000000000000000000000000000000080000000007", 16), new BigInteger("E4E6DB2995065C407D9D39B8D0967B96704BA8E9C90B", 16), new BigInteger("5DDA470ABE6414DE8EC133AE28E9BBD7FCEC0AE0FFF2", 16), new BigInteger("8D16C2866798B600F9F08BB4A8E860F3298CE04A5798", 16), new BigInteger("6FA4539C2DADDDD6BAB5167D61B436E1D92BB16A562C", 16), new BigInteger("00010092537397ECA4F6145799D62B0A19CE06FE26AD", 16)), new cryKeyECcurve("c2tnb191v1", new int[]{1, 2, 840, 10045, 3, 0, 5}, -1, -1, new BigInteger("800000000000000000000000000000000000000000000201", 16), new BigInteger("2866537B676752636A68F56554E12640276B649EF7526267", 16), new BigInteger("2E45EF571F00786F67B0081B9495A3D95462F5DE0AA185EC", 16), new BigInteger("36B3DAF8A23206F9C4F299D7B21A9C369137F2C84AE1AA0D", 16), new BigInteger("765BE73433B3F95E332932E70EA245CA2418EA0EF98018FB", 16), new BigInteger("40000000000000000000000004A20E90C39067C893BBB9A5", 16)), new cryKeyECcurve("c2tnb191v2", new int[]{1, 2, 840, 10045, 3, 0, 6}, -1, -1, new BigInteger("800000000000000000000000000000000000000000000201", 16), new BigInteger("401028774D7777C7B7666D1366EA432071274F89FF01E718", 16), new BigInteger("0620048D28BCBD03B6249C99182B7C8CD19700C362C46A01", 16), new BigInteger("3809B2B7CC1B28CC5A87926AAD83FD28789E81E2C9E3BF10", 16), new BigInteger("17434386626D14F3DBF01760D9213A3E1CF37AEC437D668A", 16), new BigInteger("20000000000000000000000050508CB89F652824E06B8173", 16)), new cryKeyECcurve("c2tnb191v3", new int[]{1, 2, 840, 10045, 3, 0, 7}, -1, -1, new BigInteger("800000000000000000000000000000000000000000000201", 16), new BigInteger("6C01074756099122221056911C77D77E77A777E7E7E77FCB", 16), new BigInteger("71FE1AF926CF847989EFEF8DB459F66394D90F32AD3F15E8", 16), new BigInteger("375D4CE24FDE434489DE8746E71786015009E66E38A926DD", 16), new BigInteger("545A39176196575D985999366E6AD34CE0A77CD7127B06BE", 16), new BigInteger("155555555555555555555555610C0B196812BFB6288A3EA3", 16)), new cryKeyECcurve("nistp192k1", new int[]{0x2b, 0x81, 0x04, 0x00, 31}, 18, -1, new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFEE37", 16), new BigInteger("000000000000000000000000000000000000000000000000", 16), new BigInteger("000000000000000000000000000000000000000000000003", 16), new BigInteger("DB4FF10EC057E9AE26B07D0280B7F4341DA5D1B1EAE06C7D", 16), new BigInteger("9B2F2F6D9C5628A7844163D015BE86344082AA88D95E2F9D", 16), new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFE26F2FC170F69466A74DEFD8D", 16)), new cryKeyECcurve("nistp192r1", new int[]{1, 2, 840, 10045, 1, 1, 1}, 19, 0x0203, new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF", 16), new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC", 16), new BigInteger("64210519E59C80E70FA7E9AB72243049FEB8DEECC146B9B1", 16), new BigInteger("188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF1012", 16), new BigInteger("07192B95FFC8DA78631011ED6B24CDD573F977A11E794811", 16), new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831", 16)), new cryKeyECcurve("prime192v2", new int[]{1, 2, 840, 10045, 3, 1, 2}, -1, -1, new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF", 16), new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC", 16), new BigInteger("CC22D6DFB95C6B25E49C0D6364A4E5980C393AA21668D953", 16), new BigInteger("EEA2BAE7E1497842F2DE7769CFE9C989C072AD696F48034A", 16), new BigInteger("6574d11d69b6ec7a672bb82a083df2f2b0847de970b2de15", 16), new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFE5FB1A724DC80418648D8DD31", 16)), new cryKeyECcurve("prime192v3", new int[]{1, 2, 840, 10045, 3, 1, 3}, -1, -1, new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF", 16), new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC", 16), new BigInteger("22123DC2395A05CAA7423DAECCC94760A7D462256BD56916", 16), new BigInteger("7D29778100C65A1DA1783716588DCE2B8B4AEE8E228F1896", 16), new BigInteger("38a90f22637337334b49dcb66a6dc8f9978aca7648a943b0", 16), new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFF7A62D031C83F4294F640EC13", 16)), new cryKeyECcurve("brainpool192r1", new int[]{1, 3, 36, 3, 3, 2, 8, 1, 1, 3}, -1, -1, new BigInteger("C302F41D932A36CDA7A3463093D18DB78FCE476DE1A86297", 16), new BigInteger("6A91174076B1E0E19C39C031FE8685C1CAE040E5C69A28EF", 16), new BigInteger("469A28EF7C28CCA3DC721D044F4496BCCA7EF4146FBF25C9", 16), new BigInteger("C0A0647EAAB6A48753B033C56CB0F0900A2F5C4853375FD6", 16), new BigInteger("14B690866ABD5BB88B5F4828C1490002E6773FA2FA299B8F", 16), new BigInteger("C302F41D932A36CDA7A3462F9E9E916B5BE8F1029AC4ACC1", 16)), new cryKeyECcurve("brainpool192t1", new int[]{1, 3, 36, 3, 3, 2, 8, 1, 1, 4}, -1, -1, new BigInteger("C302F41D932A36CDA7A3463093D18DB78FCE476DE1A86297", 16), new BigInteger("C302F41D932A36CDA7A3463093D18DB78FCE476DE1A86294", 16), new BigInteger("13D56FFAEC78681E68F9DEB43B35BEC2FB68542E27897B79", 16), new BigInteger("3AE9E58C82F63C30282E1FE7BBF43FA72C446AF6F4618129", 16), new BigInteger("097E2C5667C2223A902AB5CA449D0084B7E5B3DE7CCC01C9", 16), new BigInteger("C302F41D932A36CDA7A3462F9E9E916B5BE8F1029AC4ACC1", 16)), new cryKeyECcurve("sect193r1", new int[]{1, 3, 132, 0, 24}, -1, -1, new BigInteger("02000000000000000000000000000000000000000000008001", 16), new BigInteger("0017858FEB7A98975169E171F77B4087DE098AC8A911DF7B01", 16), new BigInteger("00FDFB49BFE6C3A89FACADAA7A1E5BBC7CC1C2E5D831478814", 16), new BigInteger("01F481BC5F0FF84A74AD6CDF6FDEF4BF6179625372D8C0C5E1", 16), new BigInteger("0025E399F2903712CCF3EA9E3A1AD17FB0B3201B6AF7CE1B05", 16), new BigInteger("01000000000000000000000000C7F34A778F443ACC920EBA49", 16)), new cryKeyECcurve("sect193r2", new int[]{1, 3, 132, 0, 25}, -1, -1, new BigInteger("02000000000000000000000000000000000000000000008001", 16), new BigInteger("0163F35A5137C2CE3EA6ED8667190B0BC43ECD69977702709B", 16), new BigInteger("00C9BB9E8927D4D64C377E2AB2856A5B16E3EFB7F61D4316AE", 16), new BigInteger("00D9B67D192E0367C803F39E1A7E82CA14A651350AAE617E8F", 16), new BigInteger("01CE94335607C304AC29E7DEFBD9CA01F596F927224CDECF6C", 16), new BigInteger("010000000000000000000000015AAB561B005413CCD4EE99D5", 16)), new cryKeyECcurve("c2pnb208w1", new int[]{1, 2, 840, 10045, 3, 0, 10}, -1, -1, new BigInteger("010000000000000000000000000000000800000000000000000007", 16), new BigInteger("0000000000000000000000000000000000000000000000000000", 16), new BigInteger("C8619ED45A62E6212E1160349E2BFA844439FAFC2A3FD1638F9E", 16), new BigInteger("89FDFBE4ABE193DF9559ECF07AC0CE78554E2784EB8C1ED1A57A", 16), new BigInteger("0F55B51A06E78E9AC38A035FF520D8B01781BEB1A6BB08617DE3", 16), new BigInteger("000101BAF95C9723C57B6C21DA2EFF2D5ED588BDD5717E212F9D", 16)), new cryKeyECcurve("nistp224k1", new int[]{0x2b, 0x81, 0x04, 0x00, 31}, 20, -1, new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFE56D", 16), new BigInteger("00000000000000000000000000000000000000000000000000000000", 16), new BigInteger("00000000000000000000000000000000000000000000000000000005", 16), new BigInteger("A1455B334DF099DF30FC28A169A467E9E47075A90F7E650EB6B7A45C", 16), new BigInteger("7E089FED7FBA344282CAFBD6F7E319F7C0B0BD59E2CA4BDB556D61A5", 16), new BigInteger("010000000000000000000000000001DCE8D2EC6184CAF0A971769FB1F7", 16)), new cryKeyECcurve("nistp224r1", new int[]{0x2b, 0x81, 0x04, 0x00, 33}, 21, -1, new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001", 16), new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE", 16), new BigInteger("B4050A850C04B3ABF54132565044B0B7D7BFD8BA270B39432355FFB4", 16), new BigInteger("B70E0CBD6BB4BF7F321390B94A03C1D356C21122343280D6115C1D21", 16), new BigInteger("BD376388B5F723FB4C22DFE6CD4375A05A07476444D5819985007E34", 16), new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D", 16)), new cryKeyECcurve("wtls12", new int[]{2, 23, 43, 1, 4, 12}, -1, -1, new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001", 16), new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE", 16), new BigInteger("B4050A850C04B3ABF54132565044B0B7D7BFD8BA270B39432355FFB4", 16), new BigInteger("B70E0CBD6BB4BF7F321390B94A03C1D356C21122343280D6115C1D21", 16), new BigInteger("bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34", 16), new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D", 16)), new cryKeyECcurve("brainpool224r1", new int[]{1, 3, 36, 3, 3, 2, 8, 1, 1, 5}, -1, -1, new BigInteger("D7C134AA264366862A18302575D1D787B09F075797DA89F57EC8C0FF", 16), new BigInteger("68A5E62CA9CE6C1C299803A6C1530B514E182AD8B0042A59CAD29F43", 16), new BigInteger("2580F63CCFE44138870713B1A92369E33E2135D266DBB372386C400B", 16), new BigInteger("0D9029AD2C7E5CF4340823B2A87DC68C9E4CE3174C1E6EFDEE12C07D", 16), new BigInteger("58AA56F772C0726F24C6B89E4ECDAC24354B9E99CAA3F6D3761402CD", 16), new BigInteger("D7C134AA264366862A18302575D0FB98D116BC4B6DDEBCA3A5A7939F", 16)), new cryKeyECcurve("brainpool224t1", new int[]{1, 3, 36, 3, 3, 2, 8, 1, 1, 6}, -1, -1, new BigInteger("D7C134AA264366862A18302575D1D787B09F075797DA89F57EC8C0FF", 16), new BigInteger("D7C134AA264366862A18302575D1D787B09F075797DA89F57EC8C0FC", 16), new BigInteger("4B337D934104CD7BEF271BF60CED1ED20DA14C08B3BB64F18A60888D", 16), new BigInteger("6AB1E344CE25FF3896424E7FFE14762ECB49F8928AC0C76029B4D580", 16), new BigInteger("0374E9F5143E568CD23F3F4D7C0D4B1E41C8CC0D1C6ABD5F1A46DB4C", 16), new BigInteger("D7C134AA264366862A18302575D0FB98D116BC4B6DDEBCA3A5A7939F", 16)), new cryKeyECcurve("nistp233k1", new int[]{1, 3, 132, 0, 26}, 6, -1, new BigInteger("020000000000000000000000000000000000000004000000000000000001", 16), new BigInteger("000000000000000000000000000000000000000000000000000000000000", 16), new BigInteger("000000000000000000000000000000000000000000000000000000000001", 16), new BigInteger("017232BA853A7E731AF129F22FF4149563A419C26BF50A4C9D6EEFAD6126", 16), new BigInteger("01DB537DECE819B7F70F555A67C427A8CD9BF18AEB9B56E0C11056FAE6A3", 16), new BigInteger("008000000000000000000000000000069D5BB915BCD46EFB1AD5F173ABDF", 16)), new cryKeyECcurve("nistp233r1", new int[]{1, 3, 132, 0, 27}, 7, -1, new BigInteger("020000000000000000000000000000000000000004000000000000000001", 16), new BigInteger("000000000000000000000000000000000000000000000000000000000001", 16), new BigInteger("0066647EDE6C332C7F8C0923BB58213B333B20E9CE4281FE115F7D8F90AD", 16), new BigInteger("00FAC9DFCBAC8313BB2139F1BB755FEF65BC391F8B36F8F8EB7371FD558B", 16), new BigInteger("01006A08A41903350678E58528BEBF8A0BEFF867A7CA36716F7E01F81052", 16), new BigInteger("01000000000000000000000000000013E974E72F8A6922031D2603CFE0D7", 16)), new cryKeyECcurve("c2tnb239v1", new int[]{1, 2, 840, 10045, 3, 0, 11}, -1, -1, new BigInteger("800000000000000000000000000000000000000000000000001000000001", 16), new BigInteger("32010857077C5431123A46B808906756F543423E8D27877578125778AC76", 16), new BigInteger("790408F2EEDAF392B012EDEFB3392F30F4327C0CA3F31FC383C422AA8C16", 16), new BigInteger("57927098FA932E7C0A96D3FD5B706EF7E5F5C156E16B7E7C86038552E91D", 16), new BigInteger("61D8EE5077C33FECF6F1A16B268DE469C3C7744EA9A971649FC7A9616305", 16), new BigInteger("2000000000000000000000000000000F4D42FFE1492A4993F1CAD666E447", 16)), new cryKeyECcurve("c2tnb239v2", new int[]{1, 2, 840, 10045, 3, 0, 12}, -1, -1, new BigInteger("800000000000000000000000000000000000000000000000001000000001", 16), new BigInteger("4230017757A767FAE42398569B746325D45313AF0766266479B75654E65F", 16), new BigInteger("5037EA654196CFF0CD82B2C14A2FCF2E3FF8775285B545722F03EACDB74B", 16), new BigInteger("28F9D04E900069C8DC47A08534FE76D2B900B7D7EF31F5709F200C4CA205", 16), new BigInteger("5667334C45AFF3B5A03BAD9DD75E2C71A99362567D5453F7FA6E227EC833", 16), new BigInteger("1555555555555555555555555555553C6F2885259C31E3FCDF154624522D", 16)), new cryKeyECcurve("c2tnb239v3", new int[]{1, 2, 840, 10045, 3, 0, 13}, -1, -1, new BigInteger("800000000000000000000000000000000000000000000000001000000001", 16), new BigInteger("01238774666A67766D6676F778E676B66999176666E687666D8766C66A9F", 16), new BigInteger("6A941977BA9F6A435199ACFC51067ED587F519C5ECB541B8E44111DE1D40", 16), new BigInteger("70F6E9D04D289C4E89913CE3530BFDE903977D42B146D539BF1BDE4E9C92", 16), new BigInteger("2E5A0EAF6E5E1305B9004DCE5C0ED7FE59A35608F33837C816D80B79F461", 16), new BigInteger("0CCCCCCCCCCCCCCCCCCCCCCCCCCCCCAC4912D2D9DF903EF9888B8A0E4CFF", 16)), new cryKeyECcurve("sect239k1", new int[]{1, 3, 132, 0, 3}, -1, -1, new BigInteger("800000000000000000004000000000000000000000000000000000000001", 16), new BigInteger("000000000000000000000000000000000000000000000000000000000000", 16), new BigInteger("000000000000000000000000000000000000000000000000000000000001", 16), new BigInteger("29A0B6A887A983E9730988A68727A8B2D126C44CC2CC7B2A6555193035DC", 16), new BigInteger("76310804F12E549BDB011C103089E73510ACB275FC312A5DC6B76553F0CA", 16), new BigInteger("2000000000000000000000000000005A79FEC67CB6E91F1C1DA800E478A5", 16)), new cryKeyECcurve("prime239v1", new int[]{1, 2, 840, 10045, 3, 1, 4}, -1, -1, new BigInteger("7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFF", 16), new BigInteger("7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFC", 16), new BigInteger("6B016C3BDCF18941D0D654921475CA71A9DB2FB27D1D37796185C2942C0A", 16), new BigInteger("0FFA963CDCA8816CCC33B8642BEDF905C3D358573D3F27FBBD3B3CB9AAAF", 16), new BigInteger("7debe8e4e90a5dae6e4054ca530ba04654b36818ce226b39fccb7b02f1ae", 16), new BigInteger("7FFFFFFFFFFFFFFFFFFFFFFF7FFFFF9E5E9A9F5D9071FBD1522688909D0B", 16)), new cryKeyECcurve("prime239v2", new int[]{1, 2, 840, 10045, 3, 1, 5}, -1, -1, new BigInteger("7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFF", 16), new BigInteger("7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFC", 16), new BigInteger("617FAB6832576CBBFED50D99F0249C3FEE58B94BA0038C7AE84C8C832F2C", 16), new BigInteger("38AF09D98727705120C921BB5E9E26296A3CDCF2F35757A0EAFD87B830E7", 16), new BigInteger("5b0125e4dbea0ec7206da0fc01d9b081329fb555de6ef460237dff8be4ba", 16), new BigInteger("7FFFFFFFFFFFFFFFFFFFFFFF800000CFA7E8594377D414C03821BC582063", 16)), new cryKeyECcurve("prime239v3", new int[]{1, 2, 840, 10045, 3, 1, 6}, -1, -1, new BigInteger("7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFF", 16), new BigInteger("7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFC", 16), new BigInteger("255705FA2A306654B1F4CB03D6A750A30C250102D4988717D9BA15AB6D3E", 16), new BigInteger("6768AE8E18BB92CFCF005C949AA2C6D94853D0E660BBF854B1C9505FE95A", 16), new BigInteger("1607e6898f390c06bc1d552bad226f3b6fcfe48b6e818499af18e3ed6cf3", 16), new BigInteger("7FFFFFFFFFFFFFFFFFFFFFFF7FFFFF975DEB41B3A6057C3C432146526551", 16)), new cryKeyECcurve("nistp256k1", new int[]{0x2b, 0x81, 0x04, 0x00, 10}, 22, -1, new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F", 16), new BigInteger("0000000000000000000000000000000000000000000000000000000000000000", 16), new BigInteger("0000000000000000000000000000000000000000000000000000000000000007", 16), new BigInteger("79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798", 16), new BigInteger("483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8", 16), new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141", 16)), new cryKeyECcurve("nistp256r1", new int[]{1, 2, 840, 10045, 1, 1, 7}, 23, 0x0403, new BigInteger("FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF", 16), new BigInteger("FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC", 16), new BigInteger("5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B", 16), new BigInteger("6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296", 16), new BigInteger("4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5", 16), new BigInteger("FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551", 16)), new cryKeyECcurve("prime256v1", new int[]{1, 2, 840, 10045, 3, 1, 7}, -1, -1, new BigInteger("FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF", 16), new BigInteger("FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC", 16), new BigInteger("5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B", 16), new BigInteger("6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296", 16), new BigInteger("4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5", 16), new BigInteger("FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551", 16)), new cryKeyECcurve("brainpool256r1", new int[]{1, 3, 36, 3, 3, 2, 8, 1, 1, 7}, 26, 0x081A, new BigInteger("A9FB57DBA1EEA9BC3E660A909D838D726E3BF623D52620282013481D1F6E5377", 16), new BigInteger("7D5A0975FC2C3057EEF67530417AFFE7FB8055C126DC5C6CE94A4B44F330B5D9", 16), new BigInteger("26DC5C6CE94A4B44F330B5D9BBD77CBF958416295CF7E1CE6BCCDC18FF8C07B6", 16), new BigInteger("8BD2AEB9CB7E57CB2C4B482FFC81B7AFB9DE27E1E3BD23C23A4453BD9ACE3262", 16), new BigInteger("547EF835C3DAC4FD97F8461A14611DC9C27745132DED8E545C1D54C72F046997", 16), new BigInteger("A9FB57DBA1EEA9BC3E660A909D838D718C397AA3B561A6F7901E0E82974856A7", 16)), new cryKeyECcurve("brainpool256t1", new int[]{1, 3, 36, 3, 3, 2, 8, 1, 1, 8}, 31, -1, new BigInteger("A9FB57DBA1EEA9BC3E660A909D838D726E3BF623D52620282013481D1F6E5377", 16), new BigInteger("A9FB57DBA1EEA9BC3E660A909D838D726E3BF623D52620282013481D1F6E5374", 16), new BigInteger("662C61C430D84EA4FE66A7733D0B76B7BF93EBC4AF2F49256AE58101FEE92B04", 16), new BigInteger("A3E8EB3CC1CFE7B7732213B23A656149AFA142C47AAFBC2B79A191562E1305F4", 16), new BigInteger("2D996C823439C56D7F7B22E14644417E69BCB6DE39D027001DABE8F35B25C9BE", 16), new BigInteger("A9FB57DBA1EEA9BC3E660A909D838D718C397AA3B561A6F7901E0E82974856A7", 16)), new cryKeyECcurve("c2pnb272w1", new int[]{1, 2, 840, 10045, 3, 0, 16}, -1, -1, new BigInteger("010000000000000000000000000000000000000000000000000000010000000000000B", 16), new BigInteger("91A091F03B5FBA4AB2CCF49C4EDD220FB028712D42BE752B2C40094DBACDB586FB20", 16), new BigInteger("7167EFC92BB2E3CE7C8AAAFF34E12A9C557003D7C73A6FAF003F99F6CC8482E540F7", 16), new BigInteger("6108BABB2CEEBCF787058A056CBE0CFE622D7723A289E08A07AE13EF0D10D171DD8D", 16), new BigInteger("10C7695716851EEF6BA7F6872E6142FBD241B830FF5EFCACECCAB05E02005DDE9D23", 16), new BigInteger("000100FAF51354E0E39E4892DF6E319C72C8161603FA45AA7B998A167B8F1E629521", 16)), new cryKeyECcurve("nistp283k1", new int[]{1, 3, 132, 0, 16}, 9, -1, new BigInteger("0800000000000000000000000000000000000000000000000000000000000000000010A1", 16), new BigInteger("000000000000000000000000000000000000000000000000000000000000000000000000", 16), new BigInteger("000000000000000000000000000000000000000000000000000000000000000000000001", 16), new BigInteger("0503213F78CA44883F1A3B8162F188E553CD265F23C1567A16876913B0C2AC2458492836", 16), new BigInteger("01CCDA380F1C9E318D90F95D07E5426FE87E45C0E8184698E45962364E34116177DD2259", 16), new BigInteger("01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9AE2ED07577265DFF7F94451E061E163C61", 16)), new cryKeyECcurve("nistp283r1", new int[]{1, 3, 132, 0, 17}, 10, -1, new BigInteger("0800000000000000000000000000000000000000000000000000000000000000000010A1", 16), new BigInteger("000000000000000000000000000000000000000000000000000000000000000000000001", 16), new BigInteger("027B680AC8B8596DA5A4AF8A19A0303FCA97FD7645309FA2A581485AF6263E313B79A2F5", 16), new BigInteger("05F939258DB7DD90E1934F8C70B0DFEC2EED25B8557EAC9C80E2E198F8CDBECD86B12053", 16), new BigInteger("03676854FE24141CB98FE6D4B20D02B4516FF702350EDDB0826779C813F0DF45BE8112F4", 16), new BigInteger("03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF90399660FC938A90165B042A7CEFADB307", 16)), new cryKeyECcurve("c2pnb304w1", new int[]{1, 2, 840, 10045, 3, 0, 17}, -1, -1, new BigInteger("010000000000000000000000000000000000000000000000000000000000000000000000000807", 16), new BigInteger("FD0D693149A118F651E6DCE6802085377E5F882D1B510B44160074C1288078365A0396C8E681", 16), new BigInteger("BDDB97E555A50A908E43B01C798EA5DAA6788F1EA2794EFCF57166B8C14039601E55827340BE", 16), new BigInteger("197B07845E9BE2D96ADB0F5F3C7F2CFFBD7A3EB8B6FEC35C7FD67F26DDF6285A644F740A2614", 16), new BigInteger("E19FBEB76E0DA171517ECF401B50289BF014103288527A9B416A105E80260B549FDC1B92C03B", 16), new BigInteger("000101D556572AABAC800101D556572AABAC8001022D5C91DD173F8FB561DA6899164443051D", 16)), new cryKeyECcurve("brainpool320r1", new int[]{1, 3, 36, 3, 3, 2, 8, 1, 1, 9}, -1, -1, new BigInteger("D35E472036BC4FB7E13C785ED201E065F98FCFA6F6F40DEF4F92B9EC7893EC28FCD412B1F1B32E27", 16), new BigInteger("3EE30B568FBAB0F883CCEBD46D3F3BB8A2A73513F5EB79DA66190EB085FFA9F492F375A97D860EB4", 16), new BigInteger("520883949DFDBC42D3AD198640688A6FE13F41349554B49ACC31DCCD884539816F5EB4AC8FB1F1A6", 16), new BigInteger("43BD7E9AFB53D8B85289BCC48EE5BFE6F20137D10A087EB6E7871E2A10A599C710AF8D0D39E20611", 16), new BigInteger("14FDD05545EC1CC8AB4093247F77275E0743FFED117182EAA9C77877AAAC6AC7D35245D1692E8EE1", 16), new BigInteger("D35E472036BC4FB7E13C785ED201E065F98FCFA5B68F12A32D482EC7EE8658E98691555B44C59311", 16)), new cryKeyECcurve("brainpool320t1", new int[]{1, 3, 36, 3, 3, 2, 8, 1, 1, 10}, -1, -1, new BigInteger("D35E472036BC4FB7E13C785ED201E065F98FCFA6F6F40DEF4F92B9EC7893EC28FCD412B1F1B32E27", 16), new BigInteger("D35E472036BC4FB7E13C785ED201E065F98FCFA6F6F40DEF4F92B9EC7893EC28FCD412B1F1B32E24", 16), new BigInteger("A7F561E038EB1ED560B3D147DB782013064C19F27ED27C6780AAF77FB8A547CEB5B4FEF422340353", 16), new BigInteger("925BE9FB01AFC6FB4D3E7D4990010F813408AB106C4F09CB7EE07868CC136FFF3357F624A21BED52", 16), new BigInteger("63BA3A7A27483EBF6671DBEF7ABB30EBEE084E58A0B077AD42A5A0989D1EE71B1B9BC0455FB0D2C3", 16), new BigInteger("D35E472036BC4FB7E13C785ED201E065F98FCFA5B68F12A32D482EC7EE8658E98691555B44C59311", 16)), new cryKeyECcurve("c2tnb359v1", new int[]{1, 2, 840, 10045, 3, 0, 18}, -1, -1, new BigInteger("800000000000000000000000000000000000000000000000000000000000000000000000100000000000000001", 16), new BigInteger("5667676A654B20754F356EA92017D946567C46675556F19556A04616B567D223A5E05656FB549016A96656A557", 16), new BigInteger("2472E2D0197C49363F1FE7F5B6DB075D52B6947D135D8CA445805D39BC345626089687742B6329E70680231988", 16), new BigInteger("3C258EF3047767E7EDE0F1FDAA79DAEE3841366A132E163ACED4ED2401DF9C6BDCDE98E8E707C07A2239B1B097", 16), new BigInteger("53D7E08529547048121E9C95F3791DD804963948F34FAE7BF44EA82365DC7868FE57E4AE2DE211305A407104BD", 16), new BigInteger("01AF286BCA1AF286BCA1AF286BCA1AF286BCA1AF286BC9FB8F6B85C556892C20A7EB964FE7719E74F490758D3B", 16)), new cryKeyECcurve("c2pnb368w1", new int[]{1, 2, 840, 10045, 3, 0, 19}, -1, -1, new BigInteger("0100000000000000000000000000000000000000000000000000000000000000000000002000000000000000000007", 16), new BigInteger("E0D2EE25095206F5E2A4F9ED229F1F256E79A0E2B455970D8D0D865BD94778C576D62F0AB7519CCD2A1A906AE30D", 16), new BigInteger("FC1217D4320A90452C760A58EDCD30C8DD069B3C34453837A34ED50CB54917E1C2112D84D164F444F8F74786046A", 16), new BigInteger("1085E2755381DCCCE3C1557AFA10C2F0C0C2825646C5B34A394CBCFA8BC16B22E7E789E927BE216F02E1FB136A5F", 16), new BigInteger("7B3EB1BDDCBA62D5D8B2059B525797FC73822C59059C623A45FF3843CEE8F87CD1855ADAA81E2A0750B80FDA2310", 16), new BigInteger("00010090512DA9AF72B08349D98A5DD4C7B0532ECA51CE03E2D10F3B7AC579BD87E909AE40A6F131E9CFCE5BD967", 16)), new cryKeyECcurve("nistp384r1", new int[]{0x2b, 0x81, 0x04, 0x00, 34}, 24, 0x0503, new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFF", 16), new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFC", 16), new BigInteger("B3312FA7E23EE7E4988E056BE3F82D19181D9C6EFE8141120314088F5013875AC656398D8A2ED19D2A85C8EDD3EC2AEF", 16), new BigInteger("AA87CA22BE8B05378EB1C71EF320AD746E1D3B628BA79B9859F741E082542A385502F25DBF55296C3A545E3872760AB7", 16), new BigInteger("3617DE4A96262C6F5D9E98BF9292DC29F8F41DBD289A147CE9DA3113B5F0B8C00A60B1CE1D7E819D7A431D7C90EA0E5F", 16), new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7634D81F4372DDF581A0DB248B0A77AECEC196ACCC52973", 16)), new cryKeyECcurve("brainpool384r1", new int[]{1, 3, 36, 3, 3, 2, 8, 1, 1, 11}, 27, 0x081B, new BigInteger("8CB91E82A3386D280F5D6F7E50E641DF152F7109ED5456B412B1DA197FB71123ACD3A729901D1A71874700133107EC53", 16), new BigInteger("7BC382C63D8C150C3C72080ACE05AFA0C2BEA28E4FB22787139165EFBA91F90F8AA5814A503AD4EB04A8C7DD22CE2826", 16), new BigInteger("04A8C7DD22CE28268B39B55416F0447C2FB77DE107DCD2A62E880EA53EEB62D57CB4390295DBC9943AB78696FA504C11", 16), new BigInteger("1D1C64F068CF45FFA2A63A81B7C13F6B8847A3E77EF14FE3DB7FCAFE0CBD10E8E826E03436D646AAEF87B2E247D4AF1E", 16), new BigInteger("8ABE1D7520F9C2A45CB1EB8E95CFD55262B70B29FEEC5864E19C054FF99129280E4646217791811142820341263C5315", 16), new BigInteger("8CB91E82A3386D280F5D6F7E50E641DF152F7109ED5456B31F166E6CAC0425A7CF3AB6AF6B7FC3103B883202E9046565", 16)), new cryKeyECcurve("brainpool384t1", new int[]{1, 3, 36, 3, 3, 2, 8, 1, 1, 12}, 32, -1, new BigInteger("8CB91E82A3386D280F5D6F7E50E641DF152F7109ED5456B412B1DA197FB71123ACD3A729901D1A71874700133107EC53", 16), new BigInteger("8CB91E82A3386D280F5D6F7E50E641DF152F7109ED5456B412B1DA197FB71123ACD3A729901D1A71874700133107EC50", 16), new BigInteger("7F519EADA7BDA81BD826DBA647910F8C4B9346ED8CCDC64E4B1ABD11756DCE1D2074AA263B88805CED70355A33B471EE", 16), new BigInteger("18DE98B02DB9A306F2AFCD7235F72A819B80AB12EBD653172476FECD462AABFFC4FF191B946A5F54D8D0AA2F418808CC", 16), new BigInteger("25AB056962D30651A114AFD2755AD336747F93475B7A1FCA3B88F2B6A208CCFE469408584DC2B2912675BF5B9E582928", 16), new BigInteger("8CB91E82A3386D280F5D6F7E50E641DF152F7109ED5456B31F166E6CAC0425A7CF3AB6AF6B7FC3103B883202E9046565", 16)), new cryKeyECcurve("nistp409k1", new int[]{1, 3, 132, 0, 36}, 11, -1, new BigInteger("02000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000001", 16), new BigInteger("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", 16), new BigInteger("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", 16), new BigInteger("0060F05F658F49C1AD3AB1890F7184210EFD0987E307C84C27ACCFB8F9F67CC2C460189EB5AAAA62EE222EB1B35540CFE9023746", 16), new BigInteger("01E369050B7C4E42ACBA1DACBF04299C3460782F918EA427E6325165E9EA10E3DA5F6C42E9C55215AA9CA27A5863EC48D8E0286B", 16), new BigInteger("007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5F83B2D4EA20400EC4557D5ED3E3E7CA5B4B5C83B8E01E5FCF", 16)), new cryKeyECcurve("nistp409r1", new int[]{1, 3, 132, 0, 37}, 12, -1, new BigInteger("02000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000001", 16), new BigInteger("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", 16), new BigInteger("0021A5C2C8EE9FEB5C4B9A753B7B476B7FD6422EF1F3DD674761FA99D6AC27C8A9A197B272822F6CD57A55AA4F50AE317B13545F", 16), new BigInteger("015D4860D088DDB3496B0C6064756260441CDE4AF1771D4DB01FFE5B34E59703DC255A868A1180515603AEAB60794E54BB7996A7", 16), new BigInteger("0061B1CFAB6BE5F32BBFA78324ED106A7636B9C5A7BD198D0158AA4F5488D08F38514F1FDF4B4F40D2181B3681C364BA0273C706", 16), new BigInteger("010000000000000000000000000000000000000000000000000001E2AAD6A612F33307BE5FA47C3C9E052F838164CD37D9A21173", 16)), new cryKeyECcurve("c2tnb431r1", new int[]{1, 2, 840, 10045, 3, 0, 20}, -1, -1, new BigInteger("800000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001", 16), new BigInteger("1A827EF00DD6FC0E234CAF046C6A5D8A85395B236CC4AD2CF32A0CADBDC9DDF620B0EB9906D0957F6C6FEACD615468DF104DE296CD8F", 16), new BigInteger("10D9B4A3D9047D8B154359ABFB1B7F5485B04CEB868237DDC9DEDA982A679A5A919B626D4E50A8DD731B107A9962381FB5D807BF2618", 16), new BigInteger("120FC05D3C67A99DE161D2F4092622FECA701BE4F50F4758714E8A87BBF2A658EF8C21E7C5EFE965361F6C2999C0C247B0DBD70CE6B7", 16), new BigInteger("20D0AF8903A96F8D5FA2C255745D3C451B302C9346D9B7E485E7BCE41F6B591F3E8F6ADDCBB0BC4C2F947A7DE1A89B625D6A598B3760", 16), new BigInteger("000340340340340340340340340340340340340340340340340340340323C313FAB50589703B5EC68D3587FEC60D161CC149C1AD4A91", 16)), new cryKeyECcurve("brainpool512r1", new int[]{1, 3, 36, 3, 3, 2, 8, 1, 1, 13}, 28, 0x081C, new BigInteger("AADD9DB8DBE9C48B3FD4E6AE33C9FC07CB308DB3B3C9D20ED6639CCA703308717D4D9B009BC66842AECDA12AE6A380E62881FF2F2D82C68528AA6056583A48F3", 16), new BigInteger("7830A3318B603B89E2327145AC234CC594CBDD8D3DF91610A83441CAEA9863BC2DED5D5AA8253AA10A2EF1C98B9AC8B57F1117A72BF2C7B9E7C1AC4D77FC94CA", 16), new BigInteger("3DF91610A83441CAEA9863BC2DED5D5AA8253AA10A2EF1C98B9AC8B57F1117A72BF2C7B9E7C1AC4D77FC94CADC083E67984050B75EBAE5DD2809BD638016F723", 16), new BigInteger("81AEE4BDD82ED9645A21322E9C4C6A9385ED9F70B5D916C1B43B62EEF4D0098EFF3B1F78E2D0D48D50D1687B93B97D5F7C6D5047406A5E688B352209BCB9F822", 16), new BigInteger("7DDE385D566332ECC0EABFA9CF7822FDF209F70024A57B1AA000C55B881F8111B2DCDE494A5F485E5BCA4BD88A2763AED1CA2B2FA8F0540678CD1E0F3AD80892", 16), new BigInteger("AADD9DB8DBE9C48B3FD4E6AE33C9FC07CB308DB3B3C9D20ED6639CCA70330870553E5C414CA92619418661197FAC10471DB1D381085DDADDB58796829CA90069", 16)), new cryKeyECcurve("brainpool512t1", new int[]{1, 3, 36, 3, 3, 2, 8, 1, 1, 14}, 33, -1, new BigInteger("AADD9DB8DBE9C48B3FD4E6AE33C9FC07CB308DB3B3C9D20ED6639CCA703308717D4D9B009BC66842AECDA12AE6A380E62881FF2F2D82C68528AA6056583A48F3", 16), new BigInteger("AADD9DB8DBE9C48B3FD4E6AE33C9FC07CB308DB3B3C9D20ED6639CCA703308717D4D9B009BC66842AECDA12AE6A380E62881FF2F2D82C68528AA6056583A48F0", 16), new BigInteger("7CBBBCF9441CFAB76E1890E46884EAE321F70C0BCB4981527897504BEC3E36A62BCDFA2304976540F6450085F2DAE145C22553B465763689180EA2571867423E", 16), new BigInteger("640ECE5C12788717B9C1BA06CBC2A6FEBA85842458C56DDE9DB1758D39C0313D82BA51735CDB3EA499AA77A7D6943A64F7A3F25FE26F06B51BAA2696FA9035DA", 16), new BigInteger("5B534BD595F5AF0FA2C892376C84ACE1BB4E3019B71634C01131159CAE03CEE9D9932184BEEF216BD71DF2DADF86A627306ECFF96DBB8BACE198B61E00F8B332", 16), new BigInteger("AADD9DB8DBE9C48B3FD4E6AE33C9FC07CB308DB3B3C9D20ED6639CCA70330870553E5C414CA92619418661197FAC10471DB1D381085DDADDB58796829CA90069", 16)), new cryKeyECcurve("nistp521r1", new int[]{0x2b, 0x81, 0x04, 0x00, 35}, 25, 0x0603, new BigInteger("01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF", 16), new BigInteger("01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC", 16), new BigInteger("0051953EB9618E1C9A1F929A21A0B68540EEA2DA725B99B315F3B8B489918EF109E156193951EC7E937B1652C0BD3BB1BF073573DF883D2C34F1EF451FD46B503F00", 16), new BigInteger("00C6858E06B70404E9CD9E3ECB662395B4429C648139053FB521F828AF606B4D3DBAA14B5E77EFE75928FE1DC127A2FFA8DE3348B3C1856A429BF97E7E31C2E5BD66", 16), new BigInteger("011839296A789A3BC0045C8A5FB42C7D1BD998F54449579B446817AFBD17273E662C97EE72995EF42640C550B9013FAD0761353C7086A272C24088BE94769FD16650", 16), new BigInteger("01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409", 16)), new cryKeyECcurve("nistp571k1", new int[]{1, 3, 132, 0, 38}, 13, -1, new BigInteger("080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000425", 16), new BigInteger("000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", 16), new BigInteger("000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", 16), new BigInteger("026EB7A859923FBC82189631F8103FE4AC9CA2970012D5D46024804801841CA44370958493B205E647DA304DB4CEB08CBBD1BA39494776FB988B47174DCA88C7E2945283A01C8972", 16), new BigInteger("0349DC807F4FBF374F4AEADE3BCA95314DD58CEC9F307A54FFC61EFC006D8A2C9D4979C0AC44AEA74FBEBBB9F772AEDCB620B01A7BA7AF1B320430C8591984F601CD4C143EF1C7A3", 16), new BigInteger("020000000000000000000000000000000000000000000000000000000000000000000000131850E1F19A63E4B391A8DB917F4138B630D84BE5D639381E91DEB45CFE778F637C1001", 16)), new cryKeyECcurve("nistp571r1", new int[]{1, 3, 132, 0, 39}, 14, -1, new BigInteger("080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000425", 16), new BigInteger("000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", 16), new BigInteger("02F40E7E2221F295DE297117B7F3D62F5C6A97FFCB8CEFF1CD6BA8CE4A9A18AD84FFABBD8EFA59332BE7AD6756A66E294AFD185A78FF12AA520E4DE739BACA0C7FFEFF7F2955727A", 16), new BigInteger("0303001D34B856296C16C0D40D3CD7750A93D1D2955FA80AA5F40FC8DB7B2ABDBDE53950F4C0D293CDD711A35B67FB1499AE60038614F1394ABFA3B4C850D927E1E7769C8EEC2D19", 16), new BigInteger("037BF27342DA639B6DCCFFFEB73D69D78C6C27A6009CBBCA1980F8533921E8A684423E43BAB08A576291AF8F461BB2A8B3531D2F0485C19B16E2F1516E23DD3C1A4827AF1B8AC15B", 16), new BigInteger("03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE661CE18FF55987308059B186823851EC7DD9CA1161DE93D5174D66E8382E9BB2FE84E47", 16)),}; /** * get by size * * @param len length in bits * @return curve */ public static cryKeyECcurve getBySize(int len) { int p = -1; int o = len; for (int i = curves.length - 1; i >= 0; i--) { int q = curves[i].p.bitLength() - len; if (q < 0) { q = -q; } if (curves[i].tls > 0) { q--; } if (curves[i].sgn > 0) { q--; } if (q >= o) { continue; } o = q; p = i; } if (p < 0) { return null; } else { return curves[p]; } } /** * get by tls * * @param id id to find * @return curve */ public static cryKeyECcurve getByTls(int id) { for (int i = curves.length - 1; i >= 0; i--) { if (id == curves[i].tls) { return curves[i]; } } return null; } /** * get by sgn * * @param id id to find * @return curve */ public static cryKeyECcurve getBySgn(int id) { for (int i = curves.length - 1; i >= 0; i--) { if (id == curves[i].sgn) { return curves[i]; } } return null; } /** * get by name * * @param nam name * @return curve */ public static cryKeyECcurve getByName(String nam) { for (int i = 0; i < curves.length; i++) { if (curves[i].nam.equals(nam)) { return curves[i]; } } return null; } private static boolean compareOids(int[] o1, byte[] o2) { if (o1.length != o2.length) { return false; } for (int i = 0; i < o1.length; i++) { if (o1[i] != (o2[i] & 0xff)) { return false; } } return true; } /** * get by oid * * @param oid oid * @return curve */ public static cryKeyECcurve getByOid(byte[] oid) { for (int i = 0; i < curves.length; i++) { if (compareOids(curves[i].oid, oid)) { return curves[i]; } } return null; } } freeRtr-25.11.9/src/org/freertr/cry/cryKeyECpoint.java000066400000000000000000000114141510423065500225230ustar00rootroot00000000000000package org.freertr.cry; import java.math.BigInteger; import org.freertr.util.bits; /** * one point on elliptic curve * * @author matecsaba */ public class cryKeyECpoint { /** * curve */ public final cryKeyECcurve c; /** * x */ public final BigInteger x; /** * y */ public final BigInteger y; /** * 0 */ public final static BigInteger int0 = new BigInteger("0"); /** * 1 */ public final static BigInteger int1 = new BigInteger("1"); /** * 2 */ public final static BigInteger int2 = new BigInteger("2"); /** * 3 */ public final static BigInteger int3 = new BigInteger("3"); private cryKeyECpoint mul2res; /** * create point * * @param mc curve * @param mx x * @param my y */ public cryKeyECpoint(cryKeyECcurve mc, BigInteger mx, BigInteger my) { c = mc; x = mx; y = my; } public String toString() { return "(" + x + "," + y + ")"; } /** * test if on curve * * @return true if yes, false if no */ public boolean check() { BigInteger t1 = y.modPow(int2, c.p); BigInteger t2 = x.modPow(int3, c.p); BigInteger t3 = ((t2.add(c.a.multiply(x))).add(c.b)).mod(c.p); return t1.compareTo(t3) == 0; } /** * negate point * * @return result */ public cryKeyECpoint neg() { return new cryKeyECpoint(c, x, c.p.subtract(y)); } /** * add two points * * @param p point to add * @return result */ public cryKeyECpoint add(cryKeyECpoint p) { if ((p == this) && (mul2res != null)) { return mul2res; } BigInteger t; if (p.x.compareTo(x) == 0) { t = ((x.modPow(int2, c.p)).multiply(int3)).add(c.a); t = (t.multiply((int2.multiply(y)).modInverse(c.p))).mod(c.p); } else { t = ((p.y.subtract(y)).multiply((p.x.subtract(x)).modInverse(c.p))).mod(c.p); } BigInteger x3 = (((t.modPow(int2, c.p)).subtract(p.x)).subtract(x)).mod(c.p); BigInteger y3 = ((t.multiply(x.subtract(x3))).subtract(y)).mod(c.p); cryKeyECpoint res = new cryKeyECpoint(c, x3, y3); if (p == this) { mul2res = res; } return res; } /** * multiply by number * * @param n number * @return result */ public cryKeyECpoint mul(BigInteger n) { cryKeyECpoint res = null; cryKeyECpoint val = this; int len = n.bitLength(); for (int pos = 0; pos < len; pos++) { if (n.testBit(pos)) { if (res == null) { res = val; } else { res = res.add(val); } } val = val.add(val); } return res; } /** * get bytes * * @return bytes */ public byte[] toBytesIke() { int siz = c.byteSize(); byte[] b1 = cryUtils.bigInt2buffer(x, siz); byte[] b2 = cryUtils.bigInt2buffer(y, siz); return bits.byteConcat(b1, b2); } /** * get bytes * * @return bytes */ public byte[] toBytesTls() { byte[] b0 = new byte[1]; b0[0] = 4; return bits.byteConcat(b0, toBytesIke()); } /** * get bytes * * @return bytes */ public byte[] toBytesCert() { byte[] b0 = new byte[2]; b0[1] = 4; return bits.byteConcat(b0, toBytesIke()); } /** * convert from bytes * * @param c curve * @param buf buffer * @param ofs where to start * @return point */ public static cryKeyECpoint fromBytesIke(cryKeyECcurve c, byte[] buf, int ofs) { int siz = c.byteSize(); if ((buf.length - ofs) < (siz * 2)) { return null; } BigInteger x = cryUtils.buffer2bigInt(buf, ofs, siz); BigInteger y = cryUtils.buffer2bigInt(buf, ofs + siz, siz); return new cryKeyECpoint(c, x, y); } /** * convert from bytes * * @param c curve * @param buf buffer * @param ofs where to start * @return point */ public static cryKeyECpoint fromBytesTls(cryKeyECcurve c, byte[] buf, int ofs) { if (buf[ofs] != 4) { return null; } return fromBytesIke(c, buf, ofs + 1); } /** * convert from bytes * * @param c curve * @param buf buffer * @param ofs where to start * @return point */ public static cryKeyECpoint fromBytesCert(cryKeyECcurve c, byte[] buf, int ofs) { if (buf[ofs + 1] != 4) { return null; } return fromBytesIke(c, buf, ofs + 2); } } freeRtr-25.11.9/src/org/freertr/cry/cryKeyGeneric.java000066400000000000000000000267571510423065500225560ustar00rootroot00000000000000package org.freertr.cry; import org.freertr.enc.encBase64; import java.util.ArrayList; import java.util.List; import org.freertr.pack.packHolder; /** * generic key storage * * @author matecsaba */ public abstract class cryKeyGeneric implements Comparable { /** * create instance */ public cryKeyGeneric() { } /** * name of this key */ public String keyName; public int compareTo(cryKeyGeneric o) { return keyName.toLowerCase().compareTo(o.keyName.toLowerCase()); } /** * return name of algorithm * * @return name of algorithm */ public abstract String algName(); /** * get ssh name * * @return name */ public abstract String sshName(); /** * get ssh hash * * @return hasher */ public abstract cryHashGeneric sshHash(); /** * read key from asn1 format * * @param pck packet to read from * @return false on success, true on error */ public abstract boolean privReader(packHolder pck); /** * write key to asn1 format * * @param pck packet to write to */ public abstract void privWriter(packHolder pck); /** * read key from asn1 format * * @param pck packet to read from * @return false on success, true on error */ public abstract boolean certReader(packHolder pck); /** * write key to asn1 format * * @param pck packet to write to */ public abstract void certWriter(packHolder pck); /** * verify signature * * @param pkcs oid of hash * @param hash generated hash * @param sign received * @return false on success, true on error */ public abstract boolean certVerify(cryHashGeneric pkcs, byte[] hash, byte[] sign); /** * generate sign * * @param pkcs oid of hash * @param hash generated hash * @return generated signature */ public abstract byte[] certSigning(cryHashGeneric pkcs, byte[] hash); /** * verify signature * * @param ver protocol version * @param pkcs oid of hash * @param hash generated hash * @param sign received * @return false on success, true on error */ public abstract boolean tlsVerify(int ver, cryHashGeneric pkcs, byte[] hash, byte[] sign); /** * generate sign * * @param ver protocol version * @param pkcs oid of hash * @param hash generated hash * @return generated signature */ public abstract byte[] tlsSigning(int ver, cryHashGeneric pkcs, byte[] hash); /** * generate new key * * @param len length of key * @return true on error, false on success */ public abstract boolean keyMakeSize(int len); /** * generate new key * * @param nam name of key * @return true on error, false on success */ public abstract boolean keyMakeName(String nam); /** * generate new key * * @param id tls id * @return true on error, false on success */ public abstract boolean keyMakeTls(int id); /** * generate new key * * @param id ike id * @return true on error, false on success */ public abstract boolean keyMakeIke(int id); /** * id value used to generate * * @return -1 on error, id on success */ public abstract int keyMakeVal(); /** * verify a key * * @return false on success, true on error */ public abstract boolean keyVerify(); /** * size a key * * @return number of bits in key */ public abstract int keySize(); /** * dump a key * * @return dumped */ public abstract String keyDump(); /** * client key exchange initialization */ public abstract void keyClntInit(); /** * server key exchange initialization */ public abstract void keyServInit(); /** * client common secret computation */ public abstract void keyClntCalc(); /** * server common secret computation */ public abstract void keyServCalc(); /** * get common secret for tls * * @return common secret */ public abstract byte[] keyCommonTls(); /** * get common secret for ssh * * @return common secret */ public abstract byte[] keyCommonSsh(); /** * get common secret for ike * * @return common secret */ public abstract byte[] keyCommonIke(); /** * get client public for tls * * @return common secret */ public abstract byte[] keyClntTls(); /** * get server public for tls * * @return common secret */ public abstract byte[] keyServTls(); /** * get client public for tls * * @param buf buffer to use * @param ofs offset to use * @return true on error, false on success */ public abstract boolean keyClntTls(byte[] buf, int ofs); /** * get server public for tls * * @param buf buffer to use * @param ofs offset to use * @return true on error, false on success */ public abstract boolean keyServTls(byte[] buf, int ofs); /** * get client public for ssh * * @return common secret */ public abstract byte[] keyClntSsh(); /** * get server public for ssh * * @return common secret */ public abstract byte[] keyServSsh(); /** * get client public for ssh * * @param buf buffer to use * @param ofs offset to use * @return true on error, false on success */ public abstract boolean keyClntSsh(byte[] buf, int ofs); /** * get server public for ssh * * @param buf buffer to use * @param ofs offset to use * @return true on error, false on success */ public abstract boolean keyServSsh(byte[] buf, int ofs); /** * get client public for ike * * @return common secret */ public abstract byte[] keyClntIke(); /** * get server public for ike * * @return common secret */ public abstract byte[] keyServIke(); /** * get client public for ike * * @param buf buffer to use * @param ofs offset to use * @return true on error, false on success */ public abstract boolean keyClntIke(byte[] buf, int ofs); /** * get server public for ike * * @param buf buffer to use * @param ofs offset to use * @return true on error, false on success */ public abstract boolean keyServIke(byte[] buf, int ofs); /** * get parameters for tls * * @return parameters */ public abstract byte[][] keyParamTls(); /** * get parameters for ssh * * @return parameters */ public abstract byte[][] keyParamSsh(); /** * set parameters for tls * * @param buf buffer to use * @return true on error, false on success */ public abstract boolean keyParamTls(byte[][] buf); /** * set parameters for ssh * * @param buf buffer to use * @return true on error, false on success */ public abstract boolean keyParamSsh(byte[][] buf); /** * read public key * * @param key key data * @return false on success, true on error */ public abstract boolean sshReader(byte[] key); /** * save public key * * @return key data */ public abstract byte[] sshWriter(); /** * verify signature * * @param algo hash algorithm * @param algn hash name * @param hash generated hash * @param sign received * @return false on success, true on error */ public abstract boolean sshVerify(cryHashGeneric algo, String algn, byte[] hash, byte[] sign); /** * generate sign * * @param algo hash algorithm * @param algn hash name * @param hash generated hash * @return generated signature */ public abstract byte[] sshSigning(cryHashGeneric algo, String algn, byte[] hash); /** * read asn1 formatted key * * @param buf buffer to read * @param justPub just public key * @return false on success, true on error */ public boolean asn1ReadBuf(byte[] buf, boolean justPub) { packHolder pck = new packHolder(true, true); pck.putCopy(buf, 0, 0, buf.length); pck.putSkip(buf.length); pck.merge2beg(); if (justPub) { return certReader(pck); } else { return privReader(pck); } } /** * read pem formatted key * * @param s concatenated lines * @param justPub just public key * @return false on success, true on error */ public boolean pemReadStr(String s, boolean justPub) { byte[] buf = encBase64.decodeBytes(s); if (buf == null) { return true; } return asn1ReadBuf(buf, justPub); } /** * read pem formatted key * * @param sl list of lines * @param justPub just public key * @return false on success, true on error */ public boolean pemReadArr(String[] sl, boolean justPub) { String s = ""; for (int i = 0; i < sl.length; i++) { if (cryCertificate.isHeaderLine(sl[i])) { continue; } s = s + sl[i]; } return pemReadStr(s, justPub); } /** * read pem formatted key * * @param sl list of lines * @param justPub just public key * @return false on success, true on error */ public boolean pemReadLst(List sl, boolean justPub) { String s = ""; for (int i = 0; i < sl.size(); i++) { String a = sl.get(i); if (cryCertificate.isHeaderLine(a)) { continue; } s = s + a; } return pemReadStr(s, justPub); } /** * write to buffer * * @param justPub just public key * @return asn1 buffer */ public byte[] asn1WriteBuf(boolean justPub) { packHolder p = new packHolder(true, true); if (justPub) { certWriter(p); } else { privWriter(p); } return p.getCopy(); } /** * write to pem format string * * @param justPub just public key * @return pem string */ public String pemWriteStr(boolean justPub) { byte[] buf = asn1WriteBuf(justPub); return encBase64.encodeBytes(buf, 0, buf.length); } /** * write to pem format strings * * @param justPub just public key * @return list of string */ public List pemWriteLst(boolean justPub) { final int max = 64; String s = pemWriteStr(justPub); List l = new ArrayList(); for (;;) { int i = s.length(); if (i > max) { i = max; } String a = s.substring(0, i); if (a.length() < 1) { break; } s = s.substring(i, s.length()); l.add(a); } return l; } /** * write to pem format strings * * @param justPub just public key * @return array of string */ public String[] pemWriteArr(boolean justPub) { List l = pemWriteLst(justPub); String[] a = new String[l.size()]; for (int i = 0; i < a.length; i++) { a[i] = l.get(i); } return a; } } freeRtr-25.11.9/src/org/freertr/cry/cryKeyMLDSA.java000066400000000000000000001671511510423065500220340ustar00rootroot00000000000000package org.freertr.cry; import java.math.BigInteger; import org.freertr.enc.encAsn1; import org.freertr.pack.packHolder; import org.freertr.pack.packSsh; import org.freertr.util.bits; /** * module lattice digital signature algorithm * * @author matecsaba */ public class cryKeyMLDSA extends cryKeyGeneric { /** * create instance */ public cryKeyMLDSA() { } private byte[] rho; private byte[] key; private byte[] tr; private byte[] encT0; private byte[] encT1; private byte[] encS1; private byte[] encS2; /** * signature */ protected byte[] sgn; /** * magic values */ protected final static int stream128BlockBytes = 168; /** * magic values */ protected final static int stream256BlockBytes = 136; /** * magic values */ protected final static int DilithiumN = 256; /** * magic values */ protected final static int DilithiumQ = 8380417; /** * magic values */ protected final static int DilithiumQinv = 58728449; /** * magic values */ protected final static int DilithiumD = 13; /** * magic values */ protected final static int SeedBytes = 32; /** * magic values */ protected final static int CrhBytes = 64; /** * magic values */ protected final static int RndBytes = 32; /** * magic values */ protected final static int TrBytes = 64; /** * magic values */ protected final static int DilithiumPolyT1PackedBytes = 320; /** * magic values */ protected final static int DilithiumPolyT0PackedBytes = 416; /** * magic values */ protected int DilithiumPolyVecHPackedBytes; /** * magic values */ protected int DilithiumPolyZPackedBytes; /** * magic values */ protected int DilithiumPolyW1PackedBytes; /** * magic values */ protected int DilithiumPolyEtaPackedBytes; /** * magic values */ protected int DilithiumK; /** * magic values */ protected int DilithiumL; /** * magic values */ protected int DilithiumEta; /** * magic values */ protected int DilithiumTau; /** * magic values */ protected int DilithiumBeta; /** * magic values */ protected int DilithiumGamma1; /** * magic values */ protected int DilithiumGamma2; /** * magic values */ protected int DilithiumOmega; /** * magic values */ protected int DilithiumCTilde; /** * magic values */ protected int PolyUniformGamma1NBlocks; private boolean initMagic(int len) { switch (len) { case 44: DilithiumK = 4; DilithiumL = 4; DilithiumEta = 2; DilithiumTau = 39; DilithiumBeta = 78; DilithiumGamma1 = (1 << 17); DilithiumGamma2 = ((DilithiumQ - 1) / 88); DilithiumOmega = 80; DilithiumPolyZPackedBytes = 576; DilithiumPolyW1PackedBytes = 192; DilithiumPolyEtaPackedBytes = 96; DilithiumCTilde = 32; break; case 65: DilithiumK = 6; DilithiumL = 5; DilithiumEta = 4; DilithiumTau = 49; DilithiumBeta = 196; DilithiumGamma1 = (1 << 19); DilithiumGamma2 = ((DilithiumQ - 1) / 32); DilithiumOmega = 55; DilithiumPolyZPackedBytes = 640; DilithiumPolyW1PackedBytes = 128; DilithiumPolyEtaPackedBytes = 128; DilithiumCTilde = 48; break; case 87: DilithiumK = 8; DilithiumL = 7; DilithiumEta = 2; DilithiumTau = 60; DilithiumBeta = 120; DilithiumGamma1 = (1 << 19); DilithiumGamma2 = ((DilithiumQ - 1) / 32); DilithiumOmega = 75; DilithiumPolyZPackedBytes = 640; DilithiumPolyW1PackedBytes = 128; DilithiumPolyEtaPackedBytes = 96; DilithiumCTilde = 64; break; default: return true; } DilithiumPolyVecHPackedBytes = DilithiumOmega + DilithiumK; if (DilithiumGamma1 == (1 << 17)) { PolyUniformGamma1NBlocks = ((576 + stream256BlockBytes - 1) / stream256BlockBytes); } else { PolyUniformGamma1NBlocks = ((640 + stream256BlockBytes - 1) / stream256BlockBytes); } return false; } private void keyMake() { cryHashShake256 d = new cryHashShake256(); d.init(); byte[] seedBuf = new byte[SeedBytes]; for (int i = 0; i < seedBuf.length; i++) { seedBuf[i] = (byte) bits.randomB(); } byte[] buf = new byte[2 * SeedBytes + CrhBytes]; byte[] rhoPrime = new byte[CrhBytes]; tr = new byte[TrBytes]; rho = new byte[SeedBytes]; key = new byte[SeedBytes]; cryKeyMLDSAmat aMatrix = new cryKeyMLDSAmat(this); cryKeyMLDSAvecL s1 = new cryKeyMLDSAvecL(this); cryKeyMLDSAvecK s2 = new cryKeyMLDSAvecK(this); cryKeyMLDSAvecK t1 = new cryKeyMLDSAvecK(this); cryKeyMLDSAvecK t0 = new cryKeyMLDSAvecK(this); d.update(seedBuf, 0, SeedBytes); d.update((byte) DilithiumK); d.update((byte) DilithiumL); d.fillupBuffer(buf, 0, 2 * SeedBytes + CrhBytes); d.init(); bits.byteCopy(buf, 0, rho, 0, SeedBytes); bits.byteCopy(buf, SeedBytes, rhoPrime, 0, CrhBytes); bits.byteCopy(buf, SeedBytes + CrhBytes, key, 0, SeedBytes); aMatrix.expandMatrix(rho); s1.uniformEta(rhoPrime, (short) 0); s2.uniformEta(rhoPrime, (short) DilithiumL); cryKeyMLDSAvecL s1hat = new cryKeyMLDSAvecL(this); s1.copyTo(s1hat); s1hat.polyVecNtt(); aMatrix.pointwiseMontgomery(t1, s1hat); t1.reduce(); t1.invNttToMont(); t1.addPolyVecK(s2); t1.conditionalAddQ(); t1.power2Round(t0); encT1 = packPublicKey(t1); d.update(rho, 0, rho.length); d.update(encT1, 0, encT1.length); d.fillupBuffer(tr, 0, TrBytes); d.init(); encS1 = new byte[DilithiumL * DilithiumPolyEtaPackedBytes]; for (int i = 0; i < DilithiumL; i++) { s1.vec[i].polyEtaPack(encS1, i * DilithiumPolyEtaPackedBytes); } encS2 = new byte[DilithiumK * DilithiumPolyEtaPackedBytes]; for (int i = 0; i < DilithiumK; i++) { s2.vec[i].polyEtaPack(encS2, i * DilithiumPolyEtaPackedBytes); } encT0 = new byte[DilithiumK * DilithiumPolyT0PackedBytes]; for (int i = 0; i < DilithiumK; i++) { t0.vec[i].polyt0Pack(encT0, i * DilithiumPolyT0PackedBytes); } } /** * do signature * * @param msg cleartext */ public void doSigning(byte[] msg) { cryHashShake256 d = new cryHashShake256(); d.init(); d.update(tr, 0, TrBytes); absorbCtx(d, false, new byte[0]); d.update(msg, 0, msg.length); byte[] rnd = new byte[RndBytes]; for (int i = 0; i < rnd.length; i++) { rnd[i] = (byte) bits.randomB(); } byte[] mu = new byte[CrhBytes]; d.fillupBuffer(mu, 0, CrhBytes); d.init(); byte[] outSig = new byte[DilithiumCTilde + DilithiumL * DilithiumPolyZPackedBytes + DilithiumPolyVecHPackedBytes]; byte[] rhoPrime = new byte[CrhBytes]; short nonce = 0; cryKeyMLDSAvecL s1 = new cryKeyMLDSAvecL(this); cryKeyMLDSAvecL y = new cryKeyMLDSAvecL(this); cryKeyMLDSAvecL z = new cryKeyMLDSAvecL(this); cryKeyMLDSAvecK t0 = new cryKeyMLDSAvecK(this); cryKeyMLDSAvecK s2 = new cryKeyMLDSAvecK(this); cryKeyMLDSAvecK w1 = new cryKeyMLDSAvecK(this); cryKeyMLDSAvecK w0 = new cryKeyMLDSAvecK(this); cryKeyMLDSAvecK h = new cryKeyMLDSAvecK(this); cryKeyMLDSApoly cp = new cryKeyMLDSApoly(this); cryKeyMLDSAmat aMatrix = new cryKeyMLDSAmat(this); unpackSecretKey(t0, s1, s2, encT0, encS1, encS2); byte[] keyMu = new byte[SeedBytes + RndBytes + CrhBytes]; bits.byteCopy(key, 0, keyMu, 0, SeedBytes); bits.byteCopy(rnd, 0, keyMu, SeedBytes, RndBytes); bits.byteCopy(mu, 0, keyMu, SeedBytes + RndBytes, CrhBytes); d.update(keyMu, 0, SeedBytes + RndBytes + CrhBytes); d.fillupBuffer(rhoPrime, 0, CrhBytes); d.init(); aMatrix.expandMatrix(rho); s1.polyVecNtt(); s2.polyVecNtt(); t0.polyVecNtt(); int count = 0; while (count < 1000) { count++; y.uniformGamma1(rhoPrime, nonce++); y.copyTo(z); z.polyVecNtt(); aMatrix.pointwiseMontgomery(w1, z); w1.reduce(); w1.invNttToMont(); w1.conditionalAddQ(); w1.decompose(w0); w1.packW1(this, outSig, 0); d.update(mu, 0, CrhBytes); d.update(outSig, 0, DilithiumK * DilithiumPolyW1PackedBytes); d.fillupBuffer(outSig, 0, DilithiumCTilde); d.init(); cp.challenge(outSig, 0, DilithiumCTilde); cp.polyNtt(); z.pointwisePolyMontgomery(cp, s1); z.invNttToMont(); z.addPolyVecL(y); z.reduce(); if (z.checkNorm(DilithiumGamma1 - DilithiumBeta)) { continue; } h.pointwisePolyMontgomery(cp, s2); h.invNttToMont(); w0.subtract(h); w0.reduce(); if (w0.checkNorm(DilithiumGamma2 - DilithiumBeta)) { continue; } h.pointwisePolyMontgomery(cp, t0); h.invNttToMont(); h.reduce(); if (h.checkNorm(DilithiumGamma2)) { continue; } w0.addPolyVecK(h); w0.conditionalAddQ(); int n = h.makeHint(w0, w1); if (n > DilithiumOmega) { continue; } int end = DilithiumCTilde; for (int i = 0; i < DilithiumL; i++) { z.vec[i].zPack(outSig, end); end += DilithiumPolyZPackedBytes; } for (int i = 0; i < DilithiumOmega + DilithiumK; i++) { outSig[end + i] = 0; } int pls = 0; for (int i = 0; i < DilithiumK; i++) { for (int j = 0; j < DilithiumN; j++) { if (h.vec[i].coeffs[j] != 0) { outSig[end + pls++] = (byte) j; } } outSig[end + DilithiumOmega + i] = (byte) pls; } sgn = outSig; return; } sgn = null; } /** * do verification * * @param msg cleartext * @return false on success, true on error */ public boolean doVerify(byte[] msg) { cryHashShake256 d = new cryHashShake256(); d.init(); byte[] mu = new byte[TrBytes]; d.update(rho, 0, rho.length); d.update(encT1, 0, encT1.length); d.fillupBuffer(mu, 0, TrBytes); d.init(); d.update(mu, 0, TrBytes); absorbCtx(d, false, new byte[0]); d.update(msg, 0, msg.length); byte[] buf = new byte[Math.max(CrhBytes + DilithiumK * DilithiumPolyW1PackedBytes, DilithiumCTilde)]; d.fillupBuffer(buf, 0, d.getBlockSize()); d.init(); cryKeyMLDSAvecK h = new cryKeyMLDSAvecK(this); cryKeyMLDSAvecL z = new cryKeyMLDSAvecL(this); int end = DilithiumCTilde; for (int i = 0; i < DilithiumL; i++) { byte[] tmp = new byte[DilithiumPolyZPackedBytes]; bits.byteCopy(sgn, end + i * DilithiumPolyZPackedBytes, tmp, 0, tmp.length); z.vec[i].zUnpack(tmp); } end += DilithiumL * DilithiumPolyZPackedBytes; int pls = 0; for (int i = 0; i < DilithiumK; i++) { for (int j = 0; j < DilithiumN; j++) { h.vec[i].coeffs[j] = 0; } if ((sgn[end + DilithiumOmega + i] & 0xFF) < pls || (sgn[end + DilithiumOmega + i] & 0xFF) > DilithiumOmega) { return true; } for (int j = pls; j < (sgn[end + DilithiumOmega + i] & 0xFF); j++) { if (j > pls && (sgn[end + j] & 0xFF) <= (sgn[end + j - 1] & 0xFF)) { return true; } h.vec[i].coeffs[(sgn[end + j] & 0xFF)] = 1; } pls = (int) (sgn[end + DilithiumOmega + i]); } for (int j = pls; j < DilithiumOmega; j++) { if ((sgn[end + j] & 0xFF) != 0) { return true; } } if (z.checkNorm(DilithiumGamma1 - DilithiumBeta)) { return true; } cryKeyMLDSApoly cp = new cryKeyMLDSApoly(this); cryKeyMLDSAmat aMatrix = new cryKeyMLDSAmat(this); cryKeyMLDSAvecK t1 = new cryKeyMLDSAvecK(this); cryKeyMLDSAvecK w1 = new cryKeyMLDSAvecK(this); for (int i = 0; i < DilithiumK; i++) { byte[] tmp = new byte[DilithiumPolyT1PackedBytes]; bits.byteCopy(encT1, i * DilithiumPolyT1PackedBytes, tmp, 0, tmp.length); t1.vec[i].polyt1Unpack(tmp); } cp.challenge(sgn, 0, DilithiumCTilde); aMatrix.expandMatrix(rho); z.polyVecNtt(); aMatrix.pointwiseMontgomery(w1, z); cp.polyNtt(); t1.shiftLeft(); t1.polyVecNtt(); t1.pointwisePolyMontgomery(cp, t1); w1.subtract(t1); w1.reduce(); w1.invNttToMont(); w1.conditionalAddQ(); w1.useHint(w1, h); w1.packW1(this, buf, CrhBytes); d.init(); d.update(buf, 0, CrhBytes + DilithiumK * DilithiumPolyW1PackedBytes); d.fillupBuffer(buf, 0, DilithiumCTilde); d.init(); return bits.byteComp(sgn, 0, buf, 0, DilithiumCTilde) != 0; } private void absorbCtx(cryHashShake256 d, boolean isPreHash, byte[] ctx) { if (ctx == null) { return; } d.update(isPreHash ? (byte) 1 : (byte) 0); d.update((byte) ctx.length); d.update(ctx, 0, ctx.length); } private void unpackSecretKey(cryKeyMLDSAvecK t0, cryKeyMLDSAvecL s1, cryKeyMLDSAvecK s2, byte[] t0Enc, byte[] s1Enc, byte[] s2Enc) { for (int i = 0; i < DilithiumL; i++) { s1.vec[i].polyEtaUnpack(s1Enc, i * DilithiumPolyEtaPackedBytes); } for (int i = 0; i < DilithiumK; i++) { s2.vec[i].polyEtaUnpack(s2Enc, i * DilithiumPolyEtaPackedBytes); } for (int i = 0; i < DilithiumK; i++) { t0.vec[i].polyt0Unpack(t0Enc, i * DilithiumPolyT0PackedBytes); } } private byte[] packPublicKey(cryKeyMLDSAvecK t1) { byte[] out = new byte[DilithiumK * DilithiumPolyT1PackedBytes]; for (int i = 0; i < DilithiumK; i++) { bits.byteCopy(t1.vec[i].polyt1Pack(), 0, out, i * DilithiumPolyT1PackedBytes, DilithiumPolyT1PackedBytes); } return out; } /** * get ssh name * * @return name */ public String sshName() { return "ssh-mldsa" + DilithiumK + DilithiumL; } public cryHashGeneric sshHash() { return new cryHashSha2256(); } public String algName() { return "mldsa"; } public boolean privReader(packHolder pck) { encAsn1 a = new encAsn1(); if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } pck = a.getPack(); BigInteger ver = encAsn1.readBigInt(pck); if (ver == null) { return true; } if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } packHolder p = a.getPack(); if (a.tagRead(p)) { return true; } if (useOid(cryCertificate.objid2int(a))) { return true; } if (a.tagRead(pck)) { return true; } if ((a.cnst) || (a.tag != encAsn1.tagOctetString)) { return true; } p = a.getPack(); if (a.tagRead(p)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } p = a.getPack(); if (a.tagRead(p)) { return true; } p = a.getPack(); rho = new byte[SeedBytes]; p.getCopy(rho, 0, 0, rho.length); p.getSkip(rho.length); key = new byte[SeedBytes]; p.getCopy(key, 0, 0, key.length); p.getSkip(key.length); tr = new byte[TrBytes]; p.getCopy(tr, 0, 0, tr.length); p.getSkip(tr.length); int delta = DilithiumL * DilithiumPolyEtaPackedBytes; encS1 = new byte[delta]; p.getCopy(encS1, 0, 0, encS1.length); p.getSkip(encS1.length); delta = DilithiumK * DilithiumPolyEtaPackedBytes; encS2 = new byte[delta]; p.getCopy(encS2, 0, 0, encS2.length); p.getSkip(encS2.length); delta = DilithiumK * DilithiumPolyT0PackedBytes; encT0 = new byte[delta]; p.getCopy(encT0, 0, 0, encT0.length); p.getSkip(encT0.length); cryKeyMLDSAmat aMatrix = new cryKeyMLDSAmat(this); cryKeyMLDSAvecL s1 = new cryKeyMLDSAvecL(this); cryKeyMLDSAvecK s2 = new cryKeyMLDSAvecK(this); cryKeyMLDSAvecK t1 = new cryKeyMLDSAvecK(this); cryKeyMLDSAvecK t0 = new cryKeyMLDSAvecK(this); unpackSecretKey(t0, s1, s2, encT0, encS1, encS2); aMatrix.expandMatrix(rho); cryKeyMLDSAvecL s1hat = new cryKeyMLDSAvecL(this); s1.copyTo(s1hat); s1hat.polyVecNtt(); aMatrix.pointwiseMontgomery(t1, s1hat); t1.reduce(); t1.invNttToMont(); t1.addPolyVecK(s2); t1.conditionalAddQ(); t1.power2Round(t0); encT1 = packPublicKey(t1); return false; } private int[] getOid() { return cryCertificate.int2objId(cryCertificate.typMlDss44sha512 + (DilithiumCTilde >>> 4) - 2); } private boolean useOid(int oid) { switch (oid) { case cryCertificate.typMlDss44sha512: initMagic(44); return false; case cryCertificate.typMlDss65sha512: initMagic(65); return false; case cryCertificate.typMlDss87sha512: initMagic(87); return false; default: return true; } } public void privWriter(packHolder pck) { packHolder p1 = new packHolder(true, true); encAsn1.writeBigInt(p1, BigInteger.ONE); packHolder p2 = new packHolder(true, true); encAsn1.writeObjectId(p2, getOid()); encAsn1.writeSequence(p1, p2); p2.clear(); p2.putCopy(rho, 0, 0, rho.length); p2.putSkip(rho.length); p2.putCopy(key, 0, 0, key.length); p2.putSkip(key.length); p2.putCopy(tr, 0, 0, tr.length); p2.putSkip(tr.length); p2.putCopy(encS1, 0, 0, encS1.length); p2.putSkip(encS1.length); p2.putCopy(encS2, 0, 0, encS2.length); p2.putSkip(encS2.length); p2.putCopy(encT0, 0, 0, encT0.length); p2.putSkip(encT0.length); p2.merge2beg(); packHolder p3 = new packHolder(true, true); encAsn1.writeOctString(p3, p2); p2.clear(); encAsn1.writeSequence(p2, p3); encAsn1.writeOctString(p1, p2); encAsn1.writeSequence(pck, p1); } public boolean certReader(packHolder pck) { encAsn1 a = new encAsn1(); if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } pck = a.getPack(); if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } packHolder p = a.getPack(); if (a.tagRead(p)) { return true; } if (useOid(cryCertificate.objid2int(a))) { return true; } if (a.tagRead(pck)) { return true; } if ((a.cnst) || (a.tag != encAsn1.tagBitString)) { return true; } p = a.getPack(); p.getSkip(1); key = null; tr = null; encS1 = null; encS2 = null; encT0 = null; pubReader(p); return false; } private void pubReader(packHolder p) { rho = new byte[SeedBytes]; p.getCopy(rho, 0, 0, rho.length); p.getSkip(rho.length); encT1 = p.getCopy(); } private void pubWriter(packHolder p2) { p2.putCopy(rho, 0, 0, rho.length); p2.putSkip(rho.length); p2.putCopy(encT1, 0, 0, encT1.length); p2.putSkip(encT1.length); } public void certWriter(packHolder pck) { packHolder p1 = new packHolder(true, true); packHolder p2 = new packHolder(true, true); encAsn1.writeObjectId(p2, getOid()); encAsn1.writeSequence(p1, p2); p2.clear(); p2.putByte(0, 0); p2.putSkip(1); pubWriter(p2); p2.merge2beg(); encAsn1.writeBitString(p1, p2); encAsn1.writeSequence(pck, p1); } public boolean certVerify(cryHashGeneric pkcs, byte[] hash, byte[] sign) { sgn = sign; return doVerify(hash); } public byte[] certSigning(cryHashGeneric pkcs, byte[] hash) { doSigning(hash); packHolder pck = new packHolder(true, true); pck.putCopy(sgn, 0, 0, sgn.length); pck.putSkip(sgn.length); pck.merge2beg(); return pck.getCopy(); } public boolean tlsVerify(int ver, cryHashGeneric pkcs, byte[] hash, byte[] sign) { sgn = sign; return doVerify(hash); } public byte[] tlsSigning(int ver, cryHashGeneric pkcs, byte[] hash) { doSigning(hash); return sgn; } public boolean keyMakeName(String nam) { return false; } public boolean keyMakeSize(int len) { int[] sizes = new int[]{44, 65, 87}; int p = -1; int o = len; for (int i = sizes.length - 1; i >= 0; i--) { int q = sizes[i] - len; if (q < 0) { q = -q; } if (q >= o) { continue; } o = q; p = i; } if (p < 0) { return true; } len = sizes[p]; if (initMagic(len)) { return true; } keyMake(); return false; } public boolean keyMakeTls(int id) { return false; } public boolean keyMakeIke(int id) { return false; } public int keyMakeVal() { return 0x904 + (DilithiumCTilde >>> 4) - 2; } public boolean keyVerify() { return false; } public int keySize() { return (DilithiumK * 10) + DilithiumL; } public String keyDump() { return null; } public void keyClntInit() { } public void keyServInit() { } public void keyClntCalc() { } public void keyServCalc() { } public byte[] keyCommonTls() { return null; } public byte[] keyCommonSsh() { return null; } public byte[] keyCommonIke() { return null; } public byte[] keyClntTls() { return null; } public byte[] keyServTls() { return null; } public boolean keyClntTls(byte[] buf, int ofs) { return false; } public boolean keyServTls(byte[] buf, int ofs) { return false; } public byte[] keyClntSsh() { return null; } public byte[] keyServSsh() { return null; } public boolean keyClntSsh(byte[] buf, int ofs) { return false; } public boolean keyServSsh(byte[] buf, int ofs) { return false; } public byte[] keyClntIke() { return null; } public byte[] keyServIke() { return null; } public boolean keyClntIke(byte[] buf, int ofs) { return false; } public boolean keyServIke(byte[] buf, int ofs) { return false; } public byte[][] keyParamTls() { return null; } public byte[][] keyParamSsh() { return null; } public boolean keyParamTls(byte[][] buf) { return false; } public boolean keyParamSsh(byte[][] buf) { return false; } public boolean sshReader(byte[] key) { packHolder p = new packHolder(true, true); p.putCopy(key, 0, 0, key.length); p.putSkip(key.length); p.merge2beg(); if (!packSsh.stringRead(p).equals(sshName())) { return true; } key = packSsh.bytesRead(p); p.clear(); p.putCopy(key, 0, 0, key.length); p.putSkip(key.length); p.merge2beg(); pubReader(p); return false; } public byte[] sshWriter() { packHolder p = new packHolder(true, true); pubWriter(p); p.merge2beg(); byte[] buf = p.getCopy(); packSsh.stringWrite(p, sshName()); packSsh.bytesWrite(p, buf); p.merge2beg(); return p.getCopy(); } public boolean sshVerify(cryHashGeneric algo, String algn, byte[] hash, byte[] sign) { packHolder p = new packHolder(true, true); p.putCopy(sign, 0, 0, sign.length); p.putSkip(sign.length); p.merge2beg(); if (!packSsh.stringRead(p).equals(algn)) { return true; } sgn = packSsh.bytesRead(p); return doVerify(hash); } public byte[] sshSigning(cryHashGeneric algo, String algn, byte[] hash) { doSigning(hash); packHolder p = new packHolder(true, true); packSsh.stringWrite(p, algn); packSsh.bytesWrite(p, sgn); p.merge2beg(); return p.getCopy(); } } class cryKeyMLDSApoly { public final static int[] nttZetas = { 0, 25847, -2608894, -518909, 237124, -777960, -876248, 466468, 1826347, 2353451, -359251, -2091905, 3119733, -2884855, 3111497, 2680103, 2725464, 1024112, -1079900, 3585928, -549488, -1119584, 2619752, -2108549, -2118186, -3859737, -1399561, -3277672, 1757237, -19422, 4010497, 280005, 2706023, 95776, 3077325, 3530437, -1661693, -3592148, -2537516, 3915439, -3861115, -3043716, 3574422, -2867647, 3539968, -300467, 2348700, -539299, -1699267, -1643818, 3505694, -3821735, 3507263, -2140649, -1600420, 3699596, 811944, 531354, 954230, 3881043, 3900724, -2556880, 2071892, -2797779, -3930395, -1528703, -3677745, -3041255, -1452451, 3475950, 2176455, -1585221, -1257611, 1939314, -4083598, -1000202, -3190144, -3157330, -3632928, 126922, 3412210, -983419, 2147896, 2715295, -2967645, -3693493, -411027, -2477047, -671102, -1228525, -22981, -1308169, -381987, 1349076, 1852771, -1430430, -3343383, 264944, 508951, 3097992, 44288, -1100098, 904516, 3958618, -3724342, -8578, 1653064, -3249728, 2389356, -210977, 759969, -1316856, 189548, -3553272, 3159746, -1851402, -2409325, -177440, 1315589, 1341330, 1285669, -1584928, -812732, -1439742, -3019102, -3881060, -3628969, 3839961, 2091667, 3407706, 2316500, 3817976, -3342478, 2244091, -2446433, -3562462, 266997, 2434439, -1235728, 3513181, -3520352, -3759364, -1197226, -3193378, 900702, 1859098, 909542, 819034, 495491, -1613174, -43260, -522500, -655327, -3122442, 2031748, 3207046, -3556995, -525098, -768622, -3595838, 342297, 286988, -2437823, 4108315, 3437287, -3342277, 1735879, 203044, 2842341, 2691481, -2590150, 1265009, 4055324, 1247620, 2486353, 1595974, -3767016, 1250494, 2635921, -3548272, -2994039, 1869119, 1903435, -1050970, -1333058, 1237275, -3318210, -1430225, -451100, 1312455, 3306115, -1962642, -1279661, 1917081, -2546312, -1374803, 1500165, 777191, 2235880, 3406031, -542412, -2831860, -1671176, -1846953, -2584293, -3724270, 594136, -3776993, -2013608, 2432395, 2454455, -164721, 1957272, 3369112, 185531, -1207385, -3183426, 162844, 1616392, 3014001, 810149, 1652634, -3694233, -1799107, -3038916, 3523897, 3866901, 269760, 2213111, -975884, 1717735, 472078, -426683, 1723600, -1803090, 1910376, -1667432, -1104333, -260646, -3833893, -2939036, -2235985, -420899, -2286327, 183443, -976891, 1612842, -3545687, -554416, 3919660, -48306, -1362209, 3937738, 1400424, -846154, 1976782 }; public int[] coeffs; private final cryKeyMLDSA engine; public cryKeyMLDSApoly(cryKeyMLDSA ng) { coeffs = new int[cryKeyMLDSA.DilithiumN]; engine = ng; } void copyTo(cryKeyMLDSApoly z) { System.arraycopy(coeffs, 0, z.coeffs, 0, cryKeyMLDSA.DilithiumN); } public void uniformBlocks(byte[] seed, short nonce) { int buflen = ((768 + cryKeyMLDSA.stream128BlockBytes - 1) / cryKeyMLDSA.stream128BlockBytes) * cryKeyMLDSA.stream128BlockBytes; byte[] buf = new byte[buflen + 2]; cryHashShake128 d = new cryHashShake128(); d.init(); d.update(seed, 0, seed.length); d.update(nonce); d.update(nonce >> 8); d.fillupBuffer(buf, 0, buflen); int ctr = rejectUniform(this, 0, cryKeyMLDSA.DilithiumN, buf, buflen); while (ctr < cryKeyMLDSA.DilithiumN) { int off = buflen % 3; for (int i = 0; i < off; i++) { buf[i] = buf[buflen - off + i]; } d.fillupBuffer(buf, off, cryKeyMLDSA.stream128BlockBytes); buflen = cryKeyMLDSA.stream128BlockBytes + off; ctr += rejectUniform(this, ctr, cryKeyMLDSA.DilithiumN - ctr, buf, buflen); } } private static int rejectUniform(cryKeyMLDSApoly outputPoly, int coeffOff, int len, byte[] inpBuf, int buflen) { int ctr = 0; int pos = 0; while (ctr < len && pos + 3 <= buflen) { int t = (inpBuf[pos++] & 0xFF); t |= (inpBuf[pos++] & 0xFF) << 8; t |= (inpBuf[pos++] & 0xFF) << 16; t &= 0x7FFFFF; if (t < cryKeyMLDSA.DilithiumQ) { outputPoly.coeffs[coeffOff + ctr] = t; ctr++; } } return ctr; } public void uniformEta(byte[] seed, short nonce) { int polyUniformEtaNBlocks; if (engine.DilithiumEta == 2) { polyUniformEtaNBlocks = ((136 + cryKeyMLDSA.stream256BlockBytes - 1) / cryKeyMLDSA.stream256BlockBytes); } else { polyUniformEtaNBlocks = ((227 + cryKeyMLDSA.stream256BlockBytes - 1) / cryKeyMLDSA.stream256BlockBytes); } int buflen = polyUniformEtaNBlocks * cryKeyMLDSA.stream256BlockBytes; byte[] buf = new byte[buflen]; cryHashShake256 d = new cryHashShake256(); d.init(); d.update(seed, 0, seed.length); d.update(nonce); d.update(nonce >> 8); d.fillupBuffer(buf, 0, buflen); int ctr = rejectEta(this, 0, cryKeyMLDSA.DilithiumN, buf, buflen, engine.DilithiumEta); while (ctr < cryKeyMLDSA.DilithiumN) { d.fillupBuffer(buf, 0, cryKeyMLDSA.stream256BlockBytes); ctr += rejectEta(this, ctr, cryKeyMLDSA.DilithiumN - ctr, buf, cryKeyMLDSA.stream256BlockBytes, engine.DilithiumEta); } } private static int rejectEta(cryKeyMLDSApoly outputPoly, int coeffOff, int len, byte[] buf, int buflen, int eta) { int ctr = 0; int pos = 0; while (ctr < len && pos < buflen) { int t0 = (buf[pos] & 0xFF) & 0x0F; int t1 = (buf[pos++] & 0xFF) >> 4; if (eta == 2) { if (t0 < 15) { t0 = t0 - (205 * t0 >> 10) * 5; outputPoly.coeffs[coeffOff + ctr] = 2 - t0; ctr++; } if (t1 < 15 && ctr < len) { t1 = t1 - (205 * t1 >> 10) * 5; outputPoly.coeffs[coeffOff + ctr] = 2 - t1; ctr++; } } else { if (t0 < 9) { outputPoly.coeffs[coeffOff + ctr] = 4 - t0; ctr++; } if (t1 < 9 && ctr < len) { outputPoly.coeffs[coeffOff + ctr] = 4 - t1; ctr++; } } } return ctr; } public void polyNtt() { int[] r = new int[coeffs.length]; System.arraycopy(coeffs, 0, r, 0, coeffs.length); int len, start, j, k; int zeta, t; k = 0; for (len = 128; len > 0; len >>>= 1) { for (start = 0; start < cryKeyMLDSA.DilithiumN; start = j + len) { zeta = nttZetas[++k]; for (j = start; j < start + len; j++) { t = montgomeryReduce(((long) zeta * (long) r[j + len])); r[j + len] = r[j] - t; r[j] = r[j] + t; } } } coeffs = r; } public void pointwiseMontgomery(cryKeyMLDSApoly v, cryKeyMLDSApoly w) { int i; for (i = 0; i < cryKeyMLDSA.DilithiumN; i++) { coeffs[i] = montgomeryReduce((long) v.coeffs[i] * (long) w.coeffs[i]); } } public void pointwiseAccountMontgomery(cryKeyMLDSAvecL u, cryKeyMLDSAvecL v) { cryKeyMLDSApoly t = new cryKeyMLDSApoly(engine); pointwiseMontgomery(u.vec[0], v.vec[0]); for (int i = 1; i < engine.DilithiumL; i++) { t.pointwiseMontgomery(u.vec[i], v.vec[i]); addPoly(t); } } public void addPoly(cryKeyMLDSApoly a) { int i; for (i = 0; i < cryKeyMLDSA.DilithiumN; i++) { coeffs[i] = coeffs[i] + a.coeffs[i]; } } public void reduce() { for (int i = 0; i < cryKeyMLDSA.DilithiumN; i++) { coeffs[i] = reduce32(coeffs[i]); } } public void invNttToMont() { int[] out = new int[coeffs.length]; System.arraycopy(coeffs, 0, out, 0, coeffs.length); int k = 256; int j = 0; for (int len = 1; len < cryKeyMLDSA.DilithiumN; len <<= 1) { for (int start = 0; start < cryKeyMLDSA.DilithiumN; start = j + len) { int zeta = (-1) * nttZetas[--k]; for (j = start; j < start + len; j++) { int t = out[j]; out[j] = t + out[j + len]; out[j + len] = t - out[j + len]; out[j + len] = montgomeryReduce((long) zeta * (long) out[j + len]); } } } for (j = 0; j < cryKeyMLDSA.DilithiumN; j++) { out[j] = montgomeryReduce((long) 41978 * (long) out[j]); } coeffs = out; } public void conditionalAddQ() { for (int i = 0; i < cryKeyMLDSA.DilithiumN; i++) { coeffs[i] = conditionalAddQ(coeffs[i]); } } public void power2Round(cryKeyMLDSApoly a) { for (int i = 0; i < cryKeyMLDSA.DilithiumN; i++) { int[] p2r = power2Round(coeffs[i]); coeffs[i] = p2r[0]; a.coeffs[i] = p2r[1]; } } public byte[] polyt1Pack() { byte[] out = new byte[cryKeyMLDSA.DilithiumPolyT1PackedBytes]; for (int i = 0; i < cryKeyMLDSA.DilithiumN / 4; i++) { out[5 * i + 0] = (byte) (coeffs[4 * i + 0] >> 0); out[5 * i + 1] = (byte) ((coeffs[4 * i + 0] >> 8) | (coeffs[4 * i + 1] << 2)); out[5 * i + 2] = (byte) ((coeffs[4 * i + 1] >> 6) | (coeffs[4 * i + 2] << 4)); out[5 * i + 3] = (byte) ((coeffs[4 * i + 2] >> 4) | (coeffs[4 * i + 3] << 6)); out[5 * i + 4] = (byte) (coeffs[4 * i + 3] >> 2); } return out; } public void polyt1Unpack(byte[] a) { for (int i = 0; i < cryKeyMLDSA.DilithiumN / 4; i++) { coeffs[4 * i + 0] = (((a[5 * i + 0] & 0xFF) >> 0) | ((a[5 * i + 1] & 0xFF) << 8)) & 0x3FF; coeffs[4 * i + 1] = (((a[5 * i + 1] & 0xFF) >> 2) | ((a[5 * i + 2] & 0xFF) << 6)) & 0x3FF; coeffs[4 * i + 2] = (((a[5 * i + 2] & 0xFF) >> 4) | ((a[5 * i + 3] & 0xFF) << 4)) & 0x3FF; coeffs[4 * i + 3] = (((a[5 * i + 3] & 0xFF) >> 6) | ((a[5 * i + 4] & 0xFF) << 2)) & 0x3FF; } } public byte[] polyEtaPack(byte[] out, int outOff) { byte[] t = new byte[8]; if (engine.DilithiumEta == 2) { for (int i = 0; i < cryKeyMLDSA.DilithiumN / 8; i++) { t[0] = (byte) (engine.DilithiumEta - coeffs[8 * i + 0]); t[1] = (byte) (engine.DilithiumEta - coeffs[8 * i + 1]); t[2] = (byte) (engine.DilithiumEta - coeffs[8 * i + 2]); t[3] = (byte) (engine.DilithiumEta - coeffs[8 * i + 3]); t[4] = (byte) (engine.DilithiumEta - coeffs[8 * i + 4]); t[5] = (byte) (engine.DilithiumEta - coeffs[8 * i + 5]); t[6] = (byte) (engine.DilithiumEta - coeffs[8 * i + 6]); t[7] = (byte) (engine.DilithiumEta - coeffs[8 * i + 7]); out[outOff + 3 * i + 0] = (byte) ((t[0] >> 0) | (t[1] << 3) | (t[2] << 6)); out[outOff + 3 * i + 1] = (byte) ((t[2] >> 2) | (t[3] << 1) | (t[4] << 4) | (t[5] << 7)); out[outOff + 3 * i + 2] = (byte) ((t[5] >> 1) | (t[6] << 2) | (t[7] << 5)); } } else { for (int i = 0; i < cryKeyMLDSA.DilithiumN / 2; i++) { t[0] = (byte) (engine.DilithiumEta - coeffs[2 * i + 0]); t[1] = (byte) (engine.DilithiumEta - coeffs[2 * i + 1]); out[outOff + i] = (byte) (t[0] | t[1] << 4); } } return out; } public void polyEtaUnpack(byte[] a, int aOff) { if (engine.DilithiumEta == 2) { for (int i = 0; i < cryKeyMLDSA.DilithiumN / 8; i++) { int base = aOff + 3 * i; coeffs[8 * i + 0] = (((a[base + 0] & 0xFF) >> 0)) & 7; coeffs[8 * i + 1] = (((a[base + 0] & 0xFF) >> 3)) & 7; coeffs[8 * i + 2] = ((a[base + 0] & 0xFF) >> 6) | ((a[base + 1] & 0xFF) << 2) & 7; coeffs[8 * i + 3] = (((a[base + 1] & 0xFF) >> 1)) & 7; coeffs[8 * i + 4] = (((a[base + 1] & 0xFF) >> 4)) & 7; coeffs[8 * i + 5] = ((a[base + 1] & 0xFF) >> 7) | ((a[base + 2] & 0xFF) << 1) & 7; coeffs[8 * i + 6] = (((a[base + 2] & 0xFF) >> 2)) & 7; coeffs[8 * i + 7] = (((a[base + 2] & 0xFF) >> 5)) & 7; coeffs[8 * i + 0] = engine.DilithiumEta - coeffs[8 * i + 0]; coeffs[8 * i + 1] = engine.DilithiumEta - coeffs[8 * i + 1]; coeffs[8 * i + 2] = engine.DilithiumEta - coeffs[8 * i + 2]; coeffs[8 * i + 3] = engine.DilithiumEta - coeffs[8 * i + 3]; coeffs[8 * i + 4] = engine.DilithiumEta - coeffs[8 * i + 4]; coeffs[8 * i + 5] = engine.DilithiumEta - coeffs[8 * i + 5]; coeffs[8 * i + 6] = engine.DilithiumEta - coeffs[8 * i + 6]; coeffs[8 * i + 7] = engine.DilithiumEta - coeffs[8 * i + 7]; } } else { for (int i = 0; i < cryKeyMLDSA.DilithiumN / 2; i++) { coeffs[2 * i + 0] = a[aOff + i] & 0x0F; coeffs[2 * i + 1] = (a[aOff + i] & 0xFF) >> 4; coeffs[2 * i + 0] = engine.DilithiumEta - coeffs[2 * i + 0]; coeffs[2 * i + 1] = engine.DilithiumEta - coeffs[2 * i + 1]; } } } public byte[] polyt0Pack(byte[] out, int outOff) { int[] t = new int[8]; for (int i = 0; i < cryKeyMLDSA.DilithiumN / 8; i++) { t[0] = (1 << (cryKeyMLDSA.DilithiumD - 1)) - coeffs[8 * i + 0]; t[1] = (1 << (cryKeyMLDSA.DilithiumD - 1)) - coeffs[8 * i + 1]; t[2] = (1 << (cryKeyMLDSA.DilithiumD - 1)) - coeffs[8 * i + 2]; t[3] = (1 << (cryKeyMLDSA.DilithiumD - 1)) - coeffs[8 * i + 3]; t[4] = (1 << (cryKeyMLDSA.DilithiumD - 1)) - coeffs[8 * i + 4]; t[5] = (1 << (cryKeyMLDSA.DilithiumD - 1)) - coeffs[8 * i + 5]; t[6] = (1 << (cryKeyMLDSA.DilithiumD - 1)) - coeffs[8 * i + 6]; t[7] = (1 << (cryKeyMLDSA.DilithiumD - 1)) - coeffs[8 * i + 7]; int base = outOff + 13 * i; out[base + 0] = (byte) (t[0]); out[base + 1] = (byte) (t[0] >> 8); out[base + 1] = (byte) (out[base + 1] | (byte) (t[1] << 5)); out[base + 2] = (byte) (t[1] >> 3); out[base + 3] = (byte) (t[1] >> 11); out[base + 3] = (byte) (out[base + 3] | (byte) (t[2] << 2)); out[base + 4] = (byte) (t[2] >> 6); out[base + 4] = (byte) (out[base + 4] | (byte) (t[3] << 7)); out[base + 5] = (byte) (t[3] >> 1); out[base + 6] = (byte) (t[3] >> 9); out[base + 6] = (byte) (out[base + 6] | (byte) (t[4] << 4)); out[base + 7] = (byte) (t[4] >> 4); out[base + 8] = (byte) (t[4] >> 12); out[base + 8] = (byte) (out[base + 8] | (byte) (t[5] << 1)); out[base + 9] = (byte) (t[5] >> 7); out[base + 9] = (byte) (out[base + 9] | (byte) (t[6] << 6)); out[base + 10] = (byte) (t[6] >> 2); out[base + 11] = (byte) (t[6] >> 10); out[base + 11] = (byte) (out[base + 11] | (byte) (t[7] << 3)); out[base + 12] = (byte) (t[7] >> 5); } return out; } public void polyt0Unpack(byte[] a, int aOff) { for (int i = 0; i < cryKeyMLDSA.DilithiumN / 8; i++) { int base = aOff + 13 * i; coeffs[8 * i + 0] = ((a[base + 0] & 0xFF) | ((a[base + 1] & 0xFF) << 8)) & 0x1FFF; coeffs[8 * i + 1] = ((((a[base + 1] & 0xFF) >> 5) | ((a[base + 2] & 0xFF) << 3)) | ((a[base + 3] & 0xFF) << 11)) & 0x1FFF; coeffs[8 * i + 2] = ((((a[base + 3] & 0xFF) >> 2) | ((a[base + 4] & 0xFF) << 6))) & 0x1FFF; coeffs[8 * i + 3] = ((((a[base + 4] & 0xFF) >> 7) | ((a[base + 5] & 0xFF) << 1)) | ((a[base + 6] & 0xFF) << 9)) & 0x1FFF; coeffs[8 * i + 4] = ((((a[base + 6] & 0xFF) >> 4) | ((a[base + 7] & 0xFF) << 4)) | ((a[base + 8] & 0xFF) << 12)) & 0x1FFF; coeffs[8 * i + 5] = ((((a[base + 8] & 0xFF) >> 1) | ((a[base + 9] & 0xFF) << 7))) & 0x1FFF; coeffs[8 * i + 6] = ((((a[base + 9] & 0xFF) >> 6) | ((a[base + 10] & 0xFF) << 2)) | ((a[base + 11] & 0xFF) << 10)) & 0x1FFF; coeffs[8 * i + 7] = (((a[base + 11] & 0xFF) >> 3 | ((a[base + 12] & 0xFF) << 5))) & 0x1FFF; coeffs[8 * i + 0] = ((1 << (cryKeyMLDSA.DilithiumD - 1)) - coeffs[8 * i + 0]); coeffs[8 * i + 1] = ((1 << (cryKeyMLDSA.DilithiumD - 1)) - coeffs[8 * i + 1]); coeffs[8 * i + 2] = ((1 << (cryKeyMLDSA.DilithiumD - 1)) - coeffs[8 * i + 2]); coeffs[8 * i + 3] = ((1 << (cryKeyMLDSA.DilithiumD - 1)) - coeffs[8 * i + 3]); coeffs[8 * i + 4] = ((1 << (cryKeyMLDSA.DilithiumD - 1)) - coeffs[8 * i + 4]); coeffs[8 * i + 5] = ((1 << (cryKeyMLDSA.DilithiumD - 1)) - coeffs[8 * i + 5]); coeffs[8 * i + 6] = ((1 << (cryKeyMLDSA.DilithiumD - 1)) - coeffs[8 * i + 6]); coeffs[8 * i + 7] = ((1 << (cryKeyMLDSA.DilithiumD - 1)) - coeffs[8 * i + 7]); } } public void uniformGamma1(byte[] seed, short nonce) { byte[] buf = new byte[engine.PolyUniformGamma1NBlocks * cryKeyMLDSA.stream256BlockBytes]; cryHashShake256 d = new cryHashShake256(); d.init(); d.update(seed, 0, seed.length); d.update(nonce); d.update(nonce >> 8); d.fillupBuffer(buf, 0, engine.PolyUniformGamma1NBlocks * cryKeyMLDSA.stream256BlockBytes); unpackZ(buf); } private void unpackZ(byte[] a) { int gamma1 = engine.DilithiumGamma1; if (gamma1 == (1 << 17)) { for (int i = 0; i < cryKeyMLDSA.DilithiumN / 4; i++) { coeffs[4 * i + 0] = ((((a[9 * i + 0] & 0xFF)) | ((a[9 * i + 1] & 0xFF) << 8)) | ((a[9 * i + 2] & 0xFF) << 16)) & 0x3FFFF; coeffs[4 * i + 1] = ((((a[9 * i + 2] & 0xFF) >> 2) | ((a[9 * i + 3] & 0xFF) << 6)) | ((a[9 * i + 4] & 0xFF) << 14)) & 0x3FFFF; coeffs[4 * i + 2] = ((((a[9 * i + 4] & 0xFF) >> 4) | ((a[9 * i + 5] & 0xFF) << 4)) | ((a[9 * i + 6] & 0xFF) << 12)) & 0x3FFFF; coeffs[4 * i + 3] = ((((a[9 * i + 6] & 0xFF) >> 6) | ((a[9 * i + 7] & 0xFF) << 2)) | ((a[9 * i + 8] & 0xFF) << 10)) & 0x3FFFF; coeffs[4 * i + 0] = gamma1 - coeffs[4 * i + 0]; coeffs[4 * i + 1] = gamma1 - coeffs[4 * i + 1]; coeffs[4 * i + 2] = gamma1 - coeffs[4 * i + 2]; coeffs[4 * i + 3] = gamma1 - coeffs[4 * i + 3]; } } else { for (int i = 0; i < cryKeyMLDSA.DilithiumN / 2; i++) { coeffs[2 * i + 0] = ((((a[5 * i + 0] & 0xFF)) | ((a[5 * i + 1] & 0xFF) << 8)) | ((a[5 * i + 2] & 0xFF) << 16)) & 0xFFFFF; coeffs[2 * i + 1] = ((((a[5 * i + 2] & 0xFF) >> 4) | ((a[5 * i + 3] & 0xFF) << 4)) | ((a[5 * i + 4] & 0xFF) << 12)) & 0xFFFFF; coeffs[2 * i + 0] = gamma1 - coeffs[2 * i + 0]; coeffs[2 * i + 1] = gamma1 - coeffs[2 * i + 1]; } } } public void decompose(cryKeyMLDSApoly a) { int gamma2 = engine.DilithiumGamma2; for (int i = 0; i < cryKeyMLDSA.DilithiumN; i++) { int[] decomp = decompose(coeffs[i], gamma2); coeffs[i] = decomp[1]; a.coeffs[i] = decomp[0]; } } void packW1(byte[] r, int rOff) { int gamma2 = engine.DilithiumGamma2; if (gamma2 == (cryKeyMLDSA.DilithiumQ - 1) / 88) { for (int i = 0; i < cryKeyMLDSA.DilithiumN / 4; i++) { r[rOff + 3 * i + 0] = (byte) (((byte) coeffs[4 * i + 0]) | (coeffs[4 * i + 1] << 6)); r[rOff + 3 * i + 1] = (byte) ((byte) (coeffs[4 * i + 1] >> 2) | (coeffs[4 * i + 2] << 4)); r[rOff + 3 * i + 2] = (byte) ((byte) (coeffs[4 * i + 2] >> 4) | (coeffs[4 * i + 3] << 2)); } } else { for (int i = 0; i < cryKeyMLDSA.DilithiumN / 2; i++) { r[rOff + i] = (byte) (coeffs[2 * i + 0] | (coeffs[2 * i + 1] << 4)); } } } public void challenge(byte[] seed, int seedOff, int seedLen) { byte[] buf = new byte[cryKeyMLDSA.stream256BlockBytes]; cryHashShake256 d = new cryHashShake256(); d.init(); d.update(seed, seedOff, seedLen); d.fillupBuffer(buf, 0, cryKeyMLDSA.stream256BlockBytes); long signs = (long) 0; for (int i = 0; i < 8; i++) { signs |= (long) (buf[i] & 0xFF) << 8 * i; } int pos = 8; for (int i = 0; i < cryKeyMLDSA.DilithiumN; i++) { coeffs[i] = 0; } int b = 0; for (int i = cryKeyMLDSA.DilithiumN - engine.DilithiumTau; i < cryKeyMLDSA.DilithiumN; i++) { do { if (pos >= cryKeyMLDSA.stream256BlockBytes) { d.fillupBuffer(buf, 0, cryKeyMLDSA.stream256BlockBytes); pos = 0; } b = (buf[pos++] & 0xFF); } while (b > i); coeffs[i] = coeffs[b]; coeffs[b] = (int) (1 - 2 * (signs & 1)); signs = signs >> 1; } } public boolean checkNorm(int B) { if (B > (cryKeyMLDSA.DilithiumQ - 1) / 8) { return true; } for (int i = 0; i < cryKeyMLDSA.DilithiumN; i++) { int t = coeffs[i] >> 31; t = coeffs[i] - (t & 2 * coeffs[i]); if (t >= B) { return true; } } return false; } public void subtract(cryKeyMLDSApoly inpPoly) { for (int i = 0; i < cryKeyMLDSA.DilithiumN; i++) { coeffs[i] = coeffs[i] - inpPoly.coeffs[i]; } } public int polyMakeHint(cryKeyMLDSApoly a0, cryKeyMLDSApoly a1) { int s = 0; for (int i = 0; i < cryKeyMLDSA.DilithiumN; i++) { coeffs[i] = makeHint(a0.coeffs[i], a1.coeffs[i], engine); s += coeffs[i]; } return s; } public void polyUseHint(cryKeyMLDSApoly a, cryKeyMLDSApoly h) { for (int i = 0; i < cryKeyMLDSA.DilithiumN; i++) { coeffs[i] = useHint(a.coeffs[i], h.coeffs[i], engine.DilithiumGamma2); } } public void zPack(byte[] z, int zOff) { int gamma1 = engine.DilithiumGamma1; if (gamma1 == (1 << 17)) { for (int i = 0; i < cryKeyMLDSA.DilithiumN / 4; i++) { int t0 = gamma1 - coeffs[4 * i + 0]; int t1 = gamma1 - coeffs[4 * i + 1]; int t2 = gamma1 - coeffs[4 * i + 2]; int t3 = gamma1 - coeffs[4 * i + 3]; z[zOff + 9 * i + 0] = (byte) t0; z[zOff + 9 * i + 1] = (byte) (t0 >> 8); z[zOff + 9 * i + 2] = (byte) ((byte) (t0 >> 16) | (t1 << 2)); z[zOff + 9 * i + 3] = (byte) (t1 >> 6); z[zOff + 9 * i + 4] = (byte) ((byte) (t1 >> 14) | (t2 << 4)); z[zOff + 9 * i + 5] = (byte) (t2 >> 4); z[zOff + 9 * i + 6] = (byte) ((byte) (t2 >> 12) | (t3 << 6)); z[zOff + 9 * i + 7] = (byte) (t3 >> 2); z[zOff + 9 * i + 8] = (byte) (t3 >> 10); } } else { for (int i = 0; i < cryKeyMLDSA.DilithiumN / 2; i++) { int t0 = gamma1 - coeffs[2 * i + 0]; int t1 = gamma1 - coeffs[2 * i + 1]; z[zOff + 5 * i + 0] = (byte) t0; z[zOff + 5 * i + 1] = (byte) (t0 >> 8); z[zOff + 5 * i + 2] = (byte) ((byte) (t0 >> 16) | (t1 << 4)); z[zOff + 5 * i + 3] = (byte) (t1 >> 4); z[zOff + 5 * i + 4] = (byte) (t1 >> 12); } } } public void zUnpack(byte[] a) { if (engine.DilithiumGamma1 == (1 << 17)) { for (int i = 0; i < cryKeyMLDSA.DilithiumN / 4; i++) { coeffs[4 * i + 0] = (((a[9 * i + 0] & 0xFF) | ((a[9 * i + 1] & 0xFF) << 8)) | ((a[9 * i + 2] & 0xFF) << 16)) & 0x3FFFF; coeffs[4 * i + 1] = ((((a[9 * i + 2] & 0xFF) >>> 2) | ((a[9 * i + 3] & 0xFF) << 6)) | ((a[9 * i + 4] & 0xFF) << 14)) & 0x3FFFF; coeffs[4 * i + 2] = ((((a[9 * i + 4] & 0xFF) >>> 4) | ((a[9 * i + 5] & 0xFF) << 4)) | ((a[9 * i + 6] & 0xFF) << 12)) & 0x3FFFF; coeffs[4 * i + 3] = ((((a[9 * i + 6] & 0xFF) >>> 6) | ((a[9 * i + 7] & 0xFF) << 2)) | ((a[9 * i + 8] & 0xFF) << 10)) & 0x3FFFF; coeffs[4 * i + 0] = engine.DilithiumGamma1 - coeffs[4 * i + 0]; coeffs[4 * i + 1] = engine.DilithiumGamma1 - coeffs[4 * i + 1]; coeffs[4 * i + 2] = engine.DilithiumGamma1 - coeffs[4 * i + 2]; coeffs[4 * i + 3] = engine.DilithiumGamma1 - coeffs[4 * i + 3]; } } else { for (int i = 0; i < cryKeyMLDSA.DilithiumN / 2; i++) { coeffs[2 * i + 0] = (((((a[5 * i + 0] & 0xFF)) | ((a[5 * i + 1] & 0xFF) << 8)) | ((a[5 * i + 2] & 0xFF) << 16)) & 0xFFFFF); coeffs[2 * i + 1] = ((((((a[5 * i + 2] & 0xFF) >>> 4)) | ((a[5 * i + 3] & 0xFF) << 4)) | ((a[5 * i + 4] & 0xFF) << 12)) & 0xFFFFF); coeffs[2 * i + 0] = engine.DilithiumGamma1 - coeffs[2 * i + 0]; coeffs[2 * i + 1] = engine.DilithiumGamma1 - coeffs[2 * i + 1]; } } } public void shiftLeft() { for (int i = 0; i < cryKeyMLDSA.DilithiumN; i++) { coeffs[i] = coeffs[i] << cryKeyMLDSA.DilithiumD; } } public int montgomeryReduce(long a) { int t = (int) (a * cryKeyMLDSA.DilithiumQinv); t = (int) ((a - ((long) t) * cryKeyMLDSA.DilithiumQ) >>> 32); return t; } public int reduce32(int a) { int t = (a + (1 << 22)) >> 23; t = a - t * cryKeyMLDSA.DilithiumQ; return t; } public int conditionalAddQ(int a) { a += (a >> 31) & cryKeyMLDSA.DilithiumQ; return a; } public int[] power2Round(int a) { int[] out = new int[2]; out[0] = (a + (1 << (cryKeyMLDSA.DilithiumD - 1)) - 1) >> cryKeyMLDSA.DilithiumD; out[1] = a - (out[0] << cryKeyMLDSA.DilithiumD); return out; } public int[] decompose(int a, int gamma2) { int a1 = (a + 127) >> 7; if (gamma2 == (cryKeyMLDSA.DilithiumQ - 1) / 32) { a1 = (a1 * 1025 + (1 << 21)) >> 22; a1 &= 15; } else { a1 = (a1 * 11275 + (1 << 23)) >> 24; a1 ^= ((43 - a1) >> 31) & a1; } int a0 = a - a1 * 2 * gamma2; a0 -= (((cryKeyMLDSA.DilithiumQ - 1) / 2 - a0) >> 31) & cryKeyMLDSA.DilithiumQ; return new int[]{a0, a1}; } public int makeHint(int a0, int a1, cryKeyMLDSA engine) { int g2 = engine.DilithiumGamma2, q = cryKeyMLDSA.DilithiumQ; if (a0 <= g2 || a0 > q - g2 || (a0 == q - g2 && a1 == 0)) { return 0; } return 1; } public int useHint(int a, int hint, int gamma2) { int[] intArray = decompose(a, gamma2); int a0 = intArray[0]; int a1 = intArray[1]; if (hint == 0) { return a1; } if (gamma2 == (cryKeyMLDSA.DilithiumQ - 1) / 32) { if (a0 > 0) { return (a1 + 1) & 15; } else { return (a1 - 1) & 15; } } else { if (a0 > 0) { return (a1 == 43) ? 0 : a1 + 1; } else { return (a1 == 0) ? 43 : a1 - 1; } } } } class cryKeyMLDSAvec { public final cryKeyMLDSApoly[] vec; public cryKeyMLDSAvec(cryKeyMLDSA engine, int siz) { vec = new cryKeyMLDSApoly[siz]; for (int i = 0; i < vec.length; i++) { vec[i] = new cryKeyMLDSApoly(engine); } } public void uniformBlocks(byte[] rho, int t) { for (int i = 0; i < vec.length; i++) { vec[i].uniformBlocks(rho, (short) (t + i)); } } public void uniformEta(byte[] seed, short nonce) { short n = nonce; for (int i = 0; i < vec.length; i++) { vec[i].uniformEta(seed, n++); } } void copyTo(cryKeyMLDSAvecL z) { for (int i = 0; i < vec.length; i++) { vec[i].copyTo(z.vec[i]); } } public void polyVecNtt() { for (int i = 0; i < vec.length; i++) { vec[i].polyNtt(); } } public void uniformGamma1(byte[] seed, short nonce) { for (int i = 0; i < vec.length; i++) { vec[i].uniformGamma1(seed, (short) (vec.length * nonce + i)); } } public void pointwisePolyMontgomery(cryKeyMLDSApoly a, cryKeyMLDSAvecL v) { for (int i = 0; i < vec.length; i++) { vec[i].pointwiseMontgomery(a, v.vec[i]); } } public void invNttToMont() { for (int i = 0; i < vec.length; i++) { vec[i].invNttToMont(); } } public void addPolyVecL(cryKeyMLDSAvecL v) { for (int i = 0; i < vec.length; i++) { vec[i].addPoly(v.vec[i]); } } public void reduce() { for (int i = 0; i < vec.length; i++) { vec[i].reduce(); } } public boolean checkNorm(int bound) { for (int i = 0; i < vec.length; i++) { if (vec[i].checkNorm(bound)) { return true; } } return false; } public void addPolyVecK(cryKeyMLDSAvecK b) { for (int i = 0; i < vec.length; i++) { vec[i].addPoly(b.vec[i]); } } public void conditionalAddQ() { for (int i = 0; i < vec.length; i++) { vec[i].conditionalAddQ(); } } public void power2Round(cryKeyMLDSAvecK pvk) { for (int i = 0; i < vec.length; i++) { vec[i].power2Round(pvk.vec[i]); } } public void decompose(cryKeyMLDSAvecK v) { for (int i = 0; i < vec.length; i++) { vec[i].decompose(v.vec[i]); } } public void packW1(cryKeyMLDSA engine, byte[] r, int rOff) { for (int i = 0; i < vec.length; i++) { vec[i].packW1(r, rOff + i * engine.DilithiumPolyW1PackedBytes); } } public void pointwisePolyMontgomery(cryKeyMLDSApoly a, cryKeyMLDSAvecK v) { for (int i = 0; i < vec.length; i++) { vec[i].pointwiseMontgomery(a, v.vec[i]); } } public void subtract(cryKeyMLDSAvecK inpVec) { for (int i = 0; i < vec.length; i++) { vec[i].subtract(inpVec.vec[i]); } } public int makeHint(cryKeyMLDSAvecK v0, cryKeyMLDSAvecK v1) { int s = 0; for (int i = 0; i < vec.length; i++) { s += vec[i].polyMakeHint(v0.vec[i], v1.vec[i]); } return s; } public void useHint(cryKeyMLDSAvecK u, cryKeyMLDSAvecK h) { for (int i = 0; i < vec.length; i++) { vec[i].polyUseHint(u.vec[i], h.vec[i]); } } public void shiftLeft() { for (int i = 0; i < vec.length; i++) { vec[i].shiftLeft(); } } } class cryKeyMLDSAvecK extends cryKeyMLDSAvec { public cryKeyMLDSAvecK(cryKeyMLDSA engine) { super(engine, engine.DilithiumK); } } class cryKeyMLDSAvecL extends cryKeyMLDSAvec { public cryKeyMLDSAvecL(cryKeyMLDSA engine) { super(engine, engine.DilithiumL); } } class cryKeyMLDSAmat { private final cryKeyMLDSAvecL[] matrix; public cryKeyMLDSAmat(cryKeyMLDSA engine) { matrix = new cryKeyMLDSAvecL[engine.DilithiumK]; for (int i = 0; i < matrix.length; i++) { matrix[i] = new cryKeyMLDSAvecL(engine); } } public void pointwiseMontgomery(cryKeyMLDSAvecK t, cryKeyMLDSAvecL v) { for (int i = 0; i < matrix.length; i++) { t.vec[i].pointwiseAccountMontgomery(matrix[i], v); } } public void expandMatrix(byte[] rho) { for (int i = 0; i < matrix.length; i++) { matrix[i].uniformBlocks(rho, i << 8); } } } freeRtr-25.11.9/src/org/freertr/cry/cryKeyMLKEM.java000066400000000000000000001122441510423065500220320ustar00rootroot00000000000000package org.freertr.cry; import org.freertr.pack.packHolder; import org.freertr.util.bits; /** * module lattice key exchange * * @author matecsaba */ public class cryKeyMLKEM extends cryKeyGeneric { /** * create instance */ public cryKeyMLKEM() { } /** * tls value */ public final static int tlsVal512 = 0x200; /** * tls value */ public final static int tlsVal768 = 0x201; /** * tls value */ public final static int tlsVal1024 = 0x202; /** * magic values */ protected final static int KyberN = 256; /** * magic values */ protected final static int KyberQ = 3329; /** * magic values */ protected final static int KyberQinv = 62209; /** * magic values */ protected final static int KyberSymBytes = 32; /** * magic values */ protected final static int KyberPolyBytes = 384; /** * magic values */ protected final static int KyberEta2 = 2; /** * magic values */ protected final int sessionKeyLength = 32; /** * magic values */ protected int KyberK; /** * magic values */ protected int KyberEta1; /** * magic values */ protected int KyberPolyVecBytes; /** * magic values */ protected int KyberPolyCompressedBytes; /** * magic values */ protected int KyberPolyVecCompressedBytes; /** * magic values */ protected int KyberIndCpaPublicKeyBytes; /** * common value */ protected byte[] common; /** * client private value */ protected byte[] clntPriv; /** * client public value */ protected byte[] clntPub; /** * server public value */ protected byte[] servPub; private byte[][] kemEncryptInternal(byte[] publicKeyInput, byte[] randBytes) { byte[] buf = new byte[2 * KyberSymBytes]; byte[] kr = new byte[2 * KyberSymBytes]; bits.byteCopy(randBytes, 0, buf, 0, KyberSymBytes); symmetricHashH(buf, publicKeyInput, KyberSymBytes); symmetricHashG(kr, buf); byte[] msg = new byte[KyberSymBytes]; bits.byteCopy(buf, 0, msg, 0, msg.length); byte[] coins = new byte[kr.length - 32]; bits.byteCopy(kr, 32, coins, 0, coins.length); cryKeyMLKEMvec sp = new cryKeyMLKEMvec(this); cryKeyMLKEMvec publicKeyPolyVec = new cryKeyMLKEMvec(this); cryKeyMLKEMvec errorPolyVector = new cryKeyMLKEMvec(this); cryKeyMLKEMvec bp = new cryKeyMLKEMvec(this); cryKeyMLKEMvec[] aMatrixTranspose = new cryKeyMLKEMvec[KyberK]; cryKeyMLKEMpoly errorPoly = new cryKeyMLKEMpoly(this); cryKeyMLKEMpoly v = new cryKeyMLKEMpoly(this); cryKeyMLKEMpoly k = new cryKeyMLKEMpoly(this); byte[] seed = unpackPublicKey(publicKeyPolyVec, publicKeyInput); k.fromMsg(msg); for (int i = 0; i < KyberK; i++) { aMatrixTranspose[i] = new cryKeyMLKEMvec(this); } generateMatrix(aMatrixTranspose, seed, true); byte nonce = (byte) 0; for (int i = 0; i < KyberK; i++) { sp.vec[i].getEta1Noise(coins, nonce); nonce = (byte) (nonce + (byte) 1); } for (int i = 0; i < KyberK; i++) { errorPolyVector.vec[i].getEta2Noise(coins, nonce); nonce = (byte) (nonce + (byte) 1); } errorPoly.getEta2Noise(coins, nonce); sp.polyVecNtt(); for (int i = 0; i < KyberK; i++) { bp.vec[i].pointwiseAccountMontgomery(aMatrixTranspose[i], sp, this); } v.pointwiseAccountMontgomery(publicKeyPolyVec, sp, this); bp.polyVecInverseNttToMont(); v.polyInverseNttToMont(); bp.addPoly(errorPolyVector); v.addCoeffs(errorPoly); v.addCoeffs(k); bp.reducePoly(); v.reduce(); byte[] outputCipherText = packCipherText(bp, v); byte[] outputSharedSecret = new byte[sessionKeyLength]; bits.byteCopy(kr, 0, outputSharedSecret, 0, outputSharedSecret.length); return new byte[][]{outputSharedSecret, outputCipherText}; } private byte[] kemDecryptInternal(byte[] secretKey, byte[] cipherText) { byte[] buf = new byte[2 * KyberSymBytes]; byte[] kr = new byte[2 * KyberSymBytes]; cryKeyMLKEMvec bp = new cryKeyMLKEMvec(this); cryKeyMLKEMvec secretKeyPolyVec = new cryKeyMLKEMvec(this); cryKeyMLKEMpoly v = new cryKeyMLKEMpoly(this); cryKeyMLKEMpoly mp = new cryKeyMLKEMpoly(this); unpackCipherText(bp, v, cipherText); unpackSecretKey(secretKeyPolyVec, secretKey); bp.polyVecNtt(); mp.pointwiseAccountMontgomery(secretKeyPolyVec, bp, this); mp.polyInverseNttToMont(); mp.polySubtract(v); mp.reduce(); bits.byteCopy(mp.toMsg(), 0, buf, 0, KyberSymBytes); bits.byteCopy(secretKey, KyberPolyVecBytes + KyberIndCpaPublicKeyBytes, buf, KyberSymBytes, KyberSymBytes); symmetricHashG(kr, buf); buf = new byte[sessionKeyLength]; bits.byteCopy(kr, 0, buf, 0, buf.length); return buf; } private byte[][] kemKeygenInternal(byte[] d) { cryKeyMLKEMvec secretKey = new cryKeyMLKEMvec(this); cryKeyMLKEMvec publicKey = new cryKeyMLKEMvec(this); cryKeyMLKEMvec e = new cryKeyMLKEMvec(this); byte[] buf = new byte[64]; symmetricHashG(buf, bits.byteConcat(d, new byte[]{(byte) KyberK})); byte[] publicSeed = new byte[32]; byte[] noiseSeed = new byte[32]; bits.byteCopy(buf, 0, publicSeed, 0, 32); bits.byteCopy(buf, 32, noiseSeed, 0, 32); byte count = (byte) 0; cryKeyMLKEMvec[] aMatrix = new cryKeyMLKEMvec[KyberK]; for (int i = 0; i < KyberK; i++) { aMatrix[i] = new cryKeyMLKEMvec(this); } generateMatrix(aMatrix, publicSeed, false); for (int i = 0; i < KyberK; i++) { secretKey.vec[i].getEta1Noise(noiseSeed, count); count = (byte) (count + (byte) 1); } for (int i = 0; i < KyberK; i++) { e.vec[i].getEta1Noise(noiseSeed, count); count = (byte) (count + (byte) 1); } secretKey.polyVecNtt(); e.polyVecNtt(); for (int i = 0; i < KyberK; i++) { publicKey.vec[i].pointwiseAccountMontgomery(aMatrix[i], secretKey, this); publicKey.vec[i].convertToMont(); } publicKey.addPoly(e); publicKey.reducePoly(); byte[] publicBuf = packPublicKey(publicKey, publicSeed); byte[] secretBuf = packSecretKey(secretKey); byte[] s = new byte[KyberPolyVecBytes]; bits.byteCopy(secretBuf, 0, s, 0, KyberPolyVecBytes); byte[] hashedPublicKey = new byte[32]; symmetricHashH(hashedPublicKey, publicBuf, 0); buf = bits.byteConcat(secretBuf, publicBuf); buf = bits.byteConcat(buf, hashedPublicKey); return new byte[][]{publicBuf, buf}; } private byte[] kemDecrypt(byte[] secretKey, byte[] cipherText) { return kemDecryptInternal(secretKey, cipherText); } private byte[][] kemEncrypt(byte[] publicKeyInput) { byte[] randBytes = new byte[32]; for (int i = 0; i < randBytes.length; i++) { randBytes[i] = (byte) bits.randomB(); } return kemEncryptInternal(publicKeyInput, randBytes); } private byte[][] kemKeygen() { byte[] d = new byte[KyberSymBytes]; for (int i = 0; i < d.length; i++) { d[i] = (byte) bits.randomB(); } return kemKeygenInternal(d); } private byte[] packCipherText(cryKeyMLKEMvec b, cryKeyMLKEMpoly v) { byte[] outBuf = new byte[KyberPolyVecCompressedBytes + KyberPolyCompressedBytes]; bits.byteCopy(b.compressPolyVec(), 0, outBuf, 0, KyberPolyVecCompressedBytes); bits.byteCopy(v.compressPoly(), 0, outBuf, KyberPolyVecCompressedBytes, KyberPolyCompressedBytes); return outBuf; } private void unpackCipherText(cryKeyMLKEMvec b, cryKeyMLKEMpoly v, byte[] cipherText) { byte[] compressedPolyVecCipherText = new byte[KyberPolyVecCompressedBytes]; bits.byteCopy(cipherText, 0, compressedPolyVecCipherText, 0, compressedPolyVecCipherText.length); b.decompressPolyVec(compressedPolyVecCipherText); byte[] compressedPolyCipherText = new byte[cipherText.length - KyberPolyVecCompressedBytes]; bits.byteCopy(cipherText, KyberPolyVecCompressedBytes, compressedPolyCipherText, 0, compressedPolyCipherText.length); v.decompressPoly(compressedPolyCipherText); } private byte[] packPublicKey(cryKeyMLKEMvec publicKeyPolyVec, byte[] seed) { byte[] buf = new byte[KyberIndCpaPublicKeyBytes]; bits.byteCopy(publicKeyPolyVec.toBytes(), 0, buf, 0, KyberPolyVecBytes); bits.byteCopy(seed, 0, buf, KyberPolyVecBytes, cryKeyMLKEM.KyberSymBytes); return buf; } private byte[] unpackPublicKey(cryKeyMLKEMvec publicKeyPolyVec, byte[] publicKey) { byte[] outputSeed = new byte[cryKeyMLKEM.KyberSymBytes]; publicKeyPolyVec.fromBytes(publicKey); bits.byteCopy(publicKey, KyberPolyVecBytes, outputSeed, 0, cryKeyMLKEM.KyberSymBytes); return outputSeed; } private byte[] packSecretKey(cryKeyMLKEMvec secretKeyPolyVec) { return secretKeyPolyVec.toBytes(); } private void unpackSecretKey(cryKeyMLKEMvec secretKeyPolyVec, byte[] secretKey) { secretKeyPolyVec.fromBytes(secretKey); } private void symmetricHashH(byte[] out, byte[] in, int outOffset) { cryHashSha3256 h = new cryHashSha3256(); h.init(); h.update(in, 0, in.length); byte[] buf = h.finish(); bits.byteCopy(buf, 0, out, outOffset, buf.length); } private void symmetricHashG(byte[] out, byte[] in) { cryHashSha3512 h = new cryHashSha3512(); h.init(); h.update(in, 0, in.length); byte[] buf = h.finish(); bits.byteCopy(buf, 0, out, 0, buf.length); } private void generateMatrix(cryKeyMLKEMvec[] aMatrix, byte[] seed, boolean transposed) { int xofBlockBytes = 168; int matrixNBlocks = ((12 * cryKeyMLKEM.KyberN / 8 * (1 << 12) / cryKeyMLKEM.KyberQ + xofBlockBytes) / xofBlockBytes); byte[] buf = new byte[matrixNBlocks * xofBlockBytes + 2]; cryHashShake128 h = new cryHashShake128(); for (int i = 0; i < KyberK; i++) { for (int j = 0; j < KyberK; j++) { h.init(); h.update(seed, 0, seed.length); if (transposed) { h.update(i); h.update(j); } else { h.update(j); h.update(i); } int outLen = matrixNBlocks * xofBlockBytes; h.fillupBuffer(buf, 0, outLen); int ctr = aMatrix[i].vec[j].rejectionSampling(0, cryKeyMLKEM.KyberN, buf, outLen); while (ctr < KyberN) { int off = outLen % 3; for (int k = 0; k < off; k++) { buf[k] = buf[outLen - off + k]; } outLen = xofBlockBytes * 2; h.fillupBuffer(buf, off, outLen); outLen = off + xofBlockBytes; ctr += aMatrix[i].vec[j].rejectionSampling(ctr, cryKeyMLKEM.KyberN - ctr, buf, outLen); } } } } public String algName() { return "mlkem"; } public String sshName() { return "mlkem" + keySize() + "-sha" + (keySize() < 1024 ? 256 : 384); } public cryHashGeneric sshHash() { if (keySize() < 1024) { return new cryHashSha2256(); } return new cryHashSha2384(); } public boolean certReader(packHolder pck) { return true; } public void certWriter(packHolder pck) { } public boolean privReader(packHolder pck) { return true; } public void privWriter(packHolder pck) { } public boolean certVerify(cryHashGeneric pkcs, byte[] hash, byte[] sign) { return true; } public byte[] certSigning(cryHashGeneric pkcs, byte[] hash) { return null; } public boolean tlsVerify(int ver, cryHashGeneric pkcs, byte[] hash, byte[] sign) { return true; } public byte[] tlsSigning(int ver, cryHashGeneric pkcs, byte[] hash) { return null; } public boolean keyMakeSize(int len) { switch (len) { case 512: KyberK = 2; KyberEta1 = 3; KyberPolyCompressedBytes = 128; KyberPolyVecCompressedBytes = KyberK * 320; break; case 768: KyberK = 3; KyberEta1 = 2; KyberPolyCompressedBytes = 128; KyberPolyVecCompressedBytes = KyberK * 320; break; case 1024: KyberK = 4; KyberEta1 = 2; KyberPolyCompressedBytes = 160; KyberPolyVecCompressedBytes = KyberK * 352; break; default: return true; } KyberPolyVecBytes = KyberK * KyberPolyBytes; KyberIndCpaPublicKeyBytes = KyberPolyVecBytes + KyberSymBytes; return false; } public boolean keyMakeName(String nam) { return true; } public boolean keyMakeTls(int id) { keyMakeSize(256 * (id - tlsVal512 + 2)); return true; } public boolean keyMakeIke(int id) { return true; } public int keyMakeVal() { return tlsVal512 + KyberK - 2; } public boolean keyVerify() { return false; } public int keySize() { return 256 * KyberK; } public String keyDump() { return "cln=" + bits.byteDump(clntPub, 0, -1) + " srv=" + bits.byteDump(servPub, 0, -1) + " res=" + bits.byteDump(common, 0, -1); } public void keyClntInit() { byte[][] k = kemKeygen(); clntPub = k[0]; clntPriv = k[1]; } public void keyServInit() { } public void keyClntCalc() { common = kemDecrypt(clntPriv, servPub); } public void keyServCalc() { byte[][] k = kemEncrypt(clntPub); common = k[0]; servPub = k[1]; } public byte[] keyCommonTls() { return common; } public byte[] keyCommonSsh() { return common; } public byte[] keyCommonIke() { return common; } public byte[] keyClntTls() { return clntPub; } public byte[] keyServTls() { return servPub; } public boolean keyClntTls(byte[] buf, int ofs) { clntPub = new byte[buf.length - ofs]; bits.byteCopy(buf, ofs, clntPub, 0, clntPub.length); return false; } public boolean keyServTls(byte[] buf, int ofs) { servPub = new byte[buf.length - ofs]; bits.byteCopy(buf, ofs, servPub, 0, servPub.length); return false; } public byte[] keyClntSsh() { return clntPub; } public byte[] keyServSsh() { return servPub; } public boolean keyClntSsh(byte[] buf, int ofs) { keyClntTls(buf, ofs); return false; } public boolean keyServSsh(byte[] buf, int ofs) { keyServTls(buf, ofs); return false; } public byte[] keyClntIke() { return clntPub; } public byte[] keyServIke() { return servPub; } public boolean keyClntIke(byte[] buf, int ofs) { keyClntTls(buf, ofs); return false; } public boolean keyServIke(byte[] buf, int ofs) { keyServTls(buf, ofs); return false; } public byte[][] keyParamTls() { return null; } public byte[][] keyParamSsh() { return null; } public boolean keyParamTls(byte[][] buf) { return false; } public boolean keyParamSsh(byte[][] buf) { return false; } public boolean sshReader(byte[] key) { return true; } public byte[] sshWriter() { return null; } public boolean sshVerify(cryHashGeneric algo, String algn, byte[] hash, byte[] sign) { return true; } public byte[] sshSigning(cryHashGeneric algo, String algn, byte[] hash) { return null; } } class cryKeyMLKEMpoly { public final static short[] nttZetas = new short[]{ 2285, 2571, 2970, 1812, 1493, 1422, 287, 202, 3158, 622, 1577, 182, 962, 2127, 1855, 1468, 573, 2004, 264, 383, 2500, 1458, 1727, 3199, 2648, 1017, 732, 608, 1787, 411, 3124, 1758, 1223, 652, 2777, 1015, 2036, 1491, 3047, 1785, 516, 3321, 3009, 2663, 1711, 2167, 126, 1469, 2476, 3239, 3058, 830, 107, 1908, 3082, 2378, 2931, 961, 1821, 2604, 448, 2264, 677, 2054, 2226, 430, 555, 843, 2078, 871, 1550, 105, 422, 587, 177, 3094, 3038, 2869, 1574, 1653, 3083, 778, 1159, 3182, 2552, 1483, 2727, 1119, 1739, 644, 2457, 349, 418, 329, 3173, 3254, 817, 1097, 603, 610, 1322, 2044, 1864, 384, 2114, 3193, 1218, 1994, 2455, 220, 2142, 1670, 2144, 1799, 2051, 794, 1819, 2475, 2459, 478, 3221, 3021, 996, 991, 958, 1869, 1522, 1628 }; public final static short[] nttZetasInv = new short[]{ 1701, 1807, 1460, 2371, 2338, 2333, 308, 108, 2851, 870, 854, 1510, 2535, 1278, 1530, 1185, 1659, 1187, 3109, 874, 1335, 2111, 136, 1215, 2945, 1465, 1285, 2007, 2719, 2726, 2232, 2512, 75, 156, 3000, 2911, 2980, 872, 2685, 1590, 2210, 602, 1846, 777, 147, 2170, 2551, 246, 1676, 1755, 460, 291, 235, 3152, 2742, 2907, 3224, 1779, 2458, 1251, 2486, 2774, 2899, 1103, 1275, 2652, 1065, 2881, 725, 1508, 2368, 398, 951, 247, 1421, 3222, 2499, 271, 90, 853, 1860, 3203, 1162, 1618, 666, 320, 8, 2813, 1544, 282, 1838, 1293, 2314, 552, 2677, 2106, 1571, 205, 2918, 1542, 2721, 2597, 2312, 681, 130, 1602, 1871, 829, 2946, 3065, 1325, 2756, 1861, 1474, 1202, 2367, 3147, 1752, 2707, 171, 3127, 3042, 1907, 1836, 1517, 359, 758, 1441 }; public short[] coeffs; private final cryKeyMLKEM engine; public cryKeyMLKEMpoly(cryKeyMLKEM ng) { coeffs = new short[cryKeyMLKEM.KyberN]; engine = ng; } public void polyNtt() { short[] r = new short[cryKeyMLKEM.KyberN]; System.arraycopy(coeffs, 0, r, 0, r.length); int j; short t, zeta; int k = 1; for (int i = 128; i >= 2; i >>= 1) { for (int l = 0; l < 256; l = j + i) { zeta = nttZetas[k++]; for (j = l; j < l + i; j++) { t = factorQMulMont(zeta, r[j + i]); r[j + i] = (short) (r[j] - t); r[j] = (short) (r[j] + t); } } } coeffs = r; reduce(); } public void polyInverseNttToMont() { short[] r = new short[cryKeyMLKEM.KyberN]; System.arraycopy(coeffs, 0, r, 0, cryKeyMLKEM.KyberN); int j; short t, zeta; int k = 0; for (int i = 2; i <= 128; i <<= 1) { for (int l = 0; l < 256; l = j + i) { zeta = nttZetasInv[k++]; for (j = l; j < l + i; j++) { t = r[j]; r[j] = barretReduce((short) (t + r[j + i])); r[j + i] = (short) (t - r[j + i]); r[j + i] = factorQMulMont(zeta, r[j + i]); } } } for (j = 0; j < 256; j++) { r[j] = factorQMulMont(r[j], nttZetasInv[127]); } coeffs = r; } public void reduce() { for (int i = 0; i < cryKeyMLKEM.KyberN; i++) { coeffs[i] = barretReduce(coeffs[i]); } } public void pointwiseAccountMontgomery(cryKeyMLKEMvec inp1, cryKeyMLKEMvec inp2, cryKeyMLKEM engine) { cryKeyMLKEMpoly t = new cryKeyMLKEMpoly(engine); baseMultMontgomery(inp1.vec[0], inp2.vec[0]); for (int i = 1; i < engine.KyberK; i++) { t.baseMultMontgomery(inp1.vec[i], inp2.vec[i]); addCoeffs(t); } reduce(); } public void baseMultMontgomery(cryKeyMLKEMpoly a, cryKeyMLKEMpoly b) { for (int i = 0; i < cryKeyMLKEM.KyberN / 4; i++) { baseMultMont(4 * i, a.coeffs[4 * i], a.coeffs[4 * i + 1], b.coeffs[4 * i], b.coeffs[4 * i + 1], nttZetas[64 + i]); baseMultMont(4 * i + 2, a.coeffs[4 * i + 2], a.coeffs[4 * i + 3], b.coeffs[4 * i + 2], b.coeffs[4 * i + 3], (short) (-1 * nttZetas[64 + i])); } } public void addCoeffs(cryKeyMLKEMpoly b) { for (int i = 0; i < cryKeyMLKEM.KyberN; i++) { coeffs[i] = (short) (coeffs[i] + b.coeffs[i]); } } public void convertToMont() { final short f = (short) (((long) 1 << 32) % cryKeyMLKEM.KyberQ); for (int i = 0; i < cryKeyMLKEM.KyberN; i++) { coeffs[i] = montgomeryReduce(coeffs[i] * f); } } public byte[] compressPoly() { byte[] t = new byte[8]; byte[] r = new byte[engine.KyberPolyCompressedBytes]; int count = 0; conditionalSubQ(); if (engine.KyberPolyCompressedBytes == 128) { for (int i = 0; i < cryKeyMLKEM.KyberN / 8; i++) { for (int j = 0; j < 8; j++) { int t_j = coeffs[8 * i + j]; t_j <<= 4; t_j += 1665; t_j *= 80635; t_j >>= 28; t_j &= 15; t[j] = (byte) t_j; } r[count + 0] = (byte) (t[0] | (t[1] << 4)); r[count + 1] = (byte) (t[2] | (t[3] << 4)); r[count + 2] = (byte) (t[4] | (t[5] << 4)); r[count + 3] = (byte) (t[6] | (t[7] << 4)); count += 4; } } else { for (int i = 0; i < cryKeyMLKEM.KyberN / 8; i++) { for (int j = 0; j < 8; j++) { int t_j = coeffs[8 * i + j]; t_j <<= 5; t_j += 1664; t_j *= 40318; t_j >>= 27; t_j &= 31; t[j] = (byte) t_j; } r[count + 0] = (byte) ((t[0] >> 0) | (t[1] << 5)); r[count + 1] = (byte) ((t[1] >> 3) | (t[2] << 2) | (t[3] << 7)); r[count + 2] = (byte) ((t[3] >> 1) | (t[4] << 4)); r[count + 3] = (byte) ((t[4] >> 4) | (t[5] << 1) | (t[6] << 6)); r[count + 4] = (byte) ((t[6] >> 2) | (t[7] << 3)); count += 5; } } return r; } public void decompressPoly(byte[] compressedPolyCipherText) { int count = 0; if (engine.KyberPolyCompressedBytes == 128) { for (int i = 0; i < cryKeyMLKEM.KyberN / 2; i++) { coeffs[2 * i + 0] = (short) ((((short) ((compressedPolyCipherText[count] & 0xFF) & 15) * cryKeyMLKEM.KyberQ) + 8) >> 4); coeffs[2 * i + 1] = (short) ((((short) ((compressedPolyCipherText[count] & 0xFF) >> 4) * cryKeyMLKEM.KyberQ) + 8) >> 4); count += 1; } } else { byte[] t = new byte[8]; for (int i = 0; i < cryKeyMLKEM.KyberN / 8; i++) { t[0] = (byte) ((compressedPolyCipherText[count + 0] & 0xFF) >> 0); t[1] = (byte) (((compressedPolyCipherText[count + 0] & 0xFF) >> 5) | ((compressedPolyCipherText[count + 1] & 0xFF) << 3)); t[2] = (byte) ((compressedPolyCipherText[count + 1] & 0xFF) >> 2); t[3] = (byte) (((compressedPolyCipherText[count + 1] & 0xFF) >> 7) | ((compressedPolyCipherText[count + 2] & 0xFF) << 1)); t[4] = (byte) (((compressedPolyCipherText[count + 2] & 0xFF) >> 4) | ((compressedPolyCipherText[count + 3] & 0xFF) << 4)); t[5] = (byte) ((compressedPolyCipherText[count + 3] & 0xFF) >> 1); t[6] = (byte) (((compressedPolyCipherText[count + 3] & 0xFF) >> 6) | ((compressedPolyCipherText[count + 4] & 0xFF) << 2)); t[7] = (byte) ((compressedPolyCipherText[count + 4] & 0xFF) >> 3); count += 5; for (int j = 0; j < 8; j++) { coeffs[8 * i + j] = (short) (((t[j] & 31) * cryKeyMLKEM.KyberQ + 16) >> 5); } } } } public byte[] toBytes() { byte[] r = new byte[cryKeyMLKEM.KyberPolyBytes]; conditionalSubQ(); for (int i = 0; i < cryKeyMLKEM.KyberN / 2; i++) { short t0 = coeffs[2 * i]; short t1 = coeffs[2 * i + 1]; r[3 * i] = (byte) (t0 >> 0); r[3 * i + 1] = (byte) ((t0 >> 8) | (t1 << 4)); r[3 * i + 2] = (byte) (t1 >> 4); } return r; } public void fromBytes(byte[] inpBytes) { for (int i = 0; i < cryKeyMLKEM.KyberN / 2; i++) { coeffs[2 * i + 0] = (short) ((((inpBytes[3 * i + 0] & 0xFF) >> 0) | ((inpBytes[3 * i + 1] & 0xFF) << 8)) & 0xFFF); coeffs[2 * i + 1] = (short) ((((inpBytes[3 * i + 1] & 0xFF) >> 4) | (long) ((inpBytes[3 * i + 2] & 0xFF) << 4)) & 0xFFF); } } public byte[] toMsg() { int LOWER = cryKeyMLKEM.KyberQ >>> 2; int UPPER = cryKeyMLKEM.KyberQ - LOWER; byte[] outMsg = new byte[cryKeyMLKEM.KyberSymBytes]; conditionalSubQ(); for (int i = 0; i < cryKeyMLKEM.KyberN / 8; i++) { outMsg[i] = 0; for (int j = 0; j < 8; j++) { int c_j = coeffs[8 * i + j]; int t = ((LOWER - c_j) & (c_j - UPPER)) >>> 31; outMsg[i] |= (byte) (t << j); } } return outMsg; } public void fromMsg(byte[] msg) { for (int i = 0; i < cryKeyMLKEM.KyberN / 8; i++) { for (int j = 0; j < 8; j++) { short mask = (short) ((-1) * (short) (((msg[i] & 0xFF) >> j) & 1)); coeffs[8 * i + j] = (short) (mask & (short) ((cryKeyMLKEM.KyberQ + 1) / 2)); } } } public void conditionalSubQ() { for (int i = 0; i < cryKeyMLKEM.KyberN; i++) { coeffs[i] = conditionalSubQ(coeffs[i]); } } public void symmetricPrf(byte[] out, byte[] seed, byte nonce) { cryHashShake256 h = new cryHashShake256(); byte[] extSeed = new byte[seed.length + 1]; bits.byteCopy(seed, 0, extSeed, 0, seed.length); extSeed[seed.length] = nonce; h.init(); h.update(extSeed, 0, extSeed.length); h.fillupBuffer(out, 0, out.length); } public void getEta1Noise(byte[] seed, byte nonce) { byte[] buf = new byte[cryKeyMLKEM.KyberN * engine.KyberEta1 / 4 + 1]; symmetricPrf(buf, seed, nonce); mlCBD(buf, engine.KyberEta1); } public void getEta2Noise(byte[] seed, byte nonce) { byte[] buf = new byte[cryKeyMLKEM.KyberN * cryKeyMLKEM.KyberEta2 / 4 + 1]; symmetricPrf(buf, seed, nonce); mlCBD(buf, cryKeyMLKEM.KyberEta2); } public void polySubtract(cryKeyMLKEMpoly b) { for (int i = 0; i < cryKeyMLKEM.KyberN; i++) { coeffs[i] = (short) (b.coeffs[i] - coeffs[i]); } } public int rejectionSampling(int coeffOff, int len, byte[] inpBuf, int inpBufLen) { int ctr = 0; for (int pos = 0; (ctr < len) && (pos + 3 <= inpBufLen);) { short val0 = (short) (((((short) (inpBuf[pos] & 0xFF)) >> 0) | (((short) (inpBuf[pos + 1] & 0xFF)) << 8)) & 0xFFF); short val1 = (short) (((((short) (inpBuf[pos + 1] & 0xFF)) >> 4) | (((short) (inpBuf[pos + 2] & 0xFF)) << 4)) & 0xFFF); pos = pos + 3; if (val0 < (short) cryKeyMLKEM.KyberQ) { coeffs[coeffOff + ctr] = val0; ctr++; } if (ctr < len && val1 < (short) cryKeyMLKEM.KyberQ) { coeffs[coeffOff + ctr] = val1; ctr++; } } return ctr; } public void mlCBD(byte[] bytes, int eta) { if (eta == 3) { for (int i = 0; i < cryKeyMLKEM.KyberN / 4; i++) { long t = bits.lsbGetD(bytes, 3 * i); long d = t & 0x00249249; d = d + ((t >> 1) & 0x00249249); d = d + ((t >> 2) & 0x00249249); for (int j = 0; j < 4; j++) { int a = (short) ((d >> (6 * j + 0)) & 0x7); int b = (short) ((d >> (6 * j + eta)) & 0x7); coeffs[4 * i + j] = (short) (a - b); } } } else { for (int i = 0; i < cryKeyMLKEM.KyberN / 8; i++) { long t = bits.lsbGetD(bytes, 4 * i); long d = t & 0x55555555; d = d + ((t >> 1) & 0x55555555); for (int j = 0; j < 8; j++) { int a = (short) ((d >> (4 * j + 0)) & 0x3); int b = (short) ((d >> (4 * j + eta)) & 0x3); coeffs[8 * i + j] = (short) (a - b); } } } } public short factorQMulMont(short a, short b) { return montgomeryReduce(a * b); } public void baseMultMont(int outIndex, short a0, short a1, short b0, short b1, short zeta) { short o = factorQMulMont(a1, b1); o = factorQMulMont(o, zeta); o += factorQMulMont(a0, b0); coeffs[outIndex] = o; o = factorQMulMont(a0, b1); o += factorQMulMont(a1, b0); coeffs[outIndex + 1] = o; } public short montgomeryReduce(int a) { short u = (short) (a * cryKeyMLKEM.KyberQinv); int t = u * cryKeyMLKEM.KyberQ; t = a - t; t >>= 16; return (short) t; } public short barretReduce(short a) { short t; long shift = (((long) 1) << 26); short v = (short) ((shift + (cryKeyMLKEM.KyberQ / 2)) / cryKeyMLKEM.KyberQ); t = (short) ((v * a) >> 26); t = (short) (t * cryKeyMLKEM.KyberQ); return (short) (a - t); } public short conditionalSubQ(short a) { a -= cryKeyMLKEM.KyberQ; a += (short) ((a >> 15) & cryKeyMLKEM.KyberQ); return a; } } class cryKeyMLKEMvec { public cryKeyMLKEMpoly[] vec; private final cryKeyMLKEM engine; public cryKeyMLKEMvec(cryKeyMLKEM ng) { engine = ng; vec = new cryKeyMLKEMpoly[engine.KyberK]; for (int i = 0; i < engine.KyberK; i++) { vec[i] = new cryKeyMLKEMpoly(ng); } } public void polyVecNtt() { for (int i = 0; i < engine.KyberK; i++) { vec[i].polyNtt(); } } public void polyVecInverseNttToMont() { for (int i = 0; i < engine.KyberK; i++) { vec[i].polyInverseNttToMont(); } } public byte[] compressPolyVec() { conditionalSubQ(); byte[] r = new byte[engine.KyberPolyVecCompressedBytes]; int count = 0; if (engine.KyberPolyVecCompressedBytes == engine.KyberK * 320) { short[] t = new short[4]; for (int i = 0; i < engine.KyberK; i++) { for (int j = 0; j < cryKeyMLKEM.KyberN / 4; j++) { for (int k = 0; k < 4; k++) { long t_k = vec[i].coeffs[4 * j + k]; t_k <<= 10; t_k += 1665; t_k *= 1290167; t_k >>= 32; t_k &= 0x3ff; t[k] = (short) t_k; } r[count + 0] = (byte) (t[0] >> 0); r[count + 1] = (byte) ((t[0] >> 8) | (t[1] << 2)); r[count + 2] = (byte) ((t[1] >> 6) | (t[2] << 4)); r[count + 3] = (byte) ((t[2] >> 4) | (t[3] << 6)); r[count + 4] = (byte) ((t[3] >> 2)); count += 5; } } } else { short[] t = new short[8]; for (int i = 0; i < engine.KyberK; i++) { for (int j = 0; j < cryKeyMLKEM.KyberN / 8; j++) { for (int k = 0; k < 8; k++) { long t_k = vec[i].coeffs[8 * j + k]; t_k <<= 11; t_k += 1664; t_k *= 645084; t_k >>= 31; t_k &= 0x7ff; t[k] = (short) t_k; } r[count + 0] = (byte) ((t[0] >> 0)); r[count + 1] = (byte) ((t[0] >> 8) | (t[1] << 3)); r[count + 2] = (byte) ((t[1] >> 5) | (t[2] << 6)); r[count + 3] = (byte) ((t[2] >> 2)); r[count + 4] = (byte) ((t[2] >> 10) | (t[3] << 1)); r[count + 5] = (byte) ((t[3] >> 7) | (t[4] << 4)); r[count + 6] = (byte) ((t[4] >> 4) | (t[5] << 7)); r[count + 7] = (byte) ((t[5] >> 1)); r[count + 8] = (byte) ((t[5] >> 9) | (t[6] << 2)); r[count + 9] = (byte) ((t[6] >> 6) | (t[7] << 5)); r[count + 10] = (byte) ((t[7] >> 3)); count += 11; } } } return r; } public void decompressPolyVec(byte[] compressedPolyVecCipherText) { int count = 0; if (engine.KyberPolyVecCompressedBytes == (engine.KyberK * 320)) { short[] t = new short[4]; for (int i = 0; i < engine.KyberK; i++) { for (int j = 0; j < cryKeyMLKEM.KyberN / 4; j++) { t[0] = (short) (((compressedPolyVecCipherText[count] & 0xFF) >> 0) | (short) ((compressedPolyVecCipherText[count + 1] & 0xFF) << 8)); t[1] = (short) (((compressedPolyVecCipherText[count + 1] & 0xFF) >> 2) | (short) ((compressedPolyVecCipherText[count + 2] & 0xFF) << 6)); t[2] = (short) (((compressedPolyVecCipherText[count + 2] & 0xFF) >> 4) | (short) ((compressedPolyVecCipherText[count + 3] & 0xFF) << 4)); t[3] = (short) (((compressedPolyVecCipherText[count + 3] & 0xFF) >> 6) | (short) ((compressedPolyVecCipherText[count + 4] & 0xFF) << 2)); count += 5; for (int k = 0; k < 4; k++) { vec[i].coeffs[4 * j + k] = (short) (((t[k] & 0x3FF) * cryKeyMLKEM.KyberQ + 512) >> 10); } } } } else { short[] t = new short[8]; for (int i = 0; i < engine.KyberK; i++) { for (int j = 0; j < cryKeyMLKEM.KyberN / 8; j++) { t[0] = (short) (((compressedPolyVecCipherText[count] & 0xFF) >> 0) | ((short) (compressedPolyVecCipherText[count + 1] & 0xFF) << 8)); t[1] = (short) (((compressedPolyVecCipherText[count + 1] & 0xFF) >> 3) | ((short) (compressedPolyVecCipherText[count + 2] & 0xFF) << 5)); t[2] = (short) (((compressedPolyVecCipherText[count + 2] & 0xFF) >> 6) | ((short) (compressedPolyVecCipherText[count + 3] & 0xFF) << 2) | ((short) ((compressedPolyVecCipherText[count + 4] & 0xFF) << 10))); t[3] = (short) (((compressedPolyVecCipherText[count + 4] & 0xFF) >> 1) | ((short) (compressedPolyVecCipherText[count + 5] & 0xFF) << 7)); t[4] = (short) (((compressedPolyVecCipherText[count + 5] & 0xFF) >> 4) | ((short) (compressedPolyVecCipherText[count + 6] & 0xFF) << 4)); t[5] = (short) (((compressedPolyVecCipherText[count + 6] & 0xFF) >> 7) | ((short) (compressedPolyVecCipherText[count + 7] & 0xFF) << 1) | ((short) ((compressedPolyVecCipherText[count + 8] & 0xFF) << 9))); t[6] = (short) (((compressedPolyVecCipherText[count + 8] & 0xFF) >> 2) | ((short) (compressedPolyVecCipherText[count + 9] & 0xFF) << 6)); t[7] = (short) (((compressedPolyVecCipherText[count + 9] & 0xFF) >> 5) | ((short) (compressedPolyVecCipherText[count + 10] & 0xFF) << 3)); count += 11; for (int k = 0; k < 8; k++) { vec[i].coeffs[8 * j + k] = (short) (((t[k] & 0x7FF) * cryKeyMLKEM.KyberQ + 1024) >> 11); } } } } } public void conditionalSubQ() { for (int i = 0; i < engine.KyberK; i++) { vec[i].conditionalSubQ(); } } public void reducePoly() { for (int i = 0; i < engine.KyberK; i++) { vec[i].reduce(); } } public void addPoly(cryKeyMLKEMvec b) { for (int i = 0; i < engine.KyberK; i++) { vec[i].addCoeffs(b.vec[i]); } } public byte[] toBytes() { byte[] r = new byte[engine.KyberPolyVecBytes]; for (int i = 0; i < engine.KyberK; i++) { bits.byteCopy(vec[i].toBytes(), 0, r, i * cryKeyMLKEM.KyberPolyBytes, cryKeyMLKEM.KyberPolyBytes); } return r; } public void fromBytes(byte[] inputBytes) { for (int i = 0; i < engine.KyberK; i++) { byte[] buf = new byte[cryKeyMLKEM.KyberPolyBytes]; bits.byteCopy(inputBytes, i * cryKeyMLKEM.KyberPolyBytes, buf, 0, buf.length); vec[i].fromBytes(buf); } } } freeRtr-25.11.9/src/org/freertr/cry/cryKeyPQhybrid.java000066400000000000000000000124251510423065500227070ustar00rootroot00000000000000package org.freertr.cry; import org.freertr.pack.packHolder; import org.freertr.util.bits; /** * post quantum hybrid * * @author matecsaba */ public class cryKeyPQhybrid extends cryKeyGeneric { /** * create instance */ public cryKeyPQhybrid() { ec = new cryKeyCurve25519(); ml = new cryKeyMLKEM(); ml.keyMakeSize(768); } /** * tls value */ public final static int tlsVal = 0x11ec; private cryKeyCurve25519 ec; private cryKeyMLKEM ml; /** * client public value */ protected byte[] clntPub; /** * server public value */ protected byte[] servPub; public String algName() { return "x25519mlkem768"; } public String sshName() { return "mlkem768x25519-sha256"; } public cryHashGeneric sshHash() { return new cryHashSha2256(); } public boolean privReader(packHolder pck) { return true; } public void privWriter(packHolder pck) { } public boolean certReader(packHolder pck) { return true; } public void certWriter(packHolder pck) { } public boolean certVerify(cryHashGeneric pkcs, byte[] hash, byte[] sign) { return true; } public byte[] certSigning(cryHashGeneric pkcs, byte[] hash) { return null; } public boolean tlsVerify(int ver, cryHashGeneric pkcs, byte[] hash, byte[] sign) { return true; } public byte[] tlsSigning(int ver, cryHashGeneric pkcs, byte[] hash) { return null; } public boolean keyMakeSize(int len) { return true; } public boolean keyMakeName(String nam) { return false; } public boolean keyMakeTls(int id) { return id != tlsVal; } public boolean keyMakeIke(int id) { return id != 65535; } public int keyMakeVal() { return tlsVal; } public boolean keyVerify() { return true; } public int keySize() { return 256; } public String keyDump() { return ml.keyDump() + " " + ec.keyDump(); } public void keyClntInit() { ml.keyClntInit(); ec.keyClntInit(); } public void keyServInit() { ml.keyServInit(); ec.keyServInit(); } public void keyClntCalc() { ml.keyClntCalc(); ec.keyClntCalc(); } public void keyServCalc() { ml.keyServCalc(); ec.keyServCalc(); } public byte[] keyCommonTls() { return mergeParts(ml.keyCommonTls(), ec.keyCommonTls()); } public byte[] keyCommonSsh() { byte[] buf = keyCommonTls(); if (buf == null) { return null; } cryHashSha2256 hsh = new cryHashSha2256(); hsh.init(); hsh.update(buf); buf = hsh.finish(); return buf; } public byte[] keyCommonIke() { return keyCommonTls(); } private byte[] mergeParts(byte[] ml, byte[] ec) { if (ml == null) { return null; } if (ec == null) { return null; } return bits.byteConcat(ml, ec); } private byte[][] splitParts(byte[] buf, int ofs) { byte[] buf2 = new byte[32]; byte[] buf1 = new byte[buf.length - ofs - buf2.length]; bits.byteCopy(buf, ofs, buf1, 0, buf1.length); bits.byteCopy(buf, ofs + buf1.length, buf2, 0, buf2.length); return new byte[][]{buf1, buf2}; } public byte[] keyClntTls() { return mergeParts(ml.keyClntTls(), ec.keyClntTls()); } public byte[] keyServTls() { return mergeParts(ml.keyServTls(), ec.keyServTls()); } public boolean keyClntTls(byte[] buf, int ofs) { byte[][] prt = splitParts(buf, ofs); ml.keyClntTls(prt[0], 0); ec.keyClntTls(prt[1], 0); return false; } public boolean keyServTls(byte[] buf, int ofs) { byte[][] prt = splitParts(buf, ofs); ml.keyServTls(prt[0], 0); ec.keyServTls(prt[1], 0); return false; } public byte[] keyClntSsh() { return keyClntTls(); } public byte[] keyServSsh() { return keyServTls(); } public boolean keyClntSsh(byte[] buf, int ofs) { return keyClntTls(buf, ofs); } public boolean keyServSsh(byte[] buf, int ofs) { return keyServTls(buf, ofs); } public byte[] keyClntIke() { return keyClntSsh(); } public byte[] keyServIke() { return keyServSsh(); } public boolean keyClntIke(byte[] buf, int ofs) { return keyClntSsh(buf, ofs); } public boolean keyServIke(byte[] buf, int ofs) { return keyServSsh(buf, ofs); } public byte[][] keyParamTls() { return null; } public byte[][] keyParamSsh() { return null; } public boolean keyParamTls(byte[][] buf) { return true; } public boolean keyParamSsh(byte[][] buf) { return true; } public boolean sshReader(byte[] key) { return false; } public byte[] sshWriter() { return null; } public boolean sshVerify(cryHashGeneric algo, String algn, byte[] hash, byte[] sign) { return true; } public byte[] sshSigning(cryHashGeneric algo, String algn, byte[] hash) { return null; } } freeRtr-25.11.9/src/org/freertr/cry/cryKeyRSA.java000066400000000000000000000454131510423065500216150ustar00rootroot00000000000000package org.freertr.cry; import org.freertr.enc.encAsn1; import java.math.BigInteger; import org.freertr.pack.packHolder; import org.freertr.pack.packSsh; import org.freertr.util.bits; /** * rivest shamir adleman * * @author matecsaba */ public class cryKeyRSA extends cryKeyGeneric { /** * create instance */ public cryKeyRSA() { } /** * ssh name */ public final static String sshName = "ssh-rsa"; /** * n modulus */ protected BigInteger modulus; /** * e public exponent */ protected BigInteger pubExp; /** * d private exponent */ protected BigInteger privExp; /** * p prime1 exponent */ protected BigInteger prime1; /** * q prime2 exponent */ protected BigInteger prime2; /** * dmp exponent1 */ protected BigInteger expon1; /** * dmq exponent2 */ protected BigInteger expon2; /** * iqp coefficient */ protected BigInteger coeff; public String toString() { return "mod=" + modulus + " pubExp=" + pubExp + " privExp=" + privExp + " p1=" + prime1 + " p2=" + prime2 + " e1=" + expon1 + " e2=" + expon2 + " coeff=" + coeff; } /** * max byte size * * @return size */ public int byteSize() { return (modulus.bitLength() + 7) / 8; } /** * get ssh name * * @return name */ public String algName() { return "rsa"; } /** * get ssh hash * * @return hasher */ public String sshName() { return sshName; } public cryHashGeneric sshHash() { return new cryHashSha2256(); } public boolean certReader(packHolder pck) { encAsn1 a = new encAsn1(); if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } pck = a.getPack(); if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } packHolder p = a.getPack(); if (a.tagRead(p)) { return true; } if (cryCertificate.objid2int(a) != cryCertificate.typRsaEncrypt) { return true; } if (a.tagRead(pck)) { return true; } if ((a.cnst) || (a.tag != encAsn1.tagBitString)) { return true; } pck = a.getPack(); pck.getSkip(1); if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } pck = a.getPack(); modulus = encAsn1.readBigInt(pck); pubExp = encAsn1.readBigInt(pck); return false; } public void certWriter(packHolder pck) { packHolder p1 = new packHolder(true, true); packHolder p2 = new packHolder(true, true); packHolder p3 = new packHolder(true, true); encAsn1.writeObjectId(p1, cryCertificate.oidRsaEncrypt); encAsn1.writeNull(p1); encAsn1.writeSequence(p2, p1); encAsn1.writeBigInt(p3, modulus); encAsn1.writeBigInt(p3, pubExp); p1.clear(); encAsn1.writeSequence(p1, p3); p1.putByte(0, 0); p1.putSkip(1); p1.merge2beg(); encAsn1.writeBitString(p2, p1); encAsn1.writeSequence(pck, p2); } public boolean privReader(packHolder pck) { encAsn1 a = new encAsn1(); if (a.tagRead(pck)) { return true; } if ((!a.cnst) || (a.tag != encAsn1.tagSequence)) { return true; } pck = a.getPack(); BigInteger ver = encAsn1.readBigInt(pck); if (ver == null) { return true; } modulus = encAsn1.readBigInt(pck); if (modulus == null) { return true; } pubExp = encAsn1.readBigInt(pck); if (pubExp == null) { return true; } privExp = encAsn1.readBigInt(pck); if (privExp == null) { return true; } prime1 = encAsn1.readBigInt(pck); if (prime1 == null) { return true; } prime2 = encAsn1.readBigInt(pck); if (prime2 == null) { return true; } expon1 = encAsn1.readBigInt(pck); if (expon1 == null) { return true; } expon2 = encAsn1.readBigInt(pck); if (expon2 == null) { return true; } coeff = encAsn1.readBigInt(pck); if (coeff == null) { return true; } if (pck.dataSize() != 0) { return true; } return false; } public void privWriter(packHolder pck) { packHolder p = new packHolder(true, true); encAsn1.writeBigInt(p, BigInteger.ZERO); encAsn1.writeBigInt(p, modulus); encAsn1.writeBigInt(p, pubExp); encAsn1.writeBigInt(p, privExp); encAsn1.writeBigInt(p, prime1); encAsn1.writeBigInt(p, prime2); encAsn1.writeBigInt(p, expon1); encAsn1.writeBigInt(p, expon2); encAsn1.writeBigInt(p, coeff); encAsn1.writeSequence(pck, p); } public boolean keyMakeName(String nam) { return false; } public boolean keyMakeTls(int id) { return false; } public boolean keyMakeIke(int id) { return false; } public int keyMakeVal() { return -1; } public boolean keyMakeSize(int len) { pubExp = new BigInteger("65537", 10); prime1 = cryUtils.randomPrime(len / 2); prime2 = cryUtils.randomPrime(len / 2); if (prime1.compareTo(prime2) < 0) { BigInteger i = prime1; prime1 = prime2; prime2 = i; } modulus = prime1.multiply(prime2); BigInteger i1 = prime1.subtract(BigInteger.ONE); BigInteger i2 = prime2.subtract(BigInteger.ONE); BigInteger i0 = i1.multiply(i2); try { privExp = pubExp.modInverse(i0); } catch (Exception e) { return true; } expon1 = privExp.mod(i1); expon2 = privExp.mod(i2); try { coeff = prime2.modInverse(prime1); } catch (Exception e) { return true; } return false; } public boolean keyVerify() { if (!cryUtils.testPrime(pubExp)) { return true; } if (!cryUtils.testPrime(prime1)) { return true; } if (!cryUtils.testPrime(prime2)) { return true; } if (prime1.compareTo(prime2) < 0) { return true; } if (modulus.compareTo(prime1.multiply(prime2)) != 0) { return true; } BigInteger i1 = prime1.subtract(BigInteger.ONE); BigInteger i2 = prime2.subtract(BigInteger.ONE); BigInteger i0 = i1.multiply(i2); if (privExp.compareTo(pubExp.modInverse(i0)) != 0) { return true; } if (expon1.compareTo(privExp.mod(i1)) != 0) { return true; } if (expon2.compareTo(privExp.mod(i2)) != 0) { return true; } if (coeff.compareTo(prime2.modInverse(prime1)) != 0) { return true; } return false; } public int keySize() { return modulus.bitLength(); } public String keyDump() { return null; } /** * client exchange */ public void keyClntInit() { } /** * server exchange */ public void keyServInit() { } /** * client common secret computation */ public void keyClntCalc() { } /** * server common secret computation */ public void keyServCalc() { } public byte[] keyCommonTls() { return null; } public byte[] keyCommonSsh() { return null; } public byte[] keyCommonIke() { return null; } public byte[] keyClntTls() { return null; } public byte[] keyServTls() { return null; } public boolean keyClntTls(byte[] buf, int ofs) { return false; } public boolean keyServTls(byte[] buf, int ofs) { return false; } public byte[] keyClntSsh() { return null; } public byte[] keyServSsh() { return null; } public boolean keyClntSsh(byte[] buf, int ofs) { return false; } public boolean keyServSsh(byte[] buf, int ofs) { return false; } public byte[] keyClntIke() { return null; } public byte[] keyServIke() { return null; } public boolean keyClntIke(byte[] buf, int ofs) { return false; } public boolean keyServIke(byte[] buf, int ofs) { return false; } public byte[][] keyParamTls() { return null; } public byte[][] keyParamSsh() { return null; } public boolean keyParamTls(byte[][] buf) { return false; } public boolean keyParamSsh(byte[][] buf) { return false; } /** * do encryption * * @param src cleartext * @return ciphertext */ public byte[] doEncrypt(byte[] src) { BigInteger i = cryUtils.buffer2bigInt(src, 0, src.length); i = i.modPow(pubExp, modulus); return i.toByteArray(); } /** * do decryption * * @param src ciphertext * @return cleartext */ public byte[] doDecrypt(byte[] src) { BigInteger i = cryUtils.buffer2bigInt(src, 0, src.length); i = i.modPow(privExp, modulus); return i.toByteArray(); } public boolean sshReader(byte[] key) { packHolder p = new packHolder(true, true); p.putCopy(key, 0, 0, key.length); p.putSkip(key.length); p.merge2beg(); if (!packSsh.stringRead(p).equals(sshName)) { return true; } pubExp = packSsh.bigIntRead(p); modulus = packSsh.bigIntRead(p); return false; } public byte[] sshWriter() { packHolder p = new packHolder(true, true); packSsh.stringWrite(p, sshName); packSsh.bigIntWrite(p, pubExp); packSsh.bigIntWrite(p, modulus); p.merge2beg(); return p.getCopy(); } /** * mask generator function 1 * * @param hsh hash * @param src source * @param ofs offset * @param len length * @param need needed * @return mask */ public byte[] pssMgf1(cryHashGeneric hsh, byte[] src, int ofs, int len, int need) { int hl = hsh.getHashSize(); byte[] res = new byte[need]; byte[] buf = new byte[4]; int cnt = 0; for (; cnt < (need / hl); cnt++) { bits.msbPutD(buf, 0, cnt); hsh.init(); hsh.update(src, ofs, len); hsh.update(buf, 0, buf.length); bits.byteCopy(hsh.finish(), 0, res, cnt * hl, hl); } if ((cnt * hl) >= need) { return res; } bits.msbPutD(buf, 0, cnt); hsh.init(); hsh.update(src, ofs, len); hsh.update(buf, 0, buf.length); bits.byteCopy(hsh.finish(), 0, res, cnt * hl, res.length - (cnt * hl)); return res; } /** * pad for tls12 * * @param oid oid bytes * @param src buffer to pad * @return padded integer */ public BigInteger PKCS1t2pad(byte[] oid, byte[] src) { byte[] buf = new byte[byteSize()]; for (int i = 0; i < buf.length; i++) { buf[i] = (byte) 0xff; } buf[0] = 0; buf[1] = 1; bits.byteCopy(src, 0, buf, buf.length - src.length, src.length); bits.byteCopy(oid, 0, buf, buf.length - src.length - oid.length, oid.length); return new BigInteger(buf); } /** * pad for tls11 * * @param src buffer to pad * @return padded integer */ public BigInteger PKCS1t1pad(byte[] src) { byte[] buf = new byte[byteSize()]; for (int i = 0; i < buf.length; i++) { buf[i] = (byte) 0xff; } buf[0] = 0; buf[1] = 1; bits.byteCopy(src, 0, buf, buf.length - src.length, src.length); buf[buf.length - src.length - 1] = 0; return new BigInteger(buf); } /** * pad for pkcs15 * * @param src buffer to pad * @return padded buffer */ public byte[] PKCS1t15pad(byte[] src) { byte[] buf = new byte[byteSize()]; buf[1] = 2; for (int i = 2; i < buf.length - src.length; i++) { int o; for (;;) { o = bits.randomB(); if (o != 0) { break; } } buf[i] = (byte) o; } buf[buf.length - src.length - 1] = 0; bits.byteCopy(src, 0, buf, buf.length - src.length, src.length); return buf; } /** * unpad for pkcs15 * * @param src buffer to unpad * @return unpadded buffer */ public byte[] PKCS1t15unpad(byte[] src) { int o = -1; for (int i = src.length - 1; i >= 0; i--) { if (src[i] == 0) { o = i; } } if (o < 0) { return src; } byte[] buf = new byte[src.length - o - 1]; for (int i = 0; i < buf.length; i++) { buf[i] = src[src.length - buf.length + i]; } return buf; } public boolean sshVerify(cryHashGeneric algo, String algn, byte[] hash, byte[] sign) { hash = cryHashGeneric.compute(algo, hash); packHolder p = new packHolder(true, true); p.putCopy(sign, 0, 0, sign.length); p.putSkip(sign.length); p.merge2beg(); if (!packSsh.stringRead(p).equals(algn)) { return true; } BigInteger s = packSsh.bigUIntRead(p); s = s.modPow(pubExp, modulus); return PKCS1t2pad(algo.getPkcs(), hash).compareTo(s) != 0; } public byte[] sshSigning(cryHashGeneric algo, String algn, byte[] hash) { hash = cryHashGeneric.compute(algo, hash); packHolder p = new packHolder(true, true); BigInteger s = PKCS1t2pad(algo.getPkcs(), hash); s = s.modPow(privExp, modulus); packSsh.stringWrite(p, algn); packSsh.bigUIntWrite(p, s); p.merge2beg(); return p.getCopy(); } public boolean certVerify(cryHashGeneric pkcs, byte[] hash, byte[] sign) { hash = cryHashGeneric.compute(pkcs, hash); BigInteger s = cryUtils.buffer2bigInt(sign, 0, sign.length); s = s.modPow(pubExp, modulus); return PKCS1t2pad(pkcs.getPkcs(), hash).compareTo(s) != 0; } public byte[] certSigning(cryHashGeneric pkcs, byte[] hash) { hash = cryHashGeneric.compute(pkcs, hash); BigInteger s = PKCS1t2pad(pkcs.getPkcs(), hash); s = s.modPow(privExp, modulus); return s.toByteArray(); } /** * do padding * * @param ver version * @param pkcs hash algorithm * @param hash hash hash to pad * @return padded, null if pss */ public BigInteger doPadding(int ver, cryHashGeneric pkcs, byte[] hash) { if (ver < 0) { return PKCS1t1pad(hash); } if (ver < 0x100) { hash = cryHashGeneric.compute(pkcs, hash); return PKCS1t1pad(hash); } if (ver < 0x800) { hash = cryHashGeneric.compute(pkcs, hash); return PKCS1t2pad(pkcs.getPkcs(), hash); } return null; } public boolean tlsVerify(int ver, cryHashGeneric pkcs, byte[] hash, byte[] sign) { BigInteger s = cryUtils.buffer2bigInt(sign, 0, sign.length); s = s.modPow(pubExp, modulus); BigInteger h = doPadding(ver, pkcs, hash); if (h != null) { return h.compareTo(s) != 0; } hash = cryHashGeneric.compute(pkcs, hash); byte[] sgn = s.toByteArray(); if (sgn.length < (hash.length + hash.length + 2)) { return true; } byte[] buf = new byte[hash.length + hash.length + 8]; bits.byteCopy(hash, 0, buf, 8, hash.length); int embt = modulus.bitLength() - 1; byte[] blk = new byte[(embt + 7) / 8]; bits.byteCopy(sgn, 0, blk, blk.length - sgn.length, sgn.length); int fbm = 0xff >>> ((blk.length * 8) - embt); if ((blk[0] & 0xff) != (blk[0] & fbm)) { return true; } if ((blk[blk.length - 1] & 0xff) != 0xbc) { return true; } byte[] dbm = pssMgf1(pkcs, blk, blk.length - hash.length - 1, hash.length, blk.length - hash.length - 1); for (int i = 0; i != dbm.length; i++) { blk[i] ^= dbm[i]; } blk[0] &= (byte) fbm; for (int i = 0; i != blk.length - hash.length - hash.length - 2; i++) { if (blk[i] != 0) { return true; } } if (blk[blk.length - hash.length - hash.length - 2] != 0x01) { return true; } bits.byteCopy(blk, blk.length - hash.length - hash.length - 1, buf, buf.length - hash.length, hash.length); pkcs.init(); pkcs.update(buf); bits.byteCopy(pkcs.finish(), 0, buf, buf.length - hash.length, hash.length); return bits.byteComp(blk, blk.length - hash.length - 1, buf, buf.length - hash.length, hash.length) != 0; } public byte[] tlsSigning(int ver, cryHashGeneric pkcs, byte[] hash) { BigInteger s = doPadding(ver, pkcs, hash); if (s != null) { s = s.modPow(privExp, modulus); return cryUtils.bigUint2buf(s); } hash = cryHashGeneric.compute(pkcs, hash); byte[] salt = new byte[hash.length]; for (int i = 0; i < salt.length; i++) { salt[i] = (byte) bits.randomB(); } byte[] buf = new byte[hash.length + hash.length + 8]; bits.byteCopy(hash, 0, buf, 8, hash.length); bits.byteCopy(salt, 0, buf, buf.length - hash.length, hash.length); pkcs.init(); pkcs.update(buf); byte[] h = pkcs.finish(); int embt = modulus.bitLength() - 1; byte[] blk = new byte[(embt + 7) / 8]; blk[blk.length - hash.length - hash.length - 2] = 0x01; bits.byteCopy(salt, 0, blk, blk.length - hash.length - hash.length - 1, hash.length); byte[] dbm = pssMgf1(pkcs, h, 0, h.length, blk.length - hash.length - 1); for (int i = 0; i != dbm.length; i++) { blk[i] ^= dbm[i]; } bits.byteCopy(h, 0, blk, blk.length - hash.length - 1, hash.length); blk[0] &= (byte) (0xff >>> ((blk.length * 8) - embt)); blk[blk.length - 1] = (byte) 0xbc; s = new BigInteger(blk); s = s.modPow(privExp, modulus); return cryUtils.bigUint2buf(s); } } freeRtr-25.11.9/src/org/freertr/cry/cryUtils.java000066400000000000000000000113621510423065500216130ustar00rootroot00000000000000package org.freertr.cry; import java.io.File; import java.io.RandomAccessFile; import java.math.BigInteger; import java.util.List; import org.freertr.pipe.pipeSide; import org.freertr.util.bits; /** * crypto utils * * @author matecsaba */ public class cryUtils { private cryUtils() { } /** * convert buffer to big integer * * @param src source buffer * @param ofs offset in buffer * @param siz size in bytes * @return integer */ public static BigInteger buffer2bigInt(byte[] src, int ofs, int siz) { byte[] buf = new byte[siz + 1]; for (int i = 0; i < siz; i++) { buf[i + 1] = src[ofs + i]; } buf[0] = 0; return new BigInteger(buf); } /** * save big integer to buffer * * @param o big integer * @param siz size of buffer * @return byte buffer */ public static byte[] bigInt2buffer(BigInteger o, int siz) { byte[] b1 = o.toByteArray(); byte[] b2 = new byte[siz]; if (b1.length >= b2.length) { bits.byteCopy(b1, b1.length - b2.length, b2, 0, b2.length); return b2; } bits.byteFill(b2, 0, b2.length - b1.length, 0); bits.byteCopy(b1, 0, b2, b2.length - b1.length, b1.length); return b2; } /** * convert big unsigned integer to buffer * * @param b integer * @return buffer */ public static byte[] bigUint2buf(BigInteger b) { byte[] dat = b.toByteArray(); if (dat[0] != 0) { return dat; } byte[] buf = new byte[dat.length - 1]; bits.byteCopy(dat, 1, buf, 0, buf.length); return buf; } /** * generate random big integer * * @param siz size in bits * @return random number */ public static BigInteger randomBigInt(int siz) { byte[] buf = new byte[(siz / 8) + 1]; bits.randomS().nextBytes(buf); buf[0] = 0; BigInteger i = new BigInteger(buf); i = i.mod(BigInteger.ONE.shiftLeft(siz).subtract(BigInteger.ONE)); return i; } /** * generate random prime * * @param siz size in bits * @return random prime */ public static BigInteger randomPrime(int siz) { for (;;) { BigInteger i = BigInteger.probablePrime(siz, bits.randomS()); if (i.bitLength() != siz) { continue; } if (!testPrime(i)) { continue; } return i; } } /** * test if a prime * * @param i number to test * @return true if prime, false if not */ public static boolean testPrime(BigInteger i) { return i.isProbablePrime(100); } /** * generate hash from text * * @param hsh hash to update * @param src lines to add * @param trm line terminator * @return false on success, true on error */ public static boolean hashText(cryHashGeneric hsh, List src, pipeSide.modTyp trm) { if (src == null) { return true; } byte[] buf = pipeSide.getEnding(trm); for (int i = 0; i < src.size(); i++) { hsh.update(src.get(i).getBytes()); hsh.update(buf); } return false; } /** * generate hash from file * * @param hsh hash to update * @param src file to add * @return false on success, true on error */ public static boolean hashFile(cryHashGeneric hsh, File src) { long pos = 0; long siz = -1; RandomAccessFile fr; try { fr = new RandomAccessFile(src, "r"); } catch (Exception e) { return true; } try { siz = fr.length(); } catch (Exception e) { } for (; pos < siz;) { final int max = 8192; long rndl = siz - pos; if (rndl > max) { rndl = max; } pos += rndl; int rndi = (int) rndl; byte[] buf = new byte[rndi]; try { fr.read(buf, 0, rndi); } catch (Exception e) { siz = -1; break; } hsh.update(buf); } try { fr.close(); } catch (Exception e) { return true; } return siz < 0; } /** * finish hash to hex * * @param hsh hash to finish * @return hex result */ public static String hash2hex(cryHashGeneric hsh) { byte[] buf = hsh.finish(); String s = ""; for (int i = 0; i < buf.length; i++) { s += bits.toHexB(buf[i]); } return s.toLowerCase(); } } freeRtr-25.11.9/src/org/freertr/cry/package-info.java000066400000000000000000000001111510423065500223070ustar00rootroot00000000000000/** * cryptography * * @author matecsaba */ package org.freertr.cry; freeRtr-25.11.9/src/org/freertr/enc/000077500000000000000000000000001510423065500170775ustar00rootroot00000000000000freeRtr-25.11.9/src/org/freertr/enc/enc7bit.java000066400000000000000000000315651510423065500213070ustar00rootroot00000000000000package org.freertr.enc; import java.util.ArrayList; import java.util.List; import org.freertr.util.bits; /** * a 8 bit to 7 bit filter * * @author matecsaba */ public class enc7bit { /** * convert to bin * * @param l list to append * @param buf buffer * @param beg beginning */ public static void buf2bin(List l, byte[] buf, int beg) { String s = bits.toHexD(beg) + ":"; for (int ps = 0; ps < buf.length;) { s += " " + bits.toBinB(buf[ps]); ps++; beg++; if ((ps & 3) != 0) { continue; } l.add(s); s = bits.toHexD(beg) + ":"; } l.add(s); } /** * convert to hex * * @param l list to append * @param buf buffer * @param beg beginning * @param tab tabulator */ public static void buf2hex(List l, byte[] buf, int beg, String tab) { String s = tab + bits.toHexD(beg) + ":"; for (int ps = 0; ps < buf.length;) { s += " " + bits.toHexB(buf[ps]); ps++; beg++; if ((ps & 3) == 0) { s += " "; } if ((ps & 15) != 0) { continue; } l.add(s); s = tab + bits.toHexD(beg) + ":"; } l.add(s); } /** * default constructor */ private enc7bit() { } /** * check if a byte is valid * * @param i byte to check * @return true if ok false otherwise */ public static boolean checkByte(int i) { if (i == 0x20) { return true; } if (i < 0x20) { return false; } if (i >= 0x7f) { return false; } return true; } /** * convert one character * * @param i byte to convert * @return converted byte */ public static byte doOneByte(int i) { if (checkByte(i)) { return (byte) (i & 0x7f); } else { return '_'; } } /** * convert one character * * @param c char to convert * @return converted char */ public final static char doOneChar(char c) { int i = (byte) c; int r = doOneByte((char) i); return (char) r; } /** * convert one string * * @param s string to convert * @return converted string */ public final static String doOneString(String s) { if (s == null) { return ""; } byte[] buf = s.getBytes(); String r = ""; boolean pok = true; for (int i = 0; i < s.length(); i++) { int o = buf[i]; if (!checkByte(o)) { if (!pok) { continue; } pok = false; r += " "; continue; } r += "" + (char) doOneByte(o); pok = true; } return r.trim(); } /** * convert one array to string * * @param buf bytes to convert * @param beg beginning to prepend * @return converted array */ public final static List doOneArray(byte[] buf, String beg) { List res = new ArrayList(); String s = ""; for (int i = 0; i < buf.length; i++) { byte o = buf[i]; if (checkByte(o)) { s += (char) o; continue; } if (s.length() < 1) { continue; } res.add(beg + s.trim()); s = ""; } if (s.length() < 1) { return res; } res.add(beg + s.trim()); return res; } /** * check if extended byte * * @param i byte to check * @return true if extended false if not */ public static boolean extendedByte(int i) { if (i <= 0x20) { return true; } if (i >= 0x7f) { return true; } return false; } /** * decode extended byte * * @param i byte to decode * @return decoded byte */ public static byte decodeExtByte(int i) { if (checkByte(i)) { return (byte) i; } if (!extendedByte(i)) { return (byte) i; } switch (i) { case 0x82: return ','; case 0x83: return 'f'; case 0x84: return ','; case 0x85: return '.'; case 0x86: return '+'; case 0x89: return '%'; case 0x8a: return 'S'; case 0x8b: return '<'; case 0x8c: return 'O'; case 0x8e: return 'Z'; case 0x91: return '\''; case 0x92: return '\''; case 0x93: return '"'; case 0x94: return '"'; case 0x95: return ' '; case 0x96: return '-'; case 0x97: return '-'; case 0x98: return '~'; case 0x90: return 'T'; case 0x9a: return 's'; case 0x9b: return '>'; case 0x9c: return 'p'; case 0x9e: return 'z'; case 0x9f: return 'Y'; case 0xa0: return ' '; case 0xa1: return '!'; case 0xa2: return 'C'; case 0xa3: return 'L'; case 0xa4: return '*'; case 0xa5: return 'Y'; case 0xa7: return '$'; case 0xa8: return '"'; case 0xa9: return 'c'; case 0xae: return 'r'; case 0xaf: return '_'; case 0xb0: return 'o'; case 0xb2: return '2'; case 0xb3: return '3'; case 0xb4: return '\''; case 0xb5: return 'u'; case 0xb7: return '.'; case 0xb8: return ','; case 0xb9: return '1'; case 0xbc: return '_'; case 0xbf: return '?'; case 0xc0: return 'A'; case 0xc1: return 'A'; case 0xc2: return 'A'; case 0xc3: return 'A'; case 0xc4: return 'A'; case 0xc5: return 'A'; case 0xc6: return 'A'; case 0xc7: return 'C'; case 0xc8: return 'E'; case 0xc9: return 'E'; case 0xca: return 'E'; case 0xcb: return 'E'; case 0xcc: return 'I'; case 0xcd: return 'I'; case 0xce: return 'I'; case 0xcf: return 'I'; case 0xd0: return 'D'; case 0xd1: return 'N'; case 0xd2: return 'O'; case 0xd3: return 'O'; case 0xd4: return 'O'; case 0xd5: return 'O'; case 0xd6: return 'O'; case 0xd7: return 'x'; case 0xd8: return 'O'; case 0xd9: return 'U'; case 0xda: return 'U'; case 0xdb: return 'U'; case 0xdc: return 'U'; case 0xdd: return 'Y'; case 0xde: return '_'; case 0xdf: return 'B'; case 0xe0: return 'a'; case 0xe1: return 'a'; case 0xe2: return 'a'; case 0xe3: return 'a'; case 0xe4: return 'a'; case 0xe5: return 'a'; case 0xe6: return 'a'; case 0xe7: return 'c'; case 0xe8: return 'e'; case 0xe9: return 'e'; case 0xea: return 'e'; case 0xeb: return 'e'; case 0xec: return 'i'; case 0xed: return 'i'; case 0xee: return 'i'; case 0xef: return 'i'; case 0xf0: return 'd'; case 0xf1: return 'n'; case 0xf2: return 'o'; case 0xf3: return 'o'; case 0xf4: return 'o'; case 0xf5: return 'o'; case 0xf6: return 'o'; case 0xf7: return '%'; case 0xf8: return 'o'; case 0xf9: return 'u'; case 0xfa: return 'u'; case 0xfb: return 'u'; case 0xfc: return 'u'; case 0xfd: return 'y'; case 0xfe: return '_'; case 0xff: return 'y'; default: return '?'; } } /** * decode extended ascii string * * @param s string to decode * @return decoded string */ public final static String decodeExtStr(String s) { byte[] org = s.getBytes(); byte[] res = new byte[org.length]; for (int i = 0; i < org.length; i++) { byte c = org[i]; byte r = decodeExtByte(c); res[i] = r; } return new String(res); } /** * convert a string to hacker writing * * @param lst list to convert * @return converted list */ public final static List decodeExtLst(List lst) { List res = new ArrayList(); for (int i = 0; i < lst.size(); i++) { String s = lst.get(i); String a = decodeExtStr(s); res.add(a); } return res; } /** * hack one character * * @param c character to hack * @return hacked character */ public final static byte doHackOneChar(byte c) { switch (c) { case '0': return 'o'; case '1': return 'i'; case 'i': return '1'; case 'l': return '1'; case 'o': return '0'; case 'e': return '3'; case '3': return 'E'; case '2': return 'Z'; case 's': return '$'; case 'z': return '2'; case 'a': return '4'; case '4': return 'A'; case 't': return '7'; case '7': return 'T'; case '8': return 'B'; case 'b': return '8'; case 'v': return 'w'; case 'w': return 'v'; default: if (extendedByte(c)) { return decodeExtByte(c); } else { return doOneByte(c); } } } /** * convert a string to hacker writing * * @param s string to convert * @return converted string */ public final static String toHackedStr(String s) { byte[] org = s.getBytes(); byte[] res = new byte[org.length]; for (int i = 0; i < org.length; i++) { byte c = org[i]; byte r = doHackOneChar(c); res[i] = r; } return new String(res); } /** * convert a string to hacker writing * * @param lst list to convert * @return converted list */ public final static List toHackedLst(List lst) { List res = new ArrayList(); for (int i = 0; i < lst.size(); i++) { String s = lst.get(i); String a = toHackedStr(s); res.add(a); } return res; } } freeRtr-25.11.9/src/org/freertr/enc/encAsn1.java000066400000000000000000000551151510423065500212410ustar00rootroot00000000000000package org.freertr.enc; import java.math.BigInteger; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIPv4; import org.freertr.addr.addrIPv6; import org.freertr.addr.addrMac; import org.freertr.pack.packHolder; import org.freertr.util.bits; import org.freertr.util.cmds; /** * abstract syntax notation 1 * * @author matecsaba */ public class encAsn1 { /** * create instance */ public encAsn1() { } /** * class of tag */ public int cls; /** * true=constructed, false=primitive */ public boolean cnst; /** * number of tag */ public int tag; /** * oid of tag */ public int[] oid; /** * bytes in tag */ public byte[] buf; /** * end of construction */ public final static int tagEoc = 0x00; /** * boolean */ public final static int tagBoolean = 0x01; /** * integer */ public final static int tagInteger = 0x02; /** * bit string */ public final static int tagBitString = 0x03; /** * octet string */ public final static int tagOctetString = 0x04; /** * null */ public final static int tagNull = 0x05; /** * object identifier */ public final static int tagObjectID = 0x06; /** * object descriptor */ public final static int tagObjectDesc = 0x07; /** * external */ public final static int tagExternal = 0x08; /** * real */ public final static int tagReal = 0x09; /** * enumerated */ public final static int tagEnumerated = 0x0a; /** * utf8 string */ public final static int tagUTF8string = 0x0c; /** * sequence */ public final static int tagSequence = 0x10; /** * set */ public final static int tagSet = 0x11; /** * numeric string */ public final static int tagNumericString = 0x12; /** * printable string */ public final static int tagPrintableString = 0x13; /** * teletex string */ public final static int tagTeletexString = 0x14; /** * videotex string */ public final static int tagVideotexString = 0x15; /** * ia5 string */ public final static int tagIA5string = 0x16; /** * utc time */ public final static int tagUTCtime = 0x17; /** * general time */ public final static int tagGeneralTime = 0x18; /** * graphic string */ public final static int tagGraphicString = 0x19; /** * visible string */ public final static int tagVisibleString = 0x1A; /** * general string */ public final static int tagGeneralString = 0x1B; /** * convert tag to value * * @param i tag to convert * @return value */ public String tag2string(int i) { switch (i) { case tagEoc: return "eoc"; case tagBoolean: return "boolean"; case tagInteger: return "integer"; case tagBitString: return "bitstring"; case tagOctetString: return "octetstring"; case tagNull: return "null"; case tagObjectID: return "objectid"; case tagObjectDesc: return "objectdesc"; case tagExternal: return "external"; case tagReal: return "real"; case tagEnumerated: return "enumerated"; case tagUTF8string: return "utf8string"; case tagSequence: return "sequence"; case tagSet: return "set"; case tagNumericString: return "numeric"; case tagPrintableString: return "printable"; case tagTeletexString: return "teletex"; case tagVideotexString: return "videotex"; case tagIA5string: return "ia5string"; case tagUTCtime: return "utcTime"; case tagGeneralTime: return "genTime"; case tagGraphicString: return "graphic"; case tagVisibleString: return "visible"; case tagGeneralString: return "general"; default: return "unknown=" + i; } } /** * string to tag * * @param s string * @return tag */ public static int string2tag(String s) { if (s.equals("general")) { return tagGeneralString; } if (s.equals("visible")) { return tagVisibleString; } if (s.equals("graphic")) { return tagGraphicString; } if (s.equals("genTime")) { return tagGeneralTime; } if (s.equals("utcTime")) { return tagUTCtime; } if (s.equals("ia5string")) { return tagIA5string; } if (s.equals("videotex")) { return tagVideotexString; } if (s.equals("teletex")) { return tagTeletexString; } if (s.equals("printable")) { return tagPrintableString; } if (s.equals("numeric")) { return tagNumericString; } if (s.equals("set")) { return tagSet; } if (s.equals("sequence")) { return tagSequence; } if (s.equals("utf8string")) { return tagUTF8string; } if (s.equals("enumerated")) { return tagEnumerated; } if (s.equals("real")) { return tagReal; } if (s.equals("external")) { return tagExternal; } if (s.equals("objectdesc")) { return tagObjectDesc; } if (s.equals("objectid")) { return tagObjectID; } if (s.equals("null")) { return tagNull; } if (s.equals("octetstring")) { return tagOctetString; } if (s.equals("bitstring")) { return tagBitString; } if (s.equals("integer")) { return tagInteger; } if (s.equals("boolean")) { return tagBoolean; } if (s.equals("eoc")) { return tagEoc; } return bits.str2num(s); } /** * convert bytes to oid * * @param src bytes * @return converted oid */ public static int[] buf2oid(byte[] src) { int[] trg = new int[src.length + 1]; trg[0] = (src[0] & 0xff) / 40; trg[1] = (src[0] & 0xff) % 40; for (int i = 1; i < src.length; i++) { trg[i + 1] = src[i] & 0xff; } return trg; } /** * convert oid to bytes * * @param src oid * @return bytes */ public static byte[] oid2buf(int[] src) { byte[] trg = new byte[src.length - 1]; trg[0] = (byte) ((src[0] * 40) + (src[1] % 40)); for (int i = 1; i < trg.length; i++) { trg[i] = (byte) src[i + 1]; } return trg; } /** * convert oid to string * * @param oid oid * @return string */ public static String oid2str(int[] oid) { if (oid == null) { return ""; } if (oid.length < 1) { return ""; } String s = ""; for (int i = 0; i < oid.length;) { int o = oid[i] & 0xff; if ((o & 0x80) == 0) { s += "." + o; i++; continue; } int p = 0; for (; i < oid.length;) { o = oid[i] & 0xff; p = (p << 7) | (o & 0x7f); i++; if ((o & 0x80) == 0) { break; } } s += "." + p; } s = s.substring(1, s.length()); return s; } /** * convert string to oid * * @param s string * @return oid */ public static int[] str2oid(String s) { s += "."; List b1 = new ArrayList(); for (;;) { if (s.length() < 1) { break; } int i = s.indexOf("."); if (i < 1) { break; } int o = bits.str2num(s.substring(0, i)); s = s.substring(i + 1, s.length()); if ((o & 0x7f) == o) { b1.add(o); continue; } List b2 = new ArrayList(); for (; o != 0;) { b2.add(o & 0x7f); o >>>= 7; } for (o = b2.size() - 1; o >= 0; o--) { int p = b2.get(o); if (o > 0) { p |= 0x80; } b1.add(p); } } int[] b2 = new int[b1.size()]; for (int i = 0; i < b2.length; i++) { b2[i] = b1.get(i); } return b2; } /** * read one tag from stream * * @param pck packet to read from * @return false on success, true on error */ public boolean tagRead(packHolder pck) { if (pck.dataSize() < 2) { return true; } int i = pck.getByte(0); pck.getSkip(1); cls = (i >>> 6) & 3; cnst = (i & 0x20) != 0; tag = i & 0x1f; if (tag == 0x1f) { tag = 0; for (;;) { i = pck.getByte(0); pck.getSkip(1); tag = (tag << 7) | (i & 0x7f); if ((tag & 0x80) == 0) { break; } } } i = pck.getByte(0); pck.getSkip(1); if ((i & 0x80) == 0) { buf = new byte[i]; } else { int o = 0; int p = i & 0x7f; for (i = 0; i < p; i++) { o = (o << 8) | pck.getByte(0); pck.getSkip(1); } buf = new byte[o & 0xffff]; } if (pck.dataSize() < buf.length) { return true; } for (i = 0; i < buf.length; i++) { buf[i] = (byte) pck.getByte(i); } pck.getSkip(buf.length); return false; } /** * write one tag to stream * * @param pck packet to read from */ public void tagWrite(packHolder pck) { int i = 0; if (cnst) { i = 0x20; } if ((tag & 0x1f) == tag) { pck.putByte(0, (cls << 6) | i | tag); pck.putSkip(1); } else { pck.putByte(0, (cls << 6) | i | 0x1f); pck.putSkip(1); byte[] b = new byte[16]; int p = tag; int o = 0; for (;;) { if (p == 0) { break; } b[o] = (byte) (p & 0x7f); o++; p = p >>> 7; } for (i = 0; i < o; i++) { p = b[o - i - 1]; if (i < o - 1) { p = p | 0x80; } pck.putByte(i, p); } pck.putSkip(o); } if ((buf.length & 0x7f) == buf.length) { pck.putByte(0, buf.length); pck.putSkip(1); } else { byte[] b = new byte[16]; int p = buf.length; int o = 0; for (;;) { if (p == 0) { break; } b[o] = (byte) (p & 0xff); o++; p = p >>> 8; } pck.putByte(0, o | 0x80); pck.putSkip(1); for (i = 0; i < o; i++) { pck.putByte(i, b[o - i - 1]); } pck.putSkip(o); } for (i = 0; i < buf.length; i++) { pck.putByte(i, buf[i]); } pck.putSkip(buf.length); } /** * return data as a packet * * @return data as packet */ public packHolder getPack() { packHolder pck = new packHolder(true, true); pck.clear(); pck.putCopy(buf, 0, 0, buf.length); pck.putSkip(buf.length); pck.merge2beg(); return pck; } /** * return data as big integer * * @return integer value */ public BigInteger getBigInt() { return new BigInteger(buf); } /** * save packet data as sequence * * @param pck packet data to save */ public void putSequence(packHolder pck) { pck.mergeHeader(0, 0); buf = pck.getCopy(); cnst = true; tag = tagSequence; cls = 0; } /** * save packet data as sequence * * @param pck packet data to save */ public void putSet(packHolder pck) { pck.mergeHeader(0, 0); buf = pck.getCopy(); cnst = true; tag = tagSet; cls = 0; } /** * save packet data as bitString * * @param pck packet data to save */ public void putBitString(packHolder pck) { pck.mergeHeader(0, 0); buf = pck.getCopy(); cnst = false; tag = tagBitString; cls = 0; } /** * save packet data as bitString * * @param pck packet data to save */ public void putOctString(packHolder pck) { pck.mergeHeader(0, 0); buf = pck.getCopy(); cnst = false; tag = tagOctetString; cls = 0; } /** * save packet data as bitString * * @param pck packet data to save */ public void putEoc(packHolder pck) { pck.mergeHeader(0, 0); buf = pck.getCopy(); cnst = true; tag = tagEoc; cls = 2; } /** * save packet data as boolean * * @param pck packet data to save */ public void putBool(packHolder pck) { pck.mergeHeader(0, 0); buf = pck.getCopy(); cnst = true; tag = tagBoolean; cls = 2; } /** * save big integer as integer * * @param b integer */ public void putBigInt(BigInteger b) { buf = b.toByteArray(); cnst = false; tag = tagInteger; cls = 0; } /** * save integer array as object id * * @param oid object id */ public void putObjectId(int[] oid) { buf = new byte[oid.length]; for (int i = 0; i < buf.length; i++) { buf[i] = (byte) (oid[i] & 0xff); } cnst = false; tag = tagObjectID; cls = 0; } /** * save null */ public void putNull() { buf = new byte[0]; cnst = false; tag = tagNull; cls = 0; } /** * save utc time * * @param tim time to save */ public void putUTCtime(long tim) { String s = bits.time2str(null, tim, 3) + "Z"; s = s.substring(2, s.length()); s = s.replace(" ", ""); s = s.replace(":", ""); s = s.replace("-", ""); buf = s.getBytes(); cnst = false; tag = tagUTCtime; cls = 0; } public String toString() { String a = ""; if (!cnst) { a = " data=" + bits.byteDump(buf, 0, -1); if (tag == tagObjectID) { a += " (" + oid2str(buf2oid(buf)) + ")"; } } else { a = " size=" + buf.length; } return "class=" + cls + " construct=" + cnst + " tag=" + tag2string(tag) + a; } /** * convert from string * * @param cmd string to convert * @return false on success, true on error */ public boolean fromString(cmds cmd) { for (;;) { String s = cmd.word(); if (s.length() < 1) { break; } String a = ""; int i = s.indexOf("="); if (i >= 0) { a = s.substring(i + 1, s.length()); s = s.substring(0, i); } if (s.equals("tag")) { tag = string2tag(a); continue; } if (s.equals("class")) { cls = bits.str2num(a); continue; } if (s.equals("construct")) { cnst = a.equals("true"); continue; } if (s.equals("string")) { a += cmd.getRemaining(); buf = a.getBytes(); return false; } if (s.equals("int32")) { buf = new byte[4]; bits.msbPutD(buf, 0, bits.str2num(a)); return false; } if (s.equals("int64")) { buf = new byte[8]; bits.msbPutQ(buf, 0, bits.str2num(a)); return false; } if (s.equals("adrip4")) { addrIPv4 ad = new addrIPv4(); ad.fromString(a); buf = new byte[addrIPv4.size]; ad.toBuffer(buf, 0); return false; } if (s.equals("adrip6")) { addrIPv6 ad = new addrIPv6(); ad.fromString(a); buf = new byte[addrIPv6.size]; ad.toBuffer(buf, 0); return false; } if (s.equals("adrmac")) { addrMac ad = new addrMac(); ad.fromString(a); buf = new byte[addrMac.size]; ad.toBuffer(buf, 0); return false; } if (s.equals("oid")) { buf = oid2buf(str2oid(a)); return false; } if (s.equals("data")) { break; } return true; } if (cmd.size() < 1) { return false; } buf = hex2bytes(cmd); return false; } /** * convert text to bytes * * @param cmd text * @return bytes */ public static byte[] hex2bytes(cmds cmd) { List lst = new ArrayList(); for (;;) { String s = cmd.word(); if (s.length() < 1) { break; } lst.add(bits.fromHex(s)); } byte[] buf = new byte[lst.size()]; for (int i = 0; i < buf.length; i++) { buf[i] = (byte) ((int) lst.get(i)); } return buf; } /** * read big integer * * @param pck packet to use * @return integer readed */ public static BigInteger readBigInt(packHolder pck) { encAsn1 a = new encAsn1(); if (a.tagRead(pck)) { return null; } if (a.cnst) { return null; } if (a.tag != encAsn1.tagInteger) { return null; } return a.getBigInt(); } /** * save sequence to packet * * @param trg target packet holder * @param src source packet holder */ public static void writeSequence(packHolder trg, packHolder src) { encAsn1 a = new encAsn1(); a.putSequence(src); a.tagWrite(trg); trg.merge2end(); } /** * save set to packet * * @param trg target packet holder * @param src source packet holder */ public static void writeSet(packHolder trg, packHolder src) { encAsn1 a = new encAsn1(); a.putSet(src); a.tagWrite(trg); trg.merge2end(); } /** * save bit string to packet * * @param trg target packet holder * @param src source packet holder */ public static void writeBitString(packHolder trg, packHolder src) { encAsn1 a = new encAsn1(); a.putBitString(src); a.tagWrite(trg); trg.merge2end(); } /** * save octet string to packet * * @param trg target packet holder * @param src source packet holder */ public static void writeOctString(packHolder trg, packHolder src) { encAsn1 a = new encAsn1(); a.putOctString(src); a.tagWrite(trg); trg.merge2end(); } /** * save sequence to packet * * @param trg target packet holder * @param src source packet holder */ public static void writeEoc(packHolder trg, packHolder src) { encAsn1 a = new encAsn1(); a.putEoc(src); a.tagWrite(trg); trg.merge2end(); } /** * save sequence to packet * * @param trg target packet holder * @param src source packet holder */ public static void writeBool(packHolder trg, packHolder src) { encAsn1 a = new encAsn1(); a.putBool(src); a.tagWrite(trg); trg.merge2end(); } /** * save big integer to packet * * @param pck packet holder * @param b big integer */ public static void writeBigInt(packHolder pck, BigInteger b) { encAsn1 a = new encAsn1(); a.putBigInt(b); a.tagWrite(pck); pck.merge2end(); } /** * save object id to packet * * @param pck packet holder * @param oid object id */ public static void writeObjectId(packHolder pck, int[] oid) { encAsn1 a = new encAsn1(); a.putObjectId(oid); a.tagWrite(pck); pck.merge2end(); } /** * save null to packet * * @param pck packet holder */ public static void writeNull(packHolder pck) { encAsn1 a = new encAsn1(); a.putNull(); a.tagWrite(pck); pck.merge2end(); } /** * dump packet * * @param lst list to use * @param beg beginning * @param p1 packet to dump */ public static void dumpPack(List lst, String beg, packHolder p1) { for (;;) { encAsn1 a = new encAsn1(); if (a.tagRead(p1)) { break; } lst.add(beg + a); if (!a.cnst) { continue; } packHolder p2 = a.getPack(); dumpPack(lst, beg + " ", p2); } } /** * dump packet * * @param beg beginning * @param p1 packet to dump * @return list of lines */ public static List dumpPack(String beg, packHolder p1) { List l = new ArrayList(); dumpPack(l, beg, p1); return l; } } freeRtr-25.11.9/src/org/freertr/enc/encBase64.java000066400000000000000000000102441510423065500214550ustar00rootroot00000000000000package org.freertr.enc; import java.util.ArrayList; import java.util.List; /** * the base64 (rfc4648) encoding * * @author matecsaba */ public class encBase64 { /** * default constructor */ private encBase64() { } /** * default line length in cleartext form */ public final static int maxIn = 60; private final static String tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; private final static String pad = "="; private static String encodePart(byte[] buf, int ofs, int siz) { if (siz < 1) { return ""; } if (siz > 3) { return "????"; } int o = 0; int p = 24; for (int i = 0; i < siz; i++) { o = ((buf[ofs + i]) & 0xff) | (o << 8); p = p - 8; } o = o << p; String s = ""; for (int i = 0; i < 4; i++) { p = o & 0x3f; o = o >>> 6; s = tab.substring(p, p + 1) + s; } switch (siz) { case 1: return s.substring(0, 2) + pad + pad; case 2: return s.substring(0, 3) + pad; default: return s; } } private static byte[] decodePart(String str) { if (str.length() != 4) { return null; } int o = 0; int p = 0; for (int i = 0; i < 4; i++) { o = (o << 6); String a = str.substring(i, i + 1); if (a.equals(pad)) { continue; } int q = tab.indexOf(a); if (q < 0) { return null; } o = o | q; p = p + 6; } p = p / 8; byte[] buf = new byte[p]; o = o >>> ((3 - p) * 8); for (int i = 0; i < p; i++) { buf[p - i - 1] = (byte) (o & 0xff); o = o >>> 8; } return buf; } /** * encode bytes * * @param buf buffer to encode * @param ofs offset where start * @param siz bytes to encode * @return encoded data */ public final static String encodeBytes(byte[] buf, int ofs, int siz) { final int max = 3; String s = ""; for (;;) { if (siz < 1) { break; } int i = siz; if (i > max) { i = max; } s += encodePart(buf, ofs, i); ofs += i; siz -= i; } return s; } /** * encode bytes * * @param buf buffer to encode * @return encoded data */ public final static String encodeBytes(byte[] buf) { return encodeBytes(buf, 0, buf.length); } /** * encode string * * @param str string to encode * @return decoded data */ public final static String encodeString(String str) { byte[] buf = str.getBytes(); return encodeBytes(buf, 0, buf.length); } /** * decode string * * @param str string to decode * @return decoded data */ public final static byte[] decodeBytes(String str) { final int max = 4; List buf = new ArrayList(); for (;;) { int siz = str.length(); if (siz > max) { siz = max; } if (siz < 1) { break; } byte[] prt = decodePart(str.substring(0, siz)); str = str.substring(siz, str.length()); if (prt == null) { return null; } for (int i = 0; i < prt.length; i++) { buf.add(prt[i]); } } byte[] res = new byte[buf.size()]; for (int i = 0; i < res.length; i++) { res[i] = buf.get(i); } return res; } /** * decode string * * @param str string to decode * @return decoded data */ public final static String decodeString(String str) { byte[] res = decodeBytes(str); if (res == null) { return null; } return new String(res); } } freeRtr-25.11.9/src/org/freertr/enc/encCodec.java000066400000000000000000000103751510423065500214530ustar00rootroot00000000000000package org.freertr.enc; /** * codec handler * * @author matecsaba */ public abstract class encCodec { private int[] decode; private int[] encode; /** * calculate one decoded value * * @param val value to decode * @return decoded value */ protected abstract int calcDecodeOneValue(int val); /** * get en/decode buffer * * @param dir true=encode, false=decode * @return buffer */ protected abstract int[] getBuffer(boolean dir); /** * set en/decode buffer * * @param dir true=encode, false=decode * @param buf buffer */ protected abstract void setBuffer(boolean dir, int[] buf); /** * get rtp type * * @return type */ public abstract int getRTPtype(); /** * get rtp name * * @return name */ public abstract String getRTPname(); /** * get wav type * * @return type */ public abstract int getWAVtype(); /** * construct tables */ public encCodec() { decode = getBuffer(false); if (decode == null) { decode = new int[128]; for (int i = 0; i < decode.length; i++) { decode[i] = calcDecodeOneValue(i); } setBuffer(false, decode); } encode = getBuffer(true); if (encode == null) { encode = new int[32768]; for (int i = 0; i < encode.length; i++) { int o = -1; int p = 0x100000; for (int q = 0; q < decode.length; q++) { int r = i - decode[q]; if (r < 0) { r = -r; } if (r > p) { continue; } o = q; p = r; } encode[i] = o; } setBuffer(true, encode); } } /** * encode one value * * @param val value to encode * @return encoded value */ public int encodeInt(int val) { if (val < 0) { return encode[-val] | 0x80; } else { return encode[val]; } } /** * decode one value * * @param val value to decode * @return decoded value */ public int decodeInt(int val) { if ((val & 0x80) != 0) { return -decode[val & 0x7f]; } else { return decode[val]; } } /** * encode buffer * * @param buf buffer to use * @return result */ public byte[] encodeBuf(int[] buf) { return encodeBuf(buf, 0, buf.length); } /** * encode buffer * * @param buf buffer to use * @param ofs offset where from * @param siz number of samples * @return result */ public byte[] encodeBuf(int[] buf, int ofs, int siz) { byte[] res = new byte[siz]; for (int i = 0; i < res.length; i++) { res[i] = (byte) encodeInt(buf[ofs + i]); } return res; } /** * decode buffer * * @param buf buffer to use * @param ofs offset where from * @param siz number of samples * @return result */ public int[] decodeBuf(byte[] buf, int ofs, int siz) { int[] res = new int[siz]; for (int i = 0; i < res.length; i++) { res[i] = decodeInt(buf[ofs + i]); } return res; } /** * decode buffer * * @param buf buffer to use * @return result */ public int[] decodeBuf(byte[] buf) { return decodeBuf(buf, 0, buf.length); } /** * decode buffer * * @param buf buffer to use * @param ofs offset where from * @param siz number of samples * @return result */ public byte[] degradeBuf(byte[] buf, int ofs, int siz) { byte[] res = new byte[siz]; for (int i = 0; i < res.length; i++) { res[i] = (byte) (decodeInt(buf[ofs + i]) >>> 8); } return res; } /** * decode buffer * * @param buf buffer to use * @return result */ public byte[] degradeBuf(byte[] buf) { return degradeBuf(buf, 0, buf.length); } } freeRtr-25.11.9/src/org/freertr/enc/encCodecG711aLaw.java000066400000000000000000000031331510423065500226120ustar00rootroot00000000000000package org.freertr.enc; /** * itu g711 a law codec handler * * @author matecsaba */ public class encCodecG711aLaw extends encCodec { /** * create instance */ public encCodecG711aLaw() { } private static int[] decode; private static int[] encode; /** * get rtp type * * @return type */ public int getRTPtype() { return 8; } /** * get rtp name * * @return name */ public String getRTPname() { return "PCMA"; } /** * get wav type * * @return type */ public int getWAVtype() { return 6; } /** * get buffer * * @param dir direction * @return buffer */ protected int[] getBuffer(boolean dir) { if (dir) { return encode; } else { return decode; } } /** * set buffer * * @param dir direction * @param buf buffer */ protected void setBuffer(boolean dir, int[] buf) { if (dir) { encode = buf; } else { decode = buf; } } /** * calculate value * * @param val value * @return value */ protected int calcDecodeOneValue(int val) { val ^= 0x55; boolean signed = (val & 0x80) != 0; int exp = (val >>> 4) & 0x7; int man = val & 0xf; if (exp == 0) { exp++; } else { man |= 0x10; } val = man << (exp + 3); if (signed) { val = -val; } return val; } } freeRtr-25.11.9/src/org/freertr/enc/encCodecG711uLaw.java000066400000000000000000000030211510423065500226320ustar00rootroot00000000000000package org.freertr.enc; /** * itu g711 u law codec handler * * @author matecsaba */ public class encCodecG711uLaw extends encCodec { /** * create instance */ public encCodecG711uLaw() { } private static int[] decode; private static int[] encode; /** * get rtp type * * @return type */ public int getRTPtype() { return 0; } /** * get rtp name * * @return name */ public String getRTPname() { return "PCMU"; } /** * get wav type * * @return type */ public int getWAVtype() { return 7; } /** * get buffer * * @param dir direction * @return buffer */ protected int[] getBuffer(boolean dir) { if (dir) { return encode; } else { return decode; } } /** * set buffer * * @param dir direction * @param buf buffer */ protected void setBuffer(boolean dir, int[] buf) { if (dir) { encode = buf; } else { decode = buf; } } /** * calculate value * * @param val value * @return value */ protected int calcDecodeOneValue(int val) { val ^= 0x7f; boolean signed = (val & 0x80) != 0; int exp = (val >>> 4) & 0x7; int man = val & 0xf; man |= 0x10; val = man << (exp + 3); if (signed) { val = -val; } return val; } } freeRtr-25.11.9/src/org/freertr/enc/encCodecPcm.java000066400000000000000000000026171510423065500221130ustar00rootroot00000000000000package org.freertr.enc; /** * pulse code modulation * * @author matecsaba */ public class encCodecPcm extends encCodec { /** * create instance */ public encCodecPcm() { } private static int[] decode; private static int[] encode; /** * get rtp type * * @return type */ public int getRTPtype() { return 5; } /** * get rtp name * * @return name */ public String getRTPname() { return "PCM"; } /** * get wav type * * @return type */ public int getWAVtype() { return 1; } /** * get buffer * * @param dir direction * @return buffer */ protected int[] getBuffer(boolean dir) { if (dir) { return encode; } else { return decode; } } /** * set buffer * * @param dir direction * @param buf buffer */ protected void setBuffer(boolean dir, int[] buf) { if (dir) { encode = buf; } else { decode = buf; } } /** * calculate value * * @param val value * @return value */ protected int calcDecodeOneValue(int val) { if ((val & 0x80) != 0) { return -((0x80 - (val & 0x7f)) << 8); } else { return (val & 0x7f) << 8; } } } freeRtr-25.11.9/src/org/freertr/enc/encCodecRaw.java000066400000000000000000000016071510423065500221230ustar00rootroot00000000000000package org.freertr.enc; /** * raw codec * * @author matecsaba */ public class encCodecRaw extends encCodec { /** * create instance */ public encCodecRaw() { } private static int[] decode; private static int[] encode; public int getRTPtype() { return 7; } public String getRTPname() { return "RAW"; } public int getWAVtype() { return 1; } protected int[] getBuffer(boolean dir) { if (dir) { return encode; } else { return decode; } } protected void setBuffer(boolean dir, int[] buf) { if (dir) { encode = buf; } else { decode = buf; } } protected int calcDecodeOneValue(int val) { if ((val & 0x80) == 0) { return val << 8; } return (256 - val) << 8; } } freeRtr-25.11.9/src/org/freertr/enc/encDft.java000066400000000000000000000045251510423065500211530ustar00rootroot00000000000000package org.freertr.enc; /** * goertzel's discrete fourier transform * * @author matecsaba */ public class encDft { /** * create instance */ public encDft() { } /** * sample rate */ public int sampRate = 8000; /** * sample data */ public int[] sampDat; /** * sample position */ public int sampPos; /** * sample size */ public int sampSiz; /** * phase of generated sound */ public double phase; /** * test one frequency * * @param len length to test * @param freq frequency to test * @return result */ public int testFreq(int len, int freq) { int max = 1; for (int i = 0; i < len; i++) { int o = sampDat[sampPos + i]; if (o < 0) { o = -o; } if (max < o) { max = o; } } max *= 7; double val1 = 0; double val2 = 0; double coeff = 2 * Math.cos(2 * Math.PI * freq / sampRate); for (int i = 0; i < len; i++) { double curr = ((double) sampDat[sampPos + i] / max) + (coeff * val1) - val2; val2 = val1; val1 = curr; } val1 = (val2 * val2) + (val1 * val1) - (coeff * val2 * val1); return (int) val1; } /** * generate tone * * @param len length to generate * @param freq frequency to use */ public void makeFreq(int len, int freq) { for (int i = 0; i < len; i++) { phase = (phase + (2 * Math.PI * freq / sampRate)) % (2 * Math.PI); sampDat[sampPos + i] = (int) (Math.sin(phase) * 28000); } } /** * delete samples * * @param num number of samples to delete */ public void sampDel(int num) { sampPos -= num; sampSiz -= num; if (sampPos < 0) { sampPos = 0; } if (sampSiz < 0) { sampSiz = 0; } for (int i = 0; i < sampSiz; i++) { sampDat[i] = sampDat[num + i]; } } /** * add samples * * @param buf samples */ public void sampAdd(int[] buf) { for (int i = 0; i < buf.length; i++) { sampDat[sampSiz + i] = buf[i]; } sampSiz += buf.length; } } freeRtr-25.11.9/src/org/freertr/enc/encDtmf.java000066400000000000000000000037041510423065500213260ustar00rootroot00000000000000package org.freertr.enc; /** * dual tone multi frequency signaling * * @author matecsaba */ public class encDtmf extends encDft { /** * create instance */ public encDtmf() { } private final static int[] dtmfCols = {1209, 1336, 1477, 1633}; private final static int[] dtmfRows = {697, 770, 852, 941}; private final static char[][] dtmfRowXcol = { {'1', '2', '3', 'a'}, {'4', '5', '6', 'b'}, {'7', '8', '9', 'c'}, {'*', '0', '#', 'd'} }; //private final static int[] busy = {480, 620}; //private final static int[] ringback = {440, 480}; //private final static int[] dialTone = {350, 440}; private static int detectWinner(int[] sen) { int bn = 0; int bv = sen[bn]; for (int i = 1; i < sen.length; i++) { if (sen[i] < bv) { continue; } bn = i; bv = sen[bn]; } if (bv < 0) { return -1; } bv /= 1000000; for (int i = 0; i < sen.length; i++) { if (i == bn) { continue; } if (sen[i] > bv) { return -1; } } return bn; } /** * get dtmf codes * * @return detected code */ public String getCode() { if ((sampSiz * 4) < sampRate) { return ""; } int[] cf = new int[dtmfCols.length]; for (int i = 0; i < cf.length; i++) { cf[i] = testFreq(sampSiz, dtmfCols[i]); } int[] rf = new int[dtmfRows.length]; for (int i = 0; i < rf.length; i++) { rf[i] = testFreq(sampSiz, dtmfRows[i]); } sampDel(sampSiz); int cb = detectWinner(cf); if (cb < 0) { return ""; } int rb = detectWinner(rf); if (rb < 0) { return ""; } return "" + dtmfRowXcol[rb][cb]; } } freeRtr-25.11.9/src/org/freertr/enc/encEbcdic.java000066400000000000000000000062621510423065500216070ustar00rootroot00000000000000package org.freertr.enc; import java.util.ArrayList; import java.util.List; /** * ebcdic encoding * * @author matecsaba */ public class encEbcdic { /** * create instance */ public encEbcdic() { if (asc2ebc != null) { return; } asc2ebc = reverseTable(ebc2asc); } private final static short[] ebc2asc = { 0x00, 0x01, 0x02, 0x03, 0x9c, 0x09, 0x86, 0x7f, 0x97, 0x8d, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x9d, 0x85, 0x08, 0x87, 0x18, 0x19, 0x92, 0x8f, 0x1c, 0x1d, 0x1e, 0x1f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x8e, 0x17, 0x1b, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x05, 0x06, 0x07, 0x90, 0x91, 0x16, 0x93, 0x94, 0x95, 0x96, 0x04, 0x98, 0x99, 0x9a, 0x9b, 0x14, 0x15, 0x9e, 0x1a, 0x20, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0x5b, 0x2e, 0x3c, 0x28, 0x2b, 0x5d, 0x26, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0x21, 0x24, 0x2a, 0x29, 0x3b, 0x5e, 0x2d, 0x2f, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0x7c, 0x2c, 0x25, 0x5f, 0x3e, 0x3f, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0, 0xc1, 0xc2, 0x60, 0x3a, 0x23, 0x40, 0x27, 0x3d, 0x22, 0xc3, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0x7e, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0x7b, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0x7d, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0x5c, 0x9f, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff}; private static short[] asc2ebc = null; /** * reverse table * * @param src source * @return reversed */ private static short[] reverseTable(short[] src) { short[] res = new short[256]; for (short i = 0; i < src.length; i++) { res[src[i] & 0xff] = i; } return res; } /** * compare tables * * @param src source * @param trg target * @return list of differences */ private static List compareTable(short[] src, short[] trg) { int o = src.length; int p = trg.length; if (o > p) { o = p; } List res = new ArrayList(); for (int i = 0; i < o; i++) { if (src[i] != trg[i]) { res.add(i); } } return res; } /** * encode one byte * * @param i ascii * @return ebcdic */ public byte encode(int i) { return (byte) asc2ebc[i & 0xff]; } /** * decode one byte * * @param i ebcdic * @return ascii */ public byte decode(int i) { return (byte) ebc2asc[i & 0xff]; } } freeRtr-25.11.9/src/org/freertr/enc/encFsk.java000066400000000000000000000057571510423065500211710ustar00rootroot00000000000000package org.freertr.enc; /** * frequency shift keying * * @author matecsaba */ public class encFsk extends encDft { /** * create instance */ public encFsk() { } /** * itu v21 carriers */ public final static int[] ituV21carrier = {1080, 1750}; /** * bell 103 carriers */ public final static int[] bell103carrier = {1170, 2125}; /** * bit / second */ public int bitPerSec = 300; /** * bit / byte */ public int bitPerByte = 8; /** * carrier frequency */ public int carrier; private int freqRes0; private int freqRes1; /** * saw carrier */ public boolean sawCarrier; /** * find start of byte * * @return false on success, true on error */ public boolean findStart() { sawCarrier = false; for (;;) { int i = decodeBit(); if (i == -2) { return true; } if ((i == 0) && (freqRes1 == 0)) { sawCarrier = true; return false; } if ((i == 1) && (freqRes0 == 0)) { sawCarrier = true; sampPos += sampRate / bitPerSec / 2; } sampPos++; } } private int decodeBit() { final int siz = sampRate / bitPerSec; if ((sampPos + siz) > sampSiz) { return -2; } freqRes0 = testFreq(siz, carrier + 100); freqRes1 = testFreq(siz, carrier - 100); if (freqRes0 < freqRes1) { return 1; } if (freqRes0 > freqRes1) { return 0; } return -1; } private void encodeBit(int val, int siz) { if (siz < 0) { siz = sampRate / bitPerSec; } if ((val & 1) == 0) { makeFreq(siz, carrier + 100); } else { makeFreq(siz, carrier - 100); } sampPos += siz; } /** * decode byte * * @return decoded value */ public int decodeByte() { sampPos += sampRate / bitPerSec; int vl = 0; int bg = sampPos; for (int ps = 0; ps < bitPerByte; ps++) { sampPos = bg + ((sampRate * ps) / bitPerSec); vl |= (decodeBit() << ps); } sampPos += sampRate / bitPerSec; return vl; } /** * minimum bytes to have * * @return samples needed */ public int decodeMin() { return (sampRate * 12) / bitPerSec; } /** * encode byte * * @param val value */ public void encodeByte(int val) { encodeBit(1, -1); encodeBit(0, -1); int bg = sampPos; for (int ps = 0; ps < bitPerByte; ps++) { encodeBit(val >>> ps, bg + ((sampRate * (ps + 1)) / bitPerSec) - sampPos); } encodeBit(1, -1); } /** * generate silence */ public void encodeSilence() { encodeBit(1, -1); } } freeRtr-25.11.9/src/org/freertr/enc/encJacktrip.java000066400000000000000000000033571510423065500222070ustar00rootroot00000000000000package org.freertr.enc; import org.freertr.pack.packHolder; /** * jacktrip protocol * * @author matecsaba */ public class encJacktrip { private encJacktrip() { } /** * size of header */ public final static int size = 16; /** * parse one packet * * @param pck packet to read * @return false on success, true on error */ public static boolean parseHeader(packHolder pck) { // long timeStamp = pck.msbGetQ(0); // time stamp // int seq = pck.msbGetW(8); // sequence number int siz = pck.msbGetW(10); // bytes / packet if (siz < size) { return true; } if (pck.dataSize() < siz) { return true; } if (pck.getByte(12) != 8) { // sampling rate id return true; } if (pck.getByte(13) != 8) { // bit / sample return true; } if (pck.getByte(14) != 1) { // in channels return true; } if (pck.getByte(15) != 1) { // out channels return true; } pck.getSkip(size); pck.setBytesLeft(siz); return false; } /** * create header * * @param pck packet to update * @param seq sequence number * @param tim time stamp */ public static void createHeader(packHolder pck, int seq, long tim) { pck.msbPutQ(0, tim); // time stamp pck.msbPutW(8, seq); // sequence number pck.msbPutW(10, size + pck.dataSize()); // bytes / packet pck.putByte(12, 8); // sampling rate id pck.putByte(13, 8); // bit / sample pck.putByte(14, 1); // in channels pck.putByte(15, 1); // out channels pck.putSkip(size); pck.merge2beg(); } } freeRtr-25.11.9/src/org/freertr/enc/encJson.java000066400000000000000000000162251510423065500213470ustar00rootroot00000000000000package org.freertr.enc; import java.util.ArrayList; import java.util.List; import org.freertr.util.bits; /** * json handler * * @author matecsaba */ public class encJson { /** * original string */ public String orig; /** * elements */ public List data; /** * clear new instance */ public encJson() { clear(); } /** * clear all data */ public void clear() { data = new ArrayList(); orig = ""; } /** * copy from other json * * @param src original json to copy */ public void copyBytes(encJson src) { clear(); orig = "" + src.orig; for (int i = 0; i < src.data.size(); i++) { data.add(src.data.get(i).copyBytes()); } } /** * convert strings to json * * @param l list to parse * @return false on success, true on error */ public boolean fromString(List l) { String s = ""; for (int i = 0; i < l.size(); i++) { s += l.get(i); } return fromString(s); } /** * convert string to json * * @param s string to parse * @return false on success, true on error */ public boolean fromString(String s) { orig = "" + s; int lev = 0; String cur = ""; for (;;) { if (s.length() < 1) { break; } String a = s.substring(0, 1); s = s.substring(1, s.length()); if (a.equals(" ")) { continue; } if (a.equals(":")) { encJsonEntry ntry = new encJsonEntry(); ntry.level = lev; ntry.data = "" + cur; if (cur.length() > 0) { data.add(ntry); } cur = ""; continue; } if (a.equals(",")) { encJsonEntry ntry = new encJsonEntry(); ntry.level = lev; ntry.data = "" + cur; if (cur.length() > 0) { data.add(ntry); } cur = ""; continue; } if (a.equals("\"")) { int i = s.indexOf("\""); if (i < 0) { cur += a; continue; } encJsonEntry ntry = new encJsonEntry(); ntry.level = lev; ntry.data = s.substring(0, i); s = s.substring(i + 1, s.length()); data.add(ntry); cur = ""; continue; } if (a.equals("{")) { encJsonEntry ntry = new encJsonEntry(); ntry.level = lev; ntry.data = "" + cur; if (cur.length() > 0) { data.add(ntry); } cur = ""; lev++; continue; } if (a.equals("}")) { encJsonEntry ntry = new encJsonEntry(); ntry.level = lev; ntry.data = "" + cur; if (cur.length() > 0) { data.add(ntry); } cur = ""; lev--; continue; } if (a.equals("[")) { encJsonEntry ntry = new encJsonEntry(); ntry.level = lev; ntry.data = "" + cur; if (cur.length() > 0) { data.add(ntry); } cur = ""; lev++; continue; } if (a.equals("]")) { encJsonEntry ntry = new encJsonEntry(); ntry.level = lev; ntry.data = "" + cur; if (cur.length() > 0) { data.add(ntry); } cur = ""; lev--; continue; } cur += a; } encJsonEntry ntry = new encJsonEntry(); ntry.level = lev; ntry.data = "" + cur; if (cur.length() > 0) { data.add(ntry); } return lev != 0; } /** * convert string to json * * @param js string to convert * @return converted json */ public static encJson parseOne(String js) { encJson res = new encJson(); res.fromString(js); return res; } /** * convert to json * * @return json format */ public String toJSONstr() { List lst = toJSONlst(); String res = ""; encJsonEntry old = new encJsonEntry(); for (int i = 0; i < lst.size(); i++) { encJsonEntry ntry = data.get(i); res += bits.padEnd("", ntry.level - old.level, "{"); res += bits.padEnd("", old.level - ntry.level, "}"); res += "\"" + ntry.data + "\""; old = ntry; } res += bits.padEnd("", old.level, "}"); return res; } /** * convert to json * * @return json format */ public List toJSONlst() { List lst = new ArrayList(); for (int pos = 0; pos < data.size(); pos++) { encJsonEntry ntry = data.get(pos); lst.add(ntry.level + "," + ntry.data); } return lst; } /** * convert to string * * @return lines of string */ public List show() { List l = new ArrayList(); for (int i = 0; i < data.size(); i++) { l.add("" + data.get(i)); } return l; } /** * find value * * @param s string * @return index, -1 if not found */ public int findValue(String s) { for (int i = 0; i < data.size(); i++) { encJsonEntry ntry = data.get(i); if (!s.equals(ntry.data)) { continue; } return i; } return -1; } /** * get value * * @param i index to read * @return value, null if not found */ public String getValue(int i) { if (i < 0) { return null; } if (i >= data.size()) { return null; } return data.get(i).data; } /** * get value * * @param i index to read * @return value, null if not found */ public encJsonEntry getData(int i) { if (i < 0) { return null; } if (i >= data.size()) { return null; } return data.get(i); } /** * get one value * * @param a json * @param t tag * @return value, null if not found */ public static String getValue(String a, String t) { int i = a.indexOf("\"" + t + "\":\""); if (i < 0) { return null; } a = a.substring(i + t.length() + 4, a.length()); i = a.indexOf("\""); if (i < 0) { return null; } return a.substring(0, i); } } freeRtr-25.11.9/src/org/freertr/enc/encJsonEntry.java000066400000000000000000000016171510423065500223700ustar00rootroot00000000000000package org.freertr.enc; /** * json entry * * @author matecsaba */ public class encJsonEntry { /** * level */ public int level; /** * value */ public String data; /** * create instance * * @param n level * @param v value */ public encJsonEntry(int n, String v) { level = n; data = v; } /** * create instance */ public encJsonEntry() { clear(); } /** * copy instance * * @return instance */ public encJsonEntry copyBytes() { encJsonEntry ntry = new encJsonEntry(); ntry.level = level; ntry.data = "" + data; return ntry; } /** * clear everything */ public void clear() { level = 0; data = ""; } public String toString() { return level + "=\"" + data + "\""; } } freeRtr-25.11.9/src/org/freertr/enc/encMarkDown.java000066400000000000000000000174361510423065500221650ustar00rootroot00000000000000package org.freertr.enc; import java.util.List; /** * markdown handler * * @author matecsaba */ public class encMarkDown { private encMarkDown() { } /** * convert plain text to html * * @param txt source * @return converted */ public static String txt2html(List txt) { if (txt == null) { return ""; } String res = "

\n";
        for (int i = 0; i < txt.size(); i++) {
            res += htmlize(txt.get(i)) + "\n";
        }
        return res + "
\n"; } private static String htmlize(String s) { s = s.replaceAll("<", "<"); s = s.replaceAll(">", ">"); return s; } private static String doMark(String s, String sb, String se, String hb, String he) { for (;;) { int i = s.indexOf(sb); if (i < 0) { break; } String a = s.substring(0, i); String b = s.substring(i + sb.length(), s.length()); i = b.indexOf(se); if (i < 0) { break; } s = b.substring(i + se.length(), b.length()); b = b.substring(0, i); s = a + hb + b + he + s; } return s; } private static String doLink(String s, String sb, String se, boolean img) { for (;;) { int i = s.indexOf(sb); if (i < 0) { break; } String a = s.substring(0, i); String b = s.substring(i + sb.length(), s.length()); i = b.indexOf(se); if (i < 0) { break; } s = b.substring(i + se.length(), b.length()); b = b.substring(0, i); String c = ""; String d = ""; if (s.startsWith("(")) { i = s.indexOf(")"); if (i < 0) { s = a + b + s; continue; } c = s.substring(1, i); s = s.substring(i + 1, s.length()); i = c.indexOf(" "); if (i >= 0) { d = " title=\"" + c.substring(i + 1, c.length()).replaceAll("\"", "") + "\""; c = c.substring(0, i); } } else { c = d; } c = c.replaceAll("\"", ""); if (img) { s = a + "\""" + s; } else { s = a + "" + b + "" + s; } } return s; } private static String doStr(String s) { s = htmlize(s); s = doLink(s, "![", "]", true); s = doLink(s, "[", "]", false); s = doMark(s, "`", "`", "", ""); s = doMark(s, "**", "**", "", ""); s = doMark(s, "__", "__", "", ""); s = doMark(s, "~~", "~~", "", ""); s = doMark(s, "*", "*", "", ""); s = doMark(s, "_", "_", "", ""); return s; } private static String doTab(String s, String sb, String se) { s = s.substring(1, s.length()); String r = ""; for (;;) { int i = s.indexOf("|"); if (i < 0) { break; } String a = s.substring(0, i); s = s.substring(i + 1, s.length()); r += sb + doStr(a) + se; } return "" + r + s + ""; } private static boolean isUnList(String s) { return s.startsWith("* ") || s.startsWith("- ") || s.startsWith("+ "); } private static boolean isOrdList(String s) { return s.startsWith("0.") || s.startsWith("1.") || s.startsWith("2.") || s.startsWith("3.") || s.startsWith("4.") || s.startsWith("5.") || s.startsWith("6.") || s.startsWith("7.") || s.startsWith("8.") || s.startsWith("9."); } private static boolean isQuote(String s) { return s.startsWith("> "); } private static boolean isCode(String s) { return s.startsWith("```"); } private static boolean isTable(String s) { return s.startsWith("|") && s.endsWith("|"); } /** * convert markdown to html * * @param md source * @return converted */ public static String md2html(List md) { if (md == null) { return ""; } String res = ""; for (int p = 0; p < md.size(); p++) { String s = md.get(p); if (s.startsWith("# ")) { res += "

" + doStr(s.substring(1, s.length())) + "

\n"; continue; } if (s.startsWith("## ")) { res += "

" + doStr(s.substring(2, s.length())) + "

\n"; continue; } if (s.startsWith("### ")) { res += "

" + doStr(s.substring(3, s.length())) + "

\n"; continue; } if (s.startsWith("#### ")) { res += "

" + doStr(s.substring(4, s.length())) + "

\n"; continue; } if (s.equals("---") || s.equals("***") || s.equals("___")) { res += "
\n"; continue; } if (isUnList(s)) { res += "
    \n"; for (; p < md.size(); p++) { s = doStr(md.get(p)); if (!isUnList(s)) { break; } res += "
  • " + s.substring(1, s.length()) + "
  • \n"; } res += "
\n"; if (!isUnList(s)) { p--; } continue; } if (isOrdList(s)) { res += "
    \n"; for (; p < md.size(); p++) { s = doStr(md.get(p)); if (!isOrdList(s)) { break; } res += "
  1. " + s.substring(2, s.length()) + "
  2. \n"; } res += "
\n"; if (!isOrdList(s)) { p--; } continue; } if (isQuote(s)) { res += "
\n"; for (; p < md.size(); p++) { s = md.get(p); if (!isQuote(s)) { break; } res += doStr(s.substring(2, s.length())) + "
\n"; } res += "
\n"; if (!isQuote(s)) { p--; } continue; } if (isCode(s)) { res += "
\n";
                for (p++; p < md.size(); p++) {
                    s = md.get(p);
                    if (isCode(s)) {
                        break;
                    }
                    res += htmlize(s) + "\n";
                }
                res += "
\n"; continue; } if (isTable(s)) { res += "\n"; res += doTab(s, "") + "\n"; res += "\n"; for (p += 2; p < md.size(); p++) { s = md.get(p); if (!isTable(s)) { break; } res += doTab(s, "") + "\n"; } res += "
", "
", "
\n"; if (!isTable(s)) { p--; } continue; } res += doStr(s) + "
\n"; } return res + "
\n"; } } freeRtr-25.11.9/src/org/freertr/enc/encPrtbuf.java000066400000000000000000000162001510423065500216710ustar00rootroot00000000000000package org.freertr.enc; import java.util.ArrayList; import java.util.List; import org.freertr.pack.packHolder; /** * protocol buffers handler * * @author matecsaba */ public class encPrtbuf { /** * original bytes */ public packHolder orig; /** * elements */ public List data; /** * clear new instance */ public encPrtbuf() { clear(); } /** * clear all data */ public void clear() { data = new ArrayList(); orig = null; } /** * copy from other xml * * @param src original xml to copy */ public void copyBytes(encPrtbuf src) { clear(); orig = src.orig; for (int i = 0; i < src.data.size(); i++) { data.add(src.data.get(i).copyBytes()); } } /** * get field * * @param num number * @param seq sequence number * @return field, null if not found */ public encPrtbufEntry getField(int num, int seq) { for (int i = 0; i < data.size(); i++) { encPrtbufEntry dat = data.get(i); if (dat.num != num) { continue; } seq--; if (seq < 0) { return dat; } } return null; } /** * put field * * @param num number * @param typ type * @param val value */ public void putField(int num, int typ, long val) { encPrtbufEntry dat = new encPrtbufEntry(); dat.num = num; dat.typ = typ; dat.val = val; data.add(dat); } /** * put field * * @param num number * @param typ type * @param val value */ public void putField(int num, int typ, byte[] val) { encPrtbufEntry dat = new encPrtbufEntry(); dat.num = num; dat.typ = typ; dat.dat = val; data.add(dat); } /** * encode zigzag * * @param num number * @return encoded */ public static long toZigzag(long num) { return (num >> 63) ^ (num << 1); } /** * decode zigzag * * @param num number * @return decoded */ public static long fromZigzag(long num) { return (num >>> 1) ^ (-(num & 1)); } /** * read one varint * * @param pck packet to read * @return value */ public static long getVarint(packHolder pck) { long res = 0; int pos = 0; for (;;) { if (pos >= pck.dataSize()) { break; } long val = pck.getByte(pos); res |= (val & 0x7f) << (pos * 7); pos++; if ((val & 0x80) == 0) { break; } } pck.getSkip(pos); return res; } /** * put one varint * * @param pck packet to update * @param val value */ public static void putVarint(packHolder pck, long val) { int pos = 0; for (;;) { int cur = (int) (val & 0x7f); val = val >>> 7; if (val != 0) { cur |= 0x80; } pck.putByte(pos, cur); pos++; if (val == 0) { break; } } pck.putSkip(pos); } /** * get key value pair * * @param pck packet to read * @return kv pair, null if error happened */ public static encPrtbufEntry getKeyValue(packHolder pck) { if (pck.dataSize() < 1) { return null; } encPrtbufEntry res = new encPrtbufEntry(); int hdr = (int) getVarint(pck); res.num = hdr >>> 3; res.typ = hdr & 7; switch (res.typ) { case encPrtbufEntry.tpInt: // varint res.val = getVarint(pck); break; case encPrtbufEntry.tp64b: // 64bit res.val = pck.lsbGetQ(0); pck.getSkip(8); break; case encPrtbufEntry.tp32b: // 32bit res.val = pck.lsbGetD(0); pck.getSkip(4); break; case encPrtbufEntry.tpBuf: // length delimited hdr = (int) getVarint(pck); if (hdr > pck.dataSize()) { return null; } res.dat = new byte[hdr]; pck.getCopy(res.dat, 0, 0, res.dat.length); pck.getSkip(res.dat.length); break; default: return null; } return res; } /** * get key value pair * * @param pck packet to read * @param kv kv pair * @return false on success, true on error */ public static boolean putKeyValue(packHolder pck, encPrtbufEntry kv) { putVarint(pck, (kv.num << 3) | kv.typ); switch (kv.typ) { case encPrtbufEntry.tpInt: // varint putVarint(pck, kv.val); break; case encPrtbufEntry.tp64b: // 64bit pck.lsbPutQ(0, kv.val); pck.putSkip(8); break; case encPrtbufEntry.tp32b: // 32bit pck.lsbPutD(0, (int) kv.val); pck.putSkip(4); break; case encPrtbufEntry.tpBuf: // length delimited putVarint(pck, kv.dat.length); pck.putCopy(kv.dat, 0, 0, kv.dat.length); pck.putSkip(kv.dat.length); break; default: return true; } return false; } /** * convert bytes to xml * * @param pck bytes to parse * @return false on success, true on error */ public boolean fromPacket(packHolder pck) { orig = pck; int os = pck.dataSize(); for (;;) { encPrtbufEntry res = getKeyValue(pck); if (res == null) { break; } data.add(res); } if (pck.dataSize() != 0) { return true; } pck.setBytesLeft(os); return false; } /** * convert bytes to protobuf * * @param pck string to convert * @return converted protobuf */ public static encPrtbuf parseOne(packHolder pck) { encPrtbuf res = new encPrtbuf(); res.fromPacket(pck); return res; } /** * convert to protobuf * * @param pck packet to append */ public void toPacket(packHolder pck) { for (int i = 0; i < data.size(); i++) { putKeyValue(pck, data.get(i)); pck.merge2end(); } } /** * convert to protobuf * * @return encoded */ public packHolder toPacket() { packHolder pck = new packHolder(true, true); toPacket(pck); return pck; } /** * convert to string * * @return lines of string */ public List show() { List l = new ArrayList(); for (int i = 0; i < data.size(); i++) { l.add("" + data.get(i)); } return l; } } freeRtr-25.11.9/src/org/freertr/enc/encPrtbufEntry.java000066400000000000000000000043771510423065500227270ustar00rootroot00000000000000package org.freertr.enc; import org.freertr.pack.packHolder; import org.freertr.util.bits; /** * protobuf entry * * @author matecsaba */ public class encPrtbufEntry { /** * create instance */ public encPrtbufEntry() { } /** * varint */ public final static int tpInt = 0; /** * fixed 64bit */ public final static int tp64b = 1; /** * fixed 32bit */ public final static int tp32b = 5; /** * length delimited */ public final static int tpBuf = 2; /** * field number */ public int num; /** * wire type */ public int typ; /** * value, if dat==null */ public long val; /** * data */ public byte[] dat; public String toString() { String a = "num=" + num + " typ=" + typ + " val="; if (dat == null) { return a + val; } return a + bits.byteDump(dat, 0, -1); } /** * get data * * @param pck packet to update */ public void getPacket(packHolder pck) { pck.putCopy(dat, 0, 0, dat.length); pck.putSkip(dat.length); pck.merge2end(); } /** * get data * * @param pb protobuf to update * @return true on error, false on success */ public boolean getProtobuf(encPrtbuf pb) { packHolder pck = new packHolder(true, true); getPacket(pck); return pb.fromPacket(pck); } /** * get data * * @return value */ public String getString() { return new String(dat); } /** * get data * * @return value */ public int getFix32() { return bits.lsbGetD(dat, 0); } /** * get data * * @return value */ public long getFix64() { return bits.lsbGetQ(dat, 0); } /** * copy bytes * * @return copy */ public encPrtbufEntry copyBytes() { encPrtbufEntry res = new encPrtbufEntry(); res.num = num; res.typ = typ; res.val = val; if (dat == null) { return res; } res.dat = new byte[dat.length]; bits.byteCopy(dat, 0, res.dat, 0, dat.length); return res; } } freeRtr-25.11.9/src/org/freertr/enc/encThrift.java000066400000000000000000000260061510423065500216740ustar00rootroot00000000000000package org.freertr.enc; import java.util.ArrayList; import java.util.List; import org.freertr.pack.packHolder; /** * thrift buffers handler * * @author matecsaba */ public class encThrift { /** * original bytes */ public packHolder orig; /** * elements */ public List data; /** * clear new instance */ public encThrift() { clear(); } /** * clear all data */ public void clear() { data = new ArrayList(); orig = null; } /** * copy from other xml * * @param src original xml to copy */ public void copyBytes(encThrift src) { clear(); orig = src.orig; for (int i = 0; i < src.data.size(); i++) { data.add(src.data.get(i).copyBytes()); } } /** * get field * * @param num number * @param seq sequence number * @return field, null if not found */ public encThriftEntry getField(int num, int seq) { return encThriftEntry.getField(data, num, seq); } /** * put field * * @param num number * @param typ type * @param val value */ public void putField(int num, int typ, long val) { data.add(encThriftEntry.genField(num, typ, val)); } /** * put field * * @param num number * @param typ type * @param val value */ public void putField(int num, int typ, byte[] val) { data.add(encThriftEntry.genField(num, typ, val)); } /** * put field * * @param num number * @param typ type * @param val value */ public void putField(int num, int typ, List val) { data.add(encThriftEntry.genField(num, typ, val)); } private static boolean getHead(encThriftEntry elm, packHolder pck) { if (pck.dataSize() < 1) { return true; } elm.typ = pck.getByte(0); elm.num = pck.msbGetW(1); pck.getSkip(3); return false; } private static boolean putHead(encThriftEntry elm, packHolder pck) { pck.putByte(0, elm.typ); pck.msbPutW(1, elm.num); pck.putSkip(3); return false; } private static boolean getData(encThriftEntry elm, packHolder pck) { switch (elm.typ) { case encThriftEntry.tpI8: case encThriftEntry.tpBool: elm.val = pck.getByte(0); pck.getSkip(1); return false; case encThriftEntry.tpI16: elm.val = pck.msbGetW(0); pck.getSkip(2); return false; case encThriftEntry.tpI32: elm.val = pck.msbGetD(0); pck.getSkip(4); return false; case encThriftEntry.tpI64: case encThriftEntry.tpDbl: elm.val = pck.msbGetQ(0); pck.getSkip(8); return false; case encThriftEntry.tpBin: int siz = pck.msbGetD(0); pck.getSkip(4); if (siz > pck.dataSize()) { return true; } elm.dat = new byte[siz]; pck.getCopy(elm.dat, 0, 0, elm.dat.length); pck.getSkip(elm.dat.length); return false; case encThriftEntry.tpEnd: pck.getSkip(-2); return false; case encThriftEntry.tpStr: elm.elm = new ArrayList(); for (;;) { encThriftEntry cur = new encThriftEntry(); if (getHead(cur, pck)) { return true; } if (getData(cur, pck)) { return true; } if (cur.typ == encThriftEntry.tpEnd) { break; } elm.elm.add(cur); } return false; case encThriftEntry.tpLst: case encThriftEntry.tpSet: elm.elm = new ArrayList(); elm.typV = pck.getByte(0); int len = pck.msbGetD(1); pck.getSkip(5); for (int i = 0; i < len; i++) { encThriftEntry cur = new encThriftEntry(); cur.typ = elm.typV; cur.num = i; if (getData(cur, pck)) { return true; } elm.elm.add(cur); } return false; case encThriftEntry.tpMap: elm.elm = new ArrayList(); elm.typK = pck.getByte(0); elm.typV = pck.getByte(1); len = pck.msbGetD(2); pck.getSkip(6); for (int i = 0; i < len; i++) { encThriftEntry cur = new encThriftEntry(); cur.typ = elm.typK; cur.num = i; if (getData(cur, pck)) { return true; } elm.elm.add(cur); cur = new encThriftEntry(); cur.typ = elm.typV; cur.num = i; if (getData(cur, pck)) { return true; } elm.elm.add(cur); } return false; default: return true; } } private static boolean putData(encThriftEntry elm, packHolder pck) { switch (elm.typ) { case encThriftEntry.tpI8: case encThriftEntry.tpBool: pck.putByte(0, (int) elm.val); pck.putSkip(1); return false; case encThriftEntry.tpI16: pck.msbPutW(0, (int) elm.val); pck.putSkip(2); return false; case encThriftEntry.tpI32: pck.msbPutD(0, (int) elm.val); pck.putSkip(4); return false; case encThriftEntry.tpI64: case encThriftEntry.tpDbl: pck.msbPutQ(0, elm.val); pck.putSkip(8); return false; case encThriftEntry.tpBin: pck.msbPutD(0, elm.dat.length); pck.putSkip(4); pck.putCopy(elm.dat, 0, 0, elm.dat.length); pck.putSkip(elm.dat.length); return false; case encThriftEntry.tpEnd: pck.putSkip(-2); return false; case encThriftEntry.tpStr: for (int i = 0; i < elm.elm.size(); i++) { encThriftEntry cur = elm.elm.get(i); if (putHead(cur, pck)) { return true; } if (putData(cur, pck)) { return true; } pck.merge2end(); } pck.putByte(0, encThriftEntry.tpEnd); pck.putSkip(1); return false; case encThriftEntry.tpLst: case encThriftEntry.tpSet: int len = elm.elm.size(); pck.putByte(0, elm.typV); pck.msbPutD(1, len); pck.putSkip(5); for (int i = 0; i < len; i++) { encThriftEntry cur = elm.elm.get(i); if (cur.typ != elm.typV) { return true; } if (putData(cur, pck)) { return true; } pck.merge2end(); } return false; case encThriftEntry.tpMap: len = elm.elm.size() / 2; pck.putByte(0, elm.typK); pck.putByte(1, elm.typV); pck.msbPutD(2, len); pck.putSkip(6); for (int i = 0; i < len; i++) { encThriftEntry cur = elm.elm.get(i * 2); if (cur.typ != elm.typK) { return true; } if (putData(cur, pck)) { return true; } cur = elm.elm.get((i * 2) + 1); if (cur.typ != elm.typV) { return true; } if (putData(cur, pck)) { return true; } pck.merge2end(); } return false; default: return true; } } /** * get key value pair * * @param pck packet to read * @return element, null if error happened */ public static encThriftEntry getEntry(packHolder pck) { encThriftEntry res = new encThriftEntry(); if (getHead(res, pck)) { return null; } if (getData(res, pck)) { return null; } return res; } /** * get key value pair * * @param pck packet to read * @param elm element * @return false on success, true on error */ public static boolean putEntry(packHolder pck, encThriftEntry elm) { if (putHead(elm, pck)) { return true; } return putData(elm, pck); } /** * convert bytes to xml * * @param pck bytes to parse * @return false on success, true on error */ public boolean fromPacket(packHolder pck) { orig = pck; int os = pck.dataSize(); for (;;) { encThriftEntry res = getEntry(pck); if (res == null) { break; } data.add(res); } if (pck.dataSize() != 0) { return true; } pck.setBytesLeft(os); return false; } /** * convert bytes to protobuf * * @param pck string to convert * @return converted protobuf */ public static encThrift parseOne(packHolder pck) { encThrift res = new encThrift(); res.fromPacket(pck); return res; } /** * convert to protobuf * * @param pck packet to append */ public void toPacket(packHolder pck) { for (int i = 0; i < data.size(); i++) { putEntry(pck, data.get(i)); pck.merge2end(); } } /** * convert to protobuf * * @return encoded */ public packHolder toPacket() { packHolder pck = new packHolder(true, true); toPacket(pck); return pck; } /** * convert to string * * @return lines of string */ public List show() { List l = new ArrayList(); for (int i = 0; i < data.size(); i++) { l.addAll(data.get(i).show("")); } return l; } } freeRtr-25.11.9/src/org/freertr/enc/encThriftEntry.java000066400000000000000000000142471510423065500227220ustar00rootroot00000000000000package org.freertr.enc; import java.util.ArrayList; import java.util.List; import org.freertr.util.bits; /** * thrift entry * * @author matecsaba */ public class encThriftEntry { /** * create instance */ public encThriftEntry() { } /** * end of struct */ public final static int tpEnd = 0; /** * boolean */ public final static int tpBool = 2; /** * i8 */ public final static int tpI8 = 3; /** * i16 */ public final static int tpI16 = 6; /** * i32 */ public final static int tpI32 = 8; /** * i64 */ public final static int tpI64 = 10; /** * double */ public final static int tpDbl = 4; /** * binary */ public final static int tpBin = 11; /** * struct */ public final static int tpStr = 12; /** * map */ public final static int tpMap = 13; /** * set */ public final static int tpSet = 14; /** * list */ public final static int tpLst = 15; /** * uuid */ public final static int tpUid = 16; /** * wire type */ public int typ; /** * key type */ public int typK; /** * value type */ public int typV; /** * field id */ public int num; /** * value, if dat==null */ public long val; /** * data */ public byte[] dat; /** * elements */ public List elm; public String toString() { String a = "num=" + num + " typ=" + typ + " val="; if (dat != null) { return a + bits.byteDump(dat, 0, -1); } if (elm == null) { return a + val; } a += "("; for (int i = 0; i < elm.size(); i++) { a += " " + elm.get(i); } return a + ")"; } /** * convert to string * * @param beg beginning * @return lines of string */ public List show(String beg) { List l = new ArrayList(); String a = beg + "num=" + num + " typ=" + typ + " val="; if (dat != null) { l.add(a + bits.byteDump(dat, 0, -1)); return l; } if (elm == null) { l.add(a + val); return l; } l.add(a + "("); for (int i = 0; i < elm.size(); i++) { l.addAll(elm.get(i).show(beg + " ")); } l.add(beg + ")"); return l; } /** * copy bytes * * @return copy */ public encThriftEntry copyBytes() { encThriftEntry res = new encThriftEntry(); res.num = num; res.typ = typ; res.val = val; if (dat != null) { res.dat = new byte[dat.length]; bits.byteCopy(dat, 0, res.dat, 0, dat.length); } if (elm == null) { return res; } res.elm = new ArrayList(); for (int i = 0; i < elm.size(); i++) { res.elm.add(elm.get(i).copyBytes()); } return res; } /** * get field * * @param data where from get * @param num number * @param seq sequence number * @return field, null if not found */ protected static encThriftEntry getField(List data, int num, int seq) { for (int i = 0; i < data.size(); i++) { encThriftEntry dat = data.get(i); if (dat.num != num) { continue; } seq--; if (seq < 0) { return dat; } } return null; } /** * put field * * @param num number * @param typ type * @param val value * @return field, null if not found */ protected static encThriftEntry genField(int num, int typ, long val) { encThriftEntry dat = new encThriftEntry(); dat.num = num; dat.typ = typ; dat.val = val; return dat; } /** * put field * * @param num number * @param typ type * @param val value * @return field, null if not found */ protected static encThriftEntry genField(int num, int typ, byte[] val) { encThriftEntry dat = new encThriftEntry(); dat.num = num; dat.typ = typ; dat.dat = val; return dat; } /** * put field * * @param num number * @param typ type * @param val value * @return field, null if not found */ protected static encThriftEntry genField(int num, int typ, List val) { encThriftEntry dat = new encThriftEntry(); dat.num = num; dat.typ = typ; dat.elm = val; return dat; } /** * get field * * @param num number * @param seq sequence number * @return field, null if not found */ public encThriftEntry getField(int num, int seq) { if (elm == null) { return null; } return getField(elm, num, seq); } private void initElements() { if (elm != null) { return; } elm = new ArrayList(); } /** * put field * * @param num number * @param typ type * @param val value */ public void putField(int num, int typ, long val) { initElements(); elm.add(genField(num, typ, val)); } /** * put field * * @param num number * @param typ type * @param val value */ public void putField(int num, int typ, byte[] val) { initElements(); elm.add(genField(num, typ, val)); } /** * put field * * @param num number * @param typ type * @param val value */ public void putField(int num, int typ, List val) { initElements(); elm.add(genField(num, typ, val)); } /** * set field * * @param k type * @param v type */ public void putTypKV(int k, int v) { encThriftEntry c = elm.get(elm.size() - 1); c.typK = k; c.typV = v; } } freeRtr-25.11.9/src/org/freertr/enc/encTlv.java000066400000000000000000000201651510423065500212010ustar00rootroot00000000000000package org.freertr.enc; import org.freertr.addr.addrType; import org.freertr.pack.packHolder; import org.freertr.util.bits; /** * type length value handler * * @author matecsaba */ public class encTlv { /** * where to store value */ public byte[] valDat; /** * size of value stored */ public int valSiz; /** * type of value stored */ public int valTyp; private boolean msb; private int typOfs; private int typShr; private int typAnd; private int typClr; private int lenSub; private int lenMul; private int lenOfs; private int lenShr; private int lenAnd; private int lenClr; private int skipSiz; private int padSiz; private int padSub; /** * create new type length value instance * * @param old clone from */ public encTlv(encTlv old) { valDat = new byte[old.valDat.length]; msb = old.msb; typOfs = old.typOfs; typShr = old.typShr; typAnd = old.typAnd; typClr = old.typClr; lenSub = old.lenSub; lenMul = old.lenMul; lenOfs = old.lenOfs; lenShr = old.lenShr; lenAnd = old.lenAnd; lenClr = old.lenClr; skipSiz = old.skipSiz; padSiz = old.padSiz; padSub = old.padSub; } /** * create new type length value instance * * @param typeBeg bit position of type * @param typeSiz bit size of type * @param sizeBeg bit position of size * @param sizeSiz bit size of size * @param sizeMul length multiplier * @param sizeSub length substract * @param headSiz byte size of header to skip * @param paddingSiz byte size of padding * @param paddingSub byte substract from padding * @param bufSiz byte size of buffer to allocate * @param byteOrder bit order, true=msb, false=lsb */ public encTlv(int typeBeg, int typeSiz, int sizeBeg, int sizeSiz, int sizeMul, int sizeSub, int headSiz, int paddingSiz, int paddingSub, int bufSiz, boolean byteOrder) { valDat = new byte[bufSiz]; typOfs = typeBeg / 8; lenOfs = sizeBeg / 8; typShr = typeBeg % 8; lenShr = sizeBeg % 8; typAnd = bits.bitVals[typeSiz] - 1; lenAnd = bits.bitVals[sizeSiz] - 1; if (byteOrder) { typShr = 32 - typShr - typeSiz; lenShr = 32 - lenShr - sizeSiz; } typClr = -1 - (typAnd << typShr); lenClr = -1 - (lenAnd << typShr); lenMul = sizeMul; lenSub = sizeSub; msb = byteOrder; skipSiz = headSiz; padSiz = paddingSiz; padSub = paddingSub; } /** * get one tlv * * @param pck packet to get from * @return false if successful, true if error happened */ public boolean getBytes(packHolder pck) { int typ, len; valTyp = 0; valSiz = 0; if (pck.dataSize() < skipSiz) { return true; } if (msb) { typ = pck.msbGetD(typOfs); len = pck.msbGetD(lenOfs); } else { typ = pck.lsbGetD(typOfs); len = pck.lsbGetD(lenOfs); } typ = (typ >>> typShr) & typAnd; len = (len >>> lenShr) & lenAnd; len = (len * lenMul) - lenSub; if (len < 0) { return true; } if (len > valDat.length) { return true; } if (len > (pck.dataSize() - skipSiz)) { return true; } pck.getSkip(skipSiz); valSiz = len; valTyp = typ; for (int i = 0; i < len; i++) { valDat[i] = (byte) pck.getByte(i); } pck.getSkip(len); if (((len - padSub) % padSiz) != 0) { pck.getSkip(padSiz - ((len - padSub) % padSiz)); } return false; } /** * get readed tlv as byte buffer * * @return readed bytes */ public byte[] copyBytes() { byte[] buf = new byte[valSiz]; bits.byteCopy(valDat, 0, buf, 0, buf.length); return buf; } /** * put one tlv * * @param pck packet to put to * @param typ type of value * @param bits bits to set * @param len length of value * @param val value */ public void putBytes(packHolder pck, int[] bits, int typ, int len, byte[] val) { pck.putFill(0, skipSiz, 0); if (typOfs <= lenOfs) { putType(pck, typ); putSize(pck, len); } else { putSize(pck, len); putType(pck, typ); } if (bits != null) { for (int i = 0; i < bits.length; i++) { pck.putBit(0, bits[i], true); } } pck.putSkip(skipSiz); for (int i = 0; i < len; i++) { pck.putByte(i, val[i]); } pck.putSkip(len); if (((len + padSub) % padSiz) != 0) { int p = padSiz - ((len + padSub) % padSiz); pck.putFill(0, p, 0); pck.putSkip(p); } } private void putSize(packHolder pck, int len) { int o = (len + lenSub) / lenMul; o = (0 & lenClr) | (o << lenShr); if (msb) { pck.msbPutD(lenOfs, o); } else { pck.lsbPutD(lenOfs, o); } } private void putType(packHolder pck, int typ) { int o = (0 & typClr) | (typ << typShr); if (msb) { pck.msbPutD(typOfs, o); } else { pck.lsbPutD(typOfs, o); } } /** * put one tlv * * @param pck packet to put to * @param typ type of value * @param len length of value * @param val value */ public void putBytes(packHolder pck, int typ, int len, byte[] val) { putBytes(pck, null, typ, len, val); } /** * put one tlv * * @param pck packet to put to * @param typ type of value * @param val value */ public void putBytes(packHolder pck, int typ, byte[] val) { putBytes(pck, null, typ, val.length, val); } /** * put one tlv * * @param pck packet to put to * @param bits bits to set * @param typ type of value * @param val value */ public void putBytes(packHolder pck, int[] bits, int typ, byte[] val) { putBytes(pck, bits, typ, val.length, val); } /** * put one tlv * * @param pck packet to put to * @param typ type of value */ public void putBytes(packHolder pck, int typ) { putBytes(pck, null, typ, valSiz, valDat); } /** * put one tlv * * @param pck packet to put to * @param bits bits to set * @param typ type of value * @param str string to put */ public void putStr(packHolder pck, int[] bits, int typ, String str) { if (str == null) { putBytes(pck, bits, typ, 0, null); return; } putBytes(pck, bits, typ, str.length(), str.getBytes()); } /** * put one tlv * * @param pck packet to put to * @param typ type of value * @param str string to put */ public void putStr(packHolder pck, int typ, String str) { putStr(pck, null, typ, str); } /** * put one address * * @param pck packet to put to * @param typ type of value * @param adr address to put */ public void putAddr(packHolder pck, int typ, addrType adr) { putBytes(pck, null, typ, adr.getSize(), adr.getBytes()); } /** * put readed tlv back * * @param pck packet to write to */ public void putThis(packHolder pck) { putBytes(pck, null, valTyp, valSiz, valDat); } /** * get buffer as string * * @return string */ public String getStr() { return new String(valDat, 0, valSiz); } /** * return header size * * @return header size */ public int getHeadSize() { return skipSiz; } /** * dump this type length value * * @return dump of tlv */ public String dump() { return "type=" + valTyp + " value=" + bits.byteDump(valDat, 0, valSiz); } } freeRtr-25.11.9/src/org/freertr/enc/encUrl.java000066400000000000000000000344501510423065500212000ustar00rootroot00000000000000package org.freertr.enc; import java.util.ArrayList; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.addr.addrIPv6; import org.freertr.serv.servGeneric; import org.freertr.serv.servHttp; import org.freertr.util.bits; /** * uniform resource locator (rfc3986) * * @author matecsaba */ public class encUrl { /** * create instance */ public encUrl() { } /** * original string */ public String orig; /** * protocol id */ public String proto; /** * name of user */ public String username; /** * password of user */ public String password; /** * server name */ public String server; /** * server port */ public int port; /** * file path */ public String filPath; /** * file name */ public String filName; /** * file extension */ public String filExt; /** * parameters */ public List param; /** * address to string * * @param adr address * @param prt port * @return string */ public static String addr2str(addrIP adr, int prt) { String a; if (adr.isIPv4()) { a = "" + adr; } else { a = "[" + adr + "]"; } if (prt < 1) { return a; } else { return a + ":" + prt; } } /** * clear all data */ public void clear() { orig = ""; proto = ""; server = ""; port = -1; filPath = ""; filName = ""; filExt = ""; param = new ArrayList(); username = ""; password = ""; } /** * copy from other url * * @param src original url to copy */ public void copyBytes(encUrl src) { orig = src.orig; proto = src.proto; server = src.server; port = src.port; filPath = src.filPath; filName = src.filName; filExt = src.filExt; param = src.param; } /** * decore percent coding * * @param s string to decode * @return decoded string */ public static String percentUncode(String s) { s = s.trim(); for (;;) { int i = s.indexOf("+"); if (i < 0) { break; } s = s.substring(0, i) + " " + s.substring(i + 1, s.length()); } String r = ""; for (;;) { int i = s.indexOf("%"); if (i < 0) { break; } if ((i + 3) > s.length()) { break; } String a = s.substring(i + 1, i + 3); r = r + s.substring(0, i) + (char) bits.fromHex(a); s = s.substring(i + 3, s.length()); } return r + s; } /** * encode percent coding * * @param s string to encode * @return encoded string */ public static String percentEncode(String s) { String o = ""; if (s == null) { return o; } final String e = " %:?#[]@!$&'()*+,;=\\|*\"'`"; for (int ps = 0; ps < s.length(); ps++) { char c = s.charAt(ps); boolean n = (c <= 0x20) || (c >= 0x7e); if (!n) { n = e.indexOf(c) >= 0; } if (n) { o += "%" + bits.toHexB(c).toUpperCase(); } else { o += c; } } return o; } /** * convert string to url * * @param s string to parse */ public void fromPathname(String s) { if (s.startsWith("/")) { s = s.substring(1, s.length()); } filPath = s; int i = filPath.indexOf("?"); String pars = ""; if (i >= 0) { pars = filPath.substring(i + 1, filPath.length()); filPath = filPath.substring(0, i); } filPath = percentUncode(filPath); i = filPath.lastIndexOf("/"); if (i >= 0) { filName = filPath.substring(i + 1, filPath.length()); filPath = filPath.substring(0, i + 1); } else { filName = filPath; filPath = ""; } i = filName.lastIndexOf("."); if (i >= 0) { filExt = filName.substring(i, filName.length()); filName = filName.substring(0, i); } param.clear(); if (pars.length() < 1) { return; } for (;;) { if (pars.length() < 1) { break; } i = pars.indexOf("&"); if (i < 0) { s = pars; pars = ""; } else { s = pars.substring(0, i); pars = pars.substring(i + 1, pars.length()); } encUrlPar ntry = new encUrlPar(); i = s.indexOf("="); if (i < 0) { ntry.nam = percentUncode(s); } else { ntry.nam = percentUncode(s.substring(0, i)); ntry.val = percentUncode(s.substring(i + 1, s.length())); } param.add(ntry); } } /** * convert string to url * * @param s string to parse * @return false on success, true on error */ public boolean fromString(String s) { clear(); orig = "" + s; if (s == null) { return true; } if (s.startsWith("/")) { fromPathname(s); return false; } int i = s.indexOf(":"); if (i < 0) { filPath = s; } else { proto = s.substring(0, i); server = s.substring(i + 1, s.length()); } if (server.indexOf("//") == 0) { server = server.substring(2, server.length()); } i = server.indexOf("/"); if (i >= 0) { filPath = server.substring(i + 1, server.length()); server = server.substring(0, i); } i = server.indexOf("@"); if (i >= 0) { username = server.substring(0, i); server = server.substring(i + 1, server.length()); i = username.indexOf(":"); if (i >= 0) { password = username.substring(i + 1, username.length()); username = username.substring(0, i); } } i = server.indexOf("["); int o = server.indexOf("]"); if ((i >= 0) && (o > i)) { s = server.substring(o + 1, server.length()); server = server.substring(i + 1, o); } else { s = ""; i = server.indexOf(":"); if (i >= 0) { s = server.substring(i, server.length()); server = server.substring(0, i); } } i = s.indexOf(":"); if (i >= 0) { port = bits.str2num(s.substring(i + 1, s.length()).trim()); } proto = percentUncode(proto); server = percentUncode(server); username = percentUncode(username); password = percentUncode(password); fromPathname(filPath); return false; } /** * add parameter * * @param nam name * @param val value */ public void addParam(String nam, String val) { encUrlPar ntry = new encUrlPar(); ntry.nam = nam; ntry.val = val; param.add(ntry); } /** * get parameter * * @param nam name * @return value, null if not found */ public String getParam(String nam) { for (int i = 0; i < param.size(); i++) { encUrlPar ntry = param.get(i); if (nam.equals(ntry.nam)) { return ntry.val; } } return null; } /** * follow link * * @param n url to follow */ public void followLink(encUrl n) { if (n.server.length() > 0) { copyBytes(n); return; } param = n.param; if ((n.filName + n.filExt).length() <= 0) { return; } filName = n.filName; filExt = n.filExt; if (n.filPath.length() <= 0) { return; } if (n.filPath.indexOf("/") == 0) { filPath = n.filPath; return; } filPath += n.filPath; } /** * normalize this path */ public void normalizePath() { filPath = normalizePath(filPath); } /** * normalize one path * * @param s path to process * @return normalized path */ public static String normalizePath(String s) { String b = ""; for (;;) { int i = s.indexOf("/"); if (i < 0) { break; } String a = s.substring(0, i); s = s.substring(i + 1, s.length()); if (a.length() <= 0) { continue; } if (a.equals("")) { continue; } if (a.equals(".")) { continue; } if (!a.equals("..")) { b = b + "/" + a; continue; } i = b.lastIndexOf("/"); if (i < 0) { continue; } b = b.substring(0, i); } s = "/" + b + "/" + s; for (; s.indexOf("/") == 0;) { s = s.substring(1, s.length()); } return s; } private static String percentEncode2(String s, boolean needed) { if (!needed) { return s; } return percentEncode(s); } /** * convert to url * * @param hostname put hostname * @param userpass put password * @param params put parameters * @param percent percent encode * @return url format */ public String toURL(boolean hostname, boolean userpass, boolean params, boolean percent) { String a; String b; String c; if (port >= 0) { a = ":" + port; } else { a = ""; } if (new addrIPv6().fromString(server)) { b = percentEncode2(server, percent); } else { b = "[" + server + "]"; } if (userpass && (username.length() > 0)) { b = percentEncode2(username, percent) + ":" + percentEncode2(password, percent) + "@" + b; } c = ""; if (params) { c = toParams(); } if (c.length() > 0) { c = "?" + c; } c = "/" + percentEncode2(filPath, percent) + percentEncode2(filName, percent) + percentEncode2(filExt, percent) + c; if (!hostname) { return c; } return percentEncode2(proto, percent) + "://" + b + a + c; } /** * convert to parameters * * @return pathname format */ public String toParams() { String c = ""; for (int i = 0; i < param.size(); i++) { encUrlPar ntry = param.get(i); c += "&" + percentEncode(ntry.nam) + "=" + percentEncode(ntry.val); } if (c.length() > 0) { c = c.substring(1, c.length()); } return c; } /** * convert to pathname * * @return pathname format */ public String toPathName() { return filPath + filName + filExt; } /** * convert to pathname * * @return pathname format */ public String toFileName() { return filName + filExt; } /** * convert to email * * @return email format */ public String toEmail() { return username + "@" + server; } /** * get address from braced address * * @param s address * @return address */ public static String fromEmail(String s) { int i = s.indexOf('<'); int o = s.indexOf('>'); if ((i >= 0) && (o >= 0) && (i < o)) { s = s.substring(i + 1, o); } return s.trim(); } /** * convert to string * * @return string showing this url */ public String dump() { String s = "'" + orig + "' '" + proto + "' '" + server + "' " + port + " '" + filPath + "' '" + filName + "' '" + filExt + "'"; for (int i = 0; i < param.size(); i++) { s += " " + param.get(i); } return s; } /** * convert to string * * @return lines of string */ public List show() { List l = new ArrayList(); l.add("url=" + toURL(true, true, true, true)); l.add("url=" + toURL(true, true, true, false)); l.add("dump=" + dump()); l.add("filename=" + toFileName()); l.add("pathname=" + toPathName()); l.add("email=" + toEmail()); l.add("proto=" + proto); l.add("server=" + server); l.add("port=" + port); l.add("user=" + username); l.add("pass=" + password); l.add("path=" + filPath); l.add("name=" + filName); l.add("extension=" + filExt); for (int i = 0; i < param.size(); i++) { l.add("" + param.get(i)); } return l; } /** * get port * * @param def default * @return port to connect to */ public int getPort(int def) { if (port >= 0) { return port; } if (proto.equals("http")) { return servHttp.clearPort; } if (proto.equals("http2")) { return servHttp.clearPort; } if (proto.equals("https")) { return servHttp.securePort; } return def; } /** * get security * * @return security to connect with */ public int getSecurity() { if (proto.equals("https")) { return servGeneric.protoTls; } return servGeneric.protoTcp; } /** * convert string to url * * @param url string to convert * @return converted url */ public static encUrl parseOne(String url) { encUrl res = new encUrl(); res.fromString(url); return res; } } class encUrlPar { public String nam; public String val; public String toString() { return nam + "=" + val; } } freeRtr-25.11.9/src/org/freertr/enc/encWave.java000066400000000000000000000162201510423065500213330ustar00rootroot00000000000000package org.freertr.enc; import java.util.ArrayList; import java.util.List; import java.util.Timer; import java.util.TimerTask; import org.freertr.pack.packHolder; import org.freertr.pack.packRtp; import org.freertr.util.bits; import org.freertr.util.logger; /** * wave file format * * @author matecsaba */ public class encWave { /** * header size */ public final static int size = 44; /** * state: 1=running, 2=need2stop, 4=stopped */ protected int state; /** * detected codes */ protected String dtmf; /** * buffer */ public byte[] buf; private encDtmf detect; private final encCodec codr; private final packRtp strm; /** * make wave handler * * @param codec codec to use * @param rtp voice connection */ public encWave(encCodec codec, packRtp rtp) { codr = codec; strm = rtp; state = 0; buf = new byte[0]; dtmf = ""; detect = new encDtmf(); detect.sampDat = new int[detect.sampRate]; } /** * stop work */ public void stopWork() { state |= 2; } /** * check if stopped * * @return true if yes, false if still running */ public boolean isStopped() { return (state & 4) != 0; } /** * wait until stopped */ public void wait4stop() { for (;;) { if (isStopped()) { break; } bits.sleep(100); } } /** * get dtmf codes * * @return codes if any */ public String getDtmf() { String a = dtmf; dtmf = ""; return a; } /** * start playback */ public void startPlay() { new encWavePlay(this, codr, strm); } /** * start record */ public void startRecord() { new encWaveRec(this, codr, strm); } /** * start dtmf */ public void startDtmf() { new encWaveDtmf(this, codr, strm); } /** * do dtmf wor * * @param buf buffer to process */ protected void doDtmf(byte[] buf) { detect.sampAdd(codr.decodeBuf(buf)); dtmf += detect.getCode(); } /** * make header * * @param buf buffer to use * @param codec codec value */ public static void makeHeader(byte[] buf, int codec) { bits.msbPutD(buf, 0, 0x52494646); bits.lsbPutD(buf, 4, buf.length - 8); bits.msbPutD(buf, 8, 0x57415645); bits.msbPutD(buf, 12, 0x666D7420); bits.lsbPutD(buf, 16, 0x10); bits.lsbPutW(buf, 20, codec); bits.lsbPutW(buf, 22, 1); // channels bits.lsbPutD(buf, 24, 8000); // sample rate bits.lsbPutD(buf, 28, 8000); // bytes / sec bits.lsbPutW(buf, 32, 1); // align bits.lsbPutW(buf, 34, 8); // bits / sample bits.msbPutD(buf, 36, 0x64617461); bits.lsbPutD(buf, 40, buf.length - 44); } } class encWavePlay extends TimerTask { private encWave lower; private Timer keepTimer = new Timer(); private int syncSrc; private packHolder pck; private encCodec codec; private packRtp rtp; private int pos; private final static int paySiz = 160; private final static int payInt = 1000 / (8000 / paySiz); public encWavePlay(encWave parent, encCodec codr, packRtp strm) { lower = parent; rtp = strm; codec = codr; pck = new packHolder(true, true); syncSrc = bits.randomD(); pos = encWave.size; lower.state = 1; keepTimer.scheduleAtFixedRate(this, 10, payInt); } public void run() { try { doer(); } catch (Exception e) { logger.traceback(e); rtp.setClose(); } } public void doer() { if (rtp.isClosed() != 0) { keepTimer.cancel(); lower.state |= 4; return; } if (lower.buf == null) { keepTimer.cancel(); lower.state |= 4; return; } if ((lower.state & 2) != 0) { keepTimer.cancel(); lower.state |= 4; return; } if ((pos + paySiz) > lower.buf.length) { keepTimer.cancel(); lower.state |= 4; return; } pck.clear(); pck.putCopy(lower.buf, pos, 0, paySiz); pck.putSkip(paySiz); rtp.typeTx = codec.getRTPtype(); rtp.syncTx = syncSrc; rtp.sendPack(pck); pos += paySiz; } } class encWaveRec implements Runnable { private encWave lower; private packHolder pck; private encCodec codec; private packRtp rtp; private List got; public encWaveRec(encWave parent, encCodec codr, packRtp strm) { lower = parent; rtp = strm; codec = codr; pck = new packHolder(true, true); got = new ArrayList(); for (int i = 0; i < encWave.size; i++) { got.add((byte) 0); } lower.buf = new byte[0]; lower.state = 1; new Thread(this).start(); } public void run() { try { doer(); } catch (Exception e) { logger.traceback(e); rtp.setClose(); } lower.state |= 4; } public void doer() { for (;;) { if (rtp.isClosed() != 0) { break; } if ((lower.state & 2) != 0) { break; } pck.clear(); if (rtp.recvPack(pck, true) < 1) { break; } if (rtp.typeRx != codec.getRTPtype()) { continue; } byte[] buf = pck.getCopy(); for (int i = 0; i < buf.length; i++) { got.add(buf[i]); } lower.doDtmf(buf); } byte[] buf = new byte[got.size()]; for (int i = 0; i < buf.length; i++) { buf[i] = got.get(i); } encWave.makeHeader(buf, codec.getWAVtype()); lower.buf = buf; } } class encWaveDtmf implements Runnable { private encWave lower; private packHolder pck; private encCodec codec; private packRtp rtp; public encWaveDtmf(encWave parent, encCodec codr, packRtp strm) { lower = parent; rtp = strm; codec = codr; pck = new packHolder(true, true); lower.state = 1; new Thread(this).start(); } public void run() { try { doer(); } catch (Exception e) { logger.traceback(e); rtp.setClose(); } lower.state |= 4; } public void doer() { for (;;) { if (rtp.isClosed() != 0) { break; } if ((lower.state & 2) != 0) { break; } pck.clear(); if (rtp.recvPack(pck, true) < 1) { break; } if (rtp.typeRx != codec.getRTPtype()) { continue; } byte[] buf = pck.getCopy(); lower.doDtmf(buf); } } } freeRtr-25.11.9/src/org/freertr/enc/encXml.java000066400000000000000000000565041510423065500212020ustar00rootroot00000000000000package org.freertr.enc; import java.util.ArrayList; import java.util.List; import org.freertr.util.bits; /** * extensible markup language * * @author matecsaba */ public class encXml { /** * header string */ public final static String header = ""; /** * ignore */ public final static String ignore = "identifier-ignore"; /** * escapeds */ public final static String escape = "identifier-escape"; /** * values */ public final static String content = "identifier-value"; /** * original string */ public String orig; /** * self closing tags */ public String closed = ""; /** * elements */ public List data; /** * clear new instance */ public encXml() { clear(); } /** * unescape identifier * * @param s identifier * @return unescaped */ public static String unescId(String s) { return s.replaceAll(escape, ""); } private static boolean needEsc(char c, int p) { if ((c >= 'a') && (c <= 'z')) { return false; } if ((c >= 'A') && (c <= 'Z')) { return false; } if ((c >= '0') && (c <= '9')) { return p < 1; } switch (c) { //case ':': case '_': case '-': case '.': return p < 1; default: return true; } } /** * check if name needs escaping * * @param s string * @return true if yes, false if not */ public static boolean needEsc(String s) { for (int i = 0; i < s.length(); i++) { if (needEsc(s.charAt(i), i)) { return true; } } return false; } /** * unescape identifier * * @param s identifier * @return unescaped */ public static String escId(String s) { if (!needEsc(s)) { return s; } String res = escape; for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); if (!needEsc(c, i)) { res += c; continue; } res += "&#" + (int) c + ";"; } return res; } /** * clear all data */ public void clear() { data = new ArrayList(); orig = ""; } /** * copy from other xml * * @param src original xml to copy */ public void copyBytes(encXml src) { clear(); orig = "" + src.orig; for (int i = 0; i < src.data.size(); i++) { data.add(src.data.get(i).copyBytes()); } } /** * convert strings to xml * * @param l list to parse * @param a separator to use * @return false on success, true on error */ public boolean fromString(List l, String a) { String s = ""; for (int i = 0; i < l.size(); i++) { s += l.get(i) + a; } return fromString(s); } /** * convert string to xml * * @param l list to parse * @return false on success, true on error */ public boolean fromString(List l) { String s = ""; for (int i = 0; i < l.size(); i++) { byte ch = l.get(i); s += (char) ch; } return fromString(s); } /** * convert string to xml * * @param s string to parse * @return false on success, true on error */ public boolean fromString(String s) { clear(); orig = "" + s; s = bits.trimE(s); String path = ""; encXmlEntry prnt = null; for (;;) { s = bits.trimB(s); if (s.length() < 1) { break; } int i = s.indexOf("<"); if (i < 0) { i = s.length(); } if (i > 0) { String a = s.substring(0, i); s = s.substring(i, s.length()); a = bits.trimE(a); if (a.length() < 1) { continue; } if (data.size() > 0) { encXmlEntry ntry = data.get(data.size() - 1); if (ntry.name.equals(path)) { ntry.data += a; continue; } } data.add(new encXmlEntry(prnt, path, "", a)); continue; } i = s.indexOf(">"); String a; if (i < 0) { a = s.substring(1, s.length()); s = ""; } else { a = s.substring(1, i); s = s.substring(i + 1, s.length()); } a = bits.trimB(a); a = bits.trimE(a); boolean nb = a.endsWith("/"); if (nb) { a = a.substring(0, a.length() - 1); a = bits.trimE(a); } i = a.indexOf(" "); String b = ""; if (i > 0) { b = a.substring(i + 1, a.length()); a = a.substring(0, i); b = bits.trimB(b); } if (a.startsWith("/")) { b = path + "/"; i = b.lastIndexOf(a + "/"); if (i < 0) { continue; } path = path.substring(0, i); for (; prnt != null;) { a = prnt.name; if (path.equals(a)) { break; } prnt = prnt.parent; } if (prnt == null) { data.add(new encXmlEntry(prnt, path, "", "")); } else { data.add(new encXmlEntry(prnt.parent, prnt.name, "", "")); } continue; } if (closed.indexOf("|" + a + "|") >= 0) { nb = true; } encXmlEntry curr = new encXmlEntry(prnt, path + "/" + a, b, ""); data.add(curr); if (nb) { if (prnt == null) { curr = null; } else { curr = prnt.parent; } data.add(new encXmlEntry(curr, path, "", "")); continue; } path += "/" + a; prnt = curr; } data.add(new encXmlEntry(null, "", "", "")); return false; } private String getPath(String tag, String add, boolean ord, String prm) { List lst = new ArrayList(); for (;;) { int i = tag.indexOf("/"); if (i < 0) { break; } lst.add(tag.substring(0, i)); tag = tag.substring(i + 1, tag.length()); } if (lst.size() > 0) { int i = lst.size() - 1; if (prm.length() > 0) { prm = " " + prm; } lst.set(i, lst.get(i) + prm); } tag = ""; for (int i = 0; i < lst.size(); i++) { prm = "<" + add + lst.get(i) + ">"; if (ord) { tag = prm + tag; } else { tag = tag + prm; } } return tag; } private String getMove(String src, String trg, String prm) { if (src.equals(trg)) { return ""; } src += "/"; trg += "/"; for (;;) { int i = src.indexOf("/"); int o = trg.indexOf("/"); if (i != o) { break; } if (!src.substring(0, i).equals(trg.substring(0, i))) { break; } src = src.substring(i + 1, src.length()); trg = trg.substring(i + 1, trg.length()); } return getPath(src, "/", true, "") + getPath(trg, "", false, prm); } /** * convert to xml * * @return xml format */ public List toXMLlst() { List lst = new ArrayList(); String path = ""; for (int pos = 0; pos < data.size(); pos++) { encXmlEntry ntry = data.get(pos); lst.add(getMove(path, ntry.name, ntry.param) + ntry.data); path = ntry.name; } lst.add(getMove(path, "", "")); return lst; } /** * convert to xml * * @return xml format */ public String toXMLstr() { List lst = toXMLlst(); String res = ""; for (int i = 0; i < lst.size(); i++) { res += bits.trimB(lst.get(i)); } return res; } /** * convert to string * * @return lines of string */ public List show() { List l = new ArrayList(); for (int i = 0; i < data.size(); i++) { l.add("" + data.get(i)); } return l; } /** * convert string to xml * * @param xml string to convert * @return converted xml */ public static encXml parseOne(String xml) { encXml res = new encXml(); res.fromString(xml); return res; } /** * setup for html parsing */ public void setup2html() { closed = "|br|p|img|dl|dt|dd|ul|ol|li|tr|td|table|input|button|link|meta|"; } /** * format for html * * @param txts text * @param lnks links * @param width screen size * @return false on success, true on error */ public boolean formatHtml(List txts, List> lnks, int width) { String txt = ""; List lnk = new ArrayList(); for (int num = 0; num < data.size(); num++) { encXmlEntry ntry = data.get(num); String str = ntry.data.trim(); String tag = "/" + ntry.name.trim().toLowerCase().replaceAll(" ", "") + "/"; if (tag.indexOf("/script/") > 0) { str = ""; } if (tag.indexOf("/style/") > 0) { str = ""; } tag = ntry.getTag().trim().toLowerCase(); int pos = 0; boolean br = "|br|p|ul|ol|tr|dl|dt|dd".indexOf("|" + tag + "|") >= 0; if (tag.equals("a")) { if (str.length() < 1) { str = ""; } pos = num; } if (tag.equals("link")) { if (str.length() < 1) { str = ""; } pos = num; } if (tag.equals("object")) { if (str.length() < 1) { str = ""; } pos = num; } if (tag.equals("applet")) { if (str.length() < 1) { str = ""; } pos = num; } if (tag.equals("title")) { str = "title: " + str; br = true; } if (tag.equals("td")) { str = str + " | "; } if (tag.equals("li")) { if (txt.length() > 0) { txts.add(txt); lnks.add(lnk); txt = ""; lnk = new ArrayList(); } str = " * " + str; } if (tag.equals("img")) { str = ""; pos = num; } if (tag.equals("frame")) { str = ""; pos = num; } if (tag.equals("iframe")) { str = "